[Ajuda] Sistema de Login nгo funciona.
#1

Olб pessoal, eu coloquei um sistema de login no meu servidor sу quк; Quando vai logar, vocк coloca qualquer senha que vai, e quando vocк nгo digita senha ele nгo vai.
Vou postar os comandos.

pawn Код:
define DIALOG_REGISTRO 1
#define DIALOG_LOGIN    2
#define CONTAS "Contas/%s.ini"
#define TXT_RLOGIN "{FFFFFF}Nick: %s Registrado\n\n Digite Sua Senha Para Logar"
#define TXT_LOGIN  "{FFFFFF}Olб Vocк Esta Registrado\nStatus Da Conta\nNick: %s Registrado\n\n Digite Sua Senha Para Logar"
#define TXT_NREGISTER "{FFFFFF}Olб, Vocк Nгo Esta Registrado\nStatus Da Conta\nNick: %s \nDigite Uma Senha Para Continuar"
#define TXT_RL "Pronto vocк esta registrado \nAgora digite Sua Senha Para Logar-Se"
new TotalMatou[MAX_PLAYERS];
new TotalMorreu[MAX_PLAYERS];
new TotalLogou[MAX_PLAYERS];
forward SalvarLevel(playerid);
forward CarregarLevel(playerid);
SalvarPlayer(playerid)
{
    new Nome[MAX_PLAYER_NAME];
    GetPlayerName(playerid, Nome, sizeof(Nome));
    new String[50];
    format(String, sizeof(String), CONTAS, Nome);
    dini_IntSet(String,"Dinheiro", GetPlayerMoney(playerid));
    dini_IntSet(String,"Total Matou", TotalMatou[playerid]);
    dini_IntSet(String,"Total Morreu", TotalMorreu[playerid]);
    dini_IntSet(String,"Total Logou", TotalLogou[playerid]);
    return 1;
}

CarregarPlayer(playerid)
{
    new Nome[MAX_PLAYER_NAME];
    GetPlayerName(playerid, Nome, sizeof(Nome));
    new String[50];
    format(String, sizeof(String), CONTAS, Nome);
    GivePlayerMoney(playerid, dini_Int(String,"Dinheiro"));
    TotalMatou[playerid] = dini_Int(String, "Total Matou");
    TotalMorreu[playerid] = dini_Int(String, "Total Morreu");
    TotalLogou[playerid] = dini_Int(String, "Total Logou");
    return 1;
}
pawn Код:
#define FileUsers       "Contas/%s.ini"
#define DIALOG_REGISTRO 1
#define DIALOG_LOGIN 2
pawn Код:
SalvarPlayer(i);
pawn Код:
new arquivo[34], playername[MAX_PLAYER_NAME]; //Criamos as vбriaveos que irгo armazenar o arquivo e o nome do jogador
    GetPlayerName(playerid, playername, sizeof(playername)); //Getamos o nome do player
    format(arquivo, sizeof(arquivo), "Contas/%s", playername); //Formatamos o arquivo de acordo com o nome do player (Contas/NOME)
    pDados[playerid][Organizacao] = DOF2_GetInt(arquivo, "Organizaзгo");
    pDados[playerid][Cargo] = DOF2_GetInt(arquivo, "Cargo");
    SpawnPlayer(playerid); //Dб SPAWN no player
   
    new Nome[MAX_PLAYER_NAME];
    GetPlayerName(playerid, Nome, sizeof(Nome));
    new String[100];
    format(String, sizeof(String), CONTAS, Nome);
    if(!dini_Exists(String))
    {
        format(String, sizeof(String), TXT_NREGISTER, Nome);
        ShowPlayerDialog(playerid, DIALOG_REGISTRO, 3, "Registro", String, "Registrar", "Cancelar");
    }
    else
    {
        format(String, sizeof(String),TXT_LOGIN, Nome);
        ShowPlayerDialog(playerid, DIALOG_LOGIN, 3, "Registro Com Sucesso", String, "Logar", "Cancelar");
    }
pawn Код:
new arquivo[34], playername[MAX_PLAYER_NAME]; //Criamos as vбriaveos que irгo armazenar o arquivo e o nome do jogador
    GetPlayerName(playerid, playername, sizeof(playername)); //Getamos o nome do player
    format(arquivo, sizeof(arquivo), "Contas/%s", playername); //Formatamos o arquivo de acordo com o nome do player (Contas/NOME)
    if(DOF2_FileExists(arquivo)) //Se a Conta existir
    {
        DOF2_SetInt(arquivo, "Organizaзгo", pDados[playerid][Organizacao]); //Setamos o valor de "pDados[playerid][Organizacao]" no "arquivo", com a TAG "Organizaзгo"
        DOF2_SetInt(arquivo, "Cargo", pDados[playerid][Cargo]); //Setamos o valor de "pDados[playerid][Cargo]" no "arquivo", com a TAG "Cargo"
    }
    else //Se a conta nгo esxitir
    {
        DOF2_CreateFile(arquivo); //Cria o arquivo com os Dados do player
        DOF2_SetInt(arquivo, "Organizaзгo", pDados[playerid][Organizacao]); //Setamos o valor de "pDados[playerid][Organizacao]" no "arquivo", com a TAG "Organizaзгo"
        DOF2_SetInt(arquivo, "Cargo", pDados[playerid][Cargo]); //Setamos o valor de "pDados[playerid][Cargo]" no "arquivo", com a TAG "Cargo"
    }
   
    SalvarPlayer(playerid);
pawn Код:
if(dialogid == DIALOG_REGISTRO)
    {
        if(response)
        {
            if(!strlen(inputtext))
            {
                new Nome[MAX_PLAYER_NAME];
                GetPlayerName(playerid, Nome, sizeof(Nome));
                new String[1000];
                format(String, sizeof(String), TXT_NREGISTER, Nome);
                ShowPlayerDialog(playerid, DIALOG_REGISTRO, 3, "Registro", String, "Registrar", "Cancelar");
                SendClientMessage(playerid,0x1E90FFAA,"Senha incorreta !!");
                return 1;
            }
            new Nome[MAX_PLAYER_NAME];
            GetPlayerName(playerid, Nome, sizeof(Nome));
            new String[100];
            format(String, sizeof(String), CONTAS, Nome);
            dini_Create(String);
            dini_Set(String,"Senha",inputtext);
            dini_IntSet(String,"Dinheiro",100000);
            dini_IntSet(String,"Vida",50);
            dini_IntSet(String,"TotalMatou",0);
            dini_IntSet(String,"Total Morreu",0);
            dini_IntSet(String,"Total Logou",0);
            ShowPlayerDialog(playerid, DIALOG_LOGIN, 3, "Login", TXT_RL, "Logar", "Cancelar");
            return 1;
        }
        else
        {
            SendClientMessage(playerid, 0xFF0000AA, "Voce Foi Kickado||Motivo: Nгo quer se registrar");
            Kick(playerid);
            return 1;
        }
    }
        if(dialogid == DIALOG_LOGIN)
    {
        if(response)
        {
            if(!strlen(inputtext))
            {
                new Nome[MAX_PLAYER_NAME];
                GetPlayerName(playerid, Nome, sizeof(Nome));
                new String[1000];
                format(String, sizeof(String),TXT_LOGIN, Nome);
                ShowPlayerDialog(playerid, DIALOG_LOGIN, 3, "Registro", String, "Logar", "Cancelar");
                SendClientMessage(playerid,0x1E90FFAA,"Senha Incorreta !");
                return 1;
            }
            new Nome[MAX_PLAYER_NAME];
            GetPlayerName(playerid, Nome, sizeof(Nome));
            new String[100];
            format(String, sizeof(String), CONTAS, Nome);
            if(!strcmp(inputtext,dini_Get(String,"Senha"),true))
            {
                CarregarPlayer(playerid);
                TotalLogou[playerid]++;
                SpawnPlayer(playerid);
                return 1;
            }
            else
            {
                SendClientMessage(playerid,0x00FF00AA,"Senha incorreta digite-a novamente");
                format(String, sizeof(String), TXT_RLOGIN, Nome);
                ShowPlayerDialog(playerid, DIALOG_LOGIN, 3, "Registro", String, "Logar", "Cancelar");
            }
            return 1;
        }
        else
        {
            SendClientMessage(playerid, 0xFF0000AA, "Voce Foi Kickado||Motivo:Nгo quer logar");
            Kick(playerid);
            return 1;
        }
    }

Eu coloquei por ordem, se alguйm nгo entender eu faзo melhor xP

Valeu..
Reply
#2

Criou a pasta contas?
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)