auto escola -
FabioGTP - 14.03.2018
Bom estou fazendo um sistema de auto escola, e queria saber como faзo uma verificaзгo para saber se o player errou 5 vezes, vou dar o limite de 5 erros para ele nas perguntas se ele errar 5 ele recebe uma mensagem falando q ele foi kikado, como faзo essa variavel?
Re: auto escola -
rolex - 14.03.2018
Faz uma variбvel global com [MAX_PLAYERS] e da o valor inicial de 0 pra ela.
A Cada vez que o jogador errar faz uma verificaзгo para ver qual o valor da variбvel do erro, se ela for menor que 5, adiciona 1, se for = a 5, o player toma kick:
algo tipo:
PHP код:
new DMV_Error[MAX_PLAYERS] = 0;
CheckPlayerError(playerid)
{
if(DMV_Error[playerid] >= 5) return SendClientMessage(playerid, -1, "* Vocк errou mais de 5 vezes."), Kick(playerid);
else
{
new str[60];
format(str, sizeof(str), "* Vocк errou a resposta! Restam mais %i tentativas.", 5-DMV_Error[playerid]);
SendClientMessage(playerid,-1, str);
return DMV_Error[playerid]++;
}
return 1;
}
posta como estб seu cуdigo aн!
Re: auto escola -
FabioGTP - 14.03.2018
Eu ainda nгo comecei mais fiz uma base simples para mostrar como vai funcionar
PHP код:
ShowPlayerDialog(playerid, 1, DIALOG_STYLE_LIST, "Oque vocк faria?", "Atropelava o pedestre\nVOAVA\nNAO FAZIA NADA", "escolher", "sair");
ondialogresponse:
PHP код:
if(dialogid == 1)
{
if(response)
{
if(listitem == 0)
{
SendClientMessage(playerid, -1,"VC ERROU");
}
if(listitem == 1)
{
SendClientMessage(playerid, -1,"VC acertou");
}
if(listitem == 2)
{
SendClientMessage(playerid, -1,"VC ERROU");
}
}
}
Re: auto escola -
SpikeCompiler - 14.03.2018
Ver se isso pode te ajudar:
PHP код:
new ErrouTeste[MAX_PLAYERS];
PHP код:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == 1)
{
if(response)
{
switch(listitem)
{
case 0:
{
CheckErro(playerid);
SendClientMessage(playerid,-1,"ERRO: Vocк errou a resposta! Sу pode errar 3 vezes.");
return ErrouTeste[playerid]++;
}
case 1:
{
SendClientMessage(playerid,-1,"INFO: Parabйns vocк acertou a resposta!");
return 1;
}
case 2:
{
CheckErro(playerid);
SendClientMessage(playerid,-1,"ERRO: Vocк errou a resposta! Sу pode errar 3 vezes.");
return ErrouTeste[playerid]++;
}
}
}
}
return 1;
}
PHP код:
CheckErro(playerid)
{
if(ErrouTeste[playerid] > 3) return SendClientMessage(playerid,-1,"ERRO: Vocк errou mais de 3 vezes!");
ErrouTeste[playerid] = 0;
Kick(playerid);
return 1;
}
Re: auto escola -
rolex - 14.03.2018
Testa isso
no topo do GM
PHP код:
new DMV_Error[MAX_PLAYERS] = 0; // variбvel global individual para cada jogador, somando os erros
No seu OnDialogResponse:
PHP код:
if(dialogid == 1)
{
if(response)
{
switch(listitem)
{
case 0:
{
ChecarResposta(playerid); // chama a funзгo para verificar se o jogador jб fez o limite ou nгo
new str[60];
format(str, sizeof(str), "* Vocк errou a resposta! Restam mais %i tentativas.", 5-DMV_Error[playerid]);
SendClientMessage(playerid,-1, str);
}
case 1: return SendClientMessage(playerid, -1, "* Vocк acertou!");
case 2:
{
ChecarResposta(playerid); // chama a funзгo para verificar se o jogador jб fez o limite ou nгo
new str[60];
format(str, sizeof(str), "* Vocк errou a resposta! Restam mais %i tentativas.", 5-DMV_Error[playerid]);
SendClientMessage(playerid,-1, str);
}
}
}
}
no fim do GM:
PHP код:
ChecarResposta(playerid)
{
if(DMV_Error[playerid] >= 5) return SendClientMessage(playerid, -1, "* Vocк errou mais de 5 vezes."), DMV_Error[playerid] = 0, Kick(playerid); // verifica o nъmero de tentativas na variбvel DMV_Error, manda mensagem, limpa a variбvel e kika o player.
return DMV_Error[playerid]++; // se nгo, soma mais 1 na variбvel DMV_Error
}