[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 2 gostiju 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

#include <dini>
#include <dudb>


Kada idete compile vjerovatno cete dobiti warning, ali nista strasno, popravit cemo to ovako

#pragma unused ret_memcpy



Ako ste to uspili savrsen ste skripter :)


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


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


Tako ce vam se zapamtiti Admin, Novac i Level.


Definirajte ovo new gPlayerLogged[MAX_PLAYERS];
Pa onda ovo #define SERVER_USER_FILE "igraci/%s.ini"


E sada idemo na mao tezi korak


Ispod OnPlayerConnect morate staviti za konektiranje (logiranje) na server


    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

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 :)




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 ;)