nem tudom mért de egyszer csak meghibásodott a regisztrációm de nem tudom mitõl ha beregizeg akkor még jó aztán lelépek és ujra már nem tudok belépni mi baja van??meg ha megnézem e mentett fileba a cuccokat akkor 2x tesz be mindent ha átirom az levelt kivétel a jelszót tehát ezt
[data]
Password = 74449219
Cash = 1568552
Level = 5
Pont = 0
Kills = 0
Deaths = 0
Police = 0
Katona = 0
Autoszer = 0
Legiszalit = 0
Postas = 0
Pizzafutár = 0
Uttisztito = 0
Cementes = 0
Fuvarozo = 0
Penzes = 0
Mento = 0
Taxi = 0
Kor = 0
Lakhely = 0
Munka = 0
Nem = 0
[data]
Cash = 0
Level = 0
Pont = 0
Police = 0
Katona = 0
Autoszer = 0
Legiszalit = 0
Postas = 0
Pizzafutár = 0
Uttisztito = 0
Cementes = 0
Fuvarozo = 0
Penzes = 0
Mento = 0
Taxi = 0
Kor = 0
Lakhely = 0
Munka = 0
Nem = 0
itt a regi pown kodja már 2 órája probálom kitalálni és nem tudom...
#include
#include
#include
#include
#define DIALOG_REGISTER 1
#define DIALOG_LOGIN 2
#define DIALOG_SUCCESS_1 3
#define DIALOG_SUCCESS_2 4
#define PATH \"/ROOCKmunka/Users/%s.rock\"
#define COL_WHITE \"{FFFFFF}\"
#define COL_RED \"{F81414}\"
#define COL_GREEN \"{00FF22}\"
#define COL_LIGHTBLUE \"{00CED1}\"
#define RED 0xff0000AA
enum pInfo
{
pPass,
pCash,
Score,
Level,
Ren,
Kat,
Aut,
Leg,
POS,
UTI,
CEM,
FUV,
PEN,
MEN,
PIZ,
TAX,
Nem,
Kor,
Lak,
Mun,
LMun
}
new PlayerInfo[MAX_PLAYERS][pInfo];
forward LoadUser_data(playerid,name[],value[]);
public LoadUser_data(playerid,name[],value[])
{
new INI:File = INI_Open(UserPath(playerid));
INI_Int(\"Password\",PlayerInfo[playerid][pPass]);
INI_Int(\"Cash\",PlayerInfo[playerid][pCash]);
INI_Int(\"Level\",PlayerInfo[playerid][Level]);
INI_Int(\"Pont\",PlayerInfo[playerid][score]);
INI_Int(\"Police\",PlayerInfo[playerid][Ren]);
INI_Int(\"Katona\",PlayerInfo[playerid][Kat]);
INI_Int(\"Autoszer\",PlayerInfo[playerid][Aut]);
INI_Int(\"Legiszalit\",PlayerInfo[playerid][Leg]);
INI_Int(\"Postas\",PlayerInfo[playerid][POS]);
INI_Int(\"Pizzafutár\",PlayerInfo[playerid][PIZ]);
INI_Int(\"Uttisztito\",PlayerInfo[playerid][uTI]);
INI_Int(\"Cementes\",PlayerInfo[playerid][CEM]);
INI_Int(\"Fuvarozo\",PlayerInfo[playerid][FUV]);
INI_Int(\"Penzes\",PlayerInfo[playerid][PEN]);
INI_Int(\"Mento\",PlayerInfo[playerid][MEN]);
INI_Int(\"Taxi\",PlayerInfo[playerid][TAX]);
INI_Int(\"Kor\",PlayerInfo[playerid][Kor]);
INI_Int(\"Nem\",PlayerInfo[playerid][Nem]);
INI_Int(\"Lakhely\",PlayerInfo[playerid][Lak]);
INI_Int(\"Munka\",PlayerInfo[playerid][Mun]);
INI_Close(File);
return 1;
}
public OnPlayerConnect(playerid)
{
if(fexist(UserPath(playerid)))
{
INI_ParseFile(UserPath(playerid), \"LoadUser_%s\", .bExtra = true, .extra = playerid);
ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT,\"Bejelentkezés\",\"Írd be a jelszód a belépéshez\",\"Belép\",\"Bezár\");
}else{
ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT,\"\"COL_WHITE\"Regisztráció...\",\"\"COL_WHITE\"Ird be a jelszavad az új acountért.\",\"Register\",\"Quit\");
}
return 1;
}
CMD:time(playerid, params[]){
if(PlayerInfo[playerid][Level] >= 5){
new ido, nev[MAX_PLAYER_NAME],string[128];
if(sscanf(params, \"dd\", ido)) return SendClientMessage(playerid, -1, \"Használat: /time [óra]\");
GetPlayerName(playerid, nev, sizeof(nev));
SetWorldTime(ido);
format(string, sizeof(string), \"Adminisztrátor %s átálította az idõt %d órára\",nev,ido);
SendClientMessageToAll(-1, string);
return 1;
}else
{
SendClientMessage(playerid, RED, \"Nincs jogod ezt használni!\");
}
return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
new INI:File = INI_Open(UserPath(playerid));
INI_SetTag(File,\"data\");
INI_WriteInt(File,\"Cash\",GetPlayerMoney(playerid));
INI_WriteInt(File,\"Level\",PlayerInfo[playerid][Level]);
INI_WriteInt(File,\"Pont\",PlayerInfo[playerid][score]);
INI_WriteInt(File,\"Police\",PlayerInfo[playerid][Ren]);
INI_WriteInt(File,\"Katona\",PlayerInfo[playerid][Kat]);
INI_WriteInt(File,\"Autoszer\",PlayerInfo[playerid][Aut]);
INI_WriteInt(File,\"Legiszalit\",PlayerInfo[playerid][Leg]);
INI_WriteInt(File,\"Postas\",PlayerInfo[playerid][POS]);
INI_WriteInt(File,\"Pizzafutár\",PlayerInfo[playerid][PIZ]);
INI_WriteInt(File,\"Uttisztito\",PlayerInfo[playerid][uTI]);
INI_WriteInt(File,\"Cementes\",PlayerInfo[playerid][CEM]);
INI_WriteInt(File,\"Fuvarozo\",PlayerInfo[playerid][FUV]);
INI_WriteInt(File,\"Penzes\",PlayerInfo[playerid][PEN]);
INI_WriteInt(File,\"Mento\",PlayerInfo[playerid][MEN]);
INI_WriteInt(File,\"Taxi\",PlayerInfo[playerid][TAX]);
INI_WriteInt(File, \"Kor\",PlayerInfo[playerid][Kor]);
INI_WriteInt(File, \"Lakhely\",PlayerInfo[playerid][Lak]);
INI_WriteInt(File, \"Munka\",PlayerInfo[playerid][Mun]);
INI_WriteInt(File, \"Nem\",PlayerInfo[playerid][Nem]);
INI_Close(File);
return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
switch( dialogid )
{
case DIALOG_REGISTER:
{
if (!response) return Kick(playerid);
if(response)
{
if(!strlen(inputtext)) return ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT, \"\"COL_WHITE\"Regisztráció...\",\"\"COL_RED\"Rossz jelszót adtál meg.\\n\"COL_WHITE\"Ird be a jelszavad az új acountért.\",\"Register\",\"Quit\");
new INI:File = INI_Open(UserPath(playerid));
INI_SetTag(File,\"data\");
INI_WriteInt(File,\"Password\",udb_hash(inputtext));
INI_WriteInt(File,\"Cash\",0);
INI_WriteInt(File,\"Level\",0);
INI_WriteInt(File,\"Pont\",0);
INI_WriteInt(File,\"Kills\",0);
INI_WriteInt(File,\"Deaths\",0);
INI_WriteInt(File,\"Police\",0);
INI_WriteInt(File,\"Katona\",0);
INI_WriteInt(File,\"Autoszer\",0);
INI_WriteInt(File,\"Legiszalit\",0);
INI_WriteInt(File,\"Postas\",0);
INI_WriteInt(File,\"Pizzafutár\",0);
INI_WriteInt(File,\"Uttisztito\",0);
INI_WriteInt(File,\"Cementes\",0);
INI_WriteInt(File,\"Fuvarozo\",0);
INI_WriteInt(File,\"Penzes\",0);
INI_WriteInt(File,\"Mento\",0);
INI_WriteInt(File,\"Taxi\",0);
INI_WriteInt(File, \"Kor\",0);
INI_WriteInt(File, \"Lakhely\",0);
INI_WriteInt(File, \"Munka\",0);
INI_WriteInt(File, \"Nem\",0);
INI_Close(File);
ShowPlayerDialog(playerid, DIALOG_SUCCESS_1, DIALOG_STYLE_MSGBOX,\"\"COL_WHITE\"Zsir!\",\"\"COL_GREEN\"Késza cucmód jáccá.(Isten is jó cucmó!)\",\"Ok\",\"\");
}
}
case DIALOG_LOGIN:
{
if ( !response ) return Kick ( playerid );
if( response )
{
if(udb_hash(inputtext) == PlayerInfo[playerid][pPass])//Ha a beírt jelszó egyezik a fájlban tároltéval.
{
INI_ParseFile(UserPath(playerid), \"LoadUser_%s\", .bExtra = true, .extra = playerid);
}
else //ha nem egyezik a jelszó
{
ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT,\"Bejelentkezés\",\"Helytelen jelszó.\\nÍrd be a jelszód a belépéshez.\",\"Belép\",\"Bezár\");
}
return 1;
}
}
}
return 1;
}
stock UserPath(playerid)
{
new string[128],playername[MAX_PLAYER_NAME];
GetPlayerName(playerid,playername,sizeof(playername));
format(string,sizeof(string),PATH,playername);
return string;
}
/*Credits to Dracoblue*/
stock udb_hash(buf[]) {
new length=strlen(buf);
new s1 = 1;
new s2 = 0;
new n;
for (n=0; n {
s1 = (s1 + buf[n]) % 65521;
s2 = (s2 + s1) % 65521;
}
return (s2 << 16) + s1;
}