Jump to content
  • 0

pomoc Register/Login System (heslo)


HDpawner

Dotaz

Ahojte pawneri, chcel by som vyriešiť problém ktorý je že tento Register a Login system ukladá hesla hráčov ktorý sú pripojený. Takže ak idem hrať s nejakým hráčom uloží mi jeho heslo a Ja sa potom nemôžem prihlásiť na svoj účet. Preto som si založil tento HELP a chcel vás týmto požiadať o pomoc. Ziadne errors ani warning v mode nemám, všetko funguje až na to heslo. Moje vytvorené heslo prepíše na heslo hráča ktorý ešte ostane pripojený. Prosím Vás o pomoc s vyriešením tohto problému. Za rady vopred Dakujem.

 

Hore v mode

#include <a_samp>
#include <dini>
#include <dudb>

Enum 

enum pInfo
{
    pAdminLevel,
    pCash,
    pScore,
}

New

new PlayerInfo[MAX_PLAYERS][pInfo];
new gPlayerLogged[MAX_PLAYERS];

Define

#define SERVER_USER_FILE "Account/%s.ini"

OnPlayerConnect

    gPlayerLogged[playerid] = 0;
    new name[MAX_PLAYER_NAME], file[256];
    GetPlayerName(playerid, name, sizeof(name));
    format(file, sizeof(file), SERVER_USER_FILE, name);
    if (!dini_Exists(file))
    {
        ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, "Text", "Bla bla bla", "Register", "Exit");
    }
    if(fexist(file))
    {
        ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT, "Text", "bla bla bla", "Login", "Exit");
    }

OnPlayerDIsconnect

    new name[MAX_PLAYER_NAME], file[256];
    GetPlayerName(playerid, name, sizeof(name));
    format(file, sizeof(file), SERVER_USER_FILE, name);
    if(gPlayerLogged[playerid] == 1)
    {
        dini_IntSet(file, "Score", PlayerInfo[playerid][pScore]);
		dini_IntSet(file, "Money", GetPlayerMoney(playerid));
        dini_IntSet(file, "AdminLevel",PlayerInfo[playerid][pAdminLevel]);
    }
    gPlayerLogged[playerid] = 0;

OnPlayerSpawn

		PlayerInfo[playerid][pCash] = dini_Int(SERVER_USER_FILE,"Money");
		GivePlayerMoney(playerid,PlayerInfo[playerid][pCash]);

OnDialogResponse

    if (dialogid == 1)
    {
        new name[MAX_PLAYER_NAME], file[256], string[128];
        GetPlayerName(playerid, name, sizeof(name));
        format(file, sizeof(file), SERVER_USER_FILE, name);
        if(!response) return Kick(playerid);
        if (!strlen(inputtext)) return
                ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, "Text", "bla bla ", "Register", "Exit");
        dini_Create(file);
        dini_IntSet(file, "Password", udb_hash(inputtext));
        dini_IntSet(file, "AdminLevel",PlayerInfo[playerid][pAdminLevel] = 0);
        dini_IntSet(file, "Money",PlayerInfo[playerid][pCash] = 500);
        dini_IntSet(file, "Score",PlayerInfo[playerid][pScore] = 0);
        format(string, 128, "[SYSTEM]:Uspešne zaregistrovaný tvoje meno je %s a heslo je %s.", name, inputtext);
        SendClientMessage(playerid, C_WARNING, string);
        gPlayerLogged[playerid] = 1;
    }
    if (dialogid == 2)
    {
        new name[MAX_PLAYER_NAME], file[256];
        GetPlayerName(playerid, name, sizeof(name));
        format(file, sizeof(file), SERVER_USER_FILE, name);
        if(!response) return Kick(playerid);
        if (!strlen(inputtext)) return ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT, "Si zaregistrovaný", "Vyborne zaregistrovaný .. pametaj si heslo", "Login", "Leave");
        new tmp;
        tmp = dini_Int(file, "Password");
        if(udb_hash(inputtext) != tmp) {
            SendClientMessage(playerid, C_WARNING, "Zlé heslo.");
            ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT, "Text", "abla bla", "Login", "Exit");
        }
        else
        {
            gPlayerLogged[playerid] = 1;
            PlayerInfo[playerid][pAdminLevel] = dini_Int(file, "AdminLevel");
            SetPlayerScore(playerid, PlayerInfo[playerid][pScore]);
            GivePlayerMoney(playerid, dini_Int(file, "Money")-GetPlayerMoney(playerid));
            SendClientMessage(playerid,C_WARNING, "[SYSTEM]:Login prijatý!");
        }
    }
Edited by HDpawner
Link to comment
Share on other sites

1 odpověd na tuto otázku

Recommended Posts

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...