#include <a_samp>#include <sscanf2>#include <zcmd>#include <streamer>#include <a_mysql>#include <crashdetect>
#define fuggveny%0(%1) forward%0(%1); public%0(%1)
enum eJatAd{ORM:ORMSzam,ABSzam,Belepve,ProcSzam[256],AdminSzint,Nev[MAX_PLAYER_NAME+1],KiirNev[MAX_PLAYER_NAME+1],Jelszo[32],Fagyasztva,Kinezet,Penz,Float:Elet,Float:Melleny,Vilag,Belso,Float:KoordX,Float:KoordY,Float:KoordZ,Float:KoordF,}new JatAd[LegfJatekos][eJatAd];
public OnGameModeInit(){ mysql_log(LOG_ALL, LOG_TYPE_HTML); ABKapcs = mysql_connect(ABHoszt, ABFelh, ABAd, ABJelsz); return 1;}public OnGameModeExit(){SimaUzenetMindenki(Feher, \"A szerver leállítása folyamatban...\"); for(new a = 0; a < LegfJatekos; a++) { if(JatAd[a][belepve] == 1 && JatAd[a][ABSzam] != 0) MentJatAd(a); } mysql_close(ABKapcs);return 1;} //Itt lekéri a szériaszámát, és megnézi RP-s-e a neve. Ha igen, akkor kiveszi belõle az alsóvonást, és beleteszi mindezt a KiirNev változójába. orm_addvar_int(JatAd[playerid][ORMSzam], JatAd[playerid][ABSzam], \"ABSzam\"); orm_addvar_int(JatAd[playerid][ORMSzam], JatAd[playerid][belepve], \"Belepve\"); orm_addvar_int(JatAd[playerid][ORMSzam], JatAd[playerid][AdminSzint], \"AdminSzint\"); orm_addvar_string(JatAd[playerid][ORMSzam], JatAd[playerid][Nev], MAX_PLAYER_NAME+1, \"Nev\"); orm_addvar_string(JatAd[playerid][ORMSzam], JatAd[playerid][KiirNev], MAX_PLAYER_NAME+1, \"KiirNev\"); orm_addvar_string(JatAd[playerid][ORMSzam], JatAd[playerid][Jelszo], MAX_PLAYER_NAME+1, \"Jelszo\"); orm_addvar_int(JatAd[playerid][ORMSzam], JatAd[playerid][Fagyasztva], \"Fagyasztva\"); orm_addvar_int(JatAd[playerid][ORMSzam], JatAd[playerid][Kinezet], \"Kinezet\"); orm_addvar_int(JatAd[playerid][ORMSzam], JatAd[playerid][Penz], \"Penz\"); orm_addvar_float(JatAd[playerid][ORMSzam], JatAd[playerid][Elet], \"Elet\"); orm_addvar_float(JatAd[playerid][ORMSzam], JatAd[playerid][Melleny], \"Melleny\"); orm_addvar_int(JatAd[playerid][ORMSzam], JatAd[playerid][Vilag], \"Vilag\"); orm_addvar_int(JatAd[playerid][ORMSzam], JatAd[playerid][belso], \"Belso\"); orm_addvar_float(JatAd[playerid][ORMSzam], JatAd[playerid][KoordX], \"KoordX\"); orm_addvar_float(JatAd[playerid][ORMSzam], JatAd[playerid][KoordY], \"KoordY\"); orm_addvar_float(JatAd[playerid][ORMSzam], JatAd[playerid][KoordZ], \"KoordZ\"); orm_addvar_float(JatAd[playerid][ORMSzam], JatAd[playerid][KoordF], \"KoordF\"); orm_setkey(JatAd[playerid][ORMSzam], \"ABSzam\"); orm_select(JatAd[playerid][ORMSzam], \"AmikorJatAdBet\", \"d\", playerid);}
fuggveny AmikorJatAdBet(playerid){switch(orm_errno(JatAd[playerid][ORMSzam])) { case ERROR_OK: ShowPlayerDialog(playerid, BelepDialog, DIALOG_STYLE_PASSWORD, \"Bejelentkezés\", \"Kérlek írd be a jelszavadat.\", \"Belép!\", \"Kilép!\"); case ERROR_NO_DATA: ShowPlayerDialog(playerid, RegisztrDialog, DIALOG_STYLE_PASSWORD, \"Regisztráció\", \"Kérlek írd be a jelszavadat.\", \"Regisztrál!\", \"Kilép!\"); } Uzenet(playerid, Feher, \"ABSzam: %d | ORMSzam: %d | Nev: %s | KiirNev: %s | Jelszo: %s | Kinezet: %d | Penz: %d | Elet: %f | Melleny: %f...\", JatAd[playerid][ABSzam], JatAd[playerid][ORMSzam], JatAd[playerid][KiirNev], JatAd[playerid][Jelszo], JatAd[playerid][Kinezet], JatAd[playerid][Penz], JatAd[playerid][Elet], JatAd[playerid][Melleny]);}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]){switch(dialogid){case RegisztrDialog:{ if(!response) return Kirug(playerid); if(4 > strlen(inputtext) || strlen(inputtext) > 24) return ShowPlayerDialog(playerid, RegisztrDialog, DIALOG_STYLE_PASSWORD, \"Regisztráció\", \"Kérlek írd be a jelszavadat. \\n A jelszavadnak 0-24 karakter között kell lennie!\", \"Regisztrál!\", \"Kilép!\"); new TitkJelsz[129]; WP_Hash(TitkJelsz, sizeof(TitkJelsz), inputtext); format(JatAd[playerid][Jelszo], 24, \"%s\", TitkJelsz); RegisztrJat(playerid);}case BelepDialog:{ if(!response) return Kirug(playerid); if(4 > strlen(inputtext) || strlen(inputtext) > 24) return ShowPlayerDialog(playerid, BelepDialog, DIALOG_STYLE_PASSWORD, \"Bejelentkezés\", \"Kérlek írd be a jelszavadat. \\n A jelszavadnak 0-24 karakter között kell lennie!\", \"Belép!\", \"Kilép!\"); new TitkJelsz[129]; WP_Hash(TitkJelsz, sizeof(TitkJelsz), inputtext); if(strcmp(JatAd[playerid][Jelszo], TitkJelsz) != 0) return ShowPlayerDialog(playerid, BelepDialog, DIALOG_STYLE_PASSWORD, \"Bejelentkezés\", \"Kérlek írd be a jelszavadat. \\n Az általad beírt jelszó hibás!\", \"Belép!\", \"Kilép!\"); BelepJat(playerid);}}return 1;}
stock RegisztrJat(playerid){SetSpawnInfo(playerid, 0, 7, 1743.0239, -1864.4617, 13.5738, 0, 0, 0, 0, 0, 0, 0);SpawnPlayer(playerid);JatAd[playerid][belepve] = 1; printf(\"%s beregisztrált a szerverre.\", JatAd[playerid][KiirNev]);SimaUzenet(playerid, Feher, \"Sikeresen regisztráltál a kSAMP szerverére!\");JatAd[playerid][Penz] = 185000;SimaUzenet(playerid, Feher, \"Kezdésnek kaptál az államtól 185.000Ft-ot!\");orm_save(JatAd[playerid][ORMSzam], \"MentJatAd\", \"d\", playerid);}stock BelepJat(playerid){ JatAd[playerid][belepve] = 1;printf(\"%s belépett a szerverre.\", JatAd[playerid][KiirNev]); SimaUzenet(playerid, Feher, \"Sikeresen beléptél a kSAMP szerverére!\");BeallJatAd(playerid);//TogglePlayerSpectating(playerid, false);JatAd[playerid][belepve] = 1;SimaUzenet(playerid, Feher, \"Sikeresen bejelentkeztél! Jó játékot!\");MentJatAd(playerid);}fuggveny MentJatAd(playerid){ JatAd[playerid][Kinezet] = GetPlayerSkin(playerid);GetPlayerHealth(playerid, JatAd[playerid][Elet]);GetPlayerArmour(playerid, JatAd[playerid][Melleny]);JatAd[playerid][Vilag] = GetPlayerVirtualWorld(playerid);JatAd[playerid][belso] = GetPlayerInterior(playerid);GetPlayerPos(playerid, JatAd[playerid][KoordX], JatAd[playerid][KoordY], JatAd[playerid][KoordZ]);GetPlayerFacingAngle(playerid, JatAd[playerid][KoordF]);orm_save(JatAd[playerid][ORMSzam]);}fuggveny BeallJatAd(playerid){SetSpawnInfo(playerid, 0, JatAd[playerid][Kinezet], JatAd[playerid][KoordX], JatAd[playerid][KoordY], JatAd[playerid][KoordZ], JatAd[playerid][KoordF], 0, 0, 0, 0, 0, 0);SpawnPlayer(playerid);SetPlayerHealth(playerid, JatAd[playerid][Elet]);SetPlayerArmour(playerid, JatAd[playerid][Melleny]);SetPlayerVirtualWorld(playerid, JatAd[playerid][Vilag]);SetPlayerInterior(playerid, JatAd[playerid][belso]);//Fegyverek hozzáadásaprintf(\"%s adatai beállítva megfelelõ értékre!\", JatAd[playerid][KiirNev]);}
//Maga a szerkezet:CREATE TABLE IF NOT EXISTS `jatekosok` ( `ABSzam` int(11) NOT NULL AUTO_INCREMENT, `Belepve` tinyint(1) NOT NULL, `AdminSzint` int(11) NOT NULL, `Nev` varchar(24) NOT NULL, `KiirNev` varchar(24) NOT NULL, `Jelszo` varchar(24) NOT NULL, `Fagyasztva` tinyint(1) NOT NULL, `Kinezet` int(11) NOT NULL, `Penz` int(11) NOT NULL, `Elet` float NOT NULL, `Melleny` float NOT NULL, `Vilag` int(11) NOT NULL, `Belso` int(11) NOT NULL, `KoordX` float NOT NULL, `KoordY` float NOT NULL, `KoordZ` float NOT NULL, `KoordF` float NOT NULL, PRIMARY KEY (`ABSzam`)) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=19 ;//Itt pedig az adatok, amiket teljesen jól elmentett.INSERT INTO `jatekosok` (`ABSzam`, `Belepve`, `AdminSzint`, `Nev`, `KiirNev`, `Jelszo`, `Fagyasztva`, `Kinezet`, `Penz`, `Elet`, `Melleny`, `Vilag`, `Belso`, `KoordX`, `KoordY`, `KoordZ`, `KoordF`) VALUES(1, 0, 0, \'Layne_Konnor\', \'Layne Konnor\', \'FD9D94340DBD72C11B37EBB\', 0, 7, 185000, 100, 0, 0, 0, 1742.72, -1852.12, 13.4141, 0);
orm_addvar_int(JatAd[playerid][ORMSzam], JatAd[playerid][belepve], \"Belepve\");
new data[16+1];mysql_fetch_field_row(data, \"Belepve\"); JatAd[playerid][belepve] = strval(data);
orm_setkey(JatAd[playerid][ORMSzam], \"Nev\");
orm_setkey(JatAd[playerid][ORMSzam], \"ABSzam\");