[Ajuda] Erro simples que nгo consigo resolver !
#11

Toma, havia } a menos no cуdigo:

pawn Code:
// This is a comment
// uncomment the line below if you want to write a filterscript
//#define FILTERSCRIPT

#include <a_samp>
#include <DOF2>

#define DIALOG_REGISTRO 1
#define DIALOG_LOGAR    2

enum pDados
{
    Nick,
    Senha,
    Sexo,
    Nivel,
    Skin,
    Dinheiro,
    Matou,
    Morreu,
    HorasJogadas,
    Organizacao,
    Cargo,
    Emprego,
    AdminLevel,
    Helper,
    VIP,
}

new Player[MAX_PLAYERS][pDados];
new Erro[MAX_PLAYERS];

public OnPlayerConnect(playerid)
{
    new arquivo[40], name[MAX_PLAYER_NAME]; //'arquivo' uma string para a format | 'name' para pegar o nome do playerid
    GetPlayerName(playerid, name, 32); //Pega o nome do playerid
    format(arquivo, 40, "Contas/%s.ini", name); //Formata o arquivo com o nome do playerid
    if(DOF2_FileExists(arquivo)) //Verifica se a pasta existe
    {
       
        //Caso existir, irб retornar a dialog de Login
        ShowPlayerDialog(playerid, DIALOG_LOGAR, DIALOG_STYLE_PASSWORD, "Logar", "Vocк й Registrado, digite sua senha para logar!\nSe errar 5 vezes vocк serб kickado !", "Confirma", "Cancelar");
    }
    else  //Caso o arquivo nгo exista
    {
       
        //Irб retornar a dialog de registro
        ShowPlayerDialog(playerid, DIALOG_REGISTRO, DIALOG_STYLE_INPUT, "Registro", "Vocк ainda nгo й Registrado, digite uma senha para se registrar!", "Confirma", "Cancelar");
    }
    return 1;
}

