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;
}
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;
sve isto ne menja se nista :(
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
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...
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;
}
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?
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