Ir para conteúdo

Limite máximo de players em guild WEBSITE


Yan Liima

Posts Recomendados

  • Diretor


 Limite máximo de players em guild WEBSITE ?

barrayan01.png

Bom, decidi postar essa modificação que fiz a muito tempo, pois vi que bastante gente queria

Para Modern AAC e vi que ninguém soube ajudar. Como é algo bem simples e ta parado aqui faz tempo

Decidi disponibilizar. Não só para Modern, mas para Gesior também!

Estarei disponibilizando de duas maneiras:

Será um valor configurado no proprio config.php, onde determinará o limite máximo de todas as guild.

A verificação será feita por DB, onde terá um valor padrão para cada guilda criada, podendo ser alterado o valor de membros maximo.

Ou seja, a guilda número UM pode ter máximo de 50 players, e a guilda número DOIS pode ter o máximo de 100.

Vocês pode ser criativos e vender items que aumenta o limite ou fazer eventos/sorteios para aumentar...

barrayan02.png

Enfim, vamos lá...

Primeira maneira:

Modern AAC:

Spoiler

 

Vai em \system\application\controllers e abra o guilds.php

 Procure por:


public function join($guild_name, $player_name) {

Em cima de:


$ide = new IDE;

Coloque:


$ots = POT::getInstance();
$ots->connect(POT::DB_MYSQL, connection());
$SQL = $ots->getDBHandle();

Um pouco abaixo procure por:





$guild->acceptInvite($player);
$ide->redirect(WEBSITE."/index.php/guilds/view/".$guild->getId()."/1");
}
}


Substituem por:





global $config;
            $guildMembersLimit = $SQL->query('SELECT COUNT(`gr`.`id`) AS `limit` FROM `players` AS `p` LEFT JOIN `guild_ranks` AS `gr` ON `gr`.`id` = `p`.`rank_id` WHERE `gr`.`guild_id` = '.$guild->getId())->fetch();            
            if($guildMembersLimit['limit'] >= $config['maxMembersToGuild']) {
            error("This guild has already reached the maximum number of members. (<b>".$config['maxMembersToGuild']."</b>)");
            $this->db->query('DELETE FROM `guild_invites` WHERE `player_id` = '.$player->getId().' AND `guild_id` = '.$guild->getId());
            $ide->redirect(WEBSITE."/index.php/guilds/view/".$guild->getId()."", 2);
            return false;
            } else {
            $guild->acceptInvite($player);
            $ide->redirect(WEBSITE."/index.php/guilds/view/".$guild->getId()."/1");
        }
    }
}

 Depois procure por:


public function invite($id) {

Em baixo add:


$ots = POT::getInstance();
		$ots->connect(POT::DB_MYSQL, connection());
		$SQL = $ots->getDBHandle();

Um pouco abaixo procure por:





$player_id = $this->guilds_model->getCharacterId($_POST['name']);
$this->guilds_model->invite($id, $player_id[0]['id']);
success($_POST['name']." has been invited to ".$data['guild'][0]['name']);
$ide->redirect(WEBSITE."/index.php/guilds/management/".$id, 2);
}
}


Substitui por:





$player_id = $this->guilds_model->getCharacterId($_POST['name']);    
                //Max. de membros na Guild by Yan Liima(Night)
                global $config;
                $guildMembersLimit = $SQL->query('SELECT COUNT(`gr`.`id`) AS `limit` FROM `players` AS `p` LEFT JOIN `guild_ranks` AS `gr` ON `gr`.`id` = `p`.`rank_id` WHERE `gr`.`guild_id` = '.$id)->fetch();            
                if($guildMembersLimit['limit'] >= $config['maxMembersToGuild'])
                error("This guild has already reached the maximum number of members. (<b>".$config['maxMembersToGuild']."</b>)");
                else {
                    $this->guilds_model->invite($id, $player_id[0]['id']);
                    success($_POST['name']." has been invited to ".$data['guild'][0]['name']);
                    $ide->redirect(WEBSITE."/index.php/guilds/management/".$id, 2);
            }
        }
}

E por fim adicione no seu config.php:





/*Max. Members in the Guild*/
$config['maxMembersToGuild'] = 50;

 


Gesior:

Spoiler

 

Em /pages/guilds.php procure:





if($action == 'invite')


Um pouco logo abaixo terá:





if(!check_name($name))
$guild_errors[] = 'Invalid name format.';


Adicione em baixo:





$guildMembers = $SQL->query('SELECT COUNT(`gr`.`id`) AS `total` FROM `players` AS `p` LEFT JOIN `guild_ranks` AS `gr` ON `gr`.`id` = `p`.`rank_id` WHERE `gr`.`guild_id` = '.$guild->getId() )->fetch();
if($guildMembers['total'] >= $config['site']['maxMembersToGuild'])
$guild_errors[] = 'This guild has already reached the maximum number of members. (<b>".$config['site']['maxMembersToGuild']."</b>)';


Depois no mesmo arquivo terá:





if($action == 'acceptinvite')


Um pouco mais baixo tem:





if(!check_name($name))
$guild_errors[] = 'Invalid name format.';


Adicione em baixo:





$guildMembers = $SQL->query('SELECT COUNT(`gr`.`id`) AS `total` FROM `players` AS `p` LEFT JOIN `guild_ranks` AS `gr` ON `gr`.`id` = `p`.`rank_id` WHERE `gr`.`guild_id` = '.$guild->getId() )->fetch();
if($guildMembers['total'] >= $config['site']['maxMembersToGuild'])
$guild_errors[] = 'This guild has already reached the maximum number of members. (<b>".$config['site']['maxMembersToGuild']."</b>)';

Depois no config.php add:





$config['site']['maxMembersToGuild'] = 50;

 

 

Segunda maneira:

Modern AAC:

Spoiler

 

Execute essa Query na sua db

Observação: Altere o número '50' para o valor padrão do limite máximo das guilds criadas:





ALTER TABLE `guilds` ADD `max_members` VARCHAR( 255 ) NOT NULL DEFAULT '50';

Vai em \system\application\controllers e abra o guilds.php

Procure por:


public function join($guild_name, $player_name) {

Em cima de:


$ide = new IDE;

Coloque:


$ots = POT::getInstance();
$ots->connect(POT::DB_MYSQL, connection());
$SQL = $ots->getDBHandle();

Um pouco abaixo procure por:





$guild->acceptInvite($player);
$ide->redirect(WEBSITE."/index.php/guilds/view/".$guild->getId()."/1");
}
}


Substituem por:





$guildMembersLimit = $SQL->query('SELECT COUNT(`gr`.`id`) AS `limit` FROM `players` AS `p` LEFT JOIN `guild_ranks` AS `gr` ON `gr`.`id` = `p`.`rank_id` WHERE `gr`.`guild_id` = '.$guild->getId())->fetch();
$limit = $SQL->query('SELECT `max_members` FROM `guilds` WHERE `id`='.$id)->fetch();
            if($guildMembersLimit['limit'] >= $limit['max_members']) {
            error("This guild has already reached the maximum number of members. (<b>".$limit['max_members']."</b>)");
            $this->db->query('DELETE FROM `guild_invites` WHERE `player_id` = '.$player->getId().' AND `guild_id` = '.$guild->getId());
            $ide->redirect(WEBSITE."/index.php/guilds/view/".$guild->getId()."", 2);
            return false;
            } else {
            $guild->acceptInvite($player);
            $ide->redirect(WEBSITE."/index.php/guilds/view/".$guild->getId()."/1");
        }
    }
}

Depois procure por:


public function invite($id) {

Em baixo add:


$ots = POT::getInstance();
		$ots->connect(POT::DB_MYSQL, connection());
		$SQL = $ots->getDBHandle();

Um pouco abaixo procure por:





$player_id = $this->guilds_model->getCharacterId($_POST['name']);
$this->guilds_model->invite($id, $player_id[0]['id']);
success($_POST['name']." has been invited to ".$data['guild'][0]['name']);
$ide->redirect(WEBSITE."/index.php/guilds/management/".$id, 2);
}
}


Substitui por:





$player_id = $this->guilds_model->getCharacterId($_POST['name']);    
                //Max. de membros na Guild by Yan Liima(Night)
                $guildMembersLimit = $SQL->query('SELECT COUNT(`gr`.`id`) AS `limit` FROM `players` AS `p` LEFT JOIN `guild_ranks` AS `gr` ON `gr`.`id` = `p`.`rank_id` WHERE `gr`.`guild_id` = '.$id)->fetch();
                $limit = $SQL->query('SELECT `max_members` FROM `guilds` WHERE `id`='.$id)->fetch();
                if($guildMembersLimit['limit'] >= $limit['max_members'])
                error("This guild has already reached the maximum number of members. (<b>".$limit['max_members']."</b>)");
                else {
                    $this->guilds_model->invite($id, $player_id[0]['id']);
                    success($_POST['name']." has been invited to ".$data['guild'][0]['name']);
                    $ide->redirect(WEBSITE."/index.php/guilds/management/".$id, 2);
            }
        }
}

 

 

Gesior:

Spoiler

 

Execute essa Query na sua db

Observação: Altere o número '50' para o valor padrão do limite máximo das guilds criadas:





ALTER TABLE `guilds` ADD `max_members` VARCHAR( 255 ) NOT NULL DEFAULT '50';

Em /pages/guilds.php procure:





if($action == 'invite')


Um pouco logo abaixo terá:





if(!check_name($name))
$guild_errors[] = 'Invalid name format.';


Adicione em baixo:




$guildMembers = $SQL->query('SELECT COUNT(`gr`.`id`) AS `limit` FROM `players` AS `p` LEFT JOIN `guild_ranks` AS `gr` ON `gr`.`id` = `p`.`rank_id` WHERE `gr`.`guild_id` = '.$guild->getId() )->fetch();
$limit = $SQL->query('SELECT `max_members` FROM `guilds` WHERE `id`='.$guild->getId())->fetch();
if($guildMembers['limit'] >= $limit['max_members'])
$guild_errors[] = 'This guild has already reached the maximum number of members. (<b>".$limit['max_members']."</b>)';


Depois no mesmo arquivo terá:





if($action == 'acceptinvite')

Um pouco mais baixo tem:





if(!check_name($name))
$guild_errors[] = 'Invalid name format.';

Adicione em baixo:




$guildMembers = $SQL->query('SELECT COUNT(`gr`.`id`) AS `limit` FROM `players` AS `p` LEFT JOIN `guild_ranks` AS `gr` ON `gr`.`id` = `p`.`rank_id` WHERE `gr`.`guild_id` = '.$guild->getId() )->fetch();
$limit = $SQL->query('SELECT `max_members` FROM `guilds` WHERE `id`='.$guild->getId())->fetch();
if($guildMembers['limit'] >= $limit['max_members'])
$guild_errors[] = 'This guild has already reached the maximum number of members. (<b>".$limit['max_members']."</b>)';

 


 

Prontinho galera!!!

Caso queiram para cmd in-game: LINK

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...