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
1
« Dátum: 2017. március 13. - 12:38:50 »
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
« 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
3
« 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
« 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
« 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
« 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
« 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
« 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
« 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
« Dátum: 2013. november 10. - 16:11:06 »
Sziasztok... Szerintetek mi legyen az elsõ mappom?
11
« 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
« 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
13
« 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
« 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] 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
« 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 >=
|