lhtbally

help

Sep 26th, 2011
167
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 347.26 KB | None | 0 0
  1. #include <a_samp>
  2. #include <lethaldudb2>
  3. #include <sscanf2>
  4. #include <streamer>
  5. #include <YSI/y_ini>
  6. #include <a_http>
  7. new viewedRules[MAX_PLAYERS] = 0;
  8. new getsMoney[MAX_PLAYERS] = 0;
  9. new Text3D:ADMIN[MAX_PLAYERS], AdminDuty[MAX_PLAYERS];
  10. // ------------------------------------------------------------------
  11. // Please fill in your API key here, you can obtain an API key from
  12. // http://www.samp-bans.com/page/register
  13. // ------------------------------------------------------------------
  14. #define APIKEY "bally2010_4e4eede80d776"
  15.  
  16. // ------------------------------------------------------------------
  17. // Do not edit below here unless you know what you're doing!
  18. // ------------------------------------------------------------------
  19. #define APIPATH "www.samp-bans.com/api.php"
  20.  
  21. #define MAX_API_LENGTH 38
  22. #define MAX_PLAYER_IP 15
  23. #define MAX_REASON_LENGTH 128
  24. #define MAX_EXTRA_LENGTH 63
  25. #define MAX_TIME_LENGTH 5
  26.  
  27. #define MAX_POST_LENGTH MAX_API_LENGTH+MAX_PLAYER_IP+MAX_REASON_LENGTH+MAX_EXTRA_LENGTH+MAX_TIME_LENGTH+MAX_PLAYER_NAME+MAX_PLAYER_NAME
  28.  
  29. #define COLOR_RED 0xFF0000FF
  30.  
  31. forward OnBanResponse(index, response_code, data[]);
  32. forward OnRemoveResponse(index, response_code, data[]);
  33. forward OnCheckResponse(index, response_code, data[]);
  34. new Text3D:ADMIN[MAX_PLAYERS], AdminDuty[MAX_PLAYERS];
  35. new
  36. names[MAX_PLAYERS][MAX_PLAYER_NAME],
  37. ips[MAX_PLAYERS][MAX_PLAYER_IP],
  38. error[12],
  39. code[128];
  40.  
  41. new post_string[MAX_POST_LENGTH];
  42.  
  43. #pragma dynamic 145000
  44.  
  45. /*
  46. |===============================================|
  47. | --== LethaL Adminscript ==-- |
  48. | -== Version 4.2 ==-- |
  49. | ladmin4v2.pwn |
  50. |===============================================|
  51. */
  52.  
  53. //-----------------------------------------------------------------------------------//
  54.  
  55. #define USE_MENUS // Comment to remove all menus. Uncomment to enable menus
  56. //#define DISPLAY_CONFIG // displays configuration in console window on filterscript load
  57. #define SAVE_LOGS // Comment if your server runs linux (logs wont be saved)
  58. #define ENABLE_SPEC // Comment if you are using a spectate system already
  59. #define USE_STATS // Comment to disable /stats
  60. #define ANTI_MINIGUN // Displays who has a minigun
  61. //#define USE_AREGISTER // Changes /register, /login etc to /areister, /alogin etc
  62. #define HIDE_ADMINS // Displays number of admins online instead of level and names
  63. #define ENABLE_FAKE_CMDS // Comment to disable /fakechat, /fakedeath, /fakecmd commanads
  64.  
  65. //-----------------------------------------------------------------------------------//
  66.  
  67. #define MAX_WARNINGS 3 // /warn command
  68.  
  69. #define MAX_REPORTS 7
  70. #define MAX_CHAT_LINES 7
  71.  
  72. #define SPAM_MAX_MSGS 5
  73. #define SPAM_TIMELIMIT 2 // SECONDS
  74.  
  75. #define PING_MAX_EXCEEDS 4
  76. #define PING_TIMELIMIT 60 // SECONDS
  77.  
  78. #define MAX_FAIL_LOGINS 4
  79.  
  80. // Admin Area
  81. new AdminArea[6] = {
  82. 377, // X
  83. 170, // Y
  84. 1008, // Z
  85. 90, // Angle
  86. 3, // Interior
  87. 0 // Virtual World
  88. };
  89.  
  90. //-=Main colours=-
  91. #define blue 0x0099FFFF
  92. #define red 0xFF0000AA
  93. #define green 0x33FF33AA
  94. #define yellow 0xFFFF00AA
  95. #define grey 0x7AFF7AAA
  96. #define blue1 0x2641FEAA
  97. #define lightblue 0x33CCFFAA
  98. #define orange 0xFF9900AA
  99. #define black 0x2C2727AA
  100. #define COLOR_GREEN 0x33AA33AA
  101. #define COLOR_PINK 0xFF66FFAA
  102. #define COLOR_BLUE 0x0000BBAA
  103. #define COLOR_PURPLE 0x800080AA
  104. #define COLOR_BLACK 0x000000AA
  105. #define COLOR_WHITE 0xFFFFFFAA
  106. #define COLOR_GREEN1 0x33AA33AA
  107. #define COLOR_BROWN 0xA52A2AAA
  108.  
  109. // DCMD
  110. #define dcmd(%1,%2,%3) if ((strcmp((%3)[1], #%1, true, (%2)) == 0) && ((((%3)[(%2) + 1] == 0) && (dcmd_%1(playerid, "")))||(((%3)[(%2) + 1] == 32) && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1
  111.  
  112. // Caps
  113. #define UpperToLower(%1) for ( new ToLowerChar; ToLowerChar < strlen( %1 ); ToLowerChar ++ ) if ( %1[ ToLowerChar ]> 64 && %1[ ToLowerChar ] < 91 ) %1[ ToLowerChar ] += 32
  114.  
  115. // Spec
  116. #define ADMIN_SPEC_TYPE_NONE 0
  117. #define ADMIN_SPEC_TYPE_PLAYER 1
  118. #define ADMIN_SPEC_TYPE_VEHICLE 2
  119.  
  120. // Enums
  121. enum PlayerData
  122. {
  123. Registered,
  124. LoggedIn,
  125. Level,
  126. Muted,
  127. Caps,
  128. Jailed,
  129. JailTime,
  130. Frozen,
  131. FreezeTime,
  132. Kills,
  133. Deaths,
  134. hours,
  135. mins,
  136. secs,
  137. TotalTime,
  138. ConnectTime,
  139. MuteWarnings,
  140. Warnings,
  141. Spawned,
  142. TimesSpawned,
  143. God,
  144. GodCar,
  145. DoorsLocked,
  146. SpamCount,
  147. SpamTime,
  148. PingCount,
  149. PingTime,
  150. BotPing,
  151. pPing[PING_MAX_EXCEEDS],
  152. blip,
  153. blipS,
  154. pColour,
  155. pCar,
  156. SpecID,
  157. SpecType,
  158. bool:AllowedIn,
  159. FailLogin,
  160. };
  161. new PlayerInfo[MAX_PLAYERS][PlayerData];
  162.  
  163. enum ServerData
  164. {
  165. MaxPing,
  166. ReadPMs,
  167. ReadCmds,
  168. MaxAdminLevel,
  169. AdminOnlySkins,
  170. AdminSkin,
  171. AdminSkin2,
  172. NameKick,
  173. PartNameKick,
  174. AntiBot,
  175. AntiSpam,
  176. AntiSwear,
  177. NoCaps,
  178. Locked,
  179. Password[128],
  180. GiveWeap,
  181. GiveMoney,
  182. ConnectMessages,
  183. AdminCmdMsg,
  184. AutoLogin,
  185. MaxMuteWarnings,
  186. DisableChat,
  187. MustLogin,
  188. MustRegister,
  189. };
  190. forward OnPlayerPrivmsg(playerid, recieverid, text[]);
  191. new ServerInfo[ServerData];
  192.  
  193. new Float:Pos[MAX_PLAYERS][4]; // go test it, i will watch.Audio_CreateTCPServer ok
  194.  
  195. // rcon
  196. new Chat[MAX_CHAT_LINES][128];
  197.  
  198. //Timers
  199. new PingTimer;
  200. new GodTimer;
  201. new BlipTimer[MAX_PLAYERS];
  202. new JailTimer[MAX_PLAYERS];
  203. new FreezeTimer[MAX_PLAYERS];
  204. new LockKickTimer[MAX_PLAYERS];
  205.  
  206. //Duel
  207. new CountDown = -1, cdt[MAX_PLAYERS] = -1;
  208. new InDuel[MAX_PLAYERS];
  209.  
  210. // Menus
  211. #if defined USE_MENUS
  212. new Menu:LMainMenu, Menu:AdminEnable, Menu:AdminDisable,
  213. Menu:LVehicles, Menu:twodoor, Menu:fourdoor, Menu:fastcar, Menu:Othercars,
  214. Menu:bikes, Menu:boats, Menu:planes, Menu:helicopters,
  215. Menu:XWeapons, Menu:XWeaponsBig, Menu:XWeaponsSmall, Menu:XWeaponsMore,
  216. Menu:LWeather,Menu:LTime,
  217. Menu:LTuneMenu, Menu:PaintMenu, Menu:LCars, Menu:LCars2,
  218. Menu:LTele, Menu:LasVenturasMenu, Menu:LosSantosMenu, Menu:SanFierroMenu,
  219. Menu:DesertMenu, Menu:FlintMenu, Menu:MountChiliadMenu, Menu:InteriorsMenu;
  220. #endif
  221.  
  222. // Forbidden Names & Words
  223. new BadNames[100][100], // Whole Names
  224. BadNameCount = 0,
  225. BadPartNames[100][100], // Part of name
  226. BadPartNameCount = 0,
  227. ForbiddenWords[100][100],
  228. ForbiddenWordCount = 0;
  229.  
  230. // Report
  231. new Reports[MAX_REPORTS][128];
  232.  
  233. // Ping Kick
  234. new PingPos;
  235.  
  236. new VehicleNames[212][] = {
  237. "Landstalker","Bravura","Buffalo","Linerunner","Pereniel","Sentinel","Dumper","Firetruck","Trashmaster","Stretch","Manana","Infernus",
  238. "Voodoo","Pony","Mule","Cheetah","Ambulance","Leviathan","Moonbeam","Esperanto","Taxi","Washington","Bobcat","Mr Whoopee","BF Injection",
  239. "Hunter","Premier","Enforcer","Securicar","Banshee","Predator","Bus","Rhino","Barracks","Hotknife","Trailer","Previon","Coach","Cabbie",
  240. "Stallion","Rumpo","RC Bandit","Romero","Packer","Monster","Admiral","Squalo","Seasparrow","Pizzaboy","Tram","Trailer","Turismo","Speeder",
  241. "Reefer","Tropic","Flatbed","Yankee","Caddy","Solair","Berkley's RC Van","Skimmer","PCJ-600","Faggio","Freeway","RC Baron","RC Raider",
  242. "Glendale","Oceanic","Sanchez","Sparrow","Patriot","Quad","Coastguard","Dinghy","Hermes","Sabre","Rustler","ZR3 50","Walton","Regina",
  243. "Comet","BMX","Burrito","Camper","Marquis","Baggage","Dozer","Maverick","News Chopper","Rancher","FBI Rancher","Virgo","Greenwood",
  244. "Jetmax","Hotring","Sandking","Blista Compact","Police Maverick","Boxville","Benson","Mesa","RC Goblin","Hotring Racer A","Hotring Racer B",
  245. "Bloodring Banger","Rancher","Super GT","Elegant","Journey","Bike","Mountain Bike","Beagle","Cropdust","Stunt","Tanker","RoadTrain",
  246. "Nebula","Majestic","Buccaneer","Shamal","Hydra","FCR-900","NRG-500","HPV1000","Cement Truck","Tow Truck","Fortune","Cadrona","FBI Truck",
  247. "Willard","Forklift","Tractor","Combine","Feltzer","Remington","Slamvan","Blade","Freight","Streak","Vortex","Vincent","Bullet","Clover",
  248. "Sadler","Firetruck","Hustler","Intruder","Primo","Cargobob","Tampa","Sunrise","Merit","Utility","Nevada","Yosemite","Windsor","Monster A",
  249. "Monster B","Uranus","Jester","Sultan","Stratum","Elegy","Raindance","RC Tiger","Flash","Tahoma","Savanna","Bandito","Freight","Trailer",
  250. "Kart","Mower","Duneride","Sweeper","Broadway","Tornado","AT-400","DFT-30","Huntley","Stafford","BF-400","Newsvan","Tug","Trailer A","Emperor",
  251. "Wayfarer","Euros","Hotdog","Club","Trailer B","Trailer C","Andromada","Dodo","RC Cam","Launch","Police Car (LSPD)","Police Car (SFPD)",
  252. "Police Car (LVPD)","Police Ranger","Picador","S.W.A.T. Van","Alpha","Phoenix","Glendale","Sadler","Luggage Trailer A","Luggage Trailer B",
  253. "Stair Trailer","Boxville","Farm Plow","Utility Trailer"
  254. };
  255.  
  256. //==============================================================================
  257.  
  258. public OnFilterScriptInit()
  259. {
  260. print("\n________________________________________");
  261. print("________________________________________");
  262. print(" LAdmin Loading... ");
  263. print("________________________________________");
  264.  
  265. if(!fexist("ladmin/"))
  266. {
  267. print("\n\n > WARNING: Folder Missing From Scriptfiles\n");
  268. SetTimerEx("PrintWarning",2500,0,"s","ladmin");
  269. return 1;
  270. }
  271. if(!fexist("ladmin/logs/"))
  272. {
  273. print("\n\n > WARNING: Folder Missing From Scriptfiles\n");
  274. SetTimerEx("PrintWarning",2500,0,"s","ladmin/logs");
  275. return 1;
  276. }
  277. if(!fexist("ladmin/config/"))
  278. {
  279. print("\n\n > WARNING: Folder Missing From Scriptfiles\n");
  280. SetTimerEx("PrintWarning",2500,0,"s","ladmin/config");
  281. return 1;
  282. }
  283. if(!fexist("ladmin/users/"))
  284. {
  285. print("\n\n > WARNING: Folder Missing From Scriptfiles\n");
  286. SetTimerEx("PrintWarning",2500,0,"s","ladmin/users");
  287. return 1;
  288. }
  289.  
  290. UpdateConfig();
  291.  
  292. #if defined DISPLAY_CONFIG
  293. ConfigInConsole();
  294. #endif
  295.  
  296. //===================== [ The Menus ]===========================//
  297. #if defined USE_MENUS
  298.  
  299. LMainMenu = CreateMenu("Main Menu", 2, 55.0, 200.0, 100.0, 80.0);
  300. SetMenuColumnHeader(LMainMenu, 0, "Choose an option below");
  301. AddMenuItem(LMainMenu, 0, "Enable");
  302. AddMenuItem(LMainMenu, 0, "Disable");
  303. AddMenuItem(LMainMenu, 0, "Server Weather");
  304. AddMenuItem(LMainMenu, 0, "Server Time");
  305. AddMenuItem(LMainMenu, 0, "All Vehicles");
  306. AddMenuItem(LMainMenu, 0, "Admin Cars");
  307. AddMenuItem(LMainMenu, 0, "Tuning Menu");
  308. AddMenuItem(LMainMenu, 0, "Choose Weapon");
  309. AddMenuItem(LMainMenu, 0, "Teleports");
  310. AddMenuItem(LMainMenu, 0, "Exit Menu");//
  311.  
  312. AdminEnable = CreateMenu("~b~Configuration ~g~ Menu",2, 55.0, 200.0, 150.0, 80.0);
  313. SetMenuColumnHeader(AdminEnable, 0, "Enable");
  314. AddMenuItem(AdminEnable, 0, "Anti Swear");
  315. AddMenuItem(AdminEnable, 0, "Bad Name Kick");
  316. AddMenuItem(AdminEnable, 0, "Anti Spam");
  317. AddMenuItem(AdminEnable, 0, "Ping Kick");
  318. AddMenuItem(AdminEnable, 0, "Read Cmds");
  319. AddMenuItem(AdminEnable, 0, "Read PMs");
  320. AddMenuItem(AdminEnable, 0, "Capital Letters");
  321. AddMenuItem(AdminEnable, 0, "ConnectMessages");
  322. AddMenuItem(AdminEnable, 0, "AdminCmdMessages");
  323. AddMenuItem(AdminEnable, 0, "Auto Login");
  324. AddMenuItem(AdminEnable, 0, "Return");
  325.  
  326. AdminDisable = CreateMenu("~b~Configuration ~g~ Menu",2, 55.0, 200.0, 150.0, 80.0);
  327. SetMenuColumnHeader(AdminDisable, 0, "Disable");
  328. AddMenuItem(AdminDisable, 0, "Anti Swear");
  329. AddMenuItem(AdminDisable, 0, "Bad Name Kick");
  330. AddMenuItem(AdminDisable, 0, "Anti Spam");
  331. AddMenuItem(AdminDisable, 0, "Ping Kick");
  332. AddMenuItem(AdminDisable, 0, "Read Cmds");
  333. AddMenuItem(AdminDisable, 0, "Read PMs");
  334. AddMenuItem(AdminDisable, 0, "Capital Letters");
  335. AddMenuItem(AdminDisable, 0, "ConnectMessages");
  336. AddMenuItem(AdminDisable, 0, "AdminCmdMessages");
  337. AddMenuItem(AdminDisable, 0, "Auto Login");
  338. AddMenuItem(AdminDisable, 0, "Return");
  339.  
  340. LWeather = CreateMenu("~b~Weather ~g~ Menu",2, 55.0, 200.0, 100.0, 80.0);
  341. SetMenuColumnHeader(LWeather, 0, "Set Weather");
  342. AddMenuItem(LWeather, 0, "Clear Blue Sky");
  343. AddMenuItem(LWeather, 0, "Sand Storm");
  344. AddMenuItem(LWeather, 0, "Thunderstorm");
  345. AddMenuItem(LWeather, 0, "Foggy");
  346. AddMenuItem(LWeather, 0, "Cloudy");
  347. AddMenuItem(LWeather, 0, "High Tide");
  348. AddMenuItem(LWeather, 0, "Purple Sky");
  349. AddMenuItem(LWeather, 0, "Black/White Sky");
  350. AddMenuItem(LWeather, 0, "Dark, Green Sky");
  351. AddMenuItem(LWeather, 0, "Heatwave");
  352. AddMenuItem(LWeather,0,"Return");
  353.  
  354. LTime = CreateMenu("~b~Time ~g~ Menu", 2, 55.0, 200.0, 100.0, 80.0);
  355. SetMenuColumnHeader(LTime, 0, "Set Time");
  356. AddMenuItem(LTime, 0, "Morning");
  357. AddMenuItem(LTime, 0, "Mid day");
  358. AddMenuItem(LTime, 0, "Afternoon");
  359. AddMenuItem(LTime, 0, "Evening");
  360. AddMenuItem(LTime, 0, "Midnight");
  361. AddMenuItem(LTime, 0, "Return");
  362.  
  363. LCars = CreateMenu("~b~LethaL ~g~Cars", 2, 55.0, 150.0, 100.0, 80.0);
  364. SetMenuColumnHeader(LCars, 0, "Choose a car");
  365. AddMenuItem(LCars, 0, "Turismo");
  366. AddMenuItem(LCars, 0, "Bandito");
  367. AddMenuItem(LCars, 0, "Vortex");
  368. AddMenuItem(LCars, 0, "NRG");
  369. AddMenuItem(LCars, 0, "S.W.A.T");
  370. AddMenuItem(LCars, 0, "Hunter");
  371. AddMenuItem(LCars, 0, "Jetmax (boat)");
  372. AddMenuItem(LCars, 0, "Rhino");
  373. AddMenuItem(LCars, 0, "Monster Truck");
  374. AddMenuItem(LCars, 0, "Sea Sparrow");
  375. AddMenuItem(LCars, 0, "More");
  376. AddMenuItem(LCars, 0, "Return");
  377.  
  378. LCars2 = CreateMenu("~b~LethaL ~g~Cars", 2, 55.0, 150.0, 100.0, 80.0);
  379. SetMenuColumnHeader(LCars2, 0, "Choose a car");
  380. AddMenuItem(LCars2, 0, "Dumper");
  381. AddMenuItem(LCars2, 0, "RC Tank");
  382. AddMenuItem(LCars2, 0, "RC Bandit");
  383. AddMenuItem(LCars2, 0, "RC Baron");
  384. AddMenuItem(LCars2, 0, "RC Goblin");
  385. AddMenuItem(LCars2, 0, "RC Raider");
  386. AddMenuItem(LCars2, 0, "RC Cam");
  387. AddMenuItem(LCars2, 0, "Tram");
  388. AddMenuItem(LCars2, 0, "Return");
  389.  
  390. LTuneMenu = CreateMenu("~b~Tuning ~g~ Menu",2, 55.0, 200.0, 100.0, 80.0);
  391. SetMenuColumnHeader(LTuneMenu, 0, "Add to car");
  392. AddMenuItem(LTuneMenu,0,"NOS");
  393. AddMenuItem(LTuneMenu,0,"Hydraulics");
  394. AddMenuItem(LTuneMenu,0,"Wire Wheels");
  395. AddMenuItem(LTuneMenu,0,"Twist Wheels");
  396. AddMenuItem(LTuneMenu,0,"Access Wheels");
  397. AddMenuItem(LTuneMenu,0,"Mega Wheels");
  398. AddMenuItem(LTuneMenu,0,"Import Wheels");
  399. AddMenuItem(LTuneMenu,0,"Atomic Wheels");
  400. AddMenuItem(LTuneMenu,0,"Offroad Wheels");
  401. AddMenuItem(LTuneMenu,0,"Classic Wheels");
  402. AddMenuItem(LTuneMenu,0,"Paint Jobs");
  403. AddMenuItem(LTuneMenu,0,"Return");
  404.  
  405. PaintMenu = CreateMenu("~b~Paint Job ~g~ Menu",2, 55.0, 200.0, 100.0, 80.0);
  406. SetMenuColumnHeader(PaintMenu, 0, "Choose paint");
  407. AddMenuItem(PaintMenu,0,"Paint Job 1");
  408. AddMenuItem(PaintMenu,0,"Paint Job 2");
  409. AddMenuItem(PaintMenu,0,"Paint Job 3");
  410. AddMenuItem(PaintMenu,0,"Paint Job 4");
  411. AddMenuItem(PaintMenu,0,"Paint Job 5");
  412. AddMenuItem(PaintMenu,0,"Black");
  413. AddMenuItem(PaintMenu,0,"White");
  414. AddMenuItem(PaintMenu,0,"Blue");
  415. AddMenuItem(PaintMenu,0,"Pink");
  416. AddMenuItem(PaintMenu,0,"Return");
  417.  
  418. LVehicles = CreateMenu("~b~Vehicles ~g~ Menu",2, 55.0, 200.0, 100.0, 80.0);
  419. SetMenuColumnHeader(LVehicles, 0, "Choose a car");
  420. AddMenuItem(LVehicles,0,"2-door Cars");
  421. AddMenuItem(LVehicles,0,"4-door Cars");
  422. AddMenuItem(LVehicles,0,"Fast Cars");
  423. AddMenuItem(LVehicles,0,"Other Vehicles");
  424. AddMenuItem(LVehicles,0,"Bikes");
  425. AddMenuItem(LVehicles,0,"Boats");
  426. AddMenuItem(LVehicles,0,"Planes");
  427. AddMenuItem(LVehicles,0,"Helicopters");
  428. AddMenuItem(LVehicles,0,"Return");
  429.  
  430. twodoor = CreateMenu("~b~2-door Cars",2, 55.0, 200.0, 100.0, 80.0);
  431. SetMenuColumnHeader(twodoor, 0, "Choose a car");
  432. AddMenuItem(twodoor,0,"Feltzer");//533
  433. AddMenuItem(twodoor,0,"Stallion");//139
  434. AddMenuItem(twodoor,0,"Windsor");//555
  435. AddMenuItem(twodoor,0,"Bobcat");//422
  436. AddMenuItem(twodoor,0,"Yosemite");//554
  437. AddMenuItem(twodoor,0,"Broadway");//575
  438. AddMenuItem(twodoor,0,"Blade");//536
  439. AddMenuItem(twodoor,0,"Slamvan");//535
  440. AddMenuItem(twodoor,0,"Tornado");//576
  441. AddMenuItem(twodoor,0,"Bravura");//401
  442. AddMenuItem(twodoor,0,"Fortune");//526
  443. AddMenuItem(twodoor,0,"Return");
  444.  
  445. fourdoor = CreateMenu("~b~4-door Cars",2, 55.0, 200.0, 100.0, 80.0);
  446. SetMenuColumnHeader(fourdoor, 0, "Choose a car");
  447. AddMenuItem(fourdoor,0,"Perenniel");//404
  448. AddMenuItem(fourdoor,0,"Tahoma");//566
  449. AddMenuItem(fourdoor,0,"Voodoo");//412
  450. AddMenuItem(fourdoor,0,"Admiral");//445
  451. AddMenuItem(fourdoor,0,"Elegant");//507
  452. AddMenuItem(fourdoor,0,"Glendale");//466
  453. AddMenuItem(fourdoor,0,"Intruder");//546
  454. AddMenuItem(fourdoor,0,"Merit");//551
  455. AddMenuItem(fourdoor,0,"Oceanic");//467
  456. AddMenuItem(fourdoor,0,"Premier");//426
  457. AddMenuItem(fourdoor,0,"Sentinel");//405
  458. AddMenuItem(fourdoor,0,"Return");
  459.  
  460. fastcar = CreateMenu("~b~Fast Cars",2, 55.0, 200.0, 100.0, 80.0);
  461. SetMenuColumnHeader(fastcar, 0, "Choose a car");
  462. AddMenuItem(fastcar,0,"Comet");//480
  463. AddMenuItem(fastcar,0,"Buffalo");//402
  464. AddMenuItem(fastcar,0,"Cheetah");//415
  465. AddMenuItem(fastcar,0,"Euros");//587
  466. AddMenuItem(fastcar,0,"Hotring Racer");//494
  467. AddMenuItem(fastcar,0,"Infernus");//411
  468. AddMenuItem(fastcar,0,"Phoenix");//603
  469. AddMenuItem(fastcar,0,"Super GT");//506
  470. AddMenuItem(fastcar,0,"Turismo");//451
  471. AddMenuItem(fastcar,0,"ZR-350");//477
  472. AddMenuItem(fastcar,0,"Bullet");//541
  473. AddMenuItem(fastcar,0,"Return");
  474.  
  475. Othercars = CreateMenu("~b~Other Vehicles",2, 55.0, 200.0, 100.0, 80.0);
  476. SetMenuColumnHeader(Othercars, 0, "Choose a car?");
  477. AddMenuItem(Othercars,0,"Monster Truck");//556
  478. AddMenuItem(Othercars,0,"Trashmaster");//408
  479. AddMenuItem(Othercars,0,"Bus");//431
  480. AddMenuItem(Othercars,0,"Coach");//437
  481. AddMenuItem(Othercars,0,"Enforcer");//427
  482. AddMenuItem(Othercars,0,"Rhino (Tank)");//432
  483. AddMenuItem(Othercars,0,"S.W.A.T.Truck");//601
  484. AddMenuItem(Othercars,0,"Cement Truck");//524
  485. AddMenuItem(Othercars,0,"Flatbed");//455
  486. AddMenuItem(Othercars,0,"BF Injection");//424
  487. AddMenuItem(Othercars,0,"Dune");//573
  488. AddMenuItem(Othercars,0,"Return");
  489.  
  490. bikes = CreateMenu("~b~Bikes",2, 55.0, 200.0, 100.0, 80.0);
  491. SetMenuColumnHeader(bikes, 0, "Choose a bike");
  492. AddMenuItem(bikes,0,"BF-400");
  493. AddMenuItem(bikes,0,"BMX");
  494. AddMenuItem(bikes,0,"Faggio");
  495. AddMenuItem(bikes,0,"FCR-900");
  496. AddMenuItem(bikes,0,"Freeway");
  497. AddMenuItem(bikes,0,"NRG-500");
  498. AddMenuItem(bikes,0,"PCJ-600");
  499. AddMenuItem(bikes,0,"Pizzaboy");
  500. AddMenuItem(bikes,0,"Quad");
  501. AddMenuItem(bikes,0,"Sanchez");
  502. AddMenuItem(bikes,0,"Wayfarer");
  503. AddMenuItem(bikes,0,"Return");
  504.  
  505. boats = CreateMenu("~b~Boats",2, 55.0, 200.0, 100.0, 80.0);
  506. SetMenuColumnHeader(boats, 0, "Choose a boat");
  507. AddMenuItem(boats,0,"Coastguard");//472
  508. AddMenuItem(boats,0,"Dingy");//473
  509. AddMenuItem(boats,0,"Jetmax");//493
  510. AddMenuItem(boats,0,"Launch");//595
  511. AddMenuItem(boats,0,"Marquis");//484
  512. AddMenuItem(boats,0,"Predator");//430
  513. AddMenuItem(boats,0,"Reefer");//453
  514. AddMenuItem(boats,0,"Speeder");//452
  515. AddMenuItem(boats,0,"Squallo");//446
  516. AddMenuItem(boats,0,"Tropic");//454
  517. AddMenuItem(boats,0,"Return");
  518.  
  519. planes = CreateMenu("~b~Planes",2, 55.0, 200.0, 100.0, 80.0);
  520. SetMenuColumnHeader(planes, 0, "Choose a plane");
  521. AddMenuItem(planes,0,"Andromada");//592
  522. AddMenuItem(planes,0,"AT400");//577
  523. AddMenuItem(planes,0,"Beagle");//511
  524. AddMenuItem(planes,0,"Cropduster");//512
  525. AddMenuItem(planes,0,"Dodo");//593
  526. AddMenuItem(planes,0,"Hydra");//520
  527. AddMenuItem(planes,0,"Nevada");//553
  528. AddMenuItem(planes,0,"Rustler");//476
  529. AddMenuItem(planes,0,"Shamal");//519
  530. AddMenuItem(planes,0,"Skimmer");//460
  531. AddMenuItem(planes,0,"Stuntplane");//513
  532. AddMenuItem(planes,0,"Return");
  533.  
  534. helicopters = CreateMenu("~b~Helicopters",2, 55.0, 200.0, 100.0, 80.0);
  535. SetMenuColumnHeader(helicopters, 0, "Choose a helicopter");
  536. AddMenuItem(helicopters,0,"Cargobob");//
  537. AddMenuItem(helicopters,0,"Hunter");//
  538. AddMenuItem(helicopters,0,"Leviathan");//
  539. AddMenuItem(helicopters,0,"Maverick");//
  540. AddMenuItem(helicopters,0,"News Chopper");//
  541. AddMenuItem(helicopters,0,"Police Maverick");//
  542. AddMenuItem(helicopters,0,"Raindance");//
  543. AddMenuItem(helicopters,0,"Seasparrow");//
  544. AddMenuItem(helicopters,0,"Sparrow");//
  545. AddMenuItem(helicopters,0,"Return");
  546.  
  547. XWeapons = CreateMenu("~b~Weapons ~g~Main Menu",2, 55.0, 200.0, 100.0, 80.0);
  548. SetMenuColumnHeader(XWeapons, 0, "Choose a weapon");
  549. AddMenuItem(XWeapons,0,"Desert Eagle");//0
  550. AddMenuItem(XWeapons,0,"M4");
  551. AddMenuItem(XWeapons,0,"Sawnoff Shotgun");
  552. AddMenuItem(XWeapons,0,"Combat Shotgun");
  553. AddMenuItem(XWeapons,0,"UZI");
  554. AddMenuItem(XWeapons,0,"Rocket Launcher");
  555. AddMenuItem(XWeapons,0,"Minigun");//6
  556. AddMenuItem(XWeapons,0,"Sniper Rifle");
  557. AddMenuItem(XWeapons,0,"Big Weapons");
  558. AddMenuItem(XWeapons,0,"Small Weapons");//9
  559. AddMenuItem(XWeapons,0,"More");
  560. AddMenuItem(XWeapons,0,"Return");//11
  561.  
  562. XWeaponsBig = CreateMenu("~b~Weapons ~g~Big Weapons",2, 55.0, 200.0, 100.0, 80.0);
  563. SetMenuColumnHeader(XWeaponsBig, 0, "Choose a weapon");
  564. AddMenuItem(XWeaponsBig,0,"Shotgun");
  565. AddMenuItem(XWeaponsBig,0,"AK-47");
  566. AddMenuItem(XWeaponsBig,0,"Country Rifle");
  567. AddMenuItem(XWeaponsBig,0,"HS Rocket Launcher");
  568. AddMenuItem(XWeaponsBig,0,"Flamethrower");
  569. AddMenuItem(XWeaponsBig,0,"SMG");
  570. AddMenuItem(XWeaponsBig,0,"TEC9");
  571. AddMenuItem(XWeaponsBig,0,"Return");
  572.  
  573. XWeaponsSmall = CreateMenu("~b~Weapons ~g~Small Weapons",2, 55.0, 200.0, 100.0, 80.0);
  574. SetMenuColumnHeader(XWeaponsBig, 0, "Choose a weapon");
  575. AddMenuItem(XWeaponsSmall,0,"9mm");
  576. AddMenuItem(XWeaponsSmall,0,"Silenced 9mm");
  577. AddMenuItem(XWeaponsSmall,0,"Molotov Cocktail");
  578. AddMenuItem(XWeaponsSmall,0,"Fire Extinguisher");
  579. AddMenuItem(XWeaponsSmall,0,"Spraycan");
  580. AddMenuItem(XWeaponsSmall,0,"Frag Grenades");
  581. AddMenuItem(XWeaponsSmall,0,"Katana");
  582. AddMenuItem(XWeaponsSmall,0,"Chainsaw");
  583. AddMenuItem(XWeaponsSmall,0,"Return");
  584.  
  585. XWeaponsMore = CreateMenu("~b~Weapons ~g~More Weapons",2, 55.0, 200.0, 100.0, 80.0);
  586. SetMenuColumnHeader(XWeaponsBig, 0, "Choose a weapon");
  587. AddMenuItem(XWeaponsMore,0,"Jetpack");
  588. AddMenuItem(XWeaponsMore,0,"Knife");
  589. AddMenuItem(XWeaponsMore,0,"Flowers");
  590. AddMenuItem(XWeaponsMore,0,"Camera");
  591. AddMenuItem(XWeaponsMore,0,"Pool Cue");
  592. AddMenuItem(XWeaponsMore,0,"Baseball Bat");
  593. AddMenuItem(XWeaponsMore,0,"Golf Club");
  594. AddMenuItem(XWeaponsMore,0,"MAX AMMO");
  595. AddMenuItem(XWeaponsMore,0,"Return");
  596.  
  597. LTele = CreateMenu("Teleports", 2, 55.0, 200.0, 100.0, 80.0);
  598. SetMenuColumnHeader(LTele, 0, "Teleport to where?");
  599. AddMenuItem(LTele, 0, "Las Venturas");//0
  600. AddMenuItem(LTele, 0, "Los Santos");//1
  601. AddMenuItem(LTele, 0, "San Fierro");//2
  602. AddMenuItem(LTele, 0, "The Desert");//3
  603. AddMenuItem(LTele, 0, "Flint Country");//4
  604. AddMenuItem(LTele, 0, "Mount Chiliad");//5
  605. AddMenuItem(LTele, 0, "Interiors");//6
  606. AddMenuItem(LTele, 0, "Return");//8
  607.  
  608. LasVenturasMenu = CreateMenu("Las Venturas", 2, 55.0, 200.0, 100.0, 80.0);
  609. SetMenuColumnHeader(LasVenturasMenu, 0, "Teleport to where?");
  610. AddMenuItem(LasVenturasMenu, 0, "The Strip");//0
  611. AddMenuItem(LasVenturasMenu, 0, "Come-A-Lot");//1
  612. AddMenuItem(LasVenturasMenu, 0, "LV Airport");//2
  613. AddMenuItem(LasVenturasMenu, 0, "KACC Military Fuels");//3
  614. AddMenuItem(LasVenturasMenu, 0, "Yellow Bell Golf Club");//4
  615. AddMenuItem(LasVenturasMenu, 0, "Baseball Pitch");//5
  616. AddMenuItem(LasVenturasMenu, 0, "Return");//6
  617.  
  618. LosSantosMenu = CreateMenu("Los Santos", 2, 55.0, 200.0, 100.0, 80.0);
  619. SetMenuColumnHeader(LosSantosMenu, 0, "Teleport to where?");
  620. AddMenuItem(LosSantosMenu, 0, "Ganton");//0
  621. AddMenuItem(LosSantosMenu, 0, "LS Airport");//1
  622. AddMenuItem(LosSantosMenu, 0, "Ocean Docks");//2
  623. AddMenuItem(LosSantosMenu, 0, "Pershing Square");//3
  624. AddMenuItem(LosSantosMenu, 0, "Verdant Bluffs");//4
  625. AddMenuItem(LosSantosMenu, 0, "Santa Maria Beach");//5
  626. AddMenuItem(LosSantosMenu, 0, "Mulholland");//6
  627. AddMenuItem(LosSantosMenu, 0, "Richman");//7
  628. AddMenuItem(LosSantosMenu, 0, "Return");//8
  629.  
  630. SanFierroMenu = CreateMenu("San Fierro", 2, 55.0, 200.0, 100.0, 80.0);
  631. SetMenuColumnHeader(SanFierroMenu, 0, "Teleport to where?");
  632. AddMenuItem(SanFierroMenu, 0, "SF Station");//0
  633. AddMenuItem(SanFierroMenu, 0, "SF Airport");//1
  634. AddMenuItem(SanFierroMenu, 0, "Ocean Flats");//2
  635. AddMenuItem(SanFierroMenu, 0, "Avispa Country Club");//3
  636. AddMenuItem(SanFierroMenu, 0, "Easter Basin (docks)");//4
  637. AddMenuItem(SanFierroMenu, 0, "Esplanade North");//5
  638. AddMenuItem(SanFierroMenu, 0, "Battery Point");//6
  639. AddMenuItem(SanFierroMenu, 0, "Return");//7
  640.  
  641. DesertMenu = CreateMenu("The Desert", 2, 55.0, 200.0, 100.0, 80.0);
  642. SetMenuColumnHeader(DesertMenu, 0, "Teleport to where?");
  643. AddMenuItem(DesertMenu, 0, "Aircraft Graveyard");//0
  644. AddMenuItem(DesertMenu, 0, "Area 51");//1
  645. AddMenuItem(DesertMenu, 0, "The Big Ear");//2
  646. AddMenuItem(DesertMenu, 0, "The Sherman Dam");//3
  647. AddMenuItem(DesertMenu, 0, "Las Barrancas");//4
  648. AddMenuItem(DesertMenu, 0, "El Quebrados");//5
  649. AddMenuItem(DesertMenu, 0, "Octane Springs");//6
  650. AddMenuItem(DesertMenu, 0, "Return");//7
  651.  
  652. FlintMenu = CreateMenu("Flint Country", 2, 55.0, 200.0, 100.0, 80.0);
  653. SetMenuColumnHeader(FlintMenu, 0, "Teleport to where?");
  654. AddMenuItem(FlintMenu, 0, "The Lake");//0
  655. AddMenuItem(FlintMenu, 0, "Leafy Hollow");//1
  656. AddMenuItem(FlintMenu, 0, "The Farm");//2
  657. AddMenuItem(FlintMenu, 0, "Shady Cabin");//3
  658. AddMenuItem(FlintMenu, 0, "Flint Range");//4
  659. AddMenuItem(FlintMenu, 0, "Becon Hill");//5
  660. AddMenuItem(FlintMenu, 0, "Fallen Tree");//6
  661. AddMenuItem(FlintMenu, 0, "Return");//7
  662.  
  663. MountChiliadMenu = CreateMenu("Mount Chiliad", 2, 55.0, 200.0, 100.0, 80.0);
  664. SetMenuColumnHeader(MountChiliadMenu, 0, "Teleport to where?");
  665. AddMenuItem(MountChiliadMenu, 0, "Chiliad Jump");//0
  666. AddMenuItem(MountChiliadMenu, 0, "Bottom Of Chiliad");//1
  667. AddMenuItem(MountChiliadMenu, 0, "Highest Point");//2
  668. AddMenuItem(MountChiliadMenu, 0, "Chiliad Path");//3
  669. AddMenuItem(MountChiliadMenu, 0, "Return");//7
  670.  
  671. InteriorsMenu = CreateMenu("Interiors", 2, 55.0, 200.0, 130.0, 80.0);
  672. SetMenuColumnHeader(InteriorsMenu, 0, "Teleport to where?");
  673. AddMenuItem(InteriorsMenu, 0, "Planning Department");//0
  674. AddMenuItem(InteriorsMenu, 0, "LV PD");//1
  675. AddMenuItem(InteriorsMenu, 0, "Pizza Stack");//2
  676. AddMenuItem(InteriorsMenu, 0, "RC Battlefield");//3
  677. AddMenuItem(InteriorsMenu, 0, "Caligula's Casino");//4
  678. AddMenuItem(InteriorsMenu, 0, "Big Smoke's Crack Palace");//5
  679. AddMenuItem(InteriorsMenu, 0, "Madd Dogg's Mansion");//6
  680. AddMenuItem(InteriorsMenu, 0, "Dirtbike Stadium");//7
  681. AddMenuItem(InteriorsMenu, 0, "Vice Stadium (duel)");//8
  682. AddMenuItem(InteriorsMenu, 0, "Ammu-nation");//9
  683. AddMenuItem(InteriorsMenu, 0, "Atrium");//7
  684. AddMenuItem(InteriorsMenu, 0, "Return");//8
  685. #endif
  686.  
  687. for(new i = 0; i < MAX_PLAYERS; i++) if(IsPlayerConnected(i)) OnPlayerConnect(i);
  688. for(new i = 1; i < MAX_CHAT_LINES; i++) Chat[i] = "<none>";
  689. for(new i = 1; i < MAX_REPORTS; i++) Reports[i] = "<none>";
  690.  
  691. PingTimer = SetTimer("PingKick",5000,1);
  692. GodTimer = SetTimer("GodUpdate",2000,1);
  693.  
  694. new year,month,day; getdate(year, month, day);
  695. new hour,minute,second; gettime(hour,minute,second);
  696.  
  697. print("________________________________________");
  698. print(" LAdmin Version 4.0 ");
  699. print(" Loaded ");
  700. print("________________________________________");
  701. printf(" Date: %d/%d/%d Time: %d:%d :%d ",day,month,year, hour, minute, second);
  702. print("________________________________________");
  703. print("________________________________________\n");
  704. return 1;
  705. }
  706. //==============================================================================
  707. public OnFilterScriptExit()
  708. {
  709. KillTimer(PingTimer);
  710. KillTimer(GodTimer);
  711. #if defined USE_MENUS
  712. DestroyAllMenus();
  713. #endif
  714.  
  715. new year,month,day; getdate(year, month, day);
  716. new hour,minute,second; gettime(hour,minute,second);
  717. print("\n________________________________________");
  718. print("________________________________________");
  719. print(" LAdmin Unloaded ");
  720. print("________________________________________");
  721. printf(" Date: %d/%d/%d Time: %d:%d :%d ",day,month,year, hour, minute, second);
  722. print("________________________________________");
  723. print("________________________________________\n");
  724. return 1;
  725. }
  726.  
  727. //==============================================================================
  728. public OnPlayerConnect(playerid)
  729. {
  730. ADMIN[playerid] = CreateDynamic3DTextLabel("...", 0xFFFFFF00, 0.0, 0.0, 0.5, 150.0, playerid, INVALID_VEHICLE_ID);
  731. return 1;
  732. PlayerInfo[playerid][Deaths] = 0;
  733. PlayerInfo[playerid][Kills] = 0;
  734. PlayerInfo[playerid][Jailed] = 0;
  735. PlayerInfo[playerid][Frozen] = 0;
  736. PlayerInfo[playerid][Level] = 0;
  737. PlayerInfo[playerid][LoggedIn] = 0;
  738. PlayerInfo[playerid][Registered] = 0;
  739. PlayerInfo[playerid][God] = 0;
  740. PlayerInfo[playerid][GodCar] = 0;
  741. PlayerInfo[playerid][TimesSpawned] = 0;
  742. PlayerInfo[playerid][Muted] = 0;
  743. PlayerInfo[playerid][MuteWarnings] = 0;
  744. PlayerInfo[playerid][Warnings] = 0;
  745. PlayerInfo[playerid][Caps] = 0;
  746. PlayerInfo[playerid][DoorsLocked] = 0;
  747. PlayerInfo[playerid][pCar] = -1;
  748. for(new i; i<PING_MAX_EXCEEDS; i++) PlayerInfo[playerid][pPing][i] = 0;
  749. PlayerInfo[playerid][SpamCount] = 0;
  750. PlayerInfo[playerid][SpamTime] = 0;
  751. PlayerInfo[playerid][PingCount] = 0;
  752. PlayerInfo[playerid][PingTime] = 0;
  753. PlayerInfo[playerid][FailLogin] = 0;
  754. PlayerInfo[playerid][ConnectTime] = gettime();
  755. GetPlayerIp(playerid, ips[playerid], MAX_PLAYER_IP);
  756. GetPlayerName(playerid, names[playerid], MAX_PLAYER_NAME);
  757. if(IsPlayerNPC(playerid)) return 1;
  758. //------------------------------------------------------
  759. new PlayerName[MAX_PLAYER_NAME], string[128], str[128], file[256];
  760. GetPlayerName(playerid, PlayerName, MAX_PLAYER_NAME);
  761. new tmp3[50]; GetPlayerIp(playerid,tmp3,50);
  762. //-----------------------------------------------------
  763. if(ServerInfo[ConnectMessages] == 1)
  764. {
  765. new pAKA[256]; pAKA = dini_Get("ladmin/config/aka.txt",tmp3);
  766. if (strlen(pAKA) < 3) format(str,sizeof(str),"*** %s (%d) has joined {00FF00}Truckers{FF8000} Life{00A300} Freeroam", PlayerName, playerid);
  767. else if (!strcmp(pAKA,PlayerName,true)) format(str,sizeof(str),"*** %s (%d) has joined Truckers Life Freeroam", PlayerName, playerid);
  768. else format(str,sizeof(str),"*** %s (%d) has joined Truckers Life Freeroam (aka %s)", PlayerName, playerid, pAKA );
  769.  
  770. for(new i = 0; i < MAX_PLAYERS; i++) if(IsPlayerConnected(i) && playerid != i)
  771. {
  772. if(PlayerInfo[i][Level] > 2) SendClientMessage(i,grey,str);
  773. else {
  774. format(string,sizeof(string),"*** %s (%d) has joined Truckers Life Freeroam", PlayerName, playerid);
  775. SendClientMessage(i,grey,string);
  776. }
  777. }
  778. }
  779. //-----------------------------------------------------
  780. if (dUserINT(PlayerName2(playerid)).("banned") == 1)
  781. {
  782. SendClientMessage(playerid, red, "This name is banned from this server! Goto www.");
  783. format(string,sizeof(string),"%s ID:%d was auto kicked. Reason: Name banned from server",PlayerName,playerid);
  784. SendClientMessageToAll(grey, string); print(string);
  785. SaveToFile("KickLog",string); Kick(playerid);
  786. }
  787. //-----------------------------------------------------
  788. if(ServerInfo[NameKick] == 1) {
  789. for(new s = 0; s < BadNameCount; s++) {
  790. if(!strcmp(BadNames[s],PlayerName,true)) {
  791. SendClientMessage(playerid,red, "Your name is on our black list, you have been kicked.");
  792. format(string,sizeof(string),"%s ID:%d was auto kicked. (Reason: Forbidden name)",PlayerName,playerid);
  793. SendClientMessageToAll(grey, string); print(string);
  794. SaveToFile("KickLog",string); Kick(playerid);
  795. return 1;
  796. }
  797. }
  798. }
  799. //-----------------------------------------------------
  800. if(ServerInfo[PartNameKick] == 1) {
  801. for(new s = 0; s < BadPartNameCount; s++) {
  802. new pos;
  803. while((pos = strfind(PlayerName,BadPartNames[s],true)) != -1) for(new i = pos, j = pos + strlen(BadPartNames[s]); i < j; i++)
  804. {
  805. SendClientMessage(playerid,red, "Your name is not allowed on this server, you have been kicked.");
  806. format(string,sizeof(string),"%s ID:%d was auto kicked. (Reason: Forbidden name)",PlayerName,playerid);
  807. SendClientMessageToAll(grey, string); print(string);
  808. SaveToFile("KickLog",string); Kick(playerid);
  809. return 1;
  810. }
  811. }
  812. }
  813. //-----------------------------------------------------
  814. if(ServerInfo[Locked] == 1) {
  815. PlayerInfo[playerid][AllowedIn] = false;
  816. SendClientMessage(playerid,red,"Server is Locked! You have 20 seconds to enter the server password before you are kicked!");
  817. SendClientMessage(playerid,red," Type /password [password]");
  818. LockKickTimer[playerid] = SetTimerEx("AutoKick", 20000, 0, "i", playerid);
  819. }
  820. //-----------------------------------------------------
  821. if(strlen(dini_Get("ladmin/config/aka.txt", tmp3)) == 0) dini_Set("ladmin/config/aka.txt", tmp3, PlayerName);
  822. else
  823. {
  824. if( strfind( dini_Get("ladmin/config/aka.txt", tmp3), PlayerName, true) == -1 )
  825. {
  826. format(string,sizeof(string),"%s,%s", dini_Get("ladmin/config/aka.txt",tmp3), PlayerName);
  827. dini_Set("ladmin/config/aka.txt", tmp3, string);
  828. }
  829. }
  830. //-----------------------------------------------------
  831. if(!udb_Exists(PlayerName2(playerid)))
  832. {
  833. ShowPlayerDialog(playerid,13339,DIALOG_STYLE_MSGBOX,"{FF0000}Truckers Life Freeroam Rules:","{FFFFFF}No cheating or using anything to benefit you over other players\nNo Death Matching\nRespect other players especially admin\nNo racial attacks\nNo ramming or blocking ","Accept","Decline");
  834. }
  835. else
  836. {
  837. PlayerInfo[playerid][Registered] = 1;
  838. format(file,sizeof(file),"/ladmin/users/%s.sav",udb_encode(PlayerName));
  839. new tmp2[256]; tmp2 = dini_Get(file,"ip");
  840. if( (!strcmp(tmp3,tmp2,true)) && (ServerInfo[AutoLogin] == 1) )
  841. {
  842. LoginPlayer(playerid);
  843. if(PlayerInfo[playerid][Level] > 0)
  844. {
  845. format(string,sizeof(string),"ACCOUNT: You have been automatically logged in. [Level %d]", PlayerInfo[playerid][Level] );
  846. SendClientMessage(playerid,green,string);
  847. }
  848. else SendClientMessage(playerid,green,"ACCOUNT: You have been automatically logged in.");
  849. }
  850. else
  851. {
  852. ShowPlayerDialog(playerid,13337,DIALOG_STYLE_INPUT,"{FF9900}Login","{FF9900}Welcome to {00FF00}Truckers{FF8000}Life{00A300} Freeroam {FF9900} Log in to access Your account:","Login","Disconnect");
  853. }
  854. }
  855. return 1;
  856. }
  857.  
  858.  
  859. //==============================================================================
  860.  
  861. forward AutoKick(playerid);
  862. public AutoKick(playerid)
  863. {
  864. if( IsPlayerConnected(playerid) && ServerInfo[Locked] == 1 && PlayerInfo[playerid][AllowedIn] == false) {
  865. new string[128];
  866. SendClientMessage(playerid,grey,"You have been automatically kicked. Reason: Server Locked");
  867. format(string,sizeof(string),"%s ID:%d has been automatically kicked. Reason: Server Locked",PlayerName2(playerid),playerid);
  868. SaveToFile("KickLog",string); Kick(playerid);
  869. SendClientMessageToAll(grey, string); print(string);
  870. }
  871. return 1;
  872. }
  873.  
  874. //==============================================================================
  875.  
  876. public OnPlayerDisconnect(playerid, reason)
  877. {
  878. DestroyDynamic3DTextLabel(ADMIN[playerid]);
  879. return 1;
  880. new PlayerName[MAX_PLAYER_NAME], str[128];
  881. GetPlayerName(playerid, PlayerName, sizeof(PlayerName));
  882.  
  883. if(ServerInfo[ConnectMessages] == 1)
  884. {
  885. switch (reason) {
  886. case 0: format(str, sizeof(str), "*** %s (%d) has left Truckers Life Freeroam (Timeout)", PlayerName, playerid);
  887. case 1: format(str, sizeof(str), "*** %s (%d) has left Truckers Life Freeroam (Leaving)", PlayerName, playerid);
  888. case 2: format(str, sizeof(str), "{ff0000}*** %s (%d) has left Truckers Life Freeroam (Kicked/Banned)", PlayerName, playerid);
  889. }
  890. SendClientMessageToAll(grey, str);
  891. }
  892.  
  893. if(PlayerInfo[playerid][LoggedIn] == 1) SavePlayer(playerid);
  894. if(udb_Exists(PlayerName2(playerid))) dUserSetINT(PlayerName2(playerid)).("loggedin",0);
  895. PlayerInfo[playerid][LoggedIn] = 0;
  896. PlayerInfo[playerid][Level] = 0;
  897. PlayerInfo[playerid][Jailed] = 0;
  898. PlayerInfo[playerid][Frozen] = 0;
  899.  
  900. if(PlayerInfo[playerid][Jailed] == 1) KillTimer( JailTimer[playerid] );
  901. if(PlayerInfo[playerid][Frozen] == 1) KillTimer( FreezeTimer[playerid] );
  902. if(ServerInfo[Locked] == 1) KillTimer( LockKickTimer[playerid] );
  903.  
  904. if(PlayerInfo[playerid][pCar] != -1) CarDeleter(PlayerInfo[playerid][pCar]);
  905.  
  906. #if defined ENABLE_SPEC
  907. for(new x=0; x<MAX_PLAYERS; x++)
  908. if(GetPlayerState(x) == PLAYER_STATE_SPECTATING && PlayerInfo[x][SpecID] == playerid)
  909. AdvanceSpectate(x);
  910. #endif
  911.  
  912. return 1;
  913. }
  914.  
  915. forward DelayKillPlayer(playerid);
  916. public DelayKillPlayer(playerid)
  917. {
  918. SetPlayerHealth(playerid,0.0);
  919. ForceClassSelection(playerid);
  920. }
  921.  
  922. //==============================================================================
  923. public OnPlayerSpawn(playerid)
  924. {
  925. if(IsPlayerNPC(playerid)) return 1;
  926. if(ServerInfo[Locked] == 1 && PlayerInfo[playerid][AllowedIn] == false)
  927. {
  928. GameTextForPlayer(playerid,"~r~Server Locked~n~You must enter password before spawning~n~/password <password>",4000,3);
  929. SetTimerEx("DelayKillPlayer", 2500,0,"d",playerid);
  930. return 1;
  931. }
  932.  
  933. if(ServerInfo[MustLogin] == 1 && PlayerInfo[playerid][Registered] == 1 && PlayerInfo[playerid][LoggedIn] == 0)
  934. {
  935. GameTextForPlayer(playerid,"~r~You must login before playing!",4000,3);
  936. Kick(playerid);
  937. return 1;
  938. }
  939.  
  940. if(ServerInfo[MustRegister] == 1 && PlayerInfo[playerid][Registered] == 0)
  941. {
  942. GameTextForPlayer(playerid,"~r~You must register before playing!",4000,3);
  943. Kick(playerid);
  944. return 1;
  945. }
  946.  
  947. PlayerInfo[playerid][Spawned] = 1;
  948.  
  949. if(PlayerInfo[playerid][Frozen] == 1) {
  950. TogglePlayerControllable(playerid,false); return SendClientMessage(playerid,red,"You cant escape your punishment. You Are Still Frozen");
  951. }
  952.  
  953. if(PlayerInfo[playerid][Jailed] == 1) {
  954. SetTimerEx("JailPlayer",3000,0,"d",playerid); return SendClientMessage(playerid,red,"You Are Still In Jail");
  955. }
  956.  
  957. if(ServerInfo[AdminOnlySkins] == 1) {
  958. if( (GetPlayerSkin(playerid) == ServerInfo[AdminSkin]) || (GetPlayerSkin(playerid) == ServerInfo[AdminSkin2]) ) {
  959. if(PlayerInfo[playerid][Level] >= 1)
  960. GameTextForPlayer(playerid,"~b~Welcome~n~~w~Admin",3000,1);
  961. else {
  962. GameTextForPlayer(playerid,"~r~This Skin Is For~n~Administrators~n~Only",4000,1);
  963. SetTimerEx("DelayKillPlayer", 2500,0,"d",playerid);
  964. return 1;
  965. }
  966. }
  967. }
  968.  
  969. if((dUserINT(PlayerName2(playerid)).("UseSkin")) == 1)
  970. if((PlayerInfo[playerid][Level] >= 1) && (PlayerInfo[playerid][LoggedIn] == 1))
  971. SetPlayerSkin(playerid,(dUserINT(PlayerName2(playerid)).("FavSkin")) );
  972.  
  973. if(ServerInfo[GiveWeap] == 1) {
  974. if(PlayerInfo[playerid][LoggedIn] == 1) {
  975. PlayerInfo[playerid][TimesSpawned]++;
  976. if(PlayerInfo[playerid][TimesSpawned] == 1)
  977. {
  978. GivePlayerWeapon(playerid, dUserINT(PlayerName2(playerid)).("weap1"), dUserINT(PlayerName2(playerid)).("weap1ammo") );
  979. GivePlayerWeapon(playerid, dUserINT(PlayerName2(playerid)).("weap2"), dUserINT(PlayerName2(playerid)).("weap2ammo") );
  980. GivePlayerWeapon(playerid, dUserINT(PlayerName2(playerid)).("weap3"), dUserINT(PlayerName2(playerid)).("weap3ammo") );
  981. GivePlayerWeapon(playerid, dUserINT(PlayerName2(playerid)).("weap4"), dUserINT(PlayerName2(playerid)).("weap4ammo") );
  982. GivePlayerWeapon(playerid, dUserINT(PlayerName2(playerid)).("weap5"), dUserINT(PlayerName2(playerid)).("weap5ammo") );
  983. GivePlayerWeapon(playerid, dUserINT(PlayerName2(playerid)).("weap6"), dUserINT(PlayerName2(playerid)).("weap6ammo") );
  984. }
  985. }
  986. }
  987. return 1;
  988. }
  989.  
  990. //==============================================================================
  991.  
  992. public OnPlayerDeath(playerid, killerid, reason)
  993. {
  994. #if defined USE_STATS
  995. PlayerInfo[playerid][Deaths]++;
  996. #endif
  997. InDuel[playerid] = 0;
  998.  
  999. if(IsPlayerConnected(killerid) && killerid != INVALID_PLAYER_ID)
  1000. {
  1001. #if defined USE_STATS
  1002. PlayerInfo[killerid][Kills]++;
  1003. #endif
  1004.  
  1005. if(InDuel[playerid] == 1 && InDuel[killerid] == 1)
  1006. {
  1007. GameTextForPlayer(playerid,"Loser !",3000,3);
  1008. GameTextForPlayer(killerid,"Winner !",3000,3);
  1009. InDuel[killerid] = 0;
  1010. SetPlayerPos(killerid, 0.0, 0.0, 0.0);
  1011. SpawnPlayer(killerid);
  1012. }
  1013. else if(InDuel[playerid] == 1 && InDuel[killerid] == 0)
  1014. {
  1015. GameTextForPlayer(playerid,"Loser !",3000,3);
  1016. }
  1017. }
  1018.  
  1019. #if defined ENABLE_SPEC
  1020. for(new x=0; x<MAX_PLAYERS; x++)
  1021. if(GetPlayerState(x) == PLAYER_STATE_SPECTATING && PlayerInfo[x][SpecID] == playerid)
  1022. AdvanceSpectate(x);
  1023. #endif
  1024.  
  1025.  
  1026. return 1;
  1027. }
  1028.  
  1029. //==============================================================================
  1030.  
  1031. public OnPlayerText(playerid, text[])
  1032. {
  1033. if(text[0] == '#' && PlayerInfo[playerid][Level] >= 1) {
  1034. new string[128]; GetPlayerName(playerid,string,sizeof(string));
  1035. format(string,sizeof(string),"Admin Chat: %s: %s",string,text[1]); MessageToAdmins(green,string);
  1036. return 0;
  1037. }
  1038.  
  1039. if(ServerInfo[DisableChat] == 1) {
  1040. SendClientMessage(playerid,red,"Chat has been disabled");
  1041. return 0;
  1042. }
  1043.  
  1044. if(PlayerInfo[playerid][Muted] == 1)
  1045. {
  1046. PlayerInfo[playerid][MuteWarnings]++;
  1047. new string[128];
  1048. if(PlayerInfo[playerid][MuteWarnings] < ServerInfo[MaxMuteWarnings]) {
  1049. format(string, sizeof(string),"WARNING: You are muted, if you continue to speak you will be kicked. (%d / %d)", PlayerInfo[playerid][MuteWarnings], ServerInfo[MaxMuteWarnings] );
  1050. SendClientMessage(playerid,red,string);
  1051. } else {
  1052. SendClientMessage(playerid,red,"You have been warned ! Now you have been kicked");
  1053. format(string, sizeof(string),"***%s (ID %d) was kicked for exceeding mute warnings", PlayerName2(playerid), playerid);
  1054. SendClientMessageToAll(grey,string);
  1055. SaveToFile("KickLog",string); Kick(playerid);
  1056. } return 0;
  1057. }
  1058.  
  1059. if(ServerInfo[AntiSpam] == 1 && (PlayerInfo[playerid][Level] == 0 && !IsPlayerAdmin(playerid)) )
  1060. {
  1061. if(PlayerInfo[playerid][SpamCount] == 0) PlayerInfo[playerid][SpamTime] = TimeStamp();
  1062.  
  1063. PlayerInfo[playerid][SpamCount]++;
  1064. if(TimeStamp() - PlayerInfo[playerid][SpamTime] > SPAM_TIMELIMIT) { // Its OK your messages were far enough apart
  1065. PlayerInfo[playerid][SpamCount] = 0;
  1066. PlayerInfo[playerid][SpamTime] = TimeStamp();
  1067. }
  1068. else if(PlayerInfo[playerid][SpamCount] == SPAM_MAX_MSGS) {
  1069. new string[64]; format(string,sizeof(string),"%s has been kicked (Flood/Spam Protection)", PlayerName2(playerid));
  1070. SendClientMessageToAll(grey,string); print(string);
  1071. SaveToFile("KickLog",string);
  1072. Kick(playerid);
  1073. }
  1074. else if(PlayerInfo[playerid][SpamCount] == SPAM_MAX_MSGS-1) {
  1075. SendClientMessage(playerid,red,"Anti Spam Warning! Next is a kick.");
  1076. return 0;
  1077. }
  1078. }
  1079.  
  1080. if(ServerInfo[AntiSwear] == 1 && PlayerInfo[playerid][Level] < ServerInfo[MaxAdminLevel])
  1081. for(new s = 0; s < ForbiddenWordCount; s++)
  1082. {
  1083. new pos;
  1084. while((pos = strfind(text,ForbiddenWords[s],true)) != -1) for(new i = pos, j = pos + strlen(ForbiddenWords[s]); i < j; i++) text[i] = '*';
  1085. }
  1086.  
  1087. if(PlayerInfo[playerid][Caps] == 1) UpperToLower(text);
  1088. if(ServerInfo[NoCaps] == 1) UpperToLower(text);
  1089.  
  1090. for(new i = 1; i < MAX_CHAT_LINES-1; i++) Chat[i] = Chat[i+1];
  1091. new ChatSTR[128]; GetPlayerName(playerid,ChatSTR,sizeof(ChatSTR)); format(ChatSTR,128,"[lchat]%s: %s",ChatSTR, text[0] );
  1092. Chat[MAX_CHAT_LINES-1] = ChatSTR;
  1093. return 1;
  1094. }
  1095.  
  1096. //==============================================================================
  1097. public OnPlayerPrivmsg(playerid, recieverid, text[])
  1098. {
  1099. if(ServerInfo[ReadPMs] == 1 && PlayerInfo[playerid][Level] != ServerInfo[MaxAdminLevel])
  1100. {
  1101. new string[128],recievername[MAX_PLAYER_NAME];
  1102. GetPlayerName(playerid, string, sizeof(string)); GetPlayerName(recieverid, recievername, sizeof(recievername));
  1103. format(string, sizeof(string), "***PM: %s To %s: %s", string, recievername, text);
  1104. for (new a = 0; a < MAX_PLAYERS; a++) if (IsPlayerConnected(a) && (PlayerInfo[a][Level] >= ServerInfo[MaxAdminLevel]) && a != playerid)
  1105. SendClientMessage(a, grey, string);
  1106. }
  1107.  
  1108. if(PlayerInfo[playerid][Muted] == 1)
  1109. {
  1110. new string[128];
  1111. PlayerInfo[playerid][MuteWarnings]++;
  1112. if(PlayerInfo[playerid][MuteWarnings] < ServerInfo[MaxMuteWarnings]) {
  1113. format(string, sizeof(string),"WARNING: You are muted, if you continue to speak you will be kicked (Warning: %d/%d)", PlayerInfo[playerid][MuteWarnings], ServerInfo[MaxMuteWarnings] );
  1114. SendClientMessage(playerid,red,string);
  1115. } else {
  1116. SendClientMessage(playerid,red,"You have been warned! Now you have been kicked");
  1117. GetPlayerName(playerid, string, sizeof(string));
  1118. format(string, sizeof(string),"%s [ID %d] Kicked for exceeding mute warnings", string, playerid);
  1119. SendClientMessageToAll(grey,string);
  1120. SaveToFile("KickLog",string); Kick(playerid);
  1121. } return 0;
  1122. }
  1123. return 1;
  1124. }
  1125.  
  1126. forward HighLight(playerid);
  1127. public HighLight(playerid)
  1128. {
  1129. if(!IsPlayerConnected(playerid)) return 1;
  1130. if(PlayerInfo[playerid][blipS] == 0) { SetPlayerColor(playerid, 0xFF0000AA); PlayerInfo[playerid][blipS] = 1; }
  1131. else { SetPlayerColor(playerid, 0x33FF33AA); PlayerInfo[playerid][blipS] = 0; }
  1132. return 0;
  1133. }
  1134.  
  1135. //===================== [ DCMD Commands ]=======================================
  1136.  
  1137. dcmd_makelht(playerid, params[])
  1138. {
  1139. if(PlayerInfo[playerid][Level] >= 5)
  1140. {
  1141. new tmp[256], Index;
  1142. tmp = strtok(params,Index);
  1143. if(!strlen(tmp)) return SendClientMessage(playerid, red, "USAGE: /makelht [playerid]");
  1144. new player1 = strval(tmp);
  1145. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID)
  1146. {
  1147. new str[128];
  1148. GetPlayerName(player1, str, sizeof(str));
  1149. format(str, sizeof(str), "LHTmem/%s", str);
  1150. new INI:lol = INI_Open(str);
  1151. INI_WriteInt(lol, "RandomName", 1337);
  1152. INI_Close(lol);
  1153. SetPVarInt(player1, "LHT:IsMember", 1);
  1154. GetPlayerName(player1, str, sizeof(str));
  1155. format(str, sizeof(str), "\"%s\" is now a member of LHT!!! {ffff00}Congratulations!!!!!", str);
  1156. for(new i; i < MAX_PLAYERS; i++) SendClientMessage(i, red, str);
  1157. } else return SendClientMessage(playerid, red, "ERROR: Player is not connected!");
  1158. } else SendClientMessage(playerid, red, "ERROR: You are not a high enough level to use this command");
  1159. return 1;
  1160. }
  1161.  
  1162. dcmd_giveweapon(playerid,params[]) {
  1163. if(PlayerInfo[playerid][Level] >= 3) {
  1164. new tmp[256], tmp2[256], tmp3[256], Index; tmp = strtok(params,Index), tmp2 = strtok(params,Index), tmp3 = strtok(params,Index);
  1165. if(!strlen(tmp) || !strlen(tmp2)) return SendClientMessage(playerid, red, "USAGE: /giveweapon [playerid] [weapon id/weapon name] [ammo]");
  1166. new player1 = strval(tmp), weap, ammo, WeapName[32], string[128];
  1167. if(!strlen(tmp3) || !IsNumeric(tmp3) || strval(tmp3) <= 0 || strval(tmp3) > 99999) ammo = 500; else ammo = strval(tmp3);
  1168. if(!IsNumeric(tmp2)) weap = GetWeaponIDFromName(tmp2); else weap = strval(tmp2);
  1169. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID) {
  1170. if(!IsValidWeapon(weap)) return SendClientMessage(playerid,red,"ERROR: Invalid weapon ID");
  1171. CMDMessageToAdmins(playerid,"GIVEWEAPON");
  1172. GetWeaponName(weap,WeapName,32);
  1173. format(string, sizeof(string), "You have given \"%s\" a %s (%d) with %d rounds of ammo", PlayerName2(player1), WeapName, weap, ammo); SendClientMessage(playerid,blue,string);
  1174. if(player1 != playerid) { format(string,sizeof(string),"Administrator \"%s\" has given you a %s (%d) with %d rounds of ammo", PlayerName2(playerid), WeapName, weap, ammo); SendClientMessage(player1,blue,string); }
  1175. return GivePlayerWeapon(player1, weap, ammo);
  1176. } else return SendClientMessage(playerid,red,"ERROR: Player is not connected");
  1177. } else return SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");
  1178. }
  1179.  
  1180. dcmd_sethealth(playerid,params[]) {
  1181. if(PlayerInfo[playerid][Level] >= 3) {
  1182. new tmp[256], tmp2[256], Index; tmp = strtok(params,Index), tmp2 = strtok(params,Index);
  1183. if(!strlen(tmp) || !strlen(tmp2) || !IsNumeric(tmp2)) return SendClientMessage(playerid, red, "USAGE: /sethealth [playerid] [amount]");
  1184. if(strval(tmp2) < 0 || strval(tmp2) > 100 && PlayerInfo[playerid][Level] != ServerInfo[MaxAdminLevel]) return SendClientMessage(playerid, red, "ERROR: Invaild health amount");
  1185. new player1 = strval(tmp), health = strval(tmp2), string[128];
  1186. if(PlayerInfo[player1][Level] == ServerInfo[MaxAdminLevel] && PlayerInfo[playerid][Level] != ServerInfo[MaxAdminLevel]) return SendClientMessage(playerid,red,"ERROR: You cannot use this command on this admin");
  1187. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID) {
  1188. CMDMessageToAdmins(playerid,"SETHEALTH");
  1189. format(string, sizeof(string), "You have set \"%s's\" health to '%d", pName(player1), health); SendClientMessage(playerid,blue,string);
  1190. if(player1 != playerid) { format(string,sizeof(string),"Administrator \"%s\" has set your health to '%d'", pName(playerid), health); SendClientMessage(player1,blue,string); }
  1191. return SetPlayerHealth(player1, health);
  1192. } else return SendClientMessage(playerid,red,"ERROR: Player is not connected");
  1193. } else return SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");
  1194. }
  1195.  
  1196. dcmd_setarmour(playerid,params[]) {
  1197. if(PlayerInfo[playerid][Level] >= 5) {
  1198. new tmp[256], tmp2[256], Index; tmp = strtok(params,Index), tmp2 = strtok(params,Index);
  1199. if(!strlen(tmp) || !strlen(tmp2) || !IsNumeric(tmp2)) return SendClientMessage(playerid, red, "USAGE: /setarmour [playerid] [amount]");
  1200. if(strval(tmp2) < 0 || strval(tmp2) > 100 && PlayerInfo[playerid][Level] != ServerInfo[MaxAdminLevel]) return SendClientMessage(playerid, red, "ERROR: Invaild health amount");
  1201. new player1 = strval(tmp), armour = strval(tmp2), string[128];
  1202. if(PlayerInfo[player1][Level] == ServerInfo[MaxAdminLevel] && PlayerInfo[playerid][Level] != ServerInfo[MaxAdminLevel]) return SendClientMessage(playerid,red,"ERROR: You cannot use this command on this admin");
  1203. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID) {
  1204. CMDMessageToAdmins(playerid,"SETARMOUR");
  1205. format(string, sizeof(string), "You have set \"%s's\" armour to '%d", pName(player1), armour); SendClientMessage(playerid,blue,string);
  1206. if(player1 != playerid) { format(string,sizeof(string),"Administrator \"%s\" has set your armour to '%d'", pName(playerid), armour); SendClientMessage(player1,blue,string); }
  1207. return SetPlayerArmour(player1, armour);
  1208. } else return SendClientMessage(playerid,red,"ERROR: Player is not connected");
  1209. } else return SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");
  1210. }
  1211.  
  1212. dcmd_setcash(playerid,params[]) {
  1213. if(PlayerInfo[playerid][Level] >= 5) {
  1214. new tmp[256], tmp2[256], Index; tmp = strtok(params,Index), tmp2 = strtok(params,Index);
  1215. if(!strlen(tmp) || !strlen(tmp2) || !IsNumeric(tmp2)) return SendClientMessage(playerid, red, "USAGE: /setcash [playerid] [amount]");
  1216. new player1 = strval(tmp), cash = strval(tmp2), string[128];
  1217. if(PlayerInfo[player1][Level] == ServerInfo[MaxAdminLevel] && PlayerInfo[playerid][Level] != ServerInfo[MaxAdminLevel]) return SendClientMessage(playerid,red,"ERROR: You cannot use this command on this admin");
  1218. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID) {
  1219. CMDMessageToAdmins(playerid,"SETCASH");
  1220. format(string, sizeof(string), "You have set \"%s's\" cash to '$%d", pName(player1), cash); SendClientMessage(playerid,blue,string);
  1221. if(player1 != playerid) { format(string,sizeof(string),"Administrator \"%s\" has set your cash to '$%d'", pName(playerid), cash); SendClientMessage(player1,blue,string); }
  1222. ResetPlayerMoney(player1);
  1223. return GivePlayerMoney(player1, cash);
  1224. } else return SendClientMessage(playerid,red,"ERROR: Player is not connected");
  1225. } else return SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");
  1226. }
  1227.  
  1228. dcmd_setscore(playerid,params[]) {
  1229. if(PlayerInfo[playerid][Level] >= 5) {
  1230. new tmp[256], tmp2[256], Index; tmp = strtok(params,Index), tmp2 = strtok(params,Index);
  1231. if(!strlen(tmp) || !strlen(tmp2) || !IsNumeric(tmp2)) return SendClientMessage(playerid, red, "USAGE: /setscore [playerid] [score]");
  1232. new player1 = strval(tmp), score = strval(tmp2), string[128];
  1233. if(PlayerInfo[player1][Level] == ServerInfo[MaxAdminLevel] && PlayerInfo[playerid][Level] != ServerInfo[MaxAdminLevel]) return SendClientMessage(playerid,red,"ERROR: You cannot use this command on this admin");
  1234. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID) {
  1235. CMDMessageToAdmins(playerid,"SETSCORE");
  1236. format(string, sizeof(string), "You have set \"%s's\" score to '%d' ", pName(player1), score); SendClientMessage(playerid,blue,string);
  1237. if(player1 != playerid) { format(string,sizeof(string),"Administrator \"%s\" has set your score to '%d'", pName(playerid), score); SendClientMessage(player1,blue,string); }
  1238. return SetPlayerScore(player1, score);
  1239. } else return SendClientMessage(playerid,red,"ERROR: Player is not connected");
  1240. } else return SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");
  1241. }
  1242.  
  1243. dcmd_setskin(playerid,params[]) {
  1244. if(PlayerInfo[playerid][Level] >= 3) {
  1245. new tmp[256], tmp2[256], Index; tmp = strtok(params,Index), tmp2 = strtok(params,Index);
  1246. if(!strlen(tmp) || !strlen(tmp2) || !IsNumeric(tmp2)) return SendClientMessage(playerid, red, "USAGE: /setskin [playerid] [skin id]");
  1247. new player1 = strval(tmp), skin = strval(tmp2), string[128];
  1248. if(!IsValidSkin(skin)) return SendClientMessage(playerid, red, "ERROR: Invaild Skin ID");
  1249. if(PlayerInfo[player1][Level] == ServerInfo[MaxAdminLevel] && PlayerInfo[playerid][Level] != ServerInfo[MaxAdminLevel]) return SendClientMessage(playerid,red,"ERROR: You cannot use this command on this admin");
  1250. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID) {
  1251. CMDMessageToAdmins(playerid,"SETSKIN");
  1252. format(string, sizeof(string), "You have set \"%s's\" skin to '%d", pName(player1), skin); SendClientMessage(playerid,blue,string);
  1253. if(player1 != playerid) { format(string,sizeof(string),"Administrator \"%s\" has set your skin to '%d'", pName(playerid), skin); SendClientMessage(player1,blue,string); }
  1254. return SetPlayerSkin(player1, skin);
  1255. } else return SendClientMessage(playerid,red,"ERROR: Player is not connected");
  1256. } else return SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");
  1257. }
  1258.  
  1259. dcmd_setwanted(playerid,params[]) {
  1260. if(PlayerInfo[playerid][Level] >= 3) {
  1261. new tmp[256], tmp2[256], Index; tmp = strtok(params,Index), tmp2 = strtok(params,Index);
  1262. if(!strlen(tmp) || !strlen(tmp2) || !IsNumeric(tmp2)) return SendClientMessage(playerid, red, "USAGE: /setwanted [playerid] [level]");
  1263. new player1 = strval(tmp), wanted = strval(tmp2), string[128];
  1264. // if(wanted > 6) return SendClientMessage(playerid, red, "ERROR: Invaild wanted level");
  1265. if(PlayerInfo[player1][Level] == ServerInfo[MaxAdminLevel] && PlayerInfo[playerid][Level] != ServerInfo[MaxAdminLevel]) return SendClientMessage(playerid,red,"ERROR: You cannot use this command on this admin");
  1266. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID) {
  1267. CMDMessageToAdmins(playerid,"SETWANTED");
  1268. format(string, sizeof(string), "You have set \"%s's\" wanted level to '%d", pName(player1), wanted); SendClientMessage(playerid,blue,string);
  1269. if(player1 != playerid) { format(string,sizeof(string),"Administrator \"%s\" has set your wanted level to '%d'", pName(playerid), wanted); SendClientMessage(player1,blue,string); }
  1270. return SetPlayerWantedLevel(player1, wanted);
  1271. } else return SendClientMessage(playerid,red,"ERROR: Player is not connected");
  1272. } else return SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");
  1273. }
  1274.  
  1275. dcmd_setname(playerid,params[]) {
  1276. if(PlayerInfo[playerid][Level] >= 5 || IsPlayerAdmin(playerid)) {
  1277. new tmp[256], tmp2[256], Index; tmp = strtok(params,Index), tmp2 = strtok(params,Index);
  1278. if(!strlen(tmp) || !strlen(tmp2)) return SendClientMessage(playerid, red, "USAGE: /setname [playerid] [new name]");
  1279. new player1 = strval(tmp), length = strlen(tmp2), string[128];
  1280. if(length < 3 || length > MAX_PLAYER_NAME) return SendClientMessage(playerid,red,"ERROR: Incorrect Name Length");
  1281. if(PlayerInfo[player1][Level] == ServerInfo[MaxAdminLevel] && PlayerInfo[playerid][Level] != ServerInfo[MaxAdminLevel]) return SendClientMessage(playerid,red,"ERROR: You cannot use this command on this admin");
  1282. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID) {
  1283. CMDMessageToAdmins(playerid,"SETNAME");
  1284. format(string, sizeof(string), "You have set \"%s's\" name to \"%s\" ", pName(player1), tmp2); SendClientMessage(playerid,blue,string);
  1285. if(player1 != playerid) { format(string,sizeof(string),"Administrator \"%s\" has set your name to \"%s\" ", pName(playerid), tmp2); SendClientMessage(player1,blue,string); }
  1286. SetPlayerName(player1, tmp2);
  1287. return OnPlayerConnect(player1);
  1288. } else return SendClientMessage(playerid,red,"ERROR: Player is not connected");
  1289. } else return SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");
  1290. }
  1291.  
  1292. dcmd_setcolour(playerid,params[]) {
  1293. if(PlayerInfo[playerid][Level] >= 2) {
  1294. new tmp[256], tmp2[256], Index; tmp = strtok(params,Index), tmp2 = strtok(params,Index);
  1295. if(!strlen(tmp) || !strlen(tmp2) || !IsNumeric(tmp2)) {
  1296. SendClientMessage(playerid, red, "USAGE: /setcolour [playerid] [Colour]");
  1297. return SendClientMessage(playerid, red, "Colours: 0=black 1=white 2=red 3=orange 4=yellow 5=green 6=blue 7=purple 8=brown 9=pink");
  1298. }
  1299. new player1 = strval(tmp), Colour = strval(tmp2), string[128], colour[24];
  1300. if(Colour > 9) return SendClientMessage(playerid, red, "Colours: 0=black 1=white 2=red 3=orange 4=yellow 5=green 6=blue 7=purple 8=brown 9=pink");
  1301. if(PlayerInfo[player1][Level] == ServerInfo[MaxAdminLevel] && PlayerInfo[playerid][Level] != ServerInfo[MaxAdminLevel]) return SendClientMessage(playerid,red,"ERROR: You cannot use this command on this admin");
  1302. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID) {
  1303. CMDMessageToAdmins(playerid,"SETCOLOUR");
  1304. switch (Colour)
  1305. {
  1306. case 0: { SetPlayerColor(player1,black); colour = "Black"; }
  1307. case 1: { SetPlayerColor(player1,COLOR_WHITE); colour = "White"; }
  1308. case 2: { SetPlayerColor(player1,red); colour = "Red"; }
  1309. case 3: { SetPlayerColor(player1,orange); colour = "Orange"; }
  1310. case 4: { SetPlayerColor(player1,orange); colour = "Yellow"; }
  1311. case 5: { SetPlayerColor(player1,COLOR_GREEN1); colour = "Green"; }
  1312. case 6: { SetPlayerColor(player1,COLOR_BLUE); colour = "Blue"; }
  1313. case 7: { SetPlayerColor(player1,COLOR_PURPLE); colour = "Purple"; }
  1314. case 8: { SetPlayerColor(player1,COLOR_BROWN); colour = "Brown"; }
  1315. case 9: { SetPlayerColor(player1,COLOR_PINK); colour = "Pink"; }
  1316. }
  1317. if(player1 != playerid) { format(string,sizeof(string),"Administrator \"%s\" has set colour to '%s' ", pName(playerid), colour); SendClientMessage(player1,blue,string); }
  1318. format(string, sizeof(string), "You have set \"%s's\" colour to '%s' ", pName(player1), colour);
  1319. return SendClientMessage(playerid,blue,string);
  1320. } else return SendClientMessage(playerid,red,"ERROR: Player is not connected");
  1321. } else return SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");
  1322. }
  1323.  
  1324. dcmd_setweather(playerid,params[]) {
  1325. if(PlayerInfo[playerid][Level] >= 3) {
  1326. new tmp[256], tmp2[256], Index; tmp = strtok(params,Index), tmp2 = strtok(params,Index);
  1327. if(!strlen(tmp) || !strlen(tmp2) || !IsNumeric(tmp2)) return SendClientMessage(playerid, red, "USAGE: /setweather [playerid] [weather id]");
  1328. new player1 = strval(tmp), weather = strval(tmp2), string[128];
  1329. if(PlayerInfo[player1][Level] == ServerInfo[MaxAdminLevel] && PlayerInfo[playerid][Level] != ServerInfo[MaxAdminLevel]) return SendClientMessage(playerid,red,"ERROR: You cannot use this command on this admin");
  1330. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID) {
  1331. CMDMessageToAdmins(playerid,"SETWEATHER");
  1332. format(string, sizeof(string), "You have set \"%s's\" weather to '%d", pName(player1), weather); SendClientMessage(playerid,blue,string);
  1333. if(player1 != playerid) { format(string,sizeof(string),"Administrator \"%s\" has set your weather to '%d'", pName(playerid), weather); SendClientMessage(player1,blue,string); }
  1334. SetPlayerWeather(player1,weather); PlayerPlaySound(player1,1057,0.0,0.0,0.0);
  1335. return PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
  1336. } else return SendClientMessage(playerid,red,"ERROR: Player is not connected");
  1337. } else return SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");
  1338. }
  1339.  
  1340. dcmd_settime(playerid,params[]) {
  1341. if(PlayerInfo[playerid][Level] >= 3) {
  1342. new tmp[256], tmp2[256], Index; tmp = strtok(params,Index), tmp2 = strtok(params,Index);
  1343. if(!strlen(tmp) || !strlen(tmp2) || !IsNumeric(tmp2)) return SendClientMessage(playerid, red, "USAGE: /settime [playerid] [hour]");
  1344. new player1 = strval(tmp), time = strval(tmp2), string[128];
  1345. if(PlayerInfo[player1][Level] == ServerInfo[MaxAdminLevel] && PlayerInfo[playerid][Level] != ServerInfo[MaxAdminLevel]) return SendClientMessage(playerid,red,"ERROR: You cannot use this command on this admin");
  1346. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID) {
  1347. CMDMessageToAdmins(playerid,"SETTIME");
  1348. format(string, sizeof(string), "You have set \"%s's\" time to %d:00", pName(player1), time); SendClientMessage(playerid,blue,string);
  1349. if(player1 != playerid) { format(string,sizeof(string),"Administrator \"%s\" has set your time to %d:00", pName(playerid), time); SendClientMessage(player1,blue,string); }
  1350. PlayerPlaySound(player1,1057,0.0,0.0,0.0);
  1351. return SetPlayerTime(player1, time, 0);
  1352. } else return SendClientMessage(playerid,red,"ERROR: Player is not connected");
  1353. } else return SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");
  1354. }
  1355.  
  1356. dcmd_setworld(playerid,params[]) {
  1357. if(PlayerInfo[playerid][Level] >= 3) {
  1358. new tmp[256], tmp2[256], Index; tmp = strtok(params,Index), tmp2 = strtok(params,Index);
  1359. if(!strlen(tmp) || !strlen(tmp2) || !IsNumeric(tmp2)) return SendClientMessage(playerid, red, "USAGE: /setworld [playerid] [virtual world]");
  1360. new player1 = strval(tmp), time = strval(tmp2), string[128];
  1361. if(PlayerInfo[player1][Level] == ServerInfo[MaxAdminLevel] && PlayerInfo[playerid][Level] != ServerInfo[MaxAdminLevel]) return SendClientMessage(playerid,red,"ERROR: You cannot use this command on this admin");
  1362. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID) {
  1363. CMDMessageToAdmins(playerid,"SETWORLD");
  1364. format(string, sizeof(string), "You have set \"%s's\" virtual world to '%d'", pName(player1), time); SendClientMessage(playerid,blue,string);
  1365. if(player1 != playerid) { format(string,sizeof(string),"Administrator \"%s\" has set your virtual world to '%d' ", pName(playerid), time); SendClientMessage(player1,blue,string); }
  1366. PlayerPlaySound(player1,1057,0.0,0.0,0.0);
  1367. return SetPlayerVirtualWorld(player1, time);
  1368. } else return SendClientMessage(playerid,red,"ERROR: Player is not connected");
  1369. } else return SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");
  1370. }
  1371.  
  1372. dcmd_setinterior(playerid,params[]) {
  1373. if(PlayerInfo[playerid][Level] >= 3) {
  1374. new tmp[256], tmp2[256], Index; tmp = strtok(params,Index), tmp2 = strtok(params,Index);
  1375. if(!strlen(tmp) || !strlen(tmp2) || !IsNumeric(tmp2)) return SendClientMessage(playerid, red, "USAGE: /setinterior [playerid] [interior]");
  1376. new player1 = strval(tmp), time = strval(tmp2), string[128];
  1377. if(PlayerInfo[player1][Level] == ServerInfo[MaxAdminLevel] && PlayerInfo[playerid][Level] != ServerInfo[MaxAdminLevel]) return SendClientMessage(playerid,red,"ERROR: You cannot use this command on this admin");
  1378. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID) {
  1379. CMDMessageToAdmins(playerid,"SETINTERIOR");
  1380. format(string, sizeof(string), "You have set \"%s's\" interior to '%d' ", pName(player1), time); SendClientMessage(playerid,blue,string);
  1381. if(player1 != playerid) { format(string,sizeof(string),"Administrator \"%s\" has set your interior to '%d' ", pName(playerid), time); SendClientMessage(player1,blue,string); }
  1382. PlayerPlaySound(player1,1057,0.0,0.0,0.0);
  1383. return SetPlayerInterior(player1, time);
  1384. } else return SendClientMessage(playerid,red,"ERROR: Player is not connected");
  1385. } else return SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");
  1386. }
  1387.  
  1388. dcmd_setmytime(playerid,params[]) {
  1389. if(PlayerInfo[playerid][Level] >= 1) {
  1390. if(!strlen(params)) return SendClientMessage(playerid, red, "USAGE: /setmytime [hour]");
  1391. new time = strval(params), string[128];
  1392. CMDMessageToAdmins(playerid,"SETMYTIME");
  1393. format(string,sizeof(string),"You have set your time to %d:00", time); SendClientMessage(playerid,blue,string);
  1394. return SetPlayerTime(playerid, time, 0);
  1395. } else return SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");
  1396. }
  1397.  
  1398. dcmd_force(playerid,params[]) {
  1399. if(PlayerInfo[playerid][Level] >= 3) {
  1400. if(!strlen(params)) return SendClientMessage(playerid, red, "USAGE: /force [playerid]");
  1401. new player1 = strval(params), string[128];
  1402. if(PlayerInfo[player1][Level] == ServerInfo[MaxAdminLevel] && PlayerInfo[playerid][Level] != ServerInfo[MaxAdminLevel]) return SendClientMessage(playerid,red,"ERROR: You cannot use this command on this admin");
  1403. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID) {
  1404. CMDMessageToAdmins(playerid,"FORCE");
  1405. if(player1 != playerid) { format(string,sizeof(string),"Administrator \"%s\" has forced you into class selection", pName(playerid) ); SendClientMessage(player1,blue,string); }
  1406. format(string,sizeof(string),"You have forced \"%s\" into class selection", pName(player1)); SendClientMessage(playerid,blue,string);
  1407. ForceClassSelection(player1);
  1408. return SetPlayerHealth(player1,0.0);
  1409. } else return SendClientMessage(playerid,red,"ERROR: Player is not connected");
  1410. } else return SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");
  1411. }
  1412.  
  1413. dcmd_eject(playerid,params[]) {
  1414. if(PlayerInfo[playerid][Level] >= 3) {
  1415. if(!strlen(params)) return SendClientMessage(playerid, red, "USAGE: /eject [playerid]");
  1416. new player1 = strval(params), string[128], Float:x, Float:y, Float:z;
  1417. if(PlayerInfo[player1][Level] == ServerInfo[MaxAdminLevel] && PlayerInfo[playerid][Level] != ServerInfo[MaxAdminLevel]) return SendClientMessage(playerid,red,"ERROR: You cannot use this command on this admin");
  1418. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID) {
  1419. if(IsPlayerInAnyVehicle(player1)) {
  1420. CMDMessageToAdmins(playerid,"EJECT");
  1421. if(player1 != playerid) { format(string,sizeof(string),"Administrator \"%s\" has ejected you from your vehicle", pName(playerid) ); SendClientMessage(player1,blue,string); }
  1422. format(string,sizeof(string),"You have ejected \"%s\" from their vehicle", pName(player1)); SendClientMessage(playerid,blue,string);
  1423. GetPlayerPos(player1,x,y,z);
  1424. return SetPlayerPos(player1,x,y,z+3);
  1425. } else return SendClientMessage(playerid,red,"ERROR: Player is not in a vehicle");
  1426. } else return SendClientMessage(playerid,red,"ERROR: Player is not connected");
  1427. } else return SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");
  1428. }
  1429.  
  1430. dcmd_lockcar(playerid,params[]) {
  1431. #pragma unused params
  1432. if(PlayerInfo[playerid][Level] >= 2) {
  1433. if(IsPlayerInAnyVehicle(playerid)) {
  1434. for(new i = 0; i < MAX_PLAYERS; i++) SetVehicleParamsForPlayer(GetPlayerVehicleID(playerid),i,false,true);
  1435. CMDMessageToAdmins(playerid,"LOCKCAR");
  1436. PlayerInfo[playerid][DoorsLocked] = 1;
  1437. new string[128]; format(string,sizeof(string),"Administrator \"%s\" has locked his car", pName(playerid));
  1438. return SendClientMessageToAll(blue,string);
  1439. } else return SendClientMessage(playerid,red,"ERROR: You need to be in a vehicle to lock the doors");
  1440. } else return SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");
  1441. }
  1442.  
  1443. dcmd_unlockcar(playerid,params[]) {
  1444. #pragma unused params
  1445. if(PlayerInfo[playerid][Level] >= 2) {
  1446. if(IsPlayerInAnyVehicle(playerid)) {
  1447. for(new i = 0; i < MAX_PLAYERS; i++) SetVehicleParamsForPlayer(GetPlayerVehicleID(playerid),i,false,false);
  1448. CMDMessageToAdmins(playerid,"UNLOCKCAR");
  1449. PlayerInfo[playerid][DoorsLocked] = 0;
  1450. new string[128]; format(string,sizeof(string),"Administrator \"%s\" has unlocked his car", pName(playerid));
  1451. return SendClientMessageToAll(blue,string);
  1452. } else return SendClientMessage(playerid,red,"ERROR: You need to be in a vehicle to lock the doors");
  1453. } else return SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");
  1454. }
  1455.  
  1456. dcmd_burn(playerid,params[]) {
  1457. if(PlayerInfo[playerid][Level] >= 3) {
  1458. if(!strlen(params)) return SendClientMessage(playerid, red, "USAGE: /burn [playerid]");
  1459. new player1 = strval(params), string[128], Float:x, Float:y, Float:z;
  1460. if(PlayerInfo[player1][Level] == ServerInfo[MaxAdminLevel] && PlayerInfo[playerid][Level] != ServerInfo[MaxAdminLevel]) return SendClientMessage(playerid,red,"ERROR: You cannot use this command on this admin");
  1461. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID) {
  1462. CMDMessageToAdmins(playerid,"BURN");
  1463. format(string, sizeof(string), "You have burnt \"%s\" ", pName(player1)); SendClientMessage(playerid,blue,string);
  1464. if(player1 != playerid) { format(string,sizeof(string),"Administrator \"%s\" has burnt you", pName(playerid)); SendClientMessage(player1,blue,string); }
  1465. GetPlayerPos(player1, x, y, z);
  1466. return CreateExplosion(x, y , z + 3, 1, 10);
  1467. } else return SendClientMessage(playerid,red,"ERROR: Player is not connected");
  1468. } else return SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");
  1469. }
  1470.  
  1471. dcmd_spawnplayer(playerid,params[])
  1472. {
  1473. return dcmd_spawn(playerid,params);
  1474. }
  1475.  
  1476. dcmd_spawn(playerid,params[]) {
  1477. if(PlayerInfo[playerid][Level] >= 3) {
  1478. if(!strlen(params)) return SendClientMessage(playerid, red, "USAGE: /spawn [playerid]");
  1479. new player1 = strval(params), string[128];
  1480. if(PlayerInfo[player1][Level] == ServerInfo[MaxAdminLevel] && PlayerInfo[playerid][Level] != ServerInfo[MaxAdminLevel]) return SendClientMessage(playerid,red,"ERROR: You cannot use this command on this admin");
  1481. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID) {
  1482. CMDMessageToAdmins(playerid,"SPAWN");
  1483. format(string, sizeof(string), "You have spawned \"%s\" ", pName(player1)); SendClientMessage(playerid,blue,string);
  1484. if(player1 != playerid) { format(string,sizeof(string),"Administrator \"%s\" has spawned you", pName(playerid)); SendClientMessage(player1,blue,string); }
  1485. SetPlayerPos(player1, 0.0, 0.0, 0.0);
  1486. return SpawnPlayer(player1);
  1487. } else return SendClientMessage(playerid,red,"ERROR: Player is not connected");
  1488. } else return SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");
  1489. }
  1490.  
  1491. dcmd_disarm(playerid,params[]) {
  1492. if(PlayerInfo[playerid][Level] >= 3) {
  1493. if(!strlen(params)) return SendClientMessage(playerid, red, "USAGE: /disarm [playerid]");
  1494. new player1 = strval(params), string[128];
  1495. if(PlayerInfo[player1][Level] == ServerInfo[MaxAdminLevel] && PlayerInfo[playerid][Level] != ServerInfo[MaxAdminLevel]) return SendClientMessage(playerid,red,"ERROR: You cannot use this command on this admin");
  1496. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID) {
  1497. CMDMessageToAdmins(playerid,"DISARM"); PlayerPlaySound(player1,1057,0.0,0.0,0.0);
  1498. format(string, sizeof(string), "You have disarmed \"%s\" ", pName(player1)); SendClientMessage(playerid,blue,string);
  1499. if(player1 != playerid) { format(string,sizeof(string),"Administrator \"%s\" has disarmed you", pName(playerid)); SendClientMessage(player1,blue,string); }
  1500. ResetPlayerWeapons(player1);
  1501. return PlayerPlaySound(player1,1057,0.0,0.0,0.0);
  1502. } else return SendClientMessage(playerid,red,"ERROR: Player is not connected");
  1503. } else return SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");
  1504. }
  1505.  
  1506. dcmd_crash(playerid,params[]) {
  1507. if(PlayerInfo[playerid][Level] >= 4) {
  1508. if(!strlen(params)) return SendClientMessage(playerid, red, "USAGE: /crash [playerid]");
  1509. new player1 = strval(params), string[128], Float:X,Float:Y,Float:Z;
  1510. if(PlayerInfo[player1][Level] == ServerInfo[MaxAdminLevel] && PlayerInfo[playerid][Level] != ServerInfo[MaxAdminLevel]) return SendClientMessage(playerid,red,"ERROR: You cannot use this command on this admin");
  1511. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID) {
  1512. CMDMessageToAdmins(playerid,"CRASH");
  1513. GetPlayerPos(player1,X,Y,Z);
  1514. new objectcrash = CreatePlayerObject(player1,11111111,X,Y,Z,0,0,0);
  1515. DestroyObject(objectcrash);
  1516. format(string, sizeof(string), "You have crashed \"%s's\" game", pName(player1) );
  1517. return SendClientMessage(playerid,blue, string);
  1518. } else return SendClientMessage(playerid,red,"ERROR: Player is not connected");
  1519. } else return SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");
  1520. }
  1521.  
  1522. dcmd_ip(playerid,params[]) {
  1523. if(PlayerInfo[playerid][Level] >= 5) {
  1524. if(!strlen(params)) return SendClientMessage(playerid, red, "USAGE: /ip [playerid]");
  1525. new player1 = strval(params), string[128];
  1526. if(PlayerInfo[player1][Level] == ServerInfo[MaxAdminLevel] && PlayerInfo[playerid][Level] != ServerInfo[MaxAdminLevel]) return SendClientMessage(playerid,red,"ERROR: You cannot use this command on this admin");
  1527. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID) {
  1528. CMDMessageToAdmins(playerid,"IP");
  1529. new tmp3[50]; GetPlayerIp(player1,tmp3,50);
  1530. format(string,sizeof(string),"\"%s's\" ip is '%s'", pName(player1), tmp3);
  1531. return SendClientMessage(playerid,blue,string);
  1532. } else return SendClientMessage(playerid,red,"ERROR: Player is not connected");
  1533. } else return SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");
  1534. }
  1535.  
  1536. dcmd_bankrupt(playerid,params[]) {
  1537. if(PlayerInfo[playerid][Level] >= 5) {
  1538. if(!strlen(params)) return SendClientMessage(playerid, red, "USAGE: /bankrupt [playerid]");
  1539. new player1 = strval(params), string[128];
  1540. if(PlayerInfo[player1][Level] == ServerInfo[MaxAdminLevel] && PlayerInfo[playerid][Level] != ServerInfo[MaxAdminLevel]) return SendClientMessage(playerid,red,"ERROR: You cannot use this command on this admin");
  1541. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID) {
  1542. CMDMessageToAdmins(playerid,"BANKRUPT");
  1543. format(string, sizeof(string), "You have reset \"%s's\" cash", pName(player1)); SendClientMessage(playerid,blue,string);
  1544. if(player1 != playerid) { format(string,sizeof(string),"Administrator \"%s\" has reset your cash'", pName(playerid)); SendClientMessage(player1,blue,string); }
  1545. return ResetPlayerMoney(player1);
  1546. } else return SendClientMessage(playerid,red,"ERROR: Player is not connected");
  1547. } else return SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");
  1548. }
  1549.  
  1550. dcmd_sbankrupt(playerid,params[]) {
  1551. if(PlayerInfo[playerid][Level] >= 5) {
  1552. if(!strlen(params)) return SendClientMessage(playerid, red, "USAGE: /sbankrupt [playerid]");
  1553. new player1 = strval(params), string[128];
  1554. if(PlayerInfo[player1][Level] == ServerInfo[MaxAdminLevel] && PlayerInfo[playerid][Level] != ServerInfo[MaxAdminLevel]) return SendClientMessage(playerid,red,"ERROR: You cannot use this command on this admin");
  1555. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID) {
  1556. CMDMessageToAdmins(playerid,"BANKRUPT");
  1557. format(string, sizeof(string), "You have silently reset \"%s's\" cash", pName(player1)); SendClientMessage(playerid,blue,string);
  1558. return ResetPlayerMoney(player1);
  1559. } else return SendClientMessage(playerid,red,"ERROR: Player is not connected");
  1560. } else return SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");
  1561. }
  1562.  
  1563. dcmd_kill(playerid,params[]) {
  1564. #pragma unused params
  1565. return SetPlayerHealth(playerid,0.0);
  1566. }
  1567.  
  1568. dcmd_time(playerid,params[]) {
  1569. #pragma unused params
  1570. new string[64], hour,minuite,second; gettime(hour,minuite,second);
  1571. format(string, sizeof(string), "~g~|~w~%d:%d~g~|", hour, minuite);
  1572. return GameTextForPlayer(playerid, string, 5000, 1);
  1573. }
  1574.  
  1575. dcmd_ubound(playerid,params[]) {
  1576. if(PlayerInfo[playerid][Level] >= 5) {
  1577. if(!strlen(params)) return SendClientMessage(playerid, red, "USAGE: /ubound [playerid]");
  1578. new string[128], player1 = strval(params);
  1579.  
  1580. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID) {
  1581. CMDMessageToAdmins(playerid,"UBOUND");
  1582. SetPlayerWorldBounds(player1, 9999.9, -9999.9, 9999.9, -9999.9 );
  1583. format(string, sizeof(string), "Administrator %s has removed your world boundaries", PlayerName2(playerid)); if(player1 != playerid) SendClientMessage(player1,blue,string);
  1584. format(string,sizeof(string),"You have removed %s's world boundaries", PlayerName2(player1));
  1585. return SendClientMessage(playerid,blue,string);
  1586. } else return SendClientMessage(playerid, red, "Player is not connected");
  1587. } else return SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");
  1588. }
  1589.  
  1590. dcmd_lhelp(playerid,params[]) {
  1591. #pragma unused params
  1592. if(PlayerInfo[playerid][LoggedIn] && PlayerInfo[playerid][Level] >= 1) {
  1593. SendClientMessage(playerid,blue,"--== [ LAdmin Help ] ==--");
  1594. SendClientMessage(playerid,blue, "For admin commands type: /lcommands | Credits: /lcredits");
  1595. SendClientMessage(playerid,blue, "Account commands are: /register, /login, /changepass, /stats, /resetstats. Also /time, /report");
  1596. SendClientMessage(playerid,blue, "There are 5 levels. Level 5 admins are immune from commands");
  1597. SendClientMessage(playerid,blue, "IMPORTANT: The filterscript must be reloaded if you change gamemodes");
  1598. }
  1599. else if(PlayerInfo[playerid][LoggedIn] && PlayerInfo[playerid][Level] < 1) {
  1600. SendClientMessage(playerid,green, "Your commands are: /register, /login, /report, /stats, /time, /changepass, /resetstats, /getid");
  1601. }
  1602. else if(PlayerInfo[playerid][LoggedIn] == 0) {
  1603. SendClientMessage(playerid,green, "Your commands are: /time, /getid (You are not logged in, log in for more commands)");
  1604. } return 1;
  1605. }
  1606.  
  1607. dcmd_lcmds(playerid,params[]) {
  1608. #pragma unused params
  1609. if(PlayerInfo[playerid][Level] > 0)
  1610. {
  1611. SendClientMessage(playerid,lightblue," ---------------------------------Truckers Life Admin Commands------------------------------------------------------------------------");
  1612. SendClientMessage(playerid,lightblue,"GENERAL: getinfo, lmenu, announce, write, miniguns, richlist, lspec(off), move, lweaps, adminarea, countdown, duel, giveweapon");
  1613. SendClientMessage(playerid,lightblue,"GENERAL: slap, burn, warn, kick, ban, explode, jail, freeze, mute, crash, ubound, god, godcar, ping");
  1614. SendClientMessage(playerid,lightblue,"GENERAL: setping, lockserver, enable/disable, setlevel, setinterior, givecar, jetpack, force, spawn");
  1615. SendClientMessage(playerid,lightblue,"VEHICLE: flip, fix, , lockcar, eject, ltc, car, lcar, lbike, lplane, lheli, lboat, cm");
  1616. SendClientMessage(playerid,lightblue,"TELE: goto, gethere, get, teleplayer, ltele, vgoto, lgoto, moveplayer");
  1617. SendClientMessage(playerid,lightblue,"SET: set(cash/health/armour/gravity/name/time/weather/skin/colour/wanted/templevel)");
  1618. SendClientMessage(playerid,lightblue,"SETALL: setall(world/weather/wanted/time/score/cash)");
  1619. SendClientMessage(playerid,lightblue,"ALL: giveallweapon, healall, armourall, freezeall, kickall, ejectall, killall, disarmall, slapall, spawnall");
  1620. SendClientMessage(playerid,lightblue,"---------------------------------------------------------------------------------------------------------------------------------");
  1621. }
  1622. return 1;
  1623. }
  1624.  
  1625. dcmd_lcommands(playerid,params[]) {
  1626. #pragma unused params
  1627. if(PlayerInfo[playerid][Level] > 0)
  1628. {
  1629. SendClientMessage(playerid,lightblue," ---= All Admin Commands =---");
  1630. SendClientMessage(playerid,lightblue," /level1, /level2, /level3, /level4, /level5, /rcon ladmin");
  1631. SendClientMessage(playerid,lightblue,"Player Commands: /register, /login, /report, /stats, /time, /changepass, /resetstats, /getid");
  1632. }
  1633. return 1;
  1634. }
  1635.  
  1636. dcmd_level1(playerid,params[]) {
  1637. #pragma unused params
  1638. if(PlayerInfo[playerid][Level] > 0)
  1639. {
  1640. SendClientMessage(playerid,lightblue," ---=Level 1 Admin Commands =---");
  1641. SendClientMessage(playerid,lightblue,"getinfo, weaps, vr, ltune, lhy, lp, asay, ping, lslowmo, ltc,");
  1642. SendClientMessage(playerid,lightblue,"morning, adminarea, reports, richlist, miniguns, saveplacae, gotoplace,");
  1643. SendClientMessage(playerid,lightblue,"saveskin, useskin, dontuseskin, setmytime, ip, lconfig.");
  1644. }
  1645. return 1;
  1646. }
  1647.  
  1648. dcmd_level2(playerid,params[]) {
  1649. #pragma unused params
  1650. if(PlayerInfo[playerid][Level] > 0)
  1651. {
  1652. SendClientMessage(playerid,lightblue," ---=Level 2 Admin Commands =---");
  1653. SendClientMessage(playerid,lightblue,"giveweapon, setcolour, lockcar, unlockcar, burn, spawn, disarm, lcar, lbike,");
  1654. SendClientMessage(playerid,lightblue,"lheli, lboat, lplane, hightlight, announce, announce2, screen, jetpack, flip,");
  1655. SendClientMessage(playerid,lightblue,"goto, vgoto, lgoto, fu, warn, slap, jailed, frozen, mute, unmute, muted,");
  1656. SendClientMessage(playerid,lightblue,"laston, lspec, lspecoff, lspecvehicle, clearchat, lmenu, ltele, cm, ltmenu,");
  1657. SendClientMessage(playerid,lightblue,"write.");
  1658. }
  1659. return 1;
  1660. }
  1661.  
  1662. dcmd_level3(playerid,params[]) {
  1663. #pragma unused params
  1664. if(PlayerInfo[playerid][Level] > 0)
  1665. {
  1666. SendClientMessage(playerid,lightblue," ---=Level 3 Admin Commands =---");
  1667. SendClientMessage(playerid,lightblue,"sethealth, ban, setarmour, setcash, setscore, setskin, setwanted, setname, setweather,");
  1668. SendClientMessage(playerid,lightblue,"settime, setworld, setinterior, force, eject, bankrupt, sbankrupt, ubound, lweaps,");
  1669. SendClientMessage(playerid,lightblue,"lammo, countdown, duel, car, carhealth, carcolour, setping, setgravity, destroycar,");
  1670. SendClientMessage(playerid,lightblue,"teleplayer, vget, givecar, gethere, get, kick, explode, jail, unjail, freeze, ");
  1671. SendClientMessage(playerid,lightblue,"unfreeze, akill,aka, disablechat, clearallchat, caps, move, moveplayer, healall,");
  1672. SendClientMessage(playerid,lightblue,"armourall, setallskin, setallwanted, setallweather, setalltime, setallworld,");
  1673. SendClientMessage(playerid,lightblue,"setallscore, setallcash, giveallcash, giveallweapon, lweather, ltime, lweapons, setpass");
  1674. }
  1675. return 1;
  1676. }
  1677.  
  1678. dcmd_level4(playerid,params[]) {
  1679. #pragma unused params
  1680. if(PlayerInfo[playerid][Level] > 0)
  1681. {
  1682. SendClientMessage(playerid,lightblue," ---=Level 4 Admin Commands =---");
  1683. SendClientMessage(playerid,lightblue,"enable, disable, ban, rban, settemplevel, crash, spam, die, uconfig,");
  1684. SendClientMessage(playerid,lightblue,"botcheck, lockserver, unlockserver, forbidname, forbidword, ");
  1685. SendClientMessage(playerid,lightblue,"fakedeath, spawnall, muteall, unmuteall, getall, killall, freezeall,");
  1686. SendClientMessage(playerid,lightblue,"unfreezeall, kickall, slapalll, explodeall, disarmall, ejectall.");
  1687. }
  1688. return 1;
  1689. }
  1690.  
  1691. dcmd_level5(playerid,params[]) {
  1692. #pragma unused params
  1693. if(PlayerInfo[playerid][Level] > 0)
  1694. {
  1695. SendClientMessage(playerid,lightblue," ---=Level 5 Admin Commands =---");
  1696. SendClientMessage(playerid,lightblue,"god, sgod, setlevel, pickup, object, fakechat.");
  1697. }
  1698. return 1;
  1699. }
  1700.  
  1701. dcmd_lconfig(playerid,params[]) {
  1702. #pragma unused params
  1703. if(PlayerInfo[playerid][Level] > 0)
  1704. {
  1705. new string[128];
  1706. SendClientMessage(playerid,blue," ---=== LAdmin Configuration ===---");
  1707. format(string, sizeof(string), "Max Ping: %dms | ReadPms %d | ReadCmds %d | Max Admin Level %d | AdminOnlySkins %d", ServerInfo[MaxPing], ServerInfo[ReadPMs], ServerInfo[ReadCmds], ServerInfo[MaxAdminLevel], ServerInfo[AdminOnlySkins] );
  1708. SendClientMessage(playerid,blue,string);
  1709. format(string, sizeof(string), "AdminSkin1 %d | AdminSkin2 %d | NameKick %d | AntiBot %d | AntiSpam %d | AntiSwear %d", ServerInfo[AdminSkin], ServerInfo[AdminSkin2], ServerInfo[NameKick], ServerInfo[AntiBot], ServerInfo[AntiSpam], ServerInfo[AntiSwear] );
  1710. SendClientMessage(playerid,blue,string);
  1711. format(string, sizeof(string), "NoCaps %d | Locked %d | Pass %s | SaveWeaps %d | SaveMoney %d | ConnectMessages %d | AdminCmdMsgs %d", ServerInfo[NoCaps], ServerInfo[Locked], ServerInfo[Password], ServerInfo[GiveWeap], ServerInfo[GiveMoney], ServerInfo[ConnectMessages], ServerInfo[AdminCmdMsg] );
  1712. SendClientMessage(playerid,blue,string);
  1713. format(string, sizeof(string), "AutoLogin %d | MaxMuteWarnings %d | ChatDisabled %d | MustLogin %d | MustRegister %d", ServerInfo[AutoLogin], ServerInfo[MaxMuteWarnings], ServerInfo[DisableChat], ServerInfo[MustLogin], ServerInfo[MustRegister] );
  1714. SendClientMessage(playerid,blue,string);
  1715. }
  1716. return 1;
  1717. }
  1718.  
  1719. dcmd_getinfo(playerid,params[]) {
  1720. if(PlayerInfo[playerid][Level] >= 1 || IsPlayerAdmin(playerid)) {
  1721. if(!strlen(params)) return SendClientMessage(playerid,red,"USAGE: /getinfo [playerid]");
  1722. new player1, string[128];
  1723. player1 = strval(params);
  1724.  
  1725. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID) {
  1726. new Float:player1health, Float:player1armour, playerip[128], Float:x, Float:y, Float:z, tmp2[256], file[256],
  1727. year, month, day, P1Jailed[4], P1Frozen[4], P1Logged[4], P1Register[4], RegDate[256], TimesOn;
  1728.  
  1729. GetPlayerHealth(player1,player1health);
  1730. GetPlayerArmour(player1,player1armour);
  1731. GetPlayerIp(player1, playerip, sizeof(playerip));
  1732. GetPlayerPos(player1,x,y,z);
  1733. getdate(year, month, day);
  1734. format(file,sizeof(file),"/ladmin/users/%s.sav",udb_encode(PlayerName2(player1)));
  1735.  
  1736. if(PlayerInfo[player1][Jailed] == 1) P1Jailed = "Yes"; else P1Jailed = "No";
  1737. if(PlayerInfo[player1][Frozen] == 1) P1Frozen = "Yes"; else P1Frozen = "No";
  1738. if(PlayerInfo[player1][LoggedIn] == 1) P1Logged = "Yes"; else P1Logged = "No";
  1739. if(fexist(file)) P1Register = "Yes"; else P1Register = "No";
  1740. if(dUserINT(PlayerName2(player1)).("LastOn")==0) tmp2 = "Never"; else tmp2 = dini_Get(file,"LastOn");
  1741. if(strlen(dini_Get(file,"RegisteredDate")) < 3) RegDate = "n/a"; else RegDate = dini_Get(file,"RegisteredDate");
  1742. TimesOn = dUserINT(PlayerName2(player1)).("TimesOnServer");
  1743.  
  1744. new Sum, Average, w;
  1745. while (w < PING_MAX_EXCEEDS) {
  1746. Sum += PlayerInfo[player1][pPing][w];
  1747. w++;
  1748. }
  1749. Average = (Sum / PING_MAX_EXCEEDS);
  1750.  
  1751. format(string, sizeof(string),"(Player Info) ---====> Name: %s ID: %d <====---", PlayerName2(player1), player1);
  1752. SendClientMessage(playerid,lightblue,string);
  1753. format(string, sizeof(string),"Health: %d Armour: %d Score: %d Cash: %d Skin: %d IP: %s Ping: %d Average Ping: %d",floatround(player1health),floatround(player1armour),
  1754. GetPlayerScore(player1),GetPlayerMoney(player1),GetPlayerSkin(player1),playerip,GetPlayerPing(player1), Average );
  1755. SendClientMessage(playerid,red,string);
  1756. format(string, sizeof(string),"Interior: %d Virtual World: %d Wanted Level: %d X %0.1f Y %0.1f Z %0.1f", GetPlayerInterior(player1), GetPlayerVirtualWorld(player1), GetPlayerWantedLevel(player1), Float:x,Float:y,Float:z);
  1757. SendClientMessage(playerid,orange,string);
  1758. format(string, sizeof(string),"Times On Server: %d Kills: %d Deaths: %d Ratio: %0.2f AdminLevel: %d", TimesOn, PlayerInfo[player1][Kills], PlayerInfo[player1][Deaths], Float:PlayerInfo[player1][Kills]/Float:PlayerInfo[player1][Deaths], PlayerInfo[player1][Level] );
  1759. SendClientMessage(playerid,yellow,string);
  1760. format(string, sizeof(string),"Registered: %s Logged In: %s In Jail: %s Frozen: %s", P1Register, P1Logged, P1Jailed, P1Frozen );
  1761. SendClientMessage(playerid,green,string);
  1762. format(string, sizeof(string),"Last On Server: %s Register Date: %s Todays Date: %d/%d/%d", tmp2, RegDate, day,month,year );
  1763. SendClientMessage(playerid,COLOR_GREEN,string);
  1764.  
  1765. if(IsPlayerInAnyVehicle(player1)) {
  1766. new Float:VHealth, carid = GetPlayerVehicleID(playerid); GetVehicleHealth(carid,VHealth);
  1767. format(string, sizeof(string),"VehicleID: %d Model: %d Vehicle Name: %s Vehicle Health: %d",carid, GetVehicleModel(carid), VehicleNames[GetVehicleModel(carid)-400], floatround(VHealth) );
  1768. SendClientMessage(playerid,COLOR_BLUE,string);
  1769. }
  1770.  
  1771. new slot, ammo, weap, Count, WeapName[24], WeapSTR[128], p; WeapSTR = "Weaps: ";
  1772. for (slot = 0; slot < 14; slot++) { GetPlayerWeaponData(player1, slot, weap, ammo); if( ammo != 0 && weap != 0) Count++; }
  1773. if(Count < 1) return SendClientMessage(playerid,lightblue,"Player has no weapons");
  1774. else {
  1775. for (slot = 0; slot < 14; slot++)
  1776. {
  1777. GetPlayerWeaponData(player1, slot, weap, ammo);
  1778. if (ammo > 0 && weap > 0)
  1779. {
  1780. GetWeaponName(weap, WeapName, sizeof(WeapName) );
  1781. if (ammo == 65535 || ammo == 1) format(WeapSTR,sizeof(WeapSTR),"%s%s (1)",WeapSTR, WeapName);
  1782. else format(WeapSTR,sizeof(WeapSTR),"%s%s (%d)",WeapSTR, WeapName, ammo);
  1783. p++;
  1784. if(p >= 5) { SendClientMessage(playerid, lightblue, WeapSTR); format(WeapSTR, sizeof(WeapSTR), "Weaps: "); p = 0;
  1785. } else format(WeapSTR, sizeof(WeapSTR), "%s, ", WeapSTR);
  1786. }
  1787. }
  1788. if(p <= 4 && p > 0) {
  1789. string[strlen(string)-3] = '.';
  1790. SendClientMessage(playerid, lightblue, WeapSTR);
  1791. }
  1792. }
  1793. return 1;
  1794. } else return SendClientMessage(playerid,red,"ERROR: Player is not connected");
  1795. } else return SendClientMessage(playerid,red,"ERROR: You need to be administrator level 2 to use this command");
  1796. }
  1797.  
  1798. dcmd_disable(playerid,params[]) {
  1799. if(PlayerInfo[playerid][Level] >= 4 || IsPlayerAdmin(playerid)) {
  1800. if(!strlen(params)) {
  1801. SendClientMessage(playerid,red,"USAGE: /disable [antiswear / namekick / antispam / ping / readcmds / readpms /caps / admincmdmsgs");
  1802. return SendClientMessage(playerid,red," /connectmsgs / autologin ]");
  1803. }
  1804. new string[128], file[256]; format(file,sizeof(file),"ladmin/config/Config.ini");
  1805. if(strcmp(params,"antiswear",true) == 0) {
  1806. ServerInfo[AntiSwear] = 0;
  1807. dini_IntSet(file,"AntiSwear",0);
  1808. format(string,sizeof(string),"Administrator %s has disabled antiswear", PlayerName2(playerid));
  1809. SendClientMessageToAll(blue,string);
  1810. } else if(strcmp(params,"namekick",true) == 0) {
  1811. ServerInfo[NameKick] = 0;
  1812. dini_IntSet(file,"NameKick",0);
  1813. format(string,sizeof(string),"Administrator %s has disabled namekick", PlayerName2(playerid));
  1814. SendClientMessageToAll(blue,string);
  1815. } else if(strcmp(params,"antispam",true) == 0) {
  1816. ServerInfo[AntiSpam] = 0;
  1817. dini_IntSet(file,"AntiSpam",0);
  1818. format(string,sizeof(string),"Administrator %s has disabled antispam", PlayerName2(playerid));
  1819. SendClientMessageToAll(blue,string);
  1820. } else if(strcmp(params,"ping",true) == 0) {
  1821. ServerInfo[MaxPing] = 0;
  1822. dini_IntSet(file,"MaxPing",0);
  1823. format(string,sizeof(string),"Administrator %s has disabled ping kick", PlayerName2(playerid));
  1824. SendClientMessageToAll(blue,string);
  1825. } else if(strcmp(params,"readcmds",true) == 0) {
  1826. ServerInfo[ReadCmds] = 0;
  1827. dini_IntSet(file,"ReadCMDs",0);
  1828. format(string,sizeof(string),"Administrator %s has disabled reading commands", PlayerName2(playerid));
  1829. MessageToAdmins(blue,string);
  1830. } else if(strcmp(params,"readpms",true) == 0) {
  1831. ServerInfo[ReadPMs] = 0;
  1832. dini_IntSet(file,"ReadPMs",0);
  1833. format(string,sizeof(string),"Administrator %s has disabled reading pms", PlayerName2(playerid));
  1834. MessageToAdmins(blue,string);
  1835. } else if(strcmp(params,"caps",true) == 0) {
  1836. ServerInfo[NoCaps] = 1;
  1837. dini_IntSet(file,"NoCaps",1);
  1838. format(string,sizeof(string),"Administrator %s has prevented captial letters in chat", PlayerName2(playerid));
  1839. SendClientMessageToAll(blue,string);
  1840. } else if(strcmp(params,"admincmdmsgs",true) == 0) {
  1841. ServerInfo[AdminCmdMsg] = 0;
  1842. dini_IntSet(file,"AdminCMDMessages",0);
  1843. format(string,sizeof(string),"Administrator %s has disabled admin command messages", PlayerName2(playerid));
  1844. MessageToAdmins(green,string);
  1845. } else if(strcmp(params,"connectmsgs",true) == 0) {
  1846. ServerInfo[ConnectMessages] = 0;
  1847. dini_IntSet(file,"ConnectMessages",0);
  1848. format(string,sizeof(string),"Administrator %s has disabled connect & disconnect messages", PlayerName2(playerid));
  1849. MessageToAdmins(green,string);
  1850. } else if(strcmp(params,"autologin",true) == 0) {
  1851. ServerInfo[AutoLogin] = 0;
  1852. dini_IntSet(file,"AutoLogin",0);
  1853. format(string,sizeof(string),"Administrator %s has disabled auto login", PlayerName2(playerid));
  1854. MessageToAdmins(green,string);
  1855. } else {
  1856. SendClientMessage(playerid,red,"USAGE: /disable [antiswear / namekick / antispam / ping / readcmds / readpms /caps /cmdmsg ]");
  1857. } return 1;
  1858. } else return SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");
  1859. }
  1860.  
  1861. dcmd_enable(playerid,params[]) {
  1862. if(PlayerInfo[playerid][Level] >= 4 || IsPlayerAdmin(playerid)) {
  1863. if(!strlen(params)) {
  1864. SendClientMessage(playerid,red,"USAGE: /enable [antiswear / namekick / antispam / ping / readcmds / readpms /caps / admincmdmsgs");
  1865. return SendClientMessage(playerid,red," /connectmsgs / autologin ]");
  1866. }
  1867. new string[128], file[256]; format(file,sizeof(file),"ladmin/config/Config.ini");
  1868. if(strcmp(params,"antiswear",true) == 0) {
  1869. ServerInfo[AntiSwear] = 1;
  1870. dini_IntSet(file,"AntiSwear",1);
  1871. format(string,sizeof(string),"Administrator %s has enabled antiswear", PlayerName2(playerid));
  1872. SendClientMessageToAll(blue,string);
  1873. } else if(strcmp(params,"namekick",true) == 0) {
  1874. ServerInfo[NameKick] = 1;
  1875. format(string,sizeof(string),"Administrator %s has enabled namekick", PlayerName2(playerid));
  1876. SendClientMessageToAll(blue,string);
  1877. } else if(strcmp(params,"antispam",true) == 0) {
  1878. ServerInfo[AntiSpam] = 1;
  1879. dini_IntSet(file,"AntiSpam",1);
  1880. format(string,sizeof(string),"Administrator %s has enabled antispam", PlayerName2(playerid));
  1881. SendClientMessageToAll(blue,string);
  1882. } else if(strcmp(params,"ping",true) == 0) {
  1883. ServerInfo[MaxPing] = 800;
  1884. dini_IntSet(file,"MaxPing",800);
  1885. format(string,sizeof(string),"Administrator %s has enabled ping kick", PlayerName2(playerid));
  1886. SendClientMessageToAll(blue,string);
  1887. } else if(strcmp(params,"readcmds",true) == 0) {
  1888. ServerInfo[ReadCmds] = 1;
  1889. dini_IntSet(file,"ReadCMDs",1);
  1890. format(string,sizeof(string),"Administrator %s has enabled reading commands", PlayerName2(playerid));
  1891. MessageToAdmins(blue,string);
  1892. } else if(strcmp(params,"readpms",true) == 0) {
  1893. ServerInfo[ReadPMs] = 1;
  1894. dini_IntSet(file,"ReadPMs",1);
  1895. format(string,sizeof(string),"Administrator %s has enabled reading pms", PlayerName2(playerid));
  1896. MessageToAdmins(blue,string);
  1897. } else if(strcmp(params,"caps",true) == 0) {
  1898. ServerInfo[NoCaps] = 0;
  1899. dini_IntSet(file,"NoCaps",0);
  1900. format(string,sizeof(string),"Administrator %s has allowed captial letters in chat", PlayerName2(playerid));
  1901. SendClientMessageToAll(blue,string);
  1902. } else if(strcmp(params,"admincmdmsgs",true) == 0) {
  1903. ServerInfo[AdminCmdMsg] = 1;
  1904. dini_IntSet(file,"AdminCmdMessages",1);
  1905. format(string,sizeof(string),"Administrator %s has enabled admin command messages", PlayerName2(playerid));
  1906. MessageToAdmins(green,string);
  1907. } else if(strcmp(params,"connectmsgs",true) == 0) {
  1908. ServerInfo[ConnectMessages] = 1;
  1909. dini_IntSet(file,"ConnectMessages",1);
  1910. format(string,sizeof(string),"Administrator %s has enabled connect & disconnect messages", PlayerName2(playerid));
  1911. MessageToAdmins(green,string);
  1912. } else if(strcmp(params,"autologin",true) == 0) {
  1913. ServerInfo[AutoLogin] = 1;
  1914. dini_IntSet(file,"AutoLogin",1);
  1915. format(string,sizeof(string),"Administrator %s has enabled auto login", PlayerName2(playerid));
  1916. MessageToAdmins(green,string);
  1917. } else {
  1918. SendClientMessage(playerid,red,"USAGE: /enable [antiswear / namekick / antispam / ping / readcmds / readpms /caps /cmdmsg ]");
  1919. } return 1;
  1920. } else return SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");
  1921. }
  1922.  
  1923. dcmd_lweaps(playerid,params[]) {
  1924. #pragma unused params
  1925. if(PlayerInfo[playerid][Level] >= 3) {
  1926. GivePlayerWeapon(playerid,28,1000); GivePlayerWeapon(playerid,31,1000); GivePlayerWeapon(playerid,34,1000);
  1927. GivePlayerWeapon(playerid,38,1000); GivePlayerWeapon(playerid,16,1000); GivePlayerWeapon(playerid,42,1000);
  1928. GivePlayerWeapon(playerid,14,1000); GivePlayerWeapon(playerid,46,1000); GivePlayerWeapon(playerid,9,1);
  1929. GivePlayerWeapon(playerid,24,1000); GivePlayerWeapon(playerid,26,1000); return 1;
  1930. } else return SendClientMessage(playerid,red,"ERROR: You need to be level 3 to use this command");
  1931. }
  1932.  
  1933. dcmd_countdown(playerid,params[]) {
  1934. #pragma unused params
  1935. if(PlayerInfo[playerid][Level] >= 3) {
  1936. if(CountDown == -1) {
  1937. CountDown = 6;
  1938. SetTimer("countdown",1000,0);
  1939. return CMDMessageToAdmins(playerid,"COUNTDOWN");
  1940. } else return SendClientMessage(playerid,red,"ERROR: Countdown in progress");
  1941. } else return SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");
  1942. }
  1943.  
  1944. dcmd_duel(playerid,params[]) {
  1945. if(PlayerInfo[playerid][Level] >= 5) {
  1946. new tmp[256], tmp2[256], tmp3[256], Index; tmp = strtok(params,Index), tmp2 = strtok(params,Index), tmp3 = strtok(params,Index);
  1947. if(!strlen(tmp) || !strlen(tmp2) || !IsNumeric(tmp) || !IsNumeric(tmp2)) {
  1948. SendClientMessage(playerid, red, "USAGE: /duel [player1 id] [player2 id] [location] (Locations: 1, 2, 3]");
  1949. return SendClientMessage(playerid, red, "If location isnt stated then players duel at their present location");
  1950. }
  1951. new player1 = strval(tmp), player2 = strval(tmp2), location, string[128];
  1952. if(!strlen(tmp3)) location = 0; else location = strval(tmp3);
  1953. if(PlayerInfo[player1][Level] == ServerInfo[MaxAdminLevel] && PlayerInfo[playerid][Level] != ServerInfo[MaxAdminLevel]) return SendClientMessage(playerid,red,"ERROR: You cannot use this command on this admin");
  1954. if(PlayerInfo[player2][Level] == ServerInfo[MaxAdminLevel] && PlayerInfo[playerid][Level] != ServerInfo[MaxAdminLevel]) return SendClientMessage(playerid,red,"ERROR: You cannot use this command on this admin");
  1955. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID) {
  1956. if(IsPlayerConnected(player2) && player2 != INVALID_PLAYER_ID) {
  1957. if(InDuel[player1] == 1) return SendClientMessage(playerid,red,"ERROR: Player1 is already in a duel");
  1958. if(InDuel[player2] == 1) return SendClientMessage(playerid,red,"ERROR: Player2 is already in a duel");
  1959.  
  1960. if(location == 1) {
  1961. SetPlayerInterior(player1,16); SetPlayerPos(player1,-1404.067, 1270.3706, 1042.8672);
  1962. SetPlayerInterior(player2,16); SetPlayerPos(player2,-1395.067, 1261.3706, 1042.8672);
  1963. } else if(location == 2) {
  1964. SetPlayerInterior(player1,0); SetPlayerPos(player1,1353.407,2188.155,11.02344);
  1965. SetPlayerInterior(player2,0); SetPlayerPos(player2,1346.255,2142.843,11.01563);
  1966. } else if(location == 3) {
  1967. SetPlayerInterior(player1,10); SetPlayerPos(player1,-1041.037,1078.729,1347.678); SetPlayerFacingAngle(player1,135);
  1968. SetPlayerInterior(player2,10); SetPlayerPos(player2,-1018.061,1052.502,1346.327); SetPlayerFacingAngle(player2,45);
  1969. }
  1970. InDuel[player1] = 1;
  1971. InDuel[player2] = 1;
  1972. CMDMessageToAdmins(playerid,"DUEL");
  1973. cdt[player1] = 6;
  1974. SetTimerEx("Duel",1000,0,"dd", player1, player2);
  1975. format(string, sizeof(string), "Administrator \"%s\" has started a duel between \"%s\" and \"%s\" ", pName(playerid), pName(player1), pName(player2) );
  1976. SendClientMessage(player1, blue, string); SendClientMessage(player2, blue, string);
  1977. return SendClientMessage(playerid, blue, string);
  1978. } else return SendClientMessage(playerid, red, "Player2 is not connected");
  1979. } else return SendClientMessage(playerid, red, "Player1 is not connected");
  1980. } else return SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");
  1981. }
  1982.  
  1983. dcmd_lammo(playerid,params[]) {
  1984. #pragma unused params
  1985. if(PlayerInfo[playerid][Level] >= 3) {
  1986. MaxAmmo(playerid);
  1987. return CMDMessageToAdmins(playerid,"LAMMO");
  1988. } else return SendClientMessage(playerid,red,"ERROR: You need to be level 3 to use this command");
  1989. }
  1990.  
  1991. dcmd_vr(playerid,params[]) {
  1992. #pragma unused params
  1993. if(PlayerInfo[playerid][Level] >= 1) {
  1994. if (IsPlayerInAnyVehicle(playerid)) {
  1995. SetVehicleHealth(GetPlayerVehicleID(playerid),1250.0);
  1996. return SendClientMessage(playerid,blue,"Vehicle Fixed");
  1997. } else return SendClientMessage(playerid,red,"Error: You are not in a vehicle");
  1998. } else return SendClientMessage(playerid,red,"ERROR: You need to be level 1 to use this command");
  1999. }
  2000.  
  2001. dcmd_fix(playerid,params[])
  2002. {
  2003. return dcmd_vr(playerid, params);
  2004. }
  2005.  
  2006. dcmd_repair(playerid,params[])
  2007. {
  2008. #pragma unused params
  2009. if(PlayerInfo[playerid][Level] >= 1)
  2010. {
  2011. if (IsPlayerInAnyVehicle(playerid))
  2012. {
  2013. new VehicleID = GetPlayerVehicleID(playerid);
  2014. RepairVehicle(VehicleID);
  2015. GameTextForPlayer(playerid,"~w~~n~~n~~n~~n~~n~~n~Vehicle ~g~Repaired!",3000,3);
  2016. return SetVehicleHealth(VehicleID, 1000);
  2017. }
  2018. else return SendClientMessage(playerid,red,"Error: You are not in a vehicle");
  2019. }
  2020. else return SendClientMessage(playerid,red,"ERROR: You need to be level 1 to use this command");
  2021. }
  2022.  
  2023. dcmd_ltune(playerid,params[]) {
  2024. #pragma unused params
  2025. if(PlayerInfo[playerid][Level] >= 1) {
  2026. if(IsPlayerInAnyVehicle(playerid)) {
  2027. new LVehicleID = GetPlayerVehicleID(playerid), LModel = GetVehicleModel(LVehicleID);
  2028. switch(LModel)
  2029. {
  2030. case 448,461,462,463,468,471,509,510,521,522,523,581,586,449:
  2031. return SendClientMessage(playerid,red,"ERROR: You can not tune this vehicle");
  2032. }
  2033. CMDMessageToAdmins(playerid,"LTUNE");
  2034. SetVehicleHealth(LVehicleID,2000.0);
  2035. TuneLCar(LVehicleID);
  2036. return PlayerPlaySound(playerid,1133,0.0,0.0,0.0);
  2037. } else return SendClientMessage(playerid,red,"Error: You are not in a vehicle");
  2038. } else return SendClientMessage(playerid,red,"ERROR: You need to be level 1 to use this command");
  2039. }
  2040.  
  2041. dcmd_lhy(playerid,params[]) {
  2042. #pragma unused params
  2043. if(PlayerInfo[playerid][Level] >= 1) {
  2044. if(IsPlayerInAnyVehicle(playerid)) {
  2045. new LVehicleID = GetPlayerVehicleID(playerid), LModel = GetVehicleModel(LVehicleID);
  2046. switch(LModel)
  2047. {
  2048. case 448,461,462,463,468,471,509,510,521,522,523,581,586,449:
  2049. return SendClientMessage(playerid,red,"ERROR: You can not tune this vehicle!");
  2050. }
  2051. AddVehicleComponent(LVehicleID, 1087);
  2052. return PlayerPlaySound(playerid,1133,0.0,0.0,0.0);
  2053. } else return SendClientMessage(playerid,red,"Error: You are not in a vehicle");
  2054. } else return SendClientMessage(playerid,red,"ERROR: You need to be level 1 to use this command");
  2055. }
  2056.  
  2057. dcmd_lcar(playerid,params[]) {
  2058. #pragma unused params
  2059. if(PlayerInfo[playerid][Level] >= 3) {
  2060. if (!IsPlayerInAnyVehicle(playerid)) {
  2061. CarSpawner(playerid,415);
  2062. CMDMessageToAdmins(playerid,"LCAR");
  2063. return SendClientMessage(playerid,blue,"Enjoy your new car");
  2064. } else return SendClientMessage(playerid,red,"Error: You already have a vehicle");
  2065. } else return SendClientMessage(playerid,red,"ERROR: You need to be level 2 to use this command");
  2066. }
  2067.  
  2068. dcmd_lbike(playerid,params[]) {
  2069. #pragma unused params
  2070. if(PlayerInfo[playerid][Level] >= 3) {
  2071. if (!IsPlayerInAnyVehicle(playerid)) {
  2072. CarSpawner(playerid,522);
  2073. CMDMessageToAdmins(playerid,"LBIKE");
  2074. return SendClientMessage(playerid,blue,"Enjoy your new bike");
  2075. } else return SendClientMessage(playerid,red,"Error: You already have a vehicle");
  2076. } else return SendClientMessage(playerid,red,"ERROR: You need to be level 2 to use this command");
  2077. }
  2078.  
  2079. dcmd_lheli(playerid,params[]) {
  2080. #pragma unused params
  2081. if(PlayerInfo[playerid][Level] >= 6) {
  2082. if (!IsPlayerInAnyVehicle(playerid)) {
  2083. CarSpawner(playerid,487);
  2084. CMDMessageToAdmins(playerid,"LHELI");
  2085. return SendClientMessage(playerid,blue,"Enjoy your new helicopter");
  2086. } else return SendClientMessage(playerid,red,"Error: You already have a vehicle");
  2087. } else return SendClientMessage(playerid,red,"ERROR: You need to be level 2 to use this command");
  2088. }
  2089.  
  2090. dcmd_lboat(playerid,params[]) {
  2091. #pragma unused params
  2092. if(PlayerInfo[playerid][Level] >= 6) {
  2093. if (!IsPlayerInAnyVehicle(playerid)) {
  2094. CarSpawner(playerid,493);
  2095. CMDMessageToAdmins(playerid,"LBOAT");
  2096. return SendClientMessage(playerid,blue,"Enjoy your new boat");
  2097. } else return SendClientMessage(playerid,red,"Error: You already have a vehicle");
  2098. } else return SendClientMessage(playerid,red,"ERROR: You need to be level 2 to use this command");
  2099. }
  2100.  
  2101. dcmd_lplane(playerid,params[]) {
  2102. #pragma unused params
  2103. if(PlayerInfo[playerid][Level] >= 6) {
  2104. if (!IsPlayerInAnyVehicle(playerid)) {
  2105. CarSpawner(playerid,513);
  2106. CMDMessageToAdmins(playerid,"LPLANE");
  2107. return SendClientMessage(playerid,blue,"Enjoy your new plane");
  2108. } else return SendClientMessage(playerid,red,"Error: You already have a vehicle");
  2109. } else return SendClientMessage(playerid,red,"ERROR: You need to be level 2 to use this command");
  2110. }
  2111.  
  2112. dcmd_lnos(playerid,params[]) {
  2113. #pragma unused params
  2114. if(PlayerInfo[playerid][Level] >= 1) {
  2115. if(IsPlayerInAnyVehicle(playerid)) {
  2116. switch(GetVehicleModel( GetPlayerVehicleID(playerid) )) {
  2117. case 448,461,462,463,468,471,509,510,521,522,523,581,586,449:
  2118. return SendClientMessage(playerid,red,"ERROR: You can not tune this vehicle!");
  2119. }
  2120. AddVehicleComponent(GetPlayerVehicleID(playerid), 1010);
  2121. return PlayerPlaySound(playerid,1133,0.0,0.0,0.0);
  2122. } else return SendClientMessage(playerid,red,"ERROR: You must be in a vehicle.");
  2123. } else return SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");
  2124. }
  2125.  
  2126. dcmd_linkcar(playerid,params[]) {
  2127. #pragma unused params
  2128. if(IsPlayerInAnyVehicle(playerid)) {
  2129. LinkVehicleToInterior(GetPlayerVehicleID(playerid),GetPlayerInterior(playerid));
  2130. SetVehicleVirtualWorld(GetPlayerVehicleID(playerid),GetPlayerVirtualWorld(playerid));
  2131. return SendClientMessage(playerid,lightblue, "Your vehicle is now in your virtual world and interior");
  2132. } else return SendClientMessage(playerid,red,"ERROR: You must be in a vehicle.");
  2133. }
  2134.  
  2135. dcmd_car(playerid,params[]) {
  2136. if(PlayerInfo[playerid][Level] >= 3) {
  2137. new tmp[256], tmp2[256], tmp3[256], Index; tmp = strtok(params,Index), tmp2 = strtok(params,Index); tmp3 = strtok(params,Index);
  2138. if(!strlen(tmp)) return SendClientMessage(playerid, red, "USAGE: /car [Modelid/Name] [colour1] [colour2]");
  2139. new car, colour1, colour2, string[128];
  2140. if(!IsNumeric(tmp)) car = GetVehicleModelIDFromName(tmp); else car = strval(tmp);
  2141. if(car < 400 || car > 611) return SendClientMessage(playerid, red, "ERROR: Invalid Vehicle Model");
  2142. if(!strlen(tmp2)) colour1 = random(126); else colour1 = strval(tmp2);
  2143. if(!strlen(tmp3)) colour2 = random(126); else colour2 = strval(tmp3);
  2144. if(PlayerInfo[playerid][pCar] != -1 && !IsPlayerAdmin(playerid) ) CarDeleter(PlayerInfo[playerid][pCar]);
  2145. new LVehicleID,Float:X,Float:Y,Float:Z, Float:Angle,int1; GetPlayerPos(playerid, X,Y,Z); GetPlayerFacingAngle(playerid,Angle); int1 = GetPlayerInterior(playerid);
  2146. LVehicleID = CreateVehicle(car, X+3,Y,Z, Angle, colour1, colour2, -1); LinkVehicleToInterior(LVehicleID,int1);
  2147. PlayerInfo[playerid][pCar] = LVehicleID;
  2148. CMDMessageToAdmins(playerid,"CAR");
  2149. format(string, sizeof(string), "%s spawned a \"%s\" (Model:%d) colour (%d, %d), at %0.2f, %0.2f, %0.2f", pName(playerid), VehicleNames[car-400], car, colour1, colour2, X, Y, Z);
  2150. SaveToFile("CarSpawns",string);
  2151. format(string, sizeof(string), "You have spawned a \"%s\" (Model:%d) colour (%d, %d)", VehicleNames[car-400], car, colour1, colour2);
  2152. return SendClientMessage(playerid,lightblue, string);
  2153. } else return SendClientMessage(playerid,red,"ERROR: You need to be level 3 to use this command");
  2154. }
  2155.  
  2156. dcmd_carhealth(playerid,params[]) {
  2157. if(PlayerInfo[playerid][Level] >= 3) {
  2158. new tmp[256], tmp2[256], Index; tmp = strtok(params,Index), tmp2 = strtok(params,Index);
  2159. if(!strlen(tmp) || !strlen(tmp2) || !IsNumeric(tmp2)) return SendClientMessage(playerid, red, "USAGE: /carhealth [playerid] [amount]");
  2160. new player1 = strval(tmp), health = strval(tmp2), string[128];
  2161. if(PlayerInfo[player1][Level] == ServerInfo[MaxAdminLevel] && PlayerInfo[playerid][Level] != ServerInfo[MaxAdminLevel]) return SendClientMessage(playerid,red,"ERROR: You cannot use this command on this admin");
  2162. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID) {
  2163. if(IsPlayerInAnyVehicle(player1)) {
  2164. CMDMessageToAdmins(playerid,"CARHEALTH");
  2165. format(string, sizeof(string), "You have set \"%s's\" vehicle health to '%d", pName(player1), health); SendClientMessage(playerid,blue,string);
  2166. if(player1 != playerid) { format(string,sizeof(string),"Administrator \"%s\" has set your vehicle's health to '%d'", pName(playerid), health); SendClientMessage(player1,blue,string); }
  2167. return SetVehicleHealth(GetPlayerVehicleID(player1), health);
  2168. } else return SendClientMessage(playerid,red,"ERROR: Player is not in a vehicle");
  2169. } else return SendClientMessage(playerid,red,"ERROR: Player is not connected");
  2170. } else return SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");
  2171. }
  2172.  
  2173. dcmd_carcolour(playerid,params[]) {
  2174. if(PlayerInfo[playerid][Level] >= 3) {
  2175. new tmp[256], tmp2[256], tmp3[256], Index; tmp = strtok(params,Index), tmp2 = strtok(params,Index); tmp3 = strtok(params,Index);
  2176. if(!strlen(tmp) || !strlen(tmp2) || !strlen(tmp3) || !IsNumeric(tmp2)) return SendClientMessage(playerid, red, "USAGE: /carcolour [playerid] [colour1] [colour2]");
  2177. new player1 = strval(tmp), colour1, colour2, string[128];
  2178. if(!strlen(tmp2)) colour1 = random(126); else colour1 = strval(tmp2);
  2179. if(!strlen(tmp3)) colour2 = random(126); else colour2 = strval(tmp3);
  2180. if(PlayerInfo[player1][Level] == ServerInfo[MaxAdminLevel] && PlayerInfo[playerid][Level] != ServerInfo[MaxAdminLevel]) return SendClientMessage(playerid,red,"ERROR: You cannot use this command on this admin");
  2181. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID) {
  2182. if(IsPlayerInAnyVehicle(player1)) {
  2183. CMDMessageToAdmins(playerid,"CARCOLOUR");
  2184. format(string, sizeof(string), "You have changed the colour of \"%s's\" %s to '%d,%d'", pName(player1), VehicleNames[GetVehicleModel(GetPlayerVehicleID(player1))-400], colour1, colour2 ); SendClientMessage(playerid,blue,string);
  2185. if(player1 != playerid) { format(string,sizeof(string),"Administrator \"%s\" has changed the colour of your %s to '%d,%d''", pName(playerid), VehicleNames[GetVehicleModel(GetPlayerVehicleID(player1))-400], colour1, colour2 ); SendClientMessage(player1,blue,string); }
  2186. return ChangeVehicleColor(GetPlayerVehicleID(player1), colour1, colour2);
  2187. } else return SendClientMessage(playerid,red,"ERROR: Player is not in a vehicle");
  2188. } else return SendClientMessage(playerid,red,"ERROR: Player is not connected");
  2189. } else return SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");
  2190. }
  2191.  
  2192. dcmd_god(playerid,params[]) {
  2193. #pragma unused params
  2194. if(PlayerInfo[playerid][Level] >= 5 || IsPlayerAdmin(playerid)) {
  2195. if(PlayerInfo[playerid][God] == 0) {
  2196. PlayerInfo[playerid][God] = 1;
  2197. SetPlayerHealth(playerid,100000);
  2198. GivePlayerWeapon(playerid,16,50000); GivePlayerWeapon(playerid,26,50000);
  2199. SendClientMessage(playerid,green,"GODMODE ON");
  2200. return CMDMessageToAdmins(playerid,"GOD");
  2201. } else {
  2202. PlayerInfo[playerid][God] = 0;
  2203. SendClientMessage(playerid,red,"GODMODE OFF");
  2204. SetPlayerHealth(playerid, 100);
  2205. } return GivePlayerWeapon(playerid,35,0);
  2206. } else return SendClientMessage(playerid,red,"ERROR: You need to be level 5 to use this command");
  2207. }
  2208.  
  2209. dcmd_sgod(playerid,params[]) {
  2210. #pragma unused params
  2211. if(PlayerInfo[playerid][Level] >= 5 || IsPlayerAdmin(playerid)) {
  2212. if(PlayerInfo[playerid][God] == 0) {
  2213. PlayerInfo[playerid][God] = 1;
  2214. SetPlayerHealth(playerid,100000);
  2215. GivePlayerWeapon(playerid,16,50000); GivePlayerWeapon(playerid,26,50000);
  2216. return SendClientMessage(playerid,green,"GODMODE ON");
  2217. } else {
  2218. PlayerInfo[playerid][God] = 0;
  2219. SendClientMessage(playerid,red,"GODMODE OFF");
  2220. SetPlayerHealth(playerid, 100); return GivePlayerWeapon(playerid,35,0); }
  2221. } else return SendClientMessage(playerid,red,"ERROR: You need to be level 5 to use this command");
  2222. }
  2223.  
  2224. dcmd_godcar(playerid,params[]) {
  2225. #pragma unused params
  2226. if(PlayerInfo[playerid][Level] >= 5 || IsPlayerAdmin(playerid)) {
  2227. if(IsPlayerInAnyVehicle(playerid)) {
  2228. if(PlayerInfo[playerid][GodCar] == 0) {
  2229. PlayerInfo[playerid][GodCar] = 1;
  2230. CMDMessageToAdmins(playerid,"GODCAR");
  2231. return SendClientMessage(playerid,green,"GODCARMODE ON");
  2232. } else {
  2233. PlayerInfo[playerid][GodCar] = 0;
  2234. return SendClientMessage(playerid,red,"GODCARMODE OFF"); }
  2235. } else return SendClientMessage(playerid,red,"ERROR: You need to be in a car to use this command");
  2236. } else return SendClientMessage(playerid,red,"ERROR: You need to be level 5 to use this command");
  2237. }
  2238.  
  2239. dcmd_die(playerid,params[]) {
  2240. #pragma unused params
  2241. if(PlayerInfo[playerid][Level] >= 4 || IsPlayerAdmin(playerid)) {
  2242. new Float:x, Float:y, Float:z ;
  2243. GetPlayerPos( playerid, Float:x, Float:y, Float:z );
  2244. CreateExplosion(Float:x+10, Float:y, Float:z, 8,10.0);
  2245. CreateExplosion(Float:x-10, Float:y, Float:z, 8,10.0);
  2246. CreateExplosion(Float:x, Float:y+10, Float:z, 8,10.0);
  2247. CreateExplosion(Float:x, Float:y-10, Float:z, 8,10.0);
  2248. CreateExplosion(Float:x+10, Float:y+10, Float:z, 8,10.0);
  2249. CreateExplosion(Float:x-10, Float:y+10, Float:z, 8,10.0);
  2250. return CreateExplosion(Float:x-10, Float:y-10, Float:z, 8,10.0);
  2251. } else return SendClientMessage(playerid,red,"ERROR: You need to be level 4 to use this command");
  2252. }
  2253.  
  2254. dcmd_getid(playerid,params[]) {
  2255. if(!strlen(params)) return SendClientMessage(playerid,blue,"Correct Usage: /getid [part of nick]");
  2256. new found, string[128], playername[MAX_PLAYER_NAME];
  2257. format(string,sizeof(string),"Searched for: \"%s\" ",params);
  2258. SendClientMessage(playerid,blue,string);
  2259. for(new i=0; i <= MAX_PLAYERS; i++)
  2260. {
  2261. if(IsPlayerConnected(i))
  2262. {
  2263. GetPlayerName(i, playername, MAX_PLAYER_NAME);
  2264. new namelen = strlen(playername);
  2265. new bool:searched=false;
  2266. for(new pos=0; pos <= namelen; pos++)
  2267. {
  2268. if(searched != true)
  2269. {
  2270. if(strfind(playername,params,true) == pos)
  2271. {
  2272. found++;
  2273. format(string,sizeof(string),"%d. %s (ID %d)",found,playername,i);
  2274. SendClientMessage(playerid, green ,string);
  2275. searched = true;
  2276. }
  2277. }
  2278. }
  2279. }
  2280. }
  2281. if(found == 0) SendClientMessage(playerid, lightblue, "No players have this in their nick");
  2282. return 1;
  2283. }
  2284.  
  2285. dcmd_asay(playerid,params[]) {
  2286. #pragma unused params
  2287. if(PlayerInfo[playerid][Level] >= 1) {
  2288. if(!strlen(params)) return SendClientMessage(playerid, red, "USAGE: /asay [text]");
  2289. new string[128]; format(string, sizeof(string), "**Admin %s: %s", PlayerName2(playerid), params[0] );
  2290. return SendClientMessageToAll(COLOR_PINK,string);
  2291. } else return SendClientMessage(playerid,red,"ERROR: You need to be level 2 to use this command");
  2292. }
  2293.  
  2294. dcmd_setping(playerid,params[]) {
  2295. if(PlayerInfo[playerid][Level] >= 3 || IsPlayerAdmin(playerid)) {
  2296. if(!strlen(params)) return SendClientMessage(playerid, red, "USAGE: /setping [ping] Set to 0 to disable");
  2297. new string[128], ping = strval(params);
  2298. ServerInfo[MaxPing] = ping;
  2299. CMDMessageToAdmins(playerid,"SETPING");
  2300. new file[256]; format(file,sizeof(file),"ladmin/config/Config.ini");
  2301. dini_IntSet(file,"MaxPing",ping);
  2302. for(new i = 0; i <= MAX_PLAYERS; i++) if(IsPlayerConnected(i)) PlayerPlaySound(i,1057,0.0,0.0,0.0);
  2303. if(ping == 0) format(string,sizeof(string),"Administrator %s has disabled maximum ping", PlayerName2(playerid), ping);
  2304. else format(string,sizeof(string),"Administrator %s has set the maximum ping to %d", PlayerName2(playerid), ping);
  2305. return SendClientMessageToAll(blue,string);
  2306. } else return SendClientMessage(playerid,red,"ERROR: You need to be level 3 to use this command");
  2307. }
  2308.  
  2309. dcmd_ping(playerid,params[]) {
  2310. if(PlayerInfo[playerid][Level] >= 1) {
  2311. if(!strlen(params)) return SendClientMessage(playerid, red, "USAGE: /ping [playerid]");
  2312. new player1 = strval(params), string[128];
  2313. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID) {
  2314. new Sum, Average, x;
  2315. while (x < PING_MAX_EXCEEDS) {
  2316. Sum += PlayerInfo[player1][pPing][x];
  2317. x++;
  2318. }
  2319. Average = (Sum / PING_MAX_EXCEEDS);
  2320. format(string, sizeof(string), "\"%s\" (id %d) Average Ping: %d (Last ping readings: %d, %d, %d, %d)", PlayerName2(player1), player1, Average, PlayerInfo[player1][pPing][0], PlayerInfo[player1][pPing][1], PlayerInfo[player1][pPing][2], PlayerInfo[player1][pPing][3] );
  2321. return SendClientMessage(playerid,blue,string);
  2322. } else return SendClientMessage(playerid, red, "Player is not connected");
  2323. } else return SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");
  2324. }
  2325.  
  2326. dcmd_highlight(playerid,params[]) {
  2327. if(PlayerInfo[playerid][Level] >= 2 || IsPlayerAdmin(playerid)) {
  2328. if(!strlen(params)) return SendClientMessage(playerid,red,"USAGE: /highlight [playerid]");
  2329. new player1, playername[MAX_PLAYER_NAME], string[128];
  2330. player1 = strval(params);
  2331.  
  2332. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID) {
  2333. GetPlayerName(player1, playername, sizeof(playername));
  2334. if(PlayerInfo[player1][blip] == 0) {
  2335. CMDMessageToAdmins(playerid,"HIGHLIGHT");
  2336. PlayerInfo[player1][pColour] = GetPlayerColor(player1);
  2337. PlayerInfo[player1][blip] = 1;
  2338. BlipTimer[player1] = SetTimerEx("HighLight", 1000, 1, "i", player1);
  2339. format(string,sizeof(string),"You have highlighted %s's marker", playername);
  2340. } else {
  2341. KillTimer( BlipTimer[player1] );
  2342. PlayerInfo[player1][blip] = 0;
  2343. SetPlayerColor(player1, PlayerInfo[player1][pColour] );
  2344. format(string,sizeof(string),"You have stopped highlighting %s's marker", playername);
  2345. }
  2346. return SendClientMessage(playerid,blue,string);
  2347. } else return SendClientMessage(playerid, red, "Player is not connected");
  2348. } else return SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");
  2349. }
  2350.  
  2351. dcmd_setgravity(playerid,params[]) {
  2352. if(PlayerInfo[playerid][Level] >= 3) {
  2353. if(!strlen(params)||!(strval(params)<=50&&strval(params)>=-50)) return SendClientMessage(playerid,red,"USAGE: /setgravity <-50.0 - 50.0>");
  2354. CMDMessageToAdmins(playerid,"SETGRAVITY");
  2355. new string[128],adminname[MAX_PLAYER_NAME]; GetPlayerName(playerid, adminname, sizeof(adminname)); new Float:Gravity = floatstr(params);format(string,sizeof(string),"Admnistrator %s has set the gravity to %f",adminname,Gravity);
  2356. SetGravity(Gravity); return SendClientMessageToAll(blue,string);
  2357. } else return SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");
  2358. }
  2359.  
  2360. dcmd_lcredits(playerid,params[]) {
  2361. #pragma unused params
  2362. return SendClientMessage(playerid,green,"LAdmin. Adminscript for sa-mp 0.2.x. Created by LethaL. Version: 4. Released: 07/2008");
  2363. }
  2364.  
  2365. dcmd_serverinfo(playerid,params[]) {
  2366. #pragma unused params
  2367. new TotalVehicles = CreateVehicle(411, 0, 0, 0, 0, 0, 0, 1000); DestroyVehicle(TotalVehicles);
  2368. new numo = CreateObject(1245,0,0,1000,0,0,0); DestroyObject(numo);
  2369. new nump = CreatePickup(371,2,0,0,1000); DestroyPickup(nump);
  2370. new gz = GangZoneCreate(3,3,5,5); GangZoneDestroy(gz);
  2371.  
  2372. new model[250], nummodel;
  2373. for(new i=1;i<TotalVehicles;i++) model[GetVehicleModel(i)-400]++;
  2374. for(new i=0;i<250;i++) if(model[i]!=0) nummodel++;
  2375.  
  2376. new string[256];
  2377. format(string,sizeof(string),"Server Info: [ Players Connected: %d || Maximum Players: %d ] [Ratio %0.2f ]",ConnectedPlayers(),GetMaxPlayers(),Float:ConnectedPlayers() / Float:GetMaxPlayers() );
  2378. SendClientMessage(playerid,green,string);
  2379. format(string,sizeof(string),"Server Info: [ Vehicles: %d || Models %d || Players In Vehicle: %d || InCar %d / OnBike %d ]",TotalVehicles-1,nummodel, InVehCount(),InCarCount(),OnBikeCount() );
  2380. SendClientMessage(playerid,green,string);
  2381. format(string,sizeof(string),"Server Info: [ Objects: %d || Pickups %d || Gangzones %d ]",numo-1, nump, gz);
  2382. SendClientMessage(playerid,green,string);
  2383. format(string,sizeof(string),"Server Info: [ Players In Jail %d || Players Frozen %d || Muted %d ]",JailedPlayers(),FrozenPlayers(), MutedPlayers() );
  2384. return SendClientMessage(playerid,green,string);
  2385. }
  2386.  
  2387. dcmd_announce(playerid,params[]) {
  2388. if(PlayerInfo[playerid][Level] >= 2 || IsPlayerAdmin(playerid)) {
  2389. if(!strlen(params)) return SendClientMessage(playerid,red,"USAGE: /announce <text>");
  2390. CMDMessageToAdmins(playerid,"ANNOUNCE");
  2391. return GameTextForAll(params,4000,3);
  2392. } else return SendClientMessage(playerid,red,"ERROR: You need to be level 2 to use this command");
  2393. }
  2394.  
  2395. dcmd_announce2(playerid,params[]) {
  2396. if(PlayerInfo[playerid][Level] >= 2 || IsPlayerAdmin(playerid)) {
  2397. new tmp[256], tmp2[256], tmp3[256], Index; tmp = strtok(params,Index), tmp2 = strtok(params,Index) ,tmp3 = strtok(params,Index);
  2398. if(!strlen(tmp)||!strlen(tmp2)||!strlen(tmp3)) return SendClientMessage(playerid,red,"USAGE: /announce <style> <time> <text>");
  2399. if(!(strval(tmp) >= 0 && strval(tmp) <= 6) || strval(tmp) == 2) return SendClientMessage(playerid,red,"ERROR: Invalid gametext style. Range: 0 - 6");
  2400. CMDMessageToAdmins(playerid,"ANNOUNCE2");
  2401. return GameTextForAll(params[(strlen(tmp)+strlen(tmp2)+2)], strval(tmp2), strval(tmp));
  2402. } else return SendClientMessage(playerid,red,"ERROR: You need to be level 2 to use this command");
  2403. }
  2404.  
  2405. dcmd_lslowmo(playerid,params[]) {
  2406. #pragma unused params
  2407. if(PlayerInfo[playerid][Level] >= 1) {
  2408. new Float:x, Float:y, Float:z; GetPlayerPos(playerid, x, y, z); CreatePickup(1241, 4, x, y, z);
  2409. return CMDMessageToAdmins(playerid,"LSLOWMO");
  2410. } else return SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");
  2411. }
  2412.  
  2413. dcmd_jetpack(playerid,params[]) {
  2414. if(!strlen(params)) {
  2415. if(PlayerInfo[playerid][Level] >= 2 || IsPlayerAdmin(playerid)) {
  2416. SendClientMessage(playerid,blue,"Jetpack Spawned.");
  2417. CMDMessageToAdmins(playerid,"JETPACK");
  2418. return SetPlayerSpecialAction(playerid, 2);
  2419. } else return SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");
  2420. } else {
  2421. new player1, playername[MAX_PLAYER_NAME], adminname[MAX_PLAYER_NAME], string[128];
  2422. player1 = strval(params);
  2423. if(PlayerInfo[playerid][Level] >= 4) {
  2424. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID && player1 != playerid) {
  2425. CMDMessageToAdmins(playerid,"JETPACK"); SetPlayerSpecialAction(player1, 2);
  2426. GetPlayerName(player1, playername, sizeof(playername)); GetPlayerName(playerid, adminname, sizeof(adminname));
  2427. format(string,sizeof(string),"Administrator \"%s\" has given you a jetpack",adminname); SendClientMessage(player1,blue,string);
  2428. format(string,sizeof(string),"You have given %s a jetpack", playername);
  2429. return SendClientMessage(playerid,blue,string);
  2430. } else return SendClientMessage(playerid, red, "Player is not connected or is yourself");
  2431. } else return SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");
  2432. }
  2433. }
  2434.  
  2435. dcmd_flip(playerid,params[]) {
  2436. if(PlayerInfo[playerid][Level] >= 2 || IsPlayerAdmin(playerid)) {
  2437. if(!strlen(params)) {
  2438. if(IsPlayerInAnyVehicle(playerid)) {
  2439. new VehicleID, Float:X, Float:Y, Float:Z, Float:Angle; GetPlayerPos(playerid, X, Y, Z); VehicleID = GetPlayerVehicleID(playerid);
  2440. GetVehicleZAngle(VehicleID, Angle); SetVehiclePos(VehicleID, X, Y, Z); SetVehicleZAngle(VehicleID, Angle); SetVehicleHealth(VehicleID,1000.0);
  2441. CMDMessageToAdmins(playerid,"FLIP"); return SendClientMessage(playerid, blue,"Vehicle Flipped. You can also do /flip [playerid]");
  2442. } else return SendClientMessage(playerid,red,"Error: You are not in a vehicle. You can also do /flip [playerid]");
  2443. }
  2444. new player1, playername[MAX_PLAYER_NAME], adminname[MAX_PLAYER_NAME], string[128];
  2445. player1 = strval(params);
  2446.  
  2447. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID && player1 != playerid) {
  2448. CMDMessageToAdmins(playerid,"FLIP");
  2449. if (IsPlayerInAnyVehicle(player1)) {
  2450. new VehicleID, Float:X, Float:Y, Float:Z, Float:Angle; GetPlayerPos(player1, X, Y, Z); VehicleID = GetPlayerVehicleID(player1);
  2451. GetVehicleZAngle(VehicleID, Angle); SetVehiclePos(VehicleID, X, Y, Z); SetVehicleZAngle(VehicleID, Angle); SetVehicleHealth(VehicleID,1000.0);
  2452. CMDMessageToAdmins(playerid,"FLIP");
  2453. GetPlayerName(player1, playername, sizeof(playername)); GetPlayerName(playerid, adminname, sizeof(adminname));
  2454. format(string,sizeof(string),"Administrator %s flipped your vehicle",adminname); SendClientMessage(player1,blue,string);
  2455. format(string,sizeof(string),"You have flipped %s's vehicle", playername);
  2456. return SendClientMessage(playerid, blue,string);
  2457. } else return SendClientMessage(playerid,red,"Error: This player isn't in a vehicle");
  2458. } else return SendClientMessage(playerid, red, "Player is not connected or is yourself");
  2459. } else return SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");
  2460. }
  2461.  
  2462. dcmd_destroycar(playerid,params[]) {
  2463. #pragma unused params
  2464. if(PlayerInfo[playerid][Level] >= 3) return EraseVehicle(GetPlayerVehicleID(playerid));
  2465. else return SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");
  2466. }
  2467. dcmd_ltc(playerid,params[]) {
  2468. #pragma unused params
  2469. if(PlayerInfo[playerid][Level] >= 1) {
  2470. if(!IsPlayerInAnyVehicle(playerid)) {
  2471. if(PlayerInfo[playerid][pCar] != -1) CarDeleter(PlayerInfo[playerid][pCar]);
  2472. new Float:X,Float:Y,Float:Z,Float:Angle,LVehicleIDt; GetPlayerPos(playerid,X,Y,Z); GetPlayerFacingAngle(playerid,Angle);
  2473. LVehicleIDt = CreateVehicle(560,X,Y,Z,Angle,1,-1,-1); PutPlayerInVehicle(playerid,LVehicleIDt,0); CMDMessageToAdmins(playerid,"LTunedCar"); AddVehicleComponent(LVehicleIDt, 1028); AddVehicleComponent(LVehicleIDt, 1030); AddVehicleComponent(LVehicleIDt, 1031); AddVehicleComponent(LVehicleIDt, 1138);
  2474. AddVehicleComponent(LVehicleIDt, 1140); AddVehicleComponent(LVehicleIDt, 1170);
  2475. AddVehicleComponent(LVehicleIDt, 1028); AddVehicleComponent(LVehicleIDt, 1030); AddVehicleComponent(LVehicleIDt, 1031); AddVehicleComponent(LVehicleIDt, 1138); AddVehicleComponent(LVehicleIDt, 1140); AddVehicleComponent(LVehicleIDt, 1170);
  2476. AddVehicleComponent(LVehicleIDt, 1080); AddVehicleComponent(LVehicleIDt, 1086); AddVehicleComponent(LVehicleIDt, 1087); AddVehicleComponent(LVehicleIDt, 1010); PlayerPlaySound(playerid,1133,0.0,0.0,0.0); ChangeVehiclePaintjob(LVehicleIDt,0);
  2477. SetVehicleVirtualWorld(LVehicleIDt, GetPlayerVirtualWorld(playerid)); LinkVehicleToInterior(LVehicleIDt, GetPlayerInterior(playerid));
  2478. return PlayerInfo[playerid][pCar] = LVehicleIDt;
  2479. } else return SendClientMessage(playerid,red,"Error: You already have a vehicle");
  2480. } else return SendClientMessage(playerid,red,"ERROR: You need to be level 1 to use this command");
  2481. }
  2482.  
  2483. dcmd_warp(playerid,params[])
  2484. {
  2485. return dcmd_teleplayer(playerid,params);
  2486. }
  2487.  
  2488. dcmd_teleplayer(playerid,params[]) {
  2489. if(PlayerInfo[playerid][Level] >= 3 || IsPlayerAdmin(playerid)) {
  2490. new tmp[256], tmp2[256], Index; tmp = strtok(params,Index), tmp2 = strtok(params,Index);
  2491. if(!strlen(tmp) || !strlen(tmp2) || !IsNumeric(tmp) || !IsNumeric(tmp2)) return SendClientMessage(playerid, red, "USAGE: /teleplayer [playerid] to [playerid]");
  2492. new player1 = strval(tmp), player2 = strval(tmp2), string[128], Float:plocx,Float:plocy,Float:plocz;
  2493. if(PlayerInfo[player1][Level] == ServerInfo[MaxAdminLevel] && PlayerInfo[playerid][Level] != ServerInfo[MaxAdminLevel]) return SendClientMessage(playerid,red,"ERROR: You cannot use this command on this admin");
  2494. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID) {
  2495. if(IsPlayerConnected(player2) && player2 != INVALID_PLAYER_ID) {
  2496. CMDMessageToAdmins(playerid,"TELEPLAYER");
  2497. GetPlayerPos(player2, plocx, plocy, plocz);
  2498. new intid = GetPlayerInterior(player2); SetPlayerInterior(player1,intid);
  2499. SetPlayerVirtualWorld(player1,GetPlayerVirtualWorld(player2));
  2500. if (GetPlayerState(player1) == PLAYER_STATE_DRIVER)
  2501. {
  2502. new VehicleID = GetPlayerVehicleID(player1);
  2503. SetVehiclePos(VehicleID, plocx, plocy+4, plocz); LinkVehicleToInterior(VehicleID,intid);
  2504. SetVehicleVirtualWorld(VehicleID, GetPlayerVirtualWorld(player2) );
  2505. }
  2506. else SetPlayerPos(player1,plocx,plocy+2, plocz);
  2507. format(string,sizeof(string),"Administrator \"%s\" has teleported \"%s\" to \"%s's\" location", pName(playerid), pName(player1), pName(player2) );
  2508. SendClientMessage(player1,blue,string); SendClientMessage(player2,blue,string);
  2509. format(string,sizeof(string),"You have teleported \"%s\" to \"%s's\" location", pName(player1), pName(player2) );
  2510. return SendClientMessage(playerid,blue,string);
  2511. } else return SendClientMessage(playerid, red, "Player2 is not connected");
  2512. } else return SendClientMessage(playerid, red, "Player1 is not connected");
  2513. } else return SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");
  2514. }
  2515.  
  2516. dcmd_goto(playerid,params[]) {
  2517. if(PlayerInfo[playerid][Level] >= 2 || IsPlayerAdmin(playerid)) {
  2518. if(!strlen(params)) return SendClientMessage(playerid,red,"USAGE: /goto [playerid]");
  2519. new player1, string[128];
  2520. if(!IsNumeric(params)) player1 = ReturnPlayerID(params);
  2521. else player1 = strval(params);
  2522. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID && player1 != playerid) {
  2523. CMDMessageToAdmins(playerid,"GOTO");
  2524. new Float:x, Float:y, Float:z; GetPlayerPos(player1,x,y,z); SetPlayerInterior(playerid,GetPlayerInterior(player1));
  2525. SetPlayerVirtualWorld(playerid,GetPlayerVirtualWorld(player1));
  2526. if(GetPlayerState(playerid) == 2) {
  2527. SetVehiclePos(GetPlayerVehicleID(playerid),x+3,y,z); LinkVehicleToInterior(GetPlayerVehicleID(playerid),GetPlayerInterior(player1));
  2528. SetVehicleVirtualWorld(GetPlayerVehicleID(playerid),GetPlayerVirtualWorld(player1));
  2529. } else SetPlayerPos(playerid,x+2,y,z);
  2530. format(string,sizeof(string),"You have teleported to \"%s\"", pName(player1));
  2531. return SendClientMessage(playerid,blue,string);
  2532. } else return SendClientMessage(playerid, red, "Player is not connected or is yourself");
  2533. } else return SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");
  2534. }
  2535.  
  2536. dcmd_vgoto(playerid,params[]) {
  2537. if(PlayerInfo[playerid][Level] >= 2 || IsPlayerAdmin(playerid)) {
  2538. if(!strlen(params)) return SendClientMessage(playerid,red,"USAGE: /vgoto [vehicleid]");
  2539. new player1, string[128];
  2540. player1 = strval(params);
  2541. CMDMessageToAdmins(playerid,"VGOTO");
  2542. new Float:x, Float:y, Float:z; GetVehiclePos(player1,x,y,z);
  2543. SetPlayerVirtualWorld(playerid,GetVehicleVirtualWorld(player1));
  2544. if(GetPlayerState(playerid) == 2) {
  2545. SetVehiclePos(GetPlayerVehicleID(playerid),x+3,y,z);
  2546. SetVehicleVirtualWorld(GetPlayerVehicleID(playerid), GetVehicleVirtualWorld(player1) );
  2547. } else SetPlayerPos(playerid,x+2,y,z);
  2548. format(string,sizeof(string),"You have teleported to vehicle id %d", player1);
  2549. return SendClientMessage(playerid,blue,string);
  2550. } else return SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");
  2551. }
  2552.  
  2553. dcmd_vget(playerid,params[]) {
  2554. if(PlayerInfo[playerid][Level] >= 3 || IsPlayerAdmin(playerid)) {
  2555. if(!strlen(params)) return SendClientMessage(playerid,red,"USAGE: /vget [vehicleid]");
  2556. new player1, string[128];
  2557. player1 = strval(params);
  2558. CMDMessageToAdmins(playerid,"VGET");
  2559. new Float:x, Float:y, Float:z; GetPlayerPos(playerid,x,y,z);
  2560. SetVehiclePos(player1,x+3,y,z);
  2561. SetVehicleVirtualWorld(player1,GetPlayerVirtualWorld(playerid));
  2562. format(string,sizeof(string),"You have brough vehicle id %d to your location", player1);
  2563. return SendClientMessage(playerid,blue,string);
  2564. } else return SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");
  2565. }
  2566.  
  2567. dcmd_lgoto(playerid,params[]) {
  2568. if(PlayerInfo[playerid][Level] >= 2 || IsPlayerAdmin(playerid)) {
  2569. new Float:x, Float:y, Float:z;
  2570. new tmp[256], tmp2[256], tmp3[256];
  2571. new string[128], Index; tmp = strtok(params,Index); tmp2 = strtok(params,Index); tmp3 = strtok(params,Index);
  2572. if(!strlen(tmp) || !strlen(tmp2) || !strlen(tmp3)) return SendClientMessage(playerid,red,"USAGE: /lgoto [x] [y] [z]");
  2573. x = strval(tmp); y = strval(tmp2); z = strval(tmp3);
  2574. CMDMessageToAdmins(playerid,"LGOTO");
  2575. if(GetPlayerState(playerid) == 2) SetVehiclePos(GetPlayerVehicleID(playerid),x,y,z);
  2576. else SetPlayerPos(playerid,x,y,z);
  2577. format(string,sizeof(string),"You have teleported to %f, %f, %f", x,y,z); return SendClientMessage(playerid,blue,string);
  2578. } else return SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");
  2579. }
  2580.  
  2581. dcmd_givecar(playerid,params[]) {
  2582. if(PlayerInfo[playerid][Level] >= 3 || IsPlayerAdmin(playerid)) {
  2583. if(!strlen(params)) return SendClientMessage(playerid,red,"USAGE: /givecar [playerid]");
  2584. new player1 = strval(params), playername[MAX_PLAYER_NAME], adminname[MAX_PLAYER_NAME], string[128];
  2585. if(PlayerInfo[player1][Level] == ServerInfo[MaxAdminLevel] && PlayerInfo[playerid][Level] != ServerInfo[MaxAdminLevel]) return SendClientMessage(playerid,red,"ERROR: You cannot use this command on this admin");
  2586. if(IsPlayerInAnyVehicle(player1)) return SendClientMessage(playerid,red,"ERROR: Player already has a vehicle");
  2587. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID && player1 != playerid) {
  2588. CMDMessageToAdmins(playerid,"GIVECAR");
  2589. new Float:x, Float:y, Float:z; GetPlayerPos(player1,x,y,z);
  2590. CarSpawner(player1,411);
  2591. GetPlayerName(player1, playername, sizeof(playername)); GetPlayerName(playerid, adminname, sizeof(adminname));
  2592. format(string,sizeof(string),"Administrator %s has given you a Infernus",adminname); SendClientMessage(player1,blue,string);
  2593. format(string,sizeof(string),"You have given %s a car", playername); return SendClientMessage(playerid,blue,string);
  2594. } else return SendClientMessage(playerid, red, "Player is not connected or is yourself");
  2595. } else return SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");
  2596. }
  2597.  
  2598. dcmd_gethere(playerid,params[]) {
  2599. if(PlayerInfo[playerid][Level] >= 3) {
  2600. if(!strlen(params)) return SendClientMessage(playerid, red, "USAGE: /gethere [playerid]");
  2601. new player1, playername[MAX_PLAYER_NAME], adminname[MAX_PLAYER_NAME], string[128];
  2602. player1 = strval(params);
  2603. if(PlayerInfo[player1][Level] == ServerInfo[MaxAdminLevel] && PlayerInfo[playerid][Level] != ServerInfo[MaxAdminLevel]) return SendClientMessage(playerid,red,"ERROR: You cannot use this command on this admin");
  2604. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID && player1 != playerid) {
  2605. CMDMessageToAdmins(playerid,"GETHERE");
  2606. new Float:x, Float:y, Float:z; GetPlayerPos(playerid,x,y,z); SetPlayerInterior(player1,GetPlayerInterior(playerid));
  2607. SetPlayerVirtualWorld(player1,GetPlayerVirtualWorld(playerid));
  2608. if(GetPlayerState(player1) == 2) {
  2609. new VehicleID = GetPlayerVehicleID(player1);
  2610. SetVehiclePos(VehicleID,x+3,y,z); LinkVehicleToInterior(VehicleID,GetPlayerInterior(playerid));
  2611. SetVehicleVirtualWorld(GetPlayerVehicleID(player1),GetPlayerVirtualWorld(playerid));
  2612. } else SetPlayerPos(player1,x+2,y,z);
  2613. GetPlayerName(player1, playername, sizeof(playername)); GetPlayerName(playerid, adminname, sizeof(adminname));
  2614. format(string,sizeof(string),"You have been teleported to Administrator %s's location",adminname); SendClientMessage(player1,blue,string);
  2615. format(string,sizeof(string),"You have teleported %s to your location", playername); return SendClientMessage(playerid,blue,string);
  2616. } else return SendClientMessage(playerid, red, "Player is not connected or is yourself");
  2617. } else return SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");
  2618. }
  2619.  
  2620. dcmd_get(playerid,params[]) {
  2621. if(PlayerInfo[playerid][Level] >= 3|| IsPlayerAdmin(playerid)) {
  2622. if(!strlen(params)) return SendClientMessage(playerid, red, "USAGE: /get [playerid]");
  2623. new player1, string[128];
  2624. if(!IsNumeric(params)) player1 = ReturnPlayerID(params);
  2625. else player1 = strval(params);
  2626. if(PlayerInfo[player1][Level] == ServerInfo[MaxAdminLevel] && PlayerInfo[playerid][Level] != ServerInfo[MaxAdminLevel]) return SendClientMessage(playerid,red,"ERROR: You cannot use this command on this admin");
  2627. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID && player1 != playerid) {
  2628. CMDMessageToAdmins(playerid,"GET");
  2629. new Float:x, Float:y, Float:z; GetPlayerPos(playerid,x,y,z); SetPlayerInterior(player1,GetPlayerInterior(playerid));
  2630. SetPlayerVirtualWorld(player1,GetPlayerVirtualWorld(playerid));
  2631. if(GetPlayerState(player1) == 2) {
  2632. new VehicleID = GetPlayerVehicleID(player1);
  2633. SetVehiclePos(VehicleID,x+3,y,z); LinkVehicleToInterior(VehicleID,GetPlayerInterior(playerid));
  2634. SetVehicleVirtualWorld(GetPlayerVehicleID(player1),GetPlayerVirtualWorld(playerid));
  2635. } else SetPlayerPos(player1,x+2,y,z);
  2636. format(string,sizeof(string),"You have been teleported to Administrator \"%s's\" location", pName(playerid) ); SendClientMessage(player1,blue,string);
  2637. format(string,sizeof(string),"You have teleported \"%s\" to your location", pName(player1) );
  2638. return SendClientMessage(playerid,blue,string);
  2639. } else return SendClientMessage(playerid, red, "Player is not connected or is yourself");
  2640. } else return SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");
  2641. }
  2642.  
  2643. dcmd_fu(playerid,params[]) {
  2644. if(PlayerInfo[playerid][Level] >= 2) {
  2645. if(!strlen(params)) return SendClientMessage(playerid, red, "USAGE: /fu [playerid]");
  2646. new player1 = strval(params), string[128], NewName[MAX_PLAYER_NAME];
  2647. if(PlayerInfo[player1][Level] == ServerInfo[MaxAdminLevel] && PlayerInfo[playerid][Level] != ServerInfo[MaxAdminLevel]) return SendClientMessage(playerid,red,"ERROR: You cannot use this command on this admin");
  2648. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID) {
  2649. CMDMessageToAdmins(playerid,"FU");
  2650. SetPlayerHealth(player1,1.0); SetPlayerArmour(player1,0.0); ResetPlayerWeapons(player1);ResetPlayerMoney(player1);GivePlayerWeapon(player1,12,1);
  2651. SetPlayerSkin(player1, 137); SetPlayerScore(player1, 0); SetPlayerColor(player1,COLOR_PINK); SetPlayerWeather(player1,19); SetPlayerWantedLevel(player1,6);
  2652. format(NewName,sizeof(NewName),"[N00B]%s", pName(player1) ); SetPlayerName(player1,NewName);
  2653. if(IsPlayerInAnyVehicle(player1)) EraseVehicle(GetPlayerVehicleID(player1));
  2654. if(player1 != playerid) { format(string,sizeof(string),"~w~%s: ~r~Fuck You", pName(playerid) ); GameTextForPlayer(player1, string, 2500, 3); }
  2655. format(string,sizeof(string),"Fuck you \"%s\"", pName(player1) ); return SendClientMessage(playerid,blue,string);
  2656. } else return SendClientMessage(playerid, red, "Player is not connected");
  2657. } else return SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");
  2658. }
  2659.  
  2660. dcmd_warn(playerid,params[]) {
  2661. if(PlayerInfo[playerid][Level] >= 2) {
  2662. new tmp[256], tmp2[256], Index; tmp = strtok(params,Index), tmp2 = strtok(params,Index);
  2663. if(!strlen(tmp) || !strlen(tmp2)) return SendClientMessage(playerid, red, "USAGE: /warn [playerid] [reason]");
  2664. new warned = strval(tmp), str[128];
  2665. if(PlayerInfo[warned][Level] == ServerInfo[MaxAdminLevel] && PlayerInfo[playerid][Level] != ServerInfo[MaxAdminLevel]) return SendClientMessage(playerid,red,"ERROR: You cannot use this command on this admin");
  2666. if(IsPlayerConnected(warned) && warned != INVALID_PLAYER_ID) {
  2667. if(warned != playerid) {
  2668. CMDMessageToAdmins(playerid,"WARN");
  2669. PlayerInfo[warned][Warnings]++;
  2670. if( PlayerInfo[warned][Warnings] == MAX_WARNINGS) {
  2671. format(str, sizeof (str), "***Administrator \"%s\" has kicked \"%s\". (Reason: %s) (Warning: %d/%d)***", pName(playerid), pName(warned), params[1+strlen(tmp)], PlayerInfo[warned][Warnings], MAX_WARNINGS);
  2672. SendClientMessageToAll(grey, str);
  2673. SaveToFile("KickLog",str); Kick(warned);
  2674. return PlayerInfo[warned][Warnings] = 0;
  2675. } else {
  2676. format(str, sizeof (str), "***Administrator \"%s\" has given \"%s\" a warning. (Reason: %s) (Warning: %d/%d)***", pName(playerid), pName(warned), params[1+strlen(tmp)], PlayerInfo[warned][Warnings], MAX_WARNINGS);
  2677. return SendClientMessageToAll(yellow, str);
  2678. }
  2679. } else return SendClientMessage(playerid, red, "ERROR: You cannot warn yourself");
  2680. } else return SendClientMessage(playerid, red, "ERROR: Player is not connected");
  2681. } else return SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");
  2682. }
  2683.  
  2684. dcmd_kick(playerid,params[]) {
  2685. if(PlayerInfo[playerid][LoggedIn] == 1) {
  2686. if(PlayerInfo[playerid][Level] >= 3) {
  2687. new tmp[256], tmp2[256], Index; tmp = strtok(params,Index), tmp2 = strtok(params,Index);
  2688. if(!strlen(params)) return SendClientMessage(playerid, red, "USAGE: /kick [playerid] [reason]");
  2689. new player1, playername[MAX_PLAYER_NAME], adminname[MAX_PLAYER_NAME], string[128];
  2690. player1 = strval(tmp);
  2691.  
  2692. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID && player1 != playerid && (PlayerInfo[player1][Level] != ServerInfo[MaxAdminLevel]) ) {
  2693. GetPlayerName(player1, playername, sizeof(playername)); GetPlayerName(playerid, adminname, sizeof(adminname));
  2694. CMDMessageToAdmins(playerid,"KICK");
  2695. if(!strlen(tmp2)) {
  2696. format(string,sizeof(string),"%s has been kicked by Administrator %s [no reason given] ",playername,adminname); SendClientMessageToAll(grey,string);
  2697. SaveToFile("KickLog",string); print(string); return Kick(player1);
  2698. } else {
  2699. format(string,sizeof(string),"%s has been kicked by Administrator %s [reason: %s] ",playername,adminname,params[2]); SendClientMessageToAll(grey,string);
  2700. SaveToFile("KickLog",string); print(string); return Kick(player1); }
  2701. } else return SendClientMessage(playerid, red, "Player is not connected or is yourself or is the highest level admin");
  2702. } else return SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");
  2703. } else return SendClientMessage(playerid,red,"ERROR: You must be logged in to use this commands");
  2704. }
  2705.  
  2706. public OnBanResponse(index, response_code, data[])
  2707. {
  2708. if(response_code == 200)
  2709. {
  2710. if(strcmp(data, "Success?Ban added", true)) printf("[SAMP-BANS]: Error, API responded with: %s", data);
  2711. else print("[SAMP-BANS]: Ban added successfully");
  2712. }
  2713. else printf("[SAMP-BANS]: Encountered an error, the page didn't respond");
  2714. }
  2715.  
  2716. public OnRemoveResponse(index, response_code, data[])
  2717. {
  2718. if(response_code == 200)
  2719. {
  2720. if(sscanf(data, "p?ss", error, code)) printf("[SAMP-BANS]: Error, API responded with: %s", data);
  2721. else if(strcmp(error, "Success", true) == 0) SendClientMessage(index, COLOR_RED, code);
  2722. }
  2723. else printf("[SAMP-BANS]: Encountered an error, the page didn't respond");
  2724. }
  2725.  
  2726. public OnCheckResponse(index, response_code, data[])
  2727. {
  2728. if(response_code == 200)
  2729. {
  2730. if(sscanf(data, "p?ss", error, code)) printf("[SAMP-BANS]: Error, API responded with: %s", data);
  2731. else if(strcmp(error, "Success", true) == 0)
  2732. {
  2733. SendClientMessage(index, 0xFFFFFF, code);
  2734. Kick(index);
  2735. printf("[SAMP-BANS]: %s", code);
  2736. }
  2737. else if(strcmp(code, "Ban not found")) printf("[SAMP-BANS]: Error, API responded with: %s", code);
  2738. }
  2739. else printf("[SAMP-BANS]: Encountered an error, the page didn't respond");
  2740. }
  2741.  
  2742.  
  2743. dcmd_ban(playerid,params[]) {
  2744. if(PlayerInfo[playerid][LoggedIn] == 1) {
  2745. if(PlayerInfo[playerid][Level] >= 3) {
  2746. new tmp[256], tmp2[256], Index; tmp = strtok(params,Index), tmp2 = strtok(params,Index);
  2747. if(!strlen(params)) return SendClientMessage(playerid, red, "USAGE: /ban [playerid] [reason]");
  2748. if(!strlen(tmp2)) return SendClientMessage(playerid, red, "ERROR: You must give a reason");
  2749. new player1, playername[MAX_PLAYER_NAME], adminname[MAX_PLAYER_NAME], string[128];
  2750. player1 = strval(tmp);
  2751.  
  2752. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID && player1 != playerid && (PlayerInfo[player1][Level] != ServerInfo[MaxAdminLevel]) ) {
  2753. GetPlayerName(player1, playername, sizeof(playername)); GetPlayerName(playerid, adminname, sizeof(adminname));
  2754. new year,month,day,hour,minuite,second; getdate(year, month, day); gettime(hour,minuite,second);
  2755. CMDMessageToAdmins(playerid,"BAN");
  2756. format(post_string, sizeof(post_string), "action=addban&apikey="#APIKEY"&ban_user=%s&ban_reason=%s&ban_admin=%s&ban_ip=%s&ban_time=0", playername, params[2], adminname, ips[player1]);
  2757. HTTP(playerid, HTTP_POST, APIPATH, post_string, "OnBanResponse");
  2758. format(string,sizeof(string),"%s has been banned by Administrator %s [Reason: %s] [Date: %d/%d/%d] [Time: %d:%d]",playername,adminname,params[2],day,month,year,hour,minuite);
  2759. SendClientMessageToAll(grey,string);
  2760. SaveToFile("BanLog",string);
  2761. print(string);
  2762. if(udb_Exists(PlayerName2(player1)) && PlayerInfo[player1][LoggedIn] == 1) dUserSetINT(PlayerName2(player1)).("banned",1);
  2763. format(string,sizeof(string),"banned by Administrator %s. Reason: %s", adminname, params[2] );
  2764. return BanEx(player1, string);
  2765. } else return SendClientMessage(playerid, red, "Player is not connected or is yourself or is the highest level admin");
  2766. } else return SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");
  2767. } else return SendClientMessage(playerid,red,"ERROR: You must be logged in to use this commands");
  2768. }
  2769.  
  2770. dcmd_rban(playerid,params[]) {
  2771. if(PlayerInfo[playerid][LoggedIn] == 1) {
  2772. if(PlayerInfo[playerid][Level] >= 4) {
  2773. new ip[128], tmp[256], tmp2[256], Index; tmp = strtok(params,Index), tmp2 = strtok(params,Index);
  2774. if(!strlen(params)) return SendClientMessage(playerid, red, "USAGE: /rban [playerid] [reason]");
  2775. if(!strlen(tmp2)) return SendClientMessage(playerid, red, "ERROR: You must give a reason");
  2776. new player1, playername[MAX_PLAYER_NAME], adminname[MAX_PLAYER_NAME], string[128];
  2777. player1 = strval(tmp);
  2778.  
  2779. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID && player1 != playerid && (PlayerInfo[player1][Level] != ServerInfo[MaxAdminLevel]) ) {
  2780. GetPlayerName(player1, playername, sizeof(playername)); GetPlayerName(playerid, adminname, sizeof(adminname));
  2781. new year,month,day,hour,minuite,second; getdate(year, month, day); gettime(hour,minuite,second);
  2782. CMDMessageToAdmins(playerid,"RBAN");
  2783. format(string,sizeof(string),"%s has been range banned by Administrator %s [Reason: %s] [Date: %d/%d/%d] [Time: %d:%d]",playername,adminname,params[2],day,month,year,hour,minuite);
  2784. SendClientMessageToAll(grey,string);
  2785. SaveToFile("BanLog",string);
  2786. print(string);
  2787. if(udb_Exists(PlayerName2(player1)) && PlayerInfo[player1][LoggedIn] == 1) dUserSetINT(PlayerName2(player1)).("banned",1);
  2788. GetPlayerIp(player1,ip,sizeof(ip));
  2789. strdel(ip,strlen(ip)-2,strlen(ip));
  2790. format(ip,128,"%s**",ip);
  2791. format(ip,128,"banip %s",ip);
  2792. format(post_string, sizeof(post_string), "action=addban&apikey="#APIKEY"&ban_user=%s&ban_reason=%s&ban_admin=%s&ban_ip=%s&ban_time=0", playername, params[2], adminname, ip);
  2793. HTTP(playerid, HTTP_POST, APIPATH, post_string, "OnBanResponse");
  2794. SendRconCommand(ip);
  2795. return 1;
  2796. } else return SendClientMessage(playerid, red, "Player is not connected or is yourself or is the highest level admin");
  2797. } else return SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");
  2798. } else return SendClientMessage(playerid,red,"ERROR: You must be logged in to use this commands");
  2799. }
  2800.  
  2801. dcmd_slap(playerid,params[]) {
  2802. if(PlayerInfo[playerid][LoggedIn] == 1) {
  2803. if(PlayerInfo[playerid][Level] >= 2) {
  2804. new tmp[256], tmp2[256], Index; tmp = strtok(params,Index), tmp2 = strtok(params,Index);
  2805. if(!strlen(params)) return SendClientMessage(playerid, red, "USAGE: /slap [playerid] [reason/with]");
  2806. new player1, playername[MAX_PLAYER_NAME], adminname[MAX_PLAYER_NAME], string[128];
  2807. player1 = strval(tmp);
  2808.  
  2809. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID && (PlayerInfo[player1][Level] != ServerInfo[MaxAdminLevel]) ) {
  2810. GetPlayerName(player1, playername, sizeof(playername)); GetPlayerName(playerid, adminname, sizeof(adminname));
  2811. CMDMessageToAdmins(playerid,"SLAP");
  2812. new Float:Health, Float:x, Float:y, Float:z; GetPlayerHealth(player1,Health); SetPlayerHealth(player1,Health-25);
  2813. GetPlayerPos(player1,x,y,z); SetPlayerPos(player1,x,y,z+5); PlayerPlaySound(playerid,1190,0.0,0.0,0.0); PlayerPlaySound(player1,1190,0.0,0.0,0.0);
  2814.  
  2815. if(strlen(tmp2)) {
  2816. format(string,sizeof(string),"You have been slapped by Administrator %s %s ",adminname,params[2]); SendClientMessage(player1,red,string);
  2817. format(string,sizeof(string),"You have slapped %s %s ",playername,params[2]); return SendClientMessage(playerid,blue,string);
  2818. } else {
  2819. format(string,sizeof(string),"You have been slapped by Administrator %s ",adminname); SendClientMessage(player1,red,string);
  2820. format(string,sizeof(string),"You have slapped %s",playername); return SendClientMessage(playerid,blue,string); }
  2821. } else return SendClientMessage(playerid, red, "Player is not connected or is the highest level admin");
  2822. } else return SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");
  2823. } else return SendClientMessage(playerid,red,"ERROR: You must be logged in to use this commands");
  2824. }
  2825.  
  2826. dcmd_explode(playerid,params[]) {
  2827. if(PlayerInfo[playerid][LoggedIn] == 1) {
  2828. if(PlayerInfo[playerid][Level] >= 3) {
  2829. new tmp[256], tmp2[256], Index; tmp = strtok(params,Index), tmp2 = strtok(params,Index);
  2830. if(!strlen(params)) return SendClientMessage(playerid, red, "USAGE: /explode [playerid] [reason]");
  2831. new player1, playername[MAX_PLAYER_NAME], adminname[MAX_PLAYER_NAME], string[128];
  2832. player1 = strval(tmp);
  2833.  
  2834. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID && (PlayerInfo[player1][Level] != ServerInfo[MaxAdminLevel]) ) {
  2835. GetPlayerName(player1, playername, sizeof(playername)); GetPlayerName(playerid, adminname, sizeof(adminname));
  2836. CMDMessageToAdmins(playerid,"EXPLODE");
  2837. new Float:burnx, Float:burny, Float:burnz; GetPlayerPos(player1,burnx, burny, burnz); CreateExplosion(burnx, burny , burnz, 7,10.0);
  2838.  
  2839. if(strlen(tmp2)) {
  2840. format(string,sizeof(string),"You have been exploded by Administrator %s [reason: %s]",adminname,params[2]); SendClientMessage(player1,blue,string);
  2841. format(string,sizeof(string),"You have exploded %s [reason: %s]", playername,params[2]); return SendClientMessage(playerid,blue,string);
  2842. } else {
  2843. format(string,sizeof(string),"You have been exploded by Administrator %s",adminname); SendClientMessage(player1,blue,string);
  2844. format(string,sizeof(string),"You have exploded %s", playername); return SendClientMessage(playerid,blue,string); }
  2845. } else return SendClientMessage(playerid, red, "Player is not connected or is the highest level admin");
  2846. } else return SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");
  2847. } else return SendClientMessage(playerid,red,"ERROR: You must be logged in to use this commands");
  2848. }
  2849.  
  2850. forward JailPlayerEx(playerid, jtime);
  2851. public JailPlayerEx(playerid, jtime)
  2852. {
  2853. if(PlayerInfo[playerid][Jailed] != 0) KillTimer(JailTimer[playerid]);
  2854. PlayerInfo[playerid][JailTime] = jtime*1000*60;
  2855. SetPlayerPos(playerid,197.6661,173.8179,1003.0234);
  2856. SetPlayerInterior(playerid,3);
  2857. SetCameraBehindPlayer(playerid);
  2858. JailTimer[playerid] = SetTimerEx("JailRelease",PlayerInfo[playerid][JailTime],0,"d",playerid);
  2859. PlayerInfo[playerid][Jailed] = 1;
  2860. return 1;
  2861. }
  2862.  
  2863. dcmd_jail(playerid,params[]) {
  2864. if(PlayerInfo[playerid][LoggedIn] == 1) {
  2865. if(PlayerInfo[playerid][Level] >= 3) {
  2866. new tmp[256], tmp2[256], tmp3[256], Index; tmp = strtok(params,Index), tmp2 = strtok(params,Index), tmp3 = strtok(params,Index);
  2867. if(!strlen(params)) return SendClientMessage(playerid, red, "USAGE: /jail [playerid] [minutes] [reason]");
  2868. new player1, playername[MAX_PLAYER_NAME], adminname[MAX_PLAYER_NAME], string[128];
  2869. player1 = strval(tmp);
  2870.  
  2871. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID && (PlayerInfo[player1][Level] != ServerInfo[MaxAdminLevel]) ) {
  2872. if(PlayerInfo[player1][Jailed] == 0) {
  2873. GetPlayerName(player1, playername, sizeof(playername)); GetPlayerName(playerid, adminname, sizeof(adminname));
  2874. new jtime = strval(tmp2);
  2875. if(jtime == 0) jtime = 9999;
  2876.  
  2877. CMDMessageToAdmins(playerid,"JAIL");
  2878. PlayerInfo[player1][JailTime] = jtime*1000*60;
  2879. SetTimerEx("JailPlayer",5000,0,"d",player1);
  2880. SetTimerEx("Jail1",1000,0,"d",player1);
  2881. PlayerInfo[player1][Jailed] = 1;
  2882.  
  2883. if(jtime == 9999) {
  2884. if(!strlen(params[strlen(tmp2)+1])) format(string,sizeof(string),"Administrator %s has jailed %s ",adminname, playername);
  2885. else format(string,sizeof(string),"Administrator %s has jailed %s [reason: %s]",adminname, playername, params[strlen(tmp)+1] );
  2886. } else {
  2887. if(!strlen(tmp3)) format(string,sizeof(string),"Administrator %s has jailed %s for %d minutes",adminname, playername, jtime);
  2888. else format(string,sizeof(string),"Administrator %s has jailed %s for %d minutes [reason: %s]",adminname, playername, jtime, params[strlen(tmp2)+strlen(tmp)+1] );
  2889. }
  2890. return SendClientMessageToAll(blue,string);
  2891. } else return SendClientMessage(playerid, red, "Player is already in jail");
  2892. } else return SendClientMessage(playerid, red, "Player is not connected or is the highest level admin");
  2893. } else return SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");
  2894. } else return SendClientMessage(playerid,red,"ERROR: You must be logged in to use this commands");
  2895. }
  2896.  
  2897. dcmd_unjail(playerid,params[]) {
  2898. if(PlayerInfo[playerid][LoggedIn] == 1) {
  2899. if(PlayerInfo[playerid][Level] >= 3) {
  2900. new tmp[256], Index; tmp = strtok(params,Index);
  2901. if(!strlen(params)) return SendClientMessage(playerid, red, "USAGE: /jail [playerid]");
  2902. new player1, playername[MAX_PLAYER_NAME], adminname[MAX_PLAYER_NAME], string[128];
  2903. player1 = strval(tmp);
  2904.  
  2905. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID && (PlayerInfo[player1][Level] != ServerInfo[MaxAdminLevel]) ) {
  2906. if(PlayerInfo[player1][Jailed] == 1) {
  2907. GetPlayerName(player1, playername, sizeof(playername)); GetPlayerName(playerid, adminname, sizeof(adminname));
  2908. format(string,sizeof(string),"Administrator %s has unjailed you",adminname); SendClientMessage(player1,blue,string);
  2909. format(string,sizeof(string),"Administrator %s has unjailed %s",adminname, playername);
  2910. JailRelease(player1);
  2911. return SendClientMessageToAll(blue,string);
  2912. } else return SendClientMessage(playerid, red, "Player is not in jail");
  2913. } else return SendClientMessage(playerid, red, "Player is not connected or is the highest level admin");
  2914. } else return SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");
  2915. } else return SendClientMessage(playerid,red,"ERROR: You must be logged in to use this commands");
  2916. }
  2917.  
  2918. dcmd_jailed(playerid,params[]) {
  2919. #pragma unused params
  2920. if(PlayerInfo[playerid][LoggedIn] == 1) {
  2921. if(PlayerInfo[playerid][Level] >= 2) {
  2922. new bool:First2 = false, Count, adminname[MAX_PLAYER_NAME], string[128], i;
  2923. for(i = 0; i < MAX_PLAYERS; i++) if(IsPlayerConnected(i) && PlayerInfo[i][Jailed]) Count++;
  2924. if(Count == 0) return SendClientMessage(playerid,red, "No players are jailed");
  2925.  
  2926. for(i = 0; i < MAX_PLAYERS; i++) if(IsPlayerConnected(i) && PlayerInfo[i][Jailed]) {
  2927. GetPlayerName(i, adminname, sizeof(adminname));
  2928. if(!First2) { format(string, sizeof(string), "Jailed Players: (%d)%s", i,adminname); First2 = true; }
  2929. else format(string,sizeof(string),"%s, (%d)%s ",string,i,adminname);
  2930. }
  2931. return SendClientMessage(playerid,COLOR_WHITE,string);
  2932. } else return SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");
  2933. } else return SendClientMessage(playerid,red,"ERROR: You must be logged in to use this commands");
  2934. }
  2935.  
  2936. dcmd_freeze(playerid,params[]) {
  2937. if(PlayerInfo[playerid][LoggedIn] == 1) {
  2938. if(PlayerInfo[playerid][Level] >= 3) {
  2939. new tmp[256], tmp2[256], tmp3[256], Index; tmp = strtok(params,Index), tmp2 = strtok(params,Index), tmp3 = strtok(params,Index);
  2940. if(!strlen(params)) return SendClientMessage(playerid, red, "USAGE: /freeze [playerid] [minutes] [reason]");
  2941. new player1, playername[MAX_PLAYER_NAME], adminname[MAX_PLAYER_NAME], string[128];
  2942. player1 = strval(tmp);
  2943.  
  2944. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID) {
  2945. if(PlayerInfo[player1][Frozen] == 0) {
  2946. GetPlayerName(player1, playername, sizeof(playername)); GetPlayerName(playerid, adminname, sizeof(adminname));
  2947. new ftime = strval(tmp2);
  2948. if(ftime == 0) ftime = 9999;
  2949.  
  2950. CMDMessageToAdmins(playerid,"FREEZE");
  2951. TogglePlayerControllable(player1,false); PlayerInfo[player1][Frozen] = 1; PlayerPlaySound(player1,1057,0.0,0.0,0.0);
  2952. PlayerInfo[player1][FreezeTime] = ftime*1000*60;
  2953. FreezeTimer[player1] = SetTimerEx("UnFreezeMe",PlayerInfo[player1][FreezeTime],0,"d",player1);
  2954.  
  2955. if(ftime == 9999) {
  2956. if(!strlen(params[strlen(tmp2)+1])) format(string,sizeof(string),"Administrator %s has frozen %s ",adminname, playername);
  2957. else format(string,sizeof(string),"Administrator %s has frozen %s [reason: %s]",adminname, playername, params[strlen(tmp)+1] );
  2958. } else {
  2959. if(!strlen(tmp3)) format(string,sizeof(string),"Administrator %s has frozen %s for %d minutes",adminname, playername, ftime);
  2960. else format(string,sizeof(string),"Administrator %s has frozen %s for %d minutes [reason: %s]",adminname, playername, ftime, params[strlen(tmp2)+strlen(tmp)+1] );
  2961. }
  2962. return SendClientMessageToAll(blue,string);
  2963. } else return SendClientMessage(playerid, red, "Player is already frozen");
  2964. } else return SendClientMessage(playerid, red, "Player is not connected or is the highest level admin");
  2965. } else return SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");
  2966. } else return SendClientMessage(playerid,red,"ERROR: You must be logged in to use this commands");
  2967. }
  2968.  
  2969. dcmd_unfreeze(playerid,params[]) {
  2970. if(PlayerInfo[playerid][LoggedIn] == 1) {
  2971. if(PlayerInfo[playerid][Level] >= 3|| IsPlayerAdmin(playerid)) {
  2972. if(!strlen(params)) return SendClientMessage(playerid, red, "USAGE: /unfreeze [playerid]");
  2973. new player1, string[128];
  2974. player1 = strval(params);
  2975.  
  2976. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID) {
  2977. if(PlayerInfo[player1][Frozen] == 1) {
  2978. CMDMessageToAdmins(playerid,"UNFREEZE");
  2979. UnFreezeMe(player1);
  2980. format(string,sizeof(string),"Administrator %s has unfrozen you", PlayerName2(playerid) ); SendClientMessage(player1,blue,string);
  2981. format(string,sizeof(string),"Administrator %s has unfrozen %s", PlayerName2(playerid), PlayerName2(player1));
  2982. return SendClientMessageToAll(blue,string);
  2983. } else return SendClientMessage(playerid, red, "Player is not frozen");
  2984. } else return SendClientMessage(playerid, red, "Player is not connected or is the highest level admin");
  2985. } else return SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");
  2986. } else return SendClientMessage(playerid,red,"ERROR: You must be logged in to use this commands");
  2987. }
  2988.  
  2989. dcmd_frozen(playerid,params[]) {
  2990. #pragma unused params
  2991. if(PlayerInfo[playerid][LoggedIn] == 1) {
  2992. if(PlayerInfo[playerid][Level] >= 2) {
  2993. new bool:First2 = false, Count, adminname[MAX_PLAYER_NAME], string[128], i;
  2994. for(i = 0; i < MAX_PLAYERS; i++) if(IsPlayerConnected(i) && PlayerInfo[i][Frozen]) Count++;
  2995. if(Count == 0) return SendClientMessage(playerid,red, "No players are frozen");
  2996.  
  2997. for(i = 0; i < MAX_PLAYERS; i++) if(IsPlayerConnected(i) && PlayerInfo[i][Frozen]) {
  2998. GetPlayerName(i, adminname, sizeof(adminname));
  2999. if(!First2) { format(string, sizeof(string), "Frozen Players: (%d)%s", i,adminname); First2 = true; }
  3000. else format(string,sizeof(string),"%s, (%d)%s ",string,i,adminname);
  3001. }
  3002. return SendClientMessage(playerid,COLOR_WHITE,string);
  3003. } else return SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");
  3004. } else return SendClientMessage(playerid,red,"ERROR: You must be logged in to use this commands");
  3005. }
  3006.  
  3007. dcmd_mute(playerid,params[]) {
  3008. if(PlayerInfo[playerid][LoggedIn] == 1) {
  3009. if(PlayerInfo[playerid][Level] >= 2) {
  3010. new tmp[256], tmp2[256], Index; tmp = strtok(params,Index), tmp2 = strtok(params,Index);
  3011. if(!strlen(params)) return SendClientMessage(playerid, red, "USAGE: /mute [playerid] [reason]");
  3012. new player1, playername[MAX_PLAYER_NAME], adminname[MAX_PLAYER_NAME], string[128];
  3013. player1 = strval(tmp);
  3014.  
  3015. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID && (PlayerInfo[player1][Level] != ServerInfo[MaxAdminLevel]) ) {
  3016. if(PlayerInfo[player1][Muted] == 0) {
  3017. GetPlayerName(player1, playername, sizeof(playername)); GetPlayerName(playerid, adminname, sizeof(adminname));
  3018. CMDMessageToAdmins(playerid,"MUTE");
  3019. PlayerPlaySound(player1,1057,0.0,0.0,0.0); PlayerInfo[player1][Muted] = 1; PlayerInfo[player1][MuteWarnings] = 0;
  3020.  
  3021. if(strlen(tmp2)) {
  3022. format(string,sizeof(string),"You have been muted by Administrator %s [reason: %s]",adminname,params[2]); SendClientMessage(player1,blue,string);
  3023. format(string,sizeof(string),"You have muted %s [reason: %s]", playername,params[2]); return SendClientMessage(playerid,blue,string);
  3024. } else {
  3025. format(string,sizeof(string),"You have been muted by Administrator %s",adminname); SendClientMessage(player1,blue,string);
  3026. format(string,sizeof(string),"You have muted %s", playername); return SendClientMessage(playerid,blue,string); }
  3027. } else return SendClientMessage(playerid, red, "Player is already muted");
  3028. } else return SendClientMessage(playerid, red, "Player is not connected or is the highest level admin");
  3029. } else return SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");
  3030. } else return SendClientMessage(playerid,red,"ERROR: You must be logged in to use this commands");
  3031. }
  3032.  
  3033. dcmd_unmute(playerid,params[]) {
  3034. if(PlayerInfo[playerid][LoggedIn] == 1) {
  3035. if(PlayerInfo[playerid][Level] >= 2) {
  3036. if(!strlen(params)) return SendClientMessage(playerid, red, "USAGE: /unmute [playerid]");
  3037. new player1, playername[MAX_PLAYER_NAME], adminname[MAX_PLAYER_NAME], string[128];
  3038. player1 = strval(params);
  3039.  
  3040. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID && (PlayerInfo[player1][Level] != ServerInfo[MaxAdminLevel]) ) {
  3041. if(PlayerInfo[player1][Muted] == 1) {
  3042. GetPlayerName(player1, playername, sizeof(playername)); GetPlayerName(playerid, adminname, sizeof(adminname));
  3043. CMDMessageToAdmins(playerid,"UNMUTE");
  3044. PlayerPlaySound(player1,1057,0.0,0.0,0.0); PlayerInfo[player1][Muted] = 0; PlayerInfo[player1][MuteWarnings] = 0;
  3045. format(string,sizeof(string),"You have been unmuted by Administrator %s",adminname); SendClientMessage(player1,blue,string);
  3046. format(string,sizeof(string),"You have unmuted %s", playername); return SendClientMessage(playerid,blue,string);
  3047. } else return SendClientMessage(playerid, red, "Player is not muted");
  3048. } else return SendClientMessage(playerid, red, "Player is not connected or is the highest level admin");
  3049. } else return SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");
  3050. } else return SendClientMessage(playerid,red,"ERROR: You must be logged in to use this commands");
  3051. }
  3052.  
  3053. dcmd_muted(playerid,params[]) {
  3054. #pragma unused params
  3055. if(PlayerInfo[playerid][LoggedIn] == 1) {
  3056. if(PlayerInfo[playerid][Level] >= 2) {
  3057. new bool:First2 = false, Count, adminname[MAX_PLAYER_NAME], string[128], i;
  3058. for(i = 0; i < MAX_PLAYERS; i++) if(IsPlayerConnected(i) && PlayerInfo[i][Muted]) Count++;
  3059. if(Count == 0) return SendClientMessage(playerid,red, "No players are muted");
  3060.  
  3061. for(i = 0; i < MAX_PLAYERS; i++) if(IsPlayerConnected(i) && PlayerInfo[i][Muted]) {
  3062. GetPlayerName(i, adminname, sizeof(adminname));
  3063. if(!First2) { format(string, sizeof(string), "Muted Players: (%d)%s", i,adminname); First2 = true; }
  3064. else format(string,sizeof(string),"%s, (%d)%s ",string,i,adminname);
  3065. }
  3066. return SendClientMessage(playerid,COLOR_WHITE,string);
  3067. } else return SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");
  3068. } else return SendClientMessage(playerid,red,"ERROR: You must be logged in to use this commands");
  3069. }
  3070.  
  3071. dcmd_akill(playerid,params[]) {
  3072. if(PlayerInfo[playerid][LoggedIn] == 1) {
  3073. if(PlayerInfo[playerid][Level] >= 3|| IsPlayerAdmin(playerid)) {
  3074. if(!strlen(params)) return SendClientMessage(playerid, red, "USAGE: /akill [playerid]");
  3075. new player1, playername[MAX_PLAYER_NAME], adminname[MAX_PLAYER_NAME], string[128];
  3076. player1 = strval(params);
  3077.  
  3078. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID) {
  3079. if( (PlayerInfo[player1][Level] == ServerInfo[MaxAdminLevel] && PlayerInfo[playerid][Level] != ServerInfo[MaxAdminLevel] ) )
  3080. return SendClientMessage(playerid, red, "You cannot akill the highest level admin");
  3081. CMDMessageToAdmins(playerid,"AKILL");
  3082. GetPlayerName(player1, playername, sizeof(playername)); GetPlayerName(playerid, adminname, sizeof(adminname));
  3083. format(string,sizeof(string),"Administrator %s has killed you",adminname); SendClientMessage(player1,blue,string);
  3084. format(string,sizeof(string),"You have killed %s",playername); SendClientMessage(playerid,blue,string);
  3085. return SetPlayerHealth(player1,0.0);
  3086. } else return SendClientMessage(playerid, red, "Player is not connected");
  3087. } else return SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");
  3088. } else return SendClientMessage(playerid,red,"ERROR: You must be logged in to use this commands");
  3089. }
  3090.  
  3091. dcmd_weaps(playerid,params[]) {
  3092. if(PlayerInfo[playerid][Level] >= 1 || IsPlayerAdmin(playerid)) {
  3093. if(!strlen(params)) return SendClientMessage(playerid, red, "USAGE: /weaps [playerid]");
  3094. new player1, string[128], string2[64], WeapName[24], slot, weap, ammo, Count, x;
  3095. player1 = strval(params);
  3096.  
  3097. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID) {
  3098. format(string2,sizeof(string2),"[>> %s Weapons (id:%d) <<]", PlayerName2(player1), player1); SendClientMessage(playerid,blue,string2);
  3099. for (slot = 0; slot < 14; slot++) { GetPlayerWeaponData(player1, slot, weap, ammo); if( ammo != 0 && weap != 0) Count++; }
  3100. if(Count < 1) return SendClientMessage(playerid,blue,"Player has no weapons");
  3101.  
  3102. if(Count >= 1)
  3103. {
  3104. for (slot = 0; slot < 14; slot++)
  3105. {
  3106. GetPlayerWeaponData(player1, slot, weap, ammo);
  3107. if( ammo != 0 && weap != 0)
  3108. {
  3109. GetWeaponName(weap, WeapName, sizeof(WeapName) );
  3110. if(ammo == 65535 || ammo == 1) format(string,sizeof(string),"%s%s (1)",string, WeapName );
  3111. else format(string,sizeof(string),"%s%s (%d)",string, WeapName, ammo );
  3112. x++;
  3113. if(x >= 5)
  3114. {
  3115. SendClientMessage(playerid, blue, string);
  3116. x = 0;
  3117. format(string, sizeof(string), "");
  3118. }
  3119. else format(string, sizeof(string), "%s, ", string);
  3120. }
  3121. }
  3122. if(x <= 4 && x > 0) {
  3123. string[strlen(string)-3] = '.';
  3124. SendClientMessage(playerid, blue, string);
  3125. }
  3126. }
  3127. return 1;
  3128. } else return SendClientMessage(playerid, red, "Player is not connected");
  3129. } else return SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");
  3130. }
  3131.  
  3132. dcmd_aka(playerid,params[]) {
  3133. if(PlayerInfo[playerid][Level] >= 3 || IsPlayerAdmin(playerid)) {
  3134. if(!strlen(params)) return SendClientMessage(playerid, red, "USAGE: /aka [playerid]");
  3135. new player1, playername[MAX_PLAYER_NAME], str[128], tmp3[50];
  3136. player1 = strval(params);
  3137. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID) {
  3138. GetPlayerIp(player1,tmp3,50);
  3139. GetPlayerName(player1, playername, sizeof(playername));
  3140. format(str,sizeof(str),"AKA: [%s id:%d] [%s] %s", playername, player1, tmp3, dini_Get("ladmin/config/aka.txt",tmp3) );
  3141. return SendClientMessage(playerid,blue,str);
  3142. } else return SendClientMessage(playerid, red, "Player is not connected or is yourself");
  3143. } else return SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");
  3144. }
  3145.  
  3146. dcmd_screen(playerid,params[]) {
  3147. if(PlayerInfo[playerid][Level] >= 2) {
  3148. new tmp[256], tmp2[256], Index; tmp = strtok(params,Index), tmp2 = strtok(params,Index);
  3149. if(!strlen(params)) return SendClientMessage(playerid, red, "USAGE: /screen [playerid] [text]");
  3150. new player1, playername[MAX_PLAYER_NAME], adminname[MAX_PLAYER_NAME], string[128];
  3151. player1 = strval(params);
  3152.  
  3153. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID && player1 != playerid && (PlayerInfo[player1][Level] != ServerInfo[MaxAdminLevel]) ) {
  3154. GetPlayerName(player1, playername, sizeof(playername)); GetPlayerName(playerid, adminname, sizeof(adminname));
  3155. CMDMessageToAdmins(playerid,"SCREEN");
  3156. format(string,sizeof(string),"Administrator %s has sent you a screen message",adminname); SendClientMessage(player1,blue,string);
  3157. format(string,sizeof(string),"You have sent %s a screen message (%s)", playername, params[2]); SendClientMessage(playerid,blue,string);
  3158. return GameTextForPlayer(player1, params[2],4000,3);
  3159. } else return SendClientMessage(playerid, red, "Player is not connected or is yourself or is the highest level admin");
  3160. } else return SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");
  3161. }
  3162.  
  3163. dcmd_laston(playerid,params[]) {
  3164. if(PlayerInfo[playerid][Level] >= 2) {
  3165. new tmp2[256], file[256],player1, playername[MAX_PLAYER_NAME], adminname[MAX_PLAYER_NAME], str[128];
  3166. GetPlayerName(playerid, adminname, sizeof(adminname));
  3167.  
  3168. if(!strlen(params)) {
  3169. format(file,sizeof(file),"/ladmin/users/%s.sav",udb_encode(adminname));
  3170. if(!fexist(file)) return SendClientMessage(playerid, red, "Error: File doesnt exist, player isnt registered");
  3171. if(dUserINT(PlayerName2(playerid)).("LastOn")==0) { format(str, sizeof(str),"Never"); tmp2 = str;
  3172. } else { tmp2 = dini_Get(file,"LastOn"); }
  3173. format(str, sizeof(str),"You were last on the server on %s",tmp2);
  3174. return SendClientMessage(playerid, red, str);
  3175. }
  3176. player1 = strval(params);
  3177. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID && player1 != playerid) {
  3178. CMDMessageToAdmins(playerid,"LASTON");
  3179. GetPlayerName(player1,playername,sizeof(playername)); format(file,sizeof(file),"/ladmin/users/%s.sav",udb_encode(playername));
  3180. if(!fexist(file)) return SendClientMessage(playerid, red, "Error: File doesnt exist, player isnt registered");
  3181. if(dUserINT(PlayerName2(player1)).("LastOn")==0) { format(str, sizeof(str),"Never"); tmp2 = str;
  3182. } else { tmp2 = dini_Get(file,"LastOn"); }
  3183. format(str, sizeof(str),"%s was last on the server on %s",playername,tmp2);
  3184. return SendClientMessage(playerid, red, str);
  3185. } else return SendClientMessage(playerid, red, "Player is not connected or is yourself");
  3186. } else return SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");
  3187. }
  3188.  
  3189. dcmd_admins(playerid,params[]) {
  3190. #pragma unused params
  3191. new Count[2], i, string[128];
  3192. for(i = 0; i < MAX_PLAYERS; i++) if(IsPlayerConnected(i))
  3193. {
  3194. if(PlayerInfo[i][Level] > 0) Count[0]++;
  3195. if(IsPlayerAdmin(i)) Count[1]++;
  3196. }
  3197.  
  3198. #if defined HIDE_ADMINS
  3199. if(PlayerInfo[playerid][Level] == 0) {
  3200. if(Count[0] >= 1) {
  3201. format(string, sizeof(string), "There are %d Administrators online. Use /report <id> <reason> if you suspect a player of cheating", Count[0]);
  3202. return SendClientMessage(playerid, blue, string);
  3203. } else return SendClientMessage(playerid, blue, "No Administrators online");
  3204. }
  3205. #endif
  3206.  
  3207. if( (Count[0] == 0 && Count[1] == 0) || (Count[0] == 0 && Count[1] >= 1 && PlayerInfo[playerid][Level] == 0) ) return SendClientMessage(playerid, blue, "No Administrators online");
  3208.  
  3209. if(Count[0] == 1) {
  3210. for(i = 0; i < MAX_PLAYERS; i++) if(IsPlayerConnected(i) && PlayerInfo[i][Level] > 0) {
  3211. format(string, sizeof(string), "Admin: (%d)%s [%d]", i, PlayerName2(i), PlayerInfo[i][Level] ); SendClientMessage(playerid, blue, string);
  3212. }
  3213. }
  3214.  
  3215. if(Count[0] > 1) {
  3216. new x; format(string, sizeof(string), "Admins: ");
  3217. for(i = 0; i < MAX_PLAYERS; i++) if(IsPlayerConnected(i) && PlayerInfo[i][Level] > 0)
  3218. {
  3219. format(string,sizeof(string),"%s(%d)%s [%d]",string,i,PlayerName2(i),PlayerInfo[i][Level]);
  3220. x++;
  3221. if(x >= 5) {
  3222. SendClientMessage(playerid, blue, string); format(string, sizeof(string), "Admins: "); x = 0;
  3223. }
  3224. else format(string, sizeof(string), "%s, ", string);
  3225. }
  3226. if(x <= 4 && x > 0) {
  3227. string[strlen(string)-3] = '.';
  3228. SendClientMessage(playerid, blue, string);
  3229. }
  3230. }
  3231.  
  3232. if( (Count[1] == 1) && (PlayerInfo[playerid][Level] > 0) ) {
  3233. for(i = 0; i < MAX_PLAYERS; i++) if(IsPlayerConnected(i) && IsPlayerAdmin(i)) {
  3234. format(string, sizeof(string), "RCON Admin: (%d)%s", i, PlayerName2(i)); SendClientMessage(playerid, COLOR_WHITE, string);
  3235. }
  3236. }
  3237. if(Count[1] > 1) {
  3238. new x; format(string, sizeof(string), "RCON Admins: ");
  3239. for(i = 0; i < MAX_PLAYERS; i++) if(IsPlayerConnected(i) && IsPlayerAdmin(i))
  3240. {
  3241. format(string,sizeof(string),"%s(%d)%s",string,i,PlayerName2(i));
  3242. x++;
  3243. if(x >= 5) {
  3244. SendClientMessage(playerid, COLOR_WHITE, string); format(string, sizeof(string), "RCON Admins: "); x = 0;
  3245. }
  3246. else format(string, sizeof(string), "%s, ", string);
  3247. }
  3248. if(x <= 4 && x > 0) {
  3249. string[strlen(string)-3] = '.';
  3250. SendClientMessage(playerid, COLOR_WHITE, string);
  3251. }
  3252. }
  3253. return 1;
  3254. }
  3255.  
  3256. dcmd_morning(playerid,params[]) {
  3257. #pragma unused params
  3258. if(PlayerInfo[playerid][Level] >= 1) {
  3259. CMDMessageToAdmins(playerid,"MORNING");
  3260. return SetPlayerTime(playerid,7,0);
  3261. } else return SendClientMessage(playerid,red,"ERROR: You need to be level 1 to use this command");
  3262. }
  3263.  
  3264. dcmd_adminarea(playerid,params[]) {
  3265. #pragma unused params
  3266. if(PlayerInfo[playerid][Level] >= 1) {
  3267. CMDMessageToAdmins(playerid,"ADMINAREA");
  3268. SetPlayerPos(playerid, AdminArea[0], AdminArea[1], AdminArea[2]);
  3269. SetPlayerFacingAngle(playerid, AdminArea[3]);
  3270. SetPlayerInterior(playerid, AdminArea[4]);
  3271. SetPlayerVirtualWorld(playerid, AdminArea[5]);
  3272. return GameTextForPlayer(playerid,"Welcome Admin",1000,3);
  3273. } else {
  3274. SetPlayerHealth(playerid,1.0);
  3275. new string[100]; format(string, sizeof(string),"%s has used adminarea (non admin)", PlayerName2(playerid) );
  3276. MessageToAdmins(red,string);
  3277. } return SendClientMessage(playerid,red, "ERROR: You must be an administrator to use this command.");
  3278. }
  3279.  
  3280. dcmd_setlevel(playerid,params[]) {
  3281. if(PlayerInfo[playerid][LoggedIn] == 1) {
  3282. if(PlayerInfo[playerid][Level] >= 5 || IsPlayerAdmin(playerid)) {
  3283. new tmp[256], tmp2[256], Index; tmp = strtok(params,Index), tmp2 = strtok(params,Index);
  3284. if(!strlen(params)) return SendClientMessage(playerid, red, "USAGE: /setlevel [playerid] [level]");
  3285. new player1, level, playername[MAX_PLAYER_NAME], adminname[MAX_PLAYER_NAME], string[128];
  3286. player1 = strval(tmp);
  3287. if(!strlen(tmp2)) return SendClientMessage(playerid, red, "USAGE: /setlevel [playerid] [level]");
  3288. level = strval(tmp2);
  3289.  
  3290. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID) {
  3291. if(PlayerInfo[player1][LoggedIn] == 1) {
  3292. if(level > ServerInfo[MaxAdminLevel] ) return SendClientMessage(playerid,red,"ERROR: Incorrect Level");
  3293. if(level == PlayerInfo[player1][Level]) return SendClientMessage(playerid,red,"ERROR: Player is already this level");
  3294. CMDMessageToAdmins(playerid,"SETLEVEL");
  3295. GetPlayerName(player1, playername, sizeof(playername)); GetPlayerName(playerid, adminname, sizeof(adminname));
  3296. new year,month,day; getdate(year, month, day); new hour,minute,second; gettime(hour,minute,second);
  3297.  
  3298. if(level > 0) format(string,sizeof(string),"Administrator %s has set you to Administrator Status [level %d]",adminname, level);
  3299. else format(string,sizeof(string),"Administrator %s has set you to Player Status [level %d]",adminname, level);
  3300. SendClientMessage(player1,blue,string);
  3301.  
  3302. if(level > PlayerInfo[player1][Level]) GameTextForPlayer(player1,"Promoted", 2000, 3);
  3303. else GameTextForPlayer(player1,"Demoted", 2000, 3);
  3304.  
  3305. format(string,sizeof(string),"You have made %s Level %d on %d/%d/%d at %d:%d:%d", playername, level, day, month, year, hour, minute, second); SendClientMessage(playerid,blue,string);
  3306. format(string,sizeof(string),"Administrator %s has made %s Level %d on %d/%d/%d at %d:%d:%d",adminname, playername, level, day, month, year, hour, minute, second);
  3307. SaveToFile("AdminLog",string);
  3308. dUserSetINT(PlayerName2(player1)).("level",(level));
  3309. PlayerInfo[player1][Level] = level;
  3310. return PlayerPlaySound(player1,1057,0.0,0.0,0.0);
  3311. } else return SendClientMessage(playerid,red,"ERROR: Player must be registered and logged in to be admin");
  3312. } else return SendClientMessage(playerid, red, "Player is not connected");
  3313. } else return SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");
  3314. } else return SendClientMessage(playerid,red,"ERROR: You must be logged in to use this commands");
  3315. }
  3316.  
  3317. dcmd_settemplevel(playerid,params[]) {
  3318. if(PlayerInfo[playerid][LoggedIn] == 1) {
  3319. if(PlayerInfo[playerid][Level] >= 4 || IsPlayerAdmin(playerid)) {
  3320. new tmp[256], tmp2[256], Index; tmp = strtok(params,Index), tmp2 = strtok(params,Index);
  3321. if(!strlen(tmp) || !strlen(tmp2)) return SendClientMessage(playerid, red, "USAGE: /settemplevel [playerid] [level]");
  3322. new player1, level, string[128];
  3323. player1 = strval(tmp);
  3324. level = strval(tmp2);
  3325.  
  3326. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID) {
  3327. if(PlayerInfo[player1][LoggedIn] == 1) {
  3328. if(level > ServerInfo[MaxAdminLevel] ) return SendClientMessage(playerid,red,"ERROR: Incorrect Level");
  3329. if(level == PlayerInfo[player1][Level]) return SendClientMessage(playerid,red,"ERROR: Player is already this level");
  3330. CMDMessageToAdmins(playerid,"SETTEMPLEVEL");
  3331. new year,month,day; getdate(year, month, day); new hour,minute,second; gettime(hour,minute,second);
  3332.  
  3333. if(level > 0) format(string,sizeof(string),"Administrator %s has temporarily set you to Administrator Status [level %d]", pName(playerid), level);
  3334. else format(string,sizeof(string),"Administrator %s has temporarily set you to Player Status [level %d]", pName(playerid), level);
  3335. SendClientMessage(player1,blue,string);
  3336.  
  3337. if(level > PlayerInfo[player1][Level]) GameTextForPlayer(player1,"Promoted", 2000, 3);
  3338. else GameTextForPlayer(player1,"Demoted", 2000, 3);
  3339.  
  3340. format(string,sizeof(string),"You have made %s Level %d on %d/%d/%d at %d:%d:%d", pName(player1), level, day, month, year, hour, minute, second); SendClientMessage(playerid,blue,string);
  3341. format(string,sizeof(string),"Administrator %s has made %s temp Level %d on %d/%d/%d at %d:%d:%d",pName(playerid), pName(player1), level, day, month, year, hour, minute, second);
  3342. SaveToFile("TempAdminLog",string);
  3343. PlayerInfo[player1][Level] = level;
  3344. return PlayerPlaySound(player1,1057,0.0,0.0,0.0);
  3345. } else return SendClientMessage(playerid,red,"ERROR: Player must be registered and logged in to be admin");
  3346. } else return SendClientMessage(playerid, red, "Player is not connected");
  3347. } else return SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");
  3348. } else return SendClientMessage(playerid,red,"ERROR: You must be logged in to use this commands");
  3349. }
  3350.  
  3351. dcmd_report(playerid,params[]) {
  3352. new reported, tmp[256], tmp2[256], Index; tmp = strtok(params,Index), tmp2 = strtok(params,Index);
  3353. if(!strlen(params)) return SendClientMessage(playerid, red, "USAGE: /report [playerid] [reason]");
  3354. reported = strval(tmp);
  3355.  
  3356. if(IsPlayerConnected(reported) && reported != INVALID_PLAYER_ID) {
  3357. if(PlayerInfo[reported][Level] == ServerInfo[MaxAdminLevel]) return SendClientMessage(playerid,red,"ERROR: You cannot report this administrator");
  3358. if(playerid == reported) return SendClientMessage(playerid,red,"ERROR: You Cannot report yourself");
  3359. if(strlen(params) > 7) {
  3360. new reportedname[MAX_PLAYER_NAME], reporter[MAX_PLAYER_NAME], str[128], hour,minute,second; gettime(hour,minute,second);
  3361. GetPlayerName(reported, reportedname, sizeof(reportedname)); GetPlayerName(playerid, reporter, sizeof(reporter));
  3362. format(str, sizeof(str), "||NewReport|| %s(%d) reported %s(%d) Reason: %s |@%d:%d:%d|", reporter,playerid, reportedname, reported, params[strlen(tmp)+1], hour,minute,second);
  3363. MessageToAdmins(COLOR_WHITE,str);
  3364. SaveToFile("ReportLog",str);
  3365. format(str, sizeof(str), "Report(%d:%d:%d): %s(%d) reported %s(%d) Reason: %s", hour,minute,second, reporter,playerid, reportedname, reported, params[strlen(tmp)+1]);
  3366. for(new i = 1; i < MAX_REPORTS-1; i++) Reports[i] = Reports[i+1];
  3367. Reports[MAX_REPORTS-1] = str;
  3368. return SendClientMessage(playerid,yellow, "Your report has been sent to online administrators.");
  3369. } else return SendClientMessage(playerid,red,"ERROR: Must be a valid reason");
  3370. } else return SendClientMessage(playerid, red, "Player is not connected");
  3371. }
  3372.  
  3373. dcmd_reports(playerid,params[]) {
  3374. #pragma unused params
  3375. if(PlayerInfo[playerid][Level] >= 1) {
  3376. new ReportCount;
  3377. for(new i = 1; i < MAX_REPORTS; i++)
  3378. {
  3379. if(strcmp( Reports[i], "<none>", true) != 0) { ReportCount++; SendClientMessage(playerid,COLOR_WHITE,Reports[i]); }
  3380. }
  3381. if(ReportCount == 0) SendClientMessage(playerid,COLOR_WHITE,"There have been no reports");
  3382. } else SendClientMessage(playerid,red,"ERROR: You need to be level 1 to use this command");
  3383. return 1;
  3384. }
  3385.  
  3386. dcmd_richlist(playerid,params[]) {
  3387. #pragma unused params
  3388. if(PlayerInfo[playerid][Level] >= 1) {
  3389. new string[128], Slot1 = -1, Slot2 = -1, Slot3 = -1, Slot4 = -1, HighestCash = -9999;
  3390. SendClientMessage(playerid,COLOR_WHITE,"Rich List:");
  3391.  
  3392. for(new x=0; x<MAX_PLAYERS; x++) if (IsPlayerConnected(x)) if (GetPlayerMoney(x) >= HighestCash) {
  3393. HighestCash = GetPlayerMoney(x);
  3394. Slot1 = x;
  3395. }
  3396. HighestCash = -9999;
  3397. for(new x=0; x<MAX_PLAYERS; x++) if (IsPlayerConnected(x) && x != Slot1) if (GetPlayerMoney(x) >= HighestCash) {
  3398. HighestCash = GetPlayerMoney(x);
  3399. Slot2 = x;
  3400. }
  3401. HighestCash = -9999;
  3402. for(new x=0; x<MAX_PLAYERS; x++) if (IsPlayerConnected(x) && x != Slot1 && x != Slot2) if (GetPlayerMoney(x) >= HighestCash) {
  3403. HighestCash = GetPlayerMoney(x);
  3404. Slot3 = x;
  3405. }
  3406. HighestCash = -9999;
  3407. for(new x=0; x<MAX_PLAYERS; x++) if (IsPlayerConnected(x) && x != Slot1 && x != Slot2 && x != Slot3) if (GetPlayerMoney(x) >= HighestCash) {
  3408. HighestCash = GetPlayerMoney(x);
  3409. Slot4 = x;
  3410. }
  3411. format(string, sizeof(string), "(%d) %s - $%d", Slot1,PlayerName2(Slot1),GetPlayerMoney(Slot1) );
  3412. SendClientMessage(playerid,COLOR_WHITE,string);
  3413. if(Slot2 != -1) {
  3414. format(string, sizeof(string), "(%d) %s - $%d", Slot2,PlayerName2(Slot2),GetPlayerMoney(Slot2) );
  3415. SendClientMessage(playerid,COLOR_WHITE,string);
  3416. }
  3417. if(Slot3 != -1) {
  3418. format(string, sizeof(string), "(%d) %s - $%d", Slot3,PlayerName2(Slot3),GetPlayerMoney(Slot3) );
  3419. SendClientMessage(playerid,COLOR_WHITE,string);
  3420. }
  3421. if(Slot4 != -1) {
  3422. format(string, sizeof(string), "(%d) %s - $%d", Slot4,PlayerName2(Slot4),GetPlayerMoney(Slot4) );
  3423. SendClientMessage(playerid,COLOR_WHITE,string);
  3424. }
  3425. return 1;
  3426. } else return SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");
  3427. }
  3428.  
  3429. dcmd_miniguns(playerid,params[]) {
  3430. #pragma unused params
  3431. if(PlayerInfo[playerid][Level] >= 1) {
  3432. new bool:First2 = false, Count, string[128], i, slot, weap, ammo;
  3433. for(i = 0; i < MAX_PLAYERS; i++) {
  3434. if(IsPlayerConnected(i)) {
  3435. for(slot = 0; slot < 14; slot++) {
  3436. GetPlayerWeaponData(i, slot, weap, ammo);
  3437. if(ammo != 0 && weap == 38) {
  3438. Count++;
  3439. if(!First2) { format(string, sizeof(string), "Minigun: (%d)%s(ammo%d)", i, PlayerName2(i), ammo); First2 = true; }
  3440. else format(string,sizeof(string),"%s, (%d)%s(ammo%d) ",string, i, PlayerName2(i), ammo);
  3441. }
  3442. }
  3443. }
  3444. }
  3445. if(Count == 0) return SendClientMessage(playerid,COLOR_WHITE,"No players have a minigun"); else return SendClientMessage(playerid,COLOR_WHITE,string);
  3446. } else return SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");
  3447. }
  3448.  
  3449. dcmd_uconfig(playerid,params[]) {
  3450. #pragma unused params
  3451. if(PlayerInfo[playerid][Level] >= 4)
  3452. {
  3453. UpdateConfig();
  3454. PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
  3455. return CMDMessageToAdmins(playerid,"UCONFIG");
  3456. } else return SendClientMessage(playerid,red,"ERROR: You need to be level 4 to use this command");
  3457. }
  3458.  
  3459. dcmd_botcheck(playerid,params[]) {
  3460. #pragma unused params
  3461. if(PlayerInfo[playerid][Level] >= 4) {
  3462. for(new i=0; i<MAX_PLAYERS; i++) BotCheck(i);
  3463. PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
  3464. return CMDMessageToAdmins(playerid,"BOTCHECK");
  3465. } else return SendClientMessage(playerid,red,"ERROR: You need to be level 4 to use this command");
  3466. }
  3467.  
  3468. dcmd_lockserver(playerid,params[]) {
  3469. if(PlayerInfo[playerid][Level] >= 4) {
  3470. if(!strlen(params)) return SendClientMessage(playerid, red, "USAGE: /lockserver [password]");
  3471. new adminname[MAX_PLAYER_NAME], string[128];
  3472. ServerInfo[Locked] = 1;
  3473. strmid(ServerInfo[Password], params[0], 0, strlen(params[0]), 128);
  3474. GetPlayerName(playerid, adminname, sizeof(adminname));
  3475. format(string, sizeof(string), "Administrator \"%s\" has locked the server",adminname);
  3476. SendClientMessageToAll(red,"________________________________________");
  3477. SendClientMessageToAll(red," ");
  3478. SendClientMessageToAll(red,string);
  3479. SendClientMessageToAll(red,"________________________________________");
  3480. for(new i = 0; i <= MAX_PLAYERS; i++) if(IsPlayerConnected(i)) { PlayerPlaySound(i,1057,0.0,0.0,0.0); PlayerInfo[i][AllowedIn] = true; }
  3481. CMDMessageToAdmins(playerid,"LOCKSERVER");
  3482. format(string, sizeof(string), "Administrator \"%s\" has set the server password to '%s'",adminname, ServerInfo[Password] );
  3483. return MessageToAdmins(COLOR_WHITE, string);
  3484. } else return SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");
  3485. }
  3486.  
  3487. dcmd_unlockserver(playerid,params[]) {
  3488. #pragma unused params
  3489. if(PlayerInfo[playerid][Level] >= 4) {
  3490. if(ServerInfo[Locked] == 1) {
  3491. new adminname[MAX_PLAYER_NAME], string[128];
  3492. ServerInfo[Locked] = 0;
  3493. strmid(ServerInfo[Password], "", 0, strlen(""), 128);
  3494. GetPlayerName(playerid, adminname, sizeof(adminname));
  3495. format(string, sizeof(string), "Administrator \"%s\" has unlocked the server",adminname);
  3496. SendClientMessageToAll(green,"________________________________________");
  3497. SendClientMessageToAll(green," ");
  3498. SendClientMessageToAll(green,string);
  3499. SendClientMessageToAll(green,"________________________________________");
  3500. for(new i = 0; i <= MAX_PLAYERS; i++) if(IsPlayerConnected(i)) { PlayerPlaySound(i,1057,0.0,0.0,0.0); PlayerInfo[i][AllowedIn] = true; }
  3501. return CMDMessageToAdmins(playerid,"UNLOCKSERVER");
  3502. } else return SendClientMessage(playerid,red,"ERROR: Server is not locked");
  3503. } else return SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");
  3504. }
  3505.  
  3506. dcmd_password(playerid,params[]) {
  3507. if(!strlen(params)) return SendClientMessage(playerid, red, "USAGE: /password [password]");
  3508. if(ServerInfo[Locked] == 1) {
  3509. if(PlayerInfo[playerid][AllowedIn] == false) {
  3510. if(!strcmp(ServerInfo[Password],params[0],true)) {
  3511. KillTimer( LockKickTimer[playerid] );
  3512. PlayerInfo[playerid][AllowedIn] = true;
  3513. new string[128];
  3514. SendClientMessage(playerid,COLOR_WHITE,"You have successsfully entered the server password and may now spawn");
  3515. format(string, sizeof(string), "%s has successfully entered server password",PlayerName2(playerid));
  3516. return MessageToAdmins(COLOR_WHITE, string);
  3517. } else return SendClientMessage(playerid,red,"ERROR: Incorrect server password");
  3518. } else return SendClientMessage(playerid,red,"ERROR: You are already logged in");
  3519. } else return SendClientMessage(playerid,red,"ERROR: Server isnt Locked");
  3520. }
  3521.  
  3522. //------------------------------------------------------------------------------
  3523. dcmd_forbidname(playerid,params[]) {
  3524. if(PlayerInfo[playerid][Level] >= 4) {
  3525. if(!strlen(params)) return SendClientMessage(playerid, red, "USAGE: /forbidname [nickname]");
  3526. new File:BLfile, string[128];
  3527. BLfile = fopen("ladmin/config/ForbiddenNames.cfg",io_append);
  3528. format(string,sizeof(string),"%s\r\n",params[1]);
  3529. fwrite(BLfile,string);
  3530. fclose(BLfile);
  3531. UpdateConfig();
  3532. CMDMessageToAdmins(playerid,"FORBIDNAME");
  3533. format(string, sizeof(string), "Administrator \"%s\" has added the name \"%s\" to the forbidden name list", pName(playerid), params );
  3534. return MessageToAdmins(green,string);
  3535. } else return SendClientMessage(playerid,red,"ERROR: You need to be level 4 to use this command");
  3536. }
  3537.  
  3538. dcmd_forbidword(playerid,params[]) {
  3539. if(PlayerInfo[playerid][Level] >= 4) {
  3540. if(!strlen(params)) return SendClientMessage(playerid, red, "USAGE: /forbidword [word]");
  3541. new File:BLfile, string[128];
  3542. BLfile = fopen("ladmin/config/ForbiddenWords.cfg",io_append);
  3543. format(string,sizeof(string),"%s\r\n",params[1]);
  3544. fwrite(BLfile,string);
  3545. fclose(BLfile);
  3546. UpdateConfig();
  3547. CMDMessageToAdmins(playerid,"FORBIDWORD");
  3548. format(string, sizeof(string), "Administrator \"%s\" has added the word \"%s\" to the forbidden word list", pName(playerid), params );
  3549. return MessageToAdmins(green,string);
  3550. } else return SendClientMessage(playerid,red,"ERROR: You need to be level 4 to use this command");
  3551. }
  3552.  
  3553. //==========================[ Spectate Commands ]===============================
  3554. #if defined ENABLE_SPEC
  3555.  
  3556. dcmd_lspec(playerid,params[]) {
  3557. if(PlayerInfo[playerid][Level] >= 2 || IsPlayerAdmin(playerid)) {
  3558. if(!strlen(params) || !IsNumeric(params)) return SendClientMessage(playerid, red, "USAGE: /lspec [playerid]");
  3559. new specplayerid = strval(params);
  3560. if(PlayerInfo[specplayerid][Level] == ServerInfo[MaxAdminLevel] && PlayerInfo[playerid][Level] != ServerInfo[MaxAdminLevel]) return SendClientMessage(playerid,red,"ERROR: You cannot use this command on this admin");
  3561. if(IsPlayerConnected(specplayerid) && specplayerid != INVALID_PLAYER_ID) {
  3562. if(specplayerid == playerid) return SendClientMessage(playerid, red, "ERROR: You cannot spectate yourself");
  3563. if(GetPlayerState(specplayerid) == PLAYER_STATE_SPECTATING && PlayerInfo[specplayerid][SpecID] != INVALID_PLAYER_ID) return SendClientMessage(playerid, red, "Spectate: Player spectating someone else");
  3564. if(GetPlayerState(specplayerid) != 1 && GetPlayerState(specplayerid) != 2 && GetPlayerState(specplayerid) != 3) return SendClientMessage(playerid, red, "Spectate: Player not spawned");
  3565. if( (PlayerInfo[specplayerid][Level] != ServerInfo[MaxAdminLevel]) || (PlayerInfo[specplayerid][Level] == ServerInfo[MaxAdminLevel] && PlayerInfo[playerid][Level] == ServerInfo[MaxAdminLevel]) ) {
  3566. StartSpectate(playerid, specplayerid);
  3567. CMDMessageToAdmins(playerid,"LSPEC");
  3568. GetPlayerPos(playerid,Pos[playerid][0],Pos[playerid][1],Pos[playerid][2]);
  3569. GetPlayerFacingAngle(playerid,Pos[playerid][3]);
  3570. return SendClientMessage(playerid,blue,"Now Spectating");
  3571. } else return SendClientMessage(playerid,red,"ERROR: You cannot spectate the highest level admin");
  3572. } else return SendClientMessage(playerid,red,"ERROR: Player is not connected");
  3573. } else return SendClientMessage(playerid,red,"ERROR: You need to be level 2 to use this command");
  3574. }
  3575.  
  3576. dcmd_lspecvehicle(playerid,params[]) {
  3577. if(PlayerInfo[playerid][Level] >= 2 || IsPlayerAdmin(playerid)) {
  3578. if(!strlen(params)) return SendClientMessage(playerid, red, "USAGE: /lspecvehicle [vehicleid]");
  3579. new specvehicleid = strval(params);
  3580. if(specvehicleid < MAX_VEHICLES) {
  3581. TogglePlayerSpectating(playerid, 1);
  3582. PlayerSpectateVehicle(playerid, specvehicleid);
  3583. PlayerInfo[playerid][SpecID] = specvehicleid;
  3584. PlayerInfo[playerid][SpecType] = ADMIN_SPEC_TYPE_VEHICLE;
  3585. CMDMessageToAdmins(playerid,"SPEC VEHICLE");
  3586. GetPlayerPos(playerid,Pos[playerid][0],Pos[playerid][1],Pos[playerid][2]);
  3587. GetPlayerFacingAngle(playerid,Pos[playerid][3]);
  3588. return SendClientMessage(playerid,blue,"Now Spectating");
  3589. } else return SendClientMessage(playerid,red, "ERROR: Invalid Vehicle ID");
  3590. } else return SendClientMessage(playerid,red,"ERROR: You need to be level 2 to use this command");
  3591. }
  3592. dcmd_lspecoff(playerid,params[]) {
  3593. #pragma unused params
  3594. if(PlayerInfo[playerid][Level] >= 2 || IsPlayerAdmin(playerid)) {
  3595. if(PlayerInfo[playerid][SpecType] != ADMIN_SPEC_TYPE_NONE) {
  3596. StopSpectate(playerid);
  3597. SetTimerEx("PosAfterSpec",3000,0,"d",playerid);
  3598. return SendClientMessage(playerid,blue,"No Longer Spectating");
  3599. } else return SendClientMessage(playerid,red,"ERROR: You are not spectating");
  3600. } else return SendClientMessage(playerid,red,"ERROR: You need to be level 2 to use this command");
  3601. }
  3602.  
  3603. #endif
  3604.  
  3605. //==========================[ CHAT COMMANDS ]===================================
  3606.  
  3607. dcmd_disablechat(playerid,params[]) {
  3608. #pragma unused params
  3609. if(PlayerInfo[playerid][Level] >= 3) {
  3610. CMDMessageToAdmins(playerid,"DISABLECHAT");
  3611. new string[128];
  3612. if(ServerInfo[DisableChat] == 0) {
  3613. ServerInfo[DisableChat] = 1;
  3614. format(string,sizeof(string),"Administrator \"%s\" has disabled chat", pName(playerid) );
  3615. } else {
  3616. ServerInfo[DisableChat] = 0;
  3617. format(string,sizeof(string),"Administrator \"%s\" has enabled chat", pName(playerid) );
  3618. } return SendClientMessageToAll(blue,string);
  3619. } else return SendClientMessage(playerid,red,"ERROR: You need to be level 3 to use this command");
  3620. }
  3621.  
  3622. dcmd_clearchat(playerid,params[]) {
  3623. #pragma unused params
  3624. if(PlayerInfo[playerid][Level] >= 2) {
  3625. CMDMessageToAdmins(playerid,"CLEARCHAT");
  3626. for(new i = 0; i < 11; i++) SendClientMessageToAll(green," "); return 1;
  3627. } else return SendClientMessage(playerid,red,"ERROR: You need to be level 2 to use this command");
  3628. }
  3629.  
  3630. dcmd_clearallchat(playerid,params[]) {
  3631. #pragma unused params
  3632. if(PlayerInfo[playerid][Level] >= 3) {
  3633. CMDMessageToAdmins(playerid,"CLEARALLCHAT");
  3634. for(new i = 0; i < 50; i++) SendClientMessageToAll(green," "); return 1;
  3635. } else return SendClientMessage(playerid,red,"ERROR: You need to be level 4 to use this command");
  3636. }
  3637.  
  3638. dcmd_caps(playerid,params[]) {
  3639. if(PlayerInfo[playerid][Level] >= 3) {
  3640. new tmp[256], tmp2[256], Index; tmp = strtok(params,Index), tmp2 = strtok(params,Index);
  3641. if(!strlen(tmp) || !strlen(tmp2) || IsNumeric(tmp2)) return SendClientMessage(playerid, red, "USAGE: /caps [playerid] [\"on\" / \"off\"]");
  3642. new player1 = strval(tmp), string[128];
  3643. if(PlayerInfo[player1][Level] == ServerInfo[MaxAdminLevel] && PlayerInfo[playerid][Level] != ServerInfo[MaxAdminLevel]) return SendClientMessage(playerid,red,"ERROR: You cannot use this command on this admin");
  3644. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID) {
  3645. if(strcmp(tmp2,"on",true) == 0) {
  3646. CMDMessageToAdmins(playerid,"CAPS");
  3647. PlayerInfo[player1][Caps] = 0;
  3648. if(player1 != playerid) { format(string,sizeof(string),"Administrator \"%s\" has allowed you to use capitals in chat", pName(playerid) ); SendClientMessage(playerid,blue,string); }
  3649. format(string,sizeof(string),"You have allowed \"%s\" to use capitals in chat", pName(player1) ); return SendClientMessage(playerid,blue,string);
  3650. } else if(strcmp(tmp2,"off",true) == 0) {
  3651. CMDMessageToAdmins(playerid,"CAPS");
  3652. PlayerInfo[player1][Caps] = 1;
  3653. if(player1 != playerid) { format(string,sizeof(string),"Administrator \"%s\" has prevented you from using capitals in chat", pName(playerid) ); SendClientMessage(playerid,blue,string); }
  3654. format(string,sizeof(string),"You have prevented \"%s\" from using capitals in chat", pName(player1) ); return SendClientMessage(playerid,blue,string);
  3655. } else return SendClientMessage(playerid, red, "USAGE: /caps [playerid] [\"on\" / \"off\"]");
  3656. } else return SendClientMessage(playerid,red,"ERROR: Player is not connected");
  3657. } else return SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");
  3658. }
  3659.  
  3660. //==================[ Object & Pickup ]=========================================
  3661. dcmd_pickup(playerid,params[]) {
  3662. if(PlayerInfo[playerid][Level] >= 5 || IsPlayerAdmin(playerid)) {
  3663. if(!strlen(params)) return SendClientMessage(playerid,red,"USAGE: /pickup [pickup id]");
  3664. new pickup = strval(params), string[128], Float:x, Float:y, Float:z, Float:a;
  3665. CMDMessageToAdmins(playerid,"PICKUP");
  3666. GetPlayerPos(playerid, x, y, z);
  3667. GetPlayerFacingAngle(playerid, a);
  3668. x += (3 * floatsin(-a, degrees));
  3669. y += (3 * floatcos(-a, degrees));
  3670. CreatePickup(pickup, 2, x+2, y, z);
  3671. format(string, sizeof(string), "CreatePickup(%d, 2, %0.2f, %0.2f, %0.2f);", pickup, x+2, y, z);
  3672. SaveToFile("Pickups",string);
  3673. return SendClientMessage(playerid,yellow, string);
  3674. } else return SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");
  3675. }
  3676.  
  3677. dcmd_object(playerid,params[]) {
  3678. if(PlayerInfo[playerid][Level] >= 5 || IsPlayerAdmin(playerid)) {
  3679. if(!strlen(params)) return SendClientMessage(playerid,red,"USAGE: /object [object id]");
  3680. new object = strval(params), string[128], Float:x, Float:y, Float:z, Float:a;
  3681. CMDMessageToAdmins(playerid,"OBJECT");
  3682. GetPlayerPos(playerid, x, y, z);
  3683. GetPlayerFacingAngle(playerid, a);
  3684. x += (3 * floatsin(-a, degrees));
  3685. y += (3 * floatcos(-a, degrees));
  3686. CreateObject(object, x, y, z, 0.0, 0.0, a);
  3687. format(string, sizeof(string), "CreateObject(%d, %0.2f, %0.2f, %0.2f, 0.00, 0.00, %0.2f);", object, x, y, z, a);
  3688. SaveToFile("Objects",string);
  3689. format(string, sizeof(string), "You Have Created Object %d, at %0.2f, %0.2f, %0.2f Angle %0.2f", object, x, y, z, a);
  3690. return SendClientMessage(playerid,yellow, string);
  3691. } else return SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");
  3692. }
  3693.  
  3694. //===================[ Move ]===================================================
  3695.  
  3696. dcmd_move(playerid,params[]) {
  3697. if(PlayerInfo[playerid][Level] >= 3) {
  3698. if(!strlen(params)) return SendClientMessage(playerid, red, "USAGE: /move [up / down / +x / -x / +y / -y / off]");
  3699. new Float:X, Float:Y, Float:Z;
  3700. if(strcmp(params,"up",true) == 0) {
  3701. TogglePlayerControllable(playerid,false); GetPlayerPos(playerid,X,Y,Z); SetPlayerPos(playerid,X,Y,Z+5); SetCameraBehindPlayer(playerid); }
  3702. else if(strcmp(params,"down",true) == 0) {
  3703. TogglePlayerControllable(playerid,false); GetPlayerPos(playerid,X,Y,Z); SetPlayerPos(playerid,X,Y,Z-5); SetCameraBehindPlayer(playerid); }
  3704. else if(strcmp(params,"+x",true) == 0) {
  3705. TogglePlayerControllable(playerid,false); GetPlayerPos(playerid,X,Y,Z); SetPlayerPos(playerid,X+5,Y,Z); }
  3706. else if(strcmp(params,"-x",true) == 0) {
  3707. TogglePlayerControllable(playerid,false); GetPlayerPos(playerid,X,Y,Z); SetPlayerPos(playerid,X-5,Y,Z); }
  3708. else if(strcmp(params,"+y",true) == 0) {
  3709. TogglePlayerControllable(playerid,false); GetPlayerPos(playerid,X,Y,Z); SetPlayerPos(playerid,X,Y+5,Z); }
  3710. else if(strcmp(params,"-y",true) == 0) {
  3711. TogglePlayerControllable(playerid,false); GetPlayerPos(playerid,X,Y,Z); SetPlayerPos(playerid,X,Y-5,Z); }
  3712. else if(strcmp(params,"off",true) == 0) {
  3713. TogglePlayerControllable(playerid,true); }
  3714. else return SendClientMessage(playerid,red,"USAGE: /move [up / down / +x / -x / +y / -y / off]");
  3715. return 1;
  3716. } else return SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");
  3717. }
  3718.  
  3719. dcmd_moveplayer(playerid,params[]) {
  3720. if(PlayerInfo[playerid][Level] >= 3) {
  3721. new tmp[256], tmp2[256], Index; tmp = strtok(params,Index), tmp2 = strtok(params,Index);
  3722. if(!strlen(tmp) || !strlen(tmp2) || !IsNumeric(tmp)) return SendClientMessage(playerid, red, "USAGE: /moveplayer [playerid] [up / down / +x / -x / +y / -y / off]");
  3723. new Float:X, Float:Y, Float:Z, player1 = strval(tmp);
  3724. if(PlayerInfo[player1][Level] == ServerInfo[MaxAdminLevel] && PlayerInfo[playerid][Level] != ServerInfo[MaxAdminLevel]) return SendClientMessage(playerid,red,"ERROR: You cannot use this command on this admin");
  3725. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID) {
  3726. if(strcmp(tmp2,"up",true) == 0) {
  3727. GetPlayerPos(player1,X,Y,Z); SetPlayerPos(player1,X,Y,Z+5); SetCameraBehindPlayer(player1); }
  3728. else if(strcmp(tmp2,"down",true) == 0) {
  3729. GetPlayerPos(player1,X,Y,Z); SetPlayerPos(player1,X,Y,Z-5); SetCameraBehindPlayer(player1); }
  3730. else if(strcmp(tmp2,"+x",true) == 0) {
  3731. GetPlayerPos(player1,X,Y,Z); SetPlayerPos(player1,X+5,Y,Z); }
  3732. else if(strcmp(tmp2,"-x",true) == 0) {
  3733. GetPlayerPos(player1,X,Y,Z); SetPlayerPos(player1,X-5,Y,Z); }
  3734. else if(strcmp(tmp2,"+y",true) == 0) {
  3735. GetPlayerPos(player1,X,Y,Z); SetPlayerPos(player1,X,Y+5,Z); }
  3736. else if(strcmp(tmp2,"-y",true) == 0) {
  3737. GetPlayerPos(player1,X,Y,Z); SetPlayerPos(player1,X,Y-5,Z); }
  3738. else SendClientMessage(playerid,red,"USAGE: /moveplayer [up / down / +x / -x / +y / -y / off]");
  3739. return 1;
  3740. } else return SendClientMessage(playerid,red,"ERROR: Player is not connected");
  3741. } else return SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");
  3742. }
  3743.  
  3744. //===================[ Fake ]===================================================
  3745.  
  3746. #if defined ENABLE_FAKE_CMDS
  3747. dcmd_fakedeath(playerid,params[]) {
  3748. if(PlayerInfo[playerid][Level] >= 4) {
  3749. new tmp[256], tmp2[256], tmp3[256], Index; tmp = strtok(params,Index), tmp2 = strtok(params,Index), tmp3 = strtok(params,Index);
  3750. if(!strlen(tmp) || !strlen(tmp2) || !strlen(tmp3)) return SendClientMessage(playerid, red, "USAGE: /fakedeath [killer] [killee] [weapon]");
  3751. new killer = strval(tmp), killee = strval(tmp2), weap = strval(tmp3);
  3752. if(!IsValidWeapon(weap)) return SendClientMessage(playerid,red,"ERROR: Invalid Weapon ID");
  3753. if(PlayerInfo[killer][Level] == ServerInfo[MaxAdminLevel] && PlayerInfo[playerid][Level] != ServerInfo[MaxAdminLevel]) return SendClientMessage(playerid,red,"ERROR: You cannot use this command on this admin");
  3754. if(PlayerInfo[killee][Level] == ServerInfo[MaxAdminLevel] && PlayerInfo[playerid][Level] != ServerInfo[MaxAdminLevel]) return SendClientMessage(playerid,red,"ERROR: You cannot use this command on this admin");
  3755.  
  3756. if(IsPlayerConnected(killer) && killer != INVALID_PLAYER_ID) {
  3757. if(IsPlayerConnected(killee) && killee != INVALID_PLAYER_ID) {
  3758. CMDMessageToAdmins(playerid,"FAKEDEATH");
  3759. SendDeathMessage(killer,killee,weap);
  3760. return SendClientMessage(playerid,blue,"Fake death message sent");
  3761. } else return SendClientMessage(playerid,red,"ERROR: Killee is not connected");
  3762. } else return SendClientMessage(playerid,red,"ERROR: Killer is not connected");
  3763. } else return SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");
  3764. }
  3765.  
  3766. dcmd_fakechat(playerid,params[]) {
  3767. if(PlayerInfo[playerid][Level] >= 5) {
  3768. new tmp[256], tmp2[256], Index; tmp = strtok(params,Index), tmp2 = strtok(params,Index);
  3769. if(!strlen(tmp) || !strlen(tmp2)) return SendClientMessage(playerid, red, "USAGE: /fakechat [playerid] [text]");
  3770. new player1 = strval(tmp);
  3771. if(PlayerInfo[player1][Level] == ServerInfo[MaxAdminLevel] && PlayerInfo[playerid][Level] != ServerInfo[MaxAdminLevel]) return SendClientMessage(playerid,red,"ERROR: You cannot use this command on this admin");
  3772. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID) {
  3773. CMDMessageToAdmins(playerid,"FAKECHAT");
  3774. SendPlayerMessageToAll(player1, params[strlen(tmp)+1]);
  3775. return SendClientMessage(playerid,blue,"Fake message sent");
  3776. } else return SendClientMessage(playerid,red,"ERROR: Player is not connected");
  3777. } else return SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");
  3778. }
  3779.  
  3780. dcmd_fakecmd(playerid,params[]) {
  3781. if(PlayerInfo[playerid][Level] >= 5) {
  3782. new tmp[256], tmp2[256], Index; tmp = strtok(params,Index), tmp2 = strtok(params,Index);
  3783. if(!strlen(tmp) || !strlen(tmp2)) return SendClientMessage(playerid, red, "USAGE: /fakecmd [playerid] [command]");
  3784. new player1 = strval(tmp);
  3785. if(PlayerInfo[player1][Level] == ServerInfo[MaxAdminLevel] && PlayerInfo[playerid][Level] != ServerInfo[MaxAdminLevel]) return SendClientMessage(playerid,red,"ERROR: You cannot use this command on this admin");
  3786. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID) {
  3787. CMDMessageToAdmins(playerid,"FAKECMD");
  3788. CallRemoteFunction("OnPlayerCommandText", "is", player1, tmp2);
  3789. return SendClientMessage(playerid,blue,"Fake command sent");
  3790. } else return SendClientMessage(playerid,red,"ERROR: Player is not connected");
  3791. } else return SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");
  3792. }
  3793. #endif
  3794.  
  3795. //----------------------------------------------------------------------------//
  3796. // /all Commands //
  3797. //----------------------------------------------------------------------------//
  3798.  
  3799. dcmd_pm(playerid, params[])
  3800. {
  3801. new givepid, text[128];
  3802. if(!sscanf(params, "us[128]", givepid, text))
  3803. {
  3804. if(givepid > 499) return SendClientMessage(playerid,red,"Usage: \"/pm [playerid/name] [text]\"");
  3805. if(givepid == playerid) return SendClientMessage(playerid,red,"ERROR: You can't PM yourself!");
  3806. if(!IsPlayerConnected(givepid)) return SendClientMessage(playerid,red,"ERROR: Player is not connected");
  3807. if(!OnPlayerPrivmsg(playerid, givepid, text)) return 1;
  3808. new string[128];
  3809. format(string, sizeof(string), "** PM from \"%s\" (%d): %s **", PlayerName2(playerid), playerid, text);
  3810. PlayerPlaySound(givepid, 1057, 0.0, 0.0, 0.0);
  3811. SendClientMessage(givepid, yellow, string);
  3812. format(string, sizeof(string), "** PM to \"%s\" (%d): %s **", PlayerName2(givepid), givepid, text);
  3813. PlayerPlaySound(playerid, 1057, 0.0, 0.0, 0.0);
  3814. SendClientMessage(playerid, yellow, string);
  3815. new recievername[MAX_PLAYER_NAME];
  3816. GetPlayerName(playerid, string, sizeof(string));
  3817. GetPlayerName(givepid, recievername, sizeof(recievername));
  3818. format(string, sizeof(string), "*** PM from \"%s\" (%d) to \"%s\" (%d): %s ***", string, playerid, recievername, givepid, text);
  3819. for(new a = 0; a < MAX_PLAYERS; a++)
  3820. {
  3821. if(IsPlayerConnected(a) && a != playerid && GetPVarInt(a, "Level") > 1) SendClientMessage(a, grey, string);
  3822. }
  3823. }
  3824. else
  3825. {
  3826. SendClientMessage(playerid, red, "Usage: \"/pm [playerid/name] [text]\"");
  3827. }
  3828. return 1;
  3829. }
  3830.  
  3831. dcmd_nopms(playerid, params[])
  3832. {
  3833. #pragma unused params
  3834. if(GetPVarInt(playerid, "PMStatus") == 0)
  3835. {
  3836. SetPVarInt(playerid, "PMStatus", 1);
  3837. SendClientMessage(playerid, blue, "You have disabled PMing");
  3838. } else {
  3839. SetPVarInt(playerid, "PMStatus", 0);
  3840. SendClientMessage(playerid, blue, "You have enabled PMing");
  3841. }
  3842. return 1;
  3843. }
  3844.  
  3845. dcmd_spawnall(playerid,params[]) {
  3846. #pragma unused params
  3847. if(PlayerInfo[playerid][Level] >= 4) {
  3848. CMDMessageToAdmins(playerid,"SPAWNAll");
  3849. for(new i = 0; i < MAX_PLAYERS; i++) {
  3850. if(IsPlayerConnected(i) && (i != playerid) && i != ServerInfo[MaxAdminLevel]) {
  3851. PlayerPlaySound(i,1057,0.0,0.0,0.0); SetPlayerPos(i, 0.0, 0.0, 0.0); SpawnPlayer(i);
  3852. }
  3853. }
  3854. new string[128]; format(string,sizeof(string),"Administrator \"%s\" has spawned all players", pName(playerid) );
  3855. return SendClientMessageToAll(blue, string);
  3856. } else return SendClientMessage(playerid,red,"ERROR: You need to be level 4 to use this command");
  3857. }
  3858.  
  3859. dcmd_muteall(playerid,params[]) {
  3860. #pragma unused params
  3861. if(PlayerInfo[playerid][Level] >= 4) {
  3862. CMDMessageToAdmins(playerid,"MUTEALL");
  3863. for(new i = 0; i < MAX_PLAYERS; i++) {
  3864. if(IsPlayerConnected(i) && (i != playerid) && i != ServerInfo[MaxAdminLevel]) {
  3865. PlayerPlaySound(i,1057,0.0,0.0,0.0); PlayerInfo[i][Muted] = 1; PlayerInfo[i][MuteWarnings] = 0;
  3866. }
  3867. }
  3868. new string[128]; format(string,sizeof(string),"Administrator \"%s\" has muted all players", pName(playerid) );
  3869. return SendClientMessageToAll(blue, string);
  3870. } else return SendClientMessage(playerid,red,"ERROR: You need to be level 4 to use this command");
  3871. }
  3872.  
  3873. dcmd_unmuteall(playerid,params[]) {
  3874. #pragma unused params
  3875. if(PlayerInfo[playerid][Level] >= 4) {
  3876. CMDMessageToAdmins(playerid,"UNMUTEAll");
  3877. for(new i = 0; i < MAX_PLAYERS; i++) {
  3878. if(IsPlayerConnected(i) && (i != playerid) && i != ServerInfo[MaxAdminLevel]) {
  3879. PlayerPlaySound(i,1057,0.0,0.0,0.0); PlayerInfo[i][Muted] = 0; PlayerInfo[i][MuteWarnings] = 0;
  3880. }
  3881. }
  3882. new string[128]; format(string,sizeof(string),"Administrator \"%s\" has unmuted all players", pName(playerid) );
  3883. return SendClientMessageToAll(blue, string);
  3884. } else return SendClientMessage(playerid,red,"ERROR: You need to be level 4 to use this command");
  3885. }
  3886.  
  3887. dcmd_getall(playerid,params[]) {
  3888. #pragma unused params
  3889. if(PlayerInfo[playerid][Level] >= 4) {
  3890. CMDMessageToAdmins(playerid,"GETAll");
  3891. new Float:x,Float:y,Float:z, interior = GetPlayerInterior(playerid);
  3892. GetPlayerPos(playerid,x,y,z);
  3893. for(new i = 0; i < MAX_PLAYERS; i++) {
  3894. if(IsPlayerConnected(i) && (i != playerid) && i != ServerInfo[MaxAdminLevel]) {
  3895. PlayerPlaySound(i,1057,0.0,0.0,0.0); SetPlayerPos(i,x+(playerid/4)+1,y+(playerid/4),z); SetPlayerInterior(i,interior);
  3896. }
  3897. }
  3898. new string[128]; format(string,sizeof(string),"Administrator \"%s\" has teleported all players", pName(playerid) );
  3899. return SendClientMessageToAll(blue, string);
  3900. } else return SendClientMessage(playerid,red,"ERROR: You need to be level 4 to use this command");
  3901. }
  3902.  
  3903. dcmd_healall(playerid,params[]) {
  3904. #pragma unused params
  3905. if(PlayerInfo[playerid][Level] >= 3) {
  3906. CMDMessageToAdmins(playerid,"HEALALL");
  3907. for(new i = 0; i < MAX_PLAYERS; i++) {
  3908. if(IsPlayerConnected(i) && (i != playerid) && i != ServerInfo[MaxAdminLevel]) {
  3909. PlayerPlaySound(i,1057,0.0,0.0,0.0); SetPlayerHealth(i,100.0);
  3910. }
  3911. }
  3912. new string[128]; format(string,sizeof(string),"Administrator \"%s\" has healed all players", pName(playerid) );
  3913. return SendClientMessageToAll(blue, string);
  3914. } else return SendClientMessage(playerid,red,"ERROR: You need to be level 3 to use this command");
  3915. }
  3916.  
  3917. dcmd_armourall(playerid,params[]) {
  3918. #pragma unused params
  3919. if(PlayerInfo[playerid][Level] >= 3) {
  3920. CMDMessageToAdmins(playerid,"ARMOURALL");
  3921. for(new i = 0; i < MAX_PLAYERS; i++) {
  3922. if(IsPlayerConnected(i) && (i != playerid) && i != ServerInfo[MaxAdminLevel]) {
  3923. PlayerPlaySound(i,1057,0.0,0.0,0.0); SetPlayerArmour(i,100.0);
  3924. }
  3925. }
  3926. new string[128]; format(string,sizeof(string),"Administrator \"%s\" has restored all players armour", pName(playerid) );
  3927. return SendClientMessageToAll(blue, string);
  3928. } else return SendClientMessage(playerid,red,"ERROR: You need to be level 3 to use this command");
  3929. }
  3930.  
  3931. dcmd_killall(playerid,params[]) {
  3932. #pragma unused params
  3933. if(PlayerInfo[playerid][Level] >= 4) {
  3934. CMDMessageToAdmins(playerid,"KILLALL");
  3935. for(new i = 0; i < MAX_PLAYERS; i++) {
  3936. if(IsPlayerConnected(i) && (i != playerid) && i != ServerInfo[MaxAdminLevel]) {
  3937. PlayerPlaySound(i,1057,0.0,0.0,0.0); SetPlayerHealth(i,0.0);
  3938. }
  3939. }
  3940. new string[128]; format(string,sizeof(string),"Administrator \"%s\" has killed all players", pName(playerid) );
  3941. return SendClientMessageToAll(blue, string);
  3942. } else return SendClientMessage(playerid,red,"ERROR: You need to be level 4 to use this command");
  3943. }
  3944.  
  3945. dcmd_freezeall(playerid,params[]) {
  3946. #pragma unused params
  3947. if(PlayerInfo[playerid][Level] >= 4) {
  3948. CMDMessageToAdmins(playerid,"FREEZEALL");
  3949. for(new i = 0; i < MAX_PLAYERS; i++) {
  3950. if(IsPlayerConnected(i) && (i != playerid) && i != ServerInfo[MaxAdminLevel]) {
  3951. PlayerPlaySound(i,1057,0.0,0.0,0.0); TogglePlayerControllable(playerid,false); PlayerInfo[i][Frozen] = 1;
  3952. }
  3953. }
  3954. new string[128]; format(string,sizeof(string),"Administrator \"%s\" has frozen all players", pName(playerid) );
  3955. return SendClientMessageToAll(blue, string);
  3956. } else return SendClientMessage(playerid,red,"ERROR: You need to be level 4 to use this command");
  3957. }
  3958.  
  3959. dcmd_unfreezeall(playerid,params[]) {
  3960. #pragma unused params
  3961. if(PlayerInfo[playerid][Level] >= 4) {
  3962. CMDMessageToAdmins(playerid,"UNFREEZEALL");
  3963. for(new i = 0; i < MAX_PLAYERS; i++) {
  3964. if(IsPlayerConnected(i) && (i != playerid) && i != ServerInfo[MaxAdminLevel]) {
  3965. PlayerPlaySound(i,1057,0.0,0.0,0.0); TogglePlayerControllable(playerid,true); PlayerInfo[i][Frozen] = 0;
  3966. }
  3967. }
  3968. new string[128]; format(string,sizeof(string),"Administrator \"%s\" has unfrozen all players", pName(playerid) );
  3969. return SendClientMessageToAll(blue, string);
  3970. } else return SendClientMessage(playerid,red,"ERROR: You need to be level 4 to use this command");
  3971. }
  3972.  
  3973. dcmd_kickall(playerid,params[]) {
  3974. #pragma unused params
  3975. if(PlayerInfo[playerid][Level] >= 4) {
  3976. CMDMessageToAdmins(playerid,"KICKALL");
  3977. for(new i = 0; i < MAX_PLAYERS; i++) {
  3978. if(IsPlayerConnected(i) && (i != playerid) && i != ServerInfo[MaxAdminLevel]) {
  3979. PlayerPlaySound(i,1057,0.0,0.0,0.0); Kick(i);
  3980. }
  3981. }
  3982. new string[128]; format(string,sizeof(string),"Administrator \"%s\" has kicked all players", pName(playerid) );
  3983. SaveToFile("KickLog",string);
  3984. return SendClientMessageToAll(blue, string);
  3985. } else return SendClientMessage(playerid,red,"ERROR: You need to be level 4 to use this command");
  3986. }
  3987.  
  3988. dcmd_slapall(playerid,params[]) {
  3989. #pragma unused params
  3990. if(PlayerInfo[playerid][Level] >= 4) {
  3991. CMDMessageToAdmins(playerid,"SLAPALL");
  3992. new Float:x, Float:y, Float:z;
  3993. for(new i = 0; i < MAX_PLAYERS; i++) {
  3994. if(IsPlayerConnected(i) && (i != playerid) && i != ServerInfo[MaxAdminLevel]) {
  3995. PlayerPlaySound(i,1190,0.0,0.0,0.0); GetPlayerPos(i,x,y,z); SetPlayerPos(i,x,y,z+4);
  3996. }
  3997. }
  3998. new string[128]; format(string,sizeof(string),"Administrator \"%s\" has slapped all players", pName(playerid) );
  3999. return SendClientMessageToAll(blue, string);
  4000. } else return SendClientMessage(playerid,red,"ERROR: You need to be level 4 to use this command");
  4001. }
  4002.  
  4003. dcmd_explodeall(playerid,params[]) {
  4004. #pragma unused params
  4005. if(PlayerInfo[playerid][Level] >= 4) {
  4006. CMDMessageToAdmins(playerid,"EXPLODEALL");
  4007. new Float:x, Float:y, Float:z;
  4008. for(new i = 0; i < MAX_PLAYERS; i++) {
  4009. if(IsPlayerConnected(i) && (i != playerid) && i != ServerInfo[MaxAdminLevel]) {
  4010. PlayerPlaySound(i,1190,0.0,0.0,0.0); GetPlayerPos(i,x,y,z); CreateExplosion(x, y , z, 7, 10.0);
  4011. }
  4012. }
  4013. new string[128]; format(string,sizeof(string),"Administrator \"%s\" has exploded all players", pName(playerid) );
  4014. return SendClientMessageToAll(blue, string);
  4015. } else return SendClientMessage(playerid,red,"ERROR: You need to be level 4 to use this command");
  4016. }
  4017.  
  4018. dcmd_disarmall(playerid,params[]) {
  4019. #pragma unused params
  4020. if(PlayerInfo[playerid][Level] >= 4) {
  4021. CMDMessageToAdmins(playerid,"DISARMALL");
  4022. for(new i = 0; i < MAX_PLAYERS; i++) {
  4023. if(IsPlayerConnected(i) && (i != playerid) && i != ServerInfo[MaxAdminLevel]) {
  4024. PlayerPlaySound(i,1057,0.0,0.0,0.0); ResetPlayerWeapons(i);
  4025. }
  4026. }
  4027. new string[128]; format(string,sizeof(string),"Administrator \"%s\" has disarmed all players", pName(playerid) );
  4028. return SendClientMessageToAll(blue, string);
  4029. } else return SendClientMessage(playerid,red,"ERROR: You need to be level 4 to use this command");
  4030. }
  4031.  
  4032. dcmd_ejectall(playerid,params[]) {
  4033. #pragma unused params
  4034. if(PlayerInfo[playerid][Level] >= 4) {
  4035. CMDMessageToAdmins(playerid,"EJECTALL");
  4036. new Float:x, Float:y, Float:z;
  4037. for(new i = 0; i < MAX_PLAYERS; i++) {
  4038. if(IsPlayerConnected(i) && (i != playerid) && i != ServerInfo[MaxAdminLevel]) {
  4039. if(IsPlayerInAnyVehicle(i)) {
  4040. PlayerPlaySound(i,1057,0.0,0.0,0.0); GetPlayerPos(i,x,y,z); SetPlayerPos(i,x,y,z+3);
  4041. }
  4042. }
  4043. }
  4044. new string[128]; format(string,sizeof(string),"Administrator \"%s\" has ejected all players", pName(playerid) );
  4045. return SendClientMessageToAll(blue, string);
  4046. } else return SendClientMessage(playerid,red,"ERROR: You need to be level 4 to use this command");
  4047. }
  4048.  
  4049. //-------------==== Set All Commands ====-------------//
  4050.  
  4051. dcmd_setallskin(playerid,params[]) {
  4052. if(PlayerInfo[playerid][Level] >= 3) {
  4053. if(!strlen(params)) return SendClientMessage(playerid, red, "USAGE: /setallskin [skinid]");
  4054. new var = strval(params), string[128];
  4055. if(!IsValidSkin(var)) return SendClientMessage(playerid, red, "ERROR: Invaild Skin ID");
  4056. CMDMessageToAdmins(playerid,"SETALLSKIN");
  4057. for(new i = 0; i < MAX_PLAYERS; i++) {
  4058. if(IsPlayerConnected(i)) {
  4059. PlayerPlaySound(i,1057,0.0,0.0,0.0);
  4060. SetPlayerSkin(i,var);
  4061. }
  4062. }
  4063. format(string,sizeof(string),"Administrator \"%s\" has set all players skin to '%d'", pName(playerid), var );
  4064. return SendClientMessageToAll(blue, string);
  4065. } else return SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");
  4066. }
  4067.  
  4068. dcmd_setallwanted(playerid,params[]) {
  4069. if(PlayerInfo[playerid][Level] >= 3) {
  4070. if(!strlen(params)) return SendClientMessage(playerid, red, "USAGE: /setallwanted [wanted level]");
  4071. new var = strval(params), string[128];
  4072. CMDMessageToAdmins(playerid,"SETALLWANTED");
  4073. for(new i = 0; i < MAX_PLAYERS; i++) {
  4074. if(IsPlayerConnected(i)) {
  4075. PlayerPlaySound(i,1057,0.0,0.0,0.0);
  4076. SetPlayerWantedLevel(i,var);
  4077. }
  4078. }
  4079. format(string,sizeof(string),"Administrator \"%s\" has set all players wanted level to '%d'", pName(playerid), var );
  4080. return SendClientMessageToAll(blue, string);
  4081. } else return SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");
  4082. }
  4083.  
  4084. dcmd_setallweather(playerid,params[]) {
  4085. if(PlayerInfo[playerid][Level] >= 3) {
  4086. if(!strlen(params)) return SendClientMessage(playerid, red, "USAGE: /setallweather [weather ID]");
  4087. new var = strval(params), string[128];
  4088. CMDMessageToAdmins(playerid,"SETALLWEATHER");
  4089. for(new i = 0; i < MAX_PLAYERS; i++) {
  4090. if(IsPlayerConnected(i)) {
  4091. PlayerPlaySound(i,1057,0.0,0.0,0.0);
  4092. SetPlayerWeather(i, var);
  4093. }
  4094. }
  4095. format(string,sizeof(string),"Administrator \"%s\" has set all players weather to '%d'", pName(playerid), var );
  4096. return SendClientMessageToAll(blue, string);
  4097. } else return SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");
  4098. }
  4099.  
  4100. dcmd_setalltime(playerid,params[]) {
  4101. if(PlayerInfo[playerid][Level] >= 3) {
  4102. if(!strlen(params)) return SendClientMessage(playerid, red, "USAGE: /setalltime [hour]");
  4103. new var = strval(params), string[128];
  4104. if(var > 24) return SendClientMessage(playerid, red, "ERROR: Invalid hour");
  4105. CMDMessageToAdmins(playerid,"SETALLTIME");
  4106. for(new i = 0; i < MAX_PLAYERS; i++) {
  4107. if(IsPlayerConnected(i)) {
  4108. PlayerPlaySound(i,1057,0.0,0.0,0.0);
  4109. SetPlayerTime(i, var, 0);
  4110. }
  4111. }
  4112. format(string,sizeof(string),"Administrator \"%s\" has set all players time to '%d:00'", pName(playerid), var );
  4113. return SendClientMessageToAll(blue, string);
  4114. } else return SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");
  4115. }
  4116.  
  4117. dcmd_setallworld(playerid,params[]) {
  4118. if(PlayerInfo[playerid][Level] >= 3) {
  4119. if(!strlen(params)) return SendClientMessage(playerid, red, "USAGE: /setallworld [virtual world]");
  4120. new var = strval(params), string[128];
  4121. CMDMessageToAdmins(playerid,"SETALLWORLD");
  4122. for(new i = 0; i < MAX_PLAYERS; i++) {
  4123. if(IsPlayerConnected(i)) {
  4124. PlayerPlaySound(i,1057,0.0,0.0,0.0);
  4125. SetPlayerVirtualWorld(i,var);
  4126. }
  4127. }
  4128. format(string,sizeof(string),"Administrator \"%s\" has set all players virtual worlds to '%d'", pName(playerid), var );
  4129. return SendClientMessageToAll(blue, string);
  4130. } else return SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");
  4131. }
  4132.  
  4133. dcmd_setallscore(playerid,params[]) {
  4134. if(PlayerInfo[playerid][Level] >= 3) {
  4135. if(!strlen(params)) return SendClientMessage(playerid, red, "USAGE: /setallscore [score]");
  4136. new var = strval(params), string[128];
  4137. CMDMessageToAdmins(playerid,"SETALLSCORE");
  4138. for(new i = 0; i < MAX_PLAYERS; i++) {
  4139. if(IsPlayerConnected(i)) {
  4140. PlayerPlaySound(i,1057,0.0,0.0,0.0);
  4141. SetPlayerScore(i,var);
  4142. }
  4143. }
  4144. format(string,sizeof(string),"Administrator \"%s\" has set all players scores to '%d'", pName(playerid), var );
  4145. return SendClientMessageToAll(blue, string);
  4146. } else return SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");
  4147. }
  4148.  
  4149. dcmd_setallcash(playerid,params[]) {
  4150. if(PlayerInfo[playerid][Level] >= 3) {
  4151. if(!strlen(params)) return SendClientMessage(playerid, red, "USAGE: /setallcash [Amount]");
  4152. new var = strval(params), string[128];
  4153. CMDMessageToAdmins(playerid,"SETALLCASH");
  4154. for(new i = 0; i < MAX_PLAYERS; i++) {
  4155. if(IsPlayerConnected(i)) {
  4156. PlayerPlaySound(i,1057,0.0,0.0,0.0);
  4157. ResetPlayerMoney(i);
  4158. GivePlayerMoney(i,var);
  4159. }
  4160. }
  4161. format(string,sizeof(string),"Administrator \"%s\" has set all players cash to '$%d'", pName(playerid), var );
  4162. return SendClientMessageToAll(blue, string);
  4163. } else return SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");
  4164. }
  4165.  
  4166. dcmd_giveallcash(playerid,params[]) {
  4167. if(PlayerInfo[playerid][Level] >= 3) {
  4168. if(!strlen(params)) return SendClientMessage(playerid, red, "USAGE: /giveallcash [Amount]");
  4169. new var = strval(params), string[128];
  4170. CMDMessageToAdmins(playerid,"GIVEALLCASH");
  4171. for(new i = 0; i < MAX_PLAYERS; i++) {
  4172. if(IsPlayerConnected(i)) {
  4173. PlayerPlaySound(i,1057,0.0,0.0,0.0);
  4174. GivePlayerMoney(i,var);
  4175. }
  4176. }
  4177. format(string,sizeof(string),"Administrator \"%s\" has given all players '$%d'", pName(playerid), var );
  4178. return SendClientMessageToAll(blue, string);
  4179. } else return SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");
  4180. }
  4181.  
  4182. dcmd_giveallweapon(playerid,params[]) {
  4183. if(PlayerInfo[playerid][Level] >= 3) {
  4184. new tmp[256], tmp2[256], Index, ammo, weap, WeapName[32], string[128]; tmp = strtok(params,Index), tmp2 = strtok(params,Index);
  4185. if(!strlen(tmp) ) return SendClientMessage(playerid, red, "USAGE: /giveallweapon [weapon id/weapon name] [ammo]");
  4186. if(!strlen(tmp2) || !IsNumeric(tmp2) || strval(tmp2) <= 0 || strval(tmp2) > 99999) ammo = 500;
  4187. if(!IsNumeric(tmp)) weap = GetWeaponIDFromName(tmp); else weap = strval(tmp);
  4188. if(!IsValidWeapon(weap)) return SendClientMessage(playerid,red,"ERROR: Invalid weapon ID");
  4189. CMDMessageToAdmins(playerid,"GIVEALLWEAPON");
  4190. for(new i = 0; i < MAX_PLAYERS; i++) {
  4191. if(IsPlayerConnected(i)) {
  4192. PlayerPlaySound(i,1057,0.0,0.0,0.0);
  4193. GivePlayerWeapon(i,weap,ammo);
  4194. }
  4195. }
  4196. GetWeaponName(weap, WeapName, sizeof(WeapName) );
  4197. format(string,sizeof(string),"Administrator \"%s\" has given all players a %s (%d) with %d rounds of ammo", pName(playerid), WeapName, weap, ammo);
  4198. return SendClientMessageToAll(blue, string);
  4199. } else return SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");
  4200. }
  4201.  
  4202.  
  4203. //================================[ Menu Commands ]=============================
  4204.  
  4205. #if defined USE_MENUS
  4206.  
  4207. dcmd_lmenu(playerid,params[]) {
  4208. #pragma unused params
  4209. if(PlayerInfo[playerid][Level] >= 2) {
  4210. if(IsPlayerInAnyVehicle(playerid)) {
  4211. TogglePlayerControllable(playerid,false); return ShowMenuForPlayer(LMainMenu,playerid);
  4212. } else return ShowMenuForPlayer(LMainMenu,playerid);
  4213. } else return SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");
  4214. }
  4215. dcmd_ltele(playerid,params[]) {
  4216. #pragma unused params
  4217. if(PlayerInfo[playerid][Level] >= 2) {
  4218. if(IsPlayerInAnyVehicle(playerid)) {
  4219. TogglePlayerControllable(playerid,false); return ShowMenuForPlayer(LTele,playerid);
  4220. } else return ShowMenuForPlayer(LTele,playerid);
  4221. } else return SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");
  4222. }
  4223. dcmd_lweather(playerid,params[]) {
  4224. #pragma unused params
  4225. if(PlayerInfo[playerid][Level] >= 3) {
  4226. if(IsPlayerInAnyVehicle(playerid)) {
  4227. TogglePlayerControllable(playerid,false); return ShowMenuForPlayer(LWeather,playerid);
  4228. } else return ShowMenuForPlayer(LWeather,playerid);
  4229. } else return SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");
  4230. }
  4231. dcmd_ltime(playerid,params[]) {
  4232. #pragma unused params
  4233. if(PlayerInfo[playerid][Level] >= 3) {
  4234. if(IsPlayerInAnyVehicle(playerid)) {
  4235. TogglePlayerControllable(playerid,false); return ShowMenuForPlayer(LTime,playerid);
  4236. } else return ShowMenuForPlayer(LTime,playerid);
  4237. } else return SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");
  4238. }
  4239. dcmd_cm(playerid,params[]) {
  4240. #pragma unused params
  4241. if(PlayerInfo[playerid][Level] >= 2) {
  4242. if(IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid,red,"ERROR: You already have a car.");
  4243. else { ShowMenuForPlayer(LCars,playerid); return TogglePlayerControllable(playerid,false); }
  4244. } else return SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");
  4245. }
  4246. dcmd_ltmenu(playerid,params[]) {
  4247. #pragma unused params
  4248. if(PlayerInfo[playerid][Level] >= 2) {
  4249. if(IsPlayerInAnyVehicle(playerid)) {
  4250. new LVehicleID = GetPlayerVehicleID(playerid), LModel = GetVehicleModel(LVehicleID);
  4251. switch(LModel) { case 448,461,462,463,468,471,509,510,521,522,523,581,586,449: return SendClientMessage(playerid,red,"ERROR: You can not tune this vehicle!"); }
  4252. TogglePlayerControllable(playerid,false); return ShowMenuForPlayer(LTuneMenu,playerid);
  4253. } else return SendClientMessage(playerid,red,"ERROR: You do not have a vehicle to tune");
  4254. } else return SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");
  4255. }
  4256. dcmd_lweapons(playerid,params[]) {
  4257. #pragma unused params
  4258. if(PlayerInfo[playerid][Level] >= 3) {
  4259. if(IsPlayerInAnyVehicle(playerid)) {
  4260. TogglePlayerControllable(playerid,false); return ShowMenuForPlayer(XWeapons,playerid);
  4261. } else return ShowMenuForPlayer(XWeapons,playerid);
  4262. } else return SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");
  4263. }
  4264. dcmd_lvehicle(playerid,params[]) {
  4265. #pragma unused params
  4266. if(PlayerInfo[playerid][Level] >= 2) {
  4267. if(IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid,red,"ERROR: You already have a car.");
  4268. else { ShowMenuForPlayer(LVehicles,playerid); return TogglePlayerControllable(playerid,false); }
  4269. } else return SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");
  4270. }
  4271.  
  4272. #endif
  4273.  
  4274. //----------------------===== Place & Skin Saving =====-------------------------
  4275. dcmd_gotoplace(playerid,params[]) {
  4276. #pragma unused params
  4277. if(PlayerInfo[playerid][LoggedIn] == 1 && PlayerInfo[playerid][Level] >= 1) {
  4278. if (dUserINT(PlayerName2(playerid)).("x")!=0) {
  4279. PutAtPos(playerid);
  4280. SetPlayerVirtualWorld(playerid, (dUserINT(PlayerName2(playerid)).("world")) );
  4281. return SendClientMessage(playerid,yellow,"You have successfully teleported to your saved place");
  4282. } else return SendClientMessage(playerid,red,"ERROR: You must save a place before you can teleport to it");
  4283. } else return SendClientMessage(playerid,red, "ERROR: You must be an administrator to use this command");
  4284. }
  4285.  
  4286. dcmd_saveplace(playerid,params[]) {
  4287. #pragma unused params
  4288. if(PlayerInfo[playerid][LoggedIn] == 1 && PlayerInfo[playerid][Level] >= 1) {
  4289. new Float:x,Float:y,Float:z, interior;
  4290. GetPlayerPos(playerid,x,y,z); interior = GetPlayerInterior(playerid);
  4291. dUserSetINT(PlayerName2(playerid)).("x",floatround(x));
  4292. dUserSetINT(PlayerName2(playerid)).("y",floatround(y));
  4293. dUserSetINT(PlayerName2(playerid)).("z",floatround(z));
  4294. dUserSetINT(PlayerName2(playerid)).("interior",interior);
  4295. dUserSetINT(PlayerName2(playerid)).("world", (GetPlayerVirtualWorld(playerid)) );
  4296. return SendClientMessage(playerid,yellow,"You have successfully saved these coordinates");
  4297. } else return SendClientMessage(playerid,red, "ERROR: You must be an administrator to use this command");
  4298. }
  4299.  
  4300. dcmd_saveskin(playerid,params[]) {
  4301. if(PlayerInfo[playerid][Level] >= 1 && PlayerInfo[playerid][LoggedIn] == 1) {
  4302. if(!strlen(params)) return SendClientMessage(playerid, red, "USAGE: /saveskin [skinid]");
  4303. new string[128], SkinID = strval(params);
  4304. if((SkinID == 0)||(SkinID == 7)||(SkinID >= 9 && SkinID <= 41)||(SkinID >= 43 && SkinID <= 64)||(SkinID >= 66 && SkinID <= 73)||(SkinID >= 75 && SkinID <= 85)||(SkinID >= 87 && SkinID <= 118)||(SkinID >= 120 && SkinID <= 148)||(SkinID >= 150 && SkinID <= 207)||(SkinID >= 209 && SkinID <= 264)||(SkinID >= 274 && SkinID <= 288)||(SkinID >= 290 && SkinID <= 299))
  4305. {
  4306. dUserSetINT(PlayerName2(playerid)).("FavSkin",SkinID);
  4307. format(string, sizeof(string), "You have successfully saved this skin (ID %d)",SkinID);
  4308. SendClientMessage(playerid,yellow,string);
  4309. SendClientMessage(playerid,yellow,"Type: /useskin to use this skin when you spawn or /dontuseskin to stop using skin");
  4310. dUserSetINT(PlayerName2(playerid)).("UseSkin",1);
  4311. return CMDMessageToAdmins(playerid,"SAVESKIN");
  4312. } else return SendClientMessage(playerid, green, "ERROR: Invalid Skin ID");
  4313. } else return SendClientMessage(playerid,red,"ERROR: You must be an administrator to use this command");
  4314. }
  4315.  
  4316. dcmd_useskin(playerid,params[]) {
  4317. #pragma unused params
  4318. if(PlayerInfo[playerid][Level] >= 1 && PlayerInfo[playerid][LoggedIn] == 1) {
  4319. dUserSetINT(PlayerName2(playerid)).("UseSkin",1);
  4320. SetPlayerSkin(playerid,dUserINT(PlayerName2(playerid)).("FavSkin"));
  4321. return SendClientMessage(playerid,yellow,"Skin now in use");
  4322. } else return SendClientMessage(playerid,red,"ERROR: You must be an administrator to use this command");
  4323. }
  4324.  
  4325. dcmd_dontuseskin(playerid,params[]) {
  4326. #pragma unused params
  4327. if(PlayerInfo[playerid][Level] >= 1 && PlayerInfo[playerid][LoggedIn] == 1) {
  4328. dUserSetINT(PlayerName2(playerid)).("UseSkin",0);
  4329. return SendClientMessage(playerid,yellow,"Skin will no longer be used");
  4330. } else return SendClientMessage(playerid,red,"ERROR: You must be an administrator to use this command");
  4331. }
  4332.  
  4333. //====================== [REGISTER & LOGIN] ==================================
  4334. #if defined USE_AREGISTER
  4335.  
  4336. dcmd_aregister(playerid,params[])
  4337. {
  4338. if (PlayerInfo[playerid][LoggedIn] == 1) return SendClientMessage(playerid,red,"ACCOUNT: You are already registered and logged in.");
  4339. if (udb_Exists(PlayerName2(playerid))) return SendClientMessage(playerid,red,"ACCOUNT: This account already exists, please use '/alogin [password]'.");
  4340. if (strlen(params) == 0) return SendClientMessage(playerid,red,"ACCOUNT: Correct usage: '/aregister [password]'");
  4341. if (strlen(params) < 4 || strlen(params) > 20) return SendClientMessage(playerid,red,"ACCOUNT: Password length must be greater than three characters");
  4342. if (udb_Create(PlayerName2(playerid),params))
  4343. {
  4344. new file[256],name[MAX_PLAYER_NAME], tmp3[100];
  4345. new strdate[20], year,month,day; getdate(year, month, day);
  4346. GetPlayerName(playerid,name,sizeof(name)); format(file,sizeof(file),"/ladmin/users/%s.sav",udb_encode(name));
  4347. GetPlayerIp(playerid,tmp3,100); dini_Set(file,"ip",tmp3);
  4348. // dini_Set(file,"password",params);
  4349. dUserSetINT(PlayerName2(playerid)).("registered",1);
  4350. format(strdate, sizeof(strdate), "%d/%d/%d",day,month,year);
  4351. dini_Set(file,"RegisteredDate",strdate);
  4352. dUserSetINT(PlayerName2(playerid)).("loggedin",1);
  4353. dUserSetINT(PlayerName2(playerid)).("banned",0);
  4354. dUserSetINT(PlayerName2(playerid)).("level",0);
  4355. dUserSetINT(PlayerName2(playerid)).("LastOn",0);
  4356. dUserSetINT(PlayerName2(playerid)).("money",0);
  4357. dUserSetINT(PlayerName2(playerid)).("vrules",0);
  4358. dUserSetINT(PlayerName2(playerid)).("kills",0);
  4359. dUserSetINT(PlayerName2(playerid)).("deaths",0);
  4360. PlayerInfo[playerid][LoggedIn] = 1;
  4361. PlayerInfo[playerid][Registered] = 1;
  4362. SendClientMessage(playerid, green, "ACCOUNT: You are now registered, and have been automaticaly logged in");
  4363. PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
  4364. return 1;
  4365. }
  4366. return 1;
  4367. }
  4368.  
  4369. dcmd_alogin(playerid,params[])
  4370. {
  4371. if (PlayerInfo[playerid][LoggedIn] == 1) return SendClientMessage(playerid,red,"ACCOUNT: You are already logged in.");
  4372. if (!udb_Exists(PlayerName2(playerid))) return SendClientMessage(playerid,red,"ACCOUNT: Account doesn't exist, please use '/aregister [password]'.");
  4373. if (strlen(params)==0) return SendClientMessage(playerid,red,"ACCOUNT: Correct usage: '/alogin [password]'");
  4374. if (udb_CheckLogin(PlayerName2(playerid),params))
  4375. {
  4376. new file[256], tmp3[100], string[128];
  4377. format(file,sizeof(file),"/ladmin/users/%s.sav",udb_encode(PlayerName2(playerid)) );
  4378. GetPlayerIp(playerid,tmp3,100);
  4379. dini_Set(file,"ip",tmp3);
  4380. LoginPlayer(playerid);
  4381. PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
  4382. if(PlayerInfo[playerid][Level] > 0) {
  4383. format(string,sizeof(string),"ACCOUNT: Successfully Logged In. (Level %d)", PlayerInfo[playerid][Level] );
  4384. return SendClientMessage(playerid,green,string);
  4385. } else return SendClientMessage(playerid,green,"ACCOUNT: Successfully Logged In");
  4386. }
  4387. else {
  4388. PlayerInfo[playerid][FailLogin]++;
  4389. printf("LOGIN: %s has failed to login, Wrong password (%s) Attempt (%d)", PlayerName2(playerid), params, PlayerInfo[playerid][FailLogin] );
  4390. if(PlayerInfo[playerid][FailLogin] == MAX_FAIL_LOGINS)
  4391. {
  4392. new string[128]; format(string, sizeof(string), "%s has been kicked (Failed Logins)", PlayerName2(playerid) );
  4393. SendClientMessageToAll(grey, string); print(string);
  4394. Kick(playerid);
  4395. }
  4396. return SendClientMessage(playerid,red,"ACCOUNT: Login failed! Incorrect Password");
  4397. }
  4398. }
  4399.  
  4400. dcmd_achangepass(playerid,params[]) {
  4401. if(PlayerInfo[playerid][LoggedIn] == 1) {
  4402. if(!strlen(params)) return SendClientMessage(playerid, red, "USAGE: /achangepass [new password]");
  4403. if(strlen(params) < 4) return SendClientMessage(playerid,red,"ACCOUNT: Incorrect password length");
  4404. new string[128];
  4405. dUserSetINT(PlayerName2(playerid)).("password_hash",udb_hash(params) );
  4406. dUserSet(PlayerName2(playerid)).("Password",params);
  4407. PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
  4408. format(string, sizeof(string),"ACCOUNT: You have successfully changed your password to [ %s ]",params);
  4409. return SendClientMessage(playerid,yellow,string);
  4410. } else return SendClientMessage(playerid,red, "ERROR: You must have an account to use this command");
  4411. }
  4412.  
  4413. dcmd_asetpass(playerid,params[]) {
  4414. if(PlayerInfo[playerid][Level] >= 3) {
  4415. new string[128], tmp[256], tmp2[256], Index; tmp = strtok(params,Index), tmp2 = strtok(params,Index);
  4416. if(!strlen(tmp) || !strlen(tmp2)) return SendClientMessage(playerid, red, "USAGE: /asetpass [playername] [new password]");
  4417. if(strlen(tmp2) < 4 || strlen(tmp2) > MAX_PLAYER_NAME) return SendClientMessage(playerid,red,"ERROR: Incorrect password length");
  4418. if(udb_Exists(tmp)) {
  4419. dUserSetINT(tmp).("password_hash", udb_hash(tmp2));
  4420. PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
  4421. format(string, sizeof(string),"ACCOUNT: You have successfully set \"%s's\" account password to \"%s\"", tmp, tmp2);
  4422. return SendClientMessage(playerid,yellow,string);
  4423. } else return SendClientMessage(playerid,red, "ERROR: This player doesnt have an account");
  4424. } else return SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");
  4425. }
  4426.  
  4427. #if defined USE_STATS
  4428. dcmd_aresetstats(playerid,params[]) {
  4429. #pragma unused params
  4430. if(PlayerInfo[playerid][LoggedIn] == 1) {
  4431. // save as backup
  4432. dUserSetINT(PlayerName2(playerid)).("oldkills",PlayerInfo[playerid][Kills]);
  4433. dUserSetINT(PlayerName2(playerid)).("olddeaths",PlayerInfo[playerid][Deaths]);
  4434. // stats reset
  4435. PlayerInfo[playerid][Kills] = 0;
  4436. PlayerInfo[playerid][Deaths] = 0;
  4437. dUserSetINT(PlayerName2(playerid)).("kills",PlayerInfo[playerid][Kills]);
  4438. dUserSetINT(PlayerName2(playerid)).("deaths",PlayerInfo[playerid][Deaths]);
  4439. PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
  4440. return SendClientMessage(playerid,yellow,"ACCOUNT: You have successfully reset your stats. Your kills and deaths are: 0");
  4441. } else return SendClientMessage(playerid,red, "ERROR: You must have an account to use this command");
  4442. }
  4443.  
  4444. dcmd_astats(playerid,params[]) {
  4445. new string[128], pDeaths, player1, h, m, s;
  4446. if(!strlen(params)) player1 = playerid;
  4447. else player1 = strval(params);
  4448.  
  4449. if(IsPlayerConnected(player1)) {
  4450. TotalGameTime(player1, h, m, s);
  4451. if(PlayerInfo[player1][Deaths] == 0) pDeaths = 1; else pDeaths = PlayerInfo[player1][Deaths];
  4452. format(string, sizeof(string), "| %s's Stats: Kills: %d | Deaths: %d | Ratio: %0.2f | Money: $%d | Time: %d hrs %d mins %d secs |",PlayerName2(player1), PlayerInfo[player1][Kills], PlayerInfo[player1][Deaths], Float:PlayerInfo[player1][Kills]/Float:pDeaths,GetPlayerMoney(player1), h, m, s);
  4453. return SendClientMessage(playerid, green, string);
  4454. } else return SendClientMessage(playerid, red, "Player Not Connected!");
  4455. }
  4456. #endif
  4457.  
  4458.  
  4459. #else
  4460.  
  4461.  
  4462. dcmd_register(playerid,params[])
  4463. {
  4464. #pragma unused params
  4465. if (PlayerInfo[playerid][LoggedIn] == 1) return SendClientMessage(playerid,red,"ACCOUNT: You are already registered and logged in.");
  4466. if (udb_Exists(PlayerName2(playerid))) return SendClientMessage(playerid,red,"ACCOUNT: This account already exists, please use '/login'.");
  4467. ShowPlayerDialog(playerid,13338,DIALOG_STYLE_INPUT,"{00ff00}Register","{ffffff}Enter your password below:","Register","Disconnect");
  4468. return 1;
  4469. }
  4470.  
  4471. dcmd_login(playerid,params[])
  4472. {
  4473. #pragma unused params
  4474. if(PlayerInfo[playerid][LoggedIn] == 1) return SendClientMessage(playerid,red,"ACCOUNT: You are already logged in.");
  4475. if(!udb_Exists(PlayerName2(playerid))) return SendClientMessage(playerid,red,"ACCOUNT: Account doesn't exist, please use '/register'.");
  4476. ShowPlayerDialog(playerid,13337,DIALOG_STYLE_INPUT,"{00ff00}Login","{ffffff}Enter your password below:","Login","Disconnect");
  4477. return 1;
  4478. }
  4479.  
  4480. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  4481. {
  4482. switch(dialogid)
  4483. {
  4484. case 6969:
  4485. {
  4486. if(response)
  4487. {
  4488. if(getsMoney[playerid])
  4489. {
  4490. GivePlayerMoney(playerid, 10000);
  4491. return 0;
  4492. }
  4493. }
  4494. }
  4495. case 13339:
  4496. {
  4497. if(!response)
  4498. {
  4499. SendClientMessage(playerid, 0xffffffff, "No? {ff0000}GTFO THEN!!");
  4500. Kick(playerid);
  4501. return 0;
  4502. }
  4503. SendClientMessage(playerid, green, "Welcome! {ff0000}Thanks for accepting our rules!");
  4504. ShowPlayerDialog(playerid,13338,DIALOG_STYLE_INPUT,"{00ff00}Register","{ffffff}Enter your password below:","Register","Disconnect");
  4505. return 0;
  4506. }
  4507. case 13337:
  4508. {
  4509. if(!response)
  4510. {
  4511. Kick(playerid);
  4512. return 0;
  4513. }
  4514. if(udb_CheckLogin(PlayerName2(playerid),inputtext))
  4515. {
  4516. new file[256], tmp3[100], string[128];
  4517. format(file,sizeof(file),"/ladmin/users/%s.sav",udb_encode(PlayerName2(playerid)) );
  4518. GetPlayerIp(playerid,tmp3,100);
  4519. dini_Set(file,"ip",tmp3);
  4520. LoginPlayer(playerid);
  4521. PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
  4522. if(PlayerInfo[playerid][Level] > 0)
  4523. {
  4524. format(string,sizeof(string),"ACCOUNT: Successfully Logged In. [Level %d]", PlayerInfo[playerid][Level] );
  4525. SendClientMessage(playerid,green,string);
  4526. return 0;
  4527. }
  4528. else
  4529. {
  4530. SendClientMessage(playerid,green,"ACCOUNT: Successfully Logged In");
  4531. return 0;
  4532. }
  4533. }
  4534. else
  4535. {
  4536. PlayerInfo[playerid][FailLogin]++;
  4537. printf("LOGIN: %s has failed to login, Wrong password (%s) Attempt (%d)", PlayerName2(playerid), inputtext, PlayerInfo[playerid][FailLogin] );
  4538. if(PlayerInfo[playerid][FailLogin] == MAX_FAIL_LOGINS)
  4539. {
  4540. new string[128]; format(string, sizeof(string), "%s has been kicked (Failed Logins)", PlayerName2(playerid) );
  4541. SendClientMessageToAll(grey, string);
  4542. print(string);
  4543. Kick(playerid);
  4544. return 0;
  4545. }
  4546. ShowPlayerDialog(playerid,13337,DIALOG_STYLE_INPUT,"{00ff00}Login","{ff0000}ERROR: Wrong password!\r\n{ffffff}Enter your password below:","Login","Disconnect");
  4547. return 0;
  4548. }
  4549. }
  4550. case 13338:
  4551. {
  4552. if(!response)
  4553. {
  4554. Kick(playerid);
  4555. return 0;
  4556. }
  4557. if(udb_Create(PlayerName2(playerid),inputtext))
  4558. {
  4559. new file[256],name[MAX_PLAYER_NAME], tmp3[100];
  4560. new strdate[20], year,month,day; getdate(year, month, day);
  4561. GetPlayerName(playerid,name,sizeof(name)); format(file,sizeof(file),"/ladmin/users/%s.sav",udb_encode(name));
  4562. GetPlayerIp(playerid,tmp3,100); dini_Set(file,"ip",tmp3);
  4563. //dini_Set(file,"password",params);
  4564. dUserSetINT(PlayerName2(playerid)).("registered",1);
  4565. format(strdate, sizeof(strdate), "%d/%d/%d",day,month,year);
  4566. dini_Set(file,"RegisteredDate",strdate);
  4567. dUserSetINT(PlayerName2(playerid)).("loggedin",1);
  4568. dUserSetINT(PlayerName2(playerid)).("banned",0);
  4569. dUserSetINT(PlayerName2(playerid)).("level",0);
  4570. dUserSetINT(PlayerName2(playerid)).("LastOn",0);
  4571. dUserSetINT(PlayerName2(playerid)).("money",0);
  4572. dUserSetINT(PlayerName2(playerid)).("vrules",0);
  4573. dUserSetINT(PlayerName2(playerid)).("kills",0);
  4574. dUserSetINT(PlayerName2(playerid)).("deaths",0);
  4575. dUserSetINT(PlayerName2(playerid)).("hours",0);
  4576. dUserSetINT(PlayerName2(playerid)).("minutes",0);
  4577. dUserSetINT(PlayerName2(playerid)).("seconds",0);
  4578. PlayerInfo[playerid][LoggedIn] = 1;
  4579. PlayerInfo[playerid][Registered] = 1;
  4580. SendClientMessage(playerid, green, "ACCOUNT: You are now registered, and have been automaticaly logged in");
  4581. PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
  4582. return 0;
  4583. }
  4584. else
  4585. {
  4586. ShowPlayerDialog(playerid,13338,DIALOG_STYLE_INPUT,"{00ff00}Register","{ff0000}There was an error creating your account! {ffff00}Please try again!\r\n{ffffff}Enter your password below:","Login","Disconnect");
  4587. return 0;
  4588. }
  4589. }
  4590. }
  4591. return 0;
  4592. }
  4593.  
  4594. dcmd_changepass(playerid,params[]) {
  4595. if(PlayerInfo[playerid][LoggedIn] == 1) {
  4596. if(!strlen(params)) return SendClientMessage(playerid, red, "USAGE: /changepass [new password]");
  4597. if(strlen(params) < 4) return SendClientMessage(playerid,red,"ACCOUNT: Incorrect password length");
  4598. new string[128];
  4599. dUserSetINT(PlayerName2(playerid)).("password_hash",udb_hash(params) );
  4600. PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
  4601. format(string, sizeof(string),"ACCOUNT: You have successfully changed your password to \"%s\"",params);
  4602. return SendClientMessage(playerid,yellow,string);
  4603. } else return SendClientMessage(playerid,red, "ERROR: You must have an account to use this command");
  4604. }
  4605.  
  4606. dcmd_setpass(playerid,params[]) {
  4607. if(PlayerInfo[playerid][Level] >= 3) {
  4608. new string[128], tmp[256], tmp2[256], Index; tmp = strtok(params,Index), tmp2 = strtok(params,Index);
  4609. if(!strlen(tmp) || !strlen(tmp2)) return SendClientMessage(playerid, red, "USAGE: /setpass [playername] [new password]");
  4610. if(strlen(tmp2) < 4 || strlen(tmp2) > MAX_PLAYER_NAME) return SendClientMessage(playerid,red,"ERROR: Incorrect password length");
  4611. if(udb_Exists(tmp)) {
  4612. dUserSetINT(tmp).("password_hash", udb_hash(tmp2));
  4613. PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
  4614. format(string, sizeof(string),"ACCOUNT: You have successfully set \"%s's\" account password to \"%s\"", tmp, tmp2);
  4615. return SendClientMessage(playerid,yellow,string);
  4616. } else return SendClientMessage(playerid,red, "ERROR: This player doesnt have an account");
  4617. } else return SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");
  4618. }
  4619.  
  4620. #if defined USE_STATS
  4621. dcmd_resetstats(playerid,params[]) {
  4622. #pragma unused params
  4623. if(PlayerInfo[playerid][LoggedIn] == 1) {
  4624. // save as backup
  4625. dUserSetINT(PlayerName2(playerid)).("oldkills",PlayerInfo[playerid][Kills]);
  4626. dUserSetINT(PlayerName2(playerid)).("olddeaths",PlayerInfo[playerid][Deaths]);
  4627. // stats reset
  4628. PlayerInfo[playerid][Kills] = 0;
  4629. PlayerInfo[playerid][Deaths] = 0;
  4630. dUserSetINT(PlayerName2(playerid)).("kills",PlayerInfo[playerid][Kills]);
  4631. dUserSetINT(PlayerName2(playerid)).("deaths",PlayerInfo[playerid][Deaths]);
  4632. PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
  4633. return SendClientMessage(playerid,yellow,"ACCOUNT: You have successfully reset your stats. Your kills and deaths are: 0");
  4634. } else return SendClientMessage(playerid,red, "ERROR: You must have an account to use this command");
  4635. }
  4636. #endif
  4637.  
  4638. #if defined USE_STATS
  4639. dcmd_stats(playerid,params[]) {
  4640. new string[128], pDeaths, player1, h, m, s;
  4641. if(!strlen(params)) player1 = playerid;
  4642. else player1 = strval(params);
  4643.  
  4644. if(IsPlayerConnected(player1)) {
  4645. TotalGameTime(player1, h, m, s);
  4646. if(PlayerInfo[player1][Deaths] == 0) pDeaths = 1; else pDeaths = PlayerInfo[player1][Deaths];
  4647. format(string, sizeof(string), "| %s's Stats: Kills: %d | Deaths: %d | Ratio: %0.2f | Money: $%d | Time: %d hrs %d mins %d secs |",PlayerName2(player1), PlayerInfo[player1][Kills], PlayerInfo[player1][Deaths], Float:PlayerInfo[player1][Kills]/Float:pDeaths,GetPlayerMoney(player1), h, m, s);
  4648. return SendClientMessage(playerid, green, string);
  4649. } else return SendClientMessage(playerid, red, "Player Not Connected!");
  4650. }
  4651. #endif
  4652.  
  4653.  
  4654. #endif
  4655.  
  4656.  
  4657. LoginPlayer(playerid)
  4658. {
  4659. if(ServerInfo[GiveMoney] == 1) {ResetPlayerMoney(playerid); GivePlayerMoney(playerid, dUserINT(PlayerName2(playerid)).("money") ); }
  4660. dUserSetINT(PlayerName2(playerid)).("loggedin",1);
  4661. SetPlayerScore(playerid, (dUserINT(PlayerName2(playerid)).("Score")));
  4662. SetPlayerWantedLevel(playerid, (dUserINT(PlayerName2(playerid)).("Wanted")));
  4663. PlayerInfo[playerid][Deaths] = (dUserINT(PlayerName2(playerid)).("deaths"));
  4664. PlayerInfo[playerid][Kills] = (dUserINT(PlayerName2(playerid)).("kills"));
  4665. PlayerInfo[playerid][Level] = (dUserINT(PlayerName2(playerid)).("level"));
  4666. viewedRules[playerid] = (dUserINT(PlayerName2(playerid)).("vrules"));
  4667. PlayerInfo[playerid][hours] = dUserINT(PlayerName2(playerid)).("hours");
  4668. PlayerInfo[playerid][mins] = dUserINT(PlayerName2(playerid)).("minutes");
  4669. PlayerInfo[playerid][secs] = dUserINT(PlayerName2(playerid)).("seconds");
  4670. PlayerInfo[playerid][Registered] = 1;
  4671. PlayerInfo[playerid][LoggedIn] = 1;
  4672. }
  4673.  
  4674. //==============================================================================
  4675. public OnPlayerCommandText(playerid, cmdtext[])
  4676. {
  4677. if(PlayerInfo[playerid][Jailed] == 1 && PlayerInfo[playerid][Level] < 1) return
  4678. SendClientMessage(playerid,red,"You cannot use commands in jail");
  4679.  
  4680. new cmd[256], string[128], tmp[256], idx;
  4681. cmd = strtok(cmdtext, idx);
  4682. dcmd(makelht,7,cmdtext);
  4683. #if defined USE_AREGISTER
  4684. dcmd(aregister,9,cmdtext);
  4685. dcmd(alogin,6,cmdtext);
  4686. dcmd(achangepass,11,cmdtext);
  4687. dcmd(asetpass,8,cmdtext);
  4688. #if defined USE_STATS
  4689. dcmd(astats,6,cmdtext);
  4690. dcmd(aresetstats,11,cmdtext);
  4691. #endif
  4692.  
  4693. #else
  4694.  
  4695. dcmd(register,8,cmdtext);
  4696. dcmd(login,5,cmdtext);
  4697. dcmd(changepass,10,cmdtext);
  4698. dcmd(setpass,7,cmdtext);
  4699. #if defined USE_STATS
  4700. dcmd(stats,5,cmdtext);
  4701. dcmd(resetstats,10,cmdtext);
  4702. #endif
  4703.  
  4704. #endif
  4705. dcmd(pm,2,cmdtext);
  4706. dcmd(nopms,5,cmdtext);
  4707. dcmd(report,6,cmdtext);
  4708. dcmd(reports,7,cmdtext);
  4709.  
  4710. //================ [ Read Comamands ] ===========================//
  4711. if(ServerInfo[ReadCmds] == 1)
  4712. {
  4713. format(string, sizeof(string), "*** %s (%d) typed: %s", pName(playerid),playerid,cmdtext);
  4714. for(new i = 0; i < MAX_PLAYERS; i++) {
  4715. if(IsPlayerConnected(i)) {
  4716. if( (PlayerInfo[i][Level] > PlayerInfo[playerid][Level]) && (PlayerInfo[i][Level] > 1) && (i != playerid) ) {
  4717. SendClientMessage(i, grey, string);
  4718. }
  4719. }
  4720. }
  4721. }
  4722.  
  4723. //-= Spectate Commands =-//
  4724. #if defined ENABLE_SPEC
  4725. dcmd(lspec,5,cmdtext);
  4726. dcmd(lspecoff,8,cmdtext);
  4727. dcmd(lspecvehicle,12,cmdtext);
  4728. #endif
  4729.  
  4730. //-= Chat Commands =-//
  4731. dcmd(disablechat,11,cmdtext);
  4732. dcmd(clearchat,9,cmdtext);
  4733. dcmd(clearallchat,12,cmdtext);
  4734. dcmd(caps,4,cmdtext);
  4735.  
  4736. //-= Vehicle Commands =-//
  4737. dcmd(destroycar,10,cmdtext);
  4738. dcmd(lockcar,7,cmdtext);
  4739. dcmd(unlockcar,9,cmdtext);
  4740. dcmd(carhealth,9,cmdtext);
  4741. dcmd(carcolour,9,cmdtext);
  4742. dcmd(car,3,cmdtext);
  4743. dcmd(vr,2,cmdtext);
  4744. dcmd(fix,3,cmdtext);
  4745.  
  4746. dcmd(ltune,5,cmdtext);
  4747. dcmd(lhy,3,cmdtext);
  4748. dcmd(lcar,4,cmdtext);
  4749. dcmd(lbike,5,cmdtext);
  4750. dcmd(lheli,5,cmdtext);
  4751. dcmd(lboat,5,cmdtext);
  4752. //dcmd(lnos,4,cmdtext);
  4753. dcmd(lplane,6,cmdtext);
  4754. dcmd(vgoto,5,cmdtext);
  4755. dcmd(vget,4,cmdtext);
  4756. dcmd(givecar,7,cmdtext);
  4757. dcmd(flip,4,cmdtext);
  4758. dcmd(ltc,3,cmdtext);
  4759. dcmd(linkcar,7,cmdtext);
  4760.  
  4761. //-= Playerid Commands =-//
  4762. dcmd(crash,5,cmdtext);
  4763. dcmd(ip,2,cmdtext);
  4764. dcmd(force,5,cmdtext);
  4765. dcmd(burn,4,cmdtext);
  4766. dcmd(spawn,5,cmdtext);
  4767. dcmd(spawnplayer,11,cmdtext);
  4768. dcmd(disarm,6,cmdtext);
  4769. dcmd(eject,5,cmdtext);
  4770. dcmd(bankrupt,8,cmdtext);
  4771. dcmd(sbankrupt,9,cmdtext);
  4772. dcmd(setworld,8,cmdtext);
  4773. dcmd(setinterior,11,cmdtext);
  4774. dcmd(ubound,6,cmdtext);
  4775. dcmd(setwanted,9,cmdtext);
  4776. dcmd(setcolour,9,cmdtext);
  4777. dcmd(settime,7,cmdtext);
  4778. dcmd(setweather,10,cmdtext);
  4779. dcmd(setname,7,cmdtext);
  4780. dcmd(setskin,7,cmdtext);
  4781. dcmd(setscore,8,cmdtext);
  4782. dcmd(setcash,7,cmdtext);
  4783. dcmd(sethealth,9,cmdtext);
  4784. dcmd(setarmour,9,cmdtext);
  4785. dcmd(giveweapon,10,cmdtext);
  4786. dcmd(warp,4,cmdtext);
  4787. dcmd(teleplayer,10,cmdtext);
  4788. dcmd(goto,4,cmdtext);
  4789. dcmd(gethere,7,cmdtext);
  4790. dcmd(get,3,cmdtext);
  4791. dcmd(setlevel,8,cmdtext);
  4792. dcmd(settemplevel,12,cmdtext);
  4793. dcmd(fu,2,cmdtext);
  4794. dcmd(warn,4,cmdtext);
  4795. dcmd(kick,4,cmdtext);
  4796. dcmd(ban,3,cmdtext);
  4797. dcmd(rban,4,cmdtext);
  4798. dcmd(slap,4,cmdtext);
  4799. dcmd(explode,7,cmdtext);
  4800. dcmd(jail,4,cmdtext);
  4801. dcmd(unjail,6,cmdtext);
  4802. dcmd(jailed,6,cmdtext);
  4803. dcmd(freeze,6,cmdtext);
  4804. dcmd(unfreeze,8,cmdtext);
  4805. dcmd(frozen,6,cmdtext);
  4806. dcmd(mute,4,cmdtext);
  4807. dcmd(unmute,6,cmdtext);
  4808. dcmd(muted,5,cmdtext);
  4809. dcmd(akill,5,cmdtext);
  4810. dcmd(weaps,5,cmdtext);
  4811. dcmd(screen,6,cmdtext);
  4812. dcmd(lgoto,5,cmdtext);
  4813. dcmd(aka,3,cmdtext);
  4814. dcmd(highlight,9,cmdtext);
  4815.  
  4816. //-= /All Commands =-//
  4817. dcmd(healall,7,cmdtext);
  4818. dcmd(armourall,9,cmdtext);
  4819. dcmd(muteall,7,cmdtext);
  4820. dcmd(unmuteall,9,cmdtext);
  4821. dcmd(killall,7,cmdtext);
  4822. dcmd(getall,6,cmdtext);
  4823. dcmd(spawnall,8,cmdtext);
  4824. dcmd(freezeall,9,cmdtext);
  4825. dcmd(unfreezeall,11,cmdtext);
  4826. dcmd(explodeall,10,cmdtext);
  4827. dcmd(kickall,7,cmdtext);
  4828. dcmd(slapall,7,cmdtext);
  4829. dcmd(ejectall,8,cmdtext);
  4830. dcmd(disarmall,9,cmdtext);
  4831. dcmd(setallskin,10,cmdtext);
  4832. dcmd(setallwanted,12,cmdtext);
  4833. dcmd(setallweather,13,cmdtext);
  4834. dcmd(setalltime,10,cmdtext);
  4835. dcmd(setallworld,11,cmdtext);
  4836. dcmd(setallscore,11,cmdtext);
  4837. dcmd(setallcash,10,cmdtext);
  4838. dcmd(giveallcash,11,cmdtext);
  4839. dcmd(giveallweapon,13,cmdtext);
  4840.  
  4841. //-= No params =-//
  4842. dcmd(lslowmo,7,cmdtext);
  4843. dcmd(lweaps,6,cmdtext);
  4844. dcmd(lammo,5,cmdtext);
  4845. dcmd(god,3,cmdtext);
  4846. dcmd(sgod,4,cmdtext);
  4847. dcmd(godcar,6,cmdtext);
  4848. dcmd(die,3,cmdtext);
  4849. dcmd(jetpack,7,cmdtext);
  4850. dcmd(admins,6,cmdtext);
  4851. dcmd(morning,7,cmdtext);
  4852.  
  4853. //-= Admin special =-//
  4854. dcmd(saveplace,9,cmdtext);
  4855. dcmd(gotoplace,9,cmdtext);
  4856. dcmd(saveskin,8,cmdtext);
  4857. dcmd(useskin,7,cmdtext);
  4858. dcmd(dontuseskin,11,cmdtext);
  4859.  
  4860. //-= Config =-//
  4861. dcmd(disable,7,cmdtext);
  4862. dcmd(enable,6,cmdtext);
  4863. dcmd(setping,7,cmdtext);
  4864. dcmd(setgravity,10,cmdtext);
  4865. dcmd(uconfig,7,cmdtext);
  4866. dcmd(lconfig,7,cmdtext);
  4867. dcmd(forbidname,10,cmdtext);
  4868. dcmd(forbidword,10,cmdtext);
  4869.  
  4870. //-= Misc =-//
  4871. dcmd(setmytime,9,cmdtext);
  4872. dcmd(kill,4,cmdtext);
  4873. dcmd(time,4,cmdtext);
  4874. dcmd(lhelp,5,cmdtext);
  4875. dcmd(lcmds,5,cmdtext);
  4876. dcmd(lcommands,9,cmdtext);
  4877. dcmd(level1,6,cmdtext);
  4878. dcmd(level2,6,cmdtext);
  4879. dcmd(level3,6,cmdtext);
  4880. dcmd(level4,6,cmdtext);
  4881. dcmd(level5,6,cmdtext);
  4882. dcmd(lcredits,8,cmdtext);
  4883. dcmd(serverinfo,10,cmdtext);
  4884. dcmd(getid,5,cmdtext);
  4885. dcmd(getinfo,7,cmdtext);
  4886. dcmd(laston,6,cmdtext);
  4887. dcmd(ping,4,cmdtext);
  4888. dcmd(countdown,9,cmdtext);
  4889. dcmd(duel,4,cmdtext);
  4890. dcmd(asay,4,cmdtext);
  4891. dcmd(password,8,cmdtext);
  4892. dcmd(lockserver,10,cmdtext);
  4893. dcmd(unlockserver,12,cmdtext);
  4894. dcmd(adminarea,9,cmdtext);
  4895. dcmd(announce,8,cmdtext);
  4896. dcmd(announce2,9,cmdtext);
  4897. dcmd(richlist,8,cmdtext);
  4898. dcmd(miniguns,8,cmdtext);
  4899. dcmd(botcheck,8,cmdtext);
  4900. dcmd(object,6,cmdtext);
  4901. dcmd(pickup,6,cmdtext);
  4902. dcmd(move,4,cmdtext);
  4903. dcmd(moveplayer,10,cmdtext);
  4904.  
  4905. #if defined ENABLE_FAKE_CMDS
  4906. dcmd(fakedeath,9,cmdtext);
  4907. dcmd(fakechat,8,cmdtext);
  4908. dcmd(fakecmd,7,cmdtext);
  4909. #endif
  4910.  
  4911. //-= Menu Commands =-//
  4912. #if defined USE_MENUS
  4913. dcmd(lmenu,5,cmdtext);
  4914. dcmd(ltele,5,cmdtext);
  4915. dcmd(lvehicle,8,cmdtext);
  4916. dcmd(lweapons,8,cmdtext);
  4917. dcmd(lweather,8,cmdtext);
  4918. dcmd(ltmenu,6,cmdtext);
  4919. dcmd(ltime,5,cmdtext);
  4920. dcmd(cm,2,cmdtext);
  4921. #endif
  4922.  
  4923.  
  4924.  
  4925.  
  4926. //========================= [ Car Commands ]====================================
  4927.  
  4928. if(!strcmp(cmdtext, "/adminduty", true) || !strcmp(cmdtext, "/aduty", true))
  4929. {
  4930. if(IsPlayerConnected(playerid))
  4931. {
  4932. if(PlayerInfo[playerid][Level] > 0)
  4933. {
  4934. new str[128];
  4935. if(AdminDuty[playerid] == 0)
  4936. {
  4937. AdminDuty[playerid] = 1;
  4938. SetPVarInt(playerid, "SAVEDskin", GetPlayerSkin(playerid));
  4939. SetPlayerSkin(playerid, 0);
  4940. SetPlayerArmour(playerid, 999.0);
  4941. SetPlayerHealth(playerid, 999.0);
  4942. GetPlayerName(playerid, str, sizeof(str));
  4943. UpdateDynamic3DTextLabelText(ADMIN[playerid], 0xFFFFFFFF, "Admin ON-DUTY");
  4944. format(str, sizeof(str), "Admin [ID: %d] %s is now ON duty",playerid, str);
  4945. SendClientMessageToAll(COLOR_RED,str);
  4946. return 1;
  4947. }
  4948. else if(AdminDuty[playerid] == 1)
  4949. {
  4950. AdminDuty[playerid] = 0;
  4951. SetPlayerSkin(playerid, GetPVarInt(playerid, "SAVEDskin"));
  4952. SetPlayerArmour(playerid, 0.0);
  4953. SetPlayerHealth(playerid, 100.0);
  4954. GetPlayerName(playerid, str, sizeof(str));
  4955. UpdateDynamic3DTextLabelText(ADMIN[playerid], 0xFFFFFF00, "_");
  4956. format(str, sizeof(str), "Admin [ID: %d] %s is now OFF duty", playerid, str);
  4957. SendClientMessageToAll(COLOR_WHITE,str);
  4958. return 1;
  4959. }
  4960. }
  4961. else
  4962. {
  4963. SendClientMessage(playerid, COLOR_GREY, "You Are Not Admin");
  4964. return 1;
  4965. }
  4966. }
  4967. return 1;
  4968. }
  4969. return 0;
  4970. }
  4971.  
  4972. if(!strcmp(cmdtext, "/rules")) // before you write /rules test /debug. and then type /rules and check /debug again ok
  4973. {
  4974. new str[1111];
  4975. if(viewedRules[playerid] != 0) // Has viewed rules.
  4976. {
  4977. str = "{FFFFFF}No cheating, glitching or using any script exploit! Every cheater or bug MUST be reported by /report or on forum\nNo ramming or blocking\nNo carjacking! Locking vehicles not owned by you\nNo killing, punching, carkilling or running over\nNo Spamming\nNo flaming, racism or disrespecting other players\nNo asking for admin level";
  4978. ShowPlayerDialog(playerid,6969,DIALOG_STYLE_MSGBOX,"{FF0000}Server Rules",str,"Ok","Back");
  4979. getsMoney[playerid] = 0; // Will NOT get any money.
  4980. }
  4981. else if(viewedRules[playerid] == 0)
  4982. {
  4983. str = "{FFFFFF}No cheating, glitching or using any script exploit! Every cheater or bug MUST be reported by /report or on forum\nNo ramming or blocking\nNo carjacking! Locking vehicles not owned by you\nNo killing, punching, carkilling or running over\nNo Spamming\nNo flaming, racism or disrespecting other players\nNo asking for admin level";
  4984. ShowPlayerDialog(playerid,6969,DIALOG_STYLE_MSGBOX,"{FF0000}Server Rules",str,"Ok","Back");
  4985. viewedRules[playerid] = 1; // Has viewed rules.
  4986. getsMoney[playerid] = 1; // Will get money.
  4987. }
  4988. return 1;
  4989. }
  4990. if(strcmp(cmdtext, "/ltunedcar2", true)==0 || strcmp(cmdtext, "/ltc2", true)==0) {
  4991. if(PlayerInfo[playerid][Level] >= 1) {
  4992. if(IsPlayerInAnyVehicle(playerid)) {
  4993. SendClientMessage(playerid,red,"Error: You already have a vehicle");
  4994. } else {
  4995. if(PlayerInfo[playerid][pCar] != -1) CarDeleter(PlayerInfo[playerid][pCar]);
  4996. new Float:X,Float:Y,Float:Z,Float:Angle,LVehicleIDt; GetPlayerPos(playerid,X,Y,Z); GetPlayerFacingAngle(playerid,Angle);
  4997. LVehicleIDt = CreateVehicle(560,X,Y,Z,Angle,1,-1,-1); PutPlayerInVehicle(playerid,LVehicleIDt,0); CMDMessageToAdmins(playerid,"LTunedCar"); AddVehicleComponent(LVehicleIDt, 1028); AddVehicleComponent(LVehicleIDt, 1030); AddVehicleComponent(LVehicleIDt, 1031); AddVehicleComponent(LVehicleIDt, 1138); AddVehicleComponent(LVehicleIDt, 1140); AddVehicleComponent(LVehicleIDt, 1170);
  4998. AddVehicleComponent(LVehicleIDt, 1028); AddVehicleComponent(LVehicleIDt, 1030); AddVehicleComponent(LVehicleIDt, 1031); AddVehicleComponent(LVehicleIDt, 1138); AddVehicleComponent(LVehicleIDt, 1140); AddVehicleComponent(LVehicleIDt, 1170);
  4999. AddVehicleComponent(LVehicleIDt, 1080); AddVehicleComponent(LVehicleIDt, 1086); AddVehicleComponent(LVehicleIDt, 1087); AddVehicleComponent(LVehicleIDt, 1010); PlayerPlaySound(playerid,1133,0.0,0.0,0.0); ChangeVehiclePaintjob(LVehicleIDt,1);
  5000. SetVehicleVirtualWorld(LVehicleIDt, GetPlayerVirtualWorld(playerid)); LinkVehicleToInterior(LVehicleIDt, GetPlayerInterior(playerid));
  5001. PlayerInfo[playerid][pCar] = LVehicleIDt;
  5002. }
  5003. } else SendClientMessage(playerid,red,"ERROR: You need to be level 1 to use this command");
  5004. return 1; }
  5005. //------------------------------------------------------------------------------
  5006. if(strcmp(cmdtext, "/ltunedcar3", true)==0 || strcmp(cmdtext, "/ltc3", true)==0) {
  5007. if(PlayerInfo[playerid][Level] >= 1) {
  5008. if(IsPlayerInAnyVehicle(playerid)) {
  5009. SendClientMessage(playerid,red,"Error: You already have a vehicle");
  5010. } else {
  5011. if(PlayerInfo[playerid][pCar] != -1) CarDeleter(PlayerInfo[playerid][pCar]);
  5012. new Float:X,Float:Y,Float:Z,Float:Angle,LVehicleIDt; GetPlayerPos(playerid,X,Y,Z); GetPlayerFacingAngle(playerid,Angle);
  5013. LVehicleIDt = CreateVehicle(560,X,Y,Z,Angle,1,-1,-1); PutPlayerInVehicle(playerid,LVehicleIDt,0); CMDMessageToAdmins(playerid,"LTunedCar"); AddVehicleComponent(LVehicleIDt, 1028); AddVehicleComponent(LVehicleIDt, 1030); AddVehicleComponent(LVehicleIDt, 1031); AddVehicleComponent(LVehicleIDt, 1138); AddVehicleComponent(LVehicleIDt, 1140); AddVehicleComponent(LVehicleIDt, 1170);
  5014. AddVehicleComponent(LVehicleIDt, 1080); AddVehicleComponent(LVehicleIDt, 1086); AddVehicleComponent(LVehicleIDt, 1087); AddVehicleComponent(LVehicleIDt, 1010); PlayerPlaySound(playerid,1133,0.0,0.0,0.0); ChangeVehiclePaintjob(LVehicleIDt,2);
  5015. SetVehicleVirtualWorld(LVehicleIDt, GetPlayerVirtualWorld(playerid)); LinkVehicleToInterior(LVehicleIDt, GetPlayerInterior(playerid));
  5016. PlayerInfo[playerid][pCar] = LVehicleIDt;
  5017. }
  5018. } else SendClientMessage(playerid,red,"ERROR: You need to be level 1 to use this command");
  5019. return 1; }
  5020. //------------------------------------------------------------------------------
  5021. if(strcmp(cmdtext, "/ltunedcar4", true)==0 || strcmp(cmdtext, "/ltc4", true)==0) {
  5022. if(PlayerInfo[playerid][Level] >= 1) {
  5023. if(IsPlayerInAnyVehicle(playerid)) {
  5024. SendClientMessage(playerid,red,"Error: You already have a vehicle");
  5025. } else {
  5026. if(PlayerInfo[playerid][pCar] != -1) CarDeleter(PlayerInfo[playerid][pCar]);
  5027. new Float:X,Float:Y,Float:Z,Float:Angle,carid; GetPlayerPos(playerid,X,Y,Z); GetPlayerFacingAngle(playerid,Angle);
  5028. carid = CreateVehicle(559,X,Y,Z,Angle,1,-1,-1); PutPlayerInVehicle(playerid,carid,0); CMDMessageToAdmins(playerid,"LTunedCar");
  5029. AddVehicleComponent(carid,1065); AddVehicleComponent(carid,1067); AddVehicleComponent(carid,1162); AddVehicleComponent(carid,1010); AddVehicleComponent(carid,1073); ChangeVehiclePaintjob(carid,1);
  5030. SetVehicleVirtualWorld(carid, GetPlayerVirtualWorld(playerid)); LinkVehicleToInterior(carid, GetPlayerInterior(playerid));
  5031. PlayerInfo[playerid][pCar] = carid;
  5032. }
  5033. } else SendClientMessage(playerid,red,"ERROR: You need to be level 1 to use this command");
  5034. return 1; }
  5035. //------------------------------------------------------------------------------
  5036. if(strcmp(cmdtext, "/ltunedcar5", true)==0 || strcmp(cmdtext, "/ltc5", true)==0) {
  5037. if(PlayerInfo[playerid][Level] >= 1) {
  5038. if(IsPlayerInAnyVehicle(playerid)) {
  5039. SendClientMessage(playerid,red,"Error: You already have a vehicle");
  5040. } else {
  5041. if(PlayerInfo[playerid][pCar] != -1) CarDeleter(PlayerInfo[playerid][pCar]);
  5042. new Float:X,Float:Y,Float:Z,Float:Angle,carid; GetPlayerPos(playerid,X,Y,Z); GetPlayerFacingAngle(playerid,Angle);
  5043. carid = CreateVehicle(565,X,Y,Z,Angle,1,-1,-1); PutPlayerInVehicle(playerid,carid,0); CMDMessageToAdmins(playerid,"LTunedCar");
  5044. AddVehicleComponent(carid,1046); AddVehicleComponent(carid,1049); AddVehicleComponent(carid,1053); AddVehicleComponent(carid,1010); AddVehicleComponent(carid,1073); ChangeVehiclePaintjob(carid,1);
  5045. SetVehicleVirtualWorld(carid, GetPlayerVirtualWorld(playerid)); LinkVehicleToInterior(carid, GetPlayerInterior(playerid));
  5046. PlayerInfo[playerid][pCar] = carid;
  5047. }
  5048. } else SendClientMessage(playerid,red,"ERROR: You need to be level 1 to use this command");
  5049. return 1; }
  5050. //------------------------------------------------------------------------------
  5051. if(strcmp(cmdtext, "/ltunedcar6", true)==0 || strcmp(cmdtext, "/ltc6", true)==0) {
  5052. if(PlayerInfo[playerid][Level] >= 1) {
  5053. if(IsPlayerInAnyVehicle(playerid)) {
  5054. SendClientMessage(playerid,red,"Error: You already have a vehicle");
  5055. } else {
  5056. if(PlayerInfo[playerid][pCar] != -1) CarDeleter(PlayerInfo[playerid][pCar]);
  5057. new Float:X,Float:Y,Float:Z,Float:Angle,carid; GetPlayerPos(playerid,X,Y,Z); GetPlayerFacingAngle(playerid,Angle);
  5058. carid = CreateVehicle(558,X,Y,Z,Angle,1,-1,-1); PutPlayerInVehicle(playerid,carid,0); CMDMessageToAdmins(playerid,"LTunedCar");
  5059. AddVehicleComponent(carid,1088); AddVehicleComponent(carid,1092); AddVehicleComponent(carid,1139); AddVehicleComponent(carid,1010); AddVehicleComponent(carid,1073); ChangeVehiclePaintjob(carid,1);
  5060. SetVehicleVirtualWorld(carid, GetPlayerVirtualWorld(playerid)); LinkVehicleToInterior(carid, GetPlayerInterior(playerid));
  5061. PlayerInfo[playerid][pCar] = carid;
  5062. }
  5063. } else SendClientMessage(playerid,red,"ERROR: You need to be level 1 to use this command");
  5064. return 1; }
  5065. //------------------------------------------------------------------------------
  5066. if(strcmp(cmdtext, "/ltunedcar7", true)==0 || strcmp(cmdtext, "/ltc7", true)==0) {
  5067. if(PlayerInfo[playerid][Level] >= 1) {
  5068. if(IsPlayerInAnyVehicle(playerid)) {
  5069. SendClientMessage(playerid,red,"Error: You already have a vehicle");
  5070. } else {
  5071. if(PlayerInfo[playerid][pCar] != -1) CarDeleter(PlayerInfo[playerid][pCar]);
  5072. new Float:X,Float:Y,Float:Z,Float:Angle,carid; GetPlayerPos(playerid,X,Y,Z); GetPlayerFacingAngle(playerid,Angle);
  5073. carid = CreateVehicle(561,X,Y,Z,Angle,1,-1,-1); PutPlayerInVehicle(playerid,carid,0); CMDMessageToAdmins(playerid,"LTunedCar");
  5074. AddVehicleComponent(carid,1055); AddVehicleComponent(carid,1058); AddVehicleComponent(carid,1064); AddVehicleComponent(carid,1010); AddVehicleComponent(carid,1073); ChangeVehiclePaintjob(carid,1);
  5075. SetVehicleVirtualWorld(carid, GetPlayerVirtualWorld(playerid)); LinkVehicleToInterior(carid, GetPlayerInterior(playerid));
  5076. PlayerInfo[playerid][pCar] = carid;
  5077. }
  5078. } else SendClientMessage(playerid,red,"ERROR: You need to be level 1 to use this command");
  5079. return 1; }
  5080. //------------------------------------------------------------------------------
  5081. if(strcmp(cmdtext, "/ltunedcar8", true)==0 || strcmp(cmdtext, "/ltc8", true)==0) {
  5082. if(PlayerInfo[playerid][Level] >= 1) {
  5083. if(IsPlayerInAnyVehicle(playerid)) {
  5084. SendClientMessage(playerid,red,"Error: You already have a vehicle");
  5085. } else {
  5086. if(PlayerInfo[playerid][pCar] != -1) CarDeleter(PlayerInfo[playerid][pCar]);
  5087. new Float:X,Float:Y,Float:Z,Float:Angle,carid; GetPlayerPos(playerid,X,Y,Z); GetPlayerFacingAngle(playerid,Angle);
  5088. carid = CreateVehicle(562,X,Y,Z,Angle,1,-1,-1); PutPlayerInVehicle(playerid,carid,0); CMDMessageToAdmins(playerid,"LTunedCar");
  5089. AddVehicleComponent(carid,1034); AddVehicleComponent(carid,1038); AddVehicleComponent(carid,1147); AddVehicleComponent(carid,1010); AddVehicleComponent(carid,1073); ChangeVehiclePaintjob(carid,1);
  5090. SetVehicleVirtualWorld(carid, GetPlayerVirtualWorld(playerid)); LinkVehicleToInterior(carid, GetPlayerInterior(playerid));
  5091. PlayerInfo[playerid][pCar] = carid;
  5092. }
  5093. } else SendClientMessage(playerid,red,"ERROR: You need to be level 1 to use this command");
  5094. return 1; }
  5095. //------------------------------------------------------------------------------
  5096. if(strcmp(cmdtext, "/ltunedcar9", true)==0 || strcmp(cmdtext, "/ltc9", true)==0) {
  5097. if(PlayerInfo[playerid][Level] >= 1) {
  5098. if(IsPlayerInAnyVehicle(playerid)) {
  5099. SendClientMessage(playerid,red,"Error: You already have a vehicle");
  5100. } else {
  5101. if(PlayerInfo[playerid][pCar] != -1) CarDeleter(PlayerInfo[playerid][pCar]);
  5102. new Float:X,Float:Y,Float:Z,Float:Angle,carid; GetPlayerPos(playerid,X,Y,Z); GetPlayerFacingAngle(playerid,Angle);
  5103. carid = CreateVehicle(567,X,Y,Z,Angle,1,-1,-1); PutPlayerInVehicle(playerid,carid,0); CMDMessageToAdmins(playerid,"LTunedCar");
  5104. AddVehicleComponent(carid,1102); AddVehicleComponent(carid,1129); AddVehicleComponent(carid,1133); AddVehicleComponent(carid,1186); AddVehicleComponent(carid,1188); ChangeVehiclePaintjob(carid,1); AddVehicleComponent(carid,1010); AddVehicleComponent(carid,1085); AddVehicleComponent(carid,1087); AddVehicleComponent(carid,1086);
  5105. SetVehicleVirtualWorld(carid, GetPlayerVirtualWorld(playerid)); LinkVehicleToInterior(carid, GetPlayerInterior(playerid));
  5106. PlayerInfo[playerid][pCar] = carid;
  5107. }
  5108. } else SendClientMessage(playerid,red,"ERROR: You need to be level 1 to use this command");
  5109. return 1; }
  5110. //------------------------------------------------------------------------------
  5111. if(strcmp(cmdtext, "/ltunedcar10", true)==0 || strcmp(cmdtext, "/ltc10", true)==0) {
  5112. if(PlayerInfo[playerid][Level] >= 1) {
  5113. if(IsPlayerInAnyVehicle(playerid)) {
  5114. SendClientMessage(playerid,red,"Error: You already have a vehicle");
  5115. } else {
  5116. if(PlayerInfo[playerid][pCar] != -1) CarDeleter(PlayerInfo[playerid][pCar]);
  5117. new Float:X,Float:Y,Float:Z,Float:Angle,carid; GetPlayerPos(playerid,X,Y,Z); GetPlayerFacingAngle(playerid,Angle);
  5118. carid = CreateVehicle(558,X,Y,Z,Angle,1,-1,-1); PutPlayerInVehicle(playerid,carid,0); CMDMessageToAdmins(playerid,"LTunedCar");
  5119. AddVehicleComponent(carid,1092); AddVehicleComponent(carid,1166); AddVehicleComponent(carid,1165); AddVehicleComponent(carid,1090);
  5120. AddVehicleComponent(carid,1094); AddVehicleComponent(carid,1010); AddVehicleComponent(carid,1087); AddVehicleComponent(carid,1163);//SPOILER
  5121. AddVehicleComponent(carid,1091); ChangeVehiclePaintjob(carid,2);
  5122. SetVehicleVirtualWorld(carid, GetPlayerVirtualWorld(playerid)); LinkVehicleToInterior(carid, GetPlayerInterior(playerid));
  5123. PlayerInfo[playerid][pCar] = carid;
  5124. }
  5125. } else SendClientMessage(playerid,red,"ERROR: You need to be level 1 to use this command");
  5126. return 1; }
  5127. //------------------------------------------------------------------------------
  5128. if(strcmp(cmdtext, "/ltunedcar11", true)==0 || strcmp(cmdtext, "/ltc11", true)==0) {
  5129. if(PlayerInfo[playerid][Level] >= 1) {
  5130. if(IsPlayerInAnyVehicle(playerid)) {
  5131. SendClientMessage(playerid,red,"Error: You already have a vehicle");
  5132. } else {
  5133. if(PlayerInfo[playerid][pCar] != -1) CarDeleter(PlayerInfo[playerid][pCar]);
  5134. new Float:X,Float:Y,Float:Z,Float:Angle,carid; GetPlayerPos(playerid,X,Y,Z); GetPlayerFacingAngle(playerid,Angle);
  5135. carid = CreateVehicle(557,X,Y,Z,Angle,1,1,-1); PutPlayerInVehicle(playerid,carid,0); CMDMessageToAdmins(playerid,"LTunedCar");
  5136. AddVehicleComponent(carid,1010); AddVehicleComponent(carid,1081);
  5137. SetVehicleVirtualWorld(carid, GetPlayerVirtualWorld(playerid)); LinkVehicleToInterior(carid, GetPlayerInterior(playerid));
  5138. PlayerInfo[playerid][pCar] = carid;
  5139. }
  5140. } else SendClientMessage(playerid,red,"ERROR: You need to be level 1 to use this command");
  5141. return 1; }
  5142. //------------------------------------------------------------------------------
  5143. if(strcmp(cmdtext, "/ltunedcar12", true)==0 || strcmp(cmdtext, "/ltc12", true)==0) {
  5144. if(PlayerInfo[playerid][Level] >= 1) {
  5145. if(IsPlayerInAnyVehicle(playerid)) {
  5146. SendClientMessage(playerid,red,"Error: You already have a vehicle");
  5147. } else {
  5148. if(PlayerInfo[playerid][pCar] != -1) CarDeleter(PlayerInfo[playerid][pCar]);
  5149. new Float:X,Float:Y,Float:Z,Float:Angle,carid; GetPlayerPos(playerid,X,Y,Z); GetPlayerFacingAngle(playerid,Angle);
  5150. carid = CreateVehicle(535,X,Y,Z,Angle,1,-1,-1); PutPlayerInVehicle(playerid,carid,0); CMDMessageToAdmins(playerid,"LTunedCar");
  5151. ChangeVehiclePaintjob(carid,1); AddVehicleComponent(carid,1109); AddVehicleComponent(carid,1115); AddVehicleComponent(carid,1117); AddVehicleComponent(carid,1073); AddVehicleComponent(carid,1010);
  5152. AddVehicleComponent(carid,1087); AddVehicleComponent(carid,1114); AddVehicleComponent(carid,1081); AddVehicleComponent(carid,1119); AddVehicleComponent(carid,1121);
  5153. SetVehicleVirtualWorld(carid, GetPlayerVirtualWorld(playerid)); LinkVehicleToInterior(carid, GetPlayerInterior(playerid));
  5154. PlayerInfo[playerid][pCar] = carid;
  5155. }
  5156. } else SendClientMessage(playerid,red,"ERROR: You need to be level 1 to use this command");
  5157. return 1; }
  5158. //------------------------------------------------------------------------------
  5159. if(strcmp(cmdtext, "/ltunedcar13", true)==0 || strcmp(cmdtext, "/ltc13", true)==0) {
  5160. if(PlayerInfo[playerid][Level] >= 1) {
  5161. if(IsPlayerInAnyVehicle(playerid)) SendClientMessage(playerid,red,"Error: You already have a vehicle");
  5162. else {
  5163. if(PlayerInfo[playerid][pCar] != -1) CarDeleter(PlayerInfo[playerid][pCar]);
  5164. new Float:X,Float:Y,Float:Z,Float:Angle,carid; GetPlayerPos(playerid,X,Y,Z); GetPlayerFacingAngle(playerid,Angle);
  5165. carid = CreateVehicle(562,X,Y,Z,Angle,1,-1,-1); PutPlayerInVehicle(playerid,carid,0); CMDMessageToAdmins(playerid,"LTunedCar");
  5166. AddVehicleComponent(carid,1034); AddVehicleComponent(carid,1038); AddVehicleComponent(carid,1147);
  5167. AddVehicleComponent(carid,1010); AddVehicleComponent(carid,1073); ChangeVehiclePaintjob(carid,0);
  5168. SetVehicleVirtualWorld(carid, GetPlayerVirtualWorld(playerid)); LinkVehicleToInterior(carid, GetPlayerInterior(playerid));
  5169. PlayerInfo[playerid][pCar] = carid;
  5170. }
  5171. } else SendClientMessage(playerid,red,"ERROR: You need to be level 1 to use this command");
  5172. return 1; }
  5173. //------------------------------------------------------------------------------
  5174. if(strcmp(cmd, "/lp", true) == 0) {
  5175. if(PlayerInfo[playerid][Level] >= 1) {
  5176. if (GetPlayerState(playerid) == 2)
  5177. {
  5178. new VehicleID = GetPlayerVehicleID(playerid), LModel = GetVehicleModel(VehicleID);
  5179. switch(LModel) { case 448,461,462,463,468,471,509,510,521,522,523,581,586, 449: return SendClientMessage(playerid,red,"ERROR: You can not tune this vehicle"); }
  5180. new str[128], Float:pos[3]; format(str, sizeof(str), "%s", cmdtext[2]);
  5181. SetVehicleNumberPlate(VehicleID, str);
  5182. GetPlayerPos(playerid, pos[0], pos[1], pos[2]); SetPlayerPos(playerid, pos[0]+1, pos[1], pos[2]);
  5183. SetVehicleToRespawn(VehicleID); SetVehiclePos(VehicleID, pos[0], pos[1], pos[2]);
  5184. SetTimerEx("TuneLCar",4000,0,"d",VehicleID); PlayerPlaySound(playerid,1133,0.0,0.0,0.0);
  5185. SendClientMessage(playerid, blue, "You have changed your licence plate"); CMDMessageToAdmins(playerid,"LP");
  5186. } else {
  5187. SendClientMessage(playerid,red,"Error: You have to be the driver of a vehicle to change its licence plate"); }
  5188. } else {
  5189. SendClientMessage(playerid,red,"ERROR: You need to be level 1 use this command"); }
  5190. return 1; }
  5191.  
  5192. //------------------------------------------------------------------------------
  5193. if(strcmp(cmd, "/spam", true) == 0) {
  5194. if(PlayerInfo[playerid][Level] >= 5) {
  5195. tmp = strtok(cmdtext, idx);
  5196. if(!strlen(tmp)) {
  5197. SendClientMessage(playerid, red, "USAGE: /spam [Colour] [Text]");
  5198. SendClientMessage(playerid, red, "Colours: 0=black 1=white 2=red 3=orange 4=yellow 5=green 6=blue 7=purple 8=brown 9=pink");
  5199. return 1;
  5200. }
  5201. new Colour = strval(tmp);
  5202. if(Colour > 9 ) return SendClientMessage(playerid, red, "Colours: 0=black 1=white 2=red 3=orange 4=yellow 5=green 6=blue 7=purple 8=brown 9=pink");
  5203. tmp = strtok(cmdtext, idx);
  5204.  
  5205. format(string,sizeof(string),"%s",cmdtext[8]);
  5206.  
  5207. if(Colour == 0) for(new i; i < 50; i++) SendClientMessageToAll(black,string);
  5208. else if(Colour == 1) for(new i; i < 50; i++) SendClientMessageToAll(COLOR_WHITE,string);
  5209. else if(Colour == 2) for(new i; i < 50; i++) SendClientMessageToAll(red,string);
  5210. else if(Colour == 3) for(new i; i < 50; i++) SendClientMessageToAll(orange,string);
  5211. else if(Colour == 4) for(new i; i < 50; i++) SendClientMessageToAll(yellow,string);
  5212. else if(Colour == 5) for(new i; i < 50; i++) SendClientMessageToAll(COLOR_GREEN1,string);
  5213. else if(Colour == 6) for(new i; i < 50; i++) SendClientMessageToAll(COLOR_BLUE,string);
  5214. else if(Colour == 7) for(new i; i < 50; i++) SendClientMessageToAll(COLOR_PURPLE,string);
  5215. else if(Colour == 8) for(new i; i < 50; i++) SendClientMessageToAll(COLOR_BROWN,string);
  5216. else if(Colour == 9) for(new i; i < 50; i++) SendClientMessageToAll(COLOR_PINK,string);
  5217. return 1;
  5218. } else return SendClientMessage(playerid,red,"ERROR: You need to be level 5 to use this command");
  5219. }
  5220.  
  5221. //------------------------------------------------------------------------------
  5222. if(strcmp(cmd, "/write", true) == 0) {
  5223. if(PlayerInfo[playerid][Level] >= 2) {
  5224. tmp = strtok(cmdtext, idx);
  5225. if(!strlen(tmp)) {
  5226. SendClientMessage(playerid, red, "USAGE: /write [Colour] [Text]");
  5227. return SendClientMessage(playerid, red, "Colours: 0=black 1=white 2=red 3=orange 4=yellow 5=green 6=blue 7=purple 8=brown 9=pink");
  5228. }
  5229. new Colour;
  5230. Colour = strval(tmp);
  5231. if(Colour > 9 ) {
  5232. SendClientMessage(playerid, red, "USAGE: /write [Colour] [Text]");
  5233. return SendClientMessage(playerid, red, "Colours: 0=black 1=white 2=red 3=orange 4=yellow 5=green 6=blue 7=purple 8=brown 9=pink");
  5234. }
  5235. tmp = strtok(cmdtext, idx);
  5236.  
  5237. CMDMessageToAdmins(playerid,"WRITE");
  5238.  
  5239. if(Colour == 0) { format(string,sizeof(string),"%s",cmdtext[9]); SendClientMessageToAll(black,string); return 1; }
  5240. else if(Colour == 1) { format(string,sizeof(string),"%s",cmdtext[9]); SendClientMessageToAll(COLOR_WHITE,string); return 1; }
  5241. else if(Colour == 2) { format(string,sizeof(string),"%s",cmdtext[9]); SendClientMessageToAll(red,string); return 1; }
  5242. else if(Colour == 3) { format(string,sizeof(string),"%s",cmdtext[9]); SendClientMessageToAll(orange,string); return 1; }
  5243. else if(Colour == 4) { format(string,sizeof(string),"%s",cmdtext[9]); SendClientMessageToAll(yellow,string); return 1; }
  5244. else if(Colour == 5) { format(string,sizeof(string),"%s",cmdtext[9]); SendClientMessageToAll(COLOR_GREEN1,string); return 1; }
  5245. else if(Colour == 6) { format(string,sizeof(string),"%s",cmdtext[9]); SendClientMessageToAll(COLOR_BLUE,string); return 1; }
  5246. else if(Colour == 7) { format(string,sizeof(string),"%s",cmdtext[9]); SendClientMessageToAll(COLOR_PURPLE,string); return 1; }
  5247. else if(Colour == 8) { format(string,sizeof(string),"%s",cmdtext[9]); SendClientMessageToAll(COLOR_BROWN,string); return 1; }
  5248. else if(Colour == 9) { format(string,sizeof(string),"%s",cmdtext[9]); SendClientMessageToAll(COLOR_PINK,string); return 1; }
  5249. return 1;
  5250. } else return SendClientMessage(playerid,red,"ERROR: You need to be level 1 to use this command");
  5251. }
  5252.  
  5253. //------------------------------------------------------------------------------
  5254. // Remote Console
  5255. //------------------------------------------------------------------------------
  5256.  
  5257. if(strcmp(cmd, "/loadfs", true) == 0) {
  5258. if(PlayerInfo[playerid][Level] >= 5) {
  5259. new str[128]; format(str,sizeof(string),"%s",cmdtext[1]); SendRconCommand(str);
  5260. return SendClientMessage(playerid,COLOR_WHITE,"RCON Command Sent");
  5261. } else return SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");
  5262. }
  5263.  
  5264. if(strcmp(cmd, "/unloadfs", true) == 0) {
  5265. if(PlayerInfo[playerid][Level] >= 5) {
  5266. new str[128]; format(str,sizeof(string),"%s",cmdtext[1]); SendRconCommand(str);
  5267. return SendClientMessage(playerid,COLOR_WHITE,"RCON Command Sent");
  5268. } else return SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");
  5269. }
  5270.  
  5271. if(strcmp(cmd, "/changemode", true) == 0) {
  5272. if(PlayerInfo[playerid][Level] >= 4) {
  5273. new str[128]; format(str,sizeof(string),"%s",cmdtext[1]); SendRconCommand(str);
  5274. return SendClientMessage(playerid,COLOR_WHITE,"RCON Command Sent");
  5275. } else return SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");
  5276. }
  5277.  
  5278. if(strcmp(cmd, "/gmx", true) == 0) {
  5279. if(PlayerInfo[playerid][Level] >= 5) {
  5280. OnFilterScriptExit(); SetTimer("RestartGM",5000,0);
  5281. return SendClientMessage(playerid,COLOR_WHITE,"RCON Command Sent");
  5282. } else return SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");
  5283. }
  5284.  
  5285. if(strcmp(cmd, "/loadladmin", true) == 0) {
  5286. if(PlayerInfo[playerid][Level] >= 5) {
  5287. SendRconCommand("loadfs ladmin4");
  5288. return SendClientMessage(playerid,COLOR_WHITE,"RCON Command Sent");
  5289. } else return SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");
  5290. }
  5291.  
  5292. if(strcmp(cmd, "/unloadladmin", true) == 0) {
  5293. if(PlayerInfo[playerid][Level] >= 5) {
  5294. SendRconCommand("unloadfs ladmin4");
  5295. return SendClientMessage(playerid,COLOR_WHITE,"RCON Command Sent");
  5296. } else return SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");
  5297. }
  5298.  
  5299. if(strcmp(cmd, "/reloadladmin", true) == 0) {
  5300. if(PlayerInfo[playerid][Level] >= 4 || IsPlayerAdmin(playerid) ) {
  5301. SendRconCommand("reloadfs ladmin4");
  5302. SendClientMessage(playerid,COLOR_WHITE,"RCON Command Sent");
  5303. return CMDMessageToAdmins(playerid,"RELOADLADMIN");
  5304. } else return SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");
  5305. }
  5306.  
  5307.  
  5308. return 0;
  5309. }
  5310.  
  5311.  
  5312. //==============================================================================
  5313. #if defined ENABLE_SPEC
  5314.  
  5315. public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
  5316. {
  5317. new x = 0;
  5318. while(x!=MAX_PLAYERS) {
  5319. if( IsPlayerConnected(x) && GetPlayerState(x) == PLAYER_STATE_SPECTATING &&
  5320. PlayerInfo[x][SpecID] == playerid && PlayerInfo[x][SpecType] == ADMIN_SPEC_TYPE_PLAYER )
  5321. {
  5322. SetPlayerInterior(x,newinteriorid);
  5323. }
  5324. x++;
  5325. }
  5326. }
  5327.  
  5328. //==============================================================================
  5329. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  5330. {
  5331. if(GetPlayerState(playerid) == PLAYER_STATE_SPECTATING && PlayerInfo[playerid][SpecID] != INVALID_PLAYER_ID)
  5332. {
  5333. if(newkeys == KEY_JUMP) AdvanceSpectate(playerid);
  5334. else if(newkeys == KEY_SPRINT) ReverseSpectate(playerid);
  5335. }
  5336. return 1;
  5337. }
  5338.  
  5339. //==============================================================================
  5340. public OnPlayerEnterVehicle(playerid, vehicleid) {
  5341. for(new x=0; x<MAX_PLAYERS; x++) {
  5342. if(GetPlayerState(x) == PLAYER_STATE_SPECTATING && PlayerInfo[x][SpecID] == playerid) {
  5343. TogglePlayerSpectating(x, 1);
  5344. PlayerSpectateVehicle(x, vehicleid);
  5345. PlayerInfo[x][SpecType] = ADMIN_SPEC_TYPE_VEHICLE;
  5346. }
  5347. }
  5348. return 1;
  5349. }
  5350.  
  5351. //==============================================================================
  5352. public OnPlayerStateChange(playerid, newstate, oldstate) {
  5353. switch(newstate) {
  5354. case PLAYER_STATE_ONFOOT: {
  5355. switch(oldstate) {
  5356. case PLAYER_STATE_DRIVER: OnPlayerExitVehicle(playerid,255);
  5357. case PLAYER_STATE_PASSENGER: OnPlayerExitVehicle(playerid,255);
  5358. }
  5359. }
  5360. }
  5361. return 1;
  5362. }
  5363.  
  5364. #endif
  5365.  
  5366. //==============================================================================
  5367. public OnPlayerExitVehicle(playerid, vehicleid)
  5368. {
  5369. if(PlayerInfo[playerid][DoorsLocked] == 1) SetVehicleParamsForPlayer(GetPlayerVehicleID(playerid),playerid,false,false);
  5370.  
  5371. #if defined ENABLE_SPEC
  5372. for(new x=0; x<MAX_PLAYERS; x++) {
  5373. if(GetPlayerState(x) == PLAYER_STATE_SPECTATING && PlayerInfo[x][SpecID] == playerid && PlayerInfo[x][SpecType] == ADMIN_SPEC_TYPE_VEHICLE) {
  5374. TogglePlayerSpectating(x, 1);
  5375. PlayerSpectatePlayer(x, playerid);
  5376. PlayerInfo[x][SpecType] = ADMIN_SPEC_TYPE_PLAYER;
  5377. }
  5378. }
  5379. #endif
  5380.  
  5381. return 1;
  5382. }
  5383.  
  5384. //==============================================================================
  5385. #if defined ENABLE_SPEC
  5386.  
  5387. stock StartSpectate(playerid, specplayerid)
  5388. {
  5389. for(new x=0; x<MAX_PLAYERS; x++) {
  5390. if(GetPlayerState(x) == PLAYER_STATE_SPECTATING && PlayerInfo[x][SpecID] == playerid) {
  5391. AdvanceSpectate(x);
  5392. }
  5393. }
  5394. SetPlayerInterior(playerid,GetPlayerInterior(specplayerid));
  5395. TogglePlayerSpectating(playerid, 1);
  5396.  
  5397. if(IsPlayerInAnyVehicle(specplayerid)) {
  5398. PlayerSpectateVehicle(playerid, GetPlayerVehicleID(specplayerid));
  5399. PlayerInfo[playerid][SpecID] = specplayerid;
  5400. PlayerInfo[playerid][SpecType] = ADMIN_SPEC_TYPE_VEHICLE;
  5401. }
  5402. else {
  5403. PlayerSpectatePlayer(playerid, specplayerid);
  5404. PlayerInfo[playerid][SpecID] = specplayerid;
  5405. PlayerInfo[playerid][SpecType] = ADMIN_SPEC_TYPE_PLAYER;
  5406. }
  5407. new string[100], Float:hp, Float:ar;
  5408. GetPlayerName(specplayerid,string,sizeof(string));
  5409. GetPlayerHealth(specplayerid, hp); GetPlayerArmour(specplayerid, ar);
  5410. format(string,sizeof(string),"~n~~n~~n~~n~~n~~n~~n~~n~~w~%s - id:%d~n~< sprint - jump >~n~hp:%0.1f ar:%0.1f $%d", string,specplayerid,hp,ar,GetPlayerMoney(specplayerid) );
  5411. GameTextForPlayer(playerid,string,25000,3);
  5412. return 1;
  5413. }
  5414.  
  5415. stock StopSpectate(playerid)
  5416. {
  5417. TogglePlayerSpectating(playerid, 0);
  5418. PlayerInfo[playerid][SpecID] = INVALID_PLAYER_ID;
  5419. PlayerInfo[playerid][SpecType] = ADMIN_SPEC_TYPE_NONE;
  5420. GameTextForPlayer(playerid,"~n~~n~~n~~w~Spectate mode ended",1000,3);
  5421. return 1;
  5422. }
  5423.  
  5424. stock AdvanceSpectate(playerid)
  5425. {
  5426. if(ConnectedPlayers() == 2) { StopSpectate(playerid); return 1; }
  5427. if(GetPlayerState(playerid) == PLAYER_STATE_SPECTATING && PlayerInfo[playerid][SpecID] != INVALID_PLAYER_ID)
  5428. {
  5429. for(new x=PlayerInfo[playerid][SpecID]+1; x<=MAX_PLAYERS; x++)
  5430. {
  5431. if(x == MAX_PLAYERS) x = 0;
  5432. if(IsPlayerConnected(x) && x != playerid)
  5433. {
  5434. if(GetPlayerState(x) == PLAYER_STATE_SPECTATING && PlayerInfo[x][SpecID] != INVALID_PLAYER_ID || (GetPlayerState(x) != 1 && GetPlayerState(x) != 2 && GetPlayerState(x) != 3))
  5435. {
  5436. continue;
  5437. }
  5438. else
  5439. {
  5440. StartSpectate(playerid, x);
  5441. break;
  5442. }
  5443. }
  5444. }
  5445. }
  5446. return 1;
  5447. }
  5448.  
  5449. stock ReverseSpectate(playerid)
  5450. {
  5451. if(ConnectedPlayers() == 2) { StopSpectate(playerid); return 1; }
  5452. if(GetPlayerState(playerid) == PLAYER_STATE_SPECTATING && PlayerInfo[playerid][SpecID] != INVALID_PLAYER_ID)
  5453. {
  5454. for(new x=PlayerInfo[playerid][SpecID]-1; x>=0; x--)
  5455. {
  5456. if(x == 0) x = MAX_PLAYERS;
  5457. if(IsPlayerConnected(x) && x != playerid)
  5458. {
  5459. if(GetPlayerState(x) == PLAYER_STATE_SPECTATING && PlayerInfo[x][SpecID] != INVALID_PLAYER_ID || (GetPlayerState(x) != 1 && GetPlayerState(x) != 2 && GetPlayerState(x) != 3))
  5460. {
  5461. continue;
  5462. }
  5463. else
  5464. {
  5465. StartSpectate(playerid, x);
  5466. break;
  5467. }
  5468. }
  5469. }
  5470. }
  5471. return 1;
  5472. }
  5473.  
  5474. //-------------------------------------------
  5475. forward PosAfterSpec(playerid);
  5476. public PosAfterSpec(playerid)
  5477. {
  5478. SetPlayerPos(playerid,Pos[playerid][0],Pos[playerid][1],Pos[playerid][2]);
  5479. SetPlayerFacingAngle(playerid,Pos[playerid][3]);
  5480. }
  5481. #endif
  5482.  
  5483. //==============================================================================
  5484. EraseVehicle(vehicleid)
  5485. {
  5486. for(new players=0;players<=MAX_PLAYERS;players++)
  5487. {
  5488. new Float:X,Float:Y,Float:Z;
  5489. if (IsPlayerInVehicle(players,vehicleid))
  5490. {
  5491. GetPlayerPos(players,X,Y,Z);
  5492. SetPlayerPos(players,X,Y,Z+2);
  5493. SetVehicleToRespawn(vehicleid);
  5494. }
  5495. SetVehicleParamsForPlayer(vehicleid,players,0,1);
  5496. }
  5497. SetTimerEx("VehRes",3000,0,"d",vehicleid);
  5498. return 1;
  5499. }
  5500.  
  5501. forward CarSpawner(playerid,model);
  5502. public CarSpawner(playerid,model)
  5503. {
  5504. if(IsPlayerInAnyVehicle(playerid)) SendClientMessage(playerid, red, "You already have a car!");
  5505. else
  5506. {
  5507. new Float:x, Float:y, Float:z, Float:angle;
  5508. GetPlayerPos(playerid, x, y, z);
  5509. GetPlayerFacingAngle(playerid, angle);
  5510. if(PlayerInfo[playerid][pCar] != -1) CarDeleter(PlayerInfo[playerid][pCar]);
  5511. new vehicleid=CreateVehicle(model, x, y, z, angle, -1, -1, -1);
  5512. PutPlayerInVehicle(playerid, vehicleid, 0);
  5513. SetVehicleVirtualWorld(vehicleid, GetPlayerVirtualWorld(playerid));
  5514. LinkVehicleToInterior(vehicleid, GetPlayerInterior(playerid));
  5515. ChangeVehicleColor(vehicleid,0,7);
  5516. PlayerInfo[playerid][pCar] = vehicleid;
  5517. }
  5518. return 1;
  5519. }
  5520.  
  5521. forward CarDeleter(vehicleid);
  5522. public CarDeleter(vehicleid)
  5523. {
  5524. for(new i=0;i<MAX_PLAYERS;i++) {
  5525. new Float:X,Float:Y,Float:Z;
  5526. if(IsPlayerInVehicle(i, vehicleid)) {
  5527. RemovePlayerFromVehicle(i);
  5528. GetPlayerPos(i,X,Y,Z);
  5529. SetPlayerPos(i,X,Y+3,Z);
  5530. }
  5531. SetVehicleParamsForPlayer(vehicleid,i,0,1);
  5532. }
  5533. SetTimerEx("VehRes",1500,0,"i",vehicleid);
  5534. }
  5535.  
  5536. forward VehRes(vehicleid);
  5537. public VehRes(vehicleid)
  5538. {
  5539. DestroyVehicle(vehicleid);
  5540. }
  5541.  
  5542. public OnVehicleSpawn(vehicleid)
  5543. {
  5544. for(new i=0;i<MAX_PLAYERS;i++)
  5545. {
  5546. if(vehicleid==PlayerInfo[i][pCar])
  5547. {
  5548. CarDeleter(vehicleid);
  5549. PlayerInfo[i][pCar]=-1;
  5550. }
  5551. }
  5552. return 1;
  5553. }
  5554. //==============================================================================
  5555. forward TuneLCar(VehicleID);
  5556. public TuneLCar(VehicleID)
  5557. {
  5558. ChangeVehicleColor(VehicleID,0,7);
  5559. AddVehicleComponent(VehicleID, 1010); AddVehicleComponent(VehicleID, 1087);
  5560. }
  5561.  
  5562. //==============================================================================
  5563.  
  5564. public OnRconCommand(cmd[])
  5565. {
  5566. if( strlen(cmd) > 50 || strlen(cmd) == 1 ) return print("Invalid command length (exceeding 50 characters)");
  5567.  
  5568. if(strcmp(cmd, "ladmin", true)==0) {
  5569. print("Rcon Commands");
  5570. print("info, aka, pm, asay, ann, uconfig, chat");
  5571. return true;
  5572. }
  5573.  
  5574. if(strcmp(cmd, "info", true)==0)
  5575. {
  5576. new TotalVehicles = CreateVehicle(411, 0, 0, 0, 0, 0, 0, 1000); DestroyVehicle(TotalVehicles);
  5577. new numo = CreateObject(1245,0,0,1000,0,0,0); DestroyObject(numo);
  5578. new nump = CreatePickup(371,2,0,0,1000); DestroyPickup(nump);
  5579. new gz = GangZoneCreate(3,3,5,5); GangZoneDestroy(gz);
  5580.  
  5581. new model[250], nummodel;
  5582. for(new i=1;i<TotalVehicles;i++) model[GetVehicleModel(i)-400]++;
  5583. for(new i=0;i<250;i++) { if(model[i]!=0) { nummodel++; } }
  5584.  
  5585. new string[256];
  5586. print(" ===========================================================================");
  5587. printf(" Server Info:");
  5588. format(string,sizeof(string),"[ Players Connected: %d || Maximum Players: %d ] [Ratio %0.2f ]",ConnectedPlayers(),GetMaxPlayers(),Float:ConnectedPlayers() / Float:GetMaxPlayers() );
  5589. printf(string);
  5590. format(string,sizeof(string),"[ Vehicles: %d || Models %d || Players In Vehicle: %d ]",TotalVehicles-1,nummodel, InVehCount() );
  5591. printf(string);
  5592. format(string,sizeof(string),"[ InCar %d || OnBike %d ]",InCarCount(),OnBikeCount() );
  5593. printf(string);
  5594. format(string,sizeof(string),"[ Objects: %d || Pickups %d || Gangzones %d]",numo-1, nump, gz);
  5595. printf(string);
  5596. format(string,sizeof(string),"[ Players In Jail %d || Players Frozen %d || Muted %d ]",JailedPlayers(),FrozenPlayers(), MutedPlayers() );
  5597. printf(string);
  5598. format(string,sizeof(string),"[ Admins online %d RCON admins online %d ]",AdminCount(), RconAdminCount() );
  5599. printf(string);
  5600. print(" ===========================================================================");
  5601. return true;
  5602. }
  5603.  
  5604. if(!strcmp(cmd, "pm", .length = 2))
  5605. {
  5606. new arg_1 = argpos(cmd), arg_2 = argpos(cmd, arg_1),targetid = strval(cmd[arg_1]), message[128];
  5607.  
  5608. if ( !cmd[arg_1] || cmd[arg_1] < '0' || cmd[arg_1] > '9' || targetid > MAX_PLAYERS || targetid < 0 || !cmd[arg_2])
  5609. print("Usage: \"pm <playerid> <message>\"");
  5610.  
  5611. else if ( !IsPlayerConnected(targetid) ) print("This player is not connected!");
  5612. else
  5613. {
  5614. format(message, sizeof(message), "[RCON] PM: %s", cmd[arg_2]);
  5615. SendClientMessage(targetid, COLOR_WHITE, message);
  5616. printf("Rcon PM '%s' sent", cmd[arg_1] );
  5617. }
  5618. return true;
  5619. }
  5620.  
  5621. if(!strcmp(cmd, "asay", .length = 4))
  5622. {
  5623. new arg_1 = argpos(cmd), message[128];
  5624.  
  5625. if ( !cmd[arg_1] || cmd[arg_1] < '0') print("Usage: \"asay <message>\" (MessageToAdmins)");
  5626. else
  5627. {
  5628. format(message, sizeof(message), "[RCON] MessageToAdmins: %s", cmd[arg_1]);
  5629. MessageToAdmins(COLOR_WHITE, message);
  5630. printf("Admin Message '%s' sent", cmd[arg_1] );
  5631. }
  5632. return true;
  5633. }
  5634.  
  5635. if(!strcmp(cmd, "ann", .length = 3))
  5636. {
  5637. new arg_1 = argpos(cmd), message[128];
  5638. if ( !cmd[arg_1] || cmd[arg_1] < '0') print("Usage: \"ann <message>\" (GameTextForAll)");
  5639. else
  5640. {
  5641. format(message, sizeof(message), "[RCON]: %s", cmd[arg_1]);
  5642. GameTextForAll(message,3000,3);
  5643. printf("GameText Message '%s' sent", cmd[arg_1] );
  5644. }
  5645. return true;
  5646. }
  5647.  
  5648. if(!strcmp(cmd, "msg", .length = 3))
  5649. {
  5650. new arg_1 = argpos(cmd), message[128];
  5651. if ( !cmd[arg_1] || cmd[arg_1] < '0') print("Usage: \"msg <message>\" (SendClientMessageToAll)");
  5652. else
  5653. {
  5654. format(message, sizeof(message), "[RCON]: %s", cmd[arg_1]);
  5655. SendClientMessageToAll(COLOR_WHITE, message);
  5656. printf("MessageToAll '%s' sent", cmd[arg_1] );
  5657. }
  5658. return true;
  5659. }
  5660.  
  5661. if(strcmp(cmd, "uconfig", true)==0)
  5662. {
  5663. UpdateConfig();
  5664. print("Configuration Successfully Updated");
  5665. return true;
  5666. }
  5667.  
  5668. if(!strcmp(cmd, "aka", .length = 3))
  5669. {
  5670. new arg_1 = argpos(cmd), targetid = strval(cmd[arg_1]);
  5671.  
  5672. if ( !cmd[arg_1] || cmd[arg_1] < '0' || cmd[arg_1] > '9' || targetid > MAX_PLAYERS || targetid < 0)
  5673. print("Usage: aka <playerid>");
  5674. else if ( !IsPlayerConnected(targetid) ) print("This player is not connected!");
  5675. else
  5676. {
  5677. new tmp3[50], playername[MAX_PLAYER_NAME];
  5678. GetPlayerIp(targetid,tmp3,50);
  5679. GetPlayerName(targetid, playername, sizeof(playername));
  5680. printf("AKA: [%s id:%d] [%s] %s", playername, targetid, tmp3, dini_Get("ladmin/config/aka.txt",tmp3) );
  5681. }
  5682. return true;
  5683. }
  5684.  
  5685. if(!strcmp(cmd, "chat", .length = 4)) {
  5686. for(new i = 1; i < MAX_CHAT_LINES; i++) print(Chat[i]);
  5687. return true;
  5688. }
  5689.  
  5690. return 0;
  5691. }
  5692.  
  5693. //==============================================================================
  5694. // Menus
  5695. //==============================================================================
  5696.  
  5697. #if defined USE_MENUS
  5698. public OnPlayerSelectedMenuRow(playerid, row) {
  5699. new Menu:Current = GetPlayerMenu(playerid);
  5700. new string[128];
  5701.  
  5702. if(Current == LMainMenu) {
  5703. switch(row)
  5704. {
  5705. case 0:
  5706. {
  5707. if(PlayerInfo[playerid][Level] >= 4) ShowMenuForPlayer(AdminEnable,playerid);
  5708. else {
  5709. SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");
  5710. TogglePlayerControllable(playerid,true);
  5711. }
  5712. }
  5713. case 1:
  5714. {
  5715. if(PlayerInfo[playerid][Level] >= 4) ShowMenuForPlayer(AdminDisable,playerid);
  5716. else {
  5717. SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");
  5718. TogglePlayerControllable(playerid,true);
  5719. }
  5720. }
  5721. case 2: ShowMenuForPlayer(LWeather,playerid);
  5722. case 3: ShowMenuForPlayer(LTime,playerid);
  5723. case 4: ShowMenuForPlayer(LVehicles,playerid);
  5724. case 5: ShowMenuForPlayer(LCars,playerid);
  5725. case 6:
  5726. {
  5727. if(PlayerInfo[playerid][Level] >= 2)
  5728. {
  5729. if(IsPlayerInAnyVehicle(playerid))
  5730. {
  5731. new LVehicleID = GetPlayerVehicleID(playerid), LModel = GetVehicleModel(LVehicleID);
  5732. switch(LModel)
  5733. {
  5734. case 448,461,462,463,468,471,509,510,521,522,523,581,586,449:
  5735. {
  5736. SendClientMessage(playerid,red,"ERROR: You can not tune this vehicle"); TogglePlayerControllable(playerid,true);
  5737. return 1;
  5738. }
  5739. }
  5740. TogglePlayerControllable(playerid,false); ShowMenuForPlayer(LTuneMenu,playerid);
  5741. }
  5742. else { SendClientMessage(playerid,red,"ERROR: You do not have a vehicle to tune"); TogglePlayerControllable(playerid,true); }
  5743. } else { SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command"); TogglePlayerControllable(playerid,true); }
  5744. }
  5745. case 7:
  5746. {
  5747. if(PlayerInfo[playerid][Level] >= 3) ShowMenuForPlayer(XWeapons,playerid);
  5748. else SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command"); TogglePlayerControllable(playerid,true);
  5749. }
  5750. case 8: ShowMenuForPlayer(LTele,playerid);
  5751. case 9:
  5752. {
  5753. new Menu:Currentxmenu = GetPlayerMenu(playerid);
  5754. HideMenuForPlayer(Currentxmenu,playerid); TogglePlayerControllable(playerid,true);
  5755. }
  5756. }
  5757. return 1;
  5758. }//-------------------------------------------------------------------------
  5759. if(Current == AdminEnable) {
  5760. new adminname[MAX_PLAYER_NAME], file[256]; GetPlayerName(playerid, adminname, sizeof(adminname));
  5761. format(file,sizeof(file),"ladmin/config/Config.ini");
  5762. switch(row){
  5763. case 0: { ServerInfo[AntiSwear] = 1; dini_IntSet(file,"AntiSwear",1); format(string,sizeof(string),"Administrator %s has enabled antiswear",adminname); SendClientMessageToAll(blue,string); }
  5764. case 1: { ServerInfo[NameKick] = 1; dini_IntSet(file,"NameKick",1); format(string,sizeof(string),"Administrator %s has enabled namekick",adminname); SendClientMessageToAll(blue,string); }
  5765. case 2: { ServerInfo[AntiSpam] = 1; dini_IntSet(file,"AntiSpam",1); format(string,sizeof(string),"Administrator %s has enabled antispam",adminname); SendClientMessageToAll(blue,string); }
  5766. case 3: { ServerInfo[MaxPing] = 1000; dini_IntSet(file,"MaxPing",1000); format(string,sizeof(string),"Administrator %s has enabled ping kick",adminname); SendClientMessageToAll(blue,string); }
  5767. case 4: { ServerInfo[ReadCmds] = 1; dini_IntSet(file,"ReadCmds",1); format(string,sizeof(string),"Administrator %s has enabled reading commands",adminname); MessageToAdmins(green,string); }
  5768. case 5: { ServerInfo[ReadPMs] = 1; dini_IntSet(file,"ReadPMs",1); format(string,sizeof(string),"Administrator %s has enabled reading pms",adminname); MessageToAdmins(green,string); }
  5769. case 6: { ServerInfo[NoCaps] = 0; dini_IntSet(file,"NoCaps",0); format(string,sizeof(string),"Administrator %s has allowed captial letters in chat",adminname); SendClientMessageToAll(blue,string); }
  5770. case 7: { ServerInfo[ConnectMessages] = 1; dini_IntSet(file,"ConnectMessages",1); format(string,sizeof(string),"Administrator %s has enabled connect messages",adminname); SendClientMessageToAll(blue,string); }
  5771. case 8: { ServerInfo[AdminCmdMsg] = 1; dini_IntSet(file,"AdminCmdMessages",1); format(string,sizeof(string),"Administrator %s has enabled admin command messages",adminname); MessageToAdmins(green,string); }
  5772. case 9: { ServerInfo[AutoLogin] = 1; dini_IntSet(file,"AutoLogin",1); format(string,sizeof(string),"Administrator %s has enabled auto login",adminname); SendClientMessageToAll(blue,string); }
  5773. case 10: return ChangeMenu(playerid,Current,LMainMenu);
  5774. }
  5775. return TogglePlayerControllable(playerid,true);
  5776. }//------------------------------------------------------------------------
  5777. if(Current == AdminDisable) {
  5778. new adminname[MAX_PLAYER_NAME], file[256]; GetPlayerName(playerid, adminname, sizeof(adminname));
  5779. format(file,sizeof(file),"ladmin/config/Config.ini");
  5780. switch(row){
  5781. case 0: { ServerInfo[AntiSwear] = 0; dini_IntSet(file,"AntiSwear",0); format(string,sizeof(string),"Administrator %s has disabled antiswear",adminname); SendClientMessageToAll(blue,string); }
  5782. case 1: { ServerInfo[NameKick] = 0; dini_IntSet(file,"NameKick",0); format(string,sizeof(string),"Administrator %s has disabled namekick",adminname); SendClientMessageToAll(blue,string); }
  5783. case 2: { ServerInfo[AntiSpam] = 0; dini_IntSet(file,"AntiSpam",0); format(string,sizeof(string),"Administrator %s has disabled antispam",adminname); SendClientMessageToAll(blue,string); }
  5784. case 3: { ServerInfo[MaxPing] = 0; dini_IntSet(file,"MaxPing",0); format(string,sizeof(string),"Administrator %s has disabled ping kick",adminname); SendClientMessageToAll(blue,string); }
  5785. case 4: { ServerInfo[ReadCmds] = 0; dini_IntSet(file,"ReadCmds",0); format(string,sizeof(string),"Administrator %s has disabled reading commands",adminname); MessageToAdmins(green,string); }
  5786. case 5: { ServerInfo[ReadPMs] = 0; dini_IntSet(file,"ReadPMs",0); format(string,sizeof(string),"Administrator %s has disabled reading pms",adminname); MessageToAdmins(green,string); }
  5787. case 6: { ServerInfo[NoCaps] = 1; dini_IntSet(file,"NoCaps",1); format(string,sizeof(string),"Administrator %s has prevented captial letters in chat",adminname); SendClientMessageToAll(blue,string); }
  5788. case 7: { ServerInfo[ConnectMessages] = 0; dini_IntSet(file,"ConnectMessages",0); format(string,sizeof(string),"Administrator %s has disabled connect messages",adminname); SendClientMessageToAll(blue,string); }
  5789. case 8: { ServerInfo[AdminCmdMsg] = 0; dini_IntSet(file,"AdminCmdMessages",0); format(string,sizeof(string),"Administrator %s has disabled admin command messages",adminname); MessageToAdmins(green,string); }
  5790. case 9: { ServerInfo[AutoLogin] = 0; dini_IntSet(file,"AutoLogin",0); format(string,sizeof(string),"Administrator %s has disabled auto login",adminname); SendClientMessageToAll(blue,string); }
  5791. case 10: return ChangeMenu(playerid,Current,LMainMenu);
  5792. }
  5793. return TogglePlayerControllable(playerid,true);
  5794. }//-------------------------------------------------------------------------
  5795. if(Current==LVehicles){
  5796. switch(row){
  5797. case 0: ChangeMenu(playerid,Current,twodoor);
  5798. case 1: ChangeMenu(playerid,Current,fourdoor);
  5799. case 2: ChangeMenu(playerid,Current,fastcar);
  5800. case 3: ChangeMenu(playerid,Current,Othercars);
  5801. case 4: ChangeMenu(playerid,Current,bikes);
  5802. case 5: ChangeMenu(playerid,Current,boats);
  5803. case 6: ChangeMenu(playerid,Current,planes);
  5804. case 7: ChangeMenu(playerid,Current,helicopters);
  5805. case 8: return ChangeMenu(playerid,Current,LMainMenu);
  5806. }
  5807. return 1;
  5808. }
  5809. if(Current==twodoor){
  5810. new vehid;
  5811. switch(row){
  5812. case 0: vehid = 533;
  5813. case 1: vehid = 439;
  5814. case 2: vehid = 555;
  5815. case 3: vehid = 422;
  5816. case 4: vehid = 554;
  5817. case 5: vehid = 575;
  5818. case 6: vehid = 536;
  5819. case 7: vehid = 535;
  5820. case 8: vehid = 576;
  5821. case 9: vehid = 401;
  5822. case 10: vehid = 526;
  5823. case 11: return ChangeMenu(playerid,Current,LVehicles);
  5824. }
  5825. return SelectCar(playerid,vehid,Current);
  5826. }
  5827. if(Current==fourdoor){
  5828. new vehid;
  5829. switch(row){
  5830. case 0: vehid = 404;
  5831. case 1: vehid = 566;
  5832. case 2: vehid = 412;
  5833. case 3: vehid = 445;
  5834. case 4: vehid = 507;
  5835. case 5: vehid = 466;
  5836. case 6: vehid = 546;
  5837. case 7: vehid = 511;
  5838. case 8: vehid = 467;
  5839. case 9: vehid = 426;
  5840. case 10: vehid = 405;
  5841. case 11: return ChangeMenu(playerid,Current,LVehicles);
  5842. }
  5843. return SelectCar(playerid,vehid,Current);
  5844. }
  5845. if(Current==fastcar){
  5846. new vehid;
  5847. switch(row){
  5848. case 0: vehid = 480;
  5849. case 1: vehid = 402;
  5850. case 2: vehid = 415;
  5851. case 3: vehid = 587;
  5852. case 4: vehid = 494;
  5853. case 5: vehid = 411;
  5854. case 6: vehid = 603;
  5855. case 7: vehid = 506;
  5856. case 8: vehid = 451;
  5857. case 9: vehid = 477;
  5858. case 10: vehid = 541;
  5859. case 11: return ChangeMenu(playerid,Current,LVehicles);
  5860. }
  5861. return SelectCar(playerid,vehid,Current);
  5862. }
  5863. if(Current==Othercars){
  5864. new vehid;
  5865. switch(row){
  5866. case 0: vehid = 556;
  5867. case 1: vehid = 408;
  5868. case 2: vehid = 431;
  5869. case 3: vehid = 437;
  5870. case 4: vehid = 427;
  5871. case 5: vehid = 432;
  5872. case 6: vehid = 601;
  5873. case 7: vehid = 524;
  5874. case 8: vehid = 455;
  5875. case 9: vehid = 424;
  5876. case 10: vehid = 573;
  5877. case 11: return ChangeMenu(playerid,Current,LVehicles);
  5878. }
  5879. return SelectCar(playerid,vehid,Current);
  5880. }
  5881. if(Current==bikes){
  5882. new vehid;
  5883. switch(row){
  5884. case 0: vehid = 581;
  5885. case 1: vehid = 481;
  5886. case 2: vehid = 462;
  5887. case 3: vehid = 521;
  5888. case 4: vehid = 463;
  5889. case 5: vehid = 522;
  5890. case 6: vehid = 461;
  5891. case 7: vehid = 448;
  5892. case 8: vehid = 471;
  5893. case 9: vehid = 468;
  5894. case 10: vehid = 586;
  5895. case 11: return ChangeMenu(playerid,Current,LVehicles);
  5896. }
  5897. return SelectCar(playerid,vehid,Current);
  5898. }
  5899. if(Current==boats){
  5900. new vehid;
  5901. switch(row){
  5902. case 0: vehid = 472;
  5903. case 1: vehid = 473;
  5904. case 2: vehid = 493;
  5905. case 3: vehid = 595;
  5906. case 4: vehid = 484;
  5907. case 5: vehid = 430;
  5908. case 6: vehid = 453;
  5909. case 7: vehid = 452;
  5910. case 8: vehid = 446;
  5911. case 9: vehid = 454;
  5912. case 10: return ChangeMenu(playerid,Current,LVehicles);
  5913. }
  5914. return SelectCar(playerid,vehid,Current);
  5915. }
  5916. if(Current==planes){
  5917. new vehid;
  5918. switch(row){
  5919. case 0: vehid = 592;
  5920. case 1: vehid = 577;
  5921. case 2: vehid = 511;
  5922. case 3: vehid = 512;
  5923. case 4: vehid = 593;
  5924. case 5: vehid = 520;
  5925. case 6: vehid = 553;
  5926. case 7: vehid = 476;
  5927. case 8: vehid = 519;
  5928. case 9: vehid = 460;
  5929. case 10: vehid = 513;
  5930. case 11: return ChangeMenu(playerid,Current,LVehicles);
  5931. }
  5932. return SelectCar(playerid,vehid,Current);
  5933. }
  5934. if(Current==helicopters){
  5935. new vehid;
  5936. switch(row){
  5937. case 0: vehid = 548;
  5938. case 1: vehid = 425;
  5939. case 2: vehid = 417;
  5940. case 3: vehid = 487;
  5941. case 4: vehid = 488;
  5942. case 5: vehid = 497;
  5943. case 6: vehid = 563;
  5944. case 7: vehid = 447;
  5945. case 8: vehid = 469;
  5946. case 9: return ChangeMenu(playerid,Current,LVehicles);
  5947. }
  5948. return SelectCar(playerid,vehid,Current);
  5949. }
  5950.  
  5951. if(Current==XWeapons){
  5952. switch(row){
  5953. case 0: { GivePlayerWeapon(playerid,24,500); }
  5954. case 1: { GivePlayerWeapon(playerid,31,500); }
  5955. case 2: { GivePlayerWeapon(playerid,26,500); }
  5956. case 3: { GivePlayerWeapon(playerid,27,500); }
  5957. case 4: { GivePlayerWeapon(playerid,28,500); }
  5958. case 5: { GivePlayerWeapon(playerid,35,500); }
  5959. case 6: { GivePlayerWeapon(playerid,38,1000); }
  5960. case 7: { GivePlayerWeapon(playerid,34,500); }
  5961. case 8: return ChangeMenu(playerid,Current,XWeaponsBig);
  5962. case 9: return ChangeMenu(playerid,Current,XWeaponsSmall);
  5963. case 10: return ChangeMenu(playerid,Current,XWeaponsMore);
  5964. case 11: return ChangeMenu(playerid,Current,LMainMenu);
  5965. }
  5966. return TogglePlayerControllable(playerid,true);
  5967. }
  5968.  
  5969. if(Current==XWeaponsBig){
  5970. switch(row){
  5971. case 0: { GivePlayerWeapon(playerid,25,500); }
  5972. case 1: { GivePlayerWeapon(playerid,30,500); }
  5973. case 2: { GivePlayerWeapon(playerid,33,500); }
  5974. case 3: { GivePlayerWeapon(playerid,36,500); }
  5975. case 4: { GivePlayerWeapon(playerid,37,500); }
  5976. case 5: { GivePlayerWeapon(playerid,29,500); }
  5977. case 6: { GivePlayerWeapon(playerid,32,1000); }
  5978. case 7: return ChangeMenu(playerid,Current,XWeapons);
  5979. }
  5980. return TogglePlayerControllable(playerid,true);
  5981. }
  5982.  
  5983. if(Current==XWeaponsSmall){
  5984. switch(row){
  5985. case 0: { GivePlayerWeapon(playerid,22,500); }//9mm
  5986. case 1: { GivePlayerWeapon(playerid,23,500); }//s9
  5987. case 2: { GivePlayerWeapon(playerid,18,500); }// MC
  5988. case 3: { GivePlayerWeapon(playerid,42,500); }//FE
  5989. case 4: { GivePlayerWeapon(playerid,41,500); }//spraycan
  5990. case 5: { GivePlayerWeapon(playerid,16,500); }//grenade
  5991. case 6: { GivePlayerWeapon(playerid,8,500); }//Katana
  5992. case 7: { GivePlayerWeapon(playerid,9,1000); }//chainsaw
  5993. case 8: return ChangeMenu(playerid,Current,XWeapons);
  5994. }
  5995. return TogglePlayerControllable(playerid,true);
  5996. }
  5997.  
  5998. if(Current==XWeaponsMore){
  5999. switch(row){
  6000. case 0: SetPlayerSpecialAction(playerid, 2);
  6001. case 1: GivePlayerWeapon(playerid,4,500);
  6002. case 2: GivePlayerWeapon(playerid,14,500);
  6003. case 3: GivePlayerWeapon(playerid,43,500);
  6004. case 4: GivePlayerWeapon(playerid,7,500);
  6005. case 5: GivePlayerWeapon(playerid,5,500);
  6006. case 6: GivePlayerWeapon(playerid,2,1000);
  6007. case 7: MaxAmmo(playerid);
  6008. case 8: return ChangeMenu(playerid,Current,XWeapons);
  6009. }
  6010. return TogglePlayerControllable(playerid,true);
  6011. }
  6012.  
  6013. if(Current == LTele)
  6014. {
  6015. switch(row)
  6016. {
  6017. case 0: ChangeMenu(playerid,Current,LasVenturasMenu);
  6018. case 1: ChangeMenu(playerid,Current,LosSantosMenu);
  6019. case 2: ChangeMenu(playerid,Current,SanFierroMenu);
  6020. case 3: ChangeMenu(playerid,Current,DesertMenu);
  6021. case 4: ChangeMenu(playerid,Current,FlintMenu);
  6022. case 5: ChangeMenu(playerid,Current,MountChiliadMenu);
  6023. case 6: ChangeMenu(playerid,Current,InteriorsMenu);
  6024. case 7: return ChangeMenu(playerid,Current,LMainMenu);
  6025. }
  6026. return 1;
  6027. }
  6028.  
  6029. if(Current == LasVenturasMenu)
  6030. {
  6031. switch(row)
  6032. {
  6033. case 0: { SetPlayerPos(playerid,2037.0,1343.0,12.0); SetPlayerInterior(playerid,0); }// strip
  6034. case 1: { SetPlayerPos(playerid,2163.0,1121.0,23); SetPlayerInterior(playerid,0); }// come a lot
  6035. case 2: { SetPlayerPos(playerid,1688.0,1615.0,12.0); SetPlayerInterior(playerid,0); }// lv airport
  6036. case 3: { SetPlayerPos(playerid,2503.0,2764.0,10.0); SetPlayerInterior(playerid,0); }// military fuel
  6037. case 4: { SetPlayerPos(playerid,1418.0,2733.0,10.0); SetPlayerInterior(playerid,0); }// golf lv
  6038. case 5: { SetPlayerPos(playerid,1377.0,2196.0,9.0); SetPlayerInterior(playerid,0); }// pitch match
  6039. case 6: return ChangeMenu(playerid,Current,LTele);
  6040. }
  6041. return TogglePlayerControllable(playerid,true);
  6042. }
  6043.  
  6044. if(Current == LosSantosMenu)
  6045. {
  6046. switch(row)
  6047. {
  6048. case 0: { SetPlayerPos(playerid,2495.0,-1688.0,13.0); SetPlayerInterior(playerid,0); }// ganton
  6049. case 1: { SetPlayerPos(playerid,1979.0,-2241.0,13.0); SetPlayerInterior(playerid,0); }// ls airport
  6050. case 2: { SetPlayerPos(playerid,2744.0,-2435.0,15.0); SetPlayerInterior(playerid,0); }// docks
  6051. case 3: { SetPlayerPos(playerid,1481.0,-1656.0,14.0); SetPlayerInterior(playerid,0); }// square
  6052. case 4: { SetPlayerPos(playerid,1150.0,-2037.0,69.0); SetPlayerInterior(playerid,0); }// veradant bluffs
  6053. case 5: { SetPlayerPos(playerid,425.0,-1815.0,6.0); SetPlayerInterior(playerid,0); }// santa beach
  6054. case 6: { SetPlayerPos(playerid,1240.0,-744.0,95.0); SetPlayerInterior(playerid,0); }// mullholland
  6055. case 7: { SetPlayerPos(playerid,679.0,-1070.0,49.0); SetPlayerInterior(playerid,0); }// richman
  6056. case 8: return ChangeMenu(playerid,Current,LTele);
  6057. }
  6058. return TogglePlayerControllable(playerid,true);
  6059. }
  6060.  
  6061. if(Current == SanFierroMenu)
  6062. {
  6063. switch(row)
  6064. {
  6065. case 0: { SetPlayerPos(playerid,-1990.0,137.0,27.0); SetPlayerInterior(playerid,0); } // sf station
  6066. case 1: { SetPlayerPos(playerid,-1528.0,-206.0,14.0); SetPlayerInterior(playerid,0); }// sf airport
  6067. case 2: { SetPlayerPos(playerid,-2709.0,198.0,4.0); SetPlayerInterior(playerid,0); }// ocean flats
  6068. case 3: { SetPlayerPos(playerid,-2738.0,-295.0,6.0); SetPlayerInterior(playerid,0); }// avispa country club
  6069. case 4: { SetPlayerPos(playerid,-1457.0,465.0,7.0); SetPlayerInterior(playerid,0); }// easter basic docks
  6070. case 5: { SetPlayerPos(playerid,-1853.0,1404.0,7.0); SetPlayerInterior(playerid,0); }// esplanadae north
  6071. case 6: { SetPlayerPos(playerid,-2620.0,1373.0,7.0); SetPlayerInterior(playerid,0); }// battery point
  6072. case 7: return ChangeMenu(playerid,Current,LTele);
  6073. }
  6074. return TogglePlayerControllable(playerid,true);
  6075. }
  6076.  
  6077. if(Current == DesertMenu)
  6078. {
  6079. switch(row)
  6080. {
  6081. case 0: { SetPlayerPos(playerid,416.0,2516.0,16.0); SetPlayerInterior(playerid,0); } // plane graveyard
  6082. case 1: { SetPlayerPos(playerid,81.0,1920.0,17.0); SetPlayerInterior(playerid,0); }// area51
  6083. case 2: { SetPlayerPos(playerid,-324.0,1516.0,75.0); SetPlayerInterior(playerid,0); }// big ear
  6084. case 3: { SetPlayerPos(playerid,-640.0,2051.0,60.0); SetPlayerInterior(playerid,0); }// dam
  6085. case 4: { SetPlayerPos(playerid,-766.0,1545.0,27.0); SetPlayerInterior(playerid,0); }// las barrancas
  6086. case 5: { SetPlayerPos(playerid,-1514.0,2597.0,55.0); SetPlayerInterior(playerid,0); }// el qyebrados
  6087. case 6: { SetPlayerPos(playerid,442.0,1427.0,9.0); SetPlayerInterior(playerid,0); }// actane springs
  6088. case 7: return ChangeMenu(playerid,Current,LTele);
  6089. }
  6090. return TogglePlayerControllable(playerid,true);
  6091. }
  6092.  
  6093. if(Current == FlintMenu)
  6094. {
  6095. switch(row)
  6096. {
  6097. case 0: { SetPlayerPos(playerid,-849.0,-1940.0,13.0); SetPlayerInterior(playerid,0); }// lake
  6098. case 1: { SetPlayerPos(playerid,-1107.0,-1619.0,76.0); SetPlayerInterior(playerid,0); }// leafy hollow
  6099. case 2: { SetPlayerPos(playerid,-1049.0,-1199.0,128.0); SetPlayerInterior(playerid,0); }// the farm
  6100. case 3: { SetPlayerPos(playerid,-1655.0,-2219.0,32.0); SetPlayerInterior(playerid,0); }// shady cabin
  6101. case 4: { SetPlayerPos(playerid,-375.0,-1441.0,25.0); SetPlayerInterior(playerid,0); }// flint range
  6102. case 5: { SetPlayerPos(playerid,-367.0,-1049.0,59.0); SetPlayerInterior(playerid,0); }// beacon hill
  6103. case 6: { SetPlayerPos(playerid,-494.0,-555.0,25.0); SetPlayerInterior(playerid,0); }// fallen tree
  6104. case 7: return ChangeMenu(playerid,Current,LTele);
  6105. }
  6106. return TogglePlayerControllable(playerid,true);
  6107. }
  6108.  
  6109. if(Current == MountChiliadMenu)
  6110. {
  6111. switch(row)
  6112. {
  6113. case 0: { SetPlayerPos(playerid,-2308.0,-1657.0,483.0); SetPlayerInterior(playerid,0); }// chiliad jump
  6114. case 1: { SetPlayerPos(playerid,-2331.0,-2180.0,35.0); SetPlayerInterior(playerid,0); }// bottom chiliad
  6115. case 2: { SetPlayerPos(playerid,-2431.0,-1620.0,526.0); SetPlayerInterior(playerid,0); }// highest point
  6116. case 3: { SetPlayerPos(playerid,-2136.0,-1775.0,208.0); SetPlayerInterior(playerid,0); }// chiliad path
  6117. case 4: return ChangeMenu(playerid,Current,LTele);
  6118. }
  6119. return TogglePlayerControllable(playerid,true);
  6120. }
  6121.  
  6122. if(Current == InteriorsMenu)
  6123. {
  6124. switch(row)
  6125. {
  6126. case 0: { SetPlayerPos(playerid,386.5259, 173.6381, 1008.3828); SetPlayerInterior(playerid,3); }
  6127. case 1: { SetPlayerPos(playerid,288.4723, 170.0647, 1007.1794); SetPlayerInterior(playerid,3); }
  6128. case 2: { SetPlayerPos(playerid,372.5565, -131.3607, 1001.4922); SetPlayerInterior(playerid,5); }
  6129. case 3: { SetPlayerPos(playerid,-1129.8909, 1057.5424, 1346.4141); SetPlayerInterior(playerid,10); }
  6130. case 4: { SetPlayerPos(playerid,2233.9363, 1711.8038, 1011.6312); SetPlayerInterior(playerid,1); }
  6131. case 5: { SetPlayerPos(playerid,2536.5322, -1294.8425, 1044.125); SetPlayerInterior(playerid,2); }
  6132. case 6: { SetPlayerPos(playerid,1267.8407, -776.9587, 1091.9063); SetPlayerInterior(playerid,5); }
  6133. case 7: { SetPlayerPos(playerid,-1421.5618, -663.8262, 1059.5569); SetPlayerInterior(playerid,4); }
  6134. case 8: { SetPlayerPos(playerid,-1401.067, 1265.3706, 1039.8672); SetPlayerInterior(playerid,16); }
  6135. case 9: { SetPlayerPos(playerid,285.8361, -39.0166, 1001.5156); SetPlayerInterior(playerid,1); }
  6136. case 10: { SetPlayerPos(playerid,1727.2853, -1642.9451, 20.2254); SetPlayerInterior(playerid,18); }
  6137. case 11: return ChangeMenu(playerid,Current,LTele);
  6138. }
  6139. return TogglePlayerControllable(playerid,true);
  6140. }
  6141.  
  6142. if(Current == LWeather)
  6143. {
  6144. new adminname[MAX_PLAYER_NAME]; GetPlayerName(playerid, adminname, sizeof(adminname));
  6145. switch(row)
  6146. {
  6147. case 0: { SetWeather(5); PlayerPlaySound(playerid,1057,0.0,0.0,0.0); CMDMessageToAdmins(playerid,"SETWEATHER"); format(string,sizeof(string),"Administrator %s has changed the weather",adminname); SendClientMessageToAll(blue,string); }
  6148. case 1: { SetWeather(19); PlayerPlaySound(playerid,1057,0.0,0.0,0.0); CMDMessageToAdmins(playerid,"SETWEATHER"); format(string,sizeof(string),"Administrator %s has changed the weather",adminname); SendClientMessageToAll(blue,string); }
  6149. case 2: { SetWeather(8); PlayerPlaySound(playerid,1057,0.0,0.0,0.0); CMDMessageToAdmins(playerid,"SETWEATHER"); format(string,sizeof(string),"Administrator %s has changed the weather",adminname); SendClientMessageToAll(blue,string); }
  6150. case 3: { SetWeather(20); PlayerPlaySound(playerid,1057,0.0,0.0,0.0); CMDMessageToAdmins(playerid,"SETWEATHER"); format(string,sizeof(string),"Administrator %s has changed the weather",adminname); SendClientMessageToAll(blue,string); }
  6151. case 4: { SetWeather(9); PlayerPlaySound(playerid,1057,0.0,0.0,0.0); CMDMessageToAdmins(playerid,"SETWEATHER"); format(string,sizeof(string),"Administrator %s has changed the weather",adminname); SendClientMessageToAll(blue,string); }
  6152. case 5: { SetWeather(16); PlayerPlaySound(playerid,1057,0.0,0.0,0.0); CMDMessageToAdmins(playerid,"SETWEATHER"); format(string,sizeof(string),"Administrator %s has changed the weather",adminname); SendClientMessageToAll(blue,string); }
  6153. case 6: { SetWeather(45); PlayerPlaySound(playerid,1057,0.0,0.0,0.0); CMDMessageToAdmins(playerid,"SETWEATHER"); format(string,sizeof(string),"Administrator %s has changed the weather",adminname); SendClientMessageToAll(blue,string); }
  6154. case 7: { SetWeather(44); PlayerPlaySound(playerid,1057,0.0,0.0,0.0); CMDMessageToAdmins(playerid,"SETWEATHER"); format(string,sizeof(string),"Administrator %s has changed the weather",adminname); SendClientMessageToAll(blue,string); }
  6155. case 8: { SetWeather(22); PlayerPlaySound(playerid,1057,0.0,0.0,0.0); CMDMessageToAdmins(playerid,"SETWEATHER"); format(string,sizeof(string),"Administrator %s has changed the weather",adminname); SendClientMessageToAll(blue,string); }
  6156. case 9: { SetWeather(11); PlayerPlaySound(playerid,1057,0.0,0.0,0.0); CMDMessageToAdmins(playerid,"SETWEATHER"); format(string,sizeof(string),"Administrator %s has changed the weather",adminname); SendClientMessageToAll(blue,string); }
  6157. case 10: return ChangeMenu(playerid,Current,LMainMenu);
  6158. }
  6159. return TogglePlayerControllable(playerid,true);
  6160. }
  6161.  
  6162. if(Current == LTuneMenu)
  6163. {
  6164. switch(row)
  6165. {
  6166. case 0: { AddVehicleComponent(GetPlayerVehicleID(playerid),1010); PlayerPlaySound(playerid,1133,0.0,0.0,0.0); SendClientMessage(playerid,blue,"Vehicle Component Added"); }
  6167. case 1: { AddVehicleComponent(GetPlayerVehicleID(playerid),1087); PlayerPlaySound(playerid,1133,0.0,0.0,0.0); SendClientMessage(playerid,blue,"Vehicle Component Added"); }
  6168. case 2: { AddVehicleComponent(GetPlayerVehicleID(playerid),1081); PlayerPlaySound(playerid,1133,0.0,0.0,0.0); SendClientMessage(playerid,blue,"Vehicle Component Added"); }
  6169. case 3: { AddVehicleComponent(GetPlayerVehicleID(playerid),1078); PlayerPlaySound(playerid,1133,0.0,0.0,0.0); SendClientMessage(playerid,blue,"Vehicle Component Added"); }
  6170. case 4: { AddVehicleComponent(GetPlayerVehicleID(playerid),1098); PlayerPlaySound(playerid,1133,0.0,0.0,0.0); SendClientMessage(playerid,blue,"Vehicle Component Added"); }
  6171. case 5: { AddVehicleComponent(GetPlayerVehicleID(playerid),1074); PlayerPlaySound(playerid,1133,0.0,0.0,0.0); SendClientMessage(playerid,blue,"Vehicle Component Added"); }
  6172. case 6: { AddVehicleComponent(GetPlayerVehicleID(playerid),1082); PlayerPlaySound(playerid,1133,0.0,0.0,0.0); SendClientMessage(playerid,blue,"Vehicle Component Added"); }
  6173. case 7: { AddVehicleComponent(GetPlayerVehicleID(playerid),1085); PlayerPlaySound(playerid,1133,0.0,0.0,0.0); SendClientMessage(playerid,blue,"Vehicle Component Added"); }
  6174. case 8: { AddVehicleComponent(GetPlayerVehicleID(playerid),1025); PlayerPlaySound(playerid,1133,0.0,0.0,0.0); SendClientMessage(playerid,blue,"Vehicle Component Added"); }
  6175. case 9: { AddVehicleComponent(GetPlayerVehicleID(playerid),1077); PlayerPlaySound(playerid,1133,0.0,0.0,0.0); SendClientMessage(playerid,blue,"Vehicle Component Added"); }
  6176. case 10: return ChangeMenu(playerid,Current,PaintMenu);
  6177. case 11: return ChangeMenu(playerid,Current,LMainMenu);
  6178. }
  6179. return TogglePlayerControllable(playerid,true);
  6180. }
  6181.  
  6182. if(Current == PaintMenu)
  6183. {
  6184. switch(row)
  6185. {
  6186. case 0: { ChangeVehiclePaintjob(GetPlayerVehicleID(playerid),0); PlayerPlaySound(playerid,1133,0.0,0.0,0.0); SendClientMessage(playerid,blue,"Vehicle Paint Changed To Paint Job 1"); }
  6187. case 1: { ChangeVehiclePaintjob(GetPlayerVehicleID(playerid),1); PlayerPlaySound(playerid,1133,0.0,0.0,0.0); SendClientMessage(playerid,blue,"Vehicle Paint Changed To Paint Job 2"); }
  6188. case 2: { ChangeVehiclePaintjob(GetPlayerVehicleID(playerid),2); PlayerPlaySound(playerid,1133,0.0,0.0,0.0); SendClientMessage(playerid,blue,"Vehicle Paint Changed To Paint Job 3"); }
  6189. case 3: { ChangeVehiclePaintjob(GetPlayerVehicleID(playerid),3); PlayerPlaySound(playerid,1133,0.0,0.0,0.0); SendClientMessage(playerid,blue,"Vehicle Paint Changed To Paint Job 4"); }
  6190. case 4: { ChangeVehiclePaintjob(GetPlayerVehicleID(playerid),4); PlayerPlaySound(playerid,1133,0.0,0.0,0.0); SendClientMessage(playerid,blue,"Vehicle Paint Changed To Paint Job 5"); }
  6191. case 5: { ChangeVehicleColor(GetPlayerVehicleID(playerid),0,0); PlayerPlaySound(playerid,1133,0.0,0.0,0.0); SendClientMessage(playerid,blue,"Vehicle Paint Colour Changed To Black"); }
  6192. case 6: { ChangeVehicleColor(GetPlayerVehicleID(playerid),1,1); PlayerPlaySound(playerid,1133,0.0,0.0,0.0); SendClientMessage(playerid,blue,"Vehicle Paint Colour Changed To White"); }
  6193. case 7: { ChangeVehicleColor(GetPlayerVehicleID(playerid),79,158); PlayerPlaySound(playerid,1133,0.0,0.0,0.0); SendClientMessage(playerid,blue,"Vehicle Paint Colour Changed To Black"); }
  6194. case 8: { ChangeVehicleColor(GetPlayerVehicleID(playerid),146,183); PlayerPlaySound(playerid,1133,0.0,0.0,0.0); SendClientMessage(playerid,blue,"Vehicle Paint Colour Changed To Black"); }
  6195. case 9: return ChangeMenu(playerid,Current,LTuneMenu);
  6196. }
  6197. return TogglePlayerControllable(playerid,true);
  6198. }
  6199.  
  6200. if(Current == LTime)
  6201. {
  6202. new adminname[MAX_PLAYER_NAME]; GetPlayerName(playerid, adminname, sizeof(adminname));
  6203. switch(row)
  6204. {
  6205. case 0: { for(new i = 0; i < MAX_PLAYERS; i++) if(IsPlayerConnected(i)) SetPlayerTime(i,7,0); PlayerPlaySound(playerid,1057,0.0,0.0,0.0); CMDMessageToAdmins(playerid,"LTIME MENU"); format(string,sizeof(string),"Administrator %s has changed the time",adminname); SendClientMessageToAll(blue,string); }
  6206. case 1: { for(new i = 0; i < MAX_PLAYERS; i++) if(IsPlayerConnected(i)) SetPlayerTime(i,12,0); PlayerPlaySound(playerid,1057,0.0,0.0,0.0); CMDMessageToAdmins(playerid,"LTIME MENU"); format(string,sizeof(string),"Administrator %s has changed the time",adminname); SendClientMessageToAll(blue,string); }
  6207. case 2: { for(new i = 0; i < MAX_PLAYERS; i++) if(IsPlayerConnected(i)) SetPlayerTime(i,16,0); PlayerPlaySound(playerid,1057,0.0,0.0,0.0); CMDMessageToAdmins(playerid,"LTIME MENU"); format(string,sizeof(string),"Administrator %s has changed the time",adminname); SendClientMessageToAll(blue,string); }
  6208. case 3: { for(new i = 0; i < MAX_PLAYERS; i++) if(IsPlayerConnected(i)) SetPlayerTime(i,20,0); PlayerPlaySound(playerid,1057,0.0,0.0,0.0); CMDMessageToAdmins(playerid,"LTIME MENU"); format(string,sizeof(string),"Administrator %s has changed the time",adminname); SendClientMessageToAll(blue,string); }
  6209. case 4: { for(new i = 0; i < MAX_PLAYERS; i++) if(IsPlayerConnected(i)) SetPlayerTime(i,0,0); PlayerPlaySound(playerid,1057,0.0,0.0,0.0); CMDMessageToAdmins(playerid,"LTIME MENU"); format(string,sizeof(string),"Administrator %s has changed the time",adminname); SendClientMessageToAll(blue,string); }
  6210. case 5: return ChangeMenu(playerid,Current,LMainMenu);
  6211. }
  6212. return TogglePlayerControllable(playerid,true);
  6213. }
  6214.  
  6215. if(Current == LCars)
  6216. {
  6217. new vehid;
  6218. switch(row) {
  6219. case 0: vehid = 451;//Turismo
  6220. case 1: vehid = 568;//Bandito
  6221. case 2: vehid = 539;//Vortex
  6222. case 3: vehid = 522;//nrg
  6223. case 4: vehid = 601;//s.w.a.t
  6224. case 5: vehid = 425; //hunter
  6225. case 6: vehid = 493;//jetmax
  6226. case 7: vehid = 432;//rhino
  6227. case 8: vehid = 444; //mt
  6228. case 9: vehid = 447; //sea sparrow
  6229. case 10: return ChangeMenu(playerid,Current,LCars2);
  6230. case 11: return ChangeMenu(playerid,Current,LMainMenu);
  6231. }
  6232. return SelectCar(playerid,vehid,Current);
  6233. }
  6234.  
  6235. if(Current == LCars2)
  6236. {
  6237. new vehid;
  6238. switch(row) {
  6239. case 0: vehid = 406;// dumper
  6240. case 1: vehid = 564; //rc tank
  6241. case 2: vehid = 441;//RC Bandit
  6242. case 3: vehid = 464;// rc baron
  6243. case 4: vehid = 501; //rc goblin
  6244. case 5: vehid = 465; //rc raider
  6245. case 6: vehid = 594; // rc cam
  6246. case 7: vehid = 449; //tram
  6247. case 8: return ChangeMenu(playerid,Current,LCars);
  6248. }
  6249. return SelectCar(playerid,vehid,Current);
  6250. }
  6251.  
  6252. return 1;
  6253. }
  6254.  
  6255. //==============================================================================
  6256.  
  6257. public OnPlayerExitedMenu(playerid)
  6258. {
  6259. new Menu:Current = GetPlayerMenu(playerid);
  6260. HideMenuForPlayer(Current,playerid);
  6261. return TogglePlayerControllable(playerid,true);
  6262. }
  6263.  
  6264. //==============================================================================
  6265.  
  6266. ChangeMenu(playerid,Menu:oldmenu,Menu:newmenu)
  6267. {
  6268. if(IsValidMenu(oldmenu)) {
  6269. HideMenuForPlayer(oldmenu,playerid);
  6270. ShowMenuForPlayer(newmenu,playerid);
  6271. }
  6272. return 1;
  6273. }
  6274.  
  6275. CloseMenu(playerid,Menu:oldmenu)
  6276. {
  6277. HideMenuForPlayer(oldmenu,playerid);
  6278. TogglePlayerControllable(playerid,1);
  6279. return 1;
  6280. }
  6281. SelectCar(playerid,vehid,Menu:menu)
  6282. {
  6283. CloseMenu(playerid,menu);
  6284. SetCameraBehindPlayer(playerid);
  6285. CarSpawner(playerid,vehid);
  6286. return 1;
  6287. }
  6288. #endif
  6289.  
  6290. //==============================================================================
  6291. forward countdown();
  6292. public countdown()
  6293. {
  6294. if(CountDown==6) GameTextForAll("~p~Starting...",1000,6);
  6295.  
  6296. CountDown--;
  6297. if(CountDown==0)
  6298. {
  6299. GameTextForAll("~g~GO~ r~!",1000,6);
  6300. CountDown = -1;
  6301. for(new i = 0; i < MAX_PLAYERS; i++) {
  6302. TogglePlayerControllable(i,true);
  6303. PlayerPlaySound(i, 1057, 0.0, 0.0, 0.0);
  6304. }
  6305. return 0;
  6306. }
  6307. else
  6308. {
  6309. new text[7]; format(text,sizeof(text),"~w~%d",CountDown);
  6310. for(new i = 0; i < MAX_PLAYERS; i++) {
  6311. PlayerPlaySound(i, 1056, 0.0, 0.0, 0.0);
  6312. TogglePlayerControllable(i,false);
  6313. }
  6314. GameTextForAll(text,1000,6);
  6315. }
  6316.  
  6317. SetTimer("countdown",1000,0);
  6318. return 0;
  6319. }
  6320.  
  6321. forward Duel(player1, player2);
  6322. public Duel(player1, player2)
  6323. {
  6324. if(cdt[player1]==6) {
  6325. GameTextForPlayer(player1,"~p~Duel Starting...",1000,6); GameTextForPlayer(player2,"~p~Duel Starting...",1000,6);
  6326. }
  6327.  
  6328. cdt[player1]--;
  6329. if(cdt[player1]==0)
  6330. {
  6331. TogglePlayerControllable(player1,1); TogglePlayerControllable(player2,1);
  6332. PlayerPlaySound(player1, 1057, 0.0, 0.0, 0.0); PlayerPlaySound(player2, 1057, 0.0, 0.0, 0.0);
  6333. GameTextForPlayer(player1,"~g~GO~ r~!",1000,6); GameTextForPlayer(player2,"~g~GO~ r~!",1000,6);
  6334. return 0;
  6335. }
  6336. else
  6337. {
  6338. new text[7]; format(text,sizeof(text),"~w~%d",cdt[player1]);
  6339. PlayerPlaySound(player1, 1056, 0.0, 0.0, 0.0); PlayerPlaySound(player2, 1056, 0.0, 0.0, 0.0);
  6340. TogglePlayerControllable(player1,0); TogglePlayerControllable(player2,0);
  6341. GameTextForPlayer(player1,text,1000,6); GameTextForPlayer(player2,text,1000,6);
  6342. }
  6343.  
  6344. SetTimerEx("Duel",1000,0,"dd", player1, player2);
  6345. return 0;
  6346. }
  6347.  
  6348. //==================== [ Jail & Freeze ]========================================
  6349.  
  6350. forward Jail1(player1);
  6351. public Jail1(player1)
  6352. {
  6353. TogglePlayerControllable(player1,false);
  6354. new Float:x, Float:y, Float:z; GetPlayerPos(player1,x,y,z);
  6355. SetPlayerCameraPos(player1,x+10,y,z+10);SetPlayerCameraLookAt(player1,x,y,z);
  6356. SetTimerEx("Jail2",1000,0,"d",player1);
  6357. }
  6358.  
  6359. forward Jail2(player1);
  6360. public Jail2(player1)
  6361. {
  6362. new Float:x, Float:y, Float:z; GetPlayerPos(player1,x,y,z);
  6363. SetPlayerCameraPos(player1,x+7,y,z+5); SetPlayerCameraLookAt(player1,x,y,z);
  6364. if(GetPlayerState(player1) == PLAYER_STATE_ONFOOT) SetPlayerSpecialAction(player1,SPECIAL_ACTION_HANDSUP);
  6365. GameTextForPlayer(player1,"~r~Busted By Admins",3000,3);
  6366. SetTimerEx("Jail3",1000,0,"d",player1);
  6367. }
  6368.  
  6369. forward Jail3(player1);
  6370. public Jail3(player1)
  6371. {
  6372. new Float:x, Float:y, Float:z; GetPlayerPos(player1,x,y,z);
  6373. SetPlayerCameraPos(player1,x+3,y,z); SetPlayerCameraLookAt(player1,x,y,z);
  6374. }
  6375.  
  6376. forward JailPlayer(player1);
  6377. public JailPlayer(player1)
  6378. {
  6379. TogglePlayerControllable(player1,true);
  6380. SetPlayerPos(player1,197.6661,173.8179,1003.0234);
  6381. SetPlayerInterior(player1,3);
  6382. SetCameraBehindPlayer(player1);
  6383. JailTimer[player1] = SetTimerEx("JailRelease",PlayerInfo[player1][JailTime],0,"d",player1);
  6384. PlayerInfo[player1][Jailed] = 1;
  6385. }
  6386.  
  6387. forward JailRelease(player1);
  6388. public JailRelease(player1)
  6389. {
  6390. KillTimer( JailTimer[player1] );
  6391. PlayerInfo[player1][JailTime] = 0; PlayerInfo[player1][Jailed] = 0;
  6392. SetPlayerInterior(player1,0); SetPlayerPos(player1, 0.0, 0.0, 0.0); SpawnPlayer(player1);
  6393. PlayerPlaySound(player1,1057,0.0,0.0,0.0);
  6394. GameTextForPlayer(player1,"~g~Released ~n~From Jail",3000,3);
  6395. }
  6396.  
  6397. //------------------------------------------------------------------------------
  6398. forward UnFreezeMe(player1);
  6399. public UnFreezeMe(player1)
  6400. {
  6401. KillTimer( FreezeTimer[player1] );
  6402. TogglePlayerControllable(player1,true); PlayerInfo[player1][Frozen] = 0;
  6403. PlayerPlaySound(player1,1057,0.0,0.0,0.0); GameTextForPlayer(player1,"~g~Unfrozen",3000,3);
  6404. }
  6405.  
  6406. //==============================================================================
  6407. forward RepairCar(playerid);
  6408. public RepairCar(playerid)
  6409. {
  6410. if(IsPlayerInAnyVehicle(playerid)) SetVehiclePos(GetPlayerVehicleID(playerid),Pos[playerid][0],Pos[playerid][1],Pos[playerid][2]+0.5);
  6411. SetVehicleZAngle(GetPlayerVehicleID(playerid), Pos[playerid][3]);
  6412. SetCameraBehindPlayer(playerid);
  6413. }
  6414.  
  6415. //============================ [ Timers ]=======================================
  6416.  
  6417. forward PingKick();
  6418. public PingKick()
  6419. {
  6420. if(ServerInfo[MaxPing] != 0)
  6421. {
  6422. PingPos++; if(PingPos > PING_MAX_EXCEEDS) PingPos = 0;
  6423.  
  6424. for(new i=0; i<MAX_PLAYERS; i++)
  6425. {
  6426. PlayerInfo[i][pPing][PingPos] = GetPlayerPing(i);
  6427.  
  6428. if(GetPlayerPing(i) > ServerInfo[MaxPing])
  6429. {
  6430. if(PlayerInfo[i][PingCount] == 0) PlayerInfo[i][PingTime] = TimeStamp();
  6431.  
  6432. PlayerInfo[i][PingCount]++;
  6433. if(TimeStamp() - PlayerInfo[i][PingTime] > PING_TIMELIMIT)
  6434. {
  6435. PlayerInfo[i][PingTime] = TimeStamp();
  6436. PlayerInfo[i][PingCount] = 1;
  6437. }
  6438. else if(PlayerInfo[i][PingCount] >= PING_MAX_EXCEEDS)
  6439. {
  6440. new Sum, Average, x, string[128];
  6441. while (x < PING_MAX_EXCEEDS) {
  6442. Sum += PlayerInfo[i][pPing][x];
  6443. x++;
  6444. }
  6445. Average = (Sum / PING_MAX_EXCEEDS);
  6446. format(string,sizeof(string),"%s has been kicked from the server. (Reason: High Ping (%d) | Average (%d) | Max Allowed (%d) )", PlayerName2(i), GetPlayerPing(i), Average, ServerInfo[MaxPing] );
  6447. SendClientMessageToAll(grey,string);
  6448. SaveToFile("KickLog",string);
  6449. Kick(i);
  6450. }
  6451. }
  6452. else if(GetPlayerPing(i) < 1 && ServerInfo[AntiBot] == 1)
  6453. {
  6454. PlayerInfo[i][BotPing]++;
  6455. if(PlayerInfo[i][BotPing] >= 3) BotCheck(i);
  6456. }
  6457. else
  6458. {
  6459. PlayerInfo[i][BotPing] = 0;
  6460. }
  6461. }
  6462. }
  6463.  
  6464. #if defined ANTI_MINIGUN
  6465. new weap, ammo;
  6466. for(new i = 0; i < MAX_PLAYERS; i++)
  6467. {
  6468. if(IsPlayerConnected(i) && PlayerInfo[i][Level] == 0)
  6469. {
  6470. GetPlayerWeaponData(i, 7, weap, ammo);
  6471. if(ammo > 1 && weap == 38) {
  6472. new string[128]; format(string,sizeof(string),"INFO: %s has a mingun with %d ammo", PlayerName2(i), ammo);
  6473. MessageToAdmins(COLOR_WHITE,string);
  6474. }
  6475. }
  6476. }
  6477. #endif
  6478. }
  6479.  
  6480. //==============================================================================
  6481. forward GodUpdate();
  6482. public GodUpdate()
  6483. {
  6484. for(new i = 0; i < MAX_PLAYERS; i++)
  6485. {
  6486. if(IsPlayerConnected(i) && PlayerInfo[i][God] == 1)
  6487. {
  6488. SetPlayerHealth(i,100000);
  6489. }
  6490. if(IsPlayerConnected(i) && PlayerInfo[i][GodCar] == 1 && IsPlayerInAnyVehicle(i))
  6491. {
  6492. SetVehicleHealth(GetPlayerVehicleID(i),10000);
  6493. }
  6494. }
  6495. }
  6496.  
  6497. //==========================[ Server Info ]====================================
  6498.  
  6499. forward ConnectedPlayers();
  6500. public ConnectedPlayers()
  6501. {
  6502. new Connected;
  6503. for(new i = 0; i < MAX_PLAYERS; i++) if(IsPlayerConnected(i)) Connected++;
  6504. return Connected;
  6505. }
  6506.  
  6507. forward JailedPlayers();
  6508. public JailedPlayers()
  6509. {
  6510. new JailedCount;
  6511. for(new i = 0; i < MAX_PLAYERS; i++) if(IsPlayerConnected(i) && PlayerInfo[i][Jailed] == 1) JailedCount++;
  6512. return JailedCount;
  6513. }
  6514.  
  6515. forward FrozenPlayers();
  6516. public FrozenPlayers()
  6517. {
  6518. new FrozenCount; for(new i = 0; i < MAX_PLAYERS; i++) if(IsPlayerConnected(i) && PlayerInfo[i][Frozen] == 1) FrozenCount++;
  6519. return FrozenCount;
  6520. }
  6521.  
  6522. forward MutedPlayers();
  6523. public MutedPlayers()
  6524. {
  6525. new Count; for(new i = 0; i < MAX_PLAYERS; i++) if(IsPlayerConnected(i) && PlayerInfo[i][Muted] == 1) Count++;
  6526. return Count;
  6527. }
  6528.  
  6529. forward InVehCount();
  6530. public InVehCount()
  6531. {
  6532. new InVeh; for(new i = 0; i < MAX_PLAYERS; i++) if(IsPlayerConnected(i) && IsPlayerInAnyVehicle(i)) InVeh++;
  6533. return InVeh;
  6534. }
  6535.  
  6536. forward OnBikeCount();
  6537. public OnBikeCount()
  6538. {
  6539. new BikeCount;
  6540. for(new i = 0; i < MAX_PLAYERS; i++) if(IsPlayerConnected(i) && IsPlayerInAnyVehicle(i)) {
  6541. new LModel = GetVehicleModel(GetPlayerVehicleID(i));
  6542. switch(LModel)
  6543. {
  6544. case 448,461,462,463,468,471,509,510,521,522,523,581,586: BikeCount++;
  6545. }
  6546. }
  6547. return BikeCount;
  6548. }
  6549.  
  6550. forward InCarCount();
  6551. public InCarCount()
  6552. {
  6553. new PInCarCount;
  6554. for(new i = 0; i < MAX_PLAYERS; i++) {
  6555. if(IsPlayerConnected(i) && IsPlayerInAnyVehicle(i)) {
  6556. new LModel = GetVehicleModel(GetPlayerVehicleID(i));
  6557. switch(LModel)
  6558. {
  6559. case 448,461,462,463,468,471,509,510,521,522,523,581,586: {}
  6560. default: PInCarCount++;
  6561. }
  6562. }
  6563. }
  6564. return PInCarCount;
  6565. }
  6566.  
  6567. forward AdminCount();
  6568. public AdminCount()
  6569. {
  6570. new LAdminCount;
  6571. for(new i = 0; i < MAX_PLAYERS; i++) if(IsPlayerConnected(i) && PlayerInfo[i][Level] >= 1) LAdminCount++;
  6572. return LAdminCount;
  6573. }
  6574.  
  6575. forward RconAdminCount();
  6576. public RconAdminCount()
  6577. {
  6578. new rAdminCount;
  6579. for(new i = 0; i < MAX_PLAYERS; i++) if(IsPlayerConnected(i) && IsPlayerAdmin(i)) rAdminCount++;
  6580. return rAdminCount;
  6581. }
  6582.  
  6583. //==========================[ Remote Console ]==================================
  6584.  
  6585. forward RestartGM();
  6586. public RestartGM()
  6587. {
  6588. SendRconCommand("gmx");
  6589. }
  6590.  
  6591. forward UnloadFS();
  6592. public UnloadFS()
  6593. {
  6594. SendRconCommand("unloadfs ladmin4v2");
  6595. }
  6596.  
  6597. forward PrintWarning(const string[]);
  6598. public PrintWarning(const string[])
  6599. {
  6600. new str[128];
  6601. print("\n\n> WARNING:\n");
  6602. format(str, sizeof(str), " The %s folder is missing from scriptfiles", string);
  6603. print(str);
  6604. print("\n Please Create This Folder And Reload the Filterscript\n\n");
  6605. }
  6606.  
  6607. //============================[ Bot Check ]=====================================
  6608. forward BotCheck(playerid);
  6609. public BotCheck(playerid)
  6610. {
  6611. if(IsPlayerConnected(playerid))
  6612. {
  6613. if(GetPlayerPing(playerid) < 1)
  6614. {
  6615. new string[128], ip[20]; GetPlayerIp(playerid,ip,sizeof(ip));
  6616. format(string,sizeof(string),"BOT: %s id:%d ip: %s ping: %d",PlayerName2(playerid),playerid,ip,GetPlayerPing(playerid));
  6617. SaveToFile("BotKickLog",string);
  6618. SaveToFile("KickLog",string);
  6619. printf("[ADMIN] Possible bot has been detected (Kicked %s ID:%d)", PlayerName2(playerid), playerid);
  6620. Kick(playerid);
  6621. }
  6622. }
  6623. }
  6624.  
  6625. //==============================================================================
  6626. forward PutAtPos(playerid);
  6627. public PutAtPos(playerid)
  6628. {
  6629. if (dUserINT(PlayerName2(playerid)).("x")!=0) {
  6630. SetPlayerPos(playerid, float(dUserINT(PlayerName2(playerid)).("x")), float(dUserINT(PlayerName2(playerid)).("y")), float(dUserINT(PlayerName2(playerid)).("z")) );
  6631. SetPlayerInterior(playerid, (dUserINT(PlayerName2(playerid)).("interior")) );
  6632. }
  6633. }
  6634.  
  6635. forward PutAtDisconectPos(playerid);
  6636. public PutAtDisconectPos(playerid)
  6637. {
  6638. if (dUserINT(PlayerName2(playerid)).("x1")!=0) {
  6639. SetPlayerPos(playerid, float(dUserINT(PlayerName2(playerid)).("x1")), float(dUserINT(PlayerName2(playerid)).("y1")), float(dUserINT(PlayerName2(playerid)).("z1")) );
  6640. SetPlayerInterior(playerid, (dUserINT(PlayerName2(playerid)).("interior1")) );
  6641. }
  6642. }
  6643.  
  6644. TotalGameTime(playerid, &h=0, &m=0, &s=0)
  6645. {
  6646. PlayerInfo[playerid][TotalTime] = ( (gettime() - PlayerInfo[playerid][ConnectTime]) + (PlayerInfo[playerid][hours]*60*60) + (PlayerInfo[playerid][mins]*60) + (PlayerInfo[playerid][secs]) );
  6647.  
  6648. h = floatround(PlayerInfo[playerid][TotalTime] / 3600, floatround_floor);
  6649. m = floatround(PlayerInfo[playerid][TotalTime] / 60, floatround_floor) % 60;
  6650. s = floatround(PlayerInfo[playerid][TotalTime] % 60, floatround_floor);
  6651.  
  6652. return PlayerInfo[playerid][TotalTime];
  6653. }
  6654.  
  6655. //==============================================================================
  6656. MaxAmmo(playerid)
  6657. {
  6658. new slot, weap, ammo;
  6659. for (slot = 0; slot < 14; slot++)
  6660. {
  6661. GetPlayerWeaponData(playerid, slot, weap, ammo);
  6662. if(IsValidWeapon(weap))
  6663. {
  6664. GivePlayerWeapon(playerid, weap, 99999);
  6665. }
  6666. }
  6667. return 1;
  6668. }
  6669.  
  6670. stock PlayerName2(playerid) {
  6671. new name[MAX_PLAYER_NAME];
  6672. GetPlayerName(playerid, name, sizeof(name));
  6673. return name;
  6674. }
  6675.  
  6676. stock pName(playerid)
  6677. {
  6678. new name[MAX_PLAYER_NAME];
  6679. GetPlayerName(playerid, name, sizeof(name));
  6680. return name;
  6681. }
  6682.  
  6683. stock TimeStamp()
  6684. {
  6685. new time = GetTickCount() / 1000;
  6686. return time;
  6687. }
  6688.  
  6689. stock PlayerSoundForAll(SoundID)
  6690. {
  6691. for(new i = 0; i < MAX_PLAYERS; i++) PlayerPlaySound(i, SoundID, 0.0, 0.0, 0.0);
  6692. }
  6693.  
  6694. stock IsValidWeapon(weaponid)
  6695. {
  6696. if (weaponid > 0 && weaponid < 19 || weaponid > 21 && weaponid < 47) return 1;
  6697. return 0;
  6698. }
  6699.  
  6700. stock IsValidSkin(SkinID)
  6701. {
  6702. if((SkinID == 0)||(SkinID == 7)||(SkinID >= 9 && SkinID <= 41)||(SkinID >= 43 && SkinID <= 64)||(SkinID >= 66 && SkinID <= 73)||(SkinID >= 75 && SkinID <= 85)||(SkinID >= 87 && SkinID <= 118)||(SkinID >= 120 && SkinID <= 148)||(SkinID >= 150 && SkinID <= 207)||(SkinID >= 209 && SkinID <= 264)||(SkinID >= 274 && SkinID <= 288)||(SkinID >= 290 && SkinID <= 299)) return true;
  6703. else return false;
  6704. }
  6705.  
  6706. stock IsNumeric(string[])
  6707. {
  6708. for (new i = 0, j = strlen(string); i < j; i++)
  6709. {
  6710. if (string[i] > '9' || string[i] < '0') return 0;
  6711. }
  6712. return 1;
  6713. }
  6714.  
  6715. stock ReturnPlayerID(PlayerName[])
  6716. {
  6717. for(new i = 0; i < MAX_PLAYERS; i++)
  6718. {
  6719. if(IsPlayerConnected(i))
  6720. {
  6721. if(strfind(pName(i),PlayerName,true)!=-1) return i;
  6722. }
  6723. }
  6724. return INVALID_PLAYER_ID;
  6725. }
  6726.  
  6727. GetVehicleModelIDFromName(vname[])
  6728. {
  6729. for(new i = 0; i < 211; i++)
  6730. {
  6731. if ( strfind(VehicleNames[i], vname, true) != -1 )
  6732. return i + 400;
  6733. }
  6734. return -1;
  6735. }
  6736.  
  6737. stock GetWeaponIDFromName(WeaponName[])
  6738. {
  6739. if(strfind("molotov",WeaponName,true)!=-1) return 18;
  6740. for(new i = 0; i <= 46; i++)
  6741. {
  6742. switch(i)
  6743. {
  6744. case 0,19,20,21,44,45: continue;
  6745. default:
  6746. {
  6747. new name[32]; GetWeaponName(i,name,32);
  6748. if(strfind(name,WeaponName,true) != -1) return i;
  6749. }
  6750. }
  6751. }
  6752. return -1;
  6753. }
  6754.  
  6755. stock DisableWord(const badword[], text[])
  6756. {
  6757. for(new i=0; i<256; i++)
  6758. {
  6759. if (strfind(text[i], badword, true) == 0)
  6760. {
  6761. for(new a=0; a<256; a++)
  6762. {
  6763. if (a >= i && a < i+strlen(badword)) text[a]='*';
  6764. }
  6765. }
  6766. }
  6767. }
  6768.  
  6769. argpos(const string[], idx = 0, sep = ' ')// (by yom)
  6770. {
  6771. for(new i = idx, j = strlen(string); i < j; i++)
  6772. if (string[i] == sep && string[i+1] != sep)
  6773. return i+1;
  6774.  
  6775. return -1;
  6776. }
  6777.  
  6778. //==============================================================================
  6779. forward MessageToAdmins(color,const string[]);
  6780. public MessageToAdmins(color,const string[])
  6781. {
  6782. for(new i = 0; i < MAX_PLAYERS; i++)
  6783. {
  6784. if(IsPlayerConnected(i) == 1) if (PlayerInfo[i][Level] >= 1) SendClientMessage(i, color, string);
  6785. }
  6786. return 1;
  6787. }
  6788.  
  6789. stock CMDMessageToAdmins(playerid,command[])
  6790. {
  6791. if(ServerInfo[AdminCmdMsg] == 0) return 1;
  6792. new string[128]; GetPlayerName(playerid,string,sizeof(string));
  6793. format(string,sizeof(string),"[ADMIN] %s has used the command %s",string,command);
  6794. return MessageToAdmins(blue,string);
  6795. }
  6796.  
  6797. //==============================================================================
  6798. SavePlayer(playerid)
  6799. {
  6800. dUserSetINT(PlayerName2(playerid)).("money",GetPlayerMoney(playerid));
  6801. dUserSetINT(PlayerName2(playerid)).("vrules",viewedRules[playerid]);
  6802. dUserSetINT(PlayerName2(playerid)).("kills",PlayerInfo[playerid][Kills]);
  6803. dUserSetINT(PlayerName2(playerid)).("deaths",PlayerInfo[playerid][Deaths]);
  6804. dUserSetINT(PlayerName2(playerid)).("Score",GetPlayerScore(playerid));
  6805. dUserSetINT(PlayerName2(playerid)).("Wanted",GetPlayerWantedLevel(playerid));
  6806. new h, m, s;
  6807. TotalGameTime(playerid, h, m, s);
  6808.  
  6809. dUserSetINT(PlayerName2(playerid)).("hours", h);
  6810. dUserSetINT(PlayerName2(playerid)).("minutes", m);
  6811. dUserSetINT(PlayerName2(playerid)).("seconds", s);
  6812.  
  6813. new Float:x,Float:y,Float:z, interior;
  6814. GetPlayerPos(playerid,x,y,z); interior = GetPlayerInterior(playerid);
  6815. dUserSetINT(PlayerName2(playerid)).("x1",floatround(x));
  6816. dUserSetINT(PlayerName2(playerid)).("y1",floatround(y));
  6817. dUserSetINT(PlayerName2(playerid)).("z1",floatround(z));
  6818. dUserSetINT(PlayerName2(playerid)).("interior1",interior);
  6819.  
  6820. new weap1, ammo1, weap2, ammo2, weap3, ammo3, weap4, ammo4, weap5, ammo5, weap6, ammo6;
  6821. GetPlayerWeaponData(playerid,2,weap1,ammo1);// hand gun
  6822. GetPlayerWeaponData(playerid,3,weap2,ammo2);//shotgun
  6823. GetPlayerWeaponData(playerid,4,weap3,ammo3);// SMG
  6824. GetPlayerWeaponData(playerid,5,weap4,ammo4);// AK47 / M4
  6825. GetPlayerWeaponData(playerid,6,weap5,ammo5);// rifle
  6826. GetPlayerWeaponData(playerid,7,weap6,ammo6);// rocket launcher
  6827. dUserSetINT(PlayerName2(playerid)).("weap1",weap1); dUserSetINT(PlayerName2(playerid)).("weap1ammo",ammo1);
  6828. dUserSetINT(PlayerName2(playerid)).("weap2",weap2); dUserSetINT(PlayerName2(playerid)).("weap2ammo",ammo2);
  6829. dUserSetINT(PlayerName2(playerid)).("weap3",weap3); dUserSetINT(PlayerName2(playerid)).("weap3ammo",ammo3);
  6830. dUserSetINT(PlayerName2(playerid)).("weap4",weap4); dUserSetINT(PlayerName2(playerid)).("weap4ammo",ammo4);
  6831. dUserSetINT(PlayerName2(playerid)).("weap5",weap5); dUserSetINT(PlayerName2(playerid)).("weap5ammo",ammo5);
  6832. dUserSetINT(PlayerName2(playerid)).("weap6",weap6); dUserSetINT(PlayerName2(playerid)).("weap6ammo",ammo6);
  6833.  
  6834. new Float:health; GetPlayerHealth(playerid, Float:health);
  6835. new Float:armour; GetPlayerArmour(playerid, Float:armour);
  6836. new year,month,day; getdate(year, month, day);
  6837. new strdate[20]; format(strdate, sizeof(strdate), "%d.%d.%d",day,month,year);
  6838. new file[256]; format(file,sizeof(file),"/ladmin/users/%s.sav",udb_encode(PlayerName2(playerid)) );
  6839.  
  6840. dUserSetINT(PlayerName2(playerid)).("health",floatround(health));
  6841. dUserSetINT(PlayerName2(playerid)).("armour",floatround(armour));
  6842. dini_Set(file,"LastOn",strdate);
  6843. dUserSetINT(PlayerName2(playerid)).("loggedin",0);
  6844. dUserSetINT(PlayerName2(playerid)).("TimesOnServer",(dUserINT(PlayerName2(playerid)).("TimesOnServer"))+1);
  6845. }
  6846.  
  6847. //==============================================================================
  6848. #if defined USE_MENUS
  6849. DestroyAllMenus()
  6850. {
  6851. DestroyMenu(LVehicles); DestroyMenu(twodoor); DestroyMenu(fourdoor); DestroyMenu(fastcar); DestroyMenu(Othercars);
  6852. DestroyMenu(bikes); DestroyMenu(boats); DestroyMenu(planes); DestroyMenu(helicopters ); DestroyMenu(LTime);
  6853. DestroyMenu(XWeapons); DestroyMenu(XWeaponsBig); DestroyMenu(XWeaponsSmall); DestroyMenu(XWeaponsMore);
  6854. DestroyMenu(LWeather); DestroyMenu(LTuneMenu); DestroyMenu(PaintMenu); DestroyMenu(LCars); DestroyMenu(LCars2);
  6855. DestroyMenu(LTele); DestroyMenu(LasVenturasMenu); DestroyMenu(LosSantosMenu); DestroyMenu(SanFierroMenu);
  6856. DestroyMenu(LMainMenu); DestroyMenu(DesertMenu); DestroyMenu(FlintMenu); DestroyMenu(MountChiliadMenu); DestroyMenu(InteriorsMenu);
  6857. DestroyMenu(AdminEnable); DestroyMenu(AdminDisable);
  6858. }
  6859. #endif
  6860.  
  6861. //==============================================================================
  6862. #if defined DISPLAY_CONFIG
  6863. stock ConfigInConsole()
  6864. {
  6865. print(" ________ Configuration ___________\n");
  6866. print(" __________ Chat & Messages ______");
  6867. if(ServerInfo[AntiSwear] == 0) print(" Anti Swear: Disabled "); else print(" Anti Swear: Enabled ");
  6868. if(ServerInfo[AntiSpam] == 0) print(" Anti Spam: Disabled "); else print(" Anti Spam: Enabled ");
  6869. if(ServerInfo[ReadCmds] == 0) print(" Read Cmds: Disabled "); else print(" Read Cmds: Enabled ");
  6870. if(ServerInfo[ReadPMs] == 0) print(" Read PMs: Disabled "); else print(" Read PMs: Enabled ");
  6871. if(ServerInfo[ConnectMessages] == 0) print(" Connect Messages: Disabled "); else print(" Connect Messages: Enabled ");
  6872. if(ServerInfo[AdminCmdMsg] == 0) print(" Admin Cmd Messages: Disabled "); else print(" Admin Cmd Messages: Enabled ");
  6873. if(ServerInfo[ReadPMs] == 0) print(" Anti capital letters: Disabled \n"); else print(" Anti capital letters: Enabled \n");
  6874. print(" __________ Skins ________________");
  6875. if(ServerInfo[AdminOnlySkins] == 0) print(" AdminOnlySkins: Disabled "); else print(" AdminOnlySkins: Enabled ");
  6876. printf(" Admin Skin 1 is: %d", ServerInfo[AdminSkin] );
  6877. printf(" Admin Skin 2 is: %d\n", ServerInfo[AdminSkin2] );
  6878. print(" ________ Server Protection ______");
  6879. if(ServerInfo[AntiBot] == 0) print(" Anti Bot: Disabled "); else print(" Anti Bot: Enabled ");
  6880. if(ServerInfo[NameKick] == 0) print(" Bad Name Kick: Disabled\n"); else print(" Bad Name Kick: Enabled\n");
  6881. print(" __________ Ping Control _________");
  6882. if(ServerInfo[MaxPing] == 0) print(" Ping Control: Disabled"); else print(" Ping Control: Enabled");
  6883. printf(" Max Ping: %d\n", ServerInfo[MaxPing] );
  6884. print(" __________ Players ______________");
  6885. if(ServerInfo[GiveWeap] == 0) print(" Save/Give Weaps: Disabled"); else print(" Save/Give Weaps: Enabled");
  6886. if(ServerInfo[GiveMoney] == 0) print(" Save/Give Money: Disabled\n"); else print(" Save/Give Money: Enabled\n");
  6887. print(" __________ Other ________________");
  6888. printf(" Max Admin Level: %d", ServerInfo[MaxAdminLevel] );
  6889. if(ServerInfo[Locked] == 0) print(" Server Locked: No"); else print(" Server Locked: Yes");
  6890. if(ServerInfo[AutoLogin] == 0) print(" Auto Login: Disabled\n"); else print(" Auto Login: Enabled\n");
  6891. }
  6892. #endif
  6893.  
  6894. //=====================[ Configuration ] =======================================
  6895. stock UpdateConfig()
  6896. {
  6897. new file[256], File:file2, string[100]; format(file,sizeof(file),"ladmin/config/Config.ini");
  6898. ForbiddenWordCount = 0;
  6899. BadNameCount = 0;
  6900. BadPartNameCount = 0;
  6901.  
  6902. if(!dini_Exists("ladmin/config/aka.txt")) dini_Create("ladmin/config/aka.txt");
  6903.  
  6904. if(!dini_Exists(file))
  6905. {
  6906. dini_Create(file);
  6907. print("\n >Configuration File Successfully Created");
  6908. }
  6909.  
  6910. if(!dini_Isset(file,"MaxPing")) dini_IntSet(file,"MaxPing",1200);
  6911. if(!dini_Isset(file,"ReadPms")) dini_IntSet(file,"ReadPMs",1);
  6912. if(!dini_Isset(file,"ReadCmds")) dini_IntSet(file,"ReadCmds",1);
  6913. if(!dini_Isset(file,"MaxAdminLevel")) dini_IntSet(file,"MaxAdminLevel",5);
  6914. if(!dini_Isset(file,"AdminOnlySkins")) dini_IntSet(file,"AdminOnlySkins",0);
  6915. if(!dini_Isset(file,"AdminSkin")) dini_IntSet(file,"AdminSkin",217);
  6916. if(!dini_Isset(file,"AdminSkin2")) dini_IntSet(file,"AdminSkin2",214);
  6917. if(!dini_Isset(file,"AntiBot")) dini_IntSet(file,"AntiBot",1);
  6918. if(!dini_Isset(file,"AntiSpam")) dini_IntSet(file,"AntiSpam",1);
  6919. if(!dini_Isset(file,"AntiSwear")) dini_IntSet(file,"AntiSwear",1);
  6920. if(!dini_Isset(file,"NameKick")) dini_IntSet(file,"NameKick",1);
  6921. if(!dini_Isset(file,"PartNameKick")) dini_IntSet(file,"PartNameKick",1);
  6922. if(!dini_Isset(file,"NoCaps")) dini_IntSet(file,"NoCaps",0);
  6923. if(!dini_Isset(file,"Locked")) dini_IntSet(file,"Locked",0);
  6924. if(!dini_Isset(file,"SaveWeap")) dini_IntSet(file,"SaveWeap",1);
  6925. if(!dini_Isset(file,"SaveMoney")) dini_IntSet(file,"SaveMoney",1);
  6926. if(!dini_Isset(file,"ConnectMessages")) dini_IntSet(file,"ConnectMessages",1);
  6927. if(!dini_Isset(file,"AdminCmdMessages")) dini_IntSet(file,"AdminCmdMessages",1);
  6928. if(!dini_Isset(file,"AutoLogin")) dini_IntSet(file,"AutoLogin",1);
  6929. if(!dini_Isset(file,"MaxMuteWarnings")) dini_IntSet(file,"MaxMuteWarnings",4);
  6930. if(!dini_Isset(file,"MustLogin")) dini_IntSet(file,"MustLogin",0);
  6931. if(!dini_Isset(file,"MustRegister")) dini_IntSet(file,"MustRegister",0);
  6932.  
  6933. if(dini_Exists(file))
  6934. {
  6935. ServerInfo[MaxPing] = dini_Int(file,"MaxPing");
  6936. ServerInfo[ReadPMs] = dini_Int(file,"ReadPMs");
  6937. ServerInfo[ReadCmds] = dini_Int(file,"ReadCmds");
  6938. ServerInfo[MaxAdminLevel] = dini_Int(file,"MaxAdminLevel");
  6939. ServerInfo[AdminOnlySkins] = dini_Int(file,"AdminOnlySkins");
  6940. ServerInfo[AdminSkin] = dini_Int(file,"AdminSkin");
  6941. ServerInfo[AdminSkin2] = dini_Int(file,"AdminSkin2");
  6942. ServerInfo[AntiBot] = dini_Int(file,"AntiBot");
  6943. ServerInfo[AntiSpam] = dini_Int(file,"AntiSpam");
  6944. ServerInfo[AntiSwear] = dini_Int(file,"AntiSwear");
  6945. ServerInfo[NameKick] = dini_Int(file,"NameKick");
  6946. ServerInfo[PartNameKick] = dini_Int(file,"PartNameKick");
  6947. ServerInfo[NoCaps] = dini_Int(file,"NoCaps");
  6948. ServerInfo[Locked] = dini_Int(file,"Locked");
  6949. ServerInfo[GiveWeap] = dini_Int(file,"SaveWeap");
  6950. ServerInfo[GiveMoney] = dini_Int(file,"SaveMoney");
  6951. ServerInfo[ConnectMessages] = dini_Int(file,"ConnectMessages");
  6952. ServerInfo[AdminCmdMsg] = dini_Int(file,"AdminCmdMessages");
  6953. ServerInfo[AutoLogin] = dini_Int(file,"AutoLogin");
  6954. ServerInfo[MaxMuteWarnings] = dini_Int(file,"MaxMuteWarnings");
  6955. ServerInfo[MustLogin] = dini_Int(file,"MustLogin");
  6956. ServerInfo[MustRegister] = dini_Int(file,"MustRegister");
  6957. print("\n -Configuration Settings Loaded");
  6958. }
  6959.  
  6960. //forbidden names
  6961. if((file2 = fopen("ladmin/config/ForbiddenNames.cfg",io_read)))
  6962. {
  6963. while(fread(file2,string))
  6964. {
  6965. for(new i = 0, j = strlen(string); i < j; i++) if(string[i] == '\n' || string[i] == '\r') string[i] = '\0';
  6966. BadNames[BadNameCount] = string;
  6967. BadNameCount++;
  6968. }
  6969. fclose(file2); printf(" -%d Forbidden Names Loaded", BadNameCount);
  6970. }
  6971.  
  6972. //forbidden part of names
  6973. if((file2 = fopen("ladmin/config/ForbiddenPartNames.cfg",io_read)))
  6974. {
  6975. while(fread(file2,string))
  6976. {
  6977. for(new i = 0, j = strlen(string); i < j; i++) if(string[i] == '\n' || string[i] == '\r') string[i] = '\0';
  6978. BadPartNames[BadPartNameCount] = string;
  6979. BadPartNameCount++;
  6980. }
  6981. fclose(file2); printf(" -%d Forbidden Tags Loaded", BadPartNameCount);
  6982. }
  6983.  
  6984. //forbidden words
  6985. if((file2 = fopen("ladmin/config/ForbiddenWords.cfg",io_read)))
  6986. {
  6987. while(fread(file2,string))
  6988. {
  6989. for(new i = 0, j = strlen(string); i < j; i++) if(string[i] == '\n' || string[i] == '\r') string[i] = '\0';
  6990. ForbiddenWords[ForbiddenWordCount] = string;
  6991. ForbiddenWordCount++;
  6992. }
  6993. fclose(file2); printf(" -%d Forbidden Words Loaded", ForbiddenWordCount);
  6994. }
  6995. }
  6996. //=====================[ SAVING DATA ] =========================================
  6997.  
  6998. forward SaveToFile(filename[],text[]);
  6999. public SaveToFile(filename[],text[])
  7000. {
  7001. #if defined SAVE_LOGS
  7002. new File:LAdminfile, filepath[256], string[256], year,month,day, hour,minute,second;
  7003. getdate(year,month,day); gettime(hour,minute,second);
  7004.  
  7005. format(filepath,sizeof(filepath),"ladmin/logs/%s.txt",filename);
  7006. LAdminfile = fopen(filepath,io_append);
  7007. format(string,sizeof(string),"[%d.%d.%d %d:%d:%d] %s\r\n",day,month,year,hour,minute,second,text);
  7008. fwrite(LAdminfile,string);
  7009. fclose(LAdminfile);
  7010. #endif
  7011.  
  7012. return 1;
  7013. }
  7014.  
  7015. //============================[ EOF ]===========================================
  7016.  
  7017.  
Advertisement
Add Comment
Please, Sign In to add comment