17.02.2019, 23:51 
	
	
	
		Estou criando um sistema de registro simples, mas quando o player sai, as vezes buga e a senha fica assim: 
Senha=g117
Atй entгo tava tudo certinho... Nгo sei aonde errei.
	
	
	
	
Senha=g117
PHP код:
    new result[128];
    new arquivo[40];
    new name[MAX_PLAYER_NAME]; // Cria a variavel de nome
    GetPlayerName(playerid, name, 32);
    format(arquivo, 40, "Players/%s.ini", name);
    if(dialogid == DIALOG_REGISTRO) // Dialog registro
    {
        if(!response)
        {
            Kick(playerid);
            return 1;
        }
        format(result,128, "Senha digitada: %s.", inputtext);
        SendClientMessage(playerid,Branco, result);
        format(PlayerInfo[playerid][pSenha], 128, inputtext);
        DOF2_CreateFile(arquivo);
        DOF2_SetString(arquivo, "Senha", PlayerInfo[playerid][pSenha]);
        DOF2_SetInt(arquivo, "Admin", PlayerInfo[playerid][pAdmin]);
        DOF2_SaveFile();
        return 1;
    }
    if(dialogid == DIALOG_LOGAR)
    {
           if(!response)
        {
            Kick(playerid);
            return 1;
        }
           format(PlayerInfo[playerid][pSenha], 128, DOF2_GetString(arquivo, "Senha"));
    //    format(result,128, "Senha agora: %s e %s.", inputtext, PlayerInfo[playerid][pSenha]);
//        SendClientMessage(playerid,Branco, result);
        if(!strcmp(inputtext, PlayerInfo[playerid][pSenha], false))
        {
            format(PlayerInfo[playerid][pAdmin], 128, DOF2_GetString(arquivo, "Admin"));
            SendClientMessage(playerid, -1, "Vocк foi logado com sucesso, Bem - vindo novamente!");
        }
        else //errou a senha
        {
            ShowPlayerDialog(playerid, DIALOG_LOGAR, DIALOG_STYLE_PASSWORD, "Login", "Status da conta : Registrada\n digite sua senha para logar!\nSe errar 5 vezes sua conta serб banida!", "Logar", "Cancelar");
            format(result,128,"Vocк errou sua senha: %i/5", ERRO[playerid]);
            SendClientMessage(playerid, -1, result);
               ERRO[playerid]++;
            if(ERRO[playerid] == 5) // se ele errar 5 vezes ele serб banido !
              {
                   SendClientMessage(playerid, -1, "Vocк foi kickado por nгo logar!");
                   Kickar(playerid);
                   return 1;
             }
          }
    
    } 
PHP код:
public OnPlayerDisconnect(playerid, reason)
{
    new arquivo[40];
    new name[MAX_PLAYER_NAME]; // Cria a variavel de nome
    GetPlayerName(playerid, name, 32);
    format(arquivo, 40, "Players/%s.ini", name);
    if(DOF2_FileExists(arquivo)) // se o arquivo existir
    {
          DOF2_SetString(arquivo, "Senha", PlayerInfo[playerid][pSenha]);
        DOF2_SetInt(arquivo, "Admin", PlayerInfo[playerid][pAdmin]);
        DOF2_SaveFile();
    } 



	