SA-MP Forums Archive
[Ajuda] Dor de cabeзa com DINI - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Português/Portuguese (https://sampforum.blast.hk/forumdisplay.php?fid=34)
+---- Thread: [Ajuda] Dor de cabeзa com DINI (/showthread.php?tid=300010)



[Ajuda] Dor de cabeзa com DINI - arakuta - 28.11.2011

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


Re: [Ajuda] Dor de cabeзa com DINI - Adrian Fahrenheit Tepes - 28.11.2011

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.


Re: [Ajuda] Dor de cabeзa com DINI - DreeH - 28.11.2011

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.


Re: [Ajuda] Dor de cabeзa com DINI - Adrian Fahrenheit Tepes - 28.11.2011

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);
        }
    }



Re: [Ajuda] Dor de cabeзa com DINI - arakuta - 28.11.2011

@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...


Re: [Ajuda] Dor de cabeзa com DINI - Hardware - 28.11.2011

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))



Re: [Ajuda] Dor de cabeзa com DINI - arakuta - 28.11.2011

Ainda entra com qualquer senha, hardware.


Re: [Ajuda] Dor de cabeзa com DINI - Adrian Fahrenheit Tepes - 28.11.2011

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...


Re: [Ajuda] Dor de cabeзa com DINI - Hardware - 28.11.2011

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


Re: [Ajuda] Dor de cabeзa com DINI - Adrian Fahrenheit Tepes - 28.11.2011

Opa.

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