// <?

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    new arquivo[40], name[MAX_PLAYER_NAME]; //'arquivo' uma string para a format | 'name' para pegar o nome do playerid
    GetPlayerName(playerid, name, 32); //Para pegar o nome do playerid
    format(arquivo, 40, "Contas/%s.ini", name); //Formata o arquivo com o nome do playerid
    if(dialogid == DIALOG_REGISTRO)
    {
       

        if(!strval(inputtext)) //Verifica se o player digitou LETRAS, caso for true
        {
           
            //Retorna a dialog de registro novamente para ele digitar NЪMEROS
            ShowPlayerDialog(playerid, DIALOG_REGISTRO, DIALOG_STYLE_INPUT, "Registro", "Digite apenas nъmeros!\nDigite sua senha novamente para se registrar!", "Confirma", "Cancelar");
            return 1;
        }
        if(!response) //Verifica se ele clicar em 'Cancelar"
        {
           
            //Caso ele clicar em cancelar, irб retornar ao playerid KICK
            Kick(playerid);
            return 1;
        }
        else //Verifica se ele Confirma o Registro
        {
           
            //Caso for true, ira criar o arquivo na pasta CONTAS
            Player[playerid][Senha] = strval(inputtext); //Player[playerid][Senha] vai ser igual ao que ele digitar na dialog Registro
            DOF2_CreateFile(arquivo); //Vai criar o arquvivo na pasta Contas
            DOF2_SetInt(arquivo, "Nick", Player[playerid][Nick]);
            DOF2_SetInt(arquivo, "Senha", Player[playerid][Senha]);
            DOF2_SetInt(arquivo, "Sexo", Player[playerid][Sexo]);
            DOF2_SetInt(arquivo, "Nivel", Player[playerid][Nivel]);
            DOF2_SetInt(arquivo, "Skin", Player[playerid][Skin]);
            DOF2_SetInt(arquivo, "Dinheiro", Player[playerid][Dinheiro]);
            DOF2_SetInt(arquivo, "Matou", Player[playerid][Matou]);
            DOF2_SetInt(arquivo, "Morreu", Player[playerid][Morreu]);
            DOF2_SetInt(arquivo, "HorasJogadas", Player[playerid][HorasJogadas]);
            DOF2_SetInt(arquivo, "Organizacao", Player[playerid][Organizacao]);
            DOF2_SetInt(arquivo, "Cargo", Player[playerid][Cargo]);
            DOF2_SetInt(arquivo, "Emprego", Player[playerid][Emprego]);
            DOF2_SetInt(arquivo, "AdminLevel", Player[playerid][AdminLevel]);
            DOF2_SetInt(arquivo, "Helper", Player[playerid][Helper]);
            DOF2_SetInt(arquivo, "VIP", Player[playerid][Helper]);
            DOF2_SaveFile(); //E finalmente salvando o arquivo, sem essa funзгo o arquivo nгo serб salvo!
            //Retornando a dialog de Login ao player no final para ele logar no server
            ShowPlayerDialog(playerid, DIALOG_LOGAR, DIALOG_STYLE_PASSWORD, "Logar", "Vocк se cadastrou, agora й sу logar com sua senha registrada!", "Confirma", "Cancelar");
        }
    }
    if(dialogid == DIALOG_LOGAR)
    {
       

        if(!strval(inputtext)) //Verifica se o player digitou letras, caso for true
        {
           
            //Retorna a dialog de Login novamente para ele digitar NЪMEROS
            ShowPlayerDialog(playerid, DIALOG_LOGAR, DIALOG_STYLE_PASSWORD, "Logar", "Digite apenas nъmeros!\nDigite sua senha cadastrada para logar!\nSe errar 5 vezes vocк serб kickado !", "Confirma", "Cancelar");
            return 1;
        }
        if(!response) //Verifica se ele clicar em 'Cancelar"
        {
           
            //Caso ele clicar em cancelar, irб retornar ao playerid KICK
            Kick(playerid);
            return 1;
        }
        else //Verifica se ele Confirma o Login
        {
           
            //Caso for true, ira verificar se o que ele digitar serб a mesma senha que ele se registrou anteriormente
            Player[playerid][Senha] = DOF2_GetInt(arquivo, "Senha"); //Pega a senha do jogador no arquivo da conta
            if(strval(inputtext) == Player[playerid][Senha]) //Se o que ele digitar for igual ao valor que carregou aqui em cima /\
            {
               

                Player[playerid][Matou] = DOF2_GetInt(arquivo, "Matou"); //Pega quantos ele matou no arquivo
                Player[playerid][Morreu] = DOF2_GetInt(arquivo, "Morreu"); //Pega quantos ele morreu no arquivo
                Player[playerid][Dinheiro] = DOF2_GetInt(arquivo, "Dinheiro"); //Pega o dinheiro e iguala ao Player[playerid][Dinheiro]
                Player[playerid][Nivel] = DOF2_GetInt(arquivo, "Nivel", Player[playerid][Nivel]);
                Player[playerid][Organizacao] = DOF2_GetInt(arquivo, "Organizacao", Player[playerid][Organizacao]);
                Player[playerid][Cargo] = DOF2_GetInt(arquivo, "Cargo", Player[playerid][Cargo]);
                Player[playerid][Emprego] = DOF2_GetInt(arquivo, "Emprego", Player[playerid][Emprego]);
                Player[playerid][AdminLevel] = DOF2_GetInt(arquivo, "AdminLevel", Player[playerid][AdminLevel]);
                Player[playerid][Helper] = DOF2_GetInt(arquivo, "Helper", Player[playerid][Helper]);
                Player[playerid][Nick] = DOF2_GetInt(arquivo, "Nick", Player[playerid][Nick]);
                Player[playerid][VIP] = DOF2_GetInt(arquivo, "VIP", Player[playerid][VIP]);
                Player[playerid][Skin] = DOF2_GetInt(arquivo, "Skin", Player[playerid][Skin]);
                SetPlayerName(playerid, Player[playerid][Nick]);
                SetPlayerSkin(playerid, Player[playerid][Skin]);
                SetPlayerScore(playerid, Player[playerid][Nivel]);
                GivePlayerMoney(playerid, Player[playerid][Dinheiro]);
                DOF2_GetInt(arquivo, "Sexo", Player[playerid][Sexo]);
                DOF2_GetInt(arquivo, "HorasJogadas", Player[playerid][HorasJogadas]);
                SpawnPlayer(playerid); //Spawna o player
            }
            if(strval(inputtext) != Player[playerid][Senha])
            {
               

                ShowPlayerDialog(playerid, DIALOG_LOGAR, DIALOG_STYLE_PASSWORD, "Logar", "Vocк digitou sua senha errado, digite-a novamente para logar!\nSe errar 5 vezes vocк serб kickado !", "Confirma", "Cancelar");
                Erro[playerid]++; //O erro vai aumentar cada vez que ele errar
                if(Erro[playerid] == 5) //Quando chegar а 5 vezes, irб retornar a msg e o Ban
                {
                   

                    SendClientMessage(playerid, -1, "Vocк foi kickado por errar a senha por mais de 5 vezes !");
                    Kick(playerid);
                }
            }
        }
    }
    return 1;
}

