Dialogos Regisztráció Rendszer
Helló! Elkészitettem az elsõ Dialogos Regisztráció Rendszeremet, másnéven DRR.
Ez szerintem nem különbözik a többi regisztrációs rendszertöl de azért remélem a kezdõknek jólessz!
Háth ebben az a lényeg hogy ezt a Módba kell berakni, de nem akárhova!
Egyéb dolgok:
Készitõ: CoolEdy(Zalakaka45)
Elkészitési Idõ: 10-15 perc.
Tesztelve: Volt! Nekem mûködik!
Segitség, ha valaki nem tuddná hogy kell:
Elõször is hozzatok létre a szerver mappájában lévõ Scriptfiles mappában egy \"Karakterek\" nevü mappát!
Nyissátok meg Pawno val a Módot, keressétek meg hogy benne van e a módban hogy #include <Dini>.
Ha nincs benne akkor írjátok bele, fel a többi ilyen Include hoz.
Ha megvan, akkor töltsétek le a
Dini.inc -et, majd rakjátok bele a szerver mappájában lévõ Pawno->include mappába!
Nyissátok meg újra a Módot a pawnoval és írjátok a main () fölé ezeket:
new Fajl[128];
new Jelszo[64];
new RosszJelszo[MAX_PLAYERS];
Ha megvan, defináljátok a Dialógokat, 1 sort kihagytok a new-k fölött és írjátok:
#define DialogRegisztracio 1
#define DialogBelepes 2
Ha ezzel megvagytok, keressétek meg a public OnPlayerConnect(playerid) függvényt, majd billeszétek alá ezt:
format(Fajl, sizeof(Fajl), \"Karakterek/%s.ini\", Nev(playerid));
if(!fexist(Fajl))
{
ShowPlayerDialog(playerid, 1, DIALOG_STYLE_PASSWORD, \"Regisztráció\", \"Te még nem regisztráltál!\\nKérlek írj be egy jelszót!\", \"Oké\", \"Mégse\");
}
else
{
new Neve[128], jNeve[MAX_PLAYER_NAME];
GetPlayerName(playerid, jNeve,MAX_PLAYER_NAME);
ShowPlayerDialog(playerid, 2, DIALOG_STYLE_Password, \"Belépés\", \"Üdvözöllek %d a szerveren!\\nKérlek írd be a jelszavad!\", \"Rendben\", \"Mégse\");
}
Ha ezzel megvagytok, akkor keressétek meg a public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) függvényt, és illeszétek alá ezt:
if(dialogid == 1)
{
if(!response) Kick(playerid);
if(strlen(inputtext) == 0)
{
ShowPlayerDialog(playerid, 1, DIALOG_STYLE_PASSWORD, \"Regisztráció\", \"Te még nem regisztráltál!\\nKérlek írj be egy jelszót!\", \"Rendben\", \"Mégsem\");
return 0;
}
format(Fajl, sizeof(Fajl), \"User/%s.ini\", Nev(playerid));
if(!fexist(Fajl))
{
dini_Create(Fajl);
dini_Set(Fajl, \"Jelszo\", inputtext);
ShowPlayerDialog(playerid, 2, DIALOG_STYLE_PASSWORD, \"Belépés\", \"Üdvözöllek a szerveren!\\nKérlek írd be a jelszavad!\", \"Rendben\", \"Mégsem\");
}
}
if(dialogid == 2)
{
format(Fajl, sizeof(Fajl), \"User/%s.ini\", Nev(playerid));
if(!response)
{
Kick(playerid);
}
format(Jelszo, 64, \"%s\", dini_Get(Fajl, \"Jelszo\"));
if(!strcmp(inputtext, Jelszo, false))
{
SendClientMessage(playerid, -1, \"Sikeres belépés! Kérlek válaszd ki a skined!\");
}
else
{
RosszJelszo[playerid] ++;
SendClientMessage(playerid, -1, \"Helytelen jelszót írtál be!\");
if(RosszJelszo[playerid] == 3)
{
Kick(playerid);
}
ShowPlayerDialog(playerid, 2, DIALOG_STYLE_PASSWORD, \"Belépés\", \"Üdvözöllek a szerveren!\\nKérlek írd be a jelszavad!\", \"Oké\", \"Mégse\");
}
}
Ha megvan, a mód legalljára ezt:
stock Nev(playerid)
{
new Nev[MAX_PLAYER_NAME];
GetPlayerName(playerid, Nev, sizeof(Nev));
return Nev;
}
Rendben. Készen is vagyunk! Remélem érthetõen elmagyaráztam, és sikerül megoldani! Ha bármi problémátok akad valamivel kapcsolatban, akkor szoljatok!