[Ajuda] Nгo esta kickado o player.
#1

Recentemente criei um sistema de LOGIN/REGISTRO em DOF2 , porйm quando o jogador erra a senha 3 vezes nгo estб kickando ele. Sera que vocк pode me ajudar?

Code

PHP код:
new Erro[MAX_PLAYERS]; 
PHP код:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    new 
arquivo[50],name[MAX_PLAYER_NAME];
    
GetPlayerName(playerid, name, sizeof(name));
    
format(arquivo, sizeof(arquivo), "Contas/n%sInfos.ini", name);
    
PosX[playerid] = DOF2_GetFloat(arquivo, "PosX");
    
PosY[playerid] = DOF2_GetFloat(arquivo, "PosY");
    
PosZ[playerid] = DOF2_GetFloat(arquivo, "PosZ");
    
PosA[playerid] = DOF2_GetFloat(arquivo, "PosA");
    
pSkin[playerid] = DOF2_GetInt(arquivo, "Skin");
    
pDinheiro[playerid] = DOF2_GetInt(arquivo, "Dinheiro");
    
// ==
    
if(dialogid == DIALOG_REGISTRO){
    if(
strlen(inputtext) < 4){
    
pLogado[playerid] = false;
    
TogglePlayerSpectating(playerid, true);
    
SendClientMessage(playerid, 0xFF0000AA, "|SERVER|A Senha precisa ter no mнnimo 4 caracteres.");
    
ShowPlayerDialog(playerid, DIALOG_REGISTRO, DIALOG_STYLE_INPUT, "Registro", "Vocк nгo parece ter uma conta em nosso banco de dados\nDigite uma senha baixo para se registrar.", "Confirmar", "Sair");
    }else{
    
pLogado[playerid] = true;
    
TogglePlayerSpectating(playerid, false);
    
DOF2_CreateFile(arquivo);
    
DOF2_SetString(arquivo, "Senha", inputtext);
    
DOF2_SetInt(arquivo, "Dinheiro", 1000);
    
DOF2_SetFloat(arquivo, "PosX", 1139.4064);
    
DOF2_SetFloat(arquivo, "PosY", -1761.9249);
    
DOF2_SetFloat(arquivo, "PosZ", 13.5955);
    
DOF2_SetFloat(arquivo, "PosA", 4.5833);
    
DOF2_SaveFile();
    
SendClientMessage(playerid, 0x00FF00AA, "|SERVER|Conta criada com sucesso em nosso banco de dados.");
    
SetSpawnInfo(playerid, 0, pSkin[playerid], PosX[playerid],PosY[playerid],PosZ[playerid],PosA[playerid], 0, 0, 0 , 0, 0 , 0);
    
SpawnPlayer(playerid);
    
GivePlayerMoney(playerid, pDinheiro[playerid]);
    }
    }
    if(!
response){
    
Kick(playerid);
    return 
1;
    }
    
// ==
    
if(dialogid == DIALOG_LOGIN){
    if(!
response){
    
Kick(playerid);
    return 
1;
    }
    if(
strcmp(inputtext, DOF2_GetString(arquivo, "Senha"), true) == 0){
    
pLogado[playerid] = true;
    
SetSpawnInfo(playerid, 0, pSkin[playerid], PosX[playerid],PosY[playerid],PosZ[playerid],PosA[playerid], 0, 0, 0 , 0, 0 , 0);
    
SpawnPlayer(playerid);
    
TogglePlayerSpectating(playerid, false);
    }else{
    
pLogado[playerid] = false;
    
TogglePlayerSpectating(playerid, true);
    
SendClientMessage(playerid, 0xFF0000AA, "|SERVER|Senha errada.");
    
Erro[playerid]++;
    
ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT, "Login", "Vocк jб tem uma conta registrada em nosso banco de dados.\nDigite sua senha abaixo para entrar no servidor.", "Confirmar", "Sair");
    return 
1;
    }
    if(
Erro[playerid] == 3){
    
pLogado[playerid] = false;
    
SendClientMessage(playerid, 0xFF0000AA, "|SERVER|Vocк exedeu seu limite de tentativas.");
    
Kick(playerid);
    return 
1;
    }
    }
    return 
1;
} 
Reply
#2

Tente assim

PHP код:
    if(dialogid == DIALOG_LOGIN)
    {
        if(!
response)
        {
            
Kick(playerid);
            return 
1;
        }
    }
    if(
strcmp(inputtext, DOF2_GetString(arquivo, "Senha"), true) == 0)
    {
        
pLogado[playerid] = true;
        
SetSpawnInfo(playerid, 0, pSkin[playerid], PosX[playerid],PosY[playerid],PosZ[playerid],PosA[playerid], 0, 0, 0 , 0, 0 , 0);
        
SpawnPlayer(playerid);
        
TogglePlayerSpectating(playerid, false);
    }
    else
    {
        if(
Erro[playerid] == 3)
        {
            
pLogado[playerid] = false;
            
SendClientMessage(playerid, 0xFF0000AA, "|SERVER|Vocк exedeu seu limite de tentativas.");
            
Kick(playerid);
        }
        else
        {
            
pLogado[playerid] = false;
            
TogglePlayerSpectating(playerid, true);
            
SendClientMessage(playerid, 0xFF0000AA, "|SERVER|Senha errada.");
            
Erro[playerid]++;
            
ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT, "Login", "Vocк jб tem uma conta registrada em nosso banco de dados.\nDigite sua senha abaixo para entrar no servidor.", "Confirmar", "Sair");
        }
    }
    return 
1;
} 
Reply
#3

Quote:
Originally Posted by ThiagoScottish
Посмотреть сообщение
Tente assim

PHP код:
    if(dialogid == DIALOG_LOGIN)
    {
        if(!
response)
        {
            
Kick(playerid);
            return 
1;
        }
    }
    if(
strcmp(inputtext, DOF2_GetString(arquivo, "Senha"), true) == 0)
    {
        
pLogado[playerid] = true;
        
SetSpawnInfo(playerid, 0, pSkin[playerid], PosX[playerid],PosY[playerid],PosZ[playerid],PosA[playerid], 0, 0, 0 , 0, 0 , 0);
        
SpawnPlayer(playerid);
        
TogglePlayerSpectating(playerid, false);
    }
    else
    {
        if(
Erro[playerid] == 3)
        {
            
pLogado[playerid] = false;
            
SendClientMessage(playerid, 0xFF0000AA, "|SERVER|Vocк exedeu seu limite de tentativas.");
            
Kick(playerid);
        }
        else
        {
            
pLogado[playerid] = false;
            
TogglePlayerSpectating(playerid, true);
            
SendClientMessage(playerid, 0xFF0000AA, "|SERVER|Senha errada.");
            
Erro[playerid]++;
            
ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT, "Login", "Vocк jб tem uma conta registrada em nosso banco de dados.\nDigite sua senha abaixo para entrar no servidor.", "Confirmar", "Sair");
        }
    }
    return 
1;
} 
Vlw bb , funcionou aqui <3
Reply
#4

Disponha
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)