-
Posts
2 -
Joined
-
Last visited
Content Type
Profiles
Forums
News
Documentation
Everything posted by Catalin Grigoriev
-
Scuze nu prea inteleg stock-ul tau dar nu e ca ai pus text-ul sa fie constant ?
-
Intrerupere-a variabilelor sau a inputtextului !
Catalin Grigoriev posted a question in Ajutor Scripting
Hello ! Am o problema cred ca destul de serioasa, am facut un gamemode de la 0 pe baza unei baze de date sqllite pentru o functionaliate mult mai rapida, iar ca sursa de date pentru utilizatori folosesc variabilele pentru jucatori [ PVars ] : link spre wiki. La inceput citesc parola din baza de date si o salvez ca si o variabila simpla : new handle = SL::OpenEx(SL::READ, "accounts", "username", GetPlayerUsername(playerid)); SL::ReadString(handle, "password", password, 64); SetPVarString(playerid,"password",password); // <-- aici salvez SL::ReadInt(handle, "id", id); SetPVarInt(playerid, "id", id); SL::Close(handle); SetPVarString(playerid,"password",password); Problema : Cand apare dialogul de logare si cand ma duc la ondialogresponse si doresc sa verific parolele pentru autentificare se golesc tabelurile. Adica ori se goleste inputtext[] ori tabelul in care am salvat parola de la variabila if(dialogid == DIALOG_LOGIN_PASSWORD) { if(response && GetPVarInt(playerid, "loginattemps") >= 1) { new password[12]; GetPVarString(playerid, "password", password, sizeof(password)); // <-- aici salvez in tabel parola, inainte ii facem hash dar nu mergea sa verific parolele..... if(!strcmp(inputtext, password)){ // <- aici e verificarea loadplayerdata(playerid); SendClientMessage(playerid, COLOR_BUTTONS, "succes"); ShowLoginPassword(playerid); } else { new errorstr[75]; format(errorstr, sizeof(errorstr), "Your password is incorrect! You still have %d attempts.",GetPVarInt(playerid, "loginattemps")); SendClientMessage(playerid, COLOR_WARN, errorstr); SetPVarInt(playerid, "loginattemps", GetPVarInt(playerid, "loginattemps")-1); ShowLoginPassword(playerid); } } else kick(playerid, COLOR_MAIN, "You lost the connection to the server! To exit type /q(uit)."); } Deci am testat si prin SendClientMessage, sa afisez ambele parole si se disbate un tabel si se face gol, si cand se compara parolele e mereu adevarat ca se compara un tabel gol cu unu plin cu parola hashurata [ adica i-am facut hash ( din parola simpla se face ceva de genu 3jeriyoj346oiwet98uv34958... ) pentru cine nu stia ].. Va rog o sugestie cum as putea sa rezolv. Si mentionez ca nu doresc sa scriu pe tabel datele jucatorului adica pInfo[playerid][pPassword]... , am decis ca salvez datele jucatorului in PVar.. Va rog!