Sziasztok. A fórumon találtam egy számomra pöpec kis regisztrációs rendszert azonban semmit nem ment le csak a jelszót. Egyenlőre itt csak az életkorra és a nemre gondolok. Ha valaki tudna segíteni azt megköszönném!
#include <a_samp>
#include <dini>
#include <zcmd>
#include <sscanf2>
#include <streamer>
#pragma unused ret_memcpy
new szoveg1[128];
new Fajl[256];
enum pAdat
{
pPenz,
pAdmin,
pNem,
pKor,
pSkin,
pLeader,
pTag,
pRang,
pReg,
Float:X,
Float:Y,
Float:Z,
Float:Angle
}
new JatekosInfo[MAX_PLAYERS][pAdat];
#define DIALOG_REGISTER 1
#define DIALOG_LOGIN 2
#define DIALOG_AGE 3
#define DIALOG_SEX 4
#define COLOR_LIGHTBLUE 0x00ccffAA
#define ZOLD 0x43e85fAA
#define FEHER 0xffffffAA
public OnPlayerConnect(playerid)
{
SetSpawnInfo(playerid,0,26,2269.4287,-75.1134,26.7724,178.8719,0,0,0,0,0,0);
SpawnPlayer(playerid);
format(Fajl,sizeof(Fajl),\"/Jatekosok/%s.ini\",Neve(playerid));
format(szoveg1,sizeof(szoveg1),\"Üdvözöllek!\");
if(fexist(Fajl))
{
ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,szoveg1,\"Írd be a jelszavad:\",\"Belépek\",\"Kilépek\");
}
else
{
ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,szoveg1,\"Adj meg egy jelszót:\",\"Regisztrálok\",\"Kilépek\");
}
return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
new Float:x,Float:y,Float:z;
GetPlayerPos(playerid,x,y,z);
JatekosInfo[playerid][X] = x;
JatekosInfo[playerid][Y] = y;
JatekosInfo[playerid][Z] = z;
JatekosInfo[playerid][pSkin] = GetPlayerSkin(playerid);
GetPlayerFacingAngle(playerid,JatekosInfo[playerid][Angle]);
format(Fajl,sizeof(Fajl),\"/Jatekosok/%s.ini\",Neve(playerid));
dini_IntSet(Fajl,\"Penz\",JatekosInfo[playerid][pPenz]);
dini_IntSet(Fajl,\"Admin\",JatekosInfo[playerid][pAdmin]);
dini_IntSet(Fajl,\"Nem\",JatekosInfo[playerid][pNem]);
dini_IntSet(Fajl,\"Kor\",JatekosInfo[playerid][pKor]);
dini_IntSet(Fajl,\"Skin\",JatekosInfo[playerid][pSkin]);
dini_IntSet(Fajl,\"Leader\",JatekosInfo[playerid][pLeader]);
dini_IntSet(Fajl,\"Tag\",JatekosInfo[playerid][pTag]);
dini_IntSet(Fajl,\"Rang\",JatekosInfo[playerid][pRang]);
dini_FloatSet(Fajl,\"Latoszog\",JatekosInfo[playerid][Angle]);
dini_FloatSet(Fajl,\"X\",Float:JatekosInfo[playerid][X]);
dini_FloatSet(Fajl,\"Y\",Float:JatekosInfo[playerid][Y]);
dini_FloatSet(Fajl,\"Z\",Float:JatekosInfo[playerid][Z]);
return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
format(Fajl,sizeof(Fajl),\"/Jatekosok/%s.ini\",Neve(playerid));
if(dialogid == DIALOG_REGISTER)
{
if(response)
{
dini_Create(Fajl);
dini_Set(Fajl,\"Jelszo\",inputtext);
dini_IntSet(Fajl,\"Penz\",25000);
dini_IntSet(Fajl,\"Admin\",0);
dini_IntSet(Fajl,\"Nem\",0);
dini_IntSet(Fajl,\"Kor\",0);
dini_IntSet(Fajl,\"Skin\",0);
dini_IntSet(Fajl,\"Leader\",0);
dini_IntSet(Fajl,\"Tag\",0);
dini_IntSet(Fajl,\"Rang\",0);
SpawnPlayer(playerid);
ShowPlayerDialog(playerid,DIALOG_SEX,DIALOG_STYLE_LIST,\"Karakter neme:\",\"Férfi\\nNő\",\"Folytatom\",\"Kilépek\");
}
else
{
dini_Remove(Fajl);
Kick(playerid);
}
}
if(dialogid == DIALOG_SEX)
{
if(response)
{
if(listitem == 0)
{
dini_IntSet(Fajl,\"Nem\",1);
SendClientMessage(playerid,-1,\"(( A karaktered neme beállítva a következőre: Férfi ))\");
SetPlayerSkin(playerid,60);
ShowPlayerDialog(playerid,DIALOG_AGE,DIALOG_STYLE_INPUT,\"Karakter életkora:\",\"Az életkor értéke 18-60-ig terjedhet.\",\"Folytatom\",\"Kilépek\");
}
if(listitem == 1)
{
dini_IntSet(Fajl,\"Nem\",2);
SendClientMessage(playerid,COLOR_LIGHTBLUE,\"Lány lettél!\");
SetPlayerSkin(playerid,233);
ShowPlayerDialog(playerid,DIALOG_AGE,DIALOG_STYLE_INPUT,\"Karakter életkora:\",\"Az életkor értéke 18-60-ig terjedhet.\",\"Folytatom\",\"Kilépek\");
}
}
else
{
dini_Remove(Fajl);
Kick(playerid);
}
}
if(dialogid == DIALOG_AGE)
{
if(!response)
{
Kick(playerid);
}
else
{
if(strlen(inputtext))
{
new age = strval(inputtext);
if(age > 60 || age < 18)
{
ShowPlayerDialog(playerid,DIALOG_AGE,DIALOG_STYLE_INPUT,\"Karakter életkora:\",\"Hibás értéket adtál meg!\",\"Folytatom\",\"Kilépek\");
}
else
{
dini_IntSet(Fajl,\"Kor\",age);
format(szoveg1,sizeof(szoveg1),\"%d éves lettél!\",age);
SendClientMessage(playerid,ZOLD,szoveg1);
SendClientMessage(playerid,COLOR_LIGHTBLUE,\"Sikeresen regisztráltál!\");
}
}
else
{
return 0;
}
}
}
if(dialogid == DIALOG_LOGIN)
{
if(response)
{
new jelszo[200];
format(jelszo, sizeof(jelszo), \"%s\", dini_Get(Fajl, \"Jelszo\"));
if(strcmp(inputtext, jelszo) == 0)
{
JatekosInfo[playerid][pPenz] = dini_Int(Fajl, \"Penz\");
JatekosInfo[playerid][pAdmin] = dini_Int(Fajl, \"Admin\");
JatekosInfo[playerid][pNem] = dini_Int(Fajl, \"Nem\");
JatekosInfo[playerid][pKor] = dini_Int(Fajl, \"Kor\");
JatekosInfo[playerid][pSkin] = dini_Int(Fajl,\"Skin\");
JatekosInfo[playerid][pLeader] = dini_Int(Fajl, \"Leader\");
JatekosInfo[playerid][pTag] = dini_Int(Fajl, \"Tag\");
JatekosInfo[playerid][pRang] = dini_Int(Fajl, \"Rang\");
JatekosInfo[playerid][Angle] = dini_Int(Fajl, \"Latoszog\");
JatekosInfo[playerid][X] = dini_Int(Fajl, \"X\");
JatekosInfo[playerid][Y] = dini_Int(Fajl, \"Y\");
JatekosInfo[playerid][Z] = dini_Int(Fajl, \"Z\");
SetPlayerSkin(playerid,JatekosInfo[playerid][pSkin]);
SetPlayerColor(playerid,FEHER);
SetSpawnInfo(playerid,0,JatekosInfo[playerid][pSkin],JatekosInfo[playerid][X],JatekosInfo[playerid][Y],JatekosInfo[playerid][Z],JatekosInfo[playerid][Angle],0,0,0,0,0,0);
SpawnPlayer(playerid);
GivePlayerMoney(playerid,JatekosInfo[playerid][pPenz]);
SendClientMessage(playerid,COLOR_LIGHTBLUE,\"Sikeresen Bejelentkeztél!\");
}
else
{
ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,\"Bejelentkezés:\",\"Hibás jelszót adtál meg!\\nPróbáld újra:\",\"Folytatom\",\"Kilépek\");
}
}
else
{
Kick(playerid);
}
}
return 1;
}
stock Neve(playerid)
{
new Nev[MAX_PLAYER_NAME];
GetPlayerName(playerid,Nev,sizeof(Nev));
return Nev;
}