[AJUDA] Registro
#1

Galera eu fiz um sistema de registro em fini para meu GM de Mata-Mata, fiz um bem simples para salvar sу level e grana, por quк sou novo na areб tando de pawno como de Fini.
Oque acontece: Na hora de registrar da certo, mais na hora de logar sempre da senha invбlida. se alguйm pode ajudar agradeзo.

aqui estб o meu sistema:
pawn Код:
enum pInfo
{
    cKey[128],
    cLevel,
    cGrana,
    cLog,
    cReg
}
new UserInfo[pInfo][MAX_PLAYERS];
As Forwards
pawn Код:
forward OnPlayerLogin(playerid,password[]);
forward OnPlayerSave(playerid);
forward OnPlayerRegister(playerid,password[]);
A define do dialog
pawn Код:
#define DIALOG_LOGIN 1
OnPlayerConnect
pawn Код:
{
    new string[80];
    new string2[160];
    GetPlayerName(playerid, pName, sizeof(pName));
    format(string, sizeof(string), "contas/%s.cfg", pName);
    if(Fini_Exists(string))
    {
        format(string2, sizeof(string2), "Bem-Vindo ao MaTa MaTa ToP TeaMn\n\n{33CCFF}Nick: {FFFFFF}%s\n{33AA33}Conta registrada\n\n{FFFFFF}Digite Sua Senha para Entrar:", pName);
        ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"{B22222}Login",string2,"Entrar","Sair",pName);
    }
    else
    {
        format(string2, sizeof(string2), "Bem-Vindo ao MaTa MaTa ToP TeaMn\n\n{33CCFF}Nick: {FFFFFF}%s\n{FF0000}Conta nгo registrada\n\n{FFFFFF}Digite Sua Senha para Registrar:", pName);
        ShowPlayerDialog(playerid, DIALOG_LOGIN+1 ,DIALOG_STYLE_INPUT,"{B22222}Registro",string2,"Registrar","Cancelar");
    }
    return 1;
}
OnPlayerDisconnect
pawn Код:
{
    OnPlayerSave(playerid);
    UserInfo[cLog][playerid] = 0;
    printf("Dados do ID:%d salvos com sucesso\n",playerid);
    return 1;
}
OnPlayerRequestSpawn
pawn Код:
{
    if(UserInfo[cLog][playerid] == 0)
    {
        SendClientMessage(playerid, CINZA, "Vocк nгo logou.");
        return 0;
    }
    return 1;
}
OnPlayerSpawn
pawn Код:
{
    if(UserInfo[cLog][playerid] == 0)
    {
        TogglePlayerControllable(playerid, 0);
        SendClientMessage(playerid, CINZA,"Vocк nгo Logou entгo estб CONGELADO");
        return 1;
    }
    else
    {
        TogglePlayerControllable(playerid, 1);
        return 1;
    }
    return 1;
}
OnDialogResponse
pawn Код:
{
    if(dialogid == DIALOG_LOGIN)
    {
        if(strlen(inputtext) == 0)
        {
            ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"{B22222}Registro","\n{B22222}Senha incorreta!\n{F5DEB3}Insira sua senha novamente:","Entrar","Sair");
        }
        else
        {
            OnPlayerLogin(playerid,inputtext);
        }
        return 1;
    }
    if(dialogid == DIALOG_LOGIN+1)
    {
        if(strlen(inputtext) == 0)
        {
            ShowPlayerDialog(playerid,DIALOG_LOGIN+1,DIALOG_STYLE_INPUT,"{B22222}Registro","\n{F5DEB3}Para registrar й necessбrio uma senha:","Registrar","Sair");
        }
        else
        {
            OnPlayerRegister(playerid,inputtext);
        }
        return 1;
    }
    return 1;
}
e as publics da forward
pawn Код:
public OnPlayerLogin(playerid,password[])
{
    new string[80];
    new pName[25];
    GetPlayerName(playerid, pName, sizeof(pName));
    format(string, sizeof(string), "contas/%s.cfg",pName);
    Fini_OpenFile(string);
    if(strcmp(password,Fini_GetStr("Senha"), true) == 0)
    {
        UserInfo[cLevel][playerid] = Fini_GetValue("Level");
        UserInfo[cGrana][playerid] = Fini_GetValue("Grana");
        UserInfo[cReg][playerid] = Fini_GetValue("Reg");
        GivePlayerMoney(playerid, UserInfo[cGrana][playerid]);
        UserInfo[cLog][playerid] = 1;
    }
    else
    {
        ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"{B22222}Logar","{B22222}Senha incorreta.\n{F5DEB3}Insira sua senha novamente:","Logar","Cancelar");
    }
    Fini_CloseFile();
}
public OnPlayerSave(playerid)
{
    new string[80];
    new pName[25];
    GetPlayerName(playerid, pName, sizeof(pName));
    format(string, sizeof(string), "contas/%s.cfg",pName);
    Fini_OpenFile(string);
    Fini_SetVal("Level", UserInfo[cLevel][playerid]);
    Fini_SetVal("Grana", GetPlayerMoney(playerid));
    Fini_SetVal("Reg", UserInfo[cReg][playerid]);
    Fini_SaveFile(string);
    Fini_CloseFile();
}
public OnPlayerRegister(playerid, password[])
{
    new string[80];
    new pName[25];
    GetPlayerName(playerid, pName, sizeof(pName));
    format(string, sizeof(string), "contas/%s.cfg",pName);
    Fini_Create(string);
    Fini_OpenFile(string);
    Fini_SetStr("Senha", password);
    Fini_SetVal("Grana", GetPlayerMoney(playerid));
    Fini_SetVal("Level", UserInfo[cLevel][playerid]);
    Fini_SetVal("Reg", 1);
    Fini_SaveFile(string);
    Fini_CloseFile();
    new string[160];
    format(string, sizeof(string), "Bem-Vindo ao MaTa MaTa ToP TeaMn\n\n{33CCFF}Nick: {FFFFFF}%s\n{33AA33}Conta registrada\n\n{FFFFFF}Digite Sua Senha para Entrar:", pName);
    ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"{B22222}Logar",string,"Logar","Cancelar");
}
Reply
#2

........
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)