Pretraga

Pritisnite Enter za pretragu ili Escape za zatvaranje

Zaključano

[TuT] Register & Log In system u dialogu

Započeo tRonic.pWn
pre 13 godina
2,138
pregleda
7
postova
Ova tema je zaključana. Samo moderatori i administratori mogu odgovarati.
tRonic.pWn
Hustler
pre 13 godina
Tutorial: Register & Login system
Dali je tutorial preuzet sa drugog foruma ili ste ga vi napravili: napravio

Tutorial

Prvi korak | Definiranje

Definirajte server fajl (Gdje ce vam se spremati) - Ovako
#define SERVER_USER_FILE "igraci/%s.ini"


Pod definiranje includova dodajte:
#include   
#include


U slucaju da dobijete warning samo ispod zalijepite ovo:
#pragma unused ret_memcpy


Idemo na iduci korak | Pamcenje

Gdje stavljate enume dodajte:
enum pInfo  

    pAdminLevel, 
    pCash, 
    pScore, 

new PlayerInfo;


Kada ste to uradili ispod
new PlayerInfo
Dodajte
 new gPlayerLogged;


Treći korak | Dodavanje dialoga

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, "Registracija", "Dobrodosli, vi ne posjedujete account\nMolimo upisite vasu sifru za daljnu proceduru.", "Regisracija", "Izlaz"); 
    } 
    if(fexist(file)) 
    { 
        ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT, "Log In", "Dobrodosli, lijepo vas je ponovo vidjeti.\nVi posjedujete account molimo prijavite se.", "Login", "Izlaz"); 
    } 
  return 1; 
}


Cetvrti korak | Spremanje

Kao sto sam rekao spremanje je u dini... pod
OnPlayerDisconnect
Stavite sledeće:


new file, name;
    GetPlayerName(playerid, name, 24);
format(file,sizeof(file),"igraci/%s.ini",name);
if(dini_Exists(file))
{
dini_Int(file, "AdminLevel",PlayerInfo); 
dini_Int(file, "Novci",PlayerInfo); 
dini_Int(file, "Level",PlayerInfo);
dini_Close(file);


Kada ste uradili , prelazimo na najlakse | OnDialogResponse

Pod
OnDialogResponse
Dodajete:

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])  

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, "Registracija", "Dobrodosli, vi ne posjedujete account\nMolimo upisite vasu sifru za daljnu proceduru.", "Registracija", "Izlaz"); 
        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, "Postovani %s registrovali ste se sa sifrom %s, automatski ste logirani.", name, inputtext); 
        SendClientMessage(playerid, -1, string); 
        gPlayerLogged = 1; 
    } 
  if (dialogid == 2) 
    { 
        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, 2, DIALOG_STYLE_INPUT, "Log In", "Dobrodosli, lijepo vas je ponovo vidjeti.\nVi posjedujete account molimo prijavite se.", "Login", "Leave"); 
        new tmp; 
        tmp = dini_Int(file, "Lozinka"); 
        if(udb_hash(inputtext) != tmp) { 
            SendClientMessage(playerid, COLOR_RED, "Pogresna lozinka."); 
            ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT, "Login", "Pogresna lozinka.UpiÅ¡ite tačnu lozinku da bi nastavili dalje.", "Login", "Izadji"); 
        } 
        else 
        { 
            gPlayerLogged = 1; 
            PlayerInfo = dini_Int(file, "AdminLevel"); 
            SetPlayerScore(playerid, PlayerInfo); 
            GivePlayerMoney(playerid, dini_Int(file, "Novci")-GetPlayerMoney(playerid)); 
            SendClientMessage(playerid,-1, "Logirani ste!!"); 
        } 
    } 
  return 1; 
}


Pozdrav tRonic.pwn
Blaeks_Biofor
Forum Don
pre 13 godina
nemoj da koristis dini, mnogo je spor,  jedan od najsporijih sistem spremanja u datoteke
tRonic.pWn
Hustler
pre 13 godina
napravicu i u y_ini .. i btw zasto nisi moderator  😕
[EX:RP]N1XTON
Underboss
pre 13 godina
koristi y_ini jako je brzi od dinia sve u svemu koristan tut pohvale
Blaeks_Biofor
Forum Don
pre 13 godina
tRonic.pWn wrote on January 11, 2013, 10:56 pm:
napravicu i u y_ini .. i btw zasto nisi moderator  😕
ja sam moderator samo u jednom PDFu xd
tRonic.pWn
Hustler
pre 13 godina
Blaeks wrote on January 11, 2013, 10:56 pm:
napravicu i u y_ini .. i btw zasto nisi moderator  😕
ja sam moderator samo u jednom PDFu xd

Aha aha 😄 napravicu ja i u y_ini 😄 napravicu jos par nekih xd 😄 <3
aleluja
Godfather
pre 13 godina
Lock. Dini je prestar i ne isplati se koristiti.
Btw. uopće ti ni si radio ovaj register login jer svaka fs register login s dini ima oavj system. 😉

Morate biti prijavljeni da biste odgovorili na ovu temu.

Prijava