public OnPlayerDisconnect(playerid)
{
   
    new arquivo[40], name[MAX_PLAYER_NAME]; //'arquivo' uma string para a format | 'name' para pegar o nome do playerid
    GetPlayerName(playerid, name, 32); //Para pegar o nome do playerid
    format(arquivo, 40, "Contas/%s.ini", name); //Formata o arquivo com o nome do playerid
    if(DOF2_FileExists(arquivo)) //Verifica se o arquivo da conta do playerid existe
    {
       

        Player[playerid][Dinheiro] = GetPlayerMoney(playerid); //Pega o dinheiro que o player tem no momento e iguala a Var de informaзхes dele
        DOF2_SetInt(arquivo, "Senha", Player[playerid][Senha]); //Salva a senha, caso ele tenha modificado
        DOF2_SetInt(arquivo, "Matou", Player[playerid][Matou]); //Salva quantos players ele matou
        DOF2_SetInt(arquivo, "Morreu", Player[playerid][Morreu]); //Salva quantas vezes ele morreu
        DOF2_SetInt(arquivo, "Dinheiro", Player[playerid][Dinheiro]); //Salva o dinheiro que foi igualado ao GetPlayerMoney logo acima no comeзo da funзгo
        DOF2_SetInt(arquivo, "Nick", Player[playerid][Nick]);
        DOF2_SetInt(arquivo, "Sexo", Player[playerid][Sexo]);
        DOF2_SetInt(arquivo, "Skin", Player[playerid][Skin]);
        DOF2_SetInt(arquivo, "Nivel", Player[playerid][Nivel]);
        DOF2_SetInt(arquivo, "HorasJogadas", Player[playerid][HorasJogadas]);
        DOF2_SetInt(arquivo, "Organizacao", Player[playerid][Organizacao]);
        DOF2_SetInt(arquivo, "Cargo", Player[playerid][Cargo]);
        DOF2_SetInt(arquivo, "Emprego", Player[playerid][Emprego]);
        DOF2_SetInt(arquivo, "AdminLevel", Player[playerid][AdminLevel]);
        DOF2_SetInt(arquivo, "Helper", Player[playerid][Helper]);
        DOF2_SetInt(arquivo, "VIP", Player[playerid][Helper]);
        DOF2_SaveFile(); //E finalmente salvando o arquivo
    }
    return 1;
}

public OnPlayerSpawn(playerid)
{
   
    return 1;
}

public OnPlayerDeath(playerid, killerid, reason)
{
   
    return 1;
}

public OnGameModeExit()
{
   
    DOF2_Exit();
    return 1;
}
Reply


Messages In This Thread

Forum Jump:


Users browsing this thread: 1 Guest(s)