Completamente errado, Dri.
Para contar os players que clicaram vocк precisa contar os players. Para contar, iremos usar uma
variбvel e iremos checar se a contagem й menor do que 10.
Para comeзar, zcmd nгo fica dentro de callbacks. Coloque ela solta no gamemode (fora de qualquer chave):
pawn Код:
CMD:wipeout(playerid, params[])
{
if(PlayerInfo[playerid][pAdminLevel] >= 3)
{
for(new i=0; i < MAX_PLAYERS; i++)
{
// Trocaremos o playerid por "i" pois nos estamos usando i no loop e nao playerid. Playerid no caso seria o player que digitou o comando, 'i' seria o que o nosso loop percorre, no caso ele tem a instruзao de percorrer todos os players
ShowPlayerDialog(i,DIALOG_WIPEOUT, DIALOG_STYLE_MSGBOX, "Wipeout", "O administrador comeзou um evento de Wipeout. Deseja ir?", "Sim", "Nгo");
}
return 1;
}
return 1;
}
Agora iremos criar nossa variбvel. Geralmente colocamos elas junto das outras, e geralmente elas ficam no topo do gamemode, logo apуs as defines:
Agora iremos fazer o "processamento" da dialog:
pawn Код:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == DIALOG_WIPEOUT)
{
if(response)
{
if (contagemEvento <= 10)
{
SendClientMessage(playerid, COLOR_GREEN, "O evento vai comeзar em breve!");
SetPlayerPos(playerid,0.0,0.0,3.0);
contagemEvento ++; // Esta funcao ira contar +1 na nossa variavel (nossa contagem).
return 1;
}
else // Se o if acima nao for executado...
{
SendClientMessage(playerid, COLOR_RED, "Voce esta atrasado! 10 players ja foram ao evento.");
return 1;
}
}
else
{
SendClientMessage(playerid, COLOR_RED, "Vocк decidiu nгo ir ao evento.");
}
return 1;
}
return 1;
}
Mas esse cуdigo acima tem um problema. Depois que 10 players forem ao evento, nossa contagem nunca mais serб 0 ;/
Para resolver este erro de lуgica basta resetarmos a nossa variбvel no comando: contagemEvento = 0;
Cabe a vocк encontrar em que parte colocar este cуdigo
Qualquer dъvida й sу falar.
Vou explicar algumas coisas quanto ao uso dos returns:
returns encerram o bloco de cуdigo na hora. Por exemplo:
pawn Код:
CMD:mostra(playerid){
print("Vai mostrar");
print("Vai mostrar");
print("Vai mostrar");
return 1;
print("Nгo vai mostrar");
print("Nгo vai mostrar");
print("Nгo vai mostrar");
}
Nesse caso o compilador vai atй dar um aviso falando que as funзхes abaixo do return nгo vгo ser executadas, pois й impossнvel delas serem executadas.