Ir para conteúdo

Featured Replies

Postado
  • Este é um post popular.

 Limite máximo de players em guild WEBSITE ?

barrayan01.png.d883731dc4d142fff6ad93ba367cc4ba.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.5f1666577af0a2f6968344bbd1a9cadc.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 `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($guildMembers['limit'] >= $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 `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($guildMembers['limit'] >= $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`='.$guild->getId())->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`='.$guild->getId())->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

Editado por Yan Liima (veja o histórico de edições)

════ҳ̸Ҳ̸ҳஜ۩۞۩ஜҳ̸Ҳ̸ҳ═══╗

Te Ajudei? Rep + e ficamos Quits

166420979_logoyanliimaornight.png.33f822b8970081a5b3646e85dbfd5934.png

Precisando de ajuda?

discord.png.1ecd188791d0141f74d99db371a2e0a4.png.890d5a38d7bcde75543c72b624a65de1.pngDiscord: Yan Liima #3702

Programador Júnior de LUA, PHP e JavaScript

Juntos somos lendas, separados somos Mitos!

╚══════════════════════════ҳ̸Ҳ̸ҳஜ۩۞۩ஜҳ̸Ҳ̸ҳ═════════════════════════════╝

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.6k

Informação Importante

Confirmação de Termo