Üzenetek megjelenítése

Ez a szekció lehetővé teszi a felhasználó által írt összes hozzászólás megtekintését. Vedd figyelembe, hogy csak azokba a fórumokba írt hozzászólásokat látod, amelyekhez hozzáférésed van.


Témák - Szily88

Oldalak: [1] 2 3
1



\"78ChBAL.png\"
 




A hamarosan nyíló RED COUNTY ROLE PLAY játékszerver társakat keres!
 



Játékszerverünk egy teljesen nulláról írt játékmódra fog alapulni, melynek célja egy játszható, hibamentes, kreatív játéktér biztosítása a magyar SA:MP játékosok számára.
 
Hogy mire is van pontosan szükségünk?
 

  •    Egy webfejlesztőre


  •    Egy mapperre


Természetesen a teljesített munkáért pénzbeli juttatást biztosítunk, az elvégzett munka függvényében - bővebb információkért keressetek fel.
 



A jelentkezővel szemben felállított elvárások
 



Természetesen, a megfelelő, gyors, és gördülékeny munkavégzés, és haladás érdekében a jelentkezőkkel szemben néhány elvárást állítottunk fel, melyeknek örülnénk ha a jelentkező megfelelne.
 

  •    Maximális odafigyelés munkavégzés közben


  •    Maximális együttműködés a csapat többi tagjával


  •    Kreatív munkavégzés


  •    Könnyű elérhetőség, gyors válaszidő


  •    Megfelelő kommunikációskészség


  •    Megfelelő napi szintű aktivitás


  •    A csapat iránti kölcsönös bizalom, tisztelet


  •    Referencia *





Elérhetőség
 



További információkkal a munkavégzés feltételeivel, részleteivel, valamint a pénzbeli juttatásokkal kapcsolatban privát üzenet formájában, vagy pedig az általam inkább preferált valósidejű Facebook beszélgetés formájában tájékozódhattok.
 




2
Játékok / Survival játékot tudtok?
« Dátum: 2015. November 30. - 10:03:20 »
Üdv.
Azt szeretném kérdezni,hogy tudtok valami survival játékot?pl.The Walking Dead filmhez hasonlót,ami le lehet ingyen tölteni :D

3
Általános / Van-e még egy jó RP szeró?
« Dátum: 2015. November 23. - 15:19:38 »
Üdv.
Azt szeretném kérdezni,hogy valaki tud egy jó RP szerót SAMP-on,ahol van átlag 10-30 játékos és normális a közösség..

4
Segítségkérés / Objectek..
« Dátum: 2013. November 17. - 10:31:10 »
Sziasztok..Azzal a problémával fordulok hozzátok hogy nem jelennek meg a szerveren az objectek..Egy fs-be van kb 6000 object..Legujabb streamer és mégse töltii be..Mi lehet a gond?

5
Segítségkérés / Streamer
« Dátum: 2013. November 16. - 12:31:07 »
Kéne nkm a legujabb streamer plugin és inc..Mert nem tölti be a mappokat

6
Segítségkérés / Teleport
« Dátum: 2013. November 14. - 18:50:57 »
Sziasztok
Itt ez a teleport..Pawno-ba egy erorr sincs.de amikor felmejek szerora rámejek de nem teleportál es sehova..
 
if (dialogid == 200)
       {
       if(response)
       {
       if(listitem==0)
       {
       ShowPlayerDialog(playerid,211,DIALOG_STYLE_LIST,\"Reptérek\",\"Lsairport\\nLvairport\\nSfairport\",\"ok\");
}
       if (dialogid == 211)
       {
       if(response)
       {
       if(listitem==0)
       {
       SetPlayerPos(playerid,1862.4348,-2421.3394,13.5547);
       SendClientMessage(playerid,0x0000FFAA,\"Sikeresen elteleportaltal lsairport ba\");
       ObjectBetoltese(playerid,5000);
       }
       }
       if(listitem==1)
       {
       SetPlayerPos(playerid,1506.5234,1227.0442,10.8125);
       SendClientMessage(playerid,0x0000FFAA,\"Sikeresen elteleportaltal lvairport ba\");
       ObjectBetoltese(playerid,5000);
       }
       }

7
Adás-Vétel / Eladó vagy cserélem freeroam mode-ra
« Dátum: 2013. November 12. - 15:33:43 »
Sziasztok..
Van egy eladó kamionos mode-om:
Szép kis mode..
Van elég sok egyedi mapp
...
Vagy akár cserélem egy FreeRoam szerora..
Ha érdeklõdni szeretnél vegyél fel skype-on:szily888 és berakom egy szerora hogy megnézhesd

8
Szkript kérések / Munkák
« Dátum: 2013. November 11. - 16:54:02 »
Kéne nkm 3 munka..
dömperes.
taxis(ugy legyen mint a kamionos meg a többi meló)
pénzszállitó (ugy legyen mint a kamionos meg a többi meló)

9
Szkript kérések / Eltõltött perc a szerveren..
« Dátum: 2013. November 11. - 14:26:16 »
Kéne nekem egy olyan script ami a térkép fellet kiirja hogy Eltõltött perc a szerveren...vagy hasonló de mindekkép percben mutassa..

10
Fórum Archívum (Témák/Fórumok) / Mi legyen az elsõ mappom?
« Dátum: 2013. November 10. - 16:11:06 »
Sziasztok...
Szerintetek mi legyen az elsõ mappom?

11
Archívum / MTA
« Dátum: 2013. November 08. - 16:12:18 »
Sziasztok..
Azt akarnám kérdezni hogy MTA-val az objecteket hogyan lehet megforditani?
És valaki nem tduja a homok bucka ami van bányánál az melyik kategoriánál van?Meg az a kis sárga csik amit autopálya közepere szoktak rakni hogy elválassza a két sávot?:

12
Archívum / [HUN]..::>>||Kamionozz És Konvojozz||<<::..
« Dátum: 2013. November 02. - 18:42:50 »
[HUN]..::>>||Kamionozz És Konvojozz||<<::..
Információk:
Név:[HUN]..::>>||Kamionozz És Konvojozz||<<::..
IP:-
Mode:[HUN]..::>>||Kamionozz És Konvojozz||<<::..
 
Map:San Andreas
 
Host:Sunwell.hu
Slot:30
Verzió:0.3x
Tulajok:Szily88 és Csabee
Scripter:Szily88
Mapper:Aldooo
Admin TGF:Zárva
Kezdõbónusz:100 pont,1500000 FT és egy ingyen ház
A szerver leírása:
Admin szintek:1 szint:Adminsegéd
                       2 szint:Moderátor
                       3 szint:Admin
                       4 szint:Fõadmin
                       5 szint:Tulaj    
Kamionos Bónusz Fuvar
Automatikusan megjelenik a chat sorba.Ezt kamionos jogsival lehet beállítani.Természetesen a bónusz  fuvar az több pénzt ad és ezért érdemes convoyba csinálni, minél többen csináljátok annál több pénzt kaptok. Ha befejeztétek automatikusan jön egy új bónusz a másik helyére. :)
Convoy
A convoy által mindenki ugyan azt a rakományt viszi a lerakodó helyre.Ez a funkció csak a kamionosokra vonatkozik.Minden convoynak van egy vezetoje és o határozza meg az útvonalat.Ha sok a convoyban a játékos az nagyobb pénzt jelent, a convoyba akár 25 tag is lehet.A convoyban lévo tagok száma növelik a fizetését mindenkinek 25%-kal. Convoyt lehet alapítani és csatlakozni is lehet hozzá a /convoy parancsal.
Bérelt jármü
Azok a játékosok akik még nem rendelkeznek házzal azok tudnak bérelni jármuvet csak el kell menniük SF-be a Wan Cars autószalonhoz.A kibérelt jármu tulajdon jogot ad neked, ez nem azt jelenti, hogy bármikor a tiéd amikor csak bejelentkezel, ez csak azt jelenti, hogy nem tudják ellopni. A bérleti jármuvek ára 10%-a a saját jármuvek árának.
Ház rendszer
Ha veszel egy házat az ad jármuvételi lehetoséget.Minden alkalommal amikor fejlesztesz a házadon 1 szintet akkor egy üres jármu slot jön létre. A háznak a maximális szintje 10. Ha már megvásároltad a házat akkor a belépéshez állj bele a pickupba és használd a /enter parancsot.Ha sikerült belépned a házba akkor használd a /housemenu parancsot, ez ad további lehetoségeket.
Kamionos Munka
Feladata: Szállítsa az adott termékeket egyik helyrol a másikra, ehez a munkához kelleni fog pár dolog.
Linerunner,Tanker vagy Roadtrain teherautóra és pótkocsira lesz szükséged a munka megkezdéséhez.
Amikor a munka elindult (/work paranccsal) megjelenik a térképen egy piros marker pont ez hely ahol meg kell rakodnod a kamionodat.
Amikor elérted a rakodási pontot akkor beállsz a piros körbe a kamionoddal és megrakodsz.
Ezután már megjelenik az a hely ahol le kell rakodnod.
A célállomás elérése és a lerakodás szükséges, mert csak így kapsz fuvarod után pénzt meg pontot.
A fizetés nagysága függ a rakodási és a lerakodási pont közötti távolságtól.(minél messzebb szállítasz annál jobb)
Buszos munka
A busz sofor feladata, hogy szállítsa az utasokat különbözo buszmegállókba.
A munka elkezdéséhez szállj be egy buszba és írd be ezt a parancsot /work.
Így lesz látható az elso buszmegálló egy piros marker pont a térképen.
Ha a buszmegállóba értél akkor meny tovább és szedd fel a következo buszmegállóból az utasokat.
Csak akkor kapsz pénzt ha teljesítettél egy egész buszvonalat.
Maffia Munka
A maffiának a feladata, hogy szállítsa a termékeket egyik helyrol a másikra.
A munka elkezdéséhez szállj be egy jármube a maffia titkos telephelyén.
Ez majdnem ugyanúgy muködik mint a kamionos munka.
A rakományodat viszont nem tudod túlterhelni.
A második pénzkeresési lehetoség a maffia szakmában az ,hogy el kell lopni a rakományt a kamionosoktól.
Az ilyen kamionosok piros pontként jelennek meg a térképen.
Ha ilyen van akkor utána kell menni és meg kell szerezni a pótkocsiját.
Attól a pillanattól kezdve mikor sikerül ellopni a kamionos rakományát 1 perce van azt visszaszerezni és ha nem tudja akkor sikeresen elvégezted a munkát.
Ezután a lopott árut el kell vinned a maffia titkos telephelyére és megkapod a pénzed.
Rendõr
Ha 1 kamionos túl van terhelve akkor kapsz 1 riasztást hogy 2 csillagja van.
Ha a Maffia épp lopott árukat visz akkor kapsz 1 riasztást hogy 4 csillagja van.
Ha valaki gyorsan hajt akkor kapsz egy üzenetet hogy XY gyorsan hajtott. Ezzel az ö csillag szintje 1 csillaggal no.
Ha valakit köröznek azt piros színnel jelöli a radar és a chat be is piros színen jelenik meg a neve.
Ha van ilyen játékos akkor meg kell keresni és meg kell próbálni meg állításra bírni.
Amikor közelebb a keresett játékos, akkor használja a LCTRL gombot a billentyuzeten, hogy figyelmeztesse oket.
A játékost ezzel figyelmezteti, hogy ot üldözi a rendor és álljon meg.
Ha a keresett játékos azonnal leáll, akkor csak bírságot szab ki neki, használja a jobb egérgombot.
Gyalogosnak kell lenned hogy bírságot szabj ki a játékosra.
Ha a keresett játékos nem áll meg 60 másodpercen belül, börtönbe kerül, ha elkapják.
 És ezzel duplán keresel, mert megy a börtönbe de le is vonják a csillagok által össze halmozott pénzt.
Pilóta
Feladata: utasokat vagy nehéz rakományt kell szállítania egyik reptérrol a másikra.
Hogy dolgozz szükséged lesz egy Shamalra vagy egy Nevadare repülogépre, ha ez megvan akkor beírod ezt a parancsot /work
A pilóta munka használható helikopterrel is.Keress egy Maverick vagy egy Cargobob helikoptert és kezdj el dolgozni, a helikopterek csak utasokat szállítanak.
Futár munka
Feladata: Csomagokat kell kiszállítani a játékosok házaihoz.
A kezdéshez szükség lesz egy Burrito kocsira vagy egy Faggio robogóra ha megvan akkor használd a /work parancsot.
Megadhatod, hogy hány db csomagot akarsz kézbesíteni.
Amikor elértél az adott házhoz szállj ki a jármubol és meny bele a piros körbe.
Csak akkor kapsz pénzt ha az összes csomagot kiszállítottad.
Autómentõ
Feladata: A játékosnak jármuvét megtankolja illetve megjavítsa.
Ha egy játékos be írja h /assist akkor kéri az autómento segítségét.
Akik kisegítést kértek azokat a térképen piros ponttal jelzi.
Ha elértél a segítség kéro játékoshoz akkor szállj ki a jármubol és menny a játékos autójához és nyomd meg a jobb egérgombot.
Útkarbantartó
Elso Feladata: Megjavítsa azokat a traffipaxokat amiket a térkép piros ponttal jelez.
Kell hozzá egy Utility autó és egy Utility pótkocsi ha ezek megvannak akkor írd be ezt a parancsot /work.
Menny a térképen pirossal jelezett ponthoz és javítsd meg a traffipaxokat.
Ezután két választásod van vagy megjavítod a következo trafit vagy visszamész a telephelyre.
Második Feladata: A hibás jármuveket kell elvontatnod.
Szükséged lesz egy Twotruck vontatóautóra ha ez megvan használd a /work parancsot.
A hibás jármuvet a térkép piros ponttal jelöli.
Ha odaértél hajts a piros pontba a jármu elvontatásához.
Ha megvan menny a térképen pirossal megjelölt bázisra.
Körülbelül ennyi lenne a szerver, Nézz fel, jó játékot :D

13
SA-MP: Szerverfejlesztés / Elsõ scriptem-üdvözlõ/elköszöntõ
« Dátum: 2013. Október 27. - 16:23:43 »
Itt az elsö scriptem..nagyon alap de lehet valakinek jol jön.lehet van benne hiba,mivel elsö scriptem
 
// This is a comment
// uncomment the line below if you want to write a filterscript
//#define FILTERSCRIPT
#include
#define FEHER -1
new nev[MAX_PLAYER_NAME];
main()
{
print(\"\\n----------------------------------\");
print(\" Blank Gamemode by your name here\");
print(\"----------------------------------\\n\");
}
public OnGameModeInit()
{
// Don\'t use these lines if it\'s a filterscript
SetGameModeText(\"Blank Script\");
AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
AddPlayerClass(8, 1958.3783, 1343.1572, 15.3746, 269.1425, 4, 1, 16, 8, 22, 30);
return 1;
}
public OnGameModeExit()
{
return 1;
}
public OnPlayerRequestClass(playerid, classid)
{
SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746);
SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746);
return 1;
}
public OnPlayerConnect(playerid)
{
new udvozlouzenet[128];
GetPlayerName(playerid,nev,sizeof(nev));
format(udvozlouzenet,128,\"%s csatlakozott a szerverre!\",nev);
SendClientMessageToAll(FEHER,udvozlouzenet);
return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
new elkoszono[128];
GetPlayerName(playerid,nev,sizeof(nev));
format(elkoszono,128,\"%s lecsatlakozott a szerverrõl!\",nev);
   SendClientMessageToAll(FEHER,elkoszono);
return 1;
}
public OnPlayerSpawn(playerid)
{
return 1;
}
public OnPlayerDeath(playerid, killerid, reason)
{
return 1;
}
public OnVehicleSpawn(vehicleid)
{
return 1;
}
public OnVehicleDeath(vehicleid, killerid)
{
return 1;
}
public OnPlayerText(playerid, text[])
{
return 1;
}
public OnPlayerCommandText(playerid, cmdtext[])
{
if (strcmp(\"/mycommand\", cmdtext, true, 10) == 0)
{
// Do something here
return 1;
}
return 0;
}
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
return 1;
}
public OnPlayerExitVehicle(playerid, vehicleid)
{
return 1;
}
public OnPlayerStateChange(playerid, newstate, oldstate)
{
return 1;
}
public OnPlayerEnterCheckpoint(playerid)
{
return 1;
}
public OnPlayerLeaveCheckpoint(playerid)
{
return 1;
}
public OnPlayerEnterRaceCheckpoint(playerid)
{
return 1;
}
public OnPlayerLeaveRaceCheckpoint(playerid)
{
return 1;
}
public OnRconCommand(cmd[])
{
return 1;
}
public OnPlayerRequestSpawn(playerid)
{
return 1;
}
public OnObjectMoved(objectid)
{
return 1;
}
public OnPlayerObjectMoved(playerid, objectid)
{
return 1;
}
public OnPlayerPickUpPickup(playerid, pickupid)
{
return 1;
}
public OnVehicleMod(playerid, vehicleid, componentid)
{
return 1;
}
public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
{
return 1;
}
public OnVehicleRespray(playerid, vehicleid, color1, color2)
{
return 1;
}
public OnPlayerSelectedMenuRow(playerid, row)
{
return 1;
}
public OnPlayerExitedMenu(playerid)
{
return 1;
}
public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
{
return 1;
}
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
return 1;
}
public OnRconLoginAttempt(ip[], password[], success)
{
return 1;
}
public OnPlayerUpdate(playerid)
{
return 1;
}
public OnPlayerStreamIn(playerid, forplayerid)
{
return 1;
}
public OnPlayerStreamOut(playerid, forplayerid)
{
return 1;
}
public OnVehicleStreamIn(vehicleid, forplayerid)
{
return 1;
}
public OnVehicleStreamOut(vehicleid, forplayerid)
{
return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
return 1;
}
public OnPlayerClickPlayer(playerid, clickedplayerid, source)
{
return 1;
}

14
Segítségkérés / Dadmin
« Dátum: 2013. Október 25. - 21:00:24 »
Sziasztok!
Itt a BoOy adminrendszere!
Scriptfiles-be beirom az Adminrendszer/Játékosok
De mégse megy a regisztrácios rendszer!
 
#define FILTERSCRIPT
/*
DAdmin: Készítette: BoOy
Danger\'s FreeRoam Fun szerver használja!
RCON képességek - Az RCON Admin megtudja változtatni a szerver nevet és a map nevet.
        Letudja zárni/oldani a szervert.
Parancsok:
/report - Admin segítõ: A játékos írhat problémákat az adminoknak. Az adminok segítenek.
/admins - Online Adminok.
Admin szintek és parancsok:
Level 1: /clearchat | /announce | /goto | /get | /[un]mute | /getip | /slap | /apm | /achat
Level 2: /healall | /[un]freeze | /setskin | /jetpack | /akill | /warn
Level 3: /kick | /slap | /givemoney | /setweapon | /setweather | /setscore
Level 4: /[un]ban | /killall | /explode | /armourall | /disarm | /rescar
Level 5: /setlevel | /allips | /kickall | /gmx | /muteall| /freezeall /god
------------------------------------------------------------------
*/
#include
#define USE_PLUGIN_FUNCTIONS
#include
#include
#include
#include
#include
#define COLOR_RED 0xFF0606FF
#define DIALOG_REGISTER       200
#define DIALOG_LOGIN        201
#define DIALOG_REGCOMPLETED 202
#define DIALOG_CLICK       203
#define DIALOG_ADMIN         204
#define RCON_DIALOG         205
#define DIALOG_ACMDS       206
#define SKIN_ID 150
#define START_MONEY 1000
#define MAX_CARS  1000
#define MAX_WARNINGS 3
#define TOTAL_ITEMS         300
#define SELECTION_ITEMS    21
#define ITEMS_PER_LINE     7
#define HEADER_TEXT \"Skinek!\"
#define NEXT_TEXT   \"Tovabb\"
#define PREV_TEXT   \"Vissza\"
#define DIALOG_BASE_X      75.0
#define DIALOG_BASE_Y      130.0
#define DIALOG_WIDTH       550.0
#define DIALOG_HEIGHT      180.0
#define SPRITE_DIM_X       60.0
#define SPRITE_DIM_Y       70.0
new timeupdatetimer;
forward LoadPlayerData(playerid);
forward TimeUpdate(playerid);
enum pData {
   pPassword[64],
   pAdmin,
pTime,
   pMoney,
   pScore,
   pMute,
   pFrozen,
   pSpecating,
   pSkin,
   pWarn,
   pSpam,
   bool:LoggedIn
}
new P_Data[MAX_PLAYERS][pData];
new regstring[512];
new loginstring[512];
new registered;
new SkinChange[MAX_PLAYERS];
new SkinChange1[MAX_PLAYERS];
new KilepesMent[MAX_PLAYERS];
new Text:AdatokTextdraw;
new Text:FelhasznTextdraw;
new gTotalItems = TOTAL_ITEMS;
new PlayerText:gCurrentPageTextDrawId[MAX_PLAYERS];
new PlayerText:gHeaderTextDrawId[MAX_PLAYERS];
new PlayerText:gBackgroundTextDrawId[MAX_PLAYERS];
new PlayerText:gNextButtonTextDrawId[MAX_PLAYERS];
new PlayerText:gPrevButtonTextDrawId[MAX_PLAYERS];
new PlayerText:gSelectionItems[MAX_PLAYERS][sELECTION_ITEMS];
new gSelectionItemsTag[MAX_PLAYERS][sELECTION_ITEMS];
new gItemAt[MAX_PLAYERS];
new gItemList[TOTAL_ITEMS] = {
0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,
50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,
97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,
132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,
167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,
202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,
237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,
272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299
};
public OnFilterScriptInit()
{
new year,month,day;   getdate(year, month, day);
new hour,minute,second; gettime(hour,minute,second);
print(\" \");
print(\" \");
print(\"---------------------------------\");
print(\"     Adminrendszer betöltése..   \");
print(\"---------------------------------\");
printf(\"Dátum: %02i/%02i/%02i    Idõ: %02i:%02i :%02i\",year, month, day, hour, minute, second);
printf(\"Eddig összesen: %d Játékos regisztrált a szerverre!\",registered);
print(\"---------------------------------\");
print(\" \");
print(\" \");
timeupdatetimer = SetTimer(\"TimeUpdater\", 1000, true);
if(!dfile_DirectoryExists(\"Scriptfiles/Adminrendszer\")) {
    dfile_CreateDirectory(\"Adminrendszer\");
    print(\"Az Adminrendszer mappa létrehozása a Scriptfiles mappába..\");
}
if(!dfile_DirectoryExists(\"Scriptfiles/Adminrendszer/Játékosok\")) {
    dfile_CreateDirectory(\"Adminrendszer/Játékosok\");
    print(\"A Adminrendszer/Játékosok mappa létrehozása a Scriptfiles mappába..\");
}
   for(new i; i < MAX_PLAYERS; i++) SetTimerEx(\"TimeUpdate\", 1000, true, \"i\", i);
   format(loginstring, 512, \"{FFFFFF}Üdvözöllek újra a {FF9900}Danger\'s FreeRoam Fun™ Szerveren{FFFFFF}! \\n Kérlek {33FF00}jelentkezz be{FFFFFF}, hogy adataidat betölthessük!\");
format(regstring, 512, \"{FFFFFF}Üdvözöllek a {FF9900}Danger\'s FreeRoam Fun™ Szerveren{FFFFFF}! \\n Kérlek {33FF00}Regisztrálj{FFFFFF}, hogy adataidat sikeresen elmentsük!\");
AdatokTextdraw = TextDrawCreate(43.125, 217.583, \"Adataid Betöltése...\");
TextDrawLetterSize(AdatokTextdraw, 0.660, 3.110);
TextDrawAlignment(AdatokTextdraw, 1);
TextDrawColor(AdatokTextdraw, -1);
TextDrawSetOutline(AdatokTextdraw, 1);
TextDrawBackgroundColor(AdatokTextdraw, 51);
TextDrawFont(AdatokTextdraw, 1);
TextDrawSetProportional(AdatokTextdraw, 1);
FelhasznTextdraw = TextDrawCreate(43.125, 217.583, \"Felhasználód Készítése...\");
TextDrawLetterSize(FelhasznTextdraw, 0.660, 3.110);
TextDrawAlignment(FelhasznTextdraw, 1);
TextDrawColor(FelhasznTextdraw, -1);
TextDrawSetOutline(FelhasznTextdraw, 1);
TextDrawBackgroundColor(FelhasznTextdraw, 51);
TextDrawFont(FelhasznTextdraw, 1);
TextDrawSetProportional(FelhasznTextdraw, 1);
 
new varo = CreateObject(19353, 518.9199, -3681.6926, 3.8118, 0.0000, 0.0000, -94.4026);
SetObjectMaterialText(varo, \"Kérlek várj..\", 0, 140, \"Arial\", 100, 0, -16468988, 0, 1);
new udv = CreateObject(19353, 512.4999, -3755.7707, 2.8493, 0.0000, 0.0000, -80.0663);
SetObjectMaterialText(udv, \"Üdv a szerveren!\", 0, 140, \"Arial\", 70, 1, -65536, 0, 1);
new parancs = CreateObject(19353, -339.2107, 1544.3071, 76.0625, 0.0000, 0.0000, 179.9443);
SetObjectMaterialText(parancs, \"Parancsokért: /cmds\", 0, 140, \"Arial\", 60, 0, -1, 0, 1);
new telesek = CreateObject(19353, -347.0748, 1543.1376, 76.0625, 0.0000, 0.0000, 0.0961);
SetObjectMaterialText(telesek, \"Teleportok: /teles\", 0, 140, \"Arial\", 70, 0, -1, 0, 1);
print(\" \");
print(\"---------------------------------\");
print(\"     Adminrendszer betöltve...   \");
print(\"---------------------------------\");
print(\" \");
return 1;
}
public OnFilterScriptExit()
{
KillTimer(timeupdatetimer);
TextDrawHideForAll(FelhasznTextdraw);
TextDrawDestroy(FelhasznTextdraw);
TextDrawHideForAll(AdatokTextdraw);
TextDrawDestroy(AdatokTextdraw);
return 1;
}
public OnPlayerConnect(playerid)
{
TogglePlayerSpectating(playerid,1);
SetTimerEx(\"Skin\", 1000, false, \"i\", playerid);
new year,month,day;   getdate(year, month, day);
new hour,minute,second; gettime(hour,minute,second);
new dName[MAX_PLAYER_NAME];
   new string[512];
if(IsRegistered(pName(playerid)))
{
ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, \"Bejelentkezés\", loginstring, \"Bejelentkez\", \"Kick\");
SkinChange[playerid] = 0;
}
else
{
ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_PASSWORD, \"Regisztráció\", regstring, \"Regisztrál\", \"Kick\");
SkinChange[playerid] = 1;
}
KilepesMent[playerid] = 0;
PlayerPlaySound(playerid,1097,0.0,0.0,0.0);
P_Data[playerid][pWarn] = 0;
   GetPlayerName(playerid, dName, sizeof(dName));
   format(string, sizeof(string), \"{DAEB26}%s {19E620}Csatlakozott a Danger\'s FreeRoam Fun™ szerverhez! {E31010}[idõ: %d/%d/%d %d:%d:%d]\", dName, year, month, day, hour, minute, second);
   SendClientMessageToAll(-1, string);
gHeaderTextDrawId[playerid] = PlayerText:INVALID_TEXT_DRAW;
   gBackgroundTextDrawId[playerid] = PlayerText:INVALID_TEXT_DRAW;
   gCurrentPageTextDrawId[playerid] = PlayerText:INVALID_TEXT_DRAW;
   gNextButtonTextDrawId[playerid] = PlayerText:INVALID_TEXT_DRAW;
   gPrevButtonTextDrawId[playerid] = PlayerText:INVALID_TEXT_DRAW;
   for(new x=0; x < SELECTION_ITEMS; x++) {
       gSelectionItems[playerid]
  • = PlayerText:INVALID_TEXT_DRAW;

}
gItemAt[playerid] = 0;
SkinChange1[playerid] = 0;
return 1;
}
forward Skin(playerid);
public Skin(playerid)
{
SetPlayerCameraPos(playerid, 513.362792, -3760.221679, 3.622610);
   SetPlayerCameraLookAt(playerid,513.760009, -3755.255126, 3.202853);
}
forward Adatok(playerid);
public Adatok(playerid)
{
TextDrawHideForPlayer(playerid,FelhasznTextdraw);
TextDrawHideForPlayer(playerid,AdatokTextdraw);
    GivePlayerMoney(playerid,P_Data[playerid][pMoney]);
    SetPlayerScore(playerid,P_Data[playerid][pScore]);
}
forward Spawn(playerid);
public Spawn(playerid)
{
TogglePlayerSpectating(playerid, 0);
}
public OnPlayerDisconnect(playerid, reason)
{
new string[512];
   if(KilepesMent[playerid] == 1)
   {
format(string, sizeof(string), \"Adminrendszer/Játékosok/%s.ini\", GetName(playerid));
dfile_Open(string);
dfile_MultiSet(\"iiiiii\",
   \"Admin\",      P_Data[playerid][pAdmin],
   \"Time\",      P_Data[playerid][pTime],
   \"Money\",    GetPlayerMoney(playerid),
   \"Score\",    GetPlayerScore(playerid),
   \"Skin\",     GetPlayerSkin(playerid),
   \"Warn\",     P_Data[playerid][pWarn]
);
dfile_SaveFile();
}
   new dName[MAX_PLAYER_NAME];
   GetPlayerName(playerid, dName, sizeof(dName));
new year,month,day;   getdate(year, month, day);
new hour,minute,second; gettime(hour,minute,second);
switch(reason)
{
case 0:
{
GetPlayerName(playerid, dName, sizeof(dName));
format(string,sizeof(string),\"{DAEB26}%s {19E620}Elhagyta a szervert!(Idõtúllépés) {E31010}[idõ: %d/%d/%d %d:%d:%d]\", dName, year, month, day, hour, minute, second);
}
case 1:
{
GetPlayerName(playerid, dName, sizeof(dName));
format(string,sizeof(string),\"{DAEB26}%s {19E620}Elhagyta a szervert!(Kilépés) {E31010}[idõ: %d/%d/%d %d:%d:%d]\", dName, year, month, day, hour, minute, second);
}
case 2:
{
GetPlayerName(playerid, dName, sizeof(dName));
format(string,sizeof(string),\"{DAEB26}%s {19E620}Elhagyta a szervert!(Kick/Ban) {E31010}[idõ: %d/%d/%d %d:%d:%d]\", dName, year, month, day, hour, minute, second);
}
}
SendClientMessageToAll(-1,string);
return 1;
}
public OnPlayerRequestClass(playerid, classid)
{
SetSpawnInfo( playerid, 0, 0, 1958.33, 1343.12, 15.36, 269.15, 0, 0, 0, 0, 0, 0 );
SpawnPlayer(playerid);
return 1;
}
public OnPlayerSpawn(playerid)
{
SetPlayerPos(playerid,-343.9589,1544.7606,75.5625);
   SetPlayerFacingAngle(playerid,185.5671);
   SetCameraBehindPlayer(playerid);
   PlayerPlaySound(playerid,1098,0.0,0.0,0.0);
     GivePlayerWeapon(playerid, 28, 9999999);
GivePlayerWeapon(playerid, 43, 9999999);
   if(SkinChange[playerid] == 1)
   {
DestroySelectionMenu(playerid);
SetPVarInt(playerid, \"skinc_active\", 1);
CreateSelectionMenu(playerid);
SelectTextDraw(playerid, 0xACCBF1FF);
SendClientMessage(playerid,0x10F441AA, \"Elsõ lépésként válassz egy skint!\");
   }
   else
   {
   SetPlayerSkin(playerid,P_Data[playerid][pSkin]);
   }
return 1;
}
public OnPlayerDeath(playerid, killerid, reason)
{
return 1;
}
public OnPlayerText(playerid, text[])
{
if(P_Data[playerid][pMute] == 1)
{
SendClientMessage(playerid, COLOR_RED, \"Le vagy némítva ezért nem tudsz írni a chat-be!\");
return 0;
}
P_Data[playerid][pSpam] += 1;
return 1;
}
public OnPlayerClickTextDraw(playerid, Text:clickedid)
{
     if(GetPVarInt(playerid, \"skinc_active\") == 0) return 0;
// Handle: They cancelled (with ESC)
if(clickedid == Text:INVALID_TEXT_DRAW) {
       DestroySelectionMenu(playerid);
       SetPVarInt(playerid, \"skinc_active\", 0);
       PlayerPlaySound(playerid, 1085, 0.0, 0.0, 0.0);
       return 1;
}
return 0;
}
//------------------------------------------------
public OnPlayerClickPlayerTextDraw(playerid, PlayerText:playertextid)
{
if(GetPVarInt(playerid, \"skinc_active\") == 0) return 0;
new curpage = GetPVarInt(playerid, \"skinc_page\");
// Handle: next button
if(playertextid == gNextButtonTextDrawId[playerid]) {
    if(curpage < (GetNumberOfPages() - 1)) {
        SetPVarInt(playerid, \"skinc_page\", curpage + 1);
        ShowPlayerModelPreviews(playerid);
           UpdatePageTextDraw(playerid);
           PlayerPlaySound(playerid, 1083, 0.0, 0.0, 0.0);
} else {
    PlayerPlaySound(playerid, 1085, 0.0, 0.0, 0.0);
}
return 1;
}
// Handle: previous button
if(playertextid == gPrevButtonTextDrawId[playerid]) {
    if(curpage > 0) {
       SetPVarInt(playerid, \"skinc_page\", curpage - 1);
       ShowPlayerModelPreviews(playerid);
       UpdatePageTextDraw(playerid);
       PlayerPlaySound(playerid, 1084, 0.0, 0.0, 0.0);
} else {
    PlayerPlaySound(playerid, 1085, 0.0, 0.0, 0.0);
}
return 1;
}
// Search in the array of textdraws used for the items
new x=0;
while(x != SELECTION_ITEMS) {
    if(playertextid == gSelectionItems[playerid]
  • ) {

        HandlePlayerItemSelection(playerid, x);
        PlayerPlaySound(playerid, 1083, 0.0, 0.0, 0.0);
        DestroySelectionMenu(playerid);
        CancelSelectTextDraw(playerid);
          SetPVarInt(playerid, \"skinc_active\", 0);
          return 1;
}
x++;
}
return 0;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
switch(dialogid)
{
       case DIALOG_REGISTER:
       {
   if(!response)
   {
   SendClientMessage(playerid,0xFF0606FF, \"Sajnálom, de kötelezõ a regisztráció!\");
   return Kick(playerid);
   }
           if(response)
   {
      if(!(3 < strlen(inputtext) < 19))
      {
         ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_PASSWORD, \"Regisztráció\", \"{FF0000}A jelszónak 3-nál nagyobb és 19-nél\\nkissebb karakterbõl kell állnia!\", \"Regisztrál\", \"Kick\");
         return 1;
      }
      new string[128];
      format(string, sizeof(string), \"Adminrendszer/Játékosok/%s.ini\", pName(playerid));
      dfile_Create(string);
      dfile_Open(string);
      dfile_WriteString(\"Password\", inputtext);
      dfile_MultiSet(\"iiiiii\",
         \"Admin\",      0,
         \"Time\",    0,
         \"Money\",    START_MONEY,
         \"Score\",    10,
         \"Skin\",      SKIN_ID,
         \"Warn\",      0
      );
      dfile_SaveFile();
      KilepesMent[playerid] = 1;
      SetPVarInt(playerid, \"Registered\", 1);
      SetPVarInt(playerid, \"Logged\", 1);
      SpawnPlayer(playerid);
      ShowPlayerDialog(playerid, DIALOG_REGCOMPLETED, DIALOG_STYLE_MSGBOX, \"{FFFFFF}Sikeresen regisztráltál\", \"{FFFFFF}Mostmár minden adatot:{33FF00} Pénzt, Pontot, Szerveren eltöltött idõt Elmentünk! \\n {FFFFFF} További jó játékot kívánunk!\", \"Tovább\", \"\");
      SendClientMessage(playerid,0x10F441AA, \"Automatikusan bejelentkeztél..\");
      registered++;
           }
       }
       case DIALOG_LOGIN: {
          if(!response) {
            SendClientMessage(playerid,0xFF0606FF, \"Sajnálom, de kötelezõ a bejelentkezés!\");
            return Kick(playerid);
        }
   LoadPlayerData(playerid);
           if(response)
   {
      if(!(3 < strlen(inputtext) < 19))
      {
         ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, \"Bejelentkezés\", \"{FF0000}Sikertelen bejelentkezés. Kérlek próbáld újra! \\n Tipp: Figyelj arra hogy nincs-e bekapcsolva a Caps-Lock!\", \"Bejelentkez\", \"Kick\");
         return 1;
      }
      if(!strcmp(inputtext, P_Data[playerid][pPassword])) {
         SetPVarInt(playerid, \"Logged\", 1);
         KilepesMent[playerid] = 1;
         SendClientMessage(playerid,0x10F441AA, \"Jelszó elfogadva! Sikeres Bejelentkezés..\");
         TextDrawShowForPlayer(playerid,AdatokTextdraw);
         InterpolateCameraPos(playerid, 513.362792, -3760.221679, 3.622610, 518.286621, -3686.658203, 4.141963, 10000);
         InterpolateCameraLookAt(playerid, 513.760009, -3755.255126, 3.202853, 518.598937, -3681.671142, 3.963344, 10000);
         SetTimerEx(\"Adatok\", 8000, false, \"i\", playerid);
         SetTimerEx(\"Spawn\", 10000, false, \"i\", playerid);
      }else{
         ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, \"Bejelentkezés\", \"{FF0000}Sikertelen bejelentkezés. Kérlek próbáld újra! \\n Tipp: Figyelj arra hogy nincs-e bekapcsolva a Caps-Lock!\", \"Bejelentkez\", \"Kick\");
      }
          }
       }
       case DIALOG_REGCOMPLETED:
{
   if(response)
   {
   KilepesMent[playerid] = 1;
   TextDrawShowForPlayer(playerid,FelhasznTextdraw);
   InterpolateCameraPos(playerid, 513.362792, -3760.221679, 3.622610, 518.286621, -3686.658203, 4.141963, 10000);
   InterpolateCameraLookAt(playerid, 513.760009, -3755.255126, 3.202853, 518.598937, -3681.671142, 3.963344, 10000);
           SetTimerEx(\"Adatok\", 8000, false, \"i\", playerid);
           SetTimerEx(\"Spawn\", 10000, false, \"i\", playerid);
           return 1;
   }
}
       case DIALOG_CLICK:
       {
              if(!response) return SendClientMessage(playerid,-1,\"Admin Control Panel bezárva!\");
              new text[128];
              switch(listitem)
              {
      case 0:
      {
      Kick(GetPVarInt(playerid,\"pplayerid\"));
      SetPVarInt(playerid,\"pplayerid\",999);
      format(text,sizeof(text),\"%s Kickelt a szerverrõl!\",GetName(playerid));
      SendClientMessage(GetPVarInt(playerid,\"pplayerid\"),-1,text);}
      case 1:
      {
      Ban(GetPVarInt(playerid,\"pplayerid\"));
      SetPVarInt(playerid,\"pplayerid\",999);
      format(text,sizeof(text),\"%s Bannolt a szerverrõl!\",GetName(playerid));
      SendClientMessage(GetPVarInt(playerid,\"pplayerid\"),-1,text);            }
      case 2:
      {
      ShowPlayerDialog(playerid,DIALOG_ADMIN,DIALOG_STYLE_INPUT,\"Admin Control Panel\",\"Válassz admin szintet [1-5]\",\"Választ\",\"Mégse\");
      }
   }
     }
case DIALOG_ADMIN:
      {
       if(!response) return SendClientMessage(playerid,-1,\"Admin Control Panel bezárva!\");
new string[128];
       P_Data[GetPVarInt(playerid,\"pplayerid\")][pAdmin] = strval(inputtext);
format(string,sizeof(string),\"Mostmár az admin szinted: %d\",strval(inputtext));
SendClientMessage(GetPVarInt(playerid,\"pplayerid\"),-1,string);
format(string,sizeof(string),\"%s új admin szintje: %d\",GetName(GetPVarInt(playerid,\"pplayerid\")),strval(inputtext));
SendClientMessage(playerid,-1,string);
SetPVarInt(playerid,\"pplayerid\",999);
}
case RCON_DIALOG:
{
    if(!response) return SendClientMessage(playerid,-1,\"Admin Control Panel bezárva!\");
new string[128];
switch(listitem)
{
case 0: {//Server name
    ShowPlayerDialog(playerid,RCON_DIALOG+1,DIALOG_STYLE_INPUT,\"Szerver Név\",\"Írd be az új szerver nevet!\",\"Választ\",\"Exit\");
}
case 1: {//Map name
    ShowPlayerDialog(playerid,RCON_DIALOG+2,DIALOG_STYLE_INPUT,\"Map Név\",\"Írd be az új map nevet!\",\"Választ\",\"Exit\");
}
case 2: {//Unlock
SendRconCommand(\"password 0\");
}
case 3: {//lock
ShowPlayerDialog(playerid,RCON_DIALOG+3,DIALOG_STYLE_INPUT,\"Szerver Lezárás\",\"Írd be a jelszót!\",\"Választ\",\"Exit\");
}
case 4: {//GMX
format(string,sizeof(string),\"%s Újraindítja a szervert!\",GetName(playerid));
SendClientMessageToAll(-1,string);
SendRconCommand(\"gmx\");
SendRconCommand(\"reloadfs Badmin\");
}
case 5: {//Password
ShowPlayerDialog(playerid,RCON_DIALOG+4,DIALOG_STYLE_INPUT,\"Jelszó változtatás\",\"Írd be az új RCON jelszót!\",\"Választ\",\"Exit\");
}
case 6: {//Turn Off
format(string,sizeof(string),\"%s Leállította a szervert!\",GetName(playerid));
SendClientMessageToAll(-1,string);
SendRconCommand(\"exit\");
}
}
}
case RCON_DIALOG+1:
{
   new string[32];
   format(string, 16, \"hostname %s\",inputtext);
   SendRconCommand(string);
}
case RCON_DIALOG+2:
{
   new string[32];
   format(string, 16, \"mapname %s\",inputtext);
   SendRconCommand(string);
}
case RCON_DIALOG+3:
{
           new string[32];
   format(string, 16, \"password %s\",inputtext);
   SendRconCommand(string);
}
case RCON_DIALOG+4:
{
           new string[32];
   format(string, 16, \"rcon_password %s\",inputtext);
   SendRconCommand(string);
}
}
return 1;
}
public TimeUpdate(playerid)
{
if(!IsPlayerConnected(playerid) || !GetPVarInt(playerid, \"Logged\")) return 1;
   P_Data[playerid][pTime]++;
SetPVarInt(playerid, \"Time\", GetPVarInt(playerid, \"Time\")+1);
if(random(512) == 4) {
    new o, h, m, s, string[256];
    o = GetPVarInt(playerid, \"Time\");
    h = o / 3600;
    o = o - (h * 3600);
    m = o / 60;
    o = o - (m * 60);
    s = o;
    o = o - (s);
    if(o) return print(\"WARNING!!!!!!! TimeUpdate!!!!\");
    format(string, sizeof(string), \"Szerveren eltöltött idõd: %d óra, %d perc, %d másodperc!\", h, m, s);
    SendClientMessage(playerid, 0xffbb00aa, string);
}
return 1;
}
public OnPlayerClickPlayer(playerid, clickedplayerid, source)
{
if(P_Data[playerid][pAdmin] > 0 && P_Data[playerid][pAdmin] < 5)
{
ShowPlayerDialog(playerid,DIALOG_CLICK,DIALOG_STYLE_LIST,\"Admin Control Panel\",\"Kick\\nBan\",\"Választ\",\"Bezár\");
SetPVarInt(playerid,\"pplayerid\",clickedplayerid);
}
else if(P_Data[playerid][pAdmin] == 5)
{
ShowPlayerDialog(playerid,DIALOG_CLICK,DIALOG_STYLE_LIST,\"Admin Control Panel\",\"Kick\\nBan\\nAdminjog adás\",\"Választ\",\"Választ\");
SetPVarInt(playerid,\"pplayerid\",clickedplayerid);
}
return 1;
}
public LoadPlayerData(playerid)
{
new string[128];
format(string, sizeof(string), \"Adminrendszer/Játékosok/%s.ini\", pName(playerid));
dfile_Open(string);
dfile_MultiGet(\"siiiiii\",
    \"Password\", P_Data[playerid][pPassword],
    \"Admin\",    P_Data[playerid][pAdmin],
    \"Time\",      P_Data[playerid][pTime],
    \"Money\",    P_Data[playerid][pMoney],
    \"Score\",    P_Data[playerid][pScore],
    \"Skin\",    P_Data[playerid][pSkin],
    \"Warn\",    P_Data[playerid][pWarn]
);
   dfile_SaveFile();
     SetPVarInt(playerid, \"Time\", P_Data[playerid][pTime]);
   return 1;
}
stock GetName(playerid)
{
   new Pname[MAX_PLAYER_NAME];
   GetPlayerName(playerid, Pname, sizeof(Pname));
   return Pname;
}
 
CMD:admins(playerid)
{
   new string[512], c;
   SendClientMessage(playerid,-1,\"{19E620}|===========================================|\");
   for(new i; i < MAX_PLAYERS; i++)
{
    if(!IsPlayerConnected(i)) continue;
    if(P_Data[pAdmin] > 0 || IsPlayerAdmin(i))
       {
        if(P_Data[pAdmin] == 1) { format(string,sizeof(string),\"{19E620}[Level 1] %s - Segítõkész\",GetName(i)); }
        else if(P_Data[pAdmin] == 2) { format(string,sizeof(string),\"{F0B630}[Level 2] %s - Segítõkész\",GetName(i)); }
        else if(P_Data[pAdmin] == 3) { format(string,sizeof(string),\"{197FE6}[Level 3] %s - Moderátor\",GetName(i)); }
        else if(P_Data[pAdmin] == 4) { format(string,sizeof(string),\"{113ABF}[Level 4] %s - Globális Moderátor\",GetName(i)); }
        else if(P_Data[pAdmin] == 5) { format(string,sizeof(string),\"{E31010}[Level 5] %s - Fõ Adminisztrátor\",GetName(i)); }
        if(IsPlayerAdmin(i)) { format(string,sizeof(string),\"{E31010}[RCON] %s - RCON Adminisztátor\",GetName(i)); }
        SendClientMessage(playerid,-1,string);
   c ++;
}
}
if(!c)
{
SendClientMessage(playerid,-1,\"{E31010}      Nincs online Admin a szerveren!        \");
SendClientMessage(playerid,-1,\"{19E620}|===========================================|\");
return 1;
}
SendClientMessage(playerid,-1,\"{19E620}|===========================================|\");
   return 1;
}
CMD:report(playerid, params[])
{
   new string[128], text[48];
   if(sscanf(params, \"s[48]\", text)) return SendClientMessage(playerid, COLOR_RED, \"Használat: /report [kérdés]\");
   foreach(Player, i) {
   if(P_Data[pAdmin] > 0) {
   format(string,sizeof(string),\"{197FE6}%s Feltett egy kérdést: %s \",GetName(playerid),text);
   SendClientMessage(i,-1,string);
AskLog(playerid,text);} }
   return 1;
}
CMD:skin(playerid, params[])
{
   SkinChange1[playerid] = 1;
DestroySelectionMenu(playerid);
SetPVarInt(playerid, \"skinc_active\", 1);
CreateSelectionMenu(playerid);
SelectTextDraw(playerid, 0xACCBF1FF);
SendClientMessage(playerid,0x10F441AA, \"Válassz egy megtetszõ skint!\");
return 1;
}
//==================================================== Level 1 =============================================
CMD:clearchat(playerid)
{
       if(P_Data[playerid][pAdmin] == 0) return SendClientMessage(playerid, COLOR_RED, \"Nem vagy Admin!\");
for(new chat = 0; chat <= 25; chat++)
SendClientMessageToAll(-1, \" \");
new string[128];
   format(string,sizeof(string),\"{197FE6}Adminisztrátor %s megtisztította a Chat-et.\",GetName(playerid));
SendClientMessageToAll(-1,string);
       return 1;
}
CMD:announce(playerid, params[])
{
   if(P_Data[playerid][pAdmin] == 0) return SendClientMessage(playerid, COLOR_RED, \"Nem vagy Admin!\");
   new string[128],style,time;
   if(sscanf(params, \"s[128]ii\",string,time,style)) return SendClientMessage(playerid, COLOR_RED, \"Használat: /announce [Üzenet] [idõ] [Üzenet Stílus 0-6]\");
   GameTextForAll(string,time,style);
   return 1;
}
CMD:goto(playerid, params[])
{
   new string[128];
   if(P_Data[playerid][pAdmin] == 0) return SendClientMessage(playerid, COLOR_RED, \"Nem vagy admin!\");
   new pplayerid,Float:Pos[3];
   if(sscanf(params, \"u\", pplayerid)) return SendClientMessage(playerid, COLOR_RED, \"Használat: /goto [Játékos ID/Játékos Név]\");
   if(pplayerid == INVALID_PLAYER_ID) return SendClientMessage(playerid, COLOR_RED, \"Rossz Játékos ID!\");
     format(string,sizeof(string),\"{197FE6}Adminisztrátor %s elteleportált %s -hoz/hez.\",GetName(playerid),GetName(pplayerid));
SendClientMessageToAll(-1,string);
GetPlayerPos(pplayerid,Pos[0],Pos[1],Pos[2]);
if(IsPlayerInAnyVehicle(playerid))
   {
   new tmpcar = GetPlayerVehicleID(playerid);
   SetVehiclePos(tmpcar,Pos[0],Pos[1],Pos[2]);
   LinkVehicleToInterior(tmpcar, 0);
   SetPlayerVirtualWorld(playerid, 0);
   }
   else
   {
     SetPlayerPos(playerid,Pos[0],Pos[1],Pos[2]);
SetPlayerInterior(playerid,GetPlayerInterior(pplayerid));
   }
return 1;
}
CMD:get(playerid, params[])
{
   new string[128];
   if(P_Data[playerid][pAdmin] == 0) return SendClientMessage(playerid, COLOR_RED, \"Nem vagy admin!\");
   new pplayerid,Float:Pos[3];
   if(sscanf(params, \"u\", pplayerid)) return SendClientMessage(playerid, COLOR_RED, \"Használat: /get [Játékos ID/Játékos Név]\");
   if(pplayerid == INVALID_PLAYER_ID) return SendClientMessage(playerid, COLOR_RED, \"Rossz Játékos ID!\");
     format(string,sizeof(string),\"{197FE6}Adminisztrátor %s magáhozteleportálta %s -t.\",GetName(playerid),GetName(pplayerid));
   SendClientMessageToAll(-1,string);
GetPlayerPos(playerid,Pos[0],Pos[1],Pos[2]);
if(IsPlayerInAnyVehicle(pplayerid))
   {
   new tmpcar = GetPlayerVehicleID(pplayerid);
   SetVehiclePos(tmpcar,Pos[0],Pos[1],Pos[2]);
   LinkVehicleToInterior(tmpcar, 0);
   SetPlayerVirtualWorld(pplayerid, 0);
   }
   else
   {
     SetPlayerPos(pplayerid,Pos[0],Pos[1],Pos[2]);
SetPlayerInterior(pplayerid,GetPlayerInterior(pplayerid));
   }
return 1;
}
CMD:mute(playerid, params[])
{
   if(P_Data[playerid][pAdmin] == 0) return SendClientMessage(playerid, COLOR_RED, \"Nem vagy admin!\");
   new pplayerid,reason[48],string[128];
   if(sscanf(params, \"us[48]\", pplayerid,reason)) return SendClientMessage(playerid, COLOR_RED, \"Használat: /mute [Játékos ID/Játékos Név] [indok]\");
   if(pplayerid == INVALID_PLAYER_ID) return SendClientMessage(playerid, COLOR_RED, \"Rossz Játékos ID!\");
   format(string,sizeof(string),\"{17E310}Adminisztrátor %s lenémította %s -t! Indok: %s\",GetName(playerid),GetName(pplayerid),reason);
   SendClientMessageToAll(COLOR_RED,string);
   P_Data[pplayerid][pMute] = 1;
   return 1;
}
CMD:unmute(playerid, params[])
{
   if(P_Data[playerid][pAdmin] == 0) return SendClientMessage(playerid, COLOR_RED, \"Nem vagy admin!\");
   new   pplayerid,string[128];
   if(sscanf(params, \"u\", pplayerid)) return SendClientMessage(playerid, COLOR_RED, \"Használat: /unmute [Játékos ID/Játékos Név]\");
   if(pplayerid == INVALID_PLAYER_ID) return SendClientMessage(playerid, COLOR_RED, \"Rossz játékos ID!\");
   format(string,sizeof(string),\"{E31010}Adminisztrátor %s feloldotta %s -t!\",GetName(playerid),GetName(pplayerid));
   SendClientMessageToAll(COLOR_RED,string);
   P_Data[pplayerid][pMute] = 0;
   return 1;
}
CMD:getip(playerid, params[])
{
   if(P_Data[playerid][pAdmin] == 0) return SendClientMessage(playerid, COLOR_RED, \"Nem vagy admin!\");
   new   pplayerid,ip[64],string[128];
   if(sscanf(params, \"u\", pplayerid)) return SendClientMessage(playerid, COLOR_RED, \"Használat: /getip [Játékos ID/Játékos Név]\");
   if(pplayerid == INVALID_PLAYER_ID) return SendClientMessage(playerid, COLOR_RED, \"Rossz játékos ID!\");
   GetPlayerIp(pplayerid,ip,50);
   format(string,sizeof(string),\"{19E620}%s Ip-je: %s\",GetName(playerid),ip);
   SendClientMessage(playerid,COLOR_RED,string);
   return 1;
}
CMD:slap(playerid, params[])
{
   if(P_Data[playerid][pAdmin] == 0) return SendClientMessage(playerid, COLOR_RED, \"Nem vagy Admin!\");
   new pplayerid,Float:x,Float:y,Float:z,string[128],reason[48];
   if(sscanf(params, \"us[48]\", pplayerid,reason)) return SendClientMessage(playerid, COLOR_RED, \"Használat: /slap [Játékos ID/Játékos Név] [indok]\");
   if(pplayerid == INVALID_PLAYER_ID) return SendClientMessage(playerid, COLOR_RED, \"Rossz Játékos ID!\");
SetPlayerPos(pplayerid,x,y,z+20);
   format(string,sizeof(string),\"{197FE6}Adminisztrátor %s Feldobta %s -t. Indok: %s\",GetName(playerid),GetName(pplayerid),reason);
   SendClientMessageToAll(COLOR_RED,string);
   return 1;
}
CMD:apm(playerid, params[])
{
   if(P_Data[playerid][pAdmin] == 0) return SendClientMessage(playerid, COLOR_RED, \"Nem vagy admin!\");
   new pplayerid,string[128],message[48];
   if(sscanf(params, \"us[48]\", pplayerid,message)) return SendClientMessage(playerid, COLOR_RED, \": /apm [Játékos ID/Játékos Név] [Üzenet]\");
   if(pplayerid == INVALID_PLAYER_ID) return SendClientMessage(playerid, COLOR_RED, \"Rossz Játékos ID!\");
   format(string,sizeof(string),\"{CFE82A}Admin Privát Üzenet: %s üzenete: %s\",GetName(playerid),message);
   SendClientMessage(pplayerid,COLOR_RED,string);
   GameTextForPlayer(playerid,\"Admin üzenet elküldve!\",3000,3);
   return 1;
}
CMD:achat(playerid, params[])
{
   if(P_Data[playerid][pAdmin] == 0) return SendClientMessage(playerid, COLOR_RED, \"Nem Vagy Admin!\");
   new text[128];
   if(sscanf(params, \"s[128]\",text)) return SendClientMessage(playerid, COLOR_RED, \"Használat: /achat [Üzenet]\");
   format(text,sizeof(text),\"{CFE82A}Admin Chat: %s üzenete: %s\",GetName(playerid),params[0]);
   foreach(Player, i) {
   if(P_Data[pAdmin] > 0){
SendClientMessage(i,COLOR_RED,text);}}
   return 1;
}
 
//==================================================== Level 2 =============================================
CMD:warn(playerid, params[])
{
   if(P_Data[playerid][pAdmin] < 2) return SendClientMessage(playerid, COLOR_RED, \"A parancs használatához legalább 2-es színtû adminnak kell lenned!\");
   new   pplayerid,string[128],reason[48];
   if(sscanf(params, \"us[48]\", pplayerid,reason)) return SendClientMessage(playerid, COLOR_RED, \"Használat: /warn [Játékos ID/Játékos Név] [indok]\");
   if(pplayerid == INVALID_PLAYER_ID) return SendClientMessage(playerid, COLOR_RED, \"Rossz Játékos ID!\");
P_Data[playerid][pWarn]++;
if(P_Data[playerid][pWarn] == MAX_WARNINGS)
{
format(string, sizeof(string), \"{DAEB26}Adminisztrátor %s kirúgta %s -t. (Indok: %s) (Figyelmeztetések: %d/%d)\", GetName(playerid), GetName(pplayerid), reason, P_Data[playerid][pWarn], MAX_WARNINGS);
SendClientMessageToAll(-1, string);
P_Data[playerid][pWarn] = 0;
Kick(playerid);
return 1;
}
else
{
format(string,sizeof(string),\"{DAEB26}Adminisztrátor %s figyelmeztette %s -t. (Indok: %s) (Figyelmeztetések: %d/%d)\",GetName(playerid),GetName(pplayerid), reason, P_Data[playerid][pWarn], MAX_WARNINGS );
SendClientMessageToAll(-1,string);
}
return 1;
}
CMD:jail(playerid, params[])
{
   if(P_Data[playerid][pAdmin] < 2) return SendClientMessage(playerid, COLOR_RED, \"A parancs használatához legalább 2-es színtû adminnak kell lenned!\");
   new   pplayerid,string[128],reason[48];
   if(sscanf(params, \"us[48]\", pplayerid,reason)) return SendClientMessage(playerid, COLOR_RED, \"Használat: /jail [Játékos ID/Játékos Név] [indok]\");
   if(pplayerid == INVALID_PLAYER_ID) return SendClientMessage(playerid, COLOR_RED, \"Rossz Játékos ID!\");
format(string, sizeof(string), \"{DAEB26}Adminisztrátor %s Börtönbe zárta %s -t. (Indok: %s)\", GetName(playerid), GetName(pplayerid), reason);
SendClientMessageToAll(-1, string);
SetPlayerPos(playerid,-9.9, 2336.8999, 24.3);
return 1;
}
CMD:freeze(playerid, params[])
{
   if(P_Data[playerid][pAdmin] < 2) return SendClientMessage(playerid, COLOR_RED, \"A parancs használatához legalább 2-es színtû adminnak kell lenned!\");
   new pplayerid,string[128],reason[48];
   if(sscanf(params, \"us[48]\", pplayerid,reason)) return SendClientMessage(playerid, COLOR_RED, \"Használat: /freeze [Játékos ID/Játékos Név] [indok]\");
   if(pplayerid == INVALID_PLAYER_ID) return SendClientMessage(playerid, COLOR_RED, \"Rossz Játékos ID!\");
if(P_Data[pplayerid][pFrozen] == 1)  return SendClientMessage(playerid, COLOR_RED, \"A játékos lefagyasztva!\");
TogglePlayerControllable(pplayerid, false);
   P_Data[pplayerid][pFrozen] = 1;
   format(string,sizeof(string),\"{197FE6}Adminisztrátor %s lefagyasztotta %s. Indok: %s\",GetName(playerid),GetName(pplayerid),reason);
   SendClientMessageToAll(COLOR_RED,string);
   return 1;
}
CMD:unfreeze(playerid, params[])
{
   if(P_Data[playerid][pAdmin] < 2) return SendClientMessage(playerid, COLOR_RED, \"A parancs használatához legalább 2-es színtû adminnak kell lenned!\");
   new pplayerid,string[128];
   if(sscanf(params, \"u\", pplayerid)) return SendClientMessage(playerid, COLOR_RED, \"Használat: /unfreeze [Játékos ID/Játékos Név]\");
   if(pplayerid == INVALID_PLAYER_ID) return SendClientMessage(playerid, COLOR_RED, \"Rossz Játékos ID!\");
if(P_Data[pplayerid][pFrozen] == 0)  return SendClientMessage(playerid, COLOR_RED, \"A játékos nincs lefagyasztva!\");
TogglePlayerControllable(pplayerid, true);
   P_Data[pplayerid][pFrozen] = 0;
   format(string,sizeof(string),\"{197FE6}Adminisztrátor %s feloldotta a lefagyasztásból %s -t.\",GetName(playerid),GetName(pplayerid));
   SendClientMessageToAll(COLOR_RED,string);
   return 1;
}
CMD:heal(playerid)
{
   GameTextForPlayer(playerid,\"~g~Életed feltöltve!\",3000,3);
SetPlayerHealth(playerid,100);
   return 1;
}
CMD:kill(playerid)
{
   GameTextForPlayer(playerid,\"~r~Meghaltál!!\",3000,3);
SetPlayerHealth(playerid,0);
   return 1;
}
CMD:setskin(playerid, params[])
{
   if(P_Data[playerid][pAdmin] < 2) return SendClientMessage(playerid, COLOR_RED, \"A parancs használatához legalább 2-es színtû adminnak kell lenned!\");
   new pplayerid,skin,string[128];
   if(sscanf(params, \"ui\", pplayerid,skin)) return SendClientMessage(playerid, COLOR_RED, \"Használat: /setskin [Játékos ID/Játékos Név] [skin ID]\");
   if(pplayerid == INVALID_PLAYER_ID) return SendClientMessage(playerid, COLOR_RED, \"Rossz Játékos ID!\");
P_Data[pplayerid][pSkin] = skin;
SetPlayerSkin(pplayerid,skin);
format(string,sizeof(string),\"{DAEB26}Adminisztrátor %s Átállította a Skined: %d -ra/re.\",GetName(playerid),skin);
SendClientMessage(pplayerid,-1,string);
format(string,sizeof(string),\"{DAEB26}Adminisztrátor %s Átállította %s skinjét %d -ra/re.\",GetName(playerid),GetName(playerid),skin);
SendClientMessageToAll(-1,string);
   return 1;
}
CMD:kidob(playerid, params[])
{
   if(P_Data[playerid][pAdmin] < 2) return SendClientMessage(playerid, COLOR_RED, \"A parancs használatához legalább 2-es színtû adminnak kell lenned!\");
   new pplayerid,string[128], vehicleid;
   new Float:x,Float:y,Float:z;
   if(sscanf(params, \"u\", pplayerid)) return SendClientMessage(playerid, COLOR_RED, \"Használat: /kidob [Játékos ID/Játékos Név]\");
   if(pplayerid == INVALID_PLAYER_ID) return SendClientMessage(playerid, COLOR_RED, \"Rossz Játékos ID!\");
   vehicleid = GetPlayerVehicleID(pplayerid);
if(IsPlayerInAnyVehicle(pplayerid))
{
GetVehiclePos(vehicleid,x,y,z);
SetPlayerPos(pplayerid,x+2,y,z);
format(string,sizeof(string),\"{E31010}Adminisztrátor %s Kidobott a jármûvedbõl.\",GetName(playerid));
SendClientMessage(pplayerid,-1,string);
format(string,sizeof(string),\"{E31010}Adminisztrátor %s Kidobota %s -t a jármûvébõl.\",GetName(playerid),GetName(pplayerid));
SendClientMessageToAll(-1,string);
}
else return SendClientMessage(playerid,COLOR_RED,\"A megadott játékos nem ül jármûben!\");
   return 1;
}
CMD:jetpack(playerid)
{
   if(P_Data[playerid][pAdmin] < 2) return SendClientMessage(playerid, COLOR_RED, \"A parancs használatához legalább 2-es színtû adminnak kell lenned!\");
SetPlayerSpecialAction(playerid, 2);
   return 1;
}
CMD:healall(playerid)
{
   if(P_Data[playerid][pAdmin] < 2) return SendClientMessage(playerid, COLOR_RED, \"A parancs használatához legalább 2-es színtû adminnak kell lenned!\");
   new string[128];
for(new i = 0; i   SetPlayerHealth(i,100); }
   format(string,sizeof(string),\"{19E620}Adminisztrátor %s Mindenkinek feltöltötte az életét.\",GetName(playerid));
   SendClientMessageToAll(-1,string);
return 1;
}
//=============================================== Level 3 =================================================
 
CMD:akill(playerid, params[])
{
   if(P_Data[playerid][pAdmin] < 3) return SendClientMessage(playerid, COLOR_RED, \"A parancs használatához legalább 3-as színtû adminnak kell lenned!\");
   new pplayerid,string[128];
   if(sscanf(params, \"u\", pplayerid)) return SendClientMessage(playerid, COLOR_RED, \"Használat: /akill [Játékos ID/Játékos Név]\");
   if(pplayerid == INVALID_PLAYER_ID) return SendClientMessage(playerid, COLOR_RED, \"Rossz Játékos ID!\");
SetPlayerHealth(pplayerid,0);
format(string,sizeof(string),\"{197FE6}Adminisztrátor %s megölte %s -t.\",GetName(playerid),GetName(pplayerid));
SendClientMessageToAll(-1,string);
return 1;
}
CMD:kick(playerid, params[])
{
   if(P_Data[playerid][pAdmin] < 3) return SendClientMessage(playerid, COLOR_RED, \"A parancs használatához legalább 3-as színtû adminnak kell lenned!\");
   new string[128],pplayerid, reason[48];
   if(sscanf(params, \"us[48]\", pplayerid, reason)) return SendClientMessage(playerid, COLOR_RED, \"Használat: /kick [Játékos ID/Játékos Név] [indok]\");
   if(pplayerid == INVALID_PLAYER_ID) return SendClientMessage(playerid, COLOR_RED, \"Rosz játékos ID!\");
   if(P_Data[pplayerid][pAdmin] == 3) return SendClientMessage(playerid, COLOR_RED, \"A Parancs használatához legalább 3-as színtû adminnak kell lenned!\");
format(string,sizeof(string),\"{197FE6}Adminisztrátor %s kirúgta %s -t. Indok: %s.\",GetName(playerid),GetName(pplayerid),reason);
   SendClientMessageToAll(-1,string);
Kick(pplayerid);
   return 1;
}
CMD:givemoney(playerid, params[])
{
   if(P_Data[playerid][pAdmin] < 3) return SendClientMessage(playerid, COLOR_RED, \"A parancs használatához legalább 3-as színtû adminnak kell lenned!\");
   new pplayerid,money,string[128];
   if(sscanf(params, \"ui\", pplayerid,money)) return SendClientMessage(playerid, COLOR_RED, \"Használat: /givemoney [Játékos ID/Játékos Név] [Pénz]\");
   if(pplayerid == INVALID_PLAYER_ID) return SendClientMessage(playerid, COLOR_RED, \"Rossz Játékos ID!\");
GivePlayerMoney(pplayerid, money);
format(string,sizeof(string),\"{DAEB26}Adminisztrátor %s küldött neked %d $-t\",GetName(playerid),money);
SendClientMessage(pplayerid,-1,string);
format(string,sizeof(string),\"{DAEB26}Adminisztrátor %s Küldött %s-nak/nek %d $-t\",GetName(playerid),GetName(pplayerid),money);
SendClientMessage(playerid,-1,string);
return 1;
}
CMD:giveweapon(playerid, params[])
{
   if(P_Data[playerid][pAdmin] < 3) return SendClientMessage(playerid, COLOR_RED, \"A parancs használatához legalább 3-as színtû adminnak kell lenned!\");
   new pplayerid,gun,ammo,string[128],gunname[128];
   if(sscanf(params, \"uii\", pplayerid,gun,ammo)) return SendClientMessage(playerid, COLOR_RED, \"Használat: /giveweapon [Játékos ID/Játékos Név] [Fegyver ID] [Töltény]\");
   if(pplayerid == INVALID_PLAYER_ID) return SendClientMessage(playerid, COLOR_RED, \"Rossz Játékos ID!\");
GivePlayerWeapon(pplayerid, gun,ammo);
GetWeaponName(gun,gunname,sizeof(gunname));
if(gun > 46 || gun < 1) return SendClientMessage(playerid, COLOR_RED, \"Rossz Fegyver ID\");
format(string,sizeof(string),\"{197FE6}Adminisztrátor %s adott neked egy %s fegyvert, %d tölténnyel!\",GetName(playerid),gunname, ammo);
SendClientMessage(pplayerid,-1,string);
format(string,sizeof(string),\"{197FE6}Adminisztrátor %s adott %s-nak/nek egy %s fegyvert, %d tölténnyel!\",GetName(playerid),GetName(pplayerid),gunname,ammo);
SendClientMessageToAll(-1,string);
return 1;
}
CMD:setweather(playerid, params[])
{
   if(P_Data[playerid][pAdmin] < 3) return SendClientMessage(playerid, COLOR_RED, \"Ehhez a parancshoz legalább 3-as színtû adminnak kéne lenned!\");
   new   pplayerid, string[128],weather;
   if(sscanf(params, \"ui\", pplayerid,weather)) return SendClientMessage(playerid, COLOR_RED, \"Használat: /setweather [Játékos ID/Játékos Név] [idõjárás ID (0 - 45)]\");
   if(pplayerid == INVALID_PLAYER_ID) return SendClientMessage(playerid, COLOR_RED, \"Rossz Játékos ID!\");
   if(weather > 45 || weather < 0) return SendClientMessage(playerid, COLOR_RED, \"Rossz Idõjárás ID!\");
   SetPlayerWeather(pplayerid,weather);
   format(string,sizeof(string),\"{197FE6}%s Megváltoztatta az idõjárásodat: %d -ra/re\",GetName(playerid),weather);
   SendClientMessage(pplayerid,-1,string);
   format(string,sizeof(string),\"{197FE6}Megváltoztattad az idõjárást %-nak/nek: %d -ra/re\",GetName(pplayerid),weather);
   SendClientMessage(playerid,-1,string);
return 1;
}
CMD:settime(playerid, params[])
{
   if(P_Data[playerid][pAdmin] < 3) return SendClientMessage(playerid, COLOR_RED, \"Ehhez a parancshoz legalább 3-as színtû adminnak kéne lenned!\");
   new time, string[128];
   if(sscanf(params, \"i\", time)) return SendClientMessage(playerid, -1, \"Használat: /settime [idõ]\");
   if(time > 24 || time < 0) return SendClientMessage(playerid, -1, \"Rossz idõ lett megadva!\");
   SetWorldTime(time);
   format(string, 128, \"{ff0000}Adminisztrátor %s Megváltoztatta a Szerver Idõt: %d-ra/re!\", GetName(playerid),time);
   SendClientMessageToAll(0xff00FF,string);
   return 1;
}
CMD:setscore(playerid, params[])
{
   if(P_Data[playerid][pAdmin] < 3) return SendClientMessage(playerid, COLOR_RED, \"Ehhez a parancshoz legalább 3-as színtû adminnak kéne lenned!\");
   new   pplayerid,string[128],score;
   if(sscanf(params, \"ui\", pplayerid,score)) return SendClientMessage(playerid, COLOR_RED, \"Használat: /setscore [Játékos ID/Játékos Név] [Pont]\");
   if(pplayerid == INVALID_PLAYER_ID) return SendClientMessage(playerid, COLOR_RED, \"Rossz Játékos ID!\");
format(string,sizeof(string),\"{F0B630}%s Beállította a pontjaidat: %d -ra/re\",GetName(playerid),score);
   SendClientMessage(pplayerid,-1,string);
   format(string,sizeof(string),\"{F0B630}%s -nak/nek beállítottad a pontjait. Jelenlegi Pontjai: %d\",GetName(pplayerid),score);
   SendClientMessage(playerid,-1,string);
SetPlayerScore(pplayerid,score);
P_Data[playerid][pScore] = score;
return 1;
}
//====================================================== Level 4 =================================================
 
CMD:ban(playerid, params[])
{
new year, month, day; getdate(year, month, day);
new hour, minute, second; gettime(hour, minute, second);
   if(P_Data[playerid][pAdmin] < 4) return SendClientMessage(playerid, COLOR_RED, \"A parancs használatához legalább 4-es színtû adminnak kell lenned!\");
   new string[128],pplayerid, reason[48];
   if(sscanf(params, \"us[48]\", pplayerid, reason)) return SendClientMessage(playerid, COLOR_RED, \"Használat: /ban [Játékos ID/Játékos Név] [indok]\");
   if(pplayerid == INVALID_PLAYER_ID) return SendClientMessage(playerid, COLOR_RED, \"Rossz Játékos ID!\");
format(string,sizeof(string),\"{197FE6}%s bannolva lett %s Adminisztrátor által. (Indok: %s) [idõ: %d/%d/%d %d:%d:%d ]\",GetName(playerid),GetName(pplayerid),reason, year, month, day, hour, minute, second);
   SendClientMessageToAll(-1,string);
Bans(playerid,pplayerid,reason);
   Ban(pplayerid);
   return 1;
}
CMD:unban(playerid, params[])
{
   new year, month, day; getdate(year, month, day);
   new hour, minute, second; gettime(hour, minute, second);
   if(P_Data[playerid][pAdmin] < 4) return SendClientMessage(playerid, COLOR_RED, \"A parancs használatához legalább 4-es színtû adminnak kell lenned!\");
   new name[48],string[64];
   if(sscanf(params, \"s[48]\",name)) return SendClientMessage(playerid, COLOR_RED, \"Használat: /unban [Játékos Név]\");
format(string,sizeof(string),\"%s.ini\",name);
fremove(string);
format(string,sizeof(string),\"{197FE6}Adminisztrátor %s unbannolta %s -t. [idõ: %d/%d/%d %d:%d:%d ]\",GetName(playerid), name, year, month, day, hour, minute, second);
SendClientMessageToAll(-1, string);
SendRconCommand(string);
SendRconCommand(\"reloadbans\");
   return 1;
}
CMD:disarm(playerid, params[])
{
   if(P_Data[playerid][pAdmin] < 4) return SendClientMessage(playerid, COLOR_RED, \"A parancs használatához legalább 4-es színtû adminnak kell lenned!\");
   new pplayerid,string[64];
   if(sscanf(params, \"u\",pplayerid)) return SendClientMessage(playerid, COLOR_RED, \"Használat: /disarm [Játékos ID/Játékos Név]\");
format(string,sizeof(string),\"{197FE6}Adminisztrátor %s Lefegyverezett téged!\",GetName(playerid));
SendClientMessage(pplayerid,-1,string);
format(string,sizeof(string),\"{197FE6}Lefegyvereszted %s -t.\",GetName(pplayerid));
SendClientMessage(playerid,-1,string);
ResetPlayerWeapons(pplayerid);
   return 1;
}
CMD:killall(playerid)
{
   if(P_Data[playerid][pAdmin] < 4) return SendClientMessage(playerid, COLOR_RED, \"A parancs használatához legalább 4-es színtû adminnak kell lenned!\");
   for(new i=0; i    {
   SetPlayerHealth(i,0);
   }
   return 1;
}
CMD:explode(playerid, params[])
{
   if(P_Data[playerid][pAdmin] < 4) return SendClientMessage(playerid, COLOR_RED, \"A parancs használatához legalább 4-es színtû adminnak kell lenned!\");
   new   pplayerid,string[128];
   if(sscanf(params, \"u\", pplayerid)) return SendClientMessage(playerid, COLOR_RED, \"Használat: /explode [Játékos ID/Játékos Név]\");
   Explode(pplayerid);
   format(string,sizeof(string),\"{F0B630}Adminisztrátor %s Felrobbantotta %s-t.\",GetName(playerid),GetName(pplayerid));
   SendClientMessageToAll(-1,string);
return 1;
}
CMD:armourall(playerid) {
   if(P_Data[playerid][pAdmin] < 4) return SendClientMessage(playerid, COLOR_RED, \"Ehhez a parancshoz legalább 4-es színtû adminnak kéne lenned!\");
   new
       string[128];
for(new i = 0; i   SetPlayerArmour(i,100); }
   format(string,sizeof(string),\"{197FE6}%s Felfegyverezett mindenkit.\",GetName(playerid));
   SendClientMessageToAll(-1,string);
return 1;
}
CMD:rescar(playerid) {
   if(P_Data[playerid][pAdmin] < 4) return SendClientMessage(playerid, COLOR_RED, \"Ehhez a parancshoz legalább 4-es színtû adminnak kéne lenned!\");
   new string[128];
for(new car = 0; car    VehicleHaveDriver(car);
SetVehicleToRespawn(car); }
   format(string,sizeof(string),\"{19E620}%s újraspawnolta az összes kocsit.\",GetName(playerid));
   SendClientMessageToAll(-1,string);
return 1;
}
//Level 5
CMD:setlevel(playerid, params[])
{
if(P_Data[playerid][pAdmin] < 5 && !IsPlayerAdmin(playerid)) return SendClientMessage(playerid, COLOR_RED, \"Ehhez a parancshoz legalább 5-ös színtû adminnak kéne lenned!\");
new string[128], pplayerid, level;
new year,month,day;   getdate(year, month, day);
new hour,minute,second; gettime(hour,minute,second);
if(sscanf(params, \"ui\", pplayerid, level)) return SendClientMessage(playerid, COLOR_RED, \"Használat: /setlevel [Játékos ID/Játékos Név] [Admin Level]\");
if(level > 5 || level < 0) return SendClientMessage(playerid,COLOR_RED,\"Maximum szint 5.\");
if(pplayerid == INVALID_PLAYER_ID) return SendClientMessage(playerid, COLOR_RED, \"Rossz játékod ID!\");
format(string,sizeof(string),\"{19E620}%s fokozta az admin szinted: %d -ra/re! [idõ %d/%d/%d %d:%d:%d]\",GetName(playerid),level, year, month, day, hour, minute, second);
SendClientMessage(pplayerid,-1,string);
format(string,sizeof(string),\"{19E620}Adminisztrátor %s fokozta %s -nak/nek az admin szintjét: %d -ra/re. [idõ: %d/%d/%d %d:%d:%d]\",GetName(playerid),GetName(pplayerid),level, year, month, day, hour, minute, second);
SendClientMessageToAll(-1,string);
P_Data[pplayerid][pAdmin] = level;
return 1;
}
CMD:god(playerid)
{
if(P_Data[playerid][pAdmin] < 5) return SendClientMessage(playerid, COLOR_RED, \"Ehhez a parancshoz legalább 5-ös színtû adminnak kéne lenned!\");
if(!GetPVarInt(playerid, \"god\"))
{
SetPVarInt(playerid, \"god\", 1);
SendClientMessage(playerid,0x00ff1eAA,\"God Mód Aktiválva!\");
SetPlayerHealth(playerid,99999);
}else{
SetPVarInt(playerid, \"god\", 0);
SendClientMessage(playerid,0xff0000AA,\"God Mód Kikapcsolva!\");
SetPlayerHealth(playerid,100);
}
return 1;
}
CMD:allips(playerid) {
   if(P_Data[playerid][pAdmin] < 5) return SendClientMessage(playerid, COLOR_RED, \"Ehhez a parancshoz legalább 5-ös színtû adminnak kéne lenned!\");
   new   string[128],playersip[20];
   foreach(Player, i) {
   GetPlayerIp(i,playersip,sizeof(playersip));
   format(string,sizeof(string),\"{19E620}%s IP-je: %s\",GetName(i),playersip);
   SendClientMessage(playerid,-1,string);  }
   return 1;
}
CMD:kickall(playerid)
{
   if(P_Data[playerid][pAdmin] < 5) return SendClientMessage(playerid, COLOR_RED, \"Ehhez a parancshoz legalább 5-ös színtû adminnak kéne lenned!\");
   for(new i=0; i    {
Kick(i);
   }
   return 1;
}
CMD:gmx(playerid)
{
   if(P_Data[playerid][pAdmin] < 5) return SendClientMessage(playerid, COLOR_RED, \"Ehhez a parancshoz legalább 5-ös színtû adminnak kéne lenned!\");
     SendRconCommand(\"gmx\");
   return 1;
}
CMD:muteall(playerid) {
   if(P_Data[playerid][pAdmin] < 5) return SendClientMessage(playerid, COLOR_RED, \"Ehhez a parancshoz legalább 5-ös színtû adminnak kéne lenned!!\");
   new string[32];
   SendClientMessage(playerid, -1, \"{E31010}Lenémítottad az összes Játékost!\");
     foreach(Player, i) {
     if(P_Data[pMute] == 1) {format(string,sizeof(string),\"{E31010}%s\",GetName(i)); SendClientMessage(playerid, -1, string);} }
   return 1;
}
CMD:freezeall(playerid) {
   if(P_Data[playerid][pAdmin] < 5) return SendClientMessage(playerid, COLOR_RED, \"Ehhez a parancshoz legalább 5-ös színtû adminnak kéne lenned!\");
   new string[32];
   SendClientMessage(playerid, -1, \"{197FE6}Lefagyasztott minden játékost!\");
     foreach(Player, i) {
     if(P_Data[pFrozen] == 1) {format(string,sizeof(string),\"{197FE6}%s\",GetName(i)); SendClientMessage(playerid, -1, string);} }
   return 1;
}
CMD:acmds(playerid, params[])
{
   if(P_Data[playerid][pAdmin] == 0) return SendClientMessage(playerid, COLOR_RED, \"Nem vagy admin!\");
if(P_Data[playerid][pAdmin] == 1) {
new acmdstr[2048];
    acmdstr[0] = EOS;
strcat(acmdstr,\"{19E620}\\t\\t\\t\\t.: Admin Parancsok :.\\n\");
strcat(acmdstr,\"{19E620}Level 1: /clearchat | /announce | /goto | /get | /[un]mute | /getip | /slap | /apm | /achat\\n\");
      ShowPlayerDialog(playerid,DIALOG_ACMDS,DIALOG_STYLE_MSGBOX,\"Admin Parancsok\",acmdstr,\"Bezár\",\"\");
}
if(P_Data[playerid][pAdmin] == 2) {
   new acmdstr[2048];
    acmdstr[0] = EOS;
strcat(acmdstr,\"{19E620}\\t\\t\\t\\t.: Admin Parancsok :.\\n\");
strcat(acmdstr,\"{19E620}Level 1: /clearchat | /announce | /goto | /get | /[un]mute | /getip | /slap | /apm | /achat\\n\");
strcat(acmdstr,\"{F0B630}Level 2: /healall | /[un]freeze | /setskin | /jetpack | /akill | /warn\\n\");
ShowPlayerDialog(playerid,DIALOG_ACMDS,DIALOG_STYLE_MSGBOX,\"Admin Parancsok\",acmdstr,\"Bezár\",\"\");
}
if(P_Data[playerid][pAdmin] == 3) {
   new acmdstr[2048];
    acmdstr[0] = EOS;
strcat(acmdstr,\"{19E620}\\t\\t\\t\\t.: Admin Parancsok :.\\n\");
strcat(acmdstr,\"{19E620}Level 1: /clearchat | /announce | /goto | /get | /[un]mute | /getip | /slap | /apm | /achat\\n\");
strcat(acmdstr,\"{F0B630}Level 2: /healall | /[un]freeze | /setskin | /jetpack | /akill | /warn\\n\");
strcat(acmdstr,\"{197FE6}Level 3: /kick | /kidob | /givemoney | /setweapon | /setweather | /setscore\\n\");
ShowPlayerDialog(playerid,DIALOG_ACMDS,DIALOG_STYLE_MSGBOX,\"Admin Parancsok\",acmdstr,\"Bezár\",\"\");
}
if(P_Data[playerid][pAdmin] == 4) {
   new acmdstr[2048];
    acmdstr[0] = EOS;
strcat(acmdstr,\"{19E620}\\t\\t\\t\\t.: Admin Parancsok :.\\n\");
strcat(acmdstr,\"{19E620}Level 1: /clearchat | /announce | /goto | /get | /[un]mute | /getip | /slap | /apm | /achat\\n\");
strcat(acmdstr,\"{F0B630}Level 2: /healall | /[un]freeze | /setskin | /jetpack | /akill | /warn\\n\");
strcat(acmdstr,\"{197FE6}Level 3: /kick | /kidob | /givemoney | /setweapon | /setweather | /setscore\\n\");
strcat(acmdstr,\"{113ABF}Level 4: /[un]ban | /killall | /explode | /armourall | /disarm | /rescar\\n\");
ShowPlayerDialog(playerid,DIALOG_ACMDS,DIALOG_STYLE_MSGBOX,\"Admin Parancsok\",acmdstr,\"Bezár\",\"\");
}
if(P_Data[playerid][pAdmin] == 5) {
    new acmdstr[2048];
    acmdstr[0] = EOS;
strcat(acmdstr,\"{19E620}\\t\\t\\t\\t.: Admin Parancsok :.\\n\");
strcat(acmdstr,\"{19E620}Level 1: /clearchat | /announce | /goto | /get | /[un]mute | /getip | /slap | /apm | /achat\\n\");
strcat(acmdstr,\"{F0B630}Level 2: /healall | /[un]freeze | /setskin | /jetpack | /akill | /warn\\n\");
strcat(acmdstr,\"{197FE6}Level 3: /kick | /kidob | /givemoney | /setweapon | /setweather | /setscore\\n\");
strcat(acmdstr,\"{113ABF}Level 4: /[un]ban | /killall | /explode | /armourall | /disarm | /rescar\\n\");
strcat(acmdstr,\"{E31010}Level 5: /setlevel | /allips | /kickall | /gmx | /muteall| /freezeall /god\\n\");
ShowPlayerDialog(playerid,DIALOG_ACMDS,DIALOG_STYLE_MSGBOX,\"Admin Parancsok\",acmdstr,\"Bezár\",\"\");
}
return 1;
}
//============RCON Support==============
CMD:panel(playerid)
{
   if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, COLOR_RED, \"Nem vagy RCON Admin hogy használni tudd a parancsot!\");
   ShowPlayerDialog(playerid,RCON_DIALOG,DIALOG_STYLE_LIST,\"RCON Beállítások\",\"Szerver név beállítás\\nMap név beállítás\\nSzerver Feloldás\\nSzerver Lezárás\\nÚjraindítás\\nJelszó változtatás\\nKikapcsolás\",\"Választ\",\"Bezárás\");
return 1;
}
//============================Stock============================================
stock Explode(playerid) {
new Float:Pos[3];
GetPlayerPos(playerid,Pos[0], Pos[1], Pos[2]);
CreateExplosion(Pos[0], Pos[1], Pos[2], 7, 10);
}
stock VehicleHaveDriver(car) {
foreach(Player, i) {
if(IsPlayerInVehicle(i, car)) return 1;
}
return 1;
}
stock Bans(playerid,targetid,reason[]) {
new string[128];
format(string, sizeof(string), \"%s Bannolta %s -t. Indok: %s \\r\\n\", GetName(playerid),GetName(targetid),reason);
   new File:hFile;
   hFile = fopen(\"/Adminrendszer/Bans.txt\", io_append);
   fwrite(hFile, string);
   fclose(hFile);
}
stock AskLog(playerid,text[]) {
new string[128];
format(string, sizeof(string), \"%s Üzenete: %s \\r\\n\", GetName(playerid),text);
   new File:hFile;
   hFile = fopen(\"/Adminrendszer/ReportLog.txt\", io_append);
   fwrite(hFile,string);
   fclose(hFile);
}
stock Cars(playerid, model, color1, color2) {
new Float:Pos[4];
GetPlayerPos(playerid,Pos[0],Pos[1],Pos[2]); GetPlayerFacingAngle(playerid, Pos[3]);
if(GetPVarInt(playerid,\"VipCar\") != -1) DestroyVehicle(GetPVarInt(playerid,\"VipCar\"));
new vehicleid = CreateVehicle(model,Pos[0],Pos[1],Pos[2], Pos[3],color1, color2, 3600);
SetPVarInt(playerid,\"VipCar\", vehicleid);
SendClientMessage(playerid,-1,\"\"COL_YELLOW\"Jármû spawnolva!\");
}
stock IsRegistered(name[]) {
new string[128];
format(string, sizeof(string), \"Adminrendszer/Játékosok/%s.ini\", name);
if(dfile_FileExists(string)) return true;
return false;
}
stock pName(playerid) {
static getName[24];
GetPlayerName(playerid, getName, 24);
return getName;
}
//Skin fasz
GetNumberOfPages()
{
if((gTotalItems >= SELECTION_ITEMS) && (gTotalItems % SELECTION_ITEMS) == 0)
{
return (gTotalItems / SELECTION_ITEMS);
}
else return (gTotalItems / SELECTION_ITEMS) + 1;
}
//------------------------------------------------
PlayerText:CreateCurrentPageTextDraw(playerid, Float:Xpos, Float:Ypos)
{
new PlayerText:txtInit;
     txtInit = CreatePlayerTextDraw(playerid, Xpos, Ypos, \"0/0\");
     PlayerTextDrawUseBox(playerid, txtInit, 0);
PlayerTextDrawLetterSize(playerid, txtInit, 0.4, 1.1);
PlayerTextDrawFont(playerid, txtInit, 1);
PlayerTextDrawSetShadow(playerid, txtInit, 0);
   PlayerTextDrawSetOutline(playerid, txtInit, 1);
   PlayerTextDrawColor(playerid, txtInit, 0xACCBF1FF);
   PlayerTextDrawShow(playerid, txtInit);
   return txtInit;
}
//------------------------------------------------
// Creates a button textdraw and returns the textdraw ID.
PlayerText:CreatePlayerDialogButton(playerid, Float:Xpos, Float:Ypos, Float:Width, Float:Height, button_text[])
{
new PlayerText:txtInit;
     txtInit = CreatePlayerTextDraw(playerid, Xpos, Ypos, button_text);
     PlayerTextDrawUseBox(playerid, txtInit, 1);
     PlayerTextDrawBoxColor(playerid, txtInit, 0x000000FF);
     PlayerTextDrawBackgroundColor(playerid, txtInit, 0x000000FF);
PlayerTextDrawLetterSize(playerid, txtInit, 0.4, 1.1);
PlayerTextDrawFont(playerid, txtInit, 1);
PlayerTextDrawSetShadow(playerid, txtInit, 0); // no shadow
   PlayerTextDrawSetOutline(playerid, txtInit, 0);
   PlayerTextDrawColor(playerid, txtInit, 0x4A5A6BFF);
   PlayerTextDrawSetSelectable(playerid, txtInit, 1);
   PlayerTextDrawAlignment(playerid, txtInit, 2);
   PlayerTextDrawTextSize(playerid, txtInit, Height, Width); // The width and height are reversed for centering.. something the game does
   PlayerTextDrawShow(playerid, txtInit);
   return txtInit;
}
//------------------------------------------------
PlayerText:CreatePlayerHeaderTextDraw(playerid, Float:Xpos, Float:Ypos, header_text[])
{
new PlayerText:txtInit;
     txtInit = CreatePlayerTextDraw(playerid, Xpos, Ypos, header_text);
     PlayerTextDrawUseBox(playerid, txtInit, 0);
PlayerTextDrawLetterSize(playerid, txtInit, 1.25, 3.0);
PlayerTextDrawFont(playerid, txtInit, 0);
PlayerTextDrawSetShadow(playerid, txtInit, 0);
   PlayerTextDrawSetOutline(playerid, txtInit, 1);
   PlayerTextDrawColor(playerid, txtInit, 0xACCBF1FF);
   PlayerTextDrawShow(playerid, txtInit);
   return txtInit;
}
//------------------------------------------------
PlayerText:CreatePlayerBackgroundTextDraw(playerid, Float:Xpos, Float:Ypos, Float:Width, Float:Height)
{
new PlayerText:txtBackground = CreatePlayerTextDraw(playerid, Xpos, Ypos,
\"                                            ~n~\"); // enough space for everyone
   PlayerTextDrawUseBox(playerid, txtBackground, 1);
   PlayerTextDrawBoxColor(playerid, txtBackground, 0x4A5A6BBB);
PlayerTextDrawLetterSize(playerid, txtBackground, 5.0, 5.0);
PlayerTextDrawFont(playerid, txtBackground, 0);
PlayerTextDrawSetShadow(playerid, txtBackground, 0);
   PlayerTextDrawSetOutline(playerid, txtBackground, 0);
   PlayerTextDrawColor(playerid, txtBackground,0x000000FF);
   PlayerTextDrawTextSize(playerid, txtBackground, Width, Height);
     PlayerTextDrawBackgroundColor(playerid, txtBackground, 0x4A5A6BBB);
   PlayerTextDrawShow(playerid, txtBackground);
   return txtBackground;
}
//------------------------------------------------
// Creates a model preview sprite
PlayerText:CreateModelPreviewTextDraw(playerid, modelindex, Float:Xpos, Float:Ypos, Float:width, Float:height)
{
   new PlayerText:txtPlayerSprite = CreatePlayerTextDraw(playerid, Xpos, Ypos, \"\"); // it has to be set with SetText later
   PlayerTextDrawFont(playerid, txtPlayerSprite, TEXT_DRAW_FONT_MODEL_PREVIEW);
   PlayerTextDrawColor(playerid, txtPlayerSprite, 0xFFFFFFFF);
   PlayerTextDrawBackgroundColor(playerid, txtPlayerSprite, 0x88888899);
   PlayerTextDrawTextSize(playerid, txtPlayerSprite, width, height); // Text size is the Width:Height
   PlayerTextDrawSetPreviewModel(playerid, txtPlayerSprite, modelindex);
   PlayerTextDrawSetSelectable(playerid, txtPlayerSprite, 1);
   PlayerTextDrawShow(playerid,txtPlayerSprite);
   return txtPlayerSprite;
}
//------------------------------------------------
DestroyPlayerModelPreviews(playerid)
{
new x=0;
while(x != SELECTION_ITEMS) {
    if(gSelectionItems[playerid]
  • != PlayerText:INVALID_TEXT_DRAW) {

   PlayerTextDrawDestroy(playerid, gSelectionItems[playerid]
  • );

   gSelectionItems[playerid]
  • = PlayerText:INVALID_TEXT_DRAW;

}
x++;
}
}
//------------------------------------------------
ShowPlayerModelPreviews(playerid)
{
   new x=0;
new Float:BaseX = DIALOG_BASE_X;
new Float:BaseY = DIALOG_BASE_Y - (SPRITE_DIM_Y * 0.33); // down a bit
new linetracker = 0;
new itemat = GetPVarInt(playerid, \"skinc_page\") * SELECTION_ITEMS;
// Destroy any previous ones created
DestroyPlayerModelPreviews(playerid);
while(x != SELECTION_ITEMS && itemat < gTotalItems) {
    if(linetracker == 0) {
        BaseX = DIALOG_BASE_X + 25.0; // in a bit from the box
        BaseY += SPRITE_DIM_Y + 1.0; // move on the Y for the next line
}
       gSelectionItems[playerid]
  • = CreateModelPreviewTextDraw(playerid, gItemList[itemat], BaseX, BaseY, SPRITE_DIM_X, SPRITE_DIM_Y);

       gSelectionItemsTag[playerid]
  • = gItemList[itemat];

BaseX += SPRITE_DIM_X + 1.0; // move on the X for the next sprite
linetracker++;
if(linetracker == ITEMS_PER_LINE) linetracker = 0;
itemat++;
x++;
}
}
//------------------------------------------------
UpdatePageTextDraw(playerid)
{
new PageText[64+1];
format(PageText, 64, \"%d/%d\", GetPVarInt(playerid,\"skinc_page\") + 1, GetNumberOfPages());
PlayerTextDrawSetString(playerid, gCurrentPageTextDrawId[playerid], PageText);
}
//------------------------------------------------
CreateSelectionMenu(playerid)
{
   gBackgroundTextDrawId[playerid] = CreatePlayerBackgroundTextDraw(playerid, DIALOG_BASE_X, DIALOG_BASE_Y + 20.0, DIALOG_WIDTH, DIALOG_HEIGHT);
   gHeaderTextDrawId[playerid] = CreatePlayerHeaderTextDraw(playerid, DIALOG_BASE_X, DIALOG_BASE_Y, HEADER_TEXT);
   gCurrentPageTextDrawId[playerid] = CreateCurrentPageTextDraw(playerid, DIALOG_WIDTH - 30.0, DIALOG_BASE_Y + 15.0);
   gNextButtonTextDrawId[playerid] = CreatePlayerDialogButton(playerid, DIALOG_WIDTH - 30.0, DIALOG_BASE_Y+DIALOG_HEIGHT+100.0, 50.0, 16.0, NEXT_TEXT);
   gPrevButtonTextDrawId[playerid] = CreatePlayerDialogButton(playerid, DIALOG_WIDTH - 90.0, DIALOG_BASE_Y+DIALOG_HEIGHT+100.0, 50.0, 16.0, PREV_TEXT);
   ShowPlayerModelPreviews(playerid);
   UpdatePageTextDraw(playerid);
}
//------------------------------------------------
DestroySelectionMenu(playerid)
{
DestroyPlayerModelPreviews(playerid);
PlayerTextDrawDestroy(playerid, gHeaderTextDrawId[playerid]);
PlayerTextDrawDestroy(playerid, gBackgroundTextDrawId[playerid]);
PlayerTextDrawDestroy(playerid, gCurrentPageTextDrawId[playerid]);
PlayerTextDrawDestroy(playerid, gNextButtonTextDrawId[playerid]);
PlayerTextDrawDestroy(playerid, gPrevButtonTextDrawId[playerid]);
gHeaderTextDrawId[playerid] = PlayerText:INVALID_TEXT_DRAW;
   gBackgroundTextDrawId[playerid] = PlayerText:INVALID_TEXT_DRAW;
   gCurrentPageTextDrawId[playerid] = PlayerText:INVALID_TEXT_DRAW;
   gNextButtonTextDrawId[playerid] = PlayerText:INVALID_TEXT_DRAW;
   gPrevButtonTextDrawId[playerid] = PlayerText:INVALID_TEXT_DRAW;
}
//------------------------------------------------
HandlePlayerItemSelection(playerid, selecteditem)
{
    if(gSelectionItemsTag[playerid][selecteditem] >= 0 && gSelectionItemsTag[playerid][selecteditem] < 300)
{
       SetPlayerSkin(playerid, gSelectionItemsTag[playerid][selecteditem]);
       gSelectionItemsTag[playerid][selecteditem] = P_Data[playerid][pSkin];
if(SkinChange1[playerid] == 1)
       {
       SendClientMessage(playerid,0x10F441AA, \"Skined megváltoztatva!\");
}
       else
       {
       SendClientMessage(playerid,0x10F441AA, \"Skined kiválasztva! Ha változtatni akarod a skined, írd be a /skin parancsot!\");
       }
return;
}
}

15
Segítségkérés / Hazrendszer es biszniszrendszer\'
« Dátum: 2013. Október 24. - 21:16:45 »
Sziasztok!!
Itt ez a ppc házrendszer,mikor beirom hogy /createhouse azt irja nincs ilyen parancs!!Valaki megnézné?
És nem tudtok egy ppc biszniszrendszert?
mostmár létrehozza a házat de amikor belepek hiába rakom a kocsi vétel vagy akarmire mert nem reagál!
mi lehet a probléma?
 
//  PPC Trucking házrendszer
//
//  Készítette: PowerPC603
//
//  A szkriptet ScreaM fordította a Magyar SA-MP Közösség számára!
//
//                          WWW.SAMPFORUM.HU
#pragma tabsize 0
#include
#include
#include
#include
#include
#pragma unused ret_memcpy
 
// ******************************************************************************************************************************
// A beállítások módosíthatóak
// ******************************************************************************************************************************
// Set timer-delay for exiting houses (this timer freezes a player when he exits a house, this allows the game to load the environment
// before the player starts to fall, also the player\'s vehicles assigned to the house he exits from, are respawned by this timer)
new ExitHouseTimer = 1000;
// This allows you to toggle the red houses on the map (bought houses appear on the map as red house icons when this is set to \"true\")
// Setting this to \"false\" doesn\'t show a bought house on the map
new bool:ShowBoughtHouses = false;
// Setting this to \"true\" will load all vehicles assigned to houses when the filterscript loads
// Setting this to \"false\" will load the vehicles assigned to a house when the house-owner logs in (they\'ll also disappear when he logs out)
// Recommended setting for popular servers (with alot of players): \"false\"
// In popular servers, the amount of cars could go over the samp-limit (2000), bugging everything when all cars stay loaded
// even when the owner of the vehicle is offline
new bool:LoadCarsDuringFSInit = false;
// Setting this to \"true\" will set all houses to have insurance by default
// Seting this to \"false\" required players to buy insurance for their vehicles from within the house
// If players don\'t have insurance, their vehicle will be gone forever if it\'s destroyed
// If players have insurance, they will get their vehicle back when it\'s destroyed
new bool:AutomaticInsurance = true;
// Default max number of players is set to 500, re-define it to 50
#undef MAX_PLAYERS
#define MAX_PLAYERS 50
// Define housing parameters
#define MAX_HOUSES               2000 // Defines the maximum number of houses that can be created
#define MAX_HOUSESPERPLAYER         20 // Defines the maximum number of houses that any player can own (useable values: 1 to 20)
#define HouseUpgradePercent         100 // Defines the percentage for upgrading a house (house of 10m can be upgraded for 5m when set to 50)
#define ParkRange                   150.0 // Defines the range for parking the vehicle around the house to which it belongs (default = 150m)
// Define path to house-files and player-files
#define HouseFile \"PPC_Housing/House%i.ini\"
// Define Dialogs
#define DialogHouseMenu             5001
#define DialogUpgradeHouse          5002
#define DialogGoHome                5003
#define DialogHouseNameChange       5004
#define DialogSellHouse             5005
#define DialogBuyCarClass           5006
#define DialogBuyCar                5007
#define DialogSellCar               5008
#define DialogBuyInsurance          5009
#define DialogGetCarSelectHouse     5010
#define DialogGetCarSelectCar       5011
// Define vehicle-classes
#define VClassBike          1
#define VClassBoat          2
#define VClassConvertible   3
#define VClassHelicopter    4
#define VClassIndustrial    5
#define VClassLowRider      6
#define VClassOffRoad       7
#define VClassPlane         8
#define VClassPublic        9
#define VClassRCVehicle     10
#define VClassSaloons       11
#define VClassSportCar      12
#define VClassStationCar    13
#define VClassTrailer       14
#define VClassUnique        15
 
// ******************************************************************************************************************************
// Enums and the array-setups that use them
// ******************************************************************************************************************************
// Setup a custom type that holds all data for houses
enum THouseData
{
PickupID, // Holds the pickup-id that is linked to this house
Text3D:DoorText, // Holds the reference to the 3DText above the house\'s pickup
MapIconID, // Holds the ID of the mapicon for the house
bool:Owned, // Holds true if the house is owned by somebody
Owner[24], // Holds the name of the owner of the house
HouseName[100], // Holds the name of the house (this will be displayed above the pickup near the house when it\'s owned)
Float:HouseX, // Holds the X-coordinate of the pickup for the house
Float:HouseY, // Holds the Y-coordinate of the pickup for the house
Float:HouseZ, // Holds the Z-coordinate of the pickup for the house
HouseLevel, // Holds the level of upgrades the house has, and defines which interior to use when you enter the house
HouseMaxLevel, // Holds the maximum level this house can be upgraded to
HousePrice, // Holds the price for buying the house, the same price applies when upgrading a house per level (multiplied by HouseUpgradePercent/100)
bool:HouseOpened, // Holds true if the house is open to the public (anyone can enter), false means: only the owner can enter it
bool:Insurance, // Holds \"true\" if the house has an insurance for the vehicles belonging to this house
VehicleIDs[10], // Holds the vehicle-id\'s of the vehicles linked to this house (max 10 vehicles per house)
bool:StaticHouse, // Holds \"true\" if the house is static (cannot be upgraded and has a fixed interior)
CarSlots // Holds the amount of carslots available
}
// Holds the data for all houses
new AHouseData[MAX_HOUSES][THouseData];
 
// Setup a custom type to hold all data about a vehicle
enum TVehicleData
{
BelongsToHouse, // Holds the HouseID to which this vehicle belongs
bool:Owned, // Holds true if the vehicle is owned by somebody
Owner[24], // Holds the name of the owner of the vehicle
Model, // Holds the vehicle-model of this vehicle
PaintJob, // Holds the ID of the paintjob applied to the vehicle
Components[14], // Holds all Component-ID\'s for all components on the vehicle
Color1, // Holds the primary color for this vehicle
Color2, // Holds the secundairy color for this vehicle
Float:SpawnX, // Holds the X-coordinate of the parking spot for this vehicle
Float:SpawnY, // Holds the Y-coordinate of the parking spot for this vehicle
Float:SpawnZ, // Holds the Z-coordinate of the parking spot for this vehicle
Float:SpawnRot // Holds the rotation of the parking spot for this vehicle
}
// Setup an array which holds all data for every vehicle, max 2000 vehicles (server limit)
new AVehicleData[2000][TVehicleData];
 
// Setup all the fields required for the player data (Speedometer TextDraw, current job, ...)
enum TPlayerData
{
Houses[20], // Holds the HouseID\'s of the houses that the player owns (index of the AHouseData array), maximum 20 houses per player
   CurrentHouse, // Holds the HouseID to track in which house the player currently is (used when accessing the housemenu)
DialogBuyVClass,
DialogGetCarHouseID
}
// Create an array to hold the playerdata for every player
new APlayerData[MAX_PLAYERS][TPlayerData];
 
// Setup a custom type that holds all data about a house-interior (selected when entering a house, based on the house-level)
enum THouseInterior
{
InteriorName[50], // Holds the name of the interior
InteriorID, // Holds the interior-id
Float:IntX, // Holds the X-coordinate of the spawn-location where you enter the house
Float:IntY, // Holds the Y-coordinate of the spawn-location where you enter the house
Float:IntZ // Holds the Z-coordinate of the spawn-location where you enter the house
}
// Holds the data for all interiors for houses (each house-level has it\'s own interior)
new AHouseInteriors[][THouseInterior] =
{
{\"Dummy\",             0,       0.0,       0.0,       0.0}, // Dummy interior (Level 0), as the house-level starts at 1
{\"Small motel room\",    10,    2262.83,    -1137.71,    1050.63}, // Level 1
{\"Small house\",       2,       2467.36,    -1698.38,    1013.51}, // Level 2
{\"Small house 2\",       1,       223.00,    1289.26,    1082.20}, // Level 3
{\"Medium house\",       10,    2260.76,    -1210.45,    1049.02}, // Level 4
{\"Medium house 2\",      8,       2365.42,    -1131.85,    1050.88}, // Level 5
{\"Duplex house\",      12,    2324.33,    -1144.79,    1050.71}, // Level 6
{\"Big house\",          15,    295.14,    1474.47,    1080.52}, // Level 7
{\"Big duplex house\",    3,       235.50,    1189.17,    1080.34}, // Level 8
{\"Huge house\",          7,       225.63,    1022.48,    1084.07}, // Level 9
{\"Mansion\",          5,       1299.14,    -794.77,    1084.00} // Level 10
};
 
// Setup a custom type that holds all data about a buyable vehicle
enum TBuyableVehicle
{
CarName[50], // Holds the name of the vehicle
VehicleClass, // Holds the ID of the vehicleclass
CarModel, // Holds the model-ID of the vehicle
Price // Holds the price for the vehicle (renting it will be 10% of this price)
}
new ABuyableVehicles[][TBuyableVehicle] =
{
{\"Admiral\", VClassSaloons, 445, 50000},
{\"Alpha\", VClassSportCar, 602, 50000},
{\"Ambulance\", VClassPublic, 416, 50000},
{\"Andromada\", VClassPlane, 592, 50000},
{\"Article Trailer\", VClassTrailer, 591, 50000},
//   {\"AT400\", VClassPlane, 577, 50000},
{\"Baggage\", VClassUnique, 485, 50000},
{\"Baggage Trailer A\", VClassTrailer, 606, 50000},
{\"Baggage Trailer B\", VClassTrailer, 607, 50000},
{\"Bandito\", VClassOffRoad, 568, 50000},
{\"Banshee\", VClassSportCar, 429, 50000},
{\"Barracks\", VClassPublic, 433, 50000},
{\"Beagle\", VClassPlane, 511, 50000},
{\"Benson\", VClassIndustrial, 499, 50000},
{\"Berkley\'s RC Van\", VClassIndustrial, 459, 50000},
{\"BF Injection\", VClassOffRoad, 424, 50000},
{\"BF-400\", VClassBike, 581, 50000},
{\"Bike\", VClassBike, 509, 50000},
{\"Blade\", VClassLowRider, 536, 50000},
{\"Blista Compact\", VClassSportCar, 496, 50000},
{\"Bloodring Banger\", VClassSaloons, 504, 50000},
{\"BMX\", VClassBike, 481, 50000},
{\"Bobcat\", VClassIndustrial, 422, 50000},
{\"Boxville 1\", VClassIndustrial, 498, 50000},
{\"Boxville 2\", VClassIndustrial, 609, 50000},
{\"Bravura\", VClassSaloons, 401, 50000},
{\"Broadway\", VClassLowRider, 575, 50000},
//   {\"Brownstreak (train)\", VClassUnique, 538, 50000},
{\"Buccaneer\", VClassSaloons, 518, 50000},
{\"Buffalo\", VClassSportCar, 402, 50000},
{\"Bullet\", VClassSportCar, 541, 50000},
{\"Burrito\", VClassIndustrial, 482, 50000},
{\"Bus\", VClassPublic, 431, 50000},
{\"Cabbie\", VClassPublic, 438, 50000},
{\"Caddy\", VClassUnique, 457, 50000},
{\"Cadrona\", VClassSaloons, 527, 50000},
{\"Camper\", VClassUnique, 483, 50000},
{\"Cargo Trailer\", VClassTrailer, 435, 50000},
{\"Cargobob\", VClassHelicopter, 548, 50000},
{\"Cement Truck\", VClassIndustrial, 524, 50000},
{\"Cheetah\", VClassSportCar, 415, 50000},
{\"Clover\", VClassSaloons, 542, 50000},
{\"Club\", VClassSportCar, 589, 50000},
{\"Coach\", VClassPublic, 437, 50000},
{\"Coastguard\", VClassBoat, 472, 50000},
{\"Combine Harvester\", VClassUnique, 532, 50000},
{\"Comet\", VClassConvertible, 480, 50000},
{\"Cropduster\", VClassPlane, 512, 50000},
{\"DFT-30\", VClassIndustrial, 578, 50000},
{\"Dinghy\", VClassBoat, 473, 50000},
{\"Dodo\", VClassPlane, 593, 50000},
{\"Dozer\", VClassUnique, 486, 50000},
{\"Dumper\", VClassUnique, 406, 50000},
{\"Dune\", VClassOffRoad, 573, 50000},
{\"Elegant\", VClassSaloons, 507, 50000},
{\"Elegy\", VClassSaloons, 562, 50000},
{\"Emperor\", VClassSaloons, 585, 50000},
{\"Enforcer\", VClassPublic, 427, 50000},
{\"Esperanto\", VClassSaloons, 419, 50000},
{\"Euros\", VClassSportCar, 587, 50000},
{\"Faggio\", VClassBike, 462, 50000},
{\"Farm Trailer\", VClassTrailer, 610, 50000},
{\"FBI Rancher\", VClassPublic, 490, 50000},
{\"FBI Truck\", VClassPublic, 528, 50000},
{\"FCR-900\", VClassBike, 521, 50000},
{\"Feltzer\", VClassConvertible, 533, 50000},
{\"Firetruck\", VClassPublic, 407, 50000},
{\"Firetruck LA\", VClassPublic, 544, 50000},
{\"Flash\", VClassSportCar, 565, 50000},
{\"Flatbed\", VClassIndustrial, 455, 50000},
{\"Fluids Trailer\", VClassTrailer, 584, 50000},
{\"Forklift\", VClassUnique, 530, 50000},
{\"Fortune\", VClassSaloons, 526, 50000},
{\"Freeway\", VClassBike, 463, 50000},
//   {\"Freight (train)\", VClassUnique, 537, 50000},
//   {\"Freight Box Trailer (train)\", VClassTrailer, 590, 50000},
//   {\"Freight Flat Trailer (train)\", VClassTrailer, 569, 50000},
{\"Glendale\", VClassSaloons, 466, 50000},
{\"Glendale Shit\", VClassSaloons, 604, 50000},
{\"Greenwood\", VClassSaloons, 492, 50000},
{\"Hermes\", VClassSaloons, 474, 50000},
{\"Hotdog\", VClassUnique, 588, 50000},
{\"Hotknife\", VClassUnique, 434, 50000},
{\"Hotring Racer 1\", VClassSportCar, 494, 50000},
{\"Hotring Racer 2\", VClassSportCar, 502, 50000},
{\"Hotring Racer 3\", VClassSportCar, 503, 50000},
{\"HPV1000\", VClassPublic, 523, 50000},
{\"Hunter\", VClassHelicopter, 425, 50000},
{\"Huntley\", VClassOffRoad, 579, 50000},
{\"Hustler\", VClassUnique, 545, 50000},
{\"Hydra\", VClassPlane, 520, 50000},
{\"Infernus\", VClassSportCar, 411, 50000},
{\"Intruder\", VClassSaloons, 546, 50000},
{\"Jester\", VClassSportCar, 559, 50000},
{\"Jetmax\", VClassBoat, 493, 50000},
{\"Journey\", VClassUnique, 508, 50000},
{\"Kart\", VClassUnique, 571, 50000},
{\"Landstalker\", VClassOffRoad, 400, 50000},
{\"Launch\", VClassBoat, 595, 50000},
{\"Leviathan\", VClassHelicopter, 417, 50000},
{\"Linerunner\", VClassIndustrial, 403, 50000},
{\"Majestic\", VClassSaloons, 517, 50000},
{\"Manana\", VClassSaloons, 410, 50000},
{\"Marquis\", VClassBoat, 484, 50000},
{\"Maverick\", VClassHelicopter, 487, 50000},
{\"Merit\", VClassSaloons, 551, 50000},
{\"Mesa\", VClassOffRoad, 500, 50000},
{\"Monster\", VClassOffRoad, 444, 50000},
{\"Monster A\", VClassOffRoad, 556, 50000},
{\"Monster B\", VClassOffRoad, 557, 50000},
{\"Moonbeam\", VClassStationCar, 418, 50000},
{\"Mountain Bike\", VClassBike, 510, 50000},
{\"Mower\", VClassUnique, 572, 50000},
{\"Mr Whoopee\", VClassUnique, 423, 50000},
{\"Mule\", VClassIndustrial, 414, 50000},
{\"Nebula\", VClassSaloons, 516, 50000},
{\"Nevada\", VClassPlane, 553, 50000},
{\"Newsvan\", VClassIndustrial, 582, 50000},
{\"NRG-500\", VClassBike, 522, 50000},
{\"Oceanic\", VClassSaloons, 467, 50000},
{\"Ore Trailer\", VClassTrailer, 450, 50000},
{\"Packer\", VClassIndustrial, 443, 50000},
{\"Patriot\", VClassOffRoad, 470, 50000},
{\"PCJ-600\", VClassBike, 461, 50000},
{\"Perenniel\", VClassStationCar, 404, 50000},
{\"Phoenix\", VClassSportCar, 603, 50000},
{\"Picador\", VClassIndustrial, 600, 50000},
{\"Pizzaboy\", VClassBike, 448, 50000},
{\"Police Car (LSPD)\", VClassPublic, 596, 50000},
{\"Police Car (LVPD)\", VClassPublic, 598, 50000},
{\"Police Car (SFPD)\", VClassPublic, 597, 50000},
{\"Police Maverick\", VClassHelicopter, 497, 50000},
{\"Police Ranger\", VClassPublic, 599, 50000},
{\"Pony\", VClassIndustrial, 413, 50000},
{\"Predator\", VClassBoat, 430, 50000},
{\"Premier\", VClassSaloons, 426, 50000},
{\"Previon\", VClassSaloons, 436, 50000},
{\"Primo\", VClassSaloons, 547, 50000},
{\"Quad\", VClassBike, 471, 50000},
{\"Raindance\", VClassHelicopter, 563, 50000},
{\"Rancher 1\", VClassOffRoad, 489, 50000},
{\"Rancher 2\", VClassOffRoad, 505, 50000},
//   {\"RC Bandit\", VClassRCVehicle, 441, 50000},
//   {\"RC Baron\", VClassRCVehicle, 464, 50000},
//   {\"RC Cam\", VClassRCVehicle, 594, 50000},
//   {\"RC Goblin\", VClassRCVehicle, 501, 50000},
//   {\"RC Raider\", VClassRCVehicle, 465, 50000},
//   {\"RC Tiger\", VClassRCVehicle, 564, 50000},
{\"Reefer\", VClassBoat, 453, 50000},
{\"Regina\", VClassStationCar, 479, 50000},
{\"Remington\", VClassLowRider, 534, 50000},
{\"Rhino\", VClassPublic, 432, 50000},
{\"Roadtrain\", VClassIndustrial, 515, 50000},
{\"Romero\", VClassUnique, 442, 50000},
{\"Rumpo\", VClassIndustrial, 440, 50000},
{\"Rustler\", VClassPlane, 476, 50000},
{\"Sabre\", VClassSportCar, 475, 50000},
{\"Sadler\", VClassIndustrial, 543, 50000},
{\"Sadler Shit\", VClassIndustrial, 605, 50000},
{\"SAN News Maverick\", VClassHelicopter, 488, 50000},
{\"Sanchez\", VClassBike, 468, 50000},
{\"Sandking\", VClassOffRoad, 495, 50000},
{\"Savanna\", VClassLowRider, 567, 50000},
{\"Seasparrow\", VClassHelicopter, 447, 50000},
{\"Securicar\", VClassUnique, 428, 50000},
{\"Sentinel\", VClassSaloons, 405, 50000},
{\"Shamal\", VClassPlane, 519, 50000},
{\"Skimmer\", VClassPlane, 460, 50000},
{\"Slamvan\", VClassLowRider, 535, 50000},
{\"Solair\", VClassStationCar, 458, 50000},
{\"Sparrow\", VClassHelicopter, 469, 50000},
{\"Speeder\", VClassBoat, 452, 50000},
{\"Squallo\", VClassBoat, 446, 50000},
{\"Stafford\", VClassSaloons, 580, 50000},
{\"Stallion\", VClassConvertible, 439, 50000},
{\"Stratum\", VClassStationCar, 561, 50000},
//   {\"Streak Trailer (train)\", VClassTrailer, 570, 50000},
{\"Stretch\", VClassUnique, 409, 50000},
{\"Stuntplane\", VClassPlane, 513, 50000},
{\"Sultan\", VClassSaloons, 560, 50000},
{\"Sunrise\", VClassSaloons, 550, 50000},
{\"Super GT\", VClassSportCar, 506, 50000},
{\"S.W.A.T.\", VClassPublic, 601, 50000},
{\"Sweeper\", VClassUnique, 574, 50000},
{\"Tahoma\", VClassLowRider, 566, 50000},
{\"Tampa\", VClassSaloons, 549, 50000},
{\"Tanker\", VClassIndustrial, 514, 50000},
{\"Taxi\", VClassPublic, 420, 50000},
{\"Tornado\", VClassLowRider, 576, 50000},
{\"Towtruck\", VClassUnique, 525, 50000},
{\"Tractor\", VClassIndustrial, 531, 50000},
//   {\"Tram\", VClassUnique, 449, 50000},
{\"Trashmaster\", VClassIndustrial, 408, 50000},
{\"Tropic\", VClassBoat, 454, 50000},
{\"Tug\", VClassUnique, 583, 50000},
{\"Tug Stairs Trailer\", VClassTrailer, 608, 50000},
{\"Turismo\", VClassSportCar, 451, 50000},
{\"Uranus\", VClassSportCar, 558, 50000},
{\"Utility Trailer\", VClassTrailer, 611, 50000},
{\"Utility Van\", VClassIndustrial, 552, 50000},
{\"Vincent\", VClassSaloons, 540, 50000},
{\"Virgo\", VClassSaloons, 491, 50000},
{\"Voodoo\", VClassLowRider, 412, 50000},
{\"Vortex\", VClassUnique, 539, 50000},
{\"Walton\", VClassIndustrial, 478, 50000},
{\"Washington\", VClassSaloons, 421, 50000},
{\"Wayfarer\", VClassBike, 586, 50000},
{\"Willard\", VClassSaloons, 529, 50000},
{\"Windsor\", VClassConvertible, 555, 50000},
   {\"Yankee\", VClassIndustrial, 456, 50000},
{\"Yosemite\", VClassIndustrial, 554, 50000},
{\"ZR-350\", VClassSportCar, 477, 50000}
};
 
// Setup an array that holds all prices for vehicle-components
new AVehicleModPrices[] =
{
400, // ID 1000, Spoiler Pro                        Certain Transfender cars
550, // ID 1001, Spoiler Win                        Certain Transfender cars
200, // ID 1002, Spoiler Drag                        Certain Transfender cars
250, // ID 1003, Spoiler Alpha                        Certain Transfender cars
100, // ID 1004, Hood Champ Scoop                     Certain Transfender cars
150, // ID 1005, Hood Fury Scoop                     Certain Transfender cars
80, // ID 1006, Roof Roof Scoop                        Certain Transfender cars
500, // ID 1007, Sideskirt Right Sideskirt               Certain Transfender cars
500, // ID 1008, Nitro 5 times                        Most cars, Most planes and Most Helicopters
200, // ID 1009, Nitro 2 times                        Most cars, Most planes and Most Helicopters
1000, // ID 1010, Nitro 10 times                          Most cars, Most planes and Most Helicopters
220, // ID 1011, Hood Race Scoop                         Certain Transfender cars
250, // ID 1012, Hood Worx Scoop                         Certain Transfender cars
100, // ID 1013, Lamps Round Fog                         Certain Transfender cars
400, // ID 1014, Spoiler Champ                           Certain Transfender cars
500, // ID 1015, Spoiler Race                            Certain Transfender cars
200, // ID 1016, Spoiler Worx                            Certain Transfender cars
500, // ID 1017, Sideskirt Left Sideskirt                Certain Transfender cars
350, // ID 1018, Exhaust Upswept                         Most cars
300, // ID 1019, Exhaust Twin                            Most cars
250, // ID 1020, Exhaust Large                           Most cars
200, // ID 1021, Exhaust Medium                        Most cars
150, // ID 1022, Exhaust Small                        Most cars
350, // ID 1023, Spoiler Fury                            Certain Transfender cars
50, // ID 1024, Lamps Square Fog                     Certain Transfender cars
1000, // ID 1025, Wheels Offroad                     Certain Transfender cars
480, // ID 1026, Sideskirt Right Alien Sideskirt         Sultan
480, // ID 1027, Sideskirt Left Alien Sideskirt            Sultan
770, // ID 1028, Exhaust Alien                            Sultan
680, // ID 1029, Exhaust X-Flow                        Sultan
370, // ID 1030, Sideskirt Left X-Flow Sideskirt          Sultan
370, // ID 1031, Sideskirt Right X-Flow Sideskirt         Sultan
170, // ID 1032, Roof Alien Roof Vent                  Sultan
120, // ID 1033, Roof X-Flow Roof Vent                    Sultan
790, // ID 1034, Exhaust Alien                        Elegy
150, // ID 1035, Roof X-Flow Roof Vent                  Elegy
500, // ID 1036, SideSkirt Right Alien Sideskirt          Elegy
690, // ID 1037, Exhaust X-Flow                        Elegy
190, // ID 1038, Roof Alien Roof Vent                  Elegy
390, // ID 1039, SideSkirt Right X-Flow Sideskirt         Elegy
500, // ID 1040, SideSkirt Left Alien Sideskirt            Elegy
390, // ID 1041, SideSkirt Right X-Flow Sideskirt         Elegy
1000, // ID 1042, SideSkirt Right Chrome Sideskirt         Broadway
500, // ID 1043, Exhaust Slamin                           Broadway
500, // ID 1044, Exhaust Chrome                        Broadway
510, // ID 1045, Exhaust X-Flow                        Flash
710, // ID 1046, Exhaust Alien                        Flash
670, // ID 1047, SideSkirt Right Alien Sideskirt          Flash
530, // ID 1048, SideSkirt Right X-Flow Sideskirt         Flash
810, // ID 1049, Spoiler Alien                        Flash
620, // ID 1050, Spoiler X-Flow                           Flash
670, // ID 1051, SideSkirt Left Alien Sideskirt           Flash
530, // ID 1052, SideSkirt Left X-Flow Sideskirt         Flash
130, // ID 1053, Roof X-Flow                        Flash
210, // ID 1054, Roof Alien                           Flash
230, // ID 1055, Roof Alien                           Stratum
520, // ID 1056, Sideskirt Right Alien Sideskirt         Stratum
430, // ID 1057, Sideskirt Right X-Flow Sideskirt         Stratum
620, // ID 1058, Spoiler Alien                        Stratum
720, // ID 1059, Exhaust X-Flow                        Stratum
530, // ID 1060, Spoiler X-Flow                        Stratum
180, // ID 1061, Roof X-Flow                        Stratum
520, // ID 1062, Sideskirt Left Alien Sideskirt            Stratum
430, // ID 1063, Sideskirt Left X-Flow Sideskirt         Stratum
830, // ID 1064, Exhaust Alien                        Stratum
850, // ID 1065, Exhaust Alien                        Jester
750, // ID 1066, Exhaust X-Flow                        Jester
250, // ID 1067, Roof Alien                           Jester
200, // ID 1068, Roof X-Flow                        Jester
550, // ID 1069, Sideskirt Right Alien Sideskirt         Jester
450, // ID 1070, Sideskirt Right X-Flow Sideskirt         Jester
550, // ID 1071, Sideskirt Left Alien Sideskirt            Jester
450, // ID 1072, Sideskirt Left X-Flow Sideskirt         Jester
1100, // ID 1073, Wheels Shadow                        Most cars
1030, // ID 1074, Wheels Mega                        Most cars
980, // ID 1075, Wheels Rimshine                     Most cars
1560, // ID 1076, Wheels Wires                        Most cars
1620, // ID 1077, Wheels Classic                     Most cars
1200, // ID 1078, Wheels Twist                        Most cars
1030, // ID 1079, Wheels Cutter                        Most cars
900, // ID 1080, Wheels Switch                        Most cars
1230, // ID 1081, Wheels Grove                        Most cars
820, // ID 1082, Wheels Import                        Most cars
1560, // ID 1083, Wheels Dollar                        Most cars
1350, // ID 1084, Wheels Trance                        Most cars
770, // ID 1085, Wheels Atomic                        Most cars
100, // ID 1086, Stereo Stereo                        Most cars
1500, // ID 1087, Hydraulics Hydraulics                  Most cars
150, // ID 1088, Roof Alien                           Uranus
650, // ID 1089, Exhaust X-Flow                        Uranus
450, // ID 1090, Sideskirt Right Alien Sideskirt         Uranus
100, // ID 1091, Roof X-Flow                        Uranus
750, // ID 1092, Exhaust Alien                        Uranus
350, // ID 1093, Sideskirt Right X-Flow Sideskirt         Uranus
450, // ID 1094, Sideskirt Left Alien Sideskirt            Uranus
350, // ID 1095, Sideskirt Right X-Flow Sideskirt         Uranus
1000, // ID 1096, Wheels Ahab                        Most cars
620, // ID 1097, Wheels Virtual                        Most cars
1140, // ID 1098, Wheels Access                        Most cars
1000, // ID 1099, Sideskirt Left Chrome Sideskirt         Broadway
940, // ID 1100, Bullbar Chrome Grill                  Remington
780, // ID 1101, Sideskirt Left `Chrome Flames` Sideskirt   Remington
830, // ID 1102, Sideskirt Left `Chrome Strip` Sideskirt   Savanna
3250, // ID 1103, Roof Convertible                     Blade
1610, // ID 1104, Exhaust Chrome                     Blade
1540, // ID 1105, Exhaust Slamin                     Blade
780, // ID 1106, Sideskirt Right `Chrome Arches`         Remington
780, // ID 1107, Sideskirt Left `Chrome Strip` Sideskirt   Blade
780, // ID 1108, Sideskirt Right `Chrome Strip` Sideskirt   Blade
1610, // ID 1109, Rear Bullbars Chrome                  Slamvan
1540, // ID 1110, Rear Bullbars Slamin                  Slamvan
55, // ID 1111, Front Sign? Little Sign?               Slamvan         ???
55, // ID 1112, Front Sign? Little Sign?               Slamvan         ???
3340, // ID 1113, Exhaust Chrome                     Slamvan
3250, // ID 1114, Exhaust Slamin                     Slamvan
2130, // ID 1115, Front Bullbars Chrome                  Slamvan
2050, // ID 1116, Front Bullbars Slamin                  Slamvan
2040, // ID 1117, Front Bumper Chrome                  Slamvan
780, // ID 1118, Sideskirt Right `Chrome Trim` Sideskirt   Slamvan
940, // ID 1119, Sideskirt Right `Wheelcovers` Sideskirt   Slamvan
780, // ID 1120, Sideskirt Left `Chrome Trim` Sideskirt      Slamvan
940, // ID 1121, Sideskirt Left `Wheelcovers` Sideskirt      Slamvan
780, // ID 1122, Sideskirt Right `Chrome Flames` Sideskirt   Remington
860, // ID 1123, Bullbars Bullbar Chrome Bars            Remington
780, // ID 1124, Sideskirt Left `Chrome Arches` Sideskirt   Remington
1120, // ID 1125, Bullbars Bullbar Chrome Lights         Remington
3340, // ID 1126, Exhaust Chrome Exhaust               Remington
3250, // ID 1127, Exhaust Slamin Exhaust               Remington
3340, // ID 1128, Roof Vinyl Hardtop                  Blade
1650, // ID 1129, Exhaust Chrome                     Savanna
3380, // ID 1130, Roof Hardtop                        Savanna
3290, // ID 1131, Roof Softtop                        Savanna
1590, // ID 1132, Exhaust Slamin                     Savanna
830, // ID 1133, Sideskirt Right `Chrome Strip` Sideskirt   Savanna
800, // ID 1134, SideSkirt Right `Chrome Strip` Sideskirt   Tornado
1500, // ID 1135, Exhaust Slamin                     Tornado
1000, // ID 1136, Exhaust Chrome                     Tornado
800, // ID 1137, Sideskirt Left `Chrome Strip` Sideskirt   Tornado
580, // ID 1138, Spoiler Alien                        Sultan
470, // ID 1139, Spoiler X-Flow                        Sultan
870, // ID 1140, Rear Bumper X-Flow                     Sultan
980, // ID 1141, Rear Bumper Alien                     Sultan
150, // ID 1142, Vents Left Oval Vents                  Certain Transfender Cars
150, // ID 1143, Vents Right Oval Vents                  Certain Transfender Cars
100, // ID 1144, Vents Left Square Vents               Certain Transfender Cars
100, // ID 1145, Vents Right Square Vents               Certain Transfender Cars
490, // ID 1146, Spoiler X-Flow                        Elegy
600, // ID 1147, Spoiler Alien                        Elegy
890, // ID 1148, Rear Bumper X-Flow                     Elegy
1000, // ID 1149, Rear Bumper Alien                     Elegy
1090, // ID 1150, Rear Bumper Alien                     Flash
840, // ID 1151, Rear Bumper X-Flow                     Flash
910, // ID 1152, Front Bumper X-Flow                  Flash
1200, // ID 1153, Front Bumper Alien                  Flash
1030, // ID 1154, Rear Bumper Alien                     Stratum
1030, // ID 1155, Front Bumper Alien                  Stratum
920, // ID 1156, Rear Bumper X-Flow                     Stratum
930, // ID 1157, Front Bumper X-Flow                  Stratum
550, // ID 1158, Spoiler X-Flow                        Jester
1050, // ID 1159, Rear Bumper Alien                     Jester
1050, // ID 1160, Front Bumper Alien                  Jester
950, // ID 1161, Rear Bumper X-Flow                     Jester
650, // ID 1162, Spoiler Alien                        Jester
450, // ID 1163, Spoiler X-Flow                        Uranus
550, // ID 1164, Spoiler Alien                        Uranus
850, // ID 1165, Front Bumper X-Flow                  Uranus
950, // ID 1166, Front Bumper Alien                     Uranus
850, // ID 1167, Rear Bumper X-Flow                     Uranus
950, // ID 1168, Rear Bumper Alien                     Uranus
970, // ID 1169, Front Bumper Alien                     Sultan
880, // ID 1170, Front Bumper X-Flow                  Sultan
990, // ID 1171, Front Bumper Alien                     Elegy
900, // ID 1172, Front Bumper X-Flow                  Elegy
950, // ID 1173, Front Bumper X-Flow                  Jester
1000, // ID 1174, Front Bumper Chrome                  Broadway
900, // ID 1175, Front Bumper Slamin                  Broadway
1000, // ID 1176, Rear Bumper Chrome                  Broadway
900, // ID 1177, Rear Bumper Slamin                     Broadway
2050, // ID 1178, Rear Bumper Slamin                  Remington
2150, // ID 1179, Front Bumper Chrome                  Remington
2130, // ID 1180, Rear Bumper Chrome                  Remington
2050, // ID 1181, Front Bumper Slamin                  Blade
2130, // ID 1182, Front Bumper Chrome                  Blade
2040, // ID 1183, Rear Bumper Slamin                  Blade
2150, // ID 1184, Rear Bumper Chrome                  Blade
2040, // ID 1185, Front Bumper Slamin                  Remington
2095, // ID 1186, Rear Bumper Slamin                  Savanna
2175, // ID 1187, Rear Bumper Chrome                  Savanna
2080, // ID 1188, Front Bumper Slamin                  Savanna
2200, // ID 1189, Front Bumper Chrome                  Savanna
1200, // ID 1190, Front Bumper Slamin                  Tornado
1040, // ID 1191, Front Bumper Chrome                  Tornado
940, // ID 1192, Rear Bumper Chrome                     Tornado
1100, // ID 1193 Rear Bumper Slamin                     Tornado
};
 
// These variables are used when starting the script and debugging purposes
new TotalHouses;
 
// ******************************************************************************************************************************
// Callbacks
// ******************************************************************************************************************************
// The main function (used only once when the server loads)
main()
{
}
// This callback gets called when the server initializes the filterscript
public OnFilterScriptInit()
{
// Loop through all houses and try to load them (HouseID 0 isn\'t used)
for (new HouseID = 1; HouseID < MAX_HOUSES; HouseID++)
{
    // Try to load the house-file
HouseFile_Load(HouseID);
// Load housecars too if chosen to do so
if (LoadCarsDuringFSInit == true)
    HouseFile_LoadCars(HouseID);
}
   printf(\"\\n----------------------------------------\");
   printf(\"PPC Házrendszer betöltve\");
   printf(\"Betöltött házak: %i\", TotalHouses);
   printf(\"----------------------------------------\\n\");
   return 1;
}
// This callback gets called when a player connects to the server
public OnPlayerConnect(playerid)
{
// Setup local variables
new HouseID, HouseSlot, Name[24];
// Get the player\'s name
GetPlayerName(playerid, Name, sizeof(Name));
// Loop through all houses to find the ones which belong to this player
for (HouseID = 1; HouseID < MAX_HOUSES; HouseID++)
{
// Check if the house exists
if (IsValidDynamicPickup(AHouseData[HouseID][PickupID]))
{
    // Check if the house is owned
    if (AHouseData[HouseID][Owned] == true)
    {
        // Check if the player is the owner of the house
      if (strcmp(AHouseData[HouseID][Owner], Name, false) == 0)
      {
         // Add the HouseID to the player\'s account for faster reference later on
         APlayerData[playerid][Houses][HouseSlot] = HouseID;
         // Load housecars if they weren\'t loaded at FilterscriptInit
         if (LoadCarsDuringFSInit == false)
             HouseFile_LoadCars(HouseID);
         // Select the next HouseSlot
         HouseSlot++;
      }
    }
}
}
return 1;
}
// This callback gets called when a player disconnects from the server
public OnPlayerDisconnect(playerid, reason)
{
// Setup local variables
new HouseSlot;
// Loop through all Houses the player owns
for (HouseSlot = 0; HouseSlot < MAX_HOUSESPERPLAYER; HouseSlot++)
{
// Check if the house exists
if (APlayerData[playerid][Houses][HouseSlot] != 0)
{
    // Save the housefile
   HouseFile_Save(APlayerData[playerid][Houses][HouseSlot]);
}
}
// Unload housecars if they were loaded when the owner logged in
if (LoadCarsDuringFSInit == false)
{
// Loop through all Houses the player owns
for (HouseSlot = 0; HouseSlot < MAX_HOUSESPERPLAYER; HouseSlot++)
{
   // Check if the house exists
   if (APlayerData[playerid][Houses][HouseSlot] != 0)
   {
       // Unload all vehicles assigned to this house
      House_RemoveVehicles(APlayerData[playerid][Houses][HouseSlot]);
   }
}
}
// Clear all data for this player
// Loop through all Houses the player owns
for (HouseSlot = 0; HouseSlot < MAX_HOUSESPERPLAYER; HouseSlot++)
{
    // Clear the HouseID\'s
APlayerData[playerid][Houses][HouseSlot] = 0;
}
APlayerData[playerid][CurrentHouse] = 0;
APlayerData[playerid][DialogBuyVClass] = 0;
APlayerData[playerid][DialogGetCarHouseID] = 0;
return 1;
}
// This callback gets called when a player interacts with a dialog
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
// Select the proper dialog to process
switch (dialogid)
{
case DialogHouseMenu: Dialog_HouseMenu(playerid, response, listitem); // Process the main housemenu
case DialogUpgradeHouse: Dialog_UpgradeHouse(playerid, response, listitem); // Process the house-upgrade menu
case DialogGoHome: Dialog_GoHome(playerid, response, listitem); // Port to one of your houses
case DialogHouseNameChange: Dialog_ChangeHouseName(playerid, response, inputtext); // Change the name of your house
case DialogSellHouse: Dialog_SellHouse(playerid, response); // Sell the house
case DialogBuyCarClass: Dialog_BuyCarClass(playerid, response, listitem); // The player chose a vehicleclass from where he can buy a vehicle
case DialogBuyCar: Dialog_BuyCar(playerid, response, listitem); // The player chose a vehicle from the list of vehicles from the vehicleclass he chose before
case DialogSellCar: Dialog_SellCar(playerid, response, listitem);
case DialogBuyInsurance: Dialog_BuyInsurance(playerid, response);
case DialogGetCarSelectHouse: Dialog_GetCarSelectHouse(playerid, response, listitem);
case DialogGetCarSelectCar: Dialog_GetCarSelectCar(playerid, response, listitem);
}
   return 1;
}
// This callback gets called when a player spawns somewhere
public OnPlayerSpawn(playerid)
{
// Reset the HouseID where the player is located
APlayerData[playerid][CurrentHouse] = 0;
return 1;
}
// This callback gets called whenever a player dies
public OnPlayerDeath(playerid, killerid, reason)
{
// Reset the HouseID where the player is located
APlayerData[playerid][CurrentHouse] = 0;
return 1;
}
// This callback gets called when the player is selecting a class (but hasn\'t clicked \"Spawn\" yet)
public OnPlayerRequestClass(playerid, classid)
{
// Reset the HouseID where the player is located
APlayerData[playerid][CurrentHouse] = 0;
return 1;
}
// This callback is called when the player attempts to spawn via class-selection
public OnPlayerRequestSpawn(playerid)
{
// Reset the HouseID where the player is located
APlayerData[playerid][CurrentHouse] = 0;
   return 1;
}
// This callback gets called when a vehicle respawns at it\'s spawn-location (where it was created)
public OnVehicleSpawn(vehicleid)
{
// Only use this for house-vehicles
if (AVehicleData[vehicleid][Owned] == true)
{
// Re-apply the paintjob (if any was applied)
if (AVehicleData[vehicleid][PaintJob] != 0)
{
    // Re-apply the paintjob
   ChangeVehiclePaintjob(vehicleid, AVehicleData[vehicleid][PaintJob] - 1);
}
// Also update the car-color
ChangeVehicleColor(vehicleid, AVehicleData[vehicleid][Color1], AVehicleData[vehicleid][Color2]);
// Re-add all components that were installed (if they were there)
for (new i; i < 14; i++)
{
   // Remove all mods from the vehicle (all added mods applied by hackers will hopefully be removed this way when the vehicle respawns)
        RemoveVehicleComponent(vehicleid, GetVehicleComponentInSlot(vehicleid, i));
    // Check if the componentslot has a valid component-id
   if (AVehicleData[vehicleid][Components] != 0)
        AddVehicleComponent(vehicleid, AVehicleData[vehicleid][Components]); // Add the component to the vehicle
}
}
   return 1;
}
// This callback is called when the vehicle leaves a mod shop
public OnVehicleRespray(playerid, vehicleid, color1, color2)
{
// Only use this for house-vehicles
if (AVehicleData[vehicleid][Owned] == true)
{
// Let the player pay $150 for changing the color (if they have been changed)
if ((AVehicleData[vehicleid][Color1] != color1) || (AVehicleData[vehicleid][Color2] != color2))
   INT_GivePlayerMoney(playerid, -150);
// Save the colors
AVehicleData[vehicleid][Color1] = color1;
AVehicleData[vehicleid][Color2] = color2;
// If the primary color is black, remove the paintjob
if (color1 == 0)
   AVehicleData[vehicleid][PaintJob] = 0;
}
return 1;
}
// This callback gets called whenever a player mods his vehicle
public OnVehicleMod(playerid, vehicleid, componentid)
{
// Only use this for house-vehicles
if (AVehicleData[vehicleid][Owned] == true)
{
// When the player changes a component of his vehicle, reduce the price of the component from the player\'s money
INT_GivePlayerMoney(playerid, -AVehicleModPrices[componentid - 1000]);
// Store the component in the AVehicleData array
AVehicleData[vehicleid][Components][GetVehicleComponentType(componentid)] = componentid;
}
return 1;
}
// This callback gets called whenever a player VIEWS at a paintjob in a mod garage (viewing automatically applies it)
public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
{
// Only use this for house-vehicles
if (AVehicleData[vehicleid][Owned] == true)
{
// Store the paintjobid for the vehicle (add 1 to the value, otherwise checking for an applied paintjob is difficult)
    AVehicleData[vehicleid][PaintJob] = paintjobid + 1;
}
return 1;
}
// This callback gets called whenever a vehicle enters the water or is destroyed (explodes)
public OnVehicleDeath(vehicleid)
{
// Setup local variables
new HouseID, CarSlot;
// Only use this for house-vehicles
if (AVehicleData[vehicleid][Owned] == true)
{
// Get the houseid to which this vehicle belongs
HouseID = AVehicleData[vehicleid][belongsToHouse];
// If automatic insurance has been turned off, check if the vehicle\'s house has insurance for the vehicle
if (AutomaticInsurance == false)
{
   // Check if this vehicle belongs to a house
   if (HouseID != 0)
   {
      // If the house doesn\'t have insurance for it\'s vehicles
      if (AHouseData[HouseID][insurance] == false)
      {
         // Find the CarSlot where this vehicle is stored
         for (CarSlot = 0; CarSlot < 10; CarSlot++)
         {
            // Check if the vehicle is stored in this carslot
            if (AHouseData[HouseID][VehicleIDs][CarSlot] == vehicleid)
                break; // Stop searching, because CarSlot now hold the carslot of the vehicle where it\'s stored
         }
          // Delete the vehicle, clear the data and remove it from the house it belongs to
         Vehicle_Delete(vehicleid, HouseID, CarSlot);
          // Save the house (and linked vehicles)
          HouseFile_Save(HouseID);
      }
   }
}
}
return 1;
}
// This callback gets called when the player changes state
public OnPlayerStateChange(playerid,newstate,oldstate)
{
// Setup local variables
new vid, Name[24], Msg[128], engine, lights, alarm, doors, bonnet, boot, objective;
// Check if the player became the driver of a vehicle
if (newstate == PLAYER_STATE_DRIVER)
{
// Get the ID of the player\'s vehicle
vid = GetPlayerVehicleID(playerid);
// Get the player\'s name
GetPlayerName(playerid, Name, sizeof(Name));
// Check if the vehicle is owned
if (AVehicleData[vid][Owned] == true)
{
   // Check if the vehicle is owned by somebody else (strcmp will not be 0)
   if (strcmp(AVehicleData[vid][Owner], Name, false) != 0)
   {
      // Force the player out of the vehicle
      RemovePlayerFromVehicle(playerid);
      // Turn off the lights and engine
      GetVehicleParamsEx(vid, engine, lights, alarm, doors, bonnet, boot, objective);
      SetVehicleParamsEx(vid, 0, 0, alarm, doors, bonnet, boot, objective);
      // Let the player know he cannot use somebody else\'s vehicle
      format(Msg, 128, \"{FF0000}Nem tudod használni a jármûvet, tulajdonosa \\\"{FFFF00}%s{FF0000}\\\"\", AVehicleData[vid][Owner]);
      SendClientMessage(playerid, 0xFFFFFFFF, Msg);
   }
}
}
return 1;
}
 
// ******************************************************************************************************************************
// Commands
// ******************************************************************************************************************************
// Lets the player add new houses (a house that can be upgraded and where the houselevel determines the amount of carslots)
COMMAND:createhouse(playerid, params[])
{
// Setup local variables
new HPrice, MaxLevel, HouseID;
// If a player hasn\'t logged in properly, he cannot use this command
if (INT_IsPlayerLoggedIn(playerid) == 0) return 0;
// If the player has an insufficient admin-level (he needs level 5 or RCON admin), exit the command
// returning \"SERVER: Unknown command\" to the player
if (INT_CheckPlayerAdminLevel(playerid, 5) == 0) return 0;
// Check if the player isn\'t inside a vehicle (the admin-player must be on foot to use this command)
if (GetPlayerVehicleSeat(playerid) == -1)
{
if (sscanf(params, \"ii\", HPrice, MaxLevel)) SendClientMessage(playerid, 0xFFFFFFFF, \"{FF0000}Használat: \\\"/createhouse <ár> \\\"\");
else
{
   // Check if the player entered a proper maxlevel
   if ((MaxLevel >= 1) && (MaxLevel <= 10))
   {
      // Find the first free HouseID
      for (HouseID = 1; HouseID < MAX_HOUSES; HouseID++)
         if (!IsValidDynamicPickup(AHouseData[HouseID][PickupID])) // Check if an empty house-index has been found (PickupID is 0)
             break; // Stop searching, the first free HouseID has been found now
       // Check if the house-limit hasn\'t been reached yet
       // This would seem to double-check the pickup-id, but in case there was no free houseslot found (HouseID points
      // to the last index, the last index would hold a house, so be sure to not overwrite it
      if (!IsValidDynamicPickup(AHouseData[HouseID][PickupID]))
      {
          // Setup some local variables
         new Float:x, Float:y, Float:z, Msg[128];
         // Get the player\'s position
         GetPlayerPos(playerid, x, y, z);
         // Set some default data
         AHouseData[HouseID][Owned] = false;
         AHouseData[HouseID][Owner] = 0;
         AHouseData[HouseID][HouseX] = x;
         AHouseData[HouseID][HouseY] = y;
         AHouseData[HouseID][HouseZ] = z;
         AHouseData[HouseID][HouseLevel] = 1;
         AHouseData[HouseID][HouseMaxLevel] = MaxLevel;
         AHouseData[HouseID][HousePrice] = HPrice;
         AHouseData[HouseID][HouseOpened] = false;
         AHouseData[HouseID][insurance] = false;
         AHouseData[HouseID][staticHouse] = false;
         AHouseData[HouseID][CarSlots] = 1; // This must be equal to the house-level for a normal house
         // Add the pickup and 3DText at the location of the house-entrance (where the player is standing when he creates the house)
         House_UpdateEntrance(HouseID);
         // Save the house
         HouseFile_Save(HouseID);
         // Inform the player that he created a new house
         format(Msg, 128, \"{00FF00}Ház létrehozva, azonosító (ID): {FFFF00}%i\", HouseID);
         SendClientMessage(playerid, 0xFFFFFFFF, Msg);
      }
      else
          SendClientMessage(playerid, 0xFFFFFFFF, \"{FF0000}Nem lehet több házat létrehozni!\");
   }
   else
       SendClientMessage(playerid, 0xFFFFFFFF, \"{FF0000}Max szint: 1 - 10\");
}
}
else
    SendClientMessage(playerid, 0xFFFFFFFF, \"{FF0000}Csak gyalog lehet házat létrehozni!\");
// Let the server know that this was a valid command
return 1;
}
// Lets the player add new houses (a house that cannot be upgraded, has a fixed interior and a fixed amount of carslots)
COMMAND:createstatichouse(playerid, params[])
{
// Setup local variables
new HPrice, Carslots, HouseID, Interior;
// If a player hasn\'t logged in properly, he cannot use this command
if (INT_IsPlayerLoggedIn(playerid) == 0) return 0;
// If the player has an insufficient admin-level (he needs level 5 or RCON admin), exit the command
// returning \"SERVER: Unknown command\" to the player
if (INT_CheckPlayerAdminLevel(playerid, 5) == 0) return 0;
// Check if the player isn\'t inside a vehicle (the admin-player must be on foot to use this command)
if (GetPlayerVehicleSeat(playerid) == -1)
{
if (sscanf(params, \"iii\", HPrice, Carslots, Interior)) SendClientMessage(playerid, 0xFFFFFFFF, \"{FF0000}Használat: \\\"/createstatichouse <ár> \\\"\");
else
{
   // Check if the player entered a proper amount of Carslots
   if ((Carslots >= 1) && (Carslots <= 10))
   {
      // Check if the player entered a valid interior
      if ((Interior >= 1) && (Interior <= 10))
      {
         // Find the first free HouseID
         for (HouseID = 1; HouseID < MAX_HOUSES; HouseID++)
            if (!IsValidDynamicPickup(AHouseData[HouseID][PickupID])) // Check if an empty house-index has been found (PickupID is 0)
                break; // Stop searching, the first free HouseID has been found now
          // Check if the house-limit hasn\'t been reached yet
          // This would seem to double-check the pickup-id, but in case there was no free houseslot found (HouseID points
         // to the last index, the last index would hold a house, so be sure to not overwrite it
         if (!IsValidDynamicPickup(AHouseData[HouseID][PickupID]))
         {
             // Setup some local variables
            new Float:x, Float:y, Float:z, Msg[128];
            // Get the player\'s position
            GetPlayerPos(playerid, x, y, z);
            // Set some default data
            AHouseData[HouseID][Owned] = false;
            AHouseData[HouseID][HouseX] = x;
            AHouseData[HouseID][HouseY] = y;
            AHouseData[HouseID][HouseZ] = z;
            AHouseData[HouseID][HouseLevel] = Interior; // The house-level indicates the static interior
            AHouseData[HouseID][HouseMaxLevel] = Interior;
            AHouseData[HouseID][HousePrice] = HPrice;
            AHouseData[HouseID][HouseOpened] = false;
            AHouseData[HouseID][insurance] = false;
            AHouseData[HouseID][staticHouse] = true;
            AHouseData[HouseID][CarSlots] = Carslots;
            // Add the pickup and 3DText at the location of the house-entrance (where the player is standing when he creates the house)
            House_UpdateEntrance(HouseID);
            // Save the house
            HouseFile_Save(HouseID);
            // Inform the player that he created a new house
            format(Msg, 128, \"{00FF00}A statikus ház létrehozva, azonosító (ID): {FFFF00}%i\", HouseID);
            SendClientMessage(playerid, 0xFFFFFFFF, Msg);
         }
         else
             SendClientMessage(playerid, 0xFFFFFFFF, \"{FF0000}Nem lehet több házat létrehozni!\");
      }
      else
          SendClientMessage(playerid, 0xFFFFFFFF, \"{FF0000}Belsõ (Interior) azonosítók: 1 - 10\");
   }
   else
       SendClientMessage(playerid, 0xFFFFFFFF, \"{FF0000}Jármûférõhelyeket add meg! (1 - 10)\");
}
}
else
    SendClientMessage(playerid, 0xFFFFFFFF, \"{FF0000}Csak gyalog lehet házat létrehozni!\");
// Let the server know that this was a valid command
return 1;
}
// This command lets the player delete a house
COMMAND:delhouse(playerid, params[])
{
// Setup local variables
new file[100], Msg[128];
// If a player hasn\'t logged in properly, he cannot use this command
if (INT_IsPlayerLoggedIn(playerid) == 0) return 0;
// If the player has an insufficient admin-level (he needs level 5 or RCON admin), exit the command
// returning \"SERVER: Unknown command\" to the player
if (INT_CheckPlayerAdminLevel(playerid, 5) == 0) return 0;
// Check if the player isn\'t inside a vehicle (the admin-player must be on foot to use this command)
if (GetPlayerVehicleSeat(playerid) == -1)
{
// Loop through all houses
for (new HouseID = 1; HouseID < MAX_HOUSES; HouseID++)
{
   // Check if the house exists
   if (IsValidDynamicPickup(AHouseData[HouseID][PickupID]))
   {
      // Check if the house has no owner (owned houses cannot be deleted)
      if (AHouseData[HouseID][Owned] == false)
      {
         // Check if the player is in range of the house-pickup
         if (IsPlayerInRangeOfPoint(playerid, 2.5, AHouseData[HouseID][HouseX], AHouseData[HouseID][HouseY], AHouseData[HouseID][HouseZ]))
         {
            // Clear all data of the house
            AHouseData[HouseID][Owned] = false;
            AHouseData[HouseID][Owner] = 0;
            AHouseData[HouseID][HouseName] = 0;
            AHouseData[HouseID][insurance] = false;
            AHouseData[HouseID][HouseX] = 0.0;
            AHouseData[HouseID][HouseY] = 0.0;
            AHouseData[HouseID][HouseZ] = 0.0;
            AHouseData[HouseID][HouseLevel] = 0;
            AHouseData[HouseID][HouseMaxLevel] = 0;
            AHouseData[HouseID][HousePrice] = 0;
            AHouseData[HouseID][HouseOpened] = false;
            AHouseData[HouseID][staticHouse] = false;
            AHouseData[HouseID][CarSlots] = 0;
            // Destroy the mapicon, 3DText and pickup for the house
            DestroyDynamicPickup(AHouseData[HouseID][PickupID]);
            DestroyDynamicMapIcon(AHouseData[HouseID][MapIconID]);
            DestroyDynamic3DTextLabel(AHouseData[HouseID][DoorText]);
            AHouseData[HouseID][PickupID] = 0;
            AHouseData[HouseID][MapIconID] = 0;
            // Delete the house-file
            format(file, sizeof(file), HouseFile, HouseID); // Construct the complete filename for this house-file
            if (fexist(file)) // Make sure the file exists
               fremove(file); // Delete the file
            // Also let the player know he deleted the house
            format(Msg, 128, \"{00FF00}Törölted a {FFFF00}%i {00FF00}azonosítószámú házat!\", HouseID);
            SendClientMessage(playerid, 0xFFFFFFFF, Msg);
            // Exit the function
            return 1;
         }
      }
      else
         SendClientMessage(playerid, 0xFFFFFFFF, \"{FF0000}Tulajdonossal rendelkezõ házakat nem törölhetsz!\");
   }
}
// There was no house in range, so let the player know about it
SendClientMessage(playerid, 0xFFFFFFFF, \"{FF0000}Nincs a közelben ház!\");
}
else
    SendClientMessage(playerid, 0xFFFFFFFF, \"{FF0000}Csak gyalog lehet házat törölni!\");
// Let the server know that this was a valid command
return 1;
}
// This command lets the player buy a house when he\'s standing in range of a house that isn\'t owned yet
COMMAND:buyhouse(playerid, params[])
{
// Setup local variables
new Msg[128];
// If a player hasn\'t logged in properly, he cannot use this command
if (INT_IsPlayerLoggedIn(playerid) == 0) return 0;
// Check if the player isn\'t inside a vehicle (the player must be on foot to use this command)
if (GetPlayerVehicleSeat(playerid) == -1)
{
// Check if the player is near a house-pickup
for (new HouseID = 1; HouseID < MAX_HOUSES; HouseID++)
{
   // Check if the house exists
   if (IsValidDynamicPickup(AHouseData[HouseID][PickupID]))
   {
      // Check if the player is in range of the house-pickup
      if (IsPlayerInRangeOfPoint(playerid, 2.5, AHouseData[HouseID][HouseX], AHouseData[HouseID][HouseY], AHouseData[HouseID][HouseZ]))
      {
          // Check if the house isn\'t owned yet
          if (AHouseData[HouseID][Owned] == false)
          {
              // Check if the player can afford this house
              if (INT_GetPlayerMoney(playerid) >= AHouseData[HouseID][HousePrice])
                  House_SetOwner(playerid, HouseID); // Give ownership of the house to the player (if he has a spare houseslot)
              else
                  SendClientMessage(playerid, 0xFFFFFFFF, \"{FF0000}Nem engedheted meg magadnak ezt a házat! Ok: kevés pénz\"); // The player cannot afford this house
          }
          else
          {
              // Let the player know that this house is already owned by a player
            format(Msg, 128, \"{FF0000}Ezt a házat már megvették! Tulajdonos: {FFFF00}%s\", AHouseData[HouseID][Owner]);
            SendClientMessage(playerid, 0xFFFFFFFF, Msg);
          }
         // The player was in range of a house-pickup, so stop searching for the other house pickups
          return 1;
      }
   }
}
// All houses have been processed, but the player wasn\'t in range of any house-pickup, let him know about it
SendClientMessage(playerid, 0xFFFFFFFF, \"{FF0000}Házvásárláshoz közel kell légy egy ház-pickuphoz!\");
}
else
    SendClientMessage(playerid, 0xFFFFFFFF, \"{FF0000}Nem tudsz jármûben házat venni!\");
// Let the server know that this was a valid command
return 1;
}
// This command lets the player enter the house/business if he\'s the owner
COMMAND:enter(playerid, params[])
{
// Setup local variables
new HouseID, IntID;
// If a player hasn\'t logged in properly, he cannot use this command
if (INT_IsPlayerLoggedIn(playerid) == 0) return 0;
// Check if the player isn\'t inside a vehicle (the player must be on foot to use this command)
if (GetPlayerVehicleSeat(playerid) == -1)
{
// Loop through all houses
for (HouseID = 1; HouseID < MAX_HOUSES; HouseID++)
{
   // Check if the house exists
   if (IsValidDynamicPickup(AHouseData[HouseID][PickupID]))
   {
      // Check if the player is in range of the house-pickup
      if (IsPlayerInRangeOfPoint(playerid, 2.5, AHouseData[HouseID][HouseX], AHouseData[HouseID][HouseY], AHouseData[HouseID][HouseZ]))
      {
         // Check if the house is closed to the public
         if (AHouseData[HouseID][HouseOpened] == false)
         {
            // The house isn\'t open to the public, so keep anyone out who isn\'t the owner of the house
            if (House_PlayerIsOwner(playerid, HouseID) == 0)
            {
                // Let the player know that this house isn\'t open to the public and he can\'t enter it
               SendClientMessage(playerid, 0xFFFFFFFF, \"{FF0000}Ez a ház magánház, nem léphetsz be!\");
                return 1;
            }
         }
         // The house is open to the public, or the player trying to enter is the owner, so let the player inside the house
         // Get the interior to put the player in
         IntID = AHouseData[HouseID][HouseLevel]; // Get the level of the house
         // Set the worldid so other players cannot see him anymore (but allow all players in the same house to see eachother)
         SetPlayerVirtualWorld(playerid, 5000 + HouseID);
         // Set the player inside the interior of the house
         SetPlayerInterior(playerid, AHouseInteriors[intID][interiorID]);
         // Set the position of the player at the spawn-location of the house\'s interior
         SetPlayerPos(playerid, AHouseInteriors[intID][intX], AHouseInteriors[intID][intY], AHouseInteriors[intID][intZ]);
         // Also set a tracking-variable to enable /housemenu to track in which house the player is
         APlayerData[playerid][CurrentHouse] = HouseID;
         // Also let the player know he can use /housemenu to upgrade/exit his house
         SendClientMessage(playerid, 0xFFFFFFFF, \"{00FF00}Használd a {FFFF00}/housemenu{00FF00} parancsot, hogy megváltoztasd a házad dolgait.\");
         // Exit the function
         return 1;
      }
   }
}
}
// Let the server know that this was a valid command
return 1;
}
// This command opens a menu when you\'re inside your house to allow to access the options of your house
COMMAND:housemenu(playerid, params[])
{
// Setup local variables
new OptionsList[200], DialogTitle[200], HouseID;
// If a player hasn\'t logged in properly, he cannot use this command
if (INT_IsPlayerLoggedIn(playerid) == 0) return 0;
// Get the HouseID where the player has entered
HouseID = APlayerData[playerid][CurrentHouse];
// Check if the player is inside a house
if (HouseID != 0)
{
format(DialogTitle, sizeof(DialogTitle), \"Válassz opciót itt: %s\", AHouseData[HouseID][HouseName]);
// Create 2 different option-lists, based on StaticHouse
if (AHouseData[HouseID][staticHouse] == true)
{
   // Create the dialog for a static house (has the same options as a normal house, except for upgrading the house)
   format(OptionsList, sizeof(OptionsList), \"%sHáznév megváltoztatása\\n\", OptionsList);
   format(OptionsList, sizeof(OptionsList), \"%sJármû vásárlás a ház mellé\\n\", OptionsList);
   format(OptionsList, sizeof(OptionsList), \"%sJármû biztosítás kötése\\n\", OptionsList);
   format(OptionsList, sizeof(OptionsList), \"%sHázjármû eladása\\n\", OptionsList);
   format(OptionsList, sizeof(OptionsList), \"%sHáz eladása\\n\", OptionsList);
   format(OptionsList, sizeof(OptionsList), \"%sHáz kinyitása a társadalomnak\\n\", OptionsList);
   format(OptionsList, sizeof(OptionsList), \"%sHáz elzárása a társadalomtól\\n\", OptionsList);
   format(OptionsList, sizeof(OptionsList), \"%sKilépés a házból\\n\", OptionsList);
}
else
{
   // Create the dialog for a normal house
   format(OptionsList, sizeof(OptionsList), \"%sHáznév megváltoztatása\\n\", OptionsList);
   format(OptionsList, sizeof(OptionsList), \"%sHáz frissítése\\n\", OptionsList);
   format(OptionsList, sizeof(OptionsList), \"%sJármû vásárlás a ház mellé\\n\", OptionsList);
   format(OptionsList, sizeof(OptionsList), \"%sJármû biztosítás kötése\\n\", OptionsList);
   format(OptionsList, sizeof(OptionsList), \"%sHázjármû eladása\\n\", OptionsList);
   format(OptionsList, sizeof(OptionsList), \"%sHáz eladása\\n\", OptionsList);
   format(OptionsList, sizeof(OptionsList), \"%sHáz kinyitása a társadalomnak\\n\", OptionsList);
   format(OptionsList, sizeof(OptionsList), \"%sHáz elzárása a társadalomtól\\n\", OptionsList);
   format(OptionsList, sizeof(OptionsList), \"%sKilépés a házból\\n\", OptionsList);
}
// Show the housemenu
ShowPlayerDialog(playerid, DialogHouseMenu, DIALOG_STYLE_LIST, DialogTitle, OptionsList, \"Kiválaszt\", \"Mégsem\");
}
else
    SendClientMessage(playerid, 0xFFFFFFFF, \"{FF0000}Nem vagy házban!\");
// Let the server know that this was a valid command
return 1;
}
// This command teleports you to your selected house
COMMAND:gohome(playerid, params[])
{
// Setup local variables
new HouseList[1000], HouseID;
// If a player hasn\'t logged in properly, he cannot use this command
if (INT_IsPlayerLoggedIn(playerid) == 0) return 0;
// Check if the player isn\'t inside a vehicle (the player must be on foot to use this command)
if (GetPlayerVehicleSeat(playerid) == -1)
{
// Ask to which house the player wants to port
for (new HouseSlot; HouseSlot < MAX_HOUSESPERPLAYER; HouseSlot++)
{
    // Get the HouseID in this slot
    HouseID = APlayerData[playerid][Houses][HouseSlot];
   // Check if this houseindex is occupied
   if (HouseID != 0)
      format(HouseList, 1000, \"%s{00FF00}%s{FFFFFF}\\n\", HouseList, AHouseData[HouseID][HouseName]);
   else
      format(HouseList, 1000, \"%s{FFFFFF}%s{FFFFFF}\\n\", HouseList, \"Üres ház\"); // Eredetileg Empty house-slot
}
ShowPlayerDialog(playerid, DialogGoHome, DIALOG_STYLE_LIST, \"Válaszd ki azt a házat ahova menni szeretnél:\", HouseList, \"Kiválaszt\", \"Mégsem\");
}
else
SendClientMessage(playerid, 0xFFFFFFFF, \"{FF0000}Gyalog kell lenned, hogy tudj a házadhoz teleportálni.\");
// Let the server know that this was a valid command
return 1;
}
// This command allows you to port a vehicle from your house to your location
COMMAND:getcar(playerid, params[])
{
// Setup local variables
new HouseList[1000], HouseID;
// If a player hasn\'t logged in properly, he cannot use this command
if (INT_IsPlayerLoggedIn(playerid) == 0) return 0;
// Check if the player isn\'t inside a vehicle (the player must be on foot to use this command)
if (GetPlayerVehicleSeat(playerid) == -1)
{
// Ask to which house the player wants to port
for (new HouseSlot; HouseSlot < MAX_HOUSESPERPLAYER; HouseSlot++)
{
    // Get the HouseID in this slot
    HouseID = APlayerData[playerid][Houses][HouseSlot];
   // Check if this houseindex is occupied
   if (HouseID != 0)
      format(HouseList, 1000, \"%s{00FF00}%s{FFFFFF}\\n\", HouseList, AHouseData[HouseID][HouseName]);
   else
      format(HouseList, 1000, \"%s{FFFFFF}%s{FFFFFF}\\n\", HouseList, \"Üres ház\");
}
ShowPlayerDialog(playerid, DialogGetCarSelectHouse, DIALOG_STYLE_LIST, \"Válaszd ki a házat ahonnan ki akarod szedni a kocsit:\", HouseList, \"Select\", \"Cancel\");
}
else
SendClientMessage(playerid, 0xFFFFFFFF, \"{FF0000}Gyalog kell lenned, hogy egy kocsit magadhoz teleportálj.\");
// Let the server know that this was a valid command
return 1;
}
// This command checks if the player is inside a vehicle that he owns and if he\'s in range of the house where the vehicle is assigned to
COMMAND:park(playerid, params[])
{
// Setup local variables
new Float:x, Float:y, Float:z, Float:rot, vid, HouseID, Msg[128];
new engine,lights,alarm,doors,bonnet,boot,objective;
// If a player hasn\'t logged in properly, he cannot use this command
if (INT_IsPlayerLoggedIn(playerid) == 0) return 0;
// Check if the player is inside a vehicle (he must be the driver)
if (GetPlayerVehicleSeat(playerid) == 0)
{
// Get the vehicle-id
vid = GetPlayerVehicleID(playerid);
// Get the HouseID to which this vehicle belongs
HouseID = AVehicleData[vid][belongsToHouse];
// Check if this vehicle belongs to a house (if not, the vehicle cannot be parked, as it\'s not a house-vehicle)
if (HouseID != 0)
{
   // Check if the vehicle is in range of the house-entrance (you cannot park a vehicle further away from your house than 150m)
   if (IsPlayerInRangeOfPoint(playerid, ParkRange, AHouseData[HouseID][HouseX], AHouseData[HouseID][HouseY], AHouseData[HouseID][HouseZ]))
   {
      // Get the player\'s position and angle
      GetVehiclePos(vid, x, y, z);
      GetVehicleZAngle(vid, rot);
      // Save those values for the vehicle
      AVehicleData[vid][spawnX] = x;
      AVehicleData[vid][spawnY] = y;
      AVehicleData[vid][spawnZ] = z;
      AVehicleData[vid][spawnRot] = rot;
      // Loop through all carslots of this house to find the vehicle-id
      for (new CarSlot; CarSlot < 10; CarSlot++)
      {
         // Check if this carslot holds the same vehicle-id
          if (AHouseData[HouseID][VehicleIDs][CarSlot] == vid)
          {
                    House_ReplaceVehicle(HouseID, CarSlot); // Re-create the vehicle at the same spot the player wants to park his vehicle
                    PutPlayerInVehicle(playerid, AHouseData[HouseID][VehicleIDs][CarSlot], 0);
            // Turn on the engine and lights
            GetVehicleParamsEx(AHouseData[HouseID][VehicleIDs][CarSlot], engine, lights, alarm, doors, bonnet, boot, objective);
            SetVehicleParamsEx(AHouseData[HouseID][VehicleIDs][CarSlot], 1, 1, alarm, doors, bonnet, boot, objective);
                    break; // Stop the for-loop
         }
      }
      // Let the player know he parked his vehicle
      SendClientMessage(playerid, 0xFFFFFFFF, \"{00FF00}Leparkoltad a jármûved.\");
      // Save the housefile
      HouseFile_Save(HouseID);
   }
   else
   {
       format(Msg, 128, \"{FFFF00}%iméteren{FF0000} belül kell parkolj a házadhoz közel.\", ParkRange);
       SendClientMessage(playerid, 0xFFFFFFFF, Msg);
   }
}
else
    SendClientMessage(playerid, 0xFFFFFFFF, \"{FF0000}Nem tudod leparkolni a jármûved, mert nem a te tulajdonodban van!\");
}
else
    SendClientMessage(playerid, 0xFFFFFFFF, \"{FF0000}Csak jármûben tudod leparkolni a saját jármûvedet.\");
// Let the server know that this was a valid command
return 1;
}
 
// ******************************************************************************************************************************
// Dialog-responses
// ******************************************************************************************************************************
// This function processes the housemenu dialog
Dialog_HouseMenu(playerid, response, listitem)
{
// Just close the dialog if the player clicked \"Cancel\"
if(!response) return 1;
// Setup local variables
new UpgradeList[2000], HouseID, DialogTitle[200], Counter, UpgradePrice, Msg[128], CarSlot, VehicleClassList[1000], VehicleList[500];
   new MsgInsurance[128], BuyableCarIndex, bool:HouseHasCars = false;
// Get the HouseID of the house where the player is
HouseID = APlayerData[playerid][CurrentHouse];
// Skip listitem 1 if this house is a static house (listitem 1 = buy house-car => item 2, ...)
if (AHouseData[HouseID][staticHouse] == true)
{
// If listitem is 1 or higher, increase the listitem by 1, skipping the \"upgrade house\" option
// but still keep the \"change housename\" option (listitem 0)
if (listitem >=

Oldalak: [1] 2 3
SimplePortal 2.3.7 © 2008-2024, SimplePortal