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