[TuT]Reg/Log Sistem(pojasnjeno)

19. Jun 2013. Zaključano
3,315
pregleda
11
postova
Mister.Scripter
2
Wheel Man
19. Jun 2013.
Dobar dan! danas cu se potruditi da vas naucim napraviti Reg/Log sistem!

Prvo dodajte vazane includove koji vam je vazan za spremanje a mi cemo koristit dini i dudb!
#include 
#include


Takodjer Na vrh skripte dodajte:
enum pInfo
{
    pAdminLevel,
    pCash,
    pScore,
}


Sto znaci enum
i ostalo unutar njega pCash,pScore i pAdminLevel? to vam znaci da ce to sve spremati kada napravimo cijeli reg log sistem!
Pa nastavimo...Dodajte ispod toga varijablu
new PlayerInfo;


Kod mene vam to izgleda ovako
enum pInfo
{
    pAdminLevel,
    pCash,
    pScore,
}
new PlayerInfo;


Pa onda pod OnPlayerConnect dodajte:
    gPlayerLogged = 0;
    new name, file;
    GetPlayerName(playerid, name, sizeof(name));
    format(file, sizeof(file), SERVER_USER_FILE, name);
    if (!dini_Exists(file))
    {
        ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, "{F50247}Niste registrovani", "{22D8E6}Dobrodosli, niste registrovani. Molim registrujte se da bi mogli igrati", "Registruj", "Odustani");
    }
    if(fexist(file))
    {
        ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT, "{F50247}Vi ste registrovani", "{22D8E6}Dobrodosli, vi ste registrovani. Logirajte se", "Logiraj", "Odustani");
    }


gPlayerLogged = 0; //On vam provjerava dali je igrac logovan ako je igrac logovan biti ce vam gPlayerLogged = 1;

Zbog gPlayerLogged = 0; morate napraviti novu varijablu na vrhu skripte!
new gPlayerLogged;


Kada ste napravili novu varijablu dodajte pod OnPlayerDisconnect:
    new name, file;
    GetPlayerName(playerid, name, sizeof(name));
    format(file, sizeof(file), SERVER_USER_FILE, name);
    if(gPlayerLogged == 1)
    {
        dini_IntSet(file, "Level", PlayerInfo);
        dini_IntSet(file, "Novac", PlayerInfo);
        dini_IntSet(file, "AdminLevel",PlayerInfo);
    }
    gPlayerLogged = 0;


Ista vam je tu stvar sto sam vam pricao znaci dudb vam je tu potreban jer se preko njega sprema! znaci vidite...if(gPlayerLogged == 1),on provjerava dali je igrac ulogovan i onda u vasem scriptfilesu u korisnicima dok napravimo tu mapu ce spremati tamo igraceve stvari

Sada dodajte pod OnDialogResponse:
if (dialogid == 1)
    {
        new name, file, string;
        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, "{F50247}Niste registrovani", "{22D8E6}Dobrodosli, niste registrovani. Molim registrujte se da bi mogli igrati", "Registruj", "Odustani");
        dini_Create(file);
        dini_IntSet(file, "Lozinka", udb_hash(inputtext));
        dini_IntSet(file, "AdminLevel",PlayerInfo = 0);
        dini_IntSet(file, "Novci",PlayerInfo = 500);
        dini_IntSet(file, "Level",PlayerInfo = 0);
        format(string, 128, "Registrirali ste se %s s sifrom %s, automatski ste logirani.", name, inputtext);
        SendClientMessage(playerid, COLOR_YELLOW, string);
        gPlayerLogged = 1;
    }
if (dialogid == 2)
    {
        new name, file;
        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, "{F50247}Vi ste registrovani", "{22D8E6}Dobrodosli, vi ste registrovani. Logirajte se", "Logiraj", "Odustani");
        new tmp;
        tmp = dini_Int(file, "Lozinka");
        if(udb_hash(inputtext) != tmp) {
            SendClientMessage(playerid, COLOR_RED, "Pogresna lozinka.");
            ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT, "{F50247}Vi ste registrovani", "{22D8E6}Dobrodosli, vi ste registrovani. Logirajte se", "Logiraj", "Odustani");
        }
        else
        {
            gPlayerLogged = 1;
            PlayerInfo = dini_Int(file, "AdminLevel");
            SetPlayerScore(playerid, PlayerInfo);
            GivePlayerMoney(playerid, dini_Int(file, "Novci")-GetPlayerMoney(playerid));
            SendClientMessage(playerid,COLOR_RED, "Logirani ste!!");
        }
    }


Tu vam je sve napravljeno vecinom da sprema novce i sve sto ste napravili u enumu!

Sada napravite novi define koji ce spremati vase igraceve podatke! i boje ako zelite da vam ostanu kakve jesu!
#define SERVER_USER_FILE "igraci/%s.ini"

#define COLOR_YELLOW 0xDABB3EAA
#define COLOR_RED 0xAA3333AA


Znaci SERVER_USER_FILE to vam je path spremanja kao neznam kako da se izrazim ali tako je nekako!

Morate napraviti novu mapu u vasem scriptfilesu "igraci",ali pazite da dobro napisete jer vam nece spremati podatke ako ne napisete tocno ime mape!

Pa eto nadam se da ce vam nesto od ovoga pomoci momci! ovo mi je prvi tutorial vise je neki Reg/log sistem!
xyzcod2
5
Underboss
19. Jun 2013.
Grozno.Pojasnio si 4 najlakse funkcije koje mozes zakljuciti zdravim mozgom...
Bugi
5
Crime Lord
19. Jun 2013.
Kolko ja znam moze da se skripta i bez ovih funkcija... 😄
Champa22
5
Underboss
19. Jun 2013.
Fino je napsiao da ce sutra editati
Mister.Scripter
2
Wheel Man
20. Jun 2013.
|LZ| Bugi wrote on June 19, 2013, 9:27 pm:
Kolko ja znam moze da se skripta i bez ovih funkcija... 😄


Ali ako zelis napravit RP server obavezne su ove funkcije

Quote from June 19, 2013, 9:16 pm:
Grozno.Pojasnio si 4 najlakse funkcije koje mozes zakljuciti zdravim mozgom...


Pa dobro nije problem izbriso sam sve od funkcija i napravio Reg/Log sistem!
Master1
4
Made Man
20. Jun 2013.
hahahaha ovo nemozze proci da se covjek ne nasmije ko jos ziv koristi dini? yini se koristi jer je brzi i efikasniji 😄
Mister.Scripter
2
Wheel Man
20. Jun 2013.
Master.amx wrote on June 20, 2013, 9:41 am:
hahahaha ovo nemozze proci da se covjek ne nasmije ko jos ziv koristi dini? yini se koristi jer je brzi i efikasniji 😄


pa dobro ovo je za pocetnike kako nemogu ti objasnit!
Deleted User
Obrisan korisnik
20. Jun 2013.
Taj tvoj tutorial previse mi lici na ovaj ovde: http://forum.sa-mp.com/showthread.php?t=167937
I ima greska moze to mnogo bolje

EDIT:
Po meni ima mnogo slicnosti samo si neke sitne stvari izmenio ili nisi prekopirao
xyzcod2
5
Underboss
20. Jun 2013.
Mr.Gagi wrote on June 20, 2013, 11:24 am:
Taj tvoj tutorial previse mi lici na ovaj ovde: http://forum.sa-mp.com/showthread.php?t=167937
I ima greska moze to mnogo bolje

EDIT:
Po meni ima mnogo slicnosti samo si neke sitne stvari izmenio ili nisi prekopirao

kao sto gakaze,isti je tutorial,koristis iste varijable,iste provjere cak i iste RAZMAKE(mozda neko smatra da sam lud..xd) Prekopirano
taft
5
Underboss
20. Jun 2013.
Žali bože da još uvijek se rade tutoriali sa dini w/r
Sve u svemu, pun grešaka još uz to što je rađen sa dini-em
aleluja
5
Godfather
20. Jun 2013.
Slay_ wrote on June 20, 2013, 11:43 am:
Žali bože da još uvijek se rade tutoriali sa dini w/r
Sve u svemu, pun grešaka još uz to što je rađen sa dini-em


Slažem se, lock.

Morate biti prijavljeni da biste odgovorili na ovu temu.

Prijava

© 2026 SmartShark. All rights reserved.

Powered by Momentum|v2026.3.001 Alpha