[Ajuda] Dor de cabeзa com DINI
#1

pawn Код:
if(dialogid == 2)
    {
        new player[24]; new arquivo[44];
        GetPlayerName(playerid,player,24);
        format(arquivo,44,"%s.ini",player);
        if(response)
        {
            if(strval(inputtext) == dini_Int(arquivo,"Senha"))
            {
                SetPVarInt(playerid,"Logado",1);
                SetPVarInt(playerid,"Admin",dini_Int(arquivo,"Admin"));
                SetPVarInt(playerid,"Nivel",dini_Int(arquivo,"Nivel"));
                SetPVarInt(playerid,"Experiencia",dini_Int(arquivo,"Experiencia"));
                SetPVarInt(playerid,"Grana",dini_Int(arquivo,"Grana"));
                SetPVarInt(playerid,"Matou",dini_Int(arquivo,"Matou"));
                SetPVarInt(playerid,"Morreu",dini_Int(arquivo,"Morreu"));
                new setexp2 = GetPVarInt(playerid,"Nivel");
                SetPVarInt(playerid,"Experiencia2",setexp2 * 4);
                return 1;
            }
            SendClientMessage(playerid,COLOR_RED,"Senha incorreta");
            OnPlayerCommandText(playerid,"/logarse");
        }
    }
Esse o sistema de login/registro
O player consegue logar com qualquer senha;

pawn Код:
if(dialogid == 3)
    {
        if(response)
        {
            new player[24]; new arquivo[44];
            GetPlayerName(playerid,player,24);
            format(arquivo,44,"%s.ini",player);
            dini_Create(arquivo);
            dini_IntSet(arquivo,"Senha",strval(inputtext));
            SetPVarInt(playerid,"Logins",1);
            dini_IntSet(arquivo,"Nivel",1);
            dini_IntSet(arquivo,"Morreu",0);
            dini_IntSet(arquivo,"Matou",0);
            dini_IntSet(arquivo,"Experiencia",0);
            dini_IntSet(arquivo,"Logins",0);
            dini_IntSet(arquivo,"Admin",0);
            dini_IntSet(arquivo,"Grana",0);
            OnPlayerCommandText(playerid,"/logarse");
            SetPVarInt(playerid,"RecemReg",1);
        }
    }
E esse e o de registro, que nгo ta salvando a senha no arquivo ¬¬

Alguem me ajuda por favor
Reply
#2

Substituia o primeiro por esse:

pawn Код:
if(dialogid == 2)
    {
        new player[24]; new arquivo[44];
        GetPlayerName(playerid,player,24);
        format(arquivo,44,"%s.ini",player);
        if(response)
        {
            if(!strcmp(dini_Int(arquivo,"Senha"), inputtext, true)
            {
                SetPVarInt(playerid,"Logado",1);
                SetPVarInt(playerid,"Admin",dini_Int(arquivo,"Admin"));
                SetPVarInt(playerid,"Nivel",dini_Int(arquivo,"Nivel"));
                SetPVarInt(playerid,"Experiencia",dini_Int(arquivo,"Experiencia"));
                SetPVarInt(playerid,"Grana",dini_Int(arquivo,"Grana"));
                SetPVarInt(playerid,"Matou",dini_Int(arquivo,"Matou"));
                SetPVarInt(playerid,"Morreu",dini_Int(arquivo,"Morreu"));
                new setexp2 = GetPVarInt(playerid,"Nivel");
                SetPVarInt(playerid,"Experiencia2",setexp2 * 4);
                return 1;
            }
            SendClientMessage(playerid,COLOR_RED,"Senha incorreta");
            OnPlayerCommandText(playerid,"/logarse");
        }
    }
Compile, provavelmente terб alguns erros, mas posta os erros e a gente ajuda.
Reply
#3

Lembrando que a senha, nem sempre sгo somente compostas de intergers, e sim strings com intergers, aconselho que vocк encripty ela, para depois salvar como interger.
Reply
#4

E o segundo por esse:

pawn Код:
if(dialogid == 3)
    {
        if(response)
        {
            new player[24]; new arquivo[44];
            GetPlayerName(playerid,player,24);
            format(arquivo,44,"%s.ini",player);
            dini_Create(arquivo);
            dini_IntSet(arquivo,"Senha", inputtext);
            SetPVarInt(playerid,"Logins",1);
            dini_IntSet(arquivo,"Nivel",1);
            dini_IntSet(arquivo,"Morreu",0);
            dini_IntSet(arquivo,"Matou",0);
            dini_IntSet(arquivo,"Experiencia",0);
            dini_IntSet(arquivo,"Logins",0);
            dini_IntSet(arquivo,"Admin",0);
            dini_IntSet(arquivo,"Grana",0);
            OnPlayerCommandText(playerid,"/logarse");
            SetPVarInt(playerid,"RecemReg",1);
        }
    }
Reply
#5

@Dreeh Deixa primeiro eu aprender a salvar a senha sem encriptaзгo, depois eu faзo isso, relaxa.

@Adrian

pawn Код:
error 035: argument type mismatch (argument 1)
pawn Код:
if(!strcmp(dini_Int(arquivo,"Senha"), inputtext, true)
E por que usar STRCMP?

EDIT:

O seu segundo vc so removeu o strval, isso deixou a funзгo incompleta, e deu erro. O problema nгo й nele, pois eu tinha conseguido uma vez assim, e eu nao mexi em nada, e agora nгo foi. Pode ser que esteja conflitando com alguma coisa...
Reply
#6

Ah, ele usou strcmp, pois compara duas strings. Que no caso o que vai ser digitado pelo player, que й o 'inputtext', e a conta do player.
pawn Код:
if(!strcmp(inputtext,dini_Get(arquivo,"Senha"), true))
Reply
#7

Ainda entra com qualquer senha, hardware.
Reply
#8

pawn Код:
if(response)
        {
            if(!strcmp(dini_Int(arquivo,"Senha"), inputtext, true)
            {
                SetPVarInt(playerid,"Logado",1);
                SetPVarInt(playerid,"Admin",dini_Int(arquivo,"Admin"));
                SetPVarInt(playerid,"Nivel",dini_Int(arquivo,"Nivel"));
                SetPVarInt(playerid,"Experiencia",dini_Int(arquivo,"Experiencia"));
                SetPVarInt(playerid,"Grana",dini_Int(arquivo,"Grana"));
                SetPVarInt(playerid,"Matou",dini_Int(arquivo,"Matou"));
                SetPVarInt(playerid,"Morreu",dini_Int(arquivo,"Morreu"));
                new setexp2 = GetPVarInt(playerid,"Nivel");
                SetPVarInt(playerid,"Experiencia2",setexp2 * 4);
                return 1;
            }
            SendClientMessage(playerid,COLOR_RED,"Senha incorreta");
            OnPlayerCommandText(playerid,"/logarse");
        }
Assim...
Reply
#9

Mas dini_Int nгo й para dar um valor inteiro ao arquivo?
Reply
#10

Opa.

pawn Код:
if(!strcmp(dini_Get(arquivo,"Senha"), inputtext, true)
Valeu Hardware.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)