[Tutorial] [BUD]Cum sa creezi un Register/Login System si nu numai
World of MetinsXS :: Jocuri Online :: SA:MP :: Tutoriale
Pagina 1 din 1
[Tutorial] [BUD]Cum sa creezi un Register/Login System si nu numai
BUD Register/Login System
Salutare SA:MP Romania!Astazi am sa va arat cum sa creati un Register/Login folosind BUD(Blaising User Database) creat de catre Slice care se bazeaza pe SQL.
BUD il puteti gasi aici
Acest tutorial v-a fi compus din mai multe parti:
l.Introducerea si invatare BUD:
2.Login dialog si verificarea parolelor
3.O simpla comanda de admin
Sa incepem:
l:
1.Ne ducem la OnGameModeInit si punem urmatorul cod explicat:
Salutare SA:MP Romania!Astazi am sa va arat cum sa creati un Register/Login folosind BUD(Blaising User Database) creat de catre Slice care se bazeaza pe SQL.
BUD il puteti gasi aici
Acest tutorial v-a fi compus din mai multe parti:
l.Introducerea si invatare BUD:
2.Login dialog si verificarea parolelor
3.O simpla comanda de admin
Sa incepem:
l:
1.Ne ducem la OnGameModeInit si punem urmatorul cod explicat:
- Cod:
public OnGameModeInit()
{
BUD::Setting(opt.Database,"Database.db"); //Acesta este numele database,care v-a fi creata in scriptfiles
BUD::Setting(opt.Asynchronous,false); //Aceasta setare tine de performanta,dar,daca ai vre-o pana de curent,sunt sanse mai mari sa se piarda date daca este setata pe true
BUD::Setting(opt.KeepAliveTime,1000); //Timpul dupa care se inchide data de baze de la ultima utilizare
BUD::Setting(opt.CheckForUpdates,true); //Verifica daca sunt update-uri(pe site-ul lui Slice)
BUD::Initialize(); //Porneste BUD pentru a face actiunile de mai jos
//Acestea sunt numele unor coloane care v-or fi create in tabelul `Tabel` in baza de date care poarta numele de mai sus...
BUD::VerifyColumn("Admin",BUD::TYPE_NUMBER);//Verifica daca coloana "Admin" exista,daca nu,o v-a crea
BUD::VerifyColumn("VIP",BUD::TYPE_NUMBER);//La fel si aici
BUD::VerifyColumn("Cash",BUD::TYPE_NUMBER);//Si aici la fel
BUD::VerifyColumn("Score",BUD::TYPE_NUMBER);//Si aici
BUD::VerifyColumn("Muted",BUD::TYPE_NUMBER);//Si aici
BUD::VerifyColumn("Warns",BUD::TYPE_NUMBER);//Si aici
return 1;
}
- Cod:
enum bInfo //Cream enumul
{
Admin,//Stocam Admin Levelul
VIP,//Stocam VIP levelul
Cash,//Stocam cash-ul
Score,//Stocam score-ul
Warns,//Stocam warnurile
Muted//Stocam daca a primit mute
}
new PInfo[MAX_PLAYERS][bInfo];
- Cod:
new _Admin,_VIP,_Cash,_Score,_Warns,_Muted; //Cream variabilele necesare citirii datelor din DB.
- Cod:
if(!BUD::IsNameRegistred(GetName(playerid))
{
ShowRegisterDialog(playerid);
}
else
{
ShowLoginDialog(playerid);
}
- Cod:
#define REGISTER 0
#define LOGIN 1
stock GetName(playerid)
{
new pName[MAX_PLAYER_NAME];//Variabila sa scoatem numele
GetPlayerName(playerid,pName,sizeof(pName));//Extragem numele
return pName;//returnam numele jucatorului,care a fost extras
}
stock ShowRegisterDialog(playerid)
{
ShowPlayerDialog(playerid,REGISTER,DIALOG_STYLE_PASSWORD,"Register","Bine ai venit!\nTe rugam sa te inregistrezi","Ok","Kick");
return 1;
}
stock ShowLoginDialog(playerid)
{
ShowPlayerDialog(playerid,LOGIN,DIALOG_STYLE_PASSWORD,"Login","Bine ai revenit!\nTe rugam sa te loghezi","Ok","Kick");
return 1;
}
- Cod:
public OnDialogResponse(playerid,dialogid,response,inputtext[ ],listitem)
{
new uid = BUD::GetNameUID(GetName(playerid));
switch(dialogid)
{
case REGISTER:
{
if(!response) return Kick(playerid); //Daca apasa pe Kick,ii v-a da Kick
if(strlen(inputtext) < 3 || strlen(inputtext) > 20) return ShowRegisterDialog(playerid); //Daca parola este mai mica de 3 caractere sau mai mare de 20 de caractere,ii v-a arata din nou dialogul de register!
if(BUD::RegisterName(GetName(playerid),inputtext)) //Inregistreaza numele in baza de date
{
BUD::MultiSet( iUID, "iiiiii", //Ca la sscanf,arata din ce este format MultiSet-ul
"Cash",PInfo[playerid][Cash],
"Score",PInfo[playerid][Score],
"Admin",PInfo[playerid][Admin],
"VIP",PInfo[playerid][VIP],
"Muted",PInfo[playerid][Muted],
"Warns",PInfo[playerid][Warns]
);
SendClientMessage(playerid,-1,"Te-ai inregistrat cu succes!Acum te vei loga!");
ShowLoginDialog(playerid);
}
}
}
Bogdan- Membru
- Posts : 50
Reputation : 0
Join date : 22/09/2013
Subiecte similare
» [TUTORIAL]Cum sa creezi un HQ
» [GHID] Cum creezi CH2 la server
» Cum faci un website (register ) pentru server [ +template ]
» rezolvare Login bug
» rezolvare Login Bug
» [GHID] Cum creezi CH2 la server
» Cum faci un website (register ) pentru server [ +template ]
» rezolvare Login bug
» rezolvare Login Bug
World of MetinsXS :: Jocuri Online :: SA:MP :: Tutoriale
Pagina 1 din 1
Permisiunile acestui forum:
Nu puteti raspunde la subiectele acestui forum