Započeo AristoN
•23. Sep. 2020.• ZaključanoUcitavanje Lozinke
1,410
pregleda
22
postova
Wheel Man
Balkan SA:MP
SA-MP Doprinos
Balkan SA:MP
SA-MP DoprinosNovi Član
40 / 100 XP
Početnik(0)
47
Postovi:
17
Teme:
Pridružio se:Jan. 2020
23. Sep. 2020.
Problem(error/warning): Pozdrav,kao sto mozete da procitate u Working in Progress radim mod od 0.Nema obavestenja vec 2-3 dana posto koci me ova stvar sto cu je napisem u temu,
- Npr sad kad uradim acc na primer Test_Server lozinka je tripet124 idem relog logujem se izbacuje netacnu lozinku zasto nije mi jasno ?
Deo skripte:
Debug iz server_log(ukoliko je u pitanju crashanje servera - crashdetect log):
- Npr sad kad uradim acc na primer Test_Server lozinka je tripet124 idem relog logujem se izbacuje netacnu lozinku zasto nije mi jasno ?
Deo skripte:
///Debug iz server_log(ukoliko je u pitanju crashanje servera - crashdetect log):
///Wheel Man
Balkan SA:MP
SA-MP Doprinos
Balkan SA:MP
SA-MP DoprinosNovi Član
40 / 100 XP
Početnik(0)
47
Postovi:
17
Teme:
Pridružio se:Jan. 2020
24. Sep. 2020.
forward LoadUser_data(playerid,name[],value[]);
public LoadUser_data(playerid,name[],value[])
{
INI_Int("Password",PlayerInfo);
INI_Int("Cash",PlayerInfo);
INI_Int("Admin",PlayerInfo);
INI_Int("Kills",PlayerInfo);
INI_Int("Deaths",PlayerInfo);
INI_Int("Skin",PlayerInfo);
INI_Int("Vip",PlayerInfo);
INI_Int("Ban",PlayerInfo);
INI_Int("DMwin",PlayerInfo);
return 1;
}
=============================
stock udb_hash(buf[]) {
new length=strlen(buf);
new s1 = 1;
new s2 = 0;
new n;
for (n=0; n {
s1 = (s1 + buf) % 65521;
s2 = (s2 + s1) % 65521;
}
return (s2 << 16) + s1;
}
=============================
Public OnPlayer Connect
TogglePlayerSpectating(playerid, true);
INI_ParseFile(UserPath(playerid), "LoadUser_%s", .bExtra = true, .extra = playerid);
ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT,""COL_WHITE"Login",""COL_WHITE"Type your password below to login.","Login","Quit");
//=================================================
}
else
{
ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT,""COL_WHITE"Registering...",""COL_WHITE"Type your password below to register a new account.","Register","Quit");
}
=============================
public OnPlayerDisconnect(playerid, reason)
{
new INI:File = INI_Open(UserPath(playerid));
INI_SetTag(File,"data");
INI_WriteInt(File,"Cash",GetPlayerMoney(playerid));
INI_WriteInt(File,"Admin",PlayerInfo);
INI_WriteInt(File,"Kills",PlayerInfo);
INI_WriteInt(File,"Deaths",PlayerInfo);
INI_WriteInt(File,"Skin",PlayerInfo);
INI_WriteInt(File,"Vip",PlayerInfo);
INI_WriteInt(File,"Ban",PlayerInfo);
INI_WriteInt(File,"DMwin",PlayerInfo);
INI_Close(File);
}
=============================
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
switch( dialogid )
{
case DIALOG_REGISTER:
{
if (!response) return Kick(playerid);
if(response)
{
if(!strlen(inputtext)) return ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT, ""COL_WHITE"Registering...",""COL_RED"You have entered an invalid password.n"COL_WHITE"Type your password below to register a new account.","Register","Quit");
new INI:File = INI_Open(UserPath(playerid));
INI_SetTag(File,"data");
INI_WriteInt(File,"Password",udb_hash(inputtext));
INI_WriteInt(File,"Cash",0);
INI_WriteInt(File,"Admin",0);
INI_WriteInt(File,"Kills",0);
INI_WriteInt(File,"Deaths",0);
INI_WriteInt(File,"Skin",0);
INI_WriteInt(File,"Vip",0);
INI_WriteInt(File,"Ban",0);
INI_WriteInt(File,"DMWin",0);
INI_Close(File);
SetSpawnInfo(playerid, 0, 0,1728.7982,-1668.4337,22.6094,43.5554, 0, 0, 0, 0, 0, 0);
SpawnPlayer(playerid);
SetCameraBehindPlayer(playerid);
SetPlayerArmour(playerid, 999999);
GivePlayerMoney(playerid, 5000000);
SetPlayerScore(playerid, 24);
SetPlayerSkin(playerid, 121);
SetPlayerScore(playerid,3);
GivePlayerWeapon(playerid,24,100);
GivePlayerWeapon(playerid,25,500);
GivePlayerWeapon(playerid,31,500);
TogglePlayerSpectating(playerid, false);
//ShowPlayerDialog(playerid, DIALOG_SUCCESS_1, DIALOG_STYLE_MSGBOX,""COL_WHITE"Success!",""COL_GREEN"Great! Your Y_INI system works perfectly. Relog to save your stats!","Ok","");
=============================
=============================
Wheel Man
Balkan SA:MP
SA-MP Doprinos
Balkan SA:MP
SA-MP DoprinosNovi Član
40 / 100 XP
Početnik(0)
47
Postovi:
17
Teme:
Pridružio se:Jan. 2020
24. Sep. 2020.
evo on Dialog Response a za hash koristim ovo
stock udb_hash(buf[]) {
new length=strlen(buf);
new s1 = 1;
new s2 = 0;
new n;
for (n=0; n {
s1 = (s1 + buf) % 65521;
s2 = (s2 + s1) % 65521;
}
return (s2 << 16) + s1;
}public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
switch( dialogid )
{
case DIALOG_REGISTER:
{
if (!response) return Kick(playerid);
if(response)
{
if(!strlen(inputtext)) return ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT, ""COL_WHITE"Registering...",""COL_RED"You have entered an invalid password.n"COL_WHITE"Type your password below to register a new account.","Register","Quit");
new INI:File = INI_Open(UserPath(playerid));
INI_SetTag(File,"data");
INI_WriteInt(File,"Password",udb_hash(inputtext));
INI_WriteInt(File,"Cash",0);
INI_WriteInt(File,"Admin",0);
INI_WriteInt(File,"Kills",0);
INI_WriteInt(File,"Deaths",0);
INI_WriteInt(File,"Skin",0);
INI_WriteInt(File,"Vip",0);
INI_WriteInt(File,"Ban",0);
INI_WriteInt(File,"DMWin",0);
INI_Close(File);
SetSpawnInfo(playerid, 0, 0,1728.7982,-1668.4337,22.6094,43.5554, 0, 0, 0, 0, 0, 0);
SpawnPlayer(playerid);
SetCameraBehindPlayer(playerid);
SetPlayerArmour(playerid, 999999);
GivePlayerMoney(playerid, 5000000);
SetPlayerScore(playerid, 24);
SetPlayerSkin(playerid, 121);
SetPlayerScore(playerid,3);
GivePlayerWeapon(playerid,24,100);
GivePlayerWeapon(playerid,25,500);
GivePlayerWeapon(playerid,31,500);
TogglePlayerSpectating(playerid, false);
//ShowPlayerDialog(playerid, DIALOG_SUCCESS_1, DIALOG_STYLE_MSGBOX,""COL_WHITE"Success!",""COL_GREEN"Great! Your Y_INI system works perfectly. Relog to save your stats!","Ok","");Godfather
Balkan SA:MP
SA-MP Doprinos
Balkan SA:MP
SA-MP DoprinosAktivan Član
17 / 250 XP
Početnik(1)
2,272
Postovi:
76
Teme:
Pridružio se:Maj 2014
24. Sep. 2020.
Pre svega ovoga ispod posalji mi dialog za login ( OnDialogResponse ), mozda si zeznuo nesto unutar njega 😛
Sve deluje u redu!
Ajmo ovako, probaj izbaci hash, stavi da ti pPass bude string, zatim samo sacuvaj kao string, ne kao integer, tako da ti izbaci tekst koju sifru sacuva i da li uopste sacuva :
Ovo gore je kada se igrac registruje, OnDialogResponse za DIALOG_REGISTER
Takodje svuda gde koristis sifru moras staviti string umesto integer
Sve deluje u redu!
Ajmo ovako, probaj izbaci hash, stavi da ti pPass bude string, zatim samo sacuvaj kao string, ne kao integer, tako da ti izbaci tekst koju sifru sacuva i da li uopste sacuva :
INI_WriteString(File, "Password", strval(inputtext));Ovo gore je kada se igrac registruje, OnDialogResponse za DIALOG_REGISTER
Takodje svuda gde koristis sifru moras staviti string umesto integer
forward LoadUser_data(playerid,name[],value[]);
public LoadUser_data(playerid,name[],value[])
{
INI_String("Password", PlayerInfo);
INI_Int("Cash",PlayerInfo);
INI_Int("Admin",PlayerInfo);Wheel Man
Balkan SA:MP
SA-MP Doprinos
Balkan SA:MP
SA-MP DoprinosNovi Član
40 / 100 XP
Početnik(0)
47
Postovi:
17
Teme:
Pridružio se:Jan. 2020
24. Sep. 2020.
Evo ti dialog login kod On Dialog Response
ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT,""COL_WHITE"Login",""COL_RED"You have entered an incorrect password.n"COL_WHITE"Type your password below to login.","Login","Quit");Godfather
Balkan SA:MP
SA-MP Doprinos
Balkan SA:MP
SA-MP DoprinosAktivan Član
17 / 250 XP
Početnik(1)
2,272
Postovi:
76
Teme:
Pridružio se:Maj 2014
24. Sep. 2020.
Okej, dok ne dodjes pogledaj primer kako najjednostavnije treba da izgleda OnDialogResponse za Login :
Ovako nesto maybe?
if(!response) return Kick(playerid); //Ako klikne na izlaz da ga kicka
if(response)
{
if(udb_hash(inputtext) == PlayerInfo) //Proverava sifru igraca
{
INI_ParseFile(UserPath(playerid), "LoadUser_%s", .bExtra = true, .extra = playerid); //Ucitava igraca
SpawnPlayer(playerid); //Spawnuje ga
return 1;
}
else //Ako ne pogodi sifru da mu opet izadje dialog za login
{
Dialog_Show(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD,"Login", "Sifra koju ste ukucali nije tacna!\nVas account je pronadjen.Unesite lozinku","Login","Izadji");
}
}
return 1;Ovako nesto maybe?
Wheel Man
Balkan SA:MP
SA-MP Doprinos
Balkan SA:MP
SA-MP DoprinosNovi Član
40 / 100 XP
Početnik(0)
47
Postovi:
17
Teme:
Pridružio se:Jan. 2020
24. Sep. 2020.
Evo cjeli onDialogResponse
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
switch( dialogid )
{
case DIALOG_REGISTER:
{
if (!response) return Kick(playerid);
if(response)
{
if(!strlen(inputtext)) return ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT, ""COL_WHITE"Registering...",""COL_RED"You have entered an invalid password.n"COL_WHITE"Type your password below to register a new account.","Register","Quit");
new INI:File = INI_Open(UserPath(playerid));
INI_SetTag(File,"data");
INI_WriteInt(File,"Password",udb_hash(inputtext));
INI_WriteInt(File,"Cash",0);
INI_WriteInt(File,"Admin",0);
INI_WriteInt(File,"Kills",0);
INI_WriteInt(File,"Deaths",0);
INI_WriteInt(File,"Skin",0);
INI_WriteInt(File,"Vip",0);
INI_WriteInt(File,"Ban",0);
INI_WriteInt(File,"DMWin",0);
INI_Close(File);
SetSpawnInfo(playerid, 0, 0,1728.7982,-1668.4337,22.6094,43.5554, 0, 0, 0, 0, 0, 0);
SpawnPlayer(playerid);
SetCameraBehindPlayer(playerid);
SetPlayerArmour(playerid, 999999);
GivePlayerMoney(playerid, 5000000);
SetPlayerScore(playerid, 24);
SetPlayerSkin(playerid, 121);
SetPlayerScore(playerid,3);
GivePlayerWeapon(playerid,24,100);
GivePlayerWeapon(playerid,25,500);
GivePlayerWeapon(playerid,31,500);
TogglePlayerSpectating(playerid, false);
//ShowPlayerDialog(playerid, DIALOG_SUCCESS_1, DIALOG_STYLE_MSGBOX,""COL_WHITE"Success!",""COL_GREEN"Great! Your Y_INI system works perfectly. Relog to save your stats!","Ok","");
}
}
case DIALOG_LOGIN:
{
if ( !response ) return Kick ( playerid );
if( response )
{
if(udb_hash(inputtext) == PlayerInfo)
{
INI_ParseFile(UserPath(playerid), "LoadUser_%s", .bExtra = true, .extra = playerid);
GivePlayerMoney(playerid,PlayerInfo);
SetSpawnInfo(playerid, 0, 0,1728.7982,-1668.4337,22.6094,43.5554, 0, 0, 0, 0, 0, 0);
SpawnPlayer(playerid);
SetPlayerSkin(playerid, 121);
SetPlayerScore(playerid,3);
SetPlayerArmour(playerid, 999999);
GivePlayerWeapon(playerid,24,100);
GivePlayerWeapon(playerid,25,500);
GivePlayerWeapon(playerid,31,500);
TogglePlayerSpectating(playerid, false);
ShowPlayerDialog(playerid, DIALOG_SUCCESS_2, DIALOG_STYLE_MSGBOX,""COL_WHITE"Success!",""COL_GREEN"You have successfully logged in!","Ok","");
}
else
{
ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT,""COL_WHITE"Login",""COL_RED"You have entered an incorrect password.n"COL_WHITE"Type your password below to login.","Login","Quit");
}
return 1;
if(dialogid == 1)
{Wheel Man
Balkan SA:MP
SA-MP Doprinos
Balkan SA:MP
SA-MP DoprinosNovi Član
40 / 100 XP
Početnik(0)
47
Postovi:
17
Teme:
Pridružio se:Jan. 2020
25. Sep. 2020.
V01D wrote on September 24, 2020, 8:44 pm:
Ovo je sve super, probaj onu metodu sto sam ti naveo gore, da ne hash-ujes sifru vec da sacuvas kao plain tekst, tako da vidis sta ce sacuvati
Mos mi malo objasniti detalnije nisam nesta najvise skonto.
Morate biti prijavljeni da biste odgovorili na ovu temu.
Prijava
