SA-MP Forums Archive
[Ajuda] criar 'fila' de players - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Português/Portuguese (https://sampforum.blast.hk/forumdisplay.php?fid=34)
+---- Thread: [Ajuda] criar 'fila' de players (/showthread.php?tid=660888)



criar 'fila' de players - MtPlayerZ - 16.11.2018

Estou fazendo meio que uma arena de evento, onde o evento sу comeзa quando uma certa quantidade de players entra, porem nгo sei bem como fazer isto, o que eu estava fazendo:
Код:
stock PrepararPartida(playerid)
{
	if(!IsPlayerNPC(playerid))
	{
	FilaPartida ++;
	    PlayerInfo[playerid][pJogando] = true;
	    SendClientMessage(playerid, COLOR_LIGHTBLUE, "|AVISO| Aguardando mais jogadores...");

  		do{return 0;} while(PlayerInfo[playerid][pJogando] == false && FilaPartida < 2);

		AguardarPartida(playerid);
    	PlayerInfo[playerid][pEmPartida] = true;
	}
	return 1;
}
stock AguardarPartida(playerid)
{
    if(!IsPlayerNPC(playerid) && PlayerInfo[playerid][pEmPartida] == true)
	{
	    new string[128];
		PlayerInfo[playerid][pPodeSair] = false;
		format(string, sizeof string, "|AVISO| A partida irб iniciar em 10 segundos!!!");
		MessageToMatch(COLOR_LIGHTBLUE, string);
		TimerPartida = SetTimer("Partida", segundos(10), false);
	}
	return 1;
}
Atй na linha
Код:
SendClientMessage(playerid, COLOR_LIGHTBLUE, "|AVISO| Aguardando mais jogadores...");
esta tudo funfando de boa, mais nгo sai daн de jeito nenhum.
Pode ser que akela estrutura de repetiзгo do esteja errada, mais tentei com o for e ficou do mesmo jeito.


Re: criar 'fila' de players - ipsLuan - 16.11.2018

PHP код:
while(FilaPartida 10) {
    
SendClientMessage(playerid, -1"A partida sу pode comeзar quando tiver 10 jogadores.");



While = enquanto.


Re: criar 'fila' de players - MtPlayerZ - 16.11.2018

Quote:
Originally Posted by ipsLuan
Посмотреть сообщение
PHP код:
while(FilaPartida 10) {
    
SendClientMessage(playerid, -1"A partida sу pode comeзar quando tiver 10 jogadores.");



While = enquanto.
Disso eu sei, mais eu queria saber se tem outra forma de fazer isto sem usar estrutura de repetiзгo, porque nгo esta funcionando


Re: criar 'fila' de players - Ermanhaut - 16.11.2018

Faзa um timer de um segundo que checa se hб a quantidade estipulada de players no evento para inicia-lo.


Re: criar 'fila' de players - MtPlayerZ - 16.11.2018

Quote:
Originally Posted by Ermanhaut
Посмотреть сообщение
Faзa um timer de um segundo que checa se hб a quantidade estipulada de players no evento para inicia-lo.
Como eu faria isso? Poderia me dar um exemplo ?


Re: criar 'fila' de players - ipsLuan - 16.11.2018

PHP код:
SetTimer("iniciarPartida"1000 5true); 

E aн, dentro da callback iniciarPartida vocк faz a verificaзгo.


Re: criar 'fila' de players - GSantana - 16.11.2018

com timer seria mais ou menos assim:

PHP код:
new pTimer;
pTimer SetTimer("iniciarPartida"1000true); 
forward iniciarPartida(playerid);
public 
iniciarPartida(playerid)
{
if(
FilaPartida >= 10)
{
Killtimer(pTimer);
//cуdigo para comeзar
}
else {
//mensagem que ainda nгo tem player suficiente}
return 1;