Ucitavanje Lozinke

Započeo AristoN
23. Sep. 2020. Zaključano
1,368
pregleda
22
postova
BKINGS OGC
3
Wheel Man
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):
///
Skrilew
6
Godfather
23. Sep. 2020.
Sta koristis za cuvanje? Posalji nam sve vezano za cuvanje i ucitavanje acc-ova
BKINGS OGC
3
Wheel Man
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","");
=============================
=============================
WrithScript
4
Enforcer
24. Sep. 2020.
Pošalji response dialoga za login, koji hash koristiš ?
BKINGS OGC
3
Wheel Man
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","");
WrithScript
4
Enforcer
24. Sep. 2020.
DIALOG_LOGIN, od ovog dialoga pošalji
Skrilew
6
Godfather
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 :
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);
BKINGS OGC
3
Wheel Man
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");
Skrilew
6
Godfather
24. Sep. 2020.
Daj mi ceo OnDialogResponse za dialog DIALOG_LOGIN, apsolutno sve
BKINGS OGC
3
Wheel Man
24. Sep. 2020.
Vcrs da dodjem kuci
Skrilew
6
Godfather
24. Sep. 2020.
Okej, dok ne dodjes pogledaj primer kako najjednostavnije treba da izgleda OnDialogResponse za Login :
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?
BKINGS OGC
3
Wheel Man
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)
    {
Skrilew
6
Godfather
24. Sep. 2020.
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
BKINGS OGC
3
Wheel Man
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.
BKINGS OGC
3
Wheel Man
25. Sep. 2020.
Izvinjavam se na dp
@V01D  jel mogu da ubacim novi reg/log system ali kao FilterScriptu ?

Morate biti prijavljeni da biste odgovorili na ovu temu.

Prijava

© 2026 SmartShark. All rights reserved.

Powered by Momentum|v2026.3.001 Alpha