Prisijungti
Pagrindinis
Kontaktai
Saturday, 2024-05-18, 2:43 PM
Welcome Guest
[ New messages · Members · Forum rules · Search · RSS ]
  • Page 1 of 1
  • 1
Forum » KŪRĖJUI » Pamokos » [0.3] GUI registracija
[0.3] GUI registracija
DusleraDate: Monday, 2010-04-05, 11:34 PM | Message # 1
Private
Group: Administrators
Messages: 9
Reputation: 24
Status: Offline
Sveiki, taigi jau visi baigia uzflodinti foruma kaip visiem reik GUI registracijos taigi, nusprendziau sukurti pamoka kaip ja sukurti.

DEMESIO: Viska patariu rasyti patiems tada bus lengviau ismokti nei spaudineti "copy".

Jai registracija kuriate GRP mode tai vietoj Logged naudokit :
playerDB[playerid][authstate]=2; - prisijunges
playerDB[playerid][authstate]=1; sita rasysit registracijos scripte kur automatiskai prijungia
playerDB[playerid][authstate]=0; o sita po onplayerconnect

Pradedam:

1.Uzincludinam include's:

Kodas: Pasirinkti visus

#include <dini>
#include <dudb>
#include <dutils>

Siuos includes galite rasti siame tinklapyje.

2.Susikuriam kintamaji kuris tikrins ar zaidejas prisijunges:

Kodas: Pasirinkti visus

new bool:Logged[MAX_PLAYERS]; // Dekit po #include

3.Susirandam OnPlayerConnect(playerid) calback'a ir parasom koda kuris tikrins ar zaidejas yra uzsiregistraves:

Kodas: Pasirinkti visus

Logged[playerid] = false; //Kai zaidejas ateina i servei padaro kad jis nebutu prisijunges

Kodas: Pasirinkti visus

new file[128], vardas[128]; // Susikuriam string kintamuosius.
GetPlayerName(playerid, vardas, 128); // Gaunam zaidejo varda.
format(file,128,"Users/%s.ini",vardas); // Sukuriam string'a, "Users/%s.ini" sia eilute pakeiskite i savo direktorija kur saugomi zaideju failai.
if(!dini_Exists(file)) // Jai zaidejo failas neegzistuoja jam ismes registracijos GUI lentele.
{
ShowPlayerDialog(playerid,9876,DIALOG_STYLE_INPUT,"Registracija","Jai norite zaisti serveryje turite uzsiregistruoti.\nIveskite slaptazodi kuri naudosite prisijungimui:","Registruotis","Iseiti");
}
else if(dini_Exists(file)) // Jai zaidejo failas egzistuoja tada jam ismes Prisijungimo GUI lentele.
{
ShowPlayerDialog(playerid,9877,DIALOG_STYLE_INPUT,"Prisijungimas","Jai norite zaisti serveryje turite prisijungti\nIveskite savo slaptazodi:","Prisijungti","Iseiti");
}

4.Dabar susirandam OnPlayerDialogResponse(...) calback'a ir sukuriam registracijos scripta:

Kodas: Pasirinkti visus

if(dialogid == 9876) // jai dialog id lygus 9876.
{
if(response) // Mygtukas "Registruotis"
{
new file[128], vardas[128]; // Susikuriam string kintamuosius.
GetPlayerName(playerid,vardas,128);
format(file,128,"Users/%s,ini",vardas); // zaideju failu direktorija pakeiciam is savo.
dini_Create(file); // Sukuriam faila.
dini_IntSet(file,"Slaptazodis",udb_hash(inputtext)); // Uzkoduojame zaidejo slaptazodi.
// Kai zaidejas uzsiregistruos i faila bus irasytas tik slaptazodzio eilute, bet galit prisirasyti ir savo.
Logged[playerid] = true; // Zaidejas prisijunges.
SendClientMessage(playerid,0xFFFFFFFF,"Registracija sekminga, prie serverio jus prijungtas automatiskai");
}
else if(!response) // Jai zaidejas paspaude mygtuka Iseiti
{
Kick(playerid); // Ismetam zaideja is serverio
}
return 1;
}

5.Na ir liko sukurti prisijungimo scripta.

Kodas: Pasirinkti visus

if(dialogid == 9877) // jai dialog id lygus 9877.
{
if(response) // jai paspaude prisijungti.
{
new file[128], vardas[128], pass[256]; // Kintamieji
GetPlayerName(playerid, vardas, 128); // gaunam zaidejo vardas smile
format(file,128,"Users/%s.ini",vardas); // Direktorija irasom savo
pass = dini_Get(file,"Slaptazodis"); // Gaunam zaidejo tikra slaptazodi.
if(udb_hash(inputtext) != strval(pass)) // Jai zaidejo irasytas slaptazodis neatitinka tikram slaptazodziui.
{
ShowPlayerDialog(playerid,9877,DIALOG_STYLE_INPUT,"Prisijungimas","Slptazodis neteisingas.\nIveskite savo slaptazodi:","Prisijungti","Iseiti");
}
else // Jai slaptazodis yra teisingas.
{
// Cia galim surasyti info kuria isims is zaideju failu.
Logged[playerid] = true; // Zaidejas prisijunges
SendClientMessage(playerid,0xFFFFFFFF,"Jus sekmingai prisijungete, geros dienos");
}
}
else if(!response) // Jai paspaude iseiti
{
Kick(playerid); // Ismes is serverio.
}
return 1;
}

Na viskas registracija su GUI baigta. Pamoka nekopijuota ir is niekur neversta ja sukuriau pats.

Jai kas nesigauna, galit parsisiusti FS kaip pavizdi

 
Forum » KŪRĖJUI » Pamokos » [0.3] GUI registracija
  • Page 1 of 1
  • 1
Search:

Reklama
Paieska
Reklama