[Pomoc] Problem oko registracije


Započeo K ROSE, Novembar 13, 2014, 20:14:11 POSLE PODNE

prethodna tema - sledeća tema

0 članova i 1 gost pregledaju ovu temu.

Skripta koju koristim:Ravens
Detaljan opis problema:Kada se igrac registruje njegova šifra ide u num_hash(hash kod).
Sada pokušavo sam na razne nacine da napravim kada ukuca svoju sifru da se ta sifra memoriše kao inputtext i da se sacuva u ini.
Ali nece,kad izbrisem num_hash(password) onda u ini fajlu mi pise password=0
Neznam na koji nacin da pokusam nema koji nisam..
Dio koda:

public OnPlayerRegister(playerid, password[])
{
	if(IsPlayerConnected(playerid))
	{
		new string3[64];
		new string[128];
		new playersip[24];
		new playername3[MAX_PLAYER_NAME];
		GetPlayerName(playerid, playername3, sizeof(playername3));
		GetPlayerIp(playerid, playersip, sizeof(playersip));

		format(string3, sizeof(string3), "BLRP/Users/%s.ini", playername3);

		dini_Create(string3);
		new password2 = num_hash(password);
		PlayerInfo[playerid][pKey] = password2;
		dini_IntSet(string3, "Password",password2);

Mesto
dini_IntSet

Stavi
dini_Set


Kad obrises hash naravno.
Poslednja Izmena: Novembar 13, 2014, 23:05:03 POSLE PODNE od â–… â–† â–ˆ Rudimental â–ˆ â–† â–…

Uradio sam ovo,sad umjesto 0 na passwordu sad nema nista,sad je bolje nego prije xD
Izbriso sam hash i sad mi je ovako..

public OnPlayerRegister(playerid, password[])
{
	if(IsPlayerConnected(playerid))
	{
		new string3[64];
		new string[128];
		new playersip[24];
		new playername3[MAX_PLAYER_NAME];
		GetPlayerName(playerid, playername3, sizeof(playername3));
		GetPlayerIp(playerid, playersip, sizeof(playersip));

		format(string3, sizeof(string3), "UER X2/Users/%s.ini", playername3);

    	dini_Create(string3);
        dini_Set(string3, "Password",PlayerInfo[playerid][pKey]);


Sad jos trebam nekako napraviti ono new password2 = (password) ali to tako nece moci neznam kako cu..

Uradi ovako

Za PlayerInfo pa tamo pKey stavi pKey[128]

dini_Create(string3);
strmid(PlayerInfo[playerid][pKey],password, 0, strlen(password), 255);
dini_Set(string3, "Password", PlayerInfo[playerid][pKey]);


Takodje za public OnPlayerLogin stavi ovo za pw
strmid(PlayerInfo[playerid][pKey],dini_Get(string2,"Password"),0,strlen(dini_Get(string2,"Password")),255);

Imam sad problem kad ukucam sifru na registraciji prihvati je al kad hoce da se loguje kaze da je netacan password.

Vidi tamo tu proveru koja proverava pw jel tacan ili ne prilikom unosa
if(strcmp(PlayerInfo[playerid][pKey], password, true ) == 0 )

nema to u fdialogu nigdje

prvi je za logiranje a drugi za registriranje

fDialog(1245)
{
	if(response)
	{
		strmid(kucajte[playerid], inputtext, 0, strlen(inputtext), 255);
		if(!strcmp(kucajte[playerid], "////", true))
		{
			ShowPlayerDialog(playerid, 1245, DIALOG_STYLE_PASSWORD,"Pokusajte ponovo, molimo vas Logirajte se","Niste upisali {FF0000}lozinku{FFFFFF}!\nUpisite vasu {FF0000}lozinku {FFFFFF}u polje ispod da bi se {FF6600}logirali","Log-in","Izadji");
		}
		else
		{
			OnPlayerLogin(playerid, inputtext);
		}
	}
	else
	{
		Kick(playerid);
	}
	return 1;
}
fDialog(1246)
{
	if(response == 1)
	{
		if(strlen(inputtext) < 3)
		{
			ShowPlayerDialog(playerid, 1246, DIALOG_STYLE_PASSWORD,"Pokusajte ponovo, molimo vas registrirajte se","{FF0000}Lozinka{FFFFFF} koju ste upisali je previse {FF0000}kratka{FFFFFF}!\nUpisite vasu {FF0000}lozinku{FFFFFF} ispod i {FF6600}registrirajte vas nalog{FFFFFF}.","Registriraj se","Izadji");
			return 1;
		}
		if(strlen(inputtext) > 20)
		{
			ShowPlayerDialog(playerid, 1246, DIALOG_STYLE_PASSWORD,"Pokusajte ponovo, molimo vas registrirajte se","{FF0000}lozinka{FFFFFF} koju ste upisali je pre {FF0000}dugacka{FFFFFF}!\nUpisite vasu {FF0000}lozinku{FFFFFF} ispod i {FF6600}registrirajte vas nalog{FFFFFF}.","Registriraj se","Izadji");
			return 1;
		}
		OnPlayerRegister(playerid, inputtext);
	}
	else
	{
		Kick(playerid);
	}
	return 1;
}