-
format(query, sizeof(query), \"SELECT * FROM `Jatekosok` WHERE `Nev` = \'%s\'\", Jatekosnev[playerid]);
mysql_fetch_row(Sor);
mysql_query(query);
mysql_store_result();
mysql_free_result();
sscanf(Sor, \"p<|>s[128]{d}s[128]\",Jatekosnev, Penz, Jelszo);
if(!strcmp(inputtext, Jelszo)){
SendClientMessage(playerid, ZOLD, \"Sikeres bejelentkezés!\");
Bejelentkezes(playerid, Jelszo);
return 1;
}else{
SendClientMessage(playerid, PIROS, \"Hibás jelszót adtál meg!\");
}
Sziasztok!
Kb. így néz ki a bejelentkezésem a scriptemben. Az a helyzet, hogy
ugyebár dialogos az egész, és hiába rontom el akaratosan a jelszót,
akkoris \"Sikeres bejelentkezés\". A jelszó ellenõrzéssel lehet a gond?
Vagy ha van valakinek más, egyéb észrevétele, kérem segítsen! :)
zsomaa
-
Szerintem a mostani megoldással csak akkor enged be ha rossz a jelszó :D
if(!strcmp(inputtext, Jelszo))[/quote]
helyett:
if(strval(inputtext) == Jelszo)[/quote]
vagy ha nemjó akkor
if(strval(inputtext) == strval(Jelszo) )
-
strval ugy vélem nem kell, az inputtext string, strval szám... De lehet hogy tévedek. szerintem csak vedd ki a felkiáltójelet a strcmp elõl :)
-
strval nem szám....a string value-nek a rövidítése... Amugy megpróbáltad?
-
if(strval(inputtext) == Jelszo)
Erre kapok egy ilyen errort:
error 033: array must be indexed (variable \"Jelszo\")
A másik formulában pedig ha elrontom, ha nem, akkoris
sikeres bejelentkezés..
??? ::|
-
Én azt javaslom hogy a netrõl tölts le egy jót :D
-
Jó a kód viszont
if(!strcmp(inputtext, Jelszo))
helyett:
if(strcmp(inputtext, Jelszo, true) == 0)
Próbáld így ;) nekem így van ;) csak nekem fájl kezelõs(MÉG) tehát...de mûködik. ^^
Véleményem szerint.
-
sajnos ez sem.. más? ???
-
Akkor muti az egész kódot(a bejelentkezésesekhez kapcsolódóakat.) hátha máshol van a hiba. de ez az strcmp-vel tuti hiba volt(gondolok a \"!\" rossz helyen való használatára).
-
Fél tízre javítom. Ismert probléma volt nálam, amikor kezdtem ezt xD
Ha egy paramétert kigagysz, ( sscanf ) mint itt a pénzt, akkor oda ne írj semmi, mert itt 2 dolgot töltöttél bele 3 dologba. Tehát a jelszó helyébe a pénzt töltötted, a jelszó meg kimarad.
format(query, sizeof(query), \"SELECT * FROM `Jatekosok` WHERE `Nev` = \'%s\'\", Jatekosnev[playerid]);
mysql_fetch_row(Sor);
mysql_query(query);
mysql_store_result();
mysql_free_result();
sscanf(Sor, \"p<|>s[128]{d}s[128]\",Jatekosnev, Jelszo);
if(!strcmp(inputtext, Jelszo))
{
SendClientMessage(playerid, ZOLD, \"Sikeres bejelentkezés!\");
Bejelentkezes(playerid, Jelszo);
return 1;
}
else
{
SendClientMessage(playerid, PIROS, \"Hibás jelszót adtál meg!\");
}
-------------------------------------------
if(strcmp(inputtext, Jelszo, true) == 0)
Ugyanaz, mint ez:
if(!strcmp(inputtext, Jelszo, true))
-
Sajnálom, akkor rosszul tudtam :$
-
Oh, köszönöm Kurta!
Látom te jártas vagy a \"szakmában\", a gondban. :)
Köszi még1x. De az a kérdésem, hogy
akkor miért veszi a jelszót, illetve a beírt dolgot, az inputtextet
egyenlõnek a jelszóval? ami ugyebár a pénz, mint kiderült XD
Szóval azt mér veszi helyesnek? :O pedig a jelszó nem szám volt.. :D
Am még nem próbáltam, de így biztosan jólesz, ha esetleg nem, akkor jelzek :)
zsomaa
SZERK.: Nos, bemásoltam amit Kurta kolegám írt, de úgysem jó. Olyan fura
ez az egész :S Mi lehet a baja? Talán a sorrend? Mert a MySQL táblámban pedig guyvan hogy
név, pénz, jelszó...
??? ???
-
Ha az én scriptemet csináltad át ( LoginPlayer-t Bejelentzekes-re ), akkor Bejelentkezes(playerid, Sor);
Mert az mégegyszer feldarabolja a stringet. Ha nem értesz hozzá használt az egészet ugyanúgy, mint én. Mert én is régebben vagy 3x belefogtam, de soha nemvolt jó. Aztán lett egy mód, amiben jól megvolt csinálva, abból megtanultam. Utána meg megírtam azt a scriptet és kiadtam.
-
mivel login= log in, ezért a log az ige, szal nem \"logining\", hanem \"logging in\"
-
okay, majd megnézem és jelentkezem.
Beny, ha értelmeset nemtudsz mondani, csak fikázni meg kijavítani akkor
inkább megse szólalj. köszi.
úgyvélem nem történt orbitális tragédia a rossz ragozással.
zsoma
-
Hi ismét.
Hosszu ideig nem irtam ide mert nem volt idöm foglalkozni a szeroval
de most ujra kezdem.
illetve folytatom..
kurta scriptjét a mysql-est beleépitettem egytöl egyig a szeroba. A mentésnél csak a pénzel
van gond, de azt tom a megoldást elvileg.
a jelszo beirásnál van most gázom:
kaptam egy hibát:
if(strval(inputtext) == Pass) erre a sorra > error 033: array must be indexed (variable \"Pass\")
mi a baja? :\\
-
Hi ismét.
Hosszu ideig nem irtam ide mert nem volt idöm foglalkozni a szeroval
de most ujra kezdem.
illetve folytatom..
kurta scriptjét a mysql-est beleépitettem egytöl egyig a szeroba. A mentésnél csak a pénzel
van gond, de azt tom a megoldást elvileg.
a jelszo beirásnál van most gázom:
kaptam egy hibát:
if(strval(inputtext) == Pass) erre a sorra > error 033: array must be indexed (variable \"Pass\")
mi a baja? :\\
az egész környezetet másold be mert egy sorból nelehet tudni
-
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]){
// Regisztráció
new Pass[128], MyRegID;
if(dialogid == 1)
{
if(response)
{
if(GetPVarInt(playerid, \"LoggedIn\"))
{
SendClientMessage(playerid, PIROS, \"Már be vagy jelentkezve.\");
return 1;
}
if(!strlen(inputtext[0]))
{
SendClientMessage(playerid, PIROS, \"Nem írtál be semilyen jelszót!\");
LoginDialog(playerid);
return 1;
}
format(query, sizeof(query), \"SELECT * FROM `players` WHERE `name` = \'%s\'\", pName(playerid));
mysql_query(query);
mysql_store_result();
mysql_fetch_row(line);
mysql_free_result();
sscanf(line, \"p<|>d{s[24]s[20]}s[30]{s[30]s[30]d}\", MyRegID, Pass);
SetPVarInt(playerid, \"RegID\", MyRegID);
if(strval(inputtext) == Pass)
{
LoginPlayer(playerid, Pass);
}
else
{
SendClientMessage(playerid, PIROS, \"HIBA: Rossz jelszó.\");
return 1;
}
GetPlayerIp(playerid, ip, sizeof(ip));
format(query, sizeof(query), \"UPDATE `players` SET `ip` = \'%s\' WHERE `reg_id` = %d\", ip, GetPVarInt(playerid, \"RegID\"));
mysql_query(query);
SendClientMessage(playerid, COLOR_GREEN, \"Sikeresen bejelentkeztél.\");
}
else
{
LoginDialog(playerid);
}
}