[Ajuda] auto escola
#1

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?
Reply
#2

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(strsizeof(str), "* Vocк errou a resposta! Restam mais %i tentativas."5-DMV_Error[playerid]);
        
SendClientMessage(playerid,-1str);
        return 
DMV_Error[playerid]++;
    }
    return 
1;

posta como estб seu cуdigo aн!
Reply
#3

Eu ainda nгo comecei mais fiz uma base simples para mostrar como vai funcionar

PHP код:
  ShowPlayerDialog(playerid1DIALOG_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");
            }
        }
    } 
Reply
#4

Ver se isso pode te ajudar:

PHP код:
new ErrouTeste[MAX_PLAYERS]; 
PHP код:
public OnDialogResponse(playeriddialogidresponselistiteminputtext[])
{
    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;

Reply
#5

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(strsizeof(str), "* Vocк errou a resposta! Restam mais %i tentativas."5-DMV_Error[playerid]);
                    
SendClientMessage(playerid,-1str);
                }
                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(strsizeof(str), "* Vocк errou a resposta! Restam mais %i tentativas."5-DMV_Error[playerid]);
                    
SendClientMessage(playerid,-1str);
                }
            }
        }
    } 
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] = 0Kick(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

Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)