[TuT] Register/Login system by Vilko


Započeo Vilko, Decembar 28, 2010, 13:48:33 POSLE PODNE

prethodna tema - sledeća tema

0 članova i 1 gost pregledaju ovu temu.

Evo posto su svi Dialog Register/Login sustavi za GF ili raven, ja sam odlucio napraviti za sve modove.

Pa da zapocmemo :D


Trebate 2 include Dini i Dudb


Ovo stavljate pod definiranje includa, a include stavljate u Pawno/Include folder
Kod: c
#include <dini>
#include <dudb>


Kada idete compile vjerovatno cete dobiti warning, ali nista strasno, popravit cemo to ovako
Kod: c
#pragma unused ret_memcpy



Ako ste to uspili savrsen ste skripter :)


Idemo na iduci korak
Sada treba dodati pamcenje Novaca, levela, admina i ostalog.

Kod: c
enum pInfo
{
    pAdminLevel,
    pCash,
    pScore,
}
new PlayerInfo[MAX_PLAYERS][pInfo];


Tako ce vam se zapamtiti Admin, Novac i Level.


Definirajte ovo
Kod: c
new gPlayerLogged[MAX_PLAYERS];

Pa onda ovo
Kod: c
#define SERVER_USER_FILE "igraci/%s.ini"



E sada idemo na mao tezi korak


Ispod OnPlayerConnect morate staviti za konektiranje (logiranje) na server

Kod: c
    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, "Niste registrirani", "[VilkoSys]Dobrodosli, niste registrirani. Molim registrirajte se za daljnju igru", "Register", "Leave");
    }
    if(fexist(file))
    {
        ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT, "Vi ste registrirani", "[VilkoSys]Dobrodosli, vi ste registrirani. Logirajte se", "Login", "Leave");
    }
	return 1;
}



E sada pod OnPlayerDisconnect stavljamo ovo, sto nam daje kada se odlogujemo da nam zapamti sattistike
Kod: c
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, "Level", PlayerInfo[playerid][pScore]);
        dini_IntSet(file, "Novac", PlayerInfo[playerid][pCash]);
        dini_IntSet(file, "AdminLevel",PlayerInfo[playerid][pAdminLevel]);
    }
    gPlayerLogged[playerid] = 0;





I najlakse sada je Dialog :)



Kod: c
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
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, "Niste registrirani", "Dobrodosli, niste registrirani. Molim registrirajte se za daljnju igru", "Register", "Leave");
        dini_Create(file);
        dini_IntSet(file, "Lozinka", udb_hash(inputtext));
        dini_IntSet(file, "AdminLevel",PlayerInfo[playerid][pAdminLevel] = 0);
        dini_IntSet(file, "Novci",PlayerInfo[playerid][pCash] = 500);
        dini_IntSet(file, "Level",PlayerInfo[playerid][pScore] = 0);
        format(string, 128, "[VilkoSys]: Registrirali ste se %s s sifrom %s, automatski ste logirani.", name, inputtext);
        SendClientMessage(playerid, COLOR_YELLOW, string);
        gPlayerLogged[playerid] = 1;
    }
	if (dialogid == 2)
    {
        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, 2, DIALOG_STYLE_INPUT, "Vi ste registrirani", "Dobrodosli, vi ste registrirani. Logirajte se", "Login", "Leave");
        new tmp;
        tmp = dini_Int(file, "Lozinka");
        if(udb_hash(inputtext) != tmp) {
            SendClientMessage(playerid, COLOR_RED, "[VilkoSys]Pogresna lozinka.");
            ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT, "Vi ste registrirani", "Dobrodosli, vi ste registrirani. Logirajte se", "Login", "Leave");
        }
        else
        {
            gPlayerLogged[playerid] = 1;
            PlayerInfo[playerid][pAdminLevel] = dini_Int(file, "AdminLevel");
            SetPlayerScore(playerid, PlayerInfo[playerid][pScore]);
            GivePlayerMoney(playerid, dini_Int(file, "Novci")-GetPlayerMoney(playerid));
            SendClientMessage(playerid,COLOR_RED, "[VilkoSys]: Logirani ste!!");
        }
    }
	return 1;
}


Tutorijal napravio Vilko. Evo neke slikice:

http://slike.hr/slike/samp001_67407.png.html
http://slike.hr/slike/samp002_98169.png.html
http://slike.hr/slike/samp003_7a7f2.png.html
http://slike.hr/slike/samp004_eaeb0.png.html
http://slike.hr/slike/samp005_145e1.png.html

Poslednja Izmena: Februar 25, 2011, 20:04:53 POSLE PODNE od eXtreme

Mikic95

Svaka čast, ovo je dobro zato Å¡to radi za SVE modove  ;D

Citat: >> |Hawks| << poslato Decembar 28, 2010, 13:55:44 POSLE PODNE
Svaka čast, ovo je dobro zato Å¡to radi za SVE modove  ;D
Radio sam ovo od 22.12 :D I pito sam danas Correllija oce napravit tut, i onda sam skuzio u cemu je greska u ovom mom. Sve sam mogo napravit, ali mi se nije spremalo. Nisam napravio definiciju gdje da se spremaju datoteke :D


Citat: black_dota poslato Decembar 28, 2010, 14:06:16 POSLE PODNE
izvini ali sta je ovo?

http://forum.sa-mp.com/showthread.php?t=167937
Neam ja acc na samp forumu. Ja imam FS sto sam koristio na SGRP i po tome sam radio ovaj tut :) Izmjenito je par stvari, i nepise ime autora

black_dota

Citat: Vilko | ♦ ♣ ♥ ♠ » poslato Decembar 28, 2010, 14:08:24 POSLE PODNE
Citat: black_dota poslato Decembar 28, 2010, 14:06:16 POSLE PODNE
izvini ali sta je ovo?

http://forum.sa-mp.com/showthread.php?t=167937
Neam ja acc na samp forumu. Ja imam FS sto sam koristio na SGRP i po tome sam radio ovaj tut :) Izmjenito je par stvari, i nepise ime autora
jao koga ti lazes kao nemas na samp forumu acc

a isti tut samo prevedeno na Hrvatski jezik

lol :D Copy/paste
Cyb3r
           Roleplay
                        In progress by: tWix

Forum: Klik
IP: 62.75.247.14:9545

Vilko jos ti je ostalo "Leave"...
MAP:

[MAP]Mall Caffe Bar
[MAP]Predsjednikova kuća
[MAP]Zatvor






Respect: Correlli, Momak, Zic, Nik, Blood, Neno, joxy, Hawks, Soprano ...

Citat: [CH/CS]John_Tequila poslato Decembar 28, 2010, 19:56:28 POSLE PODNE
Vilko jos ti je ostalo "Leave"...

Citat: Vilko | ♦ ♣ ♥ ♠ » poslato Decembar 28, 2010, 14:08:24 POSLE PODNE
Neam ja acc na samp forumu. Ja imam FS sto sam koristio na SGRP i po tome sam radio ovaj tut :) Izmjenito je par stvari, i nepise ime autora

Procitaj to i sve ce ti biti jasno. Preveo sam i promjenio par stavri i prilagodio 0.3c, tj 0.3b :)

black_dota

Citat: Vilko | ♦ ♣ ♥ ♠ » poslato Decembar 28, 2010, 20:15:54 POSLE PODNE
Citat: [CH/CS]John_Tequila poslato Decembar 28, 2010, 19:56:28 POSLE PODNE
Vilko jos ti je ostalo "Leave"...

Citat: Vilko | ♦ ♣ ♥ ♠ » poslato Decembar 28, 2010, 14:08:24 POSLE PODNE
Neam ja acc na samp forumu. Ja imam FS sto sam koristio na SGRP i po tome sam radio ovaj tut :) Izmjenito je par stvari, i nepise ime autora

Procitaj to i sve ce ti biti jasno. Preveo sam i promjenio par stavri i prilagodio 0.3c, tj 0.3b :)
ali opet mu nisi stavio credits a i ta fs je mozda sa samp foruma/balkan sampa skinuta/radjena po tutu i sad kao si ti pravio

Citat: [IG]black_dota poslato Decembar 28, 2010, 20:17:29 POSLE PODNE
Citat: Vilko | ♦ ♣ ♥ ♠ » poslato Decembar 28, 2010, 20:15:54 POSLE PODNE
Citat: [CH/CS]John_Tequila poslato Decembar 28, 2010, 19:56:28 POSLE PODNE
Vilko jos ti je ostalo "Leave"...

Citat: Vilko | ♦ ♣ ♥ ♠ » poslato Decembar 28, 2010, 14:08:24 POSLE PODNE
Neam ja acc na samp forumu. Ja imam FS sto sam koristio na SGRP i po tome sam radio ovaj tut :) Izmjenito je par stvari, i nepise ime autora

Procitaj to i sve ce ti biti jasno. Preveo sam i promjenio par stavri i prilagodio 0.3c, tj 0.3b :)
ali opet mu nisi stavio credits a i ta fs je mozda sa samp foruma/balkan sampa skinuta/radjena po tutu i sad kao si ti pravio
Ali opet ja neznam jel on pravio! Davno je to izaslo i skino sam bas s ovog foruma, bilo je sve na engleskom. Te teme vise nema, a i nema credista u FSu!

A sta se sad bunite covijek zeli pomoc onima kojima ovo treba a vi ga sad guzite zbog toga jer je nesto prekopirao i preveo vam!
Mysterious roleplay

Koga ti lazes OMG.... Sve si u zarez kopirao i samo preveo LOL....
samo je promjenjeno ime foldera u koji se spremaju igraci, a sve ostalo je u detalj KOPIRANO ;)

Citat: Originally Posted by WackoX
Originally Posted by WackoX
If i steal a television at a store, am i still legal if i put a sign on it saying "COPYRIGHT © ELECTRONIC STORE"?

Car :D...

black_dota

e ali zezno si se nisi rekao ovo sto cu ja sad:


da bi se spremali accounti morate prvo napraviti folder:"igraci" u scriptfiles

C:\Documents and Settings\User\Desktop\Login_sistem.pwn(17) : fatal error 100: cannot read from file: "dini"

Compilation aborted.Pawn compiler 3.2.3664           Copyright (c) 1997-2006, ITB CompuPhase


1 Error.

Sta sada ...
Trenutno radim novi DeathMatch server... Trazim ljude koji mogu pomoc na bio koji nacin.. Za vise info PM ;)