[POMOC] Password Login


Započeo 032.Marcus, Februar 14, 2014, 21:42:29 POSLE PODNE

prethodna tema - sledeća tema

0 članova i 1 gost pregledaju ovu temu.

Scripta: Moja od nule
Opis problema: Koju god sifru da ukucam, mene uloguje i spawnuje.
Deo scripte:

case DIALOG_REGISTER:
	    {
	        if(!response) return Kick(playerid);
	        if(response)
			{
			    if(!strlen(inputtext)) return ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_PASSWORD, ""CRVENA"Register", ""BELA"Uneli ste nemogucu sifru.\nUnesite sifru da bi ste se registrovali!", "U redu", "Izadji");
       			new INI:File = INI_Open(UserPath(playerid));
			    INI_SetTag(File, "PlayerData");
			    new HashPass[129];
			    WP_Hash(HashPass, sizeof(HashPass), inputtext);
			    INI_WriteString(File, "Password", HashPass);
			    INI_WriteInt(File, "Sex", 0);
			    INI_WriteInt(File, "Age", 0);
			    INI_WriteInt(File, "Country", 0);
			    INI_WriteInt(File, "Money", 0);
				INI_WriteInt(File, "Admin", -1);
				INI_WriteInt(File, "Kills", 0);
				INI_WriteInt(File, "Deaths", 0);
				
				ShowPlayerDialog(playerid, DIALOG_SEX, DIALOG_STYLE_LIST, ""CRVENA"Izaberite vas pol", ""BELA"Musko\nZensko", "U redu", "Izadji");
			}
		}
		
		case DIALOG_LOGIN:
		{
		    if(!response) return Kick(playerid);
		    if(response)
			{
			    if(!strlen(inputtext)) return ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, ""CRVENA"Login", ""BELA"Uneli ste pogresnu sifru.\nUnesite sifru da bi ste se ulogovali!", "U redu", "Izadji");
			    new HashPass[129];
			    WP_Hash(HashPass, sizeof(HashPass), inputtext);
			    if(!strcmp(HashPass, PlayerInfo[playerid][pPassword], false))
			    {
			        INI_ParseFile(UserPath(playerid), "LoadUser_data", .bExtra = true, .extra = playerid);
			        GivePlayerMoney(playerid, PlayerInfo[playerid][pMoney]);
			        SetSpawnInfo(playerid, 0, 0, 1958.33, 1343.12, 15.36, 269.15, 0, 0, 0, 0, 0, 0);
			        SpawnPlayer(playerid);
       			}
       			else
       			{
       			    ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, ""CRVENA"Login", ""BELA"Uneli ste pogresnu sifru.\nUnesite sifru da bi ste se ulogovali!", "U redu", "Izadji");
				}
				return 1;
			}
		}


Ne vidim nigdje da si ucitao

if(!strcmp(HashPass,[color=red] PlayerInfo[playerid][pPassword][/color], false))


Å to znaci da je
PlayerInfo[playerid][pPassword]
ima vrijednos 0,odnosno funkcija strcmp ce ti vrati 0 jer je drugi string prazan,odnosno u tvom slucaju 1 i uvjet je zadovoljen.Ne znam kako iscitavas podatke,ali probaj stavit

INI_ParseFile(UserPath(playerid), "LoadUser_data", .bExtra = true, .extra = playerid);

prije

if(!strcmp(HashPass,[color=red] PlayerInfo[playerid][pPassword][/color], false))

[NUDIM ]
Gang-Rush server TDM besplatno


public OnPlayerConnect(playerid)
{
    TogglePlayerSpectating(playerid, 0);
    Rented[playerid] = 299;
    vEngine[playerid] = 0;
	if(fexist(UserPath(playerid)))
	{
	    INI_ParseFile(UserPath(playerid), "LoadUser_data", .bExtra = true, .extra = playerid);
	    ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, ""CRVENA"Login", ""BELA"Dobrodosli!\nUnesite vasu sifru da bi ste se ulogovali!", "U redu", "Izadji");
	}
	else
	{
	    ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_PASSWORD, ""CRVENA"Register", ""BELA"Dobrodosli!\nUnesite sifru da bi ste se registrovali!", "U redu", "Izadji");
	}
	return 1;
}


Imam to vec pod OnPlayerConnect, da stavim jos jednom i u Dialog za login ?

Probaj:
if(!strcmp( PlayerInfo[playerid][pPassword],HashPass, false,129))


Ako ne ide,pogledaj dal ti u varijablu
PlayerInfo[playerid][pPassword]
dobro sprema iz fajla.

[NUDIM ]
Gang-Rush server TDM besplatno


Nece opet, ne znam sta vise da radim....

Blaeks

*

Madmen

kada zapises igracevu sifru, proveri prvo da li je on lepo zapisuje, zatim, ako je to ispravno, napravis proveru tipa ovoga
if(!strcmp(PlayerInfo[playerid][pPassword],password,true))

Evo uspeo sam nekako, bio je problem u spremanju...

case DIALOG_REGISTER:
	    {
	        if(!response) return Kick(playerid);
	        if(response)
			{
			    if(!strlen(inputtext)) return ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_PASSWORD, ""CRVENA"Register", ""BELA"Uneli ste nemogucu sifru.\nUnesite sifru da bi ste se registrovali!", "U redu", "Izadji");
       			new INI:File = INI_Open(UserPath(playerid));
			    INI_SetTag(File, "PlayerData");
			    new HashPass[129];
			    WP_Hash(HashPass, sizeof(HashPass), inputtext);
			    INI_WriteString(File, "Password", HashPass);
			    /*INI_WriteInt(File, "Sex", 0);
			    INI_WriteInt(File, "Age", 0);
			    INI_WriteInt(File, "Country", 0);
			    INI_WriteInt(File, "Money", 0);
				INI_WriteInt(File, "Admin", -1);
				INI_WriteInt(File, "Kills", 0);
				INI_WriteInt(File, "Deaths", 0);
				INI_WriteInt(File, "Business", 0);
				INI_WriteInt(File, "House", 0);*/
				PlayerInfo[playerid][pPassword] = HashPass;
				PlayerInfo[playerid][pSex] = 0;
				PlayerInfo[playerid][pAge] = 0;
				PlayerInfo[playerid][pCountry] = 0;
				PlayerInfo[playerid][pMoney] = 0;
				PlayerInfo[playerid][pAdmin] = 0;
				PlayerInfo[playerid][pKills] = 0;
				PlayerInfo[playerid][pDeaths] = 0;
				PlayerInfo[playerid][pBizzID] = 0;
				PlayerInfo[playerid][pHouseID] = 0;
				PlayerInfo[playerid][pVehicle1] = 999;
				PlayerInfo[playerid][pVehicle2] = 999;
				PlayerInfo[playerid][pVehicle3] = 999;
				SavePlayer(playerid);
				//INI_WriteInt(File, "Vehicle1", 999);
				//INI_WriteInt(File, "Vehicle2", 999);
				//INI_WriteInt(File, "Vehicle3", 999);
				
				ShowPlayerDialog(playerid, DIALOG_SEX, DIALOG_STYLE_LIST, ""CRVENA"Izaberite vas pol", ""BELA"Musko\nZensko", "U redu", "Izadji");
			}
		}

Blaeks

*

Madmen