[pomoc]reg/login ne radi nesto


Započeo Arnel_Bp, April 15, 2014, 20:30:33 POSLE PODNE

prethodna tema - sledeća tema

0 članova i 1 gost pregledaju ovu temu.

Skripta koju koristim: moja od 0
Detaljan opis problema: Uradio sam login/reg system po tuturialu ali sad kad udjem u igricu stvara mi dialog da se registruje, kad kucam ime neko ili nesto i dolje normalno imam reg se - izadji, i kad ukucam lozinku pojavi mi se lozinka neispravna, unesite tacno i dolje prijava - izadji ako me shvatate, ako ne slike cu dati neke
Dio skripte:

#define DIALOG_REGISTER 1
#define DIALOG_LOGIN 2



public OnPlayerConnect(playerid)
{
	if(fexist(UserPath(playerid)))
	{
		INI_ParseFile(UserPath(playerid), "LoadUser_%s", .bExtra = true, .extra = playerid);
		ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT,"{00FF00}Prijavljivanje","{0000FF}Vas racun je vec registrovan. Ukucaj lozinku da se prijavis","Prijavi se","Izadji");
	}
	else
	{
		ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT,"{FF0000}Registracija","Ukucajte lozinku da bi se registrovali.","Registruj se","Izadji");
	}
	return 1;
}


case 1:
	{
	if(!response) return Kick(playerid);
	if(response)
	{
	if(!strlen(inputtext)) return ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, "{FF0000}Registracija","{FF0000}Ukucali ste pogresnu lozinku.\nUkucajte ispravnu lozinku da bi se registrovali","Registruj se","Izadji");
	new INI:File = INI_Open(UserPath(playerid));
	INI_SetTag(File,"data");
	INI_WriteInt(File,"Lozinka",udb_hash(inputtext));
	INI_WriteInt(File,"Novac",0);
	INI_WriteInt(File,"Admin",0);
	INI_WriteInt(File,"Ubistva",0);
	INI_WriteInt(File,"Smrti",0);
	INI_Close(File);
	TextDrawShowForPlayer(playerid,Textdraw0);
	TextDrawShowForPlayer(playerid,Textdraw1);
	TextDrawShowForPlayer(playerid,Textdraw2);
	TextDrawShowForPlayer(playerid,Textdraw3);
	TextDrawShowForPlayer(playerid,Textdraw4);
	TextDrawShowForPlayer(playerid,Textdraw5);
	TextDrawShowForPlayer(playerid,Textdraw6);
	TextDrawShowForPlayer(playerid,Textdraw7);
	TextDrawShowForPlayer(playerid,Textdraw8);
	TextDrawShowForPlayer(playerid,Textdraw9);
	TextDrawShowForPlayer(playerid,Textdraw10);
	SetSpawnInfo(playerid, 0, 0, 1958.33, 1343.12, 15.36, 269.15, 0, 0, 0, 0, 0, 0);// Ovde stavite koordinate svog spawna
	SpawnPlayer(playerid);
	}
	}
	case 2:
	{
	if(!response) return Kick(playerid);
	if(response)
	{
	if(udb_hash(inputtext) == PlayerInfo[playerid][pLozinka])
	{
	INI_ParseFile(UserPath(playerid), "LoadUser_%s", .bExtra = true, .extra = playerid);
	GivePlayerMoney(playerid, PlayerInfo[playerid][pNovac]);
	TextDrawShowForPlayer(playerid,Textdraw0);
	TextDrawShowForPlayer(playerid,Textdraw1);
	TextDrawShowForPlayer(playerid,Textdraw2);
	TextDrawShowForPlayer(playerid,Textdraw3);
	TextDrawShowForPlayer(playerid,Textdraw4);
	TextDrawShowForPlayer(playerid,Textdraw5);
	TextDrawShowForPlayer(playerid,Textdraw6);
	TextDrawShowForPlayer(playerid,Textdraw7);
	TextDrawShowForPlayer(playerid,Textdraw10);
	}
	else
	{
	ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT,"Prijavljivanje","Ukucali ste pogresnu lozinku.\nUkucajte ispravnu lozinku da bi se ulogovali.","Prijavi se","Izadji");
	}
	return 1;
	}
	}
	}
	return 1;
	}

Neke slike/video za lakse dobivanje pomoci(neobavezno):

jeli imas ovo

stock udb_hash(buf[])
{
    new length=strlen(buf);
    new s1 = 1;
    new s2 = 0;
    new n;
    for (n=0; n<length; n++)
    {
       s1 = (s1 + buf[n]) % 65521;
       s2 = (s2 + s1)     % 65521;
    }
    return (s2 << 16) + s1;
}
Software Developer

Citat: Ivan_Ino.pwn poslato April 15, 2014, 21:14:38 POSLE PODNE
jeli imas ovo

stock udb_hash(buf[])
{
    new length=strlen(buf);
    new s1 = 1;
    new s2 = 0;
    new n;
    for (n=0; n<length; n++)
    {
       s1 = (s1 + buf[n]) % 65521;
       s2 = (s2 + s1)     % 65521;
    }
    return (s2 << 16) + s1;
}


da imam gledo sam odavde

http://balkan-samp.com/forum/index.php?topic=84471.0

i sve sam uradio kako treba nema errora ali nece :D sta da mu radim

Ja ovde stvarno nevidim gresku...

jedno pokusaj ovako.... :/
ako bude errora posalji

case DIALOG_REGISTER:
	{
		if(!response) return Kick(playerid);
		if(response)
		{
			if(!strlen(inputtext)) return ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, "{FF0000}Registracija","{FF0000}Ukucali ste pogresnu lozinku.\nUkucajte ispravnu lozinku da bi se registrovali","Registruj se","Izadji");
			new INI:File = INI_Open(UserPath(playerid));
			INI_SetTag(File,"data");
			INI_WriteInt(File,"Lozinka",udb_hash(inputtext));
			INI_WriteInt(File,"Novac",0);
			INI_WriteInt(File,"Admin",0);
			INI_WriteInt(File,"Ubistva",0);
			INI_WriteInt(File,"Smrti",0);
			INI_Close(File);
			TextDrawShowForPlayer(playerid,Textdraw0);
			TextDrawShowForPlayer(playerid,Textdraw1);
			TextDrawShowForPlayer(playerid,Textdraw2);
			TextDrawShowForPlayer(playerid,Textdraw3);
			TextDrawShowForPlayer(playerid,Textdraw4);
			TextDrawShowForPlayer(playerid,Textdraw5);
			TextDrawShowForPlayer(playerid,Textdraw6);
			TextDrawShowForPlayer(playerid,Textdraw7);
			TextDrawShowForPlayer(playerid,Textdraw8);
			TextDrawShowForPlayer(playerid,Textdraw9);
			TextDrawShowForPlayer(playerid,Textdraw10);
			SetSpawnInfo(playerid, 0, 0, 1958.33, 1343.12, 15.36, 269.15, 0, 0, 0, 0, 0, 0);// Ovde stavite koordinate svog spawna
			SpawnPlayer(playerid);
		}
	}
	case DIALOG_LOGIN:
	{
		if(!response) return Kick(playerid);
		if(response)
		{
			if(udb_hash(inputtext) == PlayerInfo[playerid][pLozinka])
			{
				INI_ParseFile(UserPath(playerid), "LoadUser_%s", .bExtra = true, .extra = playerid);
				GivePlayerMoney(playerid, PlayerInfo[playerid][pNovac]);
				TextDrawShowForPlayer(playerid,Textdraw0);
				TextDrawShowForPlayer(playerid,Textdraw1);
				TextDrawShowForPlayer(playerid,Textdraw2);
				TextDrawShowForPlayer(playerid,Textdraw3);
				TextDrawShowForPlayer(playerid,Textdraw4);
				TextDrawShowForPlayer(playerid,Textdraw5);
				TextDrawShowForPlayer(playerid,Textdraw6);
				TextDrawShowForPlayer(playerid,Textdraw7);
				TextDrawShowForPlayer(playerid,Textdraw10);
			}
			else
			{
				ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT,"Prijavljivanje","Ukucali ste pogresnu lozinku.\nUkucajte ispravnu lozinku da bi se ulogovali.","Prijavi se","Izadji");
			}
		}
	}
}
return 1;
Software Developer


Citat: Arnel_Bp poslato April 15, 2014, 21:39:41 POSLE PODNE
sve isto ne menja se nista :(

posalji mi sadasnji cjeli ondialogresponse
sa ovim ubacenim sto sam ti poslao zadnje
Software Developer

ma ja mislim da je problem u mesanju dialoga ako sam ga dobro svatio vidis da pod proverom za igracev racun koristi jedan id a dole drugi...
69

Citat: [UG]C++ poslato April 15, 2014, 21:42:40 POSLE PODNE
ma ja mislim da je problem u mesanju dialoga ako sam ga dobro svatio vidis da pod proverom za igracev racun koristi jedan id a dole drugi...

pa mozes li mi to prepraviti?

Citat: [UG]C++ poslato April 15, 2014, 21:42:40 POSLE PODNE
ma ja mislim da je problem u mesanju dialoga ako sam ga dobro svatio vidis da pod proverom za igracev racun koristi jedan id a dole drugi...

Upravu si..

dodaj jos ovo mjesto onoga pod onplayerconnect

public OnPlayerConnect(playerid)
{
	if(fexist(UserPath(playerid)))
	{
		INI_ParseFile(UserPath(playerid), "LoadUser_%s", .bExtra = true, .extra = playerid);
		ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT,"{00FF00}Prijavljivanje","{0000FF}Vas racun je vec registrovan. Ukucaj lozinku da se prijavis","Prijavi se","Izadji");
	}
	else
	{
		ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT,"{FF0000}Registracija","Ukucajte lozinku da bi se registrovali.","Registruj se","Izadji");
	}
	return 1;
}
Software Developer

Sad radi, ali mana postoji da mi ne sacuva podatke u Korisnici kad izadjem iz igre

evo kako sta stavio

public OnPlayerDisconnect(playerid, reason)
{
	TextDrawHideForPlayer(playerid,Textdraw0);
	TextDrawHideForPlayer(playerid,Textdraw1);
	TextDrawHideForPlayer(playerid,Textdraw2);
	TextDrawHideForPlayer(playerid,Textdraw3);
	TextDrawHideForPlayer(playerid,Textdraw4);
	TextDrawHideForPlayer(playerid,Textdraw5);
	TextDrawHideForPlayer(playerid,Textdraw6);
	TextDrawHideForPlayer(playerid,Textdraw7);
	TextDrawHideForPlayer(playerid,Textdraw8);
	TextDrawHideForPlayer(playerid,Textdraw9);
	TextDrawHideForPlayer(playerid,Textdraw10);
	new INI:File = INI_Open(UserPath(playerid));
	INI_SetTag(File,"data");
	INI_WriteInt(File,"Novac",GetPlayerMoney(playerid));
	INI_WriteInt(File,"Admin",PlayerInfo[playerid][pAdmin]);
	INI_WriteInt(File,"Ubistva",PlayerInfo[playerid][pUbistva]);
	INI_WriteInt(File,"Smrti",PlayerInfo[playerid][pSmrti]);
	INI_Close(File);
	return 1;
}


moze pomoc? :)

I kad udjem na ime np

Arnel i registrujem se i izadjem iz igrice, i kad udjem pise prijavi se i istu sifru unesem ali nece pise pogresna sifra

a kada odes u mapu korisnici tamo ima tvoje registrirano ime a kada otvoris datoteku sta bude?
budu li sve varijable 0 ili?
Software Developer

Citat: Ivan_Ino.pwn poslato April 16, 2014, 21:14:21 POSLE PODNE
a kada odes u mapu korisnici tamo ima tvoje registrirano ime a kada otvoris datoteku sta bude?
budu li sve varijable 0 ili?

ne bude nista :), prazno

daj mi posalji cjeli ondialogresponse moguce da je do register dialoga pa moram vidit cjeli ondialogresponse
Software Developer