Hellotok van ez a codem , és felmegyek regisztrálok , lementi , ujra felmegyek és ujra kell regisztrálni !
Mitõl lehet?
#include <a_samp>
#include <dini>
#include <zcmd>
#include <sscanf2>
main ( ) { }
new AdminSzolgalat[MAX_PLAYERS];
new ID,string1[128];
new SzerverLock = 0;
#define RED 0xff0000AA
#define ERROR 0x00ccffAA
#define GREEN 0x43e85fAA
#define WHITE 0xffffffAA
#define DIALOG_REGISTER 1
#define DIALOG_LOGIN 2
enum adat
{
pMoney,
pAdmin,
pSkin,
Float:X,
Float:Y,
Float:Z,
pLeader,
pMember,
pRank
}
new PlayerInfo[MAX_PLAYERS][adat];
public OnGameModeInit( )
{
SzerverLock = 0;
return 1;
}
public OnGameModeExit( )
{
return 1;
}
public OnPlayerConnect(playerid)
{
SetSpawnInfo(playerid,0,PlayerInfo[playerid][pSkin],PlayerInfo[playerid][X],PlayerInfo[playerid][Y],PlayerInfo[playerid][Z],0,0,0,0,0,0,0);
SpawnPlayer(playerid);
if(strfind(Neve(playerid), \"_\", true) == -1)
{
SendClientMessage(playerid,GREEN,\"Nem megfelelõ Név!\");
format(string1,sizeof(string1),\"[KICK]%s Kickellve lett a rendszer általl,Indok:Helytelen név!\");
SendClientMessageToAll(RED,string1);
Kick(playerid);
}
new Fajl[256];
if(SzerverLock == 1)
{
SendClientMessage(playerid,RED,\"Szervert Feltörték,Ezért kickellve lettél!\");
Kick(playerid);
}
format(Fajl,sizeof(Fajl),\"/Karakterek/%s.ini \",Neve(playerid));
if(fexist(Fajl))
{
ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,\"Panel\",\"Felhasználó már létezik!\\nJelentkezz be!\",\"Mehet\",\"Mégse\");
}
else
{
ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,\"Panel\",\"Felhasználó nem létezik\\nRegisztrálj!\",\"Mehet\",\"Mégse\");
}
return 1;
}
public OnPlayerDisconnect(playerid,reason)
{
new string[128],Fajl[128];
new Float:x,Float:y,Float:z;
GetPlayerPos(playerid,x,y,z);
PlayerInfo[playerid][X] = x;
switch(reason)
{
case 0:
{
format(string,sizeof(string),\"(( %s Crashelt a közeledben! ))\",Neve(playerid));
ProxDetector(playerid,RED,string,20.0);
}
case 1:
{
format(string,sizeof(string),\"(( %s Kilépett a közeledben! ))\",Neve(playerid));
ProxDetector(playerid,RED,string,20.0);
}
case 2:
{
format(string,sizeof(string),\"(( %s Elhagyta a szervert(kick) ))\",Neve(playerid));
ProxDetector(playerid,RED,string,20.0);
}
}
print(string);
format(Fajl, sizeof(Fajl), \"/Karakterek/%s.ini\", Neve(playerid));
dini_IntSet(Fajl, \"Admin\",PlayerInfo[playerid][pAdmin]);
dini_IntSet(Fajl, \"Skin\",PlayerInfo[playerid][pSkin]);
dini_IntSet(Fajl, \"Penz\",PlayerInfo[playerid][pMoney]);
dini_IntSet(Fajl, \"Leader\",PlayerInfo[playerid][pLeader]);
dini_IntSet(Fajl, \"Member\",PlayerInfo[playerid][pMember]);
dini_IntSet(Fajl, \"Rank\",PlayerInfo[playerid][pRank]);
dini_FloatSet(Fajl, \"X\",Float:PlayerInfo[playerid][X]);
dini_FloatSet(Fajl, \"Y\",Float:PlayerInfo[playerid][Y]);
dini_FloatSet(Fajl, \"Z\",Float:PlayerInfo[playerid][Z]);
return 1;
}
public OnPlayerSpawn(playerid)
{
// SetPlayerPos(playerid,PlayerInfo[playerid][X],PlayerInfo[playerid][Y],PlayerInfo[playerid][Z]);
// SetPlayerSkin(playerid,PlayerInfo[playerid][pSkin]);
return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
new Fajl[128],string[128];
format(Fajl,sizeof(Fajl),\"/Karakterek/%s.ini\",Neve(playerid));
if(dialogid == DIALOG_REGISTER)
{
if( !response ) { Kick(playerid ) ; }
else
{
dini_Create(Fajl);
dini_Set(Fajl, \"Jelszo\", inputtext);
dini_IntSet(Fajl, \"Admin\", 0);
dini_IntSet(Fajl, \"Skin\",26);
dini_IntSet(Fajl, \"Penz\",25000);
dini_IntSet(Fajl, \"Leader\",0);
dini_IntSet(Fajl, \"Member\",0);
SendClientMessage(playerid,GREEN,\"Karaktered Sikeresen Létrehozva!\");
ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,\"Panel\",\"Felhasználó már létezik!\\nJelentkezz be!\",\"Mehet\",\"Mégse\");
}
}
if(dialogid == DIALOG_LOGIN)
{
if(!response) { Kick(playerid); }
else
{
new jelszo[200];
format(jelszo, sizeof(jelszo), \"%s\", dini_Get(Fajl, \"Jelszo\"));
if(strcmp(inputtext, jelszo) == 0)
{
PlayerInfo[playerid][pAdmin] = dini_Int(Fajl, \"Admin\");
PlayerInfo[playerid][pSkin] = dini_Int(Fajl,\"Skin\");
PlayerInfo[playerid][pMoney] = dini_Int(Fajl, \"Penz\");
PlayerInfo[playerid][pLeader] = dini_Int(Fajl, \"Leader\");
PlayerInfo[playerid][pMember] = dini_Int(Fajl, \"Member\");
PlayerInfo[playerid][X] = dini_Int(Fajl, \"X\");
PlayerInfo[playerid][Y] = dini_Int(Fajl, \"Y\");
PlayerInfo[playerid][Z] = dini_Int(Fajl, \"Z\");
//SetPlayerSkin(playerid,PlayerInfo[playerid][pSkin]);
SetPlayerColor(playerid,WHITE);
AdminSzolgalat[playerid] = 0;
SpawnPlayer(playerid);
SendClientMessage(playerid,ERROR,\"Sikeresen Bejelentkeztél!\");
}
else
{
format(string,sizeof(string),\"[KICK]%s Kickellve lett a rendszer általl,Indok:Helytelen Jelszó!\",Neve(playerid));
SendClientMessageToAll(RED,string);
Kick(playerid);
}
}
}
return 1;
}
public OnPlayerUpdate(playerid)
{
if(AdminSzolgalat[playerid] == 1)
{
format(string1,sizeof(string1),\"%s\\nAdminSzolgálatban!\",Neve(playerid));
SetPlayerChatBubble(playerid, string1, RED, 20.0, 2000);
}
return 1;
}
stock Neve(playerid)
{
new Nev[24];
GetPlayerName(playerid,Nev,sizeof(Nev));
return Nev;
}