Advertisement
Eduardo33

Untitled

Apr 8th, 2012
328
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 351.10 KB | None | 0 0
  1. #include <a_samp>
  2. #include <lethaldudb2>
  3.  
  4. #pragma dynamic 145000
  5.  
  6. /*
  7. |===============================================|
  8. | --== LethaL Adminscript ==-- |
  9. | -== Version 4.2 ==-- |
  10. | ladmin4v2.pwn |
  11. | Tradução: [PCS]IgooR e [PCS]TIOALI |
  12. |===============================================|
  13. */
  14.  
  15. //-----------------------------------------------------------------------------------//
  16.  
  17. #define USE_MENUS // Comment to remove all menus. Uncomment to enable menus
  18. //#define DISPLAY_CONFIG // displays configuration in console window on filterscript load
  19. #define SAVE_LOGS // Comment if your server runs linux (logs wont be saved)
  20. #define ENABLE_SPEC // Comment if you are using a spectate system already
  21. #define USE_STATS // Comment to disable /stats
  22. //#define USE_AREGISTER // Changes /register, /login etc to /areister, /alogin etc
  23. //#define HIDE_ADMINS // Displays number of admins online instead of level and names
  24. #define ENABLE_FAKE_CMDS // Comment to disable /fakechat, /fakedeath, /fakecmd commanads
  25.  
  26. //-----------------------------------------------------------------------------------//
  27.  
  28. #define MAX_WARNINGS 3 // /warn command
  29.  
  30. #define MAX_REPORTS 7
  31. #define MAX_CHAT_LINES 7
  32.  
  33. #define SPAM_MAX_MSGS 3
  34. #define SPAM_TIMELIMIT 4 // SECONDS
  35.  
  36. #define PING_MAX_EXCEEDS 4
  37. #define PING_TIMELIMIT 60 // SECONDS
  38.  
  39. #define MAX_FAIL_LOGINS 4
  40.  
  41. #define USE_DIALOGS true
  42. #define DIALOGID 2222
  43. #define COLOR_RED 0xAA3333AA
  44. #define DIALOGID0 1100
  45. #define DIALOGID3 1337
  46.  
  47. new FAIXA_IP[] = {
  48. ""
  49. };
  50. // Admin Area
  51. new AdminArea[6] = {
  52. 377, // X
  53. 170, // Y
  54. 1008, // Z
  55. 90, // Angle
  56. 3, // Interior
  57. 0 // Virtual World
  58. };
  59.  
  60. //-=Main colours=-
  61. #define blue 0x375FFFFF
  62. #define red 0xFF0000AA
  63. #define green 0x33FF33AA
  64. #define yellow 0xFFFF00AA
  65. #define grey 0xC0C0C0AA
  66. #define blue1 0x2641FEAA
  67. #define lightblue 0x33CCFFAA
  68. #define orange 0xFF9900AA
  69. #define black 0x2C2727AA
  70. #define COLOR_GREEN 0x33AA33AA
  71. #define COLOR_PINK 0xFF66FFAA
  72. #define COLOR_BLUE 0x0000BBAA
  73. #define COLOR_PURPLE 0x800080AA
  74. #define COLOR_BLACK 0x000000AA
  75. #define COLOR_WHITE 0xFFFFFFAA
  76. #define COLOR_GREEN1 0x33AA33AA
  77. #define COLOR_BROWN 0xA52A2AAA
  78.  
  79. // DCMD
  80. #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
  81.  
  82. // Caps
  83. #define UpperToLower(%1) for ( new ToLowerChar; ToLowerChar < strlen( %1 ); ToLowerChar ++ ) if ( %1[ ToLowerChar ]> 64 && %1[ ToLowerChar ] < 91 ) %1[ ToLowerChar ] += 32
  84.  
  85. // Spec
  86. #define ADMIN_SPEC_TYPE_NONE 0
  87. #define ADMIN_SPEC_TYPE_PLAYER 1
  88. #define ADMIN_SPEC_TYPE_VEHICLE 2
  89.  
  90. // Enums
  91. enum PlayerData
  92. {
  93. Registered,
  94. LoggedIn,
  95. Level,
  96. Muted,
  97. Caps,
  98. Jailed,
  99. JailTime,
  100. Frozen,
  101. FreezeTime,
  102. Kills,
  103. Deaths,
  104. hours,
  105. mins,
  106. secs,
  107. TotalTime,
  108. ConnectTime,
  109. MuteWarnings,
  110. Warnings,
  111. Spawned,
  112. TimesSpawned,
  113. God,
  114. GodCar,
  115. DoorsLocked,
  116. SpamCount,
  117. SpamTime,
  118. PingCount,
  119. PingTime,
  120. BotPing,
  121. pPing[PING_MAX_EXCEEDS],
  122. blip,
  123. blipS,
  124. pColour,
  125. pCar,
  126. SpecID,
  127. SpecType,
  128. bool:AllowedIn,
  129. FailLogin,
  130. };
  131. new PlayerInfo[MAX_PLAYERS][PlayerData];
  132.  
  133. enum ServerData
  134. {
  135. MaxPing,
  136. ReadPMs,
  137. ReadCmds,
  138. MaxAdminLevel,
  139. AdminOnlySkins,
  140. AdminSkin,
  141. AdminSkin2,
  142. NameKick,
  143. PartNameKick,
  144. AntiBot,
  145. AntiSpam,
  146. AntiSwear,
  147. NoCaps,
  148. Locked,
  149. Password[128],
  150. GiveWeap,
  151. GiveMoney,
  152. ConnectMessages,
  153. AdminCmdMsg,
  154. AutoLogin,
  155. MaxMuteWarnings,
  156. DisableChat,
  157. MustLogin,
  158. MustRegister,
  159. };
  160. new ServerInfo[ServerData];
  161.  
  162. new Float:Pos[MAX_PLAYERS][4];
  163.  
  164. new sendername[MAX_PLAYER_NAME];
  165.  
  166. // rcon
  167. new Chat[MAX_CHAT_LINES][128];
  168.  
  169. //Timers
  170. new PingTimer;
  171. new GodTimer;
  172. new BlipTimer[MAX_PLAYERS];
  173. new JailTimer[MAX_PLAYERS];
  174. new FreezeTimer[MAX_PLAYERS];
  175. new LockKickTimer[MAX_PLAYERS];
  176.  
  177. //Duel
  178. new CountDown = -1, cdt[MAX_PLAYERS] = -1;
  179. new InDuel[MAX_PLAYERS];
  180.  
  181. // Menus
  182. #if defined USE_MENUS
  183. new Menu:LMainMenu, Menu:AdminEnable, Menu:AdminDisable,
  184. Menu:LVehicles, Menu:twodoor, Menu:fourdoor, Menu:fastcar, Menu:Othercars,
  185. Menu:bikes, Menu:boats, Menu:planes, Menu:helicopters,
  186. Menu:XWeapons, Menu:XWeaponsBig, Menu:XWeaponsSmall, Menu:XWeaponsMore,
  187. Menu:LWeather,Menu:LTime,
  188. Menu:LTuneMenu, Menu:PaintMenu, Menu:LCars, Menu:LCars2,
  189. Menu:LTele, Menu:LasVenturasMenu, Menu:LosSantosMenu, Menu:SanFierroMenu,
  190. Menu:DesertMenu, Menu:FlintMenu, Menu:MountChiliadMenu, Menu:InteriorsMenu;
  191. #endif
  192.  
  193. // Forbidden Names & Words
  194. new BadNames[100][100], // Whole Names
  195. BadNameCount = 0,
  196. BadPartNames[100][100], // Part of name
  197. BadPartNameCount = 0,
  198. ForbiddenWords[100][100],
  199. ForbiddenWordCount = 0;
  200.  
  201. // Report
  202. new Reports[MAX_REPORTS][128];
  203.  
  204. // Ping Kick
  205. new PingPos;
  206.  
  207. new VehicleNames[212][] = {
  208. "Landstalker","Bravura","Buffalo","Linerunner","Pereniel","Sentinel","Dumper","Firetruck","Trashmaster","Stretch","Manana","Infernus",
  209. "Voodoo","Pony","Mule","Cheetah","Ambulance","Leviathan","Moonbeam","Esperanto","Taxi","Washington","Bobcat","Mr Whoopee","BF Injection",
  210. "Hunter","Premier","Enforcer","Securicar","Banshee","Predator","Bus","Rhino","Barracks","Hotknife","Trailer","Previon","Coach","Cabbie",
  211. "Stallion","Rumpo","RC Bandit","Romero","Packer","Monster","Admiral","Squalo","Seasparrow","Pizzaboy","Tram","Trailer","Turismo","Speeder",
  212. "Reefer","Tropic","Flatbed","Yankee","Caddy","Solair","Berkley's RC Van","Skimmer","PCJ-600","Faggio","Freeway","RC Baron","RC Raider",
  213. "Glendale","Oceanic","Sanchez","Sparrow","Patriot","Quad","Coastguard","Dinghy","Hermes","Sabre","Rustler","ZR3 50","Walton","Regina",
  214. "Comet","BMX","Burrito","Camper","Marquis","Baggage","Dozer","Maverick","News Chopper","Rancher","FBI Rancher","Virgo","Greenwood",
  215. "Jetmax","Hotring","Sandking","Blista Compact","Police Maverick","Boxville","Benson","Mesa","RC Goblin","Hotring Racer A","Hotring Racer B",
  216. "Bloodring Banger","Rancher","Super GT","Elegant","Journey","Bike","Mountain Bike","Beagle","Cropdust","Stunt","Tanker","RoadTrain",
  217. "Nebula","Majestic","Buccaneer","Shamal","Hydra","FCR-900","NRG-500","HPV1000","Cement Truck","Tow Truck","Fortune","Cadrona","FBI Truck",
  218. "Willard","Forklift","Tractor","Combine","Feltzer","Remington","Slamvan","Blade","Freight","Streak","Vortex","Vincent","Bullet","Clover",
  219. "Sadler","Firetruck","Hustler","Intruder","Primo","Cargobob","Tampa","Sunrise","Merit","Utility","Nevada","Yosemite","Windsor","Monster A",
  220. "Monster B","Uranus","Jester","Sultan","Stratum","Elegy","Raindance","RC Tiger","Flash","Tahoma","Savanna","Bandito","Freight","Trailer",
  221. "Kart","Mower","Duneride","Sweeper","Broadway","Tornado","AT-400","DFT-30","Huntley","Stafford","BF-400","Newsvan","Tug","Trailer A","Emperor",
  222. "Wayfarer","Euros","Hotdog","Club","Trailer B","Trailer C","Andromada","Dodo","RC Cam","Launch","Police Car (LSPD)","Police Car (SFPD)",
  223. "Police Car (LVPD)","Police Ranger","Picador","S.W.A.T. Van","Alpha","Phoenix","Glendale","Sadler","Luggage Trailer A","Luggage Trailer B",
  224. "Stair Trailer","Boxville","Farm Plow","Utility Trailer"
  225. };
  226.  
  227. //==============================================================================
  228.  
  229. public OnFilterScriptInit()
  230. {
  231. print("\n________________________________________");
  232. print("________________________________________");
  233. print(" LAdmin Loading... ");
  234. print("________________________________________");
  235.  
  236. if(!fexist("ladmin/"))
  237. {
  238. print("\n\n > WARNING: Folder Missing From Scriptfiles\n");
  239. SetTimerEx("PrintWarning",2500,0,"s","ladmin");
  240. return 1;
  241. }
  242. if(!fexist("ladmin/logs/"))
  243. {
  244. print("\n\n > WARNING: Folder Missing From Scriptfiles\n");
  245. SetTimerEx("PrintWarning",2500,0,"s","ladmin/logs");
  246. return 1;
  247. }
  248. if(!fexist("ladmin/config/"))
  249. {
  250. print("\n\n > WARNING: Folder Missing From Scriptfiles\n");
  251. SetTimerEx("PrintWarning",2500,0,"s","ladmin/config");
  252. return 1;
  253. }
  254. if(!fexist("ladmin/users/"))
  255. {
  256. print("\n\n > WARNING: Folder Missing From Scriptfiles\n");
  257. SetTimerEx("PrintWarning",2500,0,"s","ladmin/users");
  258. return 1;
  259. }
  260.  
  261. UpdateConfig();
  262.  
  263. #if defined DISPLAY_CONFIG
  264. ConfigInConsole();
  265. #endif
  266.  
  267. //===================== [ The Menus ]===========================//
  268. #if defined USE_MENUS
  269.  
  270. LMainMenu = CreateMenu("Menu principal", 2, 55.0, 200.0, 100.0, 80.0);
  271. SetMenuColumnHeader(LMainMenu, 0, "Escolha uma opcao");
  272. AddMenuItem(LMainMenu, 0, "Ligar");
  273. AddMenuItem(LMainMenu, 0, "Desligar");
  274. AddMenuItem(LMainMenu, 0, "Clima");
  275. AddMenuItem(LMainMenu, 0, "Horario");
  276. AddMenuItem(LMainMenu, 0, "Veiculos");
  277. AddMenuItem(LMainMenu, 0, "Carros Admin");
  278. AddMenuItem(LMainMenu, 0, "Tuning");
  279. AddMenuItem(LMainMenu, 0, "Armas");
  280. AddMenuItem(LMainMenu, 0, "Teleportes");
  281. AddMenuItem(LMainMenu, 0, "Sair");//
  282.  
  283. AdminEnable = CreateMenu("~b~Menu ~g~ Configuracao",2, 55.0, 200.0, 150.0, 80.0);
  284. SetMenuColumnHeader(AdminEnable, 0, "Ligar");
  285. AddMenuItem(AdminEnable, 0, "Anti Swear");
  286. AddMenuItem(AdminEnable, 0, "Kick de Nome Proibido");
  287. AddMenuItem(AdminEnable, 0, "Anti Spam");
  288. AddMenuItem(AdminEnable, 0, "Kick de Ping");
  289. AddMenuItem(AdminEnable, 0, "Ler Comandos");
  290. AddMenuItem(AdminEnable, 0, "Ler PMS");
  291. AddMenuItem(AdminEnable, 0, "Letras Maiusculas");
  292. AddMenuItem(AdminEnable, 0, "Mensagens de conectar");
  293. AddMenuItem(AdminEnable, 0, "Mensagens de CmdAdmin");
  294. AddMenuItem(AdminEnable, 0, "Auto Logar");
  295. AddMenuItem(AdminEnable, 0, "Voltar");
  296.  
  297. AdminDisable = CreateMenu("~b~Menu ~g~ Configuracao",2, 55.0, 200.0, 150.0, 80.0);
  298. SetMenuColumnHeader(AdminDisable, 0, "Desligar");
  299. AddMenuItem(AdminDisable, 0, "Anti Swear");
  300. AddMenuItem(AdminDisable, 0, "Kick de Nome Proibido");
  301. AddMenuItem(AdminDisable, 0, "Anti Spam");
  302. AddMenuItem(AdminDisable, 0, "Kick de Ping");
  303. AddMenuItem(AdminDisable, 0, "Ler Comandos");
  304. AddMenuItem(AdminDisable, 0, "Ler PMS");
  305. AddMenuItem(AdminDisable, 0, "Letras Maiusculas");
  306. AddMenuItem(AdminDisable, 0, "Mensagens de conectar");
  307. AddMenuItem(AdminDisable, 0, "Mensagens de CmdAdmin");
  308. AddMenuItem(AdminDisable, 0, "Auto Logar");
  309. AddMenuItem(AdminDisable, 0, "Voltar");
  310.  
  311. LWeather = CreateMenu("~b~Menu ~g~ Clima",2, 55.0, 200.0, 100.0, 80.0);
  312. SetMenuColumnHeader(LWeather, 0, "Definir Clima");
  313. AddMenuItem(LWeather, 0, "Ceu Azul");
  314. AddMenuItem(LWeather, 0, "Temp. Areia");
  315. AddMenuItem(LWeather, 0, "Temporal");
  316. AddMenuItem(LWeather, 0, "Nublado");
  317. AddMenuItem(LWeather, 0, "Neblina");
  318. AddMenuItem(LWeather, 0, "Chuva");
  319. AddMenuItem(LWeather, 0, "Ceu Roxo");
  320. AddMenuItem(LWeather, 0, "Ceu Preto/Branco");
  321. AddMenuItem(LWeather, 0, "Ceu Escuro/Verde");
  322. AddMenuItem(LWeather, 0, "Onda de Calor");
  323. AddMenuItem(LWeather,0,"Voltar");
  324.  
  325. LTime = CreateMenu("~b~Menu ~g~ Tempo", 2, 55.0, 200.0, 100.0, 80.0);
  326. SetMenuColumnHeader(LTime, 0, "Definir Tempo");
  327. AddMenuItem(LTime, 0, "Manha");
  328. AddMenuItem(LTime, 0, "Meio dia");
  329. AddMenuItem(LTime, 0, "Tarde");
  330. AddMenuItem(LTime, 0, "Noite");
  331. AddMenuItem(LTime, 0, "Meia noite");
  332. AddMenuItem(LTime, 0, "Voltar");
  333.  
  334. LCars = CreateMenu("~b~Carros ~g~Lethal", 2, 55.0, 150.0, 100.0, 80.0);
  335. SetMenuColumnHeader(LCars, 0, "Escolha um carro");
  336. AddMenuItem(LCars, 0, "Turismo");
  337. AddMenuItem(LCars, 0, "Bandito");
  338. AddMenuItem(LCars, 0, "Vortex");
  339. AddMenuItem(LCars, 0, "NRG");
  340. AddMenuItem(LCars, 0, "S.W.A.T");
  341. AddMenuItem(LCars, 0, "Hunter");
  342. AddMenuItem(LCars, 0, "Jetmax (boat)");
  343. AddMenuItem(LCars, 0, "Rhino");
  344. AddMenuItem(LCars, 0, "Monster Truck");
  345. AddMenuItem(LCars, 0, "Sea Sparrow");
  346. AddMenuItem(LCars, 0, "Mais");
  347. AddMenuItem(LCars, 0, "Voltar");
  348.  
  349. LCars2 = CreateMenu("~b~Carros ~g~LethaL", 2, 55.0, 150.0, 100.0, 80.0);
  350. SetMenuColumnHeader(LCars2, 0, "Escolha um carro");
  351. AddMenuItem(LCars2, 0, "Dumper");
  352. AddMenuItem(LCars2, 0, "RC Tank");
  353. AddMenuItem(LCars2, 0, "RC Bandit");
  354. AddMenuItem(LCars2, 0, "RC Baron");
  355. AddMenuItem(LCars2, 0, "RC Goblin");
  356. AddMenuItem(LCars2, 0, "RC Raider");
  357. AddMenuItem(LCars2, 0, "RC Cam");
  358. AddMenuItem(LCars2, 0, "Tram");
  359. AddMenuItem(LCars2, 0, "Voltar");
  360.  
  361. LTuneMenu = CreateMenu("~b~Menu ~g~ Tunning",2, 55.0, 200.0, 100.0, 80.0);
  362. SetMenuColumnHeader(LTuneMenu, 0, "Adicionar ao carro");
  363. AddMenuItem(LTuneMenu,0,"NOS");
  364. AddMenuItem(LTuneMenu,0,"Hidraulicos");
  365. AddMenuItem(LTuneMenu,0,"Rodas Wire");
  366. AddMenuItem(LTuneMenu,0,"Rodas Twist");
  367. AddMenuItem(LTuneMenu,0,"Rodas Access");
  368. AddMenuItem(LTuneMenu,0,"Rodas Mega");
  369. AddMenuItem(LTuneMenu,0,"Rodas Import");
  370. AddMenuItem(LTuneMenu,0,"Rodas Atomic");
  371. AddMenuItem(LTuneMenu,0,"Rodas Offroad");
  372. AddMenuItem(LTuneMenu,0,"Rodas Classic");
  373. AddMenuItem(LTuneMenu,0,"Pint. Personalizada");
  374. AddMenuItem(LTuneMenu,0,"Voltar");
  375.  
  376. PaintMenu = CreateMenu("~b~Menu ~g~ Pintura",2, 55.0, 200.0, 100.0, 80.0);
  377. SetMenuColumnHeader(PaintMenu, 0, "Escolha uma pintura");
  378. AddMenuItem(PaintMenu,0,"Pint. Pers. 1");
  379. AddMenuItem(PaintMenu,0,"Pint. Pers. 2");
  380. AddMenuItem(PaintMenu,0,"Pint. Pers. 3");
  381. AddMenuItem(PaintMenu,0,"Pint. Pers. 4");
  382. AddMenuItem(PaintMenu,0,"Pint. Pers. 5");
  383. AddMenuItem(PaintMenu,0,"Preto");
  384. AddMenuItem(PaintMenu,0,"Branco");
  385. AddMenuItem(PaintMenu,0,"Azul");
  386. AddMenuItem(PaintMenu,0,"Rosa");
  387. AddMenuItem(PaintMenu,0,"Voltar");
  388.  
  389. LVehicles = CreateMenu("~b~Menu ~g~ Veiculos",2, 55.0, 200.0, 100.0, 80.0);
  390. SetMenuColumnHeader(LVehicles, 0, "Escolha um carro");
  391. AddMenuItem(LVehicles,0,"Carros 2-portas");
  392. AddMenuItem(LVehicles,0,"Carros 4-portas");
  393. AddMenuItem(LVehicles,0,"Carros Rapidos");
  394. AddMenuItem(LVehicles,0,"Outros Veiculos");
  395. AddMenuItem(LVehicles,0,"Motos");
  396. AddMenuItem(LVehicles,0,"Barcos");
  397. AddMenuItem(LVehicles,0,"Avioes");
  398. AddMenuItem(LVehicles,0,"Helicopteros");
  399. AddMenuItem(LVehicles,0,"Voltar");
  400.  
  401. twodoor = CreateMenu("~b~Carros 2-portas",2, 55.0, 200.0, 100.0, 80.0);
  402. SetMenuColumnHeader(twodoor, 0, "Escolha um carro");
  403. AddMenuItem(twodoor,0,"Feltzer");//533
  404. AddMenuItem(twodoor,0,"Stallion");//139
  405. AddMenuItem(twodoor,0,"Windsor");//555
  406. AddMenuItem(twodoor,0,"Bobcat");//422
  407. AddMenuItem(twodoor,0,"Yosemite");//554
  408. AddMenuItem(twodoor,0,"Broadway");//575
  409. AddMenuItem(twodoor,0,"Blade");//536
  410. AddMenuItem(twodoor,0,"Slamvan");//535
  411. AddMenuItem(twodoor,0,"Tornado");//576
  412. AddMenuItem(twodoor,0,"Bravura");//401
  413. AddMenuItem(twodoor,0,"Fortune");//526
  414. AddMenuItem(twodoor,0,"Voltar");
  415.  
  416. fourdoor = CreateMenu("~b~Carros 4-portas",2, 55.0, 200.0, 100.0, 80.0);
  417. SetMenuColumnHeader(fourdoor, 0, "Escolha um carro");
  418. AddMenuItem(fourdoor,0,"Perenniel");//404
  419. AddMenuItem(fourdoor,0,"Tahoma");//566
  420. AddMenuItem(fourdoor,0,"Voodoo");//412
  421. AddMenuItem(fourdoor,0,"Admiral");//445
  422. AddMenuItem(fourdoor,0,"Elegant");//507
  423. AddMenuItem(fourdoor,0,"Glendale");//466
  424. AddMenuItem(fourdoor,0,"Intruder");//546
  425. AddMenuItem(fourdoor,0,"Merit");//551
  426. AddMenuItem(fourdoor,0,"Oceanic");//467
  427. AddMenuItem(fourdoor,0,"Premier");//426
  428. AddMenuItem(fourdoor,0,"Sentinel");//405
  429. AddMenuItem(fourdoor,0,"Voltar");
  430.  
  431. fastcar = CreateMenu("~b~Carros Rapidos",2, 55.0, 200.0, 100.0, 80.0);
  432. SetMenuColumnHeader(fastcar, 0, "Escolha um carro");
  433. AddMenuItem(fastcar,0,"Comet");//480
  434. AddMenuItem(fastcar,0,"Buffalo");//402
  435. AddMenuItem(fastcar,0,"Cheetah");//415
  436. AddMenuItem(fastcar,0,"Euros");//587
  437. AddMenuItem(fastcar,0,"Hotring Racer");//494
  438. AddMenuItem(fastcar,0,"Infernus");//411
  439. AddMenuItem(fastcar,0,"Phoenix");//603
  440. AddMenuItem(fastcar,0,"Super GT");//506
  441. AddMenuItem(fastcar,0,"Turismo");//451
  442. AddMenuItem(fastcar,0,"ZR-350");//477
  443. AddMenuItem(fastcar,0,"Bullet");//541
  444. AddMenuItem(fastcar,0,"Voltar");
  445.  
  446. Othercars = CreateMenu("~b~Outros Veiculos",2, 55.0, 200.0, 100.0, 80.0);
  447. SetMenuColumnHeader(Othercars, 0, "Escolha um carro?");
  448. AddMenuItem(Othercars,0,"Monster Truck");//556
  449. AddMenuItem(Othercars,0,"Trashmaster");//408
  450. AddMenuItem(Othercars,0,"Bus");//431
  451. AddMenuItem(Othercars,0,"Coach");//437
  452. AddMenuItem(Othercars,0,"Enforcer");//427
  453. AddMenuItem(Othercars,0,"Rhino (Tank)");//432
  454. AddMenuItem(Othercars,0,"S.W.A.T.Truck");//601
  455. AddMenuItem(Othercars,0,"Cement Truck");//524
  456. AddMenuItem(Othercars,0,"Flatbed");//455
  457. AddMenuItem(Othercars,0,"BF Injection");//424
  458. AddMenuItem(Othercars,0,"Dune");//573
  459. AddMenuItem(Othercars,0,"Voltar");
  460.  
  461. bikes = CreateMenu("~b~Motos",2, 55.0, 200.0, 100.0, 80.0);
  462. SetMenuColumnHeader(bikes, 0, "Escolha uma moto");
  463. AddMenuItem(bikes,0,"BF-400");
  464. AddMenuItem(bikes,0,"BMX");
  465. AddMenuItem(bikes,0,"Faggio");
  466. AddMenuItem(bikes,0,"FCR-900");
  467. AddMenuItem(bikes,0,"Freeway");
  468. AddMenuItem(bikes,0,"NRG-500");
  469. AddMenuItem(bikes,0,"PCJ-600");
  470. AddMenuItem(bikes,0,"Pizzaboy");
  471. AddMenuItem(bikes,0,"Quad");
  472. AddMenuItem(bikes,0,"Sanchez");
  473. AddMenuItem(bikes,0,"Wayfarer");
  474. AddMenuItem(bikes,0,"Voltar");
  475.  
  476. boats = CreateMenu("~b~Barcos",2, 55.0, 200.0, 100.0, 80.0);
  477. SetMenuColumnHeader(boats, 0, "Escolha um barco");
  478. AddMenuItem(boats,0,"Coastguard");//472
  479. AddMenuItem(boats,0,"Dingy");//473
  480. AddMenuItem(boats,0,"Jetmax");//493
  481. AddMenuItem(boats,0,"Launch");//595
  482. AddMenuItem(boats,0,"Marquis");//484
  483. AddMenuItem(boats,0,"Predator");//430
  484. AddMenuItem(boats,0,"Reefer");//453
  485. AddMenuItem(boats,0,"Speeder");//452
  486. AddMenuItem(boats,0,"Squallo");//446
  487. AddMenuItem(boats,0,"Tropic");//454
  488. AddMenuItem(boats,0,"Voltar");
  489.  
  490. planes = CreateMenu("~b~Avioes",2, 55.0, 200.0, 100.0, 80.0);
  491. SetMenuColumnHeader(planes, 0, "Escolha um aviao");
  492. AddMenuItem(planes,0,"Andromada");//592
  493. AddMenuItem(planes,0,"AT400");//577
  494. AddMenuItem(planes,0,"Beagle");//511
  495. AddMenuItem(planes,0,"Cropduster");//512
  496. AddMenuItem(planes,0,"Dodo");//593
  497. AddMenuItem(planes,0,"Hydra");//520
  498. AddMenuItem(planes,0,"Nevada");//553
  499. AddMenuItem(planes,0,"Rustler");//476
  500. AddMenuItem(planes,0,"Shamal");//519
  501. AddMenuItem(planes,0,"Skimmer");//460
  502. AddMenuItem(planes,0,"Stuntplane");//513
  503. AddMenuItem(planes,0,"Voltar");
  504.  
  505. helicopters = CreateMenu("~b~Helicopteros",2, 55.0, 200.0, 100.0, 80.0);
  506. SetMenuColumnHeader(helicopters, 0, "Escolha um helicoptero");
  507. AddMenuItem(helicopters,0,"Cargobob");//
  508. AddMenuItem(helicopters,0,"Hunter");//
  509. AddMenuItem(helicopters,0,"Leviathan");//
  510. AddMenuItem(helicopters,0,"Maverick");//
  511. AddMenuItem(helicopters,0,"News Chopper");//
  512. AddMenuItem(helicopters,0,"Police Maverick");//
  513. AddMenuItem(helicopters,0,"Raindance");//
  514. AddMenuItem(helicopters,0,"Seasparrow");//
  515. AddMenuItem(helicopters,0,"Sparrow");//
  516. AddMenuItem(helicopters,0,"Voltar");
  517.  
  518. XWeapons = CreateMenu("~b~Menu ~g~Armas",2, 55.0, 200.0, 100.0, 80.0);
  519. SetMenuColumnHeader(XWeapons, 0, "Escolha uma arma");
  520. AddMenuItem(XWeapons,0,"Desert Eagle");//0
  521. AddMenuItem(XWeapons,0,"M4");
  522. AddMenuItem(XWeapons,0,"Sawnoff Shotgun");
  523. AddMenuItem(XWeapons,0,"Combat Shotgun");
  524. AddMenuItem(XWeapons,0,"UZI");
  525. AddMenuItem(XWeapons,0,"Rocket Launcher");
  526. AddMenuItem(XWeapons,0,"Minigun");//6
  527. AddMenuItem(XWeapons,0,"Sniper Rifle");
  528. AddMenuItem(XWeapons,0,"Grandes Armas");
  529. AddMenuItem(XWeapons,0,"Pequenas Armas");//9
  530. AddMenuItem(XWeapons,0,"Mais");
  531. AddMenuItem(XWeapons,0,"Voltar");//11
  532.  
  533. XWeaponsBig = CreateMenu("~b~Grandes ~g~Armas",2, 55.0, 200.0, 100.0, 80.0);
  534. SetMenuColumnHeader(XWeaponsBig, 0, "Escolha uma arma");
  535. AddMenuItem(XWeaponsBig,0,"Shotgun");
  536. AddMenuItem(XWeaponsBig,0,"AK-47");
  537. AddMenuItem(XWeaponsBig,0,"Country Rifle");
  538. AddMenuItem(XWeaponsBig,0,"HS Rocket Launcher");
  539. AddMenuItem(XWeaponsBig,0,"Flamethrower");
  540. AddMenuItem(XWeaponsBig,0,"SMG");
  541. AddMenuItem(XWeaponsBig,0,"TEC9");
  542. AddMenuItem(XWeaponsBig,0,"Voltar");
  543.  
  544. XWeaponsSmall = CreateMenu("~b~Pequenas ~g~Armas",2, 55.0, 200.0, 100.0, 80.0);
  545. SetMenuColumnHeader(XWeaponsBig, 0, "Escolha uma arma");
  546. AddMenuItem(XWeaponsSmall,0,"9mm");
  547. AddMenuItem(XWeaponsSmall,0,"Silenced 9mm");
  548. AddMenuItem(XWeaponsSmall,0,"Molotov Cocktail");
  549. AddMenuItem(XWeaponsSmall,0,"Fire Extinguisher");
  550. AddMenuItem(XWeaponsSmall,0,"Spraycan");
  551. AddMenuItem(XWeaponsSmall,0,"Frag Grenades");
  552. AddMenuItem(XWeaponsSmall,0,"Katana");
  553. AddMenuItem(XWeaponsSmall,0,"Chainsaw");
  554. AddMenuItem(XWeaponsSmall,0,"Voltar");
  555.  
  556. XWeaponsMore = CreateMenu("~b~Mais ~g~Armas",2, 55.0, 200.0, 100.0, 80.0);
  557. SetMenuColumnHeader(XWeaponsBig, 0, "Escolha uma arma");
  558. AddMenuItem(XWeaponsMore,0,"Jetpack");
  559. AddMenuItem(XWeaponsMore,0,"Knife");
  560. AddMenuItem(XWeaponsMore,0,"Flowers");
  561. AddMenuItem(XWeaponsMore,0,"Camera");
  562. AddMenuItem(XWeaponsMore,0,"Pool Cue");
  563. AddMenuItem(XWeaponsMore,0,"Baseball Bat");
  564. AddMenuItem(XWeaponsMore,0,"Golf Club");
  565. AddMenuItem(XWeaponsMore,0,"MUNICAO MAX.");
  566. AddMenuItem(XWeaponsMore,0,"Voltar");
  567.  
  568. LTele = CreateMenu("Teleportes", 2, 55.0, 200.0, 100.0, 80.0);
  569. SetMenuColumnHeader(LTele, 0, "Teleportar para onde?");
  570. AddMenuItem(LTele, 0, "Las Venturas");//0
  571. AddMenuItem(LTele, 0, "Los Santos");//1
  572. AddMenuItem(LTele, 0, "San Fierro");//2
  573. AddMenuItem(LTele, 0, "The Desert");//3
  574. AddMenuItem(LTele, 0, "Flint Country");//4
  575. AddMenuItem(LTele, 0, "Mount Chiliad");//5
  576. AddMenuItem(LTele, 0, "Interiores");//6
  577. AddMenuItem(LTele, 0, "Voltar");//8
  578.  
  579. LasVenturasMenu = CreateMenu("Las Venturas", 2, 55.0, 200.0, 100.0, 80.0);
  580. SetMenuColumnHeader(LasVenturasMenu, 0, "Teleportar para onde?");
  581. AddMenuItem(LasVenturasMenu, 0, "The Strip");//0
  582. AddMenuItem(LasVenturasMenu, 0, "Come-A-Lot");//1
  583. AddMenuItem(LasVenturasMenu, 0, "LV Airport");//2
  584. AddMenuItem(LasVenturasMenu, 0, "KACC Military Fuels");//3
  585. AddMenuItem(LasVenturasMenu, 0, "Yellow Bell Golf Club");//4
  586. AddMenuItem(LasVenturasMenu, 0, "Baseball Pitch");//5
  587. AddMenuItem(LasVenturasMenu, 0, "Voltar");//6
  588.  
  589. LosSantosMenu = CreateMenu("Los Santos", 2, 55.0, 200.0, 100.0, 80.0);
  590. SetMenuColumnHeader(LosSantosMenu, 0, "Teleportar para onde?");
  591. AddMenuItem(LosSantosMenu, 0, "Ganton");//0
  592. AddMenuItem(LosSantosMenu, 0, "LS Airport");//1
  593. AddMenuItem(LosSantosMenu, 0, "Ocean Docks");//2
  594. AddMenuItem(LosSantosMenu, 0, "Pershing Square");//3
  595. AddMenuItem(LosSantosMenu, 0, "Verdant Bluffs");//4
  596. AddMenuItem(LosSantosMenu, 0, "Santa Maria Beach");//5
  597. AddMenuItem(LosSantosMenu, 0, "Mulholland");//6
  598. AddMenuItem(LosSantosMenu, 0, "Richman");//7
  599. AddMenuItem(LosSantosMenu, 0, "Voltar");//8
  600.  
  601. SanFierroMenu = CreateMenu("San Fierro", 2, 55.0, 200.0, 100.0, 80.0);
  602. SetMenuColumnHeader(SanFierroMenu, 0, "Teleportar para onde?");
  603. AddMenuItem(SanFierroMenu, 0, "SF Station");//0
  604. AddMenuItem(SanFierroMenu, 0, "SF Airport");//1
  605. AddMenuItem(SanFierroMenu, 0, "Ocean Flats");//2
  606. AddMenuItem(SanFierroMenu, 0, "Avispa Country Club");//3
  607. AddMenuItem(SanFierroMenu, 0, "Easter Basin (docks)");//4
  608. AddMenuItem(SanFierroMenu, 0, "Esplanade North");//5
  609. AddMenuItem(SanFierroMenu, 0, "Battery Point");//6
  610. AddMenuItem(SanFierroMenu, 0, "Voltar");//7
  611.  
  612. DesertMenu = CreateMenu("The Desert", 2, 55.0, 200.0, 100.0, 80.0);
  613. SetMenuColumnHeader(DesertMenu, 0, "Teleportar para onde?");
  614. AddMenuItem(DesertMenu, 0, "Aircraft Graveyard");//0
  615. AddMenuItem(DesertMenu, 0, "Area 51");//1
  616. AddMenuItem(DesertMenu, 0, "The Big Ear");//2
  617. AddMenuItem(DesertMenu, 0, "The Sherman Dam");//3
  618. AddMenuItem(DesertMenu, 0, "Las Barrancas");//4
  619. AddMenuItem(DesertMenu, 0, "El Quebrados");//5
  620. AddMenuItem(DesertMenu, 0, "Octane Springs");//6
  621. AddMenuItem(DesertMenu, 0, "Voltar");//7
  622.  
  623. FlintMenu = CreateMenu("Flint Country", 2, 55.0, 200.0, 100.0, 80.0);
  624. SetMenuColumnHeader(FlintMenu, 0, "Teleportar para onde?");
  625. AddMenuItem(FlintMenu, 0, "The Lake");//0
  626. AddMenuItem(FlintMenu, 0, "Leafy Hollow");//1
  627. AddMenuItem(FlintMenu, 0, "The Farm");//2
  628. AddMenuItem(FlintMenu, 0, "Shady Cabin");//3
  629. AddMenuItem(FlintMenu, 0, "Flint Range");//4
  630. AddMenuItem(FlintMenu, 0, "Becon Hill");//5
  631. AddMenuItem(FlintMenu, 0, "Fallen Tree");//6
  632. AddMenuItem(FlintMenu, 0, "Voltar");//7
  633.  
  634. MountChiliadMenu = CreateMenu("Mount Chiliad", 2, 55.0, 200.0, 100.0, 80.0);
  635. SetMenuColumnHeader(MountChiliadMenu, 0, "Teleportar para onde?");
  636. AddMenuItem(MountChiliadMenu, 0, "Chiliad Jump");//0
  637. AddMenuItem(MountChiliadMenu, 0, "Bottom Of Chiliad");//1
  638. AddMenuItem(MountChiliadMenu, 0, "Highest Point");//2
  639. AddMenuItem(MountChiliadMenu, 0, "Chiliad Path");//3
  640. AddMenuItem(MountChiliadMenu, 0, "Voltar");//7
  641.  
  642. InteriorsMenu = CreateMenu("Interiores", 2, 55.0, 200.0, 130.0, 80.0);
  643. SetMenuColumnHeader(InteriorsMenu, 0, "Teleportar para onde?");
  644. AddMenuItem(InteriorsMenu, 0, "Planning Department");//0
  645. AddMenuItem(InteriorsMenu, 0, "LV PD");//1
  646. AddMenuItem(InteriorsMenu, 0, "Pizza Stack");//2
  647. AddMenuItem(InteriorsMenu, 0, "RC Battlefield");//3
  648. AddMenuItem(InteriorsMenu, 0, "Caligula's Casino");//4
  649. AddMenuItem(InteriorsMenu, 0, "Big Smoke's Crack Palace");//5
  650. AddMenuItem(InteriorsMenu, 0, "Madd Dogg's Mansion");//6
  651. AddMenuItem(InteriorsMenu, 0, "Dirtbike Stadium");//7
  652. AddMenuItem(InteriorsMenu, 0, "Vice Stadium (duel)");//8
  653. AddMenuItem(InteriorsMenu, 0, "Ammu-nation");//9
  654. AddMenuItem(InteriorsMenu, 0, "Atrium");//7
  655. AddMenuItem(InteriorsMenu, 0, "Voltar");//8
  656. #endif
  657.  
  658. for(new i = 0; i < MAX_PLAYERS; i++) if(IsPlayerConnected(i)) OnPlayerConnect(i);
  659. for(new i = 1; i < MAX_CHAT_LINES; i++) Chat[i] = "<none>";
  660. for(new i = 1; i < MAX_REPORTS; i++) Reports[i] = "<none>";
  661.  
  662. PingTimer = SetTimer("PingKick",5000,1);
  663. GodTimer = SetTimer("GodUpdate",2000,1);
  664.  
  665. new year,month,day; getdate(year, month, day);
  666. new hour,minute,second; gettime(hour,minute,second);
  667.  
  668. print("________________________________________");
  669. print(" LAdmin Version 4.0 ");
  670. print(" Loaded ");
  671. print("________________________________________");
  672. printf(" Date: %d/%d/%d Time: %d:%d :%d ",day,month,year, hour, minute, second);
  673. print("________________________________________");
  674. print("________________________________________\n");
  675. return 1;
  676. }
  677. //==============================================================================
  678. public OnFilterScriptExit()
  679. {
  680. KillTimer(PingTimer);
  681. KillTimer(GodTimer);
  682. #if defined USE_MENUS
  683. DestroyAllMenus();
  684. #endif
  685.  
  686. new year,month,day; getdate(year, month, day);
  687. new hour,minute,second; gettime(hour,minute,second);
  688. print("\n________________________________________");
  689. print("________________________________________");
  690. print(" LAdmin Unloaded ");
  691. print("________________________________________");
  692. printf(" Date: %d/%d/%d Time: %d:%d :%d ",day,month,year, hour, minute, second);
  693. print("________________________________________");
  694. print("________________________________________\n");
  695. return 1;
  696. }
  697.  
  698. //==============================================================================
  699. public OnPlayerConnect(playerid)
  700. {
  701. PlayerInfo[playerid][Deaths] = 0;
  702. PlayerInfo[playerid][Kills] = 0;
  703. PlayerInfo[playerid][Jailed] = 0;
  704. PlayerInfo[playerid][Frozen] = 0;
  705. PlayerInfo[playerid][Level] = 0;
  706. PlayerInfo[playerid][LoggedIn] = 0;
  707. PlayerInfo[playerid][Registered] = 0;
  708. PlayerInfo[playerid][God] = 0;
  709. PlayerInfo[playerid][GodCar] = 0;
  710. PlayerInfo[playerid][TimesSpawned] = 0;
  711. PlayerInfo[playerid][Muted] = 0;
  712. PlayerInfo[playerid][MuteWarnings] = 0;
  713. PlayerInfo[playerid][Warnings] = 0;
  714. PlayerInfo[playerid][Caps] = 0;
  715. PlayerInfo[playerid][DoorsLocked] = 0;
  716. PlayerInfo[playerid][pCar] = -1;
  717. for(new i; i<PING_MAX_EXCEEDS; i++) PlayerInfo[playerid][pPing][i] = 0;
  718. PlayerInfo[playerid][SpamCount] = 0;
  719. PlayerInfo[playerid][SpamTime] = 0;
  720. PlayerInfo[playerid][PingCount] = 0;
  721. PlayerInfo[playerid][PingTime] = 0;
  722. PlayerInfo[playerid][FailLogin] = 0;
  723. PlayerInfo[playerid][ConnectTime] = gettime();
  724. //------------------------------------------------------
  725. new PlayerName[MAX_PLAYER_NAME], string[128]/*, str[128]*/, file[256];
  726. GetPlayerName(playerid, PlayerName, MAX_PLAYER_NAME);
  727. new tmp3[50]; GetPlayerIp(playerid,tmp3,50);
  728. //-----------------------------------------------------
  729. if (dUserINT(PlayerName2(playerid)).("banned") == 1)
  730. {
  731. SendClientMessage(playerid, red, "Você está banido deste servidor!");
  732. format(string,sizeof(string),"%s ID:%d foi kickado automaticamente. Motivo: Está banido do servidor",PlayerName,playerid);
  733. SendClientMessageToAll(orange, string); print(string);
  734. SaveToFile("KickLog",string); Kick(playerid);
  735. }
  736. //-----------------------------------------------------
  737. if(ServerInfo[NameKick] == 1) {
  738. for(new s = 0; s < BadNameCount; s++) {
  739. if(!strcmp(BadNames[s],PlayerName,true)) {
  740. SendClientMessage(playerid,red, "Seu nome está em nossa lista negra, você foi kickado.");
  741. format(string,sizeof(string),"%s ID:%d foi kickado automaticamente. (Motivo: Nome proibido)",PlayerName,playerid);
  742. SendClientMessageToAll(orange, string); print(string);
  743. SaveToFile("KickLog",string); Kick(playerid);
  744. return 1;
  745. }
  746. }
  747. }
  748. //-----------------------------------------------------
  749. if(ServerInfo[PartNameKick] == 1) {
  750. for(new s = 0; s < BadPartNameCount; s++) {
  751. new pos;
  752. while((pos = strfind(PlayerName,BadPartNames[s],true)) != -1) for(new i = pos, j = pos + strlen(BadPartNames[s]); i < j; i++)
  753. {
  754. SendClientMessage(playerid,red, "Seu nome não é permitido neste servidor, você foi kickado.");
  755. format(string,sizeof(string),"%s ID:%d foi kickado automaticamente. (Motivo: Nome proibido)",PlayerName,playerid);
  756. SendClientMessageToAll(orange, string); print(string);
  757. SaveToFile("KickLog",string); Kick(playerid);
  758. return 1;
  759. }
  760. }
  761. }
  762. //-----------------------------------------------------
  763. if(ServerInfo[Locked] == 1) {
  764. PlayerInfo[playerid][AllowedIn] = false;
  765. SendClientMessage(playerid,red,"Servidor Fechado! Você tem 20 segundos para digitar a senha do servidor antes de ser kickado!");
  766. SendClientMessage(playerid,red,"Digite /senha [senha]");
  767. LockKickTimer[playerid] = SetTimerEx("AutoKick", 20000, 0, "i", playerid);
  768. }
  769. //-----------------------------------------------------
  770. if(!udb_Exists(PlayerName2(playerid))) SendClientMessage(playerid,orange, "Para ver quem criou esse FS de admin digite {09FF00}/CREDITOSFSADMIN");
  771. else
  772. {
  773. PlayerInfo[playerid][Registered] = 1;
  774. format(file,sizeof(file),"/ladmin/users/%s.sav",udb_encode(PlayerName));
  775. new tmp2[256]; tmp2 = dini_Get(file,"ip");
  776. if( (!strcmp(tmp3,tmp2,true)) && (ServerInfo[AutoLogin] == 1) )
  777. {
  778. LoginPlayer(playerid);
  779. if(PlayerInfo[playerid][Level] > 0)
  780. {
  781. format(string,sizeof(string),"CONTA: Você foi automaticamente logado. (Admin Nível %d)", PlayerInfo[playerid][Level] );
  782. SendClientMessage(playerid,green,string);
  783. }
  784. else SendClientMessage(playerid,green,"CONTA: Você foi automaticamente logado.");
  785. }
  786. else SendClientMessage(playerid, orange, "Para ver quem criou esse FS de admin digite {09FF00}/CREDITOSFSADMIN");
  787. }
  788. new ipplayer[16];
  789. GetPlayerIp(playerid,ipplayer,sizeof(ipplayer));
  790. if(strfind(ipplayer,FAIXA_IP,true)!= -1)
  791. {
  792. new str[256],str2[256];
  793. new pname[MAX_PLAYER_NAME];
  794. GetPlayerName(playerid,pname,MAX_PLAYER_NAME);
  795. format(str,sizeof(str),"%s foi banido do servidor. Motivo: Faixa n do Ip está na lista negra",pname);
  796. SendClientMessageToAll(grey,string);
  797. SendClientMessage(playerid, red,"Sua faixa IP está banida!");
  798. format(str2,sizeof(str2),"%s seu NOOB! nem adianta usar antiban ou trocar de ip ou de nick!",pname);
  799. SendClientMessage(playerid,yellow,str2);
  800. SendClientMessage(playerid,yellow,"Você está banido pra sempre!");
  801. Ban(playerid);
  802. }
  803. return 1;
  804. }
  805.  
  806. //==============================================================================
  807.  
  808. forward AutoKick(playerid);
  809. public AutoKick(playerid)
  810. {
  811. if( IsPlayerConnected(playerid) && ServerInfo[Locked] == 1 && PlayerInfo[playerid][AllowedIn] == false) {
  812. new string[128];
  813. SendClientMessage(playerid,grey,"Você foi automaticamente kickado. Motivo: Server Fechado");
  814. format(string,sizeof(string),"%s ID:%d foi automaticamente kickado. Motivo: Server Fechado",PlayerName2(playerid),playerid);
  815. SaveToFile("KickLog",string); Kick(playerid);
  816. SendClientMessageToAll(grey, string); print(string);
  817. }
  818. return 1;
  819. }
  820.  
  821. //==============================================================================
  822.  
  823. public OnPlayerDisconnect(playerid, reason)
  824. {
  825. new PlayerName[MAX_PLAYER_NAME]/*, str[128]*/;
  826. GetPlayerName(playerid, PlayerName, sizeof(PlayerName));
  827.  
  828. if(PlayerInfo[playerid][LoggedIn] == 1) SavePlayer(playerid);
  829. if(udb_Exists(PlayerName2(playerid))) dUserSetINT(PlayerName2(playerid)).("loggedin",0);
  830. PlayerInfo[playerid][LoggedIn] = 0;
  831. PlayerInfo[playerid][Level] = 0;
  832. PlayerInfo[playerid][Jailed] = 0;
  833. PlayerInfo[playerid][Frozen] = 0;
  834.  
  835. if(PlayerInfo[playerid][Jailed] == 1) KillTimer( JailTimer[playerid] );
  836. if(PlayerInfo[playerid][Frozen] == 1) KillTimer( FreezeTimer[playerid] );
  837. if(ServerInfo[Locked] == 1) KillTimer( LockKickTimer[playerid] );
  838.  
  839. if(PlayerInfo[playerid][pCar] != -1) CarDeleter(PlayerInfo[playerid][pCar]);
  840.  
  841. #if defined ENABLE_SPEC
  842. for(new x=0; x<MAX_PLAYERS; x++)
  843. if(GetPlayerState(x) == PLAYER_STATE_SPECTATING && PlayerInfo[x][SpecID] == playerid)
  844. AdvanceSpectate(x);
  845. #endif
  846.  
  847. return 1;
  848. }
  849.  
  850. forward DelayKillPlayer(playerid);
  851. public DelayKillPlayer(playerid)
  852. {
  853. SetPlayerHealth(playerid,0.0);
  854. SendClientMessage(playerid,red,"Você tem que se registrar para não morrer! Use /registrar [senha].");
  855. /*ForceClassSelection(playerid);*/
  856. }
  857.  
  858.  
  859. //==============================================================================
  860. public OnPlayerRequestClass(playerid)
  861. {
  862. if(ServerInfo[Locked] == 1 && PlayerInfo[playerid][AllowedIn] == false)
  863. {
  864. GameTextForPlayer(playerid,"~r~Server Fechado~n~Voce deve digitar a senha antes de entrar~n~/senha <senha>",4000,3);
  865. SetTimerEx("DelayKillPlayer", 2500,0,"d",playerid);
  866. return 1;
  867. }
  868.  
  869. if(ServerInfo[MustLogin] == 1 && PlayerInfo[playerid][Registered] == 1 && PlayerInfo[playerid][LoggedIn] == 0)
  870. {
  871. #if USE_DIALOGS == true
  872. new lstring[256];
  873. format(lstring,256," {20CF0C}Nick: {F27916}'%s ' \n\n {20CF0C}Estado: {F27916}Registrado \n\n {10CBE8}Digite a sua senha corretamente:",pName(playerid));
  874. ShowPlayerDialog(playerid,DIALOGID0+2,DIALOG_STYLE_INPUT,"Logar Conta",lstring,"Logar","Kick");
  875. #endif
  876. return 1;
  877. }
  878.  
  879. if(ServerInfo[MustRegister] == 1 && PlayerInfo[playerid][Registered] == 0)
  880. {
  881. new lstring[256];
  882. format(lstring,256," {20CF0C}Nick: {F27916}'%s ' \n\n {20CF0C}Estado: {F27916}Não está registrado!\n\n {10CBE8}Registre-se para seus status serem salvos.\n\n {20CF0C}Digite uma senha:",pName(playerid));
  883. ShowPlayerDialog(playerid,DIALOGID0+1,DIALOG_STYLE_INPUT,"Registrar Conta",lstring,"Registrar","Kick");
  884. return 1;
  885. }
  886.  
  887. PlayerInfo[playerid][Spawned] = 1;
  888.  
  889. if(PlayerInfo[playerid][Frozen] == 1) {
  890. TogglePlayerControllable(playerid,false); return SendClientMessage(playerid,red,"Você não pode escapar do seu castigo. Você Está Congelado");
  891. }
  892.  
  893. if(PlayerInfo[playerid][Jailed] == 1) {
  894. SetTimerEx("JailPlayer",3000,0,"d",playerid); return SendClientMessage(playerid,red,"Você não pode escapar do seu castigo. Você Está Preso");
  895. }
  896.  
  897. if(ServerInfo[AdminOnlySkins] == 1) {
  898. if( (GetPlayerSkin(playerid) == ServerInfo[AdminSkin]) || (GetPlayerSkin(playerid) == ServerInfo[AdminSkin2]) ) {
  899. if(PlayerInfo[playerid][Level] >= 1)
  900. GameTextForPlayer(playerid,"~b~Bem Vindo~n~~w~Admin",3000,1);
  901. else {
  902. GameTextForPlayer(playerid,"~r~Esta Skin e Para~n~Administradores",4000,1);
  903. SetTimerEx("DelayKillPlayer", 2500,0,"d",playerid);
  904. return 1;
  905. }
  906. }
  907. }
  908.  
  909. if((dUserINT(PlayerName2(playerid)).("UseSkin")) == 1)
  910. if((PlayerInfo[playerid][Level] >= 1) && (PlayerInfo[playerid][LoggedIn] == 1))
  911. SetPlayerSkin(playerid,(dUserINT(PlayerName2(playerid)).("FavSkin")) );
  912.  
  913. if(ServerInfo[GiveWeap] == 0) {
  914. if(PlayerInfo[playerid][LoggedIn] == 1) {
  915. PlayerInfo[playerid][TimesSpawned]++;
  916. if(PlayerInfo[playerid][TimesSpawned] == 1)
  917. {
  918. GivePlayerWeapon(playerid, dUserINT(PlayerName2(playerid)).("weap1"), dUserINT(PlayerName2(playerid)).("weap1ammo") );
  919. GivePlayerWeapon(playerid, dUserINT(PlayerName2(playerid)).("weap2"), dUserINT(PlayerName2(playerid)).("weap2ammo") );
  920. GivePlayerWeapon(playerid, dUserINT(PlayerName2(playerid)).("weap3"), dUserINT(PlayerName2(playerid)).("weap3ammo") );
  921. GivePlayerWeapon(playerid, dUserINT(PlayerName2(playerid)).("weap4"), dUserINT(PlayerName2(playerid)).("weap4ammo") );
  922. GivePlayerWeapon(playerid, dUserINT(PlayerName2(playerid)).("weap5"), dUserINT(PlayerName2(playerid)).("weap5ammo") );
  923. GivePlayerWeapon(playerid, dUserINT(PlayerName2(playerid)).("weap6"), dUserINT(PlayerName2(playerid)).("weap6ammo") );
  924. }
  925. }
  926. }
  927. return 1;
  928. }
  929.  
  930. //==============================================================================
  931.  
  932. public OnPlayerDeath(playerid, killerid, reason)
  933. {
  934. #if defined USE_STATS
  935. PlayerInfo[playerid][Deaths]++;
  936. #endif
  937. InDuel[playerid] = 0;
  938.  
  939. if(IsPlayerConnected(killerid) && killerid != INVALID_PLAYER_ID)
  940. {
  941. #if defined USE_STATS
  942. PlayerInfo[killerid][Kills]++;
  943. #endif
  944.  
  945. if(InDuel[playerid] == 1 && InDuel[killerid] == 1)
  946. {
  947. GameTextForPlayer(playerid,"Perdedor !",3000,3);
  948. GameTextForPlayer(killerid,"Vencedor !",3000,3);
  949. InDuel[killerid] = 0;
  950. SetPlayerPos(killerid, 0.0, 0.0, 0.0);
  951. SpawnPlayer(killerid);
  952. }
  953. else if(InDuel[playerid] == 1 && InDuel[killerid] == 0)
  954. {
  955. GameTextForPlayer(playerid,"Perdedor !",3000,3);
  956. }
  957. }
  958.  
  959. #if defined ENABLE_SPEC
  960. for(new x=0; x<MAX_PLAYERS; x++)
  961. if(GetPlayerState(x) == PLAYER_STATE_SPECTATING && PlayerInfo[x][SpecID] == playerid)
  962. AdvanceSpectate(x);
  963. #endif
  964.  
  965.  
  966. return 1;
  967. }
  968.  
  969. //==============================================================================
  970. public OnPlayerRequestSpawn(playerid)
  971. {
  972. if(PlayerInfo[playerid][Registered] == 0){
  973. GameTextForPlayer(playerid,"~n~~n~~n~~n~~n~~n~~r~Voce ainda nao esta registrado!",3000,3);
  974. return 0;
  975. }
  976. if(PlayerInfo[playerid][Registered] == 1 && PlayerInfo[playerid][LoggedIn] == 0){
  977. PlayerInfo[playerid][FailLogin]++;
  978. GameTextForPlayer(playerid,"~n~~n~~n~~n~~n~~n~~r~Voce ainda nao esta logado!",3000,3);
  979. return 0;
  980. }
  981. return 1;
  982. }
  983. //==============================================================================
  984. public OnPlayerText(playerid, text[])
  985. {
  986. if(text[0] == '#' && PlayerInfo[playerid][Level] >= 1) {
  987. new string[128]; GetPlayerName(playerid,string,sizeof(string));
  988. format(string,sizeof(string),"Admin Chat: %s: %s",string,text[1]); MessageToAdmins(green,string);
  989. return 0;
  990. }
  991.  
  992. if(ServerInfo[DisableChat] == 1) {
  993. SendClientMessage(playerid,red,"Chat foi desligado");
  994. return 0;
  995. }
  996.  
  997. if(PlayerInfo[playerid][Muted] == 1)
  998. {
  999. PlayerInfo[playerid][MuteWarnings]++;
  1000. new string[128];
  1001. if(PlayerInfo[playerid][MuteWarnings] < ServerInfo[MaxMuteWarnings]) {
  1002. format(string, sizeof(string),"AVISO: Você foi calado, se você continuar a falar você vai ser kickado. (%d / %d)", PlayerInfo[playerid][MuteWarnings], ServerInfo[MaxMuteWarnings] );
  1003. SendClientMessage(playerid,red,string);
  1004. } else {
  1005. SendClientMessage(playerid,red,"Você foi avisado! Agora você foi kickado");
  1006. format(string, sizeof(string),"***%s (ID %d) foi kickado por exceder os avisos do mute", PlayerName2(playerid), playerid);
  1007. SendClientMessageToAll(orange,string);
  1008. SaveToFile("KickLog",string); Kick(playerid);
  1009. } return 0;
  1010. }
  1011.  
  1012. if(ServerInfo[AntiSpam] == 1 && (PlayerInfo[playerid][Level] == 0 && !IsPlayerAdmin(playerid)) )
  1013. {
  1014. if(PlayerInfo[playerid][SpamCount] == 0) PlayerInfo[playerid][SpamTime] = TimeStamp();
  1015.  
  1016. PlayerInfo[playerid][SpamCount]++;
  1017. if(TimeStamp() - PlayerInfo[playerid][SpamTime] > SPAM_TIMELIMIT) { // Its OK your messages were far enough apart
  1018. PlayerInfo[playerid][SpamCount] = 0;
  1019. PlayerInfo[playerid][SpamTime] = TimeStamp();
  1020. }
  1021. else if(PlayerInfo[playerid][SpamCount] == SPAM_MAX_MSGS) {
  1022. new string[64]; format(string,sizeof(string),"%s foi kickado por floodar no chat!", PlayerName2(playerid));
  1023. SendClientMessageToAll(red,string); print(string);
  1024. SaveToFile("KickLog",string);
  1025. GameTextForPlayer(playerid,"~r~Voce foi kickado!",5000,5);
  1026. Kick(playerid);
  1027. }
  1028. else if(PlayerInfo[playerid][SpamCount] == SPAM_MAX_MSGS-1) {
  1029. SendClientMessage(playerid,red,"Aviso Anti Flood! Próxima vez é kick!");
  1030. return 0;
  1031. }
  1032. }
  1033.  
  1034. if(ServerInfo[AntiSwear] == 1 && PlayerInfo[playerid][Level] < ServerInfo[MaxAdminLevel])
  1035. for(new s = 0; s < ForbiddenWordCount; s++)
  1036. {
  1037. new pos;
  1038. while((pos = strfind(text,ForbiddenWords[s],true)) != -1) for(new i = pos, j = pos + strlen(ForbiddenWords[s]); i < j; i++) text[i] = '*';
  1039. }
  1040.  
  1041. if(PlayerInfo[playerid][Caps] == 1) UpperToLower(text);
  1042. if(ServerInfo[NoCaps] == 1) UpperToLower(text);
  1043.  
  1044. for(new i = 1; i < MAX_CHAT_LINES-1; i++) Chat[i] = Chat[i+1];
  1045. new ChatSTR[128]; GetPlayerName(playerid,ChatSTR,sizeof(ChatSTR)); format(ChatSTR,128,"[lchat]%s: %s",ChatSTR, text[0] );
  1046. Chat[MAX_CHAT_LINES-1] = ChatSTR;
  1047. return 1;
  1048. }
  1049.  
  1050. //==============================================================================
  1051. forward OnPlayerPrivmsg(playerid, recieverid, text[]);
  1052. public OnPlayerPrivmsg(playerid, recieverid, text[])
  1053. {
  1054. if(ServerInfo[ReadPMs] == 1 && PlayerInfo[playerid][Level] != ServerInfo[MaxAdminLevel])
  1055. {
  1056. new string[128],recievername[MAX_PLAYER_NAME];
  1057. GetPlayerName(playerid, string, sizeof(string)); GetPlayerName(recieverid, recievername, sizeof(recievername));
  1058. format(string, sizeof(string), "***PM: %s Para %s: %s", string, recievername, text);
  1059. for (new a = 0; a < MAX_PLAYERS; a++) if (IsPlayerConnected(a) && (PlayerInfo[a][Level] >= ServerInfo[MaxAdminLevel]) && a != playerid)
  1060. SendClientMessage(a, grey, string);
  1061. }
  1062.  
  1063. if(PlayerInfo[playerid][Muted] == 1)
  1064. {
  1065. new string[128];
  1066. PlayerInfo[playerid][MuteWarnings]++;
  1067. if(PlayerInfo[playerid][MuteWarnings] < ServerInfo[MaxMuteWarnings]) {
  1068. format(string, sizeof(string),"AVISO: Você foi calado, se você continuar a falar você vai ser kickado (Aviso: %d/%d)", PlayerInfo[playerid][MuteWarnings], ServerInfo[MaxMuteWarnings] );
  1069. SendClientMessage(playerid,red,string);
  1070. } else {
  1071. SendClientMessage(playerid,red,"Você foi avisado! Agora você foi kickado");
  1072. GetPlayerName(playerid, string, sizeof(string));
  1073. format(string, sizeof(string),"%s [ID %d] Kickado por exceder os avisos do mute", string, playerid);
  1074. SendClientMessageToAll(grey,string);
  1075. SaveToFile("KickLog",string); Kick(playerid);
  1076. } return 0;
  1077. }
  1078. return 1;
  1079. }
  1080.  
  1081. forward HighLight(playerid);
  1082. public HighLight(playerid)
  1083. {
  1084. if(!IsPlayerConnected(playerid)) return 1;
  1085. if(PlayerInfo[playerid][blipS] == 0) { SetPlayerColor(playerid, 0xFF0000AA); PlayerInfo[playerid][blipS] = 1; }
  1086. else { SetPlayerColor(playerid, 0x33FF33AA); PlayerInfo[playerid][blipS] = 0; }
  1087. return 0;
  1088. }
  1089.  
  1090. //===================== [ DCMD Commands ]=======================================
  1091.  
  1092. dcmd_dararma(playerid,params[]) {
  1093. if(PlayerInfo[playerid][Level] >= 2) {
  1094. new tmp[256], tmp2[256], tmp3[256], Index; tmp = strtok(params,Index), tmp2 = strtok(params,Index), tmp3 = strtok(params,Index);
  1095. if(!strlen(tmp) || !strlen(tmp2)) return SendClientMessage(playerid, red, "USO: /dararma [playerid] [id arma/nome arma] [munição]");
  1096. new player1 = strval(tmp), weap, ammo, WeapName[32], string[128];
  1097. if(!strlen(tmp3) || !IsNumeric(tmp3) || strval(tmp3) <= 0 || strval(tmp3) > 99999) ammo = 500; else ammo = strval(tmp3);
  1098. if(!IsNumeric(tmp2)) weap = GetWeaponIDFromName(tmp2); else weap = strval(tmp2);
  1099. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID) {
  1100. if(!IsValidWeapon(weap)) return SendClientMessage(playerid,red,"ERRO: ID da arma inválido");
  1101. CMDMessageToAdmins(playerid,"DARARMA");
  1102. GetWeaponName(weap,WeapName,32);
  1103. format(string, sizeof(string), "Você deu a \"%s\" uma %s (%d) com %d balas de munição", PlayerName2(player1), WeapName, weap, ammo); SendClientMessage(playerid,blue,string);
  1104. if(player1 != playerid) { format(string,sizeof(string),"Administrador \"%s\" deu a você uma %s (%d) com %d balas de munição", PlayerName2(playerid), WeapName, weap, ammo); SendClientMessage(player1,blue,string); }
  1105. return GivePlayerWeapon(player1, weap, ammo);
  1106. } else return SendClientMessage(playerid,red,"ERRO: Jogador não conectado");
  1107. } else return SendClientMessage(playerid,red,"ERRO: Você não tem nível alto suficiente para usar este comando");
  1108. }
  1109.  
  1110. dcmd_setvida(playerid,params[]) {
  1111. if(PlayerInfo[playerid][Level] >= 3) {
  1112. new tmp[256], tmp2[256], Index; tmp = strtok(params,Index), tmp2 = strtok(params,Index);
  1113. if(!strlen(tmp) || !strlen(tmp2) || !IsNumeric(tmp2)) return SendClientMessage(playerid, red, "USO: /sethealth [playerid] [valor]");
  1114. if(strval(tmp2) < 0 || strval(tmp2) > 100 && PlayerInfo[playerid][Level] != ServerInfo[MaxAdminLevel]) return SendClientMessage(playerid, red, "ERRO: Valor de saúde inválida");
  1115. new player1 = strval(tmp), health = strval(tmp2), string[128];
  1116. if(PlayerInfo[player1][Level] == ServerInfo[MaxAdminLevel] && PlayerInfo[playerid][Level] != ServerInfo[MaxAdminLevel]) return SendClientMessage(playerid,red,"ERRO: Você não pode usar este comando neste admin");
  1117. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID) {
  1118. CMDMessageToAdmins(playerid,"SETVIDA");
  1119. format(string, sizeof(string), "Você definiu a saúde de \"%s\" para '%d", pName(player1), health); SendClientMessage(playerid,blue,string);
  1120. if(player1 != playerid) { format(string,sizeof(string),"Administrador \"%s\" definiu sua saúde para '%d'", pName(playerid), health); SendClientMessage(player1,blue,string); }
  1121. return SetPlayerHealth(player1, health);
  1122. } else return SendClientMessage(playerid,red,"ERRO: Jogador não conectado");
  1123. } else return SendClientMessage(playerid,red,"ERRO: Você não tem nível alto suficiente para usar este comando");
  1124. }
  1125.  
  1126. dcmd_setcolete(playerid,params[]) {
  1127. if(PlayerInfo[playerid][Level] >= 3) {
  1128. new tmp[256], tmp2[256], Index; tmp = strtok(params,Index), tmp2 = strtok(params,Index);
  1129. if(!strlen(tmp) || !strlen(tmp2) || !IsNumeric(tmp2)) return SendClientMessage(playerid, red, "USO: /setarmour [playerid] [valor]");
  1130. if(strval(tmp2) < 0 || strval(tmp2) > 100 && PlayerInfo[playerid][Level] != ServerInfo[MaxAdminLevel]) return SendClientMessage(playerid, red, "ERRO: Valor de colete inválido");
  1131. new player1 = strval(tmp), armour = strval(tmp2), string[128];
  1132. if(PlayerInfo[player1][Level] == ServerInfo[MaxAdminLevel] && PlayerInfo[playerid][Level] != ServerInfo[MaxAdminLevel]) return SendClientMessage(playerid,red,"ERRO: Você não pode usar este comando neste admin");
  1133. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID) {
  1134. CMDMessageToAdmins(playerid,"SETCOLETE");
  1135. format(string, sizeof(string), "Você definiu o colete de \"%s\" para '%d", pName(player1), armour); SendClientMessage(playerid,blue,string);
  1136. if(player1 != playerid) { format(string,sizeof(string),"Administrador \"%s\" definiu seu colete para '%d'", pName(playerid), armour); SendClientMessage(player1,blue,string); }
  1137. return SetPlayerArmour(player1, armour);
  1138. } else return SendClientMessage(playerid,red,"ERRO: Jogador não conectado");
  1139. } else return SendClientMessage(playerid,red,"ERRO: Você não tem nível alto suficiente para usar este comando");
  1140. }
  1141.  
  1142. dcmd_setgrana(playerid,params[]) {
  1143. if(PlayerInfo[playerid][Level] >= 3) {
  1144. new tmp[256], tmp2[256], Index; tmp = strtok(params,Index), tmp2 = strtok(params,Index);
  1145. if(!strlen(tmp) || !strlen(tmp2) || !IsNumeric(tmp2)) return SendClientMessage(playerid, red, "USO: /setgrana [playerid] [valor]");
  1146. new player1 = strval(tmp), cash = strval(tmp2), string[128];
  1147. if(PlayerInfo[player1][Level] == ServerInfo[MaxAdminLevel] && PlayerInfo[playerid][Level] != ServerInfo[MaxAdminLevel]) return SendClientMessage(playerid,red,"ERRO: Você não pode usar este comando neste admin");
  1148. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID) {
  1149. CMDMessageToAdmins(playerid,"SETGRANA");
  1150. format(string, sizeof(string), "Você definiu a grana de \"%s\" para '$%d", pName(player1), cash); SendClientMessage(playerid,blue,string);
  1151. if(player1 != playerid) { format(string,sizeof(string),"Administrador \"%s\" definiu sua grana para '$%d'", pName(playerid), cash); SendClientMessage(player1,blue,string); }
  1152. ResetPlayerMoney(player1);
  1153. return GivePlayerMoney(player1, cash);
  1154. } else return SendClientMessage(playerid,red,"ERRO: Jogador não conectado");
  1155. } else return SendClientMessage(playerid,red,"ERRO: Você não tem nível alto suficiente para usar este comando");
  1156. }
  1157.  
  1158. dcmd_setscore(playerid,params[]) {
  1159. if(PlayerInfo[playerid][Level] >= 3) {
  1160. new tmp[256], tmp2[256], Index; tmp = strtok(params,Index), tmp2 = strtok(params,Index);
  1161. if(!strlen(tmp) || !strlen(tmp2) || !IsNumeric(tmp2)) return SendClientMessage(playerid, red, "USO: /setscore [playerid] [score]");
  1162. new player1 = strval(tmp), score = strval(tmp2), string[128];
  1163. if(PlayerInfo[player1][Level] == ServerInfo[MaxAdminLevel] && PlayerInfo[playerid][Level] != ServerInfo[MaxAdminLevel]) return SendClientMessage(playerid,red,"ERRO: Você não pode usar este comando neste admin");
  1164. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID) {
  1165. CMDMessageToAdmins(playerid,"SETSCORE");
  1166. format(string, sizeof(string), "Você definiu o score de \"%s\" para '%d' ", pName(player1), score); SendClientMessage(playerid,blue,string);
  1167. if(player1 != playerid) { format(string,sizeof(string),"Administrador \"%s\" definiu seu score para '%d'", pName(playerid), score); SendClientMessage(player1,blue,string); }
  1168. return SetPlayerScore(player1, score);
  1169. } else return SendClientMessage(playerid,red,"ERRO: Jogador não conectado");
  1170. } else return SendClientMessage(playerid,red,"ERRO: Você não tem nível alto suficiente para usar este comando");
  1171. }
  1172.  
  1173. dcmd_setskin(playerid,params[]) {
  1174. if(PlayerInfo[playerid][Level] >= 3) {
  1175. new tmp[256], tmp2[256], Index; tmp = strtok(params,Index), tmp2 = strtok(params,Index);
  1176. if(!strlen(tmp) || !strlen(tmp2) || !IsNumeric(tmp2)) return SendClientMessage(playerid, red, "USO: /setskin [playerid] [skin id]");
  1177. new player1 = strval(tmp), skin = strval(tmp2), string[128];
  1178. if(!IsValidSkin(skin)) return SendClientMessage(playerid, red, "ERRO: ID da skin inválido");
  1179. if(PlayerInfo[player1][Level] == ServerInfo[MaxAdminLevel] && PlayerInfo[playerid][Level] != ServerInfo[MaxAdminLevel]) return SendClientMessage(playerid,red,"ERRO: Você não pode usar este comando neste admin");
  1180. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID) {
  1181. CMDMessageToAdmins(playerid,"SETSKIN");
  1182. format(string, sizeof(string), "Você definiu a skin de \"%s\" para '%d", pName(player1), skin); SendClientMessage(playerid,blue,string);
  1183. if(player1 != playerid) { format(string,sizeof(string),"Administrador \"%s\" definiu seu skin para '%d'", pName(playerid), skin); SendClientMessage(player1,blue,string); }
  1184. return SetPlayerSkin(player1, skin);
  1185. } else return SendClientMessage(playerid,red,"ERRO: Jogador não conectado");
  1186. } else return SendClientMessage(playerid,red,"ERRO: Você não tem nível alto suficiente para usar este comando");
  1187. }
  1188.  
  1189. dcmd_setprocurar(playerid,params[]) {
  1190. if(PlayerInfo[playerid][Level] >= 3) {
  1191. new tmp[256], tmp2[256], Index; tmp = strtok(params,Index), tmp2 = strtok(params,Index);
  1192. if(!strlen(tmp) || !strlen(tmp2) || !IsNumeric(tmp2)) return SendClientMessage(playerid, red, "USO: /setprocurar [playerid] [nivel]");
  1193. new player1 = strval(tmp), wanted = strval(tmp2), string[128];
  1194. // if(wanted > 6) return SendClientMessage(playerid, red, "ERROR: Invaild wanted level");
  1195. if(PlayerInfo[player1][Level] == ServerInfo[MaxAdminLevel] && PlayerInfo[playerid][Level] != ServerInfo[MaxAdminLevel]) return SendClientMessage(playerid,red,"ERRO: Você não pode usar este comando neste admin");
  1196. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID) {
  1197. CMDMessageToAdmins(playerid,"SETPROCURAR");
  1198. format(string, sizeof(string), "Você definiu o nível de procurado de \"%s\" para '%d", pName(player1), wanted); SendClientMessage(playerid,blue,string);
  1199. if(player1 != playerid) { format(string,sizeof(string),"Administrador \"%s\" definiu seu nível de procurado para '%d'", pName(playerid), wanted); SendClientMessage(player1,blue,string); }
  1200. return SetPlayerWantedLevel(player1, wanted);
  1201. } else return SendClientMessage(playerid,red,"ERRO: Jogador não conectado");
  1202. } else return SendClientMessage(playerid,red,"ERRO: Você não tem nível alto suficiente para usar este comando");
  1203. }
  1204.  
  1205. dcmd_setnome(playerid,params[]) {
  1206. if(PlayerInfo[playerid][Level] >= 4 || IsPlayerAdmin(playerid)) {
  1207. new tmp[256], tmp2[256], Index; tmp = strtok(params,Index), tmp2 = strtok(params,Index);
  1208. if(!strlen(tmp) || !strlen(tmp2)) return SendClientMessage(playerid, red, "USO: /setnome [playerid] [novo nome]");
  1209. new player1 = strval(tmp), length = strlen(tmp2), string[128];
  1210. if(length < 3 || length > MAX_PLAYER_NAME) return SendClientMessage(playerid,red,"ERRO: Comprimento do Nome Incorreto");
  1211. if(PlayerInfo[player1][Level] == ServerInfo[MaxAdminLevel] && PlayerInfo[playerid][Level] != ServerInfo[MaxAdminLevel]) return SendClientMessage(playerid,red,"ERRO: Você não pode usar este comando neste admin");
  1212. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID) {
  1213. CMDMessageToAdmins(playerid,"SETNOME");
  1214. format(string, sizeof(string), "Você definiu o nome de \"%s\" para \"%s\" ", pName(player1), tmp2); SendClientMessage(playerid,blue,string);
  1215. if(player1 != playerid) { format(string,sizeof(string),"Administrador \"%s\" definiu seu nome para \"%s\" ", pName(playerid), tmp2); SendClientMessage(player1,blue,string); }
  1216. SetPlayerName(player1, tmp2);
  1217. return OnPlayerConnect(player1);
  1218. } else return SendClientMessage(playerid,red,"ERRO: Jogador não conectado");
  1219. } else return SendClientMessage(playerid,red,"ERRO: Você não tem nível alto suficiente para usar este comando");
  1220. }
  1221.  
  1222. dcmd_setacor(playerid,params[]) {
  1223. if(PlayerInfo[playerid][Level] >= 2) {
  1224. new tmp[256], tmp2[256], Index; tmp = strtok(params,Index), tmp2 = strtok(params,Index);
  1225. if(!strlen(tmp) || !strlen(tmp2) || !IsNumeric(tmp2)) {
  1226. SendClientMessage(playerid, red, "USO: /setcolor [playerid] [Cor]");
  1227. return SendClientMessage(playerid, red, "Cores: 0=preto 1=branco 2=vermelho 3=laranja 4=amarelo 5=verde 6=azul 7=roxo 8=marrom 9=rosa");
  1228. }
  1229. new player1 = strval(tmp), Colour = strval(tmp2), string[128], colour[24];
  1230. if(Colour > 9) return SendClientMessage(playerid, red, "Cores: 0=preto 1=branco 2=vermelho 3=laranja 4=amarelo 5=verde 6=azul 7=roxo 8=marrom 9=rosa");
  1231. if(PlayerInfo[player1][Level] == ServerInfo[MaxAdminLevel] && PlayerInfo[playerid][Level] != ServerInfo[MaxAdminLevel]) return SendClientMessage(playerid,red,"ERRO: Você não pode usar este comando neste admin");
  1232. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID) {
  1233. CMDMessageToAdmins(playerid,"SETACOR");
  1234. switch (Colour)
  1235. {
  1236. case 0: { SetPlayerColor(player1,black); colour = "Preto"; }
  1237. case 1: { SetPlayerColor(player1,COLOR_WHITE); colour = "Branco"; }
  1238. case 2: { SetPlayerColor(player1,red); colour = "Vermelho"; }
  1239. case 3: { SetPlayerColor(player1,orange); colour = "Laranja"; }
  1240. case 4: { SetPlayerColor(player1,orange); colour = "Amarelo"; }
  1241. case 5: { SetPlayerColor(player1,COLOR_GREEN1); colour = "Verde"; }
  1242. case 6: { SetPlayerColor(player1,COLOR_BLUE); colour = "Azul"; }
  1243. case 7: { SetPlayerColor(player1,COLOR_PURPLE); colour = "Roxo"; }
  1244. case 8: { SetPlayerColor(player1,COLOR_BROWN); colour = "Marro"; }
  1245. case 9: { SetPlayerColor(player1,COLOR_PINK); colour = "Rosa"; }
  1246. }
  1247. if(player1 != playerid) { format(string,sizeof(string),"Administrador \"%s\" definiu sua cor para '%s' ", pName(playerid), colour); SendClientMessage(player1,blue,string); }
  1248. format(string, sizeof(string), "Você definiu a cor de \"%s\" para '%s' ", pName(player1), colour);
  1249. return SendClientMessage(playerid,blue,string);
  1250. } else return SendClientMessage(playerid,red,"ERRO: Jogador não conectado");
  1251. } else return SendClientMessage(playerid,red,"ERRO: Você não tem nível alto suficiente para usar este comando");
  1252. }
  1253.  
  1254. dcmd_defclima(playerid,params[]) {
  1255. if(PlayerInfo[playerid][Level] >= 3) {
  1256. new tmp[256], tmp2[256], Index; tmp = strtok(params,Index), tmp2 = strtok(params,Index);
  1257. if(!strlen(tmp) || !strlen(tmp2) || !IsNumeric(tmp2)) return SendClientMessage(playerid, red, "USO: /defclima [playerid] [id do clima]");
  1258. new player1 = strval(tmp), weather = strval(tmp2), string[128];
  1259. if(PlayerInfo[player1][Level] == ServerInfo[MaxAdminLevel] && PlayerInfo[playerid][Level] != ServerInfo[MaxAdminLevel]) return SendClientMessage(playerid,red,"ERRO: Você não pode usar este comando neste admin");
  1260. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID) {
  1261. CMDMessageToAdmins(playerid,"DEFCLIMA");
  1262. format(string, sizeof(string), "Você definiu o clima de \"%s\" para '%d", pName(player1), weather); SendClientMessage(playerid,blue,string);
  1263. if(player1 != playerid) { format(string,sizeof(string),"Administrador \"%s\" definiu seu clima para '%d'", pName(playerid), weather); SendClientMessage(player1,blue,string); }
  1264. SetPlayerWeather(player1,weather); PlayerPlaySound(player1,1057,0.0,0.0,0.0);
  1265. return PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
  1266. } else return SendClientMessage(playerid,red,"ERRO: Jogador não conectado");
  1267. } else return SendClientMessage(playerid,red,"ERRO: Você não tem nível alto suficiente para usar este comando");
  1268. }
  1269.  
  1270. dcmd_defhora(playerid,params[]) {
  1271. if(PlayerInfo[playerid][Level] >= 3) {
  1272. new tmp[256], tmp2[256], Index; tmp = strtok(params,Index), tmp2 = strtok(params,Index);
  1273. if(!strlen(tmp) || !strlen(tmp2) || !IsNumeric(tmp2)) return SendClientMessage(playerid, red, "USO: /defhora[playerid] [horas]");
  1274. new player1 = strval(tmp), time = strval(tmp2), string[128];
  1275. if(PlayerInfo[player1][Level] == ServerInfo[MaxAdminLevel] && PlayerInfo[playerid][Level] != ServerInfo[MaxAdminLevel]) return SendClientMessage(playerid,red,"ERRO: Você não pode usar este comando neste admin");
  1276. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID) {
  1277. CMDMessageToAdmins(playerid,"DEFHORA");
  1278. format(string, sizeof(string), "Você definiu o horário de \"%s\" para %d:00", pName(player1), time); SendClientMessage(playerid,blue,string);
  1279. if(player1 != playerid) { format(string,sizeof(string),"Administrador \"%s\" definiu seu horário para %d:00", pName(playerid), time); SendClientMessage(player1,blue,string); }
  1280. PlayerPlaySound(player1,1057,0.0,0.0,0.0);
  1281. return SetPlayerTime(player1, time, 0);
  1282. } else return SendClientMessage(playerid,red,"ERRO: Jogador não conectado");
  1283. } else return SendClientMessage(playerid,red,"ERRO: Você não tem nível alto suficiente para usar este comando");
  1284. }
  1285.  
  1286. dcmd_setmundo(playerid,params[]) {
  1287. if(PlayerInfo[playerid][Level] >= 3) {
  1288. new tmp[256], tmp2[256], Index; tmp = strtok(params,Index), tmp2 = strtok(params,Index);
  1289. if(!strlen(tmp) || !strlen(tmp2) || !IsNumeric(tmp2)) return SendClientMessage(playerid, red, "USO: /setmundo [playerid] [mundo virtual]");
  1290. new player1 = strval(tmp), time = strval(tmp2), string[128];
  1291. if(PlayerInfo[player1][Level] == ServerInfo[MaxAdminLevel] && PlayerInfo[playerid][Level] != ServerInfo[MaxAdminLevel]) return SendClientMessage(playerid,red,"ERRO: Você não pode usar este comando neste admin");
  1292. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID) {
  1293. CMDMessageToAdmins(playerid,"SETMUNDO");
  1294. format(string, sizeof(string), "Você definiu o mundo virtual de \"%s\" para '%d'", pName(player1), time); SendClientMessage(playerid,blue,string);
  1295. if(player1 != playerid) { format(string,sizeof(string),"Administrador \"%s\" definiu seu mundo virtual para '%d' ", pName(playerid), time); SendClientMessage(player1,blue,string); }
  1296. PlayerPlaySound(player1,1057,0.0,0.0,0.0);
  1297. return SetPlayerVirtualWorld(player1, time);
  1298. } else return SendClientMessage(playerid,red,"ERRO: Jogador não conectado");
  1299. } else return SendClientMessage(playerid,red,"ERRO: Você não tem nível alto suficiente para usar este comando");
  1300. }
  1301.  
  1302. dcmd_setinterior(playerid,params[]) {
  1303. if(PlayerInfo[playerid][Level] >= 3) {
  1304. new tmp[256], tmp2[256], Index; tmp = strtok(params,Index), tmp2 = strtok(params,Index);
  1305. if(!strlen(tmp) || !strlen(tmp2) || !IsNumeric(tmp2)) return SendClientMessage(playerid, red, "USO: /setinterior [playerid] [interior]");
  1306. new player1 = strval(tmp), time = strval(tmp2), string[128];
  1307. if(PlayerInfo[player1][Level] == ServerInfo[MaxAdminLevel] && PlayerInfo[playerid][Level] != ServerInfo[MaxAdminLevel]) return SendClientMessage(playerid,red,"ERRO: Você não pode usar este comando neste admin");
  1308. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID) {
  1309. CMDMessageToAdmins(playerid,"SETINTERIOR");
  1310. format(string, sizeof(string), "Você definiu o interior de \"%s\" para '%d' ", pName(player1), time); SendClientMessage(playerid,blue,string);
  1311. if(player1 != playerid) { format(string,sizeof(string),"Administrador \"%s\" definiu seu interior para '%d' ", pName(playerid), time); SendClientMessage(player1,blue,string); }
  1312. PlayerPlaySound(player1,1057,0.0,0.0,0.0);
  1313. return SetPlayerInterior(player1, time);
  1314. } else return SendClientMessage(playerid,red,"ERRO: Jogador não conectado");
  1315. } else return SendClientMessage(playerid,red,"ERRO: Você não tem nível alto suficiente para usar este comando");
  1316. }
  1317.  
  1318. dcmd_setmytime(playerid,params[]) {
  1319. if(PlayerInfo[playerid][Level] >= 1) {
  1320. if(!strlen(params)) return SendClientMessage(playerid, red, "USO: /setmytime [horas]");
  1321. new time = strval(params), string[128];
  1322. CMDMessageToAdmins(playerid,"SETMYTIME");
  1323. format(string,sizeof(string),"Você definiu o seu horário para %d:00", time); SendClientMessage(playerid,blue,string);
  1324. return SetPlayerTime(playerid, time, 0);
  1325. } else return SendClientMessage(playerid,red,"ERRO: Você não tem nível alto suficiente para usar este comando");
  1326. }
  1327.  
  1328. dcmd_force(playerid,params[]) {
  1329. if(PlayerInfo[playerid][Level] >= 3) {
  1330. if(!strlen(params)) return SendClientMessage(playerid, red, "USO: /force [playerid]");
  1331. new player1 = strval(params), string[128];
  1332. if(PlayerInfo[player1][Level] == ServerInfo[MaxAdminLevel] && PlayerInfo[playerid][Level] != ServerInfo[MaxAdminLevel]) return SendClientMessage(playerid,red,"ERRO: Você não pode usar este comando neste admin");
  1333. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID) {
  1334. CMDMessageToAdmins(playerid,"FORCE");
  1335. if(player1 != playerid) { format(string,sizeof(string),"Administrador \"%s\" obrigou você a retornar para a seleção de classes", pName(playerid) ); SendClientMessage(player1,blue,string); }
  1336. format(string,sizeof(string),"Você obrigou \"%s\" para a seleção de classes", pName(player1)); SendClientMessage(playerid,blue,string);
  1337. ForceClassSelection(player1);
  1338. return SetPlayerHealth(player1,0.0);
  1339. } else return SendClientMessage(playerid,red,"ERRO: Jogador não conectado");
  1340. } else return SendClientMessage(playerid,red,"ERRO: Você não tem nível alto suficiente para usar este comando");
  1341. }
  1342.  
  1343. dcmd_ejetar(playerid,params[]) {
  1344. if(PlayerInfo[playerid][Level] >= 3) {
  1345. if(!strlen(params)) return SendClientMessage(playerid, red, "USO: /ejetar [playerid]");
  1346. new player1 = strval(params), string[128], Float:x, Float:y, Float:z;
  1347. if(PlayerInfo[player1][Level] == ServerInfo[MaxAdminLevel] && PlayerInfo[playerid][Level] != ServerInfo[MaxAdminLevel]) return SendClientMessage(playerid,red,"ERRO: Você não pode usar este comando neste admin");
  1348. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID) {
  1349. if(IsPlayerInAnyVehicle(player1)) {
  1350. CMDMessageToAdmins(playerid,"EJETAR");
  1351. if(player1 != playerid) { format(string,sizeof(string),"Administrador \"%s\" ejetou você do seu veículo", pName(playerid) ); SendClientMessage(player1,blue,string); }
  1352. format(string,sizeof(string),"Você ejetou \"%s\" do seu veículo", pName(player1)); SendClientMessage(playerid,blue,string);
  1353. GetPlayerPos(player1,x,y,z);
  1354. return SetPlayerPos(player1,x,y,z+3);
  1355. } else return SendClientMessage(playerid,red,"ERRO: O jogador não está em um veículo");
  1356. } else return SendClientMessage(playerid,red,"ERRO: Jogador não conectado");
  1357. } else return SendClientMessage(playerid,red,"ERRO: Você não tem nível alto suficiente para usar este comando");
  1358. }
  1359.  
  1360. dcmd_trancarcarro(playerid,params[]) {
  1361. #pragma unused params
  1362. if(PlayerInfo[playerid][Level] >= 2) {
  1363. if(IsPlayerInAnyVehicle(playerid)) {
  1364. for(new i = 0; i < MAX_PLAYERS; i++) SetVehicleParamsForPlayer(GetPlayerVehicleID(playerid),i,false,true);
  1365. CMDMessageToAdmins(playerid,"TRANCARCARRO");
  1366. PlayerInfo[playerid][DoorsLocked] = 1;
  1367. new string[128]; format(string,sizeof(string),"Administrador \"%s\" trancou o seu carro", pName(playerid));
  1368. return SendClientMessageToAll(blue,string);
  1369. } else return SendClientMessage(playerid,red,"ERRO: Você precisa estar em um veículo para trancar as portas");
  1370. } else return SendClientMessage(playerid,red,"ERRO: Você não tem nível alto suficiente para usar este comando");
  1371. }
  1372.  
  1373. dcmd_destrancarcarro(playerid,params[]) {
  1374. #pragma unused params
  1375. if(PlayerInfo[playerid][Level] >= 2) {
  1376. if(IsPlayerInAnyVehicle(playerid)) {
  1377. for(new i = 0; i < MAX_PLAYERS; i++) SetVehicleParamsForPlayer(GetPlayerVehicleID(playerid),i,false,false);
  1378. CMDMessageToAdmins(playerid,"DESTRANCARCARRO");
  1379. PlayerInfo[playerid][DoorsLocked] = 0;
  1380. new string[128]; format(string,sizeof(string),"Administrador \"%s\" destrancou o seu carro", pName(playerid));
  1381. return SendClientMessageToAll(blue,string);
  1382. } else return SendClientMessage(playerid,red,"ERRO: Você precisa estar em um veículo para trancar as portas");
  1383. } else return SendClientMessage(playerid,red,"ERRO: Você não tem nível alto suficiente para usar este comando");
  1384. }
  1385.  
  1386. dcmd_queimar(playerid,params[]) {
  1387. if(PlayerInfo[playerid][Level] >= 1) {
  1388. if(!strlen(params)) return SendClientMessage(playerid, red, "USO: /queimar [playerid]");
  1389. new player1 = strval(params), string[128], Float:x, Float:y, Float:z;
  1390. if(PlayerInfo[player1][Level] == ServerInfo[MaxAdminLevel] && PlayerInfo[playerid][Level] != ServerInfo[MaxAdminLevel]) return SendClientMessage(playerid,red,"ERRO: Você não pode usar este comando neste admin");
  1391. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID) {
  1392. CMDMessageToAdmins(playerid,"QUEIMAR");
  1393. format(string, sizeof(string), "Você torrou \"%s\" ", pName(player1)); SendClientMessage(playerid,blue,string);
  1394. if(player1 != playerid) { format(string,sizeof(string),"Administrador \"%s\" torrou você", pName(playerid)); SendClientMessage(player1,blue,string); }
  1395. GetPlayerPos(player1, x, y, z);
  1396. return CreateExplosion(x, y , z + 3, 1, 10);
  1397. } else return SendClientMessage(playerid,red,"ERRO: Jogador não conectado");
  1398. } else return SendClientMessage(playerid,red,"ERRO: Você não tem nível alto suficiente para usar este comando");
  1399. }
  1400.  
  1401. dcmd_spawnplayer(playerid,params[])
  1402. {
  1403. return dcmd_spawn(playerid,params);
  1404. }
  1405.  
  1406. dcmd_spawn(playerid,params[]) {
  1407. if(PlayerInfo[playerid][Level] >= 2) {
  1408. if(!strlen(params)) return SendClientMessage(playerid, red, "USO: /spawn [playerid]");
  1409. new player1 = strval(params), string[128];
  1410. if(PlayerInfo[player1][Level] == ServerInfo[MaxAdminLevel] && PlayerInfo[playerid][Level] != ServerInfo[MaxAdminLevel]) return SendClientMessage(playerid,red,"ERRO: Você não pode usar este comando neste admin");
  1411. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID) {
  1412. CMDMessageToAdmins(playerid,"SPAWN");
  1413. format(string, sizeof(string), "Você spawnou \"%s\" ", pName(player1)); SendClientMessage(playerid,blue,string);
  1414. if(player1 != playerid) { format(string,sizeof(string),"Administrador \"%s\" spawnou você", pName(playerid)); SendClientMessage(player1,blue,string); }
  1415. SetPlayerPos(player1, 0.0, 0.0, 0.0);
  1416. return SpawnPlayer(player1);
  1417. } else return SendClientMessage(playerid,red,"ERRO: Jogador não conectado");
  1418. } else return SendClientMessage(playerid,red,"ERRO: Você não tem nível alto suficiente para usar este comando");
  1419. }
  1420.  
  1421. dcmd_desarmar(playerid,params[]) {
  1422. if(PlayerInfo[playerid][Level] >= 2) {
  1423. if(!strlen(params)) return SendClientMessage(playerid, red, "USO: /desarmar [playerid]");
  1424. new player1 = strval(params), string[128];
  1425. if(PlayerInfo[player1][Level] == ServerInfo[MaxAdminLevel] && PlayerInfo[playerid][Level] != ServerInfo[MaxAdminLevel]) return SendClientMessage(playerid,red,"ERRO: Você não pode usar este comando neste admin");
  1426. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID) {
  1427. CMDMessageToAdmins(playerid,"DESARMAR"); PlayerPlaySound(player1,1057,0.0,0.0,0.0);
  1428. format(string, sizeof(string), "Você desarmou \"%s\" ", pName(player1)); SendClientMessage(playerid,blue,string);
  1429. if(player1 != playerid) { format(string,sizeof(string),"Administrador \"%s\" desarmou você", pName(playerid)); SendClientMessage(player1,blue,string); }
  1430. ResetPlayerWeapons(player1);
  1431. return PlayerPlaySound(player1,1057,0.0,0.0,0.0);
  1432. } else return SendClientMessage(playerid,red,"ERRO: Jogador não conectado");
  1433. } else return SendClientMessage(playerid,red,"ERRO: Você não tem nível alto suficiente para usar este comando");
  1434. }
  1435.  
  1436. dcmd_crash(playerid,params[]) {
  1437. if(PlayerInfo[playerid][Level] >= 5) {
  1438. if(!strlen(params)) return SendClientMessage(playerid, red, "USO: /crash [playerid]");
  1439. new player1 = strval(params), string[128], Float:X,Float:Y,Float:Z;
  1440. if(PlayerInfo[player1][Level] == ServerInfo[MaxAdminLevel] && PlayerInfo[playerid][Level] != ServerInfo[MaxAdminLevel]) return SendClientMessage(playerid,red,"ERRO: Você não pode usar este comando neste admin");
  1441. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID) {
  1442. CMDMessageToAdmins(playerid,"CRASH");
  1443. GetPlayerPos(player1,X,Y,Z);
  1444. new objectcrash = CreatePlayerObject(player1,11111111,X,Y,Z,0,0,0);
  1445. DestroyObject(objectcrash);
  1446. format(string, sizeof(string), "Você crashou o game de \"%s\"", pName(player1) );
  1447. return SendClientMessage(playerid,blue, string);
  1448. } else return SendClientMessage(playerid,red,"ERRO: Jogador não conectado");
  1449. } else return SendClientMessage(playerid,red,"ERRO: Você não tem nível alto suficiente para usar este comando");
  1450. }
  1451.  
  1452. dcmd_ip(playerid,params[]) {
  1453. if(PlayerInfo[playerid][Level] >= 1) {
  1454. if(!strlen(params)) return SendClientMessage(playerid, red, "USO: /ip [playerid]");
  1455. new player1 = strval(params), string[128];
  1456. if(PlayerInfo[player1][Level] == ServerInfo[MaxAdminLevel] && PlayerInfo[playerid][Level] != ServerInfo[MaxAdminLevel]) return SendClientMessage(playerid,red,"ERRO: Você não pode usar este comando neste admin");
  1457. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID) {
  1458. CMDMessageToAdmins(playerid,"IP");
  1459. new tmp3[50]; GetPlayerIp(player1,tmp3,50);
  1460. format(string,sizeof(string),"IP de \"%s\" é: '%s'", pName(player1), tmp3);
  1461. return SendClientMessage(playerid,blue,string);
  1462. } else return SendClientMessage(playerid,red,"ERRO: Jogador não conectado");
  1463. } else return SendClientMessage(playerid,red,"ERRO: Você não tem nível alto suficiente para usar este comando");
  1464. }
  1465.  
  1466. dcmd_resetargrana(playerid,params[]) {
  1467. if(PlayerInfo[playerid][Level] >= 4) {
  1468. if(!strlen(params)) return SendClientMessage(playerid, red, "USO: /resetargrana [playerid]");
  1469. new player1 = strval(params), string[128];
  1470. if(PlayerInfo[player1][Level] == ServerInfo[MaxAdminLevel] && PlayerInfo[playerid][Level] != ServerInfo[MaxAdminLevel]) return SendClientMessage(playerid,red,"ERRO: Você não pode usar este comando neste admin");
  1471. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID) {
  1472. CMDMessageToAdmins(playerid,"RESETARGRANA");
  1473. format(string, sizeof(string), "Você resetou a grana de \"%s\"", pName(player1)); SendClientMessage(playerid,blue,string);
  1474. if(player1 != playerid) { format(string,sizeof(string),"Administrador \"%s\" resetou a sua grana'", pName(playerid)); SendClientMessage(player1,blue,string); }
  1475. return ResetPlayerMoney(player1);
  1476. } else return SendClientMessage(playerid,red,"ERRO: Jogador não conectado");
  1477. } else return SendClientMessage(playerid,red,"ERRO: Você não tem nível alto suficiente para usar este comando");
  1478. }
  1479.  
  1480. dcmd_sresetargrana(playerid,params[]) {
  1481. if(PlayerInfo[playerid][Level] >= 3) {
  1482. if(!strlen(params)) return SendClientMessage(playerid, red, "USO: /sresetargrana [playerid]");
  1483. new player1 = strval(params), string[128];
  1484. if(PlayerInfo[player1][Level] == ServerInfo[MaxAdminLevel] && PlayerInfo[playerid][Level] != ServerInfo[MaxAdminLevel]) return SendClientMessage(playerid,red,"ERRO: Você não pode usar este comando neste admin");
  1485. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID) {
  1486. CMDMessageToAdmins(playerid,"RESETARGRANA");
  1487. format(string, sizeof(string), "Você resetou silenciosamente a grana de \"%s\"", pName(player1)); SendClientMessage(playerid,blue,string);
  1488. return ResetPlayerMoney(player1);
  1489. } else return SendClientMessage(playerid,red,"ERRO: Jogador não conectado");
  1490. } else return SendClientMessage(playerid,red,"ERRO: Você não tem nível alto suficiente para usar este comando");
  1491. }
  1492.  
  1493. dcmd_time(playerid,params[]) {
  1494. #pragma unused params
  1495. new string[64], hour,minuite,second; gettime(hour,minuite,second);
  1496. format(string, sizeof(string), "~g~|~w~%d:%d~g~|", hour, minuite);
  1497. return GameTextForPlayer(playerid, string, 5000, 1);
  1498. }
  1499.  
  1500. dcmd_ubound(playerid,params[]) {
  1501. if(PlayerInfo[playerid][Level] >= 3) {
  1502. if(!strlen(params)) return SendClientMessage(playerid, red, "USO: /ubound [playerid]");
  1503. new string[128], player1 = strval(params);
  1504.  
  1505. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID) {
  1506. CMDMessageToAdmins(playerid,"UBOUND");
  1507. SetPlayerWorldBounds(player1, 9999.9, -9999.9, 9999.9, -9999.9 );
  1508. format(string, sizeof(string), "Administrador %s removeu o seu mundo de fronteiras", PlayerName2(playerid)); if(player1 != playerid) SendClientMessage(player1,blue,string);
  1509. format(string,sizeof(string),"Você removeu o mundo de fronteiras de %s", PlayerName2(player1));
  1510. return SendClientMessage(playerid,blue,string);
  1511. } else return SendClientMessage(playerid, red, "Jogador não conectado");
  1512. } else return SendClientMessage(playerid,red,"ERRO: Você não tem nível alto suficiente para usar este comando");
  1513. }
  1514.  
  1515. dcmd_lhelp(playerid,params[]) {
  1516. #pragma unused params
  1517. if(PlayerInfo[playerid][LoggedIn] && PlayerInfo[playerid][Level] >= 1) {
  1518. SendClientMessage(playerid,blue,"--== [ Comandos de Contas ] ==--");
  1519. SendClientMessage(playerid,lightblue, "Para se registrar no server digite: /Registrar [sua senha]");
  1520. SendClientMessage(playerid,lightblue, "Para se logar no server digite: /logar [sua senha]");
  1521. SendClientMessage(playerid,lightblue, "Para mudar sua senha digite: /mudarsenha [nova senha]");
  1522. SendClientMessage(playerid,lightblue, "Para ver seus status digite: /status e de outro player /status [id]");
  1523. SendClientMessage(playerid,lightblue, "Para resetar seus status digite: /resetarstatus");
  1524. }
  1525. else if(PlayerInfo[playerid][LoggedIn] && PlayerInfo[playerid][Level] < 1) {
  1526. SendClientMessage(playerid,green, "Seus comandos são: /registrar, /logar, /report, /status, /horas, /mudarsenha, /resetarstatus, /getid");
  1527. }
  1528. else if(PlayerInfo[playerid][LoggedIn] == 0) {
  1529. SendClientMessage(playerid,green, "Seus comandos são: /time, /getid (Você não está logado, logue para mais comandos)");
  1530. } return 1;
  1531. }
  1532.  
  1533. dcmd_admcmds(playerid,params[]) {
  1534. #pragma unused params
  1535. if(PlayerInfo[playerid][Level] > 0)
  1536. {
  1537. SendClientMessage(playerid,green," ---= [ Comandos Mais Usados Admin ] ==---");
  1538. SendClientMessage(playerid,lightblue,"GERAL: getinfo, menu, ann, texto, miniguns, richlist, espiar(off), move, larmas, adminarea, countdown, duel, giveweapon");
  1539. SendClientMessage(playerid,lightblue,"GERAL: tapa, burn, warn, kick, ban, explode, jail, freeze, mute, crash, ubound, god, godcar, ping");
  1540. SendClientMessage(playerid,lightblue,"GERAL: setping, lockserver, ligar/desligar, setlevel, setinterior, darcarro, jetpack, force, spawn");
  1541. SendClientMessage(playerid,lightblue,"VEÍCULO: flip, fix, repair, trancarcarro, eject, ct, carro, carro, bike, aviao, heli, barco, nos, cm");
  1542. SendClientMessage(playerid,lightblue,"TELE: goto, gethere, get, teleplayer, tele, vgoto, lgoto, moveplayer");
  1543. SendClientMessage(playerid,lightblue,"DEFINIR: set(cash/health/armour/gravity/name/time/weather/skin/colour/wanted/templevel)");
  1544. SendClientMessage(playerid,lightblue,"DEFINIR TODOS: setall(world/weather/wanted/time/score/cash)");
  1545. SendClientMessage(playerid,lightblue,"TODOS: giveallweapon, healall, armourall, freezeall, kickall, ejectall, killall, desarmart, tapat, spawnall");
  1546. }
  1547. return 1;
  1548. }
  1549.  
  1550. dcmd_cmd(playerid,params[]) {
  1551. #pragma unused params
  1552. if(PlayerInfo[playerid][Level] == 0)
  1553. {
  1554. return SendClientMessage(playerid,red,"Você não é ADM zé! Não pode usar este comando!");
  1555. }
  1556. if(PlayerInfo[playerid][Level] == 1)
  1557. {
  1558. new cmd[2000];
  1559. strins(cmd,"{00FF62}ADMIN NIVEL 1:\n{FFBB00}/queimar /reports, /richlist, /salvarlugar, /ip /asay /gotoplace, /saveskin,\n",strlen(cmd));
  1560. strins(cmd,"/avisar /getinfo, /vr, /reparar, /ltune, /lhy, /nos, /ping, /lslowmo, /explodir, /espiar,\n",strlen(cmd));
  1561. strins(cmd," /ct, /manha, /adminarea,/dontuseskin, /setmytime, /lconfig, /espiaroff, /useskin,\n",strlen(cmd));
  1562. strins(cmd,"\n",strlen(cmd));
  1563. ShowPlayerDialog(playerid,8439, DIALOG_STYLE_MSGBOX, "{F60000}• COMANDOS DE ADMIN •",cmd, "Fechar", "");
  1564. }
  1565. if(PlayerInfo[playerid][Level] == 2)
  1566. {
  1567. new cmd[2000];
  1568. strins(cmd,"{00FF62}ADMIN NIVEL 1:\n{FFBB00}/queimar /reports, /richlist, /salvarlugar, /ip /asay /gotoplace, /saveskin,\n",strlen(cmd));
  1569. strins(cmd,"/avisar /getinfo, /vr, /reparar, /ltune, /lhy, /nos, /ping, /lslowmo, /explodir, /espiar,\n",strlen(cmd));
  1570. strins(cmd," /ct, /manha, /adminarea,/dontuseskin, /setmytime, /lconfig, /espiaroff, /useskin,\n",strlen(cmd));
  1571. strins(cmd,"\n",strlen(cmd));
  1572. strins(cmd,"{00FF62}ADMIN NIVEL 2:\n{FFBB00}/limparchat, /dararma, /setacor, /trancarcarro, /destrancarcarro, /queimar,\n",strlen(cmd));
  1573. strins(cmd,"/heli, /barco, /aviao, /hightlight, /ann, /ann2, /cnn /tela, jetpack, /flip, /spawn, /desarmar, /bike,\n",strlen(cmd));
  1574. strins(cmd,"ir, /vgoto, /lgoto, /foder, /avisar, /tapa, /preso, /congelados, /mutar, /desmutar, /muted,\n",strlen(cmd));
  1575. strins(cmd,"/laston, /espiar, /espiaroff, /espiarcarro, /menu, /tele, /cm, /ltmenu, /carro, /texto, /trazer\n",strlen(cmd));
  1576. strins(cmd,"\n",strlen(cmd));
  1577. ShowPlayerDialog(playerid,8439, DIALOG_STYLE_MSGBOX, "{F60000}• COMANDOS DE ADMIN •",cmd, "Fechar", "");
  1578. }
  1579. if(PlayerInfo[playerid][Level] == 3)
  1580. {
  1581. new cmd[2000];
  1582. strins(cmd,"{00FF62}ADMIN NIVEL 1:\n{FFBB00}/queimar /reports, /richlist, /salvarlugar, /ip /asay /gotoplace, /saveskin,\n",strlen(cmd));
  1583. strins(cmd,"/avisar /getinfo, /vr, /reparar, /ltune, /lhy, /nos, /ping, /lslowmo, /explodir, /espiar,\n",strlen(cmd));
  1584. strins(cmd," /ct, /manha, /adminarea,/dontuseskin, /setmytime, /lconfig, /espiaroff, /useskin,\n",strlen(cmd));
  1585. strins(cmd,"\n",strlen(cmd));
  1586. strins(cmd,"{00FF62}ADMIN NIVEL 2:\n{FFBB00}/limparchat, /dararma, /setacor, /trancarcarro, /destrancarcarro, /kick,\n",strlen(cmd));
  1587. strins(cmd,"/heli, /barco, /aviao, /hightlight, /ann, /ann2, /cnn /tela, jetpack, /flip, /spawn, /desarmar, /bike,\n",strlen(cmd));
  1588. strins(cmd,"ir, /vgoto, /lgoto, /foder, /avisar, /tapa, /preso, /congelados, /mutar, /desmutar, /muted,\n",strlen(cmd));
  1589. strins(cmd,"/laston, /espiar, /espiaroff, /espiarcarro, /menu, /tele, /cm, /ltmenu, /carro, /texto\n",strlen(cmd));
  1590. strins(cmd,"\n",strlen(cmd));
  1591. strins(cmd,"{00FF62}ADMIN NIVEL 3:\n{FFBB00}/setvida, /setcolete, /setgrana, /setscore, /setskin, /setprocurar\n",strlen(cmd));
  1592. strins(cmd,"/defhora, /setmundo, /setinterior, /force, /ejetar, /sresetargrana, /ubound, /larmas, /defclima,\n",strlen(cmd));
  1593. strins(cmd,"/lammo, /contagem, /duel, /carro, /carrovida, /carrocor, /setgravity, /delcar, /giveallcash, /giveallweapon,\n",strlen(cmd));
  1594. strins(cmd,"/trazer, /vget, /darcarro, /gethere, /trazer, /explodir, /setallcash, /setallscore,\n",strlen(cmd));
  1595. strins(cmd,"/matar, /onchat, /clearallchat, /caps, /move, /moveplayer, /vidat, /lweather, /ltime,\n",strlen(cmd));
  1596. strins(cmd,"/coletet, /setallskin, /setallwanted, /setallweather, /setalltime, /setallworld, /lweapons\n",strlen(cmd));
  1597. strins(cmd,"\n",strlen(cmd));
  1598. ShowPlayerDialog(playerid,8439, DIALOG_STYLE_MSGBOX, "{F60000}• COMANDOS DE ADMIN •",cmd, "Fechar", "");
  1599. }
  1600. if(PlayerInfo[playerid][Level] == 4)
  1601. {
  1602. new cmd[2000];
  1603. strins(cmd,"{00FF62}ADMIN NIVEL 1:\n{FFBB00}/queimar /reports, /richlist, /salvarlugar, /ip /asay /gotoplace, /saveskin,\n",strlen(cmd));
  1604. strins(cmd,"/avisar /getinfo, /vr, /reparar, /ltune, /lhy, /nos, /ping, /lslowmo, /explodir, /espiar,\n",strlen(cmd));
  1605. strins(cmd," /ct, /manha, /adminarea,/dontuseskin, /setmytime, /lconfig, /espiaroff, /useskin,\n",strlen(cmd));
  1606. strins(cmd,"\n",strlen(cmd));
  1607. strins(cmd,"{00FF62}ADMIN NIVEL 2:\n{FFBB00}/limparchat, /dararma, /setacor, /trancarcarro, /destrancarcarro, /kick,\n",strlen(cmd));
  1608. strins(cmd,"/heli, /barco, /aviao, /hightlight, /ann, /ann2, /cnn /tela, jetpack, /flip, /spawn, /desarmar, /bike,\n",strlen(cmd));
  1609. strins(cmd,"ir, /vgoto, /lgoto, /foder, /avisar, /tapa, /preso, /congelados, /mutar, /desmutar, /muted,\n",strlen(cmd));
  1610. strins(cmd,"/laston, /espiar, /espiaroff, /espiarcarro, /menu, /tele, /cm, /ltmenu, /carro, /texto\n",strlen(cmd));
  1611. strins(cmd,"\n",strlen(cmd));
  1612. strins(cmd,"{00FF62}ADMIN NIVEL 3:\n{FFBB00}/setvida, /setcolete, /setgrana, /setscore, /setskin, /setprocurar\n",strlen(cmd));
  1613. strins(cmd,"/defhora, /setmundo, /setinterior, /force, /ejetar, /sresetargrana, /ubound, /larmas, /defclima,\n",strlen(cmd));
  1614. strins(cmd,"/lammo, /contagem, /duel, /carro, /carrovida, /carrocor, /setgravity, /delcar, /giveallcash, /giveallweapon,\n",strlen(cmd));
  1615. strins(cmd,"/trazer, /vget, /darcarro, /gethere, /trazer, /explodir, /setallcash, /setallscore,\n",strlen(cmd));
  1616. strins(cmd,"/matar, /onchat, /clearallchat, /caps, /move, /moveplayer, /vidat, /lweather, /ltime,\n",strlen(cmd));
  1617. strins(cmd,"/coletet, /setallskin, /setallwanted, /setallweather, /setalltime, /setallworld, /lweapons\n",strlen(cmd));
  1618. strins(cmd,"\n",strlen(cmd));
  1619. strins(cmd,"{00FF62}ADMIN NIVEL 4:\n{FFBB00}/ban, /rban, /spam, /die, /fakechat, /fakedeath\n",strlen(cmd));
  1620. strins(cmd,"/prender, /desprender, /setnome, /resetargrana, /congelar,/descongelar\n",strlen(cmd));
  1621. strins(cmd,"\n",strlen(cmd));
  1622. ShowPlayerDialog(playerid,8439, DIALOG_STYLE_MSGBOX, "{F60000}• COMANDOS DE ADMIN •",cmd, "Fechar", "");
  1623. }
  1624. if(PlayerInfo[playerid][Level] == 5)
  1625. {
  1626. new cmd[2000]; //
  1627. strins(cmd,"{00FF62}ADMIN NIVEL 1:\n{FFBB00}/queimar /reports, /richlist, /salvarlugar, /ip /asay /gotoplace, /saveskin,\n",strlen(cmd));
  1628. strins(cmd,"/avisar /getinfo, /vr, /reparar, /ltune, /lhy, /nos, /ping, /lslowmo, /explodir, /espiar,\n",strlen(cmd));
  1629. strins(cmd," /ct, /manha, /adminarea,/dontuseskin, /setmytime, /lconfig, /espiaroff, /useskin,\n",strlen(cmd));
  1630. strins(cmd,"\n",strlen(cmd));
  1631. strins(cmd,"{00FF62}ADMIN NIVEL 2:\n{FFBB00}/limparchat, /dararma, /setacor, /trancarcarro, /destrancarcarro, /kick\n",strlen(cmd));
  1632. strins(cmd,"/heli, /barco, /aviao, /hightlight, /ann, /ann2, /cnn /tela, jetpack, /flip, /spawn, /desarmar, /bike,\n",strlen(cmd));
  1633. strins(cmd,"ir, /vgoto, /lgoto, /foder, /avisar, /tapa, /preso, /congelados, /mutar, /desmutar, /muted,\n",strlen(cmd));
  1634. strins(cmd,"/laston, /espiar, /espiaroff, /espiarcarro, /menu, /tele, /cm, /ltmenu, /carro, /texto\n",strlen(cmd));
  1635. strins(cmd,"\n",strlen(cmd));
  1636. strins(cmd,"{00FF62}ADMIN NIVEL 3:\n{FFBB00}/setvida, /setcolete, /setgrana, /setscore, /setskin, /setprocurar\n",strlen(cmd));
  1637. strins(cmd,"/defhora, /setmundo, /setinterior, /force, /ejetar, /sresetargrana, /ubound, /larmas, /defclima,\n",strlen(cmd));
  1638. strins(cmd,"/lammo, /contagem, /duel, /carro, /carrovida, /carrocor, /setgravity, /delcar, /giveallcash, /giveallweapon,\n",strlen(cmd));
  1639. strins(cmd,"/trazer, /vget, /darcarro, /gethere, /trazer, /explodir, /setallcash, /setallscore,\n",strlen(cmd));
  1640. strins(cmd,"/matar, /onchat, /clearallchat, /caps, /move, /moveplayer, /vidat, /lweather, /ltime,\n",strlen(cmd));
  1641. strins(cmd,"/coletet, /setallskin, /setallwanted, /setallweather, /setalltime, /setallworld, /lweapons\n",strlen(cmd));
  1642. strins(cmd,"\n",strlen(cmd));
  1643. strins(cmd,"{00FF62}ADMIN NIVEL 4:\n{FFBB00}/ban, /rban, /spam, /die, /fakechat, /fakedeath\n",strlen(cmd));
  1644. strins(cmd,"/prender, /desprender, /setnome, /resetargrana, /congelar,/descongelar\n",strlen(cmd));
  1645. strins(cmd,"\n",strlen(cmd));
  1646. strins(cmd,"{00FF62}ADMIN NIVEL 5:\n{FFBB00}/pickup, /object, /veh, /desarmart, /congelart, /descongelart, /spawnall\n",strlen(cmd));
  1647. strins(cmd,"/unlockserver, /crash, /uconfig, /botcheck,/forbidname, /kickartodos, /lockserver, /explodirt, /mutartodos\n",strlen(cmd));
  1648. strins(cmd,"/desmutartodos, /tapat, /forbidword, /setsenha, /trazertodos /ligar, /desligar, /matartodos, /setping\n",strlen(cmd));
  1649. strins(cmd,"\n",strlen(cmd));
  1650. ShowPlayerDialog(playerid,8439, DIALOG_STYLE_MSGBOX, "{F60000}• COMANDOS DE ADMIN •",cmd, "Fechar", "");
  1651. }
  1652. if(PlayerInfo[playerid][Level] == 6)
  1653. {
  1654. new cmd[2000]; //
  1655. strins(cmd,"{00FF62}ADMIN NIVEL 1:\n{FFBB00}/queimar /reports, /richlist, /salvarlugar, /ip /asay /gotoplace, /saveskin,\n",strlen(cmd));
  1656. strins(cmd,"/avisar /getinfo, /vr, /reparar, /ltune, /lhy, /nos, /ping, /lslowmo, /explodir, /espiar,\n",strlen(cmd));
  1657. strins(cmd," /ct, /manha, /adminarea,/dontuseskin, /setmytime, /lconfig, /espiaroff, /useskin,\n",strlen(cmd));
  1658. strins(cmd,"\n",strlen(cmd));
  1659. strins(cmd,"{00FF62}ADMIN NIVEL 2:\n{FFBB00}/limparchat, /dararma, /setacor, /trancarcarro, /destrancarcarro, /kick,\n",strlen(cmd));
  1660. strins(cmd,"/heli, /barco, /aviao, /hightlight, /ann, /ann2, /cnn /tela, jetpack, /flip, /spawn, /desarmar, /bike,\n",strlen(cmd));
  1661. strins(cmd,"ir, /vgoto, /lgoto, /foder, /avisar, /tapa, /preso, /congelados, /mutar, /desmutar, /muted,\n",strlen(cmd));
  1662. strins(cmd,"/laston, /espiar, /espiaroff, /espiarcarro, /menu, /tele, /cm, /ltmenu, /carro, /texto\n",strlen(cmd));
  1663. strins(cmd,"\n",strlen(cmd));
  1664. strins(cmd,"{00FF62}ADMIN NIVEL 3:\n{FFBB00}/setvida, /setcolete, /setgrana, /setscore, /setskin, /setprocurar\n",strlen(cmd));
  1665. strins(cmd,"/defhora, /setmundo, /setinterior, /force, /ejetar, /sresetargrana, /ubound, /larmas, /defclima,\n",strlen(cmd));
  1666. strins(cmd,"/lammo, /contagem, /duel, /carro, /carrovida, /carrocor, /setgravity, /delcar, /giveallcash, /giveallweapon,\n",strlen(cmd));
  1667. strins(cmd,"/trazer, /vget, /darcarro, /gethere, /trazer, /explodir, /setallcash, /setallscore,\n",strlen(cmd));
  1668. strins(cmd,"/matar, /onchat, /clearallchat, /caps, /move, /moveplayer, /vidat, /lweather, /ltime,\n",strlen(cmd));
  1669. strins(cmd,"/coletet, /setallskin, /setallwanted, /setallweather, /setalltime, /setallworld, /lweapons\n",strlen(cmd));
  1670. strins(cmd,"\n",strlen(cmd));
  1671. strins(cmd,"{00FF62}ADMIN NIVEL 4:\n{FFBB00}/ban, /rban, /spam, /die, /fakechat, /fakedeath\n",strlen(cmd));
  1672. strins(cmd,"/prender, /desprender, /setnome, /resetargrana, /congelar,/descongelar\n",strlen(cmd));
  1673. strins(cmd,"\n",strlen(cmd));
  1674. strins(cmd,"{00FF62}ADMIN NIVEL 5:\n{FFBB00}/pickup, /object, /veh, /desarmart, /congelart, /descongelart, /spawnall\n",strlen(cmd));
  1675. strins(cmd,"/unlockserver, /crash, /uconfig, /botcheck,/forbidname, /kickartodos, /lockserver, /explodirt, /mutartodos\n",strlen(cmd));
  1676. strins(cmd,"/desmutartodos, /tapat, /forbidword, /setsenha, /trazertodos /ligar, /desligar, /matartodos, /setping\n",strlen(cmd));
  1677. strins(cmd,"\n",strlen(cmd));
  1678. strins(cmd,"{00FF62}ADMIN NIVEL 6:\n{FFBB00}/setadmin, /settemplevel, /bugar, /god, /sgod\n",strlen(cmd));
  1679. strins(cmd,"\n",strlen(cmd));
  1680. ShowPlayerDialog(playerid,8439, DIALOG_STYLE_MSGBOX, "{F60000}• COMANDOS DE ADMIN •",cmd, "Fechar", "");
  1681. }
  1682. return 1;
  1683. }
  1684.  
  1685. dcmd_creditosfsadmin(playerid,params[]) {
  1686. #pragma unused params
  1687. if(PlayerInfo[playerid][Level] >= 0)
  1688. {
  1689. new creditosfs[2000];
  1690. strins(creditosfs,"{00FF62}Filtercript de admin criado por:{FFA600}\n",strlen(creditosfs));
  1691. strins(creditosfs,"\n",strlen(creditosfs));
  1692. strins(creditosfs,"[TF]_TIOALI\n",strlen(creditosfs));
  1693. strins(creditosfs,"MSN: tioalesamp@gmail.com\n",strlen(creditosfs));
  1694. strins(creditosfs,"\n",strlen(creditosfs));
  1695. strins(creditosfs,"[TF]_IgooR\n",strlen(creditosfs));
  1696. strins(creditosfs,"MSN: igor_tavares@msn.com\n",strlen(creditosfs));
  1697. strins(creditosfs,"\n",strlen(creditosfs));
  1698. ShowPlayerDialog(playerid,8439, DIALOG_STYLE_MSGBOX, "{F60000}• Criadores do Filtercript de Admin •",creditosfs, "Fechar", "");
  1699. }
  1700. return 1;
  1701. }
  1702.  
  1703. dcmd_lconfig(playerid,params[]) {
  1704. #pragma unused params
  1705. if(PlayerInfo[playerid][Level] > 0)
  1706. {
  1707. new string[128];
  1708. SendClientMessage(playerid,blue," ---=== Configuração LAdmin ===---");
  1709. format(string, sizeof(string), "Ping Máximo: %dms | Ler PMs %d | Ler Cmds %d | Nível Máximo Admin %d | Skins Únicos Admin %d", ServerInfo[MaxPing], ServerInfo[ReadPMs], ServerInfo[ReadCmds], ServerInfo[MaxAdminLevel], ServerInfo[AdminOnlySkins] );
  1710. SendClientMessage(playerid,blue,string);
  1711. format(string, sizeof(string), "Skin Admin1 %d | Skin Admin2 %d | Kickar Nome %d | AntiBot %d | AntiSpam %d | AntiSwear %d", ServerInfo[AdminSkin], ServerInfo[AdminSkin2], ServerInfo[NameKick], ServerInfo[AntiBot], ServerInfo[AntiSpam], ServerInfo[AntiSwear] );
  1712. SendClientMessage(playerid,blue,string);
  1713. format(string, sizeof(string), "Sem Caps %d | Fechado %d | Senha %s | Salvar Armas %d | Salvar Grana %d | Msgs Conectar %d | Msgs de Cmds Admin %d", ServerInfo[NoCaps], ServerInfo[Locked], ServerInfo[Password], ServerInfo[GiveWeap], ServerInfo[GiveMoney], ServerInfo[ConnectMessages], ServerInfo[AdminCmdMsg] );
  1714. SendClientMessage(playerid,blue,string);
  1715. format(string, sizeof(string), "Auto Logar %d | Avisos Máx. Mute %d | Chat Desligado %d | Deve Logar %d | Deve Registrar %d", ServerInfo[AutoLogin], ServerInfo[MaxMuteWarnings], ServerInfo[DisableChat], ServerInfo[MustLogin], ServerInfo[MustRegister] );
  1716. SendClientMessage(playerid,blue,string);
  1717. }
  1718. return 1;
  1719. }
  1720.  
  1721. dcmd_getinfo(playerid,params[]) {
  1722. if(PlayerInfo[playerid][Level] >= 1 || IsPlayerAdmin(playerid)) {
  1723. if(!strlen(params)) return SendClientMessage(playerid,red,"USO: /getinfo [playerid]");
  1724. new player1, string[128];
  1725. player1 = strval(params);
  1726.  
  1727. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID) {
  1728. new Float:player1health, Float:player1armour, playerip[128], Float:x, Float:y, Float:z, tmp2[256], file[256],
  1729. year, month, day, P1Jailed[4], P1Frozen[4], P1Logged[4], P1Register[4], RegDate[256], TimesOn;
  1730.  
  1731. GetPlayerHealth(player1,player1health);
  1732. GetPlayerArmour(player1,player1armour);
  1733. GetPlayerIp(player1, playerip, sizeof(playerip));
  1734. GetPlayerPos(player1,x,y,z);
  1735. getdate(year, month, day);
  1736. format(file,sizeof(file),"/ladmin/users/%s.sav",udb_encode(PlayerName2(player1)));
  1737.  
  1738. if(PlayerInfo[player1][Jailed] == 1) P1Jailed = "Sim"; else P1Jailed = "Não";
  1739. if(PlayerInfo[player1][Frozen] == 1) P1Frozen = "Sim"; else P1Frozen = "Não";
  1740. if(PlayerInfo[player1][LoggedIn] == 1) P1Logged = "Sim"; else P1Logged = "Não";
  1741. if(fexist(file)) P1Register = "Sim"; else P1Register = "Não";
  1742. if(dUserINT(PlayerName2(player1)).("LastOn")==0) tmp2 = "Nunca"; else tmp2 = dini_Get(file,"LastOn");
  1743. if(strlen(dini_Get(file,"RegisteredDate")) < 3) RegDate = "n/a"; else RegDate = dini_Get(file,"RegisteredDate");
  1744. TimesOn = dUserINT(PlayerName2(player1)).("TimesOnServer");
  1745.  
  1746. new Sum, Average, w;
  1747. while (w < PING_MAX_EXCEEDS) {
  1748. Sum += PlayerInfo[player1][pPing][w];
  1749. w++;
  1750. }
  1751. Average = (Sum / PING_MAX_EXCEEDS);
  1752.  
  1753. format(string, sizeof(string),"(Player Info) ---====> Nome: %s ID: %d <====---", PlayerName2(player1), player1);
  1754. SendClientMessage(playerid,lightblue,string);
  1755. format(string, sizeof(string),"Saúde: %d Colete: %d Score: %d Dinheiro: %d Skin: %d IP: %s Ping: %d Média Ping: %d",floatround(player1health),floatround(player1armour),
  1756. GetPlayerScore(player1),GetPlayerMoney(player1),GetPlayerSkin(player1),playerip,GetPlayerPing(player1), Average );
  1757. SendClientMessage(playerid,red,string);
  1758. format(string, sizeof(string),"Interior: %d Mundo Virtual: %d Nível Procurado: %d X %0.1f Y %0.1f Z %0.1f", GetPlayerInterior(player1), GetPlayerVirtualWorld(player1), GetPlayerWantedLevel(player1), Float:x,Float:y,Float:z);
  1759. SendClientMessage(playerid,orange,string);
  1760. format(string, sizeof(string),"Tempo No Server: %d Matou: %d Morreu: %d Relação: %0.2f Nível Admin: %d", TimesOn, PlayerInfo[player1][Kills], PlayerInfo[player1][Deaths], Float:PlayerInfo[player1][Kills]/Float:PlayerInfo[player1][Deaths], PlayerInfo[player1][Level] );
  1761. SendClientMessage(playerid,yellow,string);
  1762. format(string, sizeof(string),"Registrado: %s Logado: %s Na Cadeia: %s Congelado: %s", P1Register, P1Logged, P1Jailed, P1Frozen );
  1763. SendClientMessage(playerid,green,string);
  1764. format(string, sizeof(string),"Progresso No Server: %s Data de Registro: %s Data de Hoje: %d/%d/%d", tmp2, RegDate, day,month,year );
  1765. SendClientMessage(playerid,COLOR_GREEN,string);
  1766.  
  1767. if(IsPlayerInAnyVehicle(player1)) {
  1768. new Float:VHealth, carid = GetPlayerVehicleID(playerid); GetVehicleHealth(carid,VHealth);
  1769. format(string, sizeof(string),"ID do Veículo: %d Modelo: %d Nome do Veículo: %s Energia do Veículo: %d",carid, GetVehicleModel(carid), VehicleNames[GetVehicleModel(carid)-400], floatround(VHealth) );
  1770. SendClientMessage(playerid,COLOR_BLUE,string);
  1771. }
  1772.  
  1773. new slot, ammo, weap, Count, WeapName[24], WeapSTR[128], p; WeapSTR = "Armas: ";
  1774. for (slot = 0; slot < 14; slot++) { GetPlayerWeaponData(player1, slot, weap, ammo); if( ammo != 0 && weap != 0) Count++; }
  1775. if(Count < 1) return SendClientMessage(playerid,lightblue,"Jogador não tem armas");
  1776. else {
  1777. for (slot = 0; slot < 14; slot++)
  1778. {
  1779. GetPlayerWeaponData(player1, slot, weap, ammo);
  1780. if (ammo > 0 && weap > 0)
  1781. {
  1782. GetWeaponName(weap, WeapName, sizeof(WeapName) );
  1783. if (ammo == 65535 || ammo == 1) format(WeapSTR,sizeof(WeapSTR),"%s%s (1)",WeapSTR, WeapName);
  1784. else format(WeapSTR,sizeof(WeapSTR),"%s%s (%d)",WeapSTR, WeapName, ammo);
  1785. p++;
  1786. if(p >= 5) { SendClientMessage(playerid, lightblue, WeapSTR); format(WeapSTR, sizeof(WeapSTR), "Armas: "); p = 0;
  1787. } else format(WeapSTR, sizeof(WeapSTR), "%s, ", WeapSTR);
  1788. }
  1789. }
  1790. if(p <= 4 && p > 0) {
  1791. string[strlen(string)-3] = '.';
  1792. SendClientMessage(playerid, lightblue, WeapSTR);
  1793. }
  1794. }
  1795. return 1;
  1796. } else return SendClientMessage(playerid,red,"ERRO: Jogador não conectado");
  1797. } else return SendClientMessage(playerid,red,"ERROR: Você precisa ser administrador nível 2 para usar este comando");
  1798. }
  1799.  
  1800. dcmd_desligar(playerid,params[]) {
  1801. if(PlayerInfo[playerid][Level] >= 5 || IsPlayerAdmin(playerid)) {
  1802. if(!strlen(params)) {
  1803. SendClientMessage(playerid,red,"USO: /desligar [antiswear / namekick / antispam / ping / readcmds / readpms /caps / admincmdmsgs");
  1804. return SendClientMessage(playerid,red," /connectmsgs / autologin ]");
  1805. }
  1806. new string[128], file[256]; format(file,sizeof(file),"ladmin/config/Config.ini");
  1807. if(strcmp(params,"antiswear",true) == 0) {
  1808. ServerInfo[AntiSwear] = 0;
  1809. dini_IntSet(file,"AntiSwear",0);
  1810. format(string,sizeof(string),"Administrador %s desligou o antiswear", PlayerName2(playerid));
  1811. SendClientMessageToAll(blue,string);
  1812. } else if(strcmp(params,"namekick",true) == 0) {
  1813. ServerInfo[NameKick] = 0;
  1814. dini_IntSet(file,"NameKick",0);
  1815. format(string,sizeof(string),"Administrador %s desligou o kick de nome", PlayerName2(playerid));
  1816. SendClientMessageToAll(blue,string);
  1817. } else if(strcmp(params,"antispam",true) == 0) {
  1818. ServerInfo[AntiSpam] = 0;
  1819. dini_IntSet(file,"AntiSpam",0);
  1820. format(string,sizeof(string),"Administrador %s desligou o antispam", PlayerName2(playerid));
  1821. SendClientMessageToAll(blue,string);
  1822. } else if(strcmp(params,"ping",true) == 0) {
  1823. ServerInfo[MaxPing] = 0;
  1824. dini_IntSet(file,"MaxPing",0);
  1825. format(string,sizeof(string),"Administrador %s desligou o kick de ping", PlayerName2(playerid));
  1826. SendClientMessageToAll(blue,string);
  1827. } else if(strcmp(params,"readcmds",true) == 0) {
  1828. ServerInfo[ReadCmds] = 0;
  1829. dini_IntSet(file,"ReadCMDs",0);
  1830. format(string,sizeof(string),"Administrador %s desligou a leitura de comandos", PlayerName2(playerid));
  1831. MessageToAdmins(blue,string);
  1832. } else if(strcmp(params,"readpms",true) == 0) {
  1833. ServerInfo[ReadPMs] = 0;
  1834. dini_IntSet(file,"ReadPMs",0);
  1835. format(string,sizeof(string),"Administrador %s desligou a leitura de pms", PlayerName2(playerid));
  1836. MessageToAdmins(blue,string);
  1837. } else if(strcmp(params,"caps",true) == 0) {
  1838. ServerInfo[NoCaps] = 1;
  1839. dini_IntSet(file,"NoCaps",1);
  1840. format(string,sizeof(string),"Administrador %s impediu letras maíusculas no chat", PlayerName2(playerid));
  1841. SendClientMessageToAll(blue,string);
  1842. } else if(strcmp(params,"admincmdmsgs",true) == 0) {
  1843. ServerInfo[AdminCmdMsg] = 0;
  1844. dini_IntSet(file,"AdminCMDMessages",0);
  1845. format(string,sizeof(string),"Administrador %s desligou as mensagens de comandos admin", PlayerName2(playerid));
  1846. MessageToAdmins(green,string);
  1847. } else if(strcmp(params,"connectmsgs",true) == 0) {
  1848. ServerInfo[ConnectMessages] = 0;
  1849. dini_IntSet(file,"ConnectMessages",0);
  1850. format(string,sizeof(string),"Administrador %s desligou as mensagens de conectar e desconectar", PlayerName2(playerid));
  1851. MessageToAdmins(green,string);
  1852. } else if(strcmp(params,"autologin",true) == 0) {
  1853. ServerInfo[AutoLogin] = 0;
  1854. dini_IntSet(file,"AutoLogin",0);
  1855. format(string,sizeof(string),"Administrador %s desligou o auto logar", PlayerName2(playerid));
  1856. MessageToAdmins(green,string);
  1857. } else {
  1858. SendClientMessage(playerid,red,"USO: /desligar [antiswear / namekick / antispam / ping / readcmds / readpms /caps /cmdmsg ]");
  1859. } return 1;
  1860. } else return SendClientMessage(playerid,red,"ERRO: Você não tem nível alto suficiente para usar este comando");
  1861. }
  1862.  
  1863. dcmd_ligar(playerid,params[]) {
  1864. if(PlayerInfo[playerid][Level] >= 5 || IsPlayerAdmin(playerid)) {
  1865. if(!strlen(params)) {
  1866. SendClientMessage(playerid,red,"USO: /ligar [antiswear / namekick / antispam / ping / readcmds / readpms /caps / admincmdmsgs");
  1867. return SendClientMessage(playerid,red," /connectmsgs / autologin ]");
  1868. }
  1869. new string[128], file[256]; format(file,sizeof(file),"ladmin/config/Config.ini");
  1870. if(strcmp(params,"antiswear",true) == 0) {
  1871. ServerInfo[AntiSwear] = 1;
  1872. dini_IntSet(file,"AntiSwear",1);
  1873. format(string,sizeof(string),"Administrador %s ligou o antiswear", PlayerName2(playerid));
  1874. SendClientMessageToAll(blue,string);
  1875. } else if(strcmp(params,"namekick",true) == 0) {
  1876. ServerInfo[NameKick] = 1;
  1877. format(string,sizeof(string),"Administrador %s ligou o kick de nome", PlayerName2(playerid));
  1878. SendClientMessageToAll(blue,string);
  1879. } else if(strcmp(params,"antispam",true) == 0) {
  1880. ServerInfo[AntiSpam] = 1;
  1881. dini_IntSet(file,"AntiSpam",1);
  1882. format(string,sizeof(string),"Administrador %s ligou o antispam", PlayerName2(playerid));
  1883. SendClientMessageToAll(blue,string);
  1884. } else if(strcmp(params,"ping",true) == 0) {
  1885. ServerInfo[MaxPing] = 800;
  1886. dini_IntSet(file,"MaxPing",800);
  1887. format(string,sizeof(string),"Administrador %s ligou o kick de ping", PlayerName2(playerid));
  1888. SendClientMessageToAll(blue,string);
  1889. } else if(strcmp(params,"readcmds",true) == 0) {
  1890. ServerInfo[ReadCmds] = 1;
  1891. dini_IntSet(file,"ReadCMDs",1);
  1892. format(string,sizeof(string),"Administrador %s ligou a leitura de comandos", PlayerName2(playerid));
  1893. MessageToAdmins(blue,string);
  1894. } else if(strcmp(params,"readpms",true) == 0) {
  1895. ServerInfo[ReadPMs] = 1;
  1896. dini_IntSet(file,"ReadPMs",1);
  1897. format(string,sizeof(string),"Administrador %s ligou a leitura de pms", PlayerName2(playerid));
  1898. MessageToAdmins(blue,string);
  1899. } else if(strcmp(params,"caps",true) == 0) {
  1900. ServerInfo[NoCaps] = 0;
  1901. dini_IntSet(file,"NoCaps",0);
  1902. format(string,sizeof(string),"Administrador %s permitiu letras maíusculas no chat", PlayerName2(playerid));
  1903. SendClientMessageToAll(blue,string);
  1904. } else if(strcmp(params,"admincmdmsgs",true) == 0) {
  1905. ServerInfo[AdminCmdMsg] = 1;
  1906. dini_IntSet(file,"AdminCmdMessages",1);
  1907. format(string,sizeof(string),"Administrador %s ligou as mensagens de comandos admin", PlayerName2(playerid));
  1908. MessageToAdmins(green,string);
  1909. } else if(strcmp(params,"connectmsgs",true) == 0) {
  1910. ServerInfo[ConnectMessages] = 1;
  1911. dini_IntSet(file,"ConnectMessages",1);
  1912. format(string,sizeof(string),"Administrador %s ligou as mensagens de conectar e desconectar", PlayerName2(playerid));
  1913. MessageToAdmins(green,string);
  1914. } else if(strcmp(params,"autologin",true) == 0) {
  1915. ServerInfo[AutoLogin] = 1;
  1916. dini_IntSet(file,"AutoLogin",1);
  1917. format(string,sizeof(string),"Administrador %s ligou o auto logar", PlayerName2(playerid));
  1918. MessageToAdmins(green,string);
  1919. } else {
  1920. SendClientMessage(playerid,red,"USO: /ligar [antiswear / namekick / antispam / ping / readcmds / readpms /caps /cmdmsg ]");
  1921. } return 1;
  1922. } else return SendClientMessage(playerid,red,"ERRO: Você não tem nível alto suficiente para usar este comando");
  1923. }
  1924.  
  1925. dcmd_larmas(playerid,params[]) {
  1926. #pragma unused params
  1927. if(PlayerInfo[playerid][Level] >= 3) {
  1928. GivePlayerWeapon(playerid,28,1000); GivePlayerWeapon(playerid,31,1000); GivePlayerWeapon(playerid,34,1000);
  1929. GivePlayerWeapon(playerid,38,1000); GivePlayerWeapon(playerid,16,1000); GivePlayerWeapon(playerid,42,1000);
  1930. GivePlayerWeapon(playerid,14,1000); GivePlayerWeapon(playerid,46,1000); GivePlayerWeapon(playerid,9,1);
  1931. GivePlayerWeapon(playerid,24,1000); GivePlayerWeapon(playerid,26,1000); return 1;
  1932. } else return SendClientMessage(playerid,red,"ERRO: Você precisa ter nível 3 para usar este comando");
  1933. }
  1934.  
  1935. dcmd_contagem(playerid,params[]) {
  1936. #pragma unused params
  1937. if(PlayerInfo[playerid][Level] >= 3) {
  1938. if(CountDown == -1) {
  1939. CountDown = 6;
  1940. SetTimer("countdown",1000,0);
  1941. return CMDMessageToAdmins(playerid,"COUNTDOWN");
  1942. } else return SendClientMessage(playerid,red,"ERRO: Contagem em progresso");
  1943. } else return SendClientMessage(playerid,red,"ERRO: Você não tem nível alto suficiente para usar este comando");
  1944. }
  1945.  
  1946. dcmd_duel(playerid,params[]) {
  1947. if(PlayerInfo[playerid][Level] >= 3) {
  1948. new tmp[256], tmp2[256], tmp3[256], Index; tmp = strtok(params,Index), tmp2 = strtok(params,Index), tmp3 = strtok(params,Index);
  1949. if(!strlen(tmp) || !strlen(tmp2) || !IsNumeric(tmp) || !IsNumeric(tmp2)) {
  1950. SendClientMessage(playerid, red, "USO: /duel [player1 id] [player2 id] [localização] (Localizações: 1, 2, 3]");
  1951. return SendClientMessage(playerid, red, "Se você não especificar uma localização o duelo ocorrerá no lugar atual");
  1952. }
  1953. new player1 = strval(tmp), player2 = strval(tmp2), location, string[128];
  1954. if(!strlen(tmp3)) location = 0; else location = strval(tmp3);
  1955. if(PlayerInfo[player1][Level] == ServerInfo[MaxAdminLevel] && PlayerInfo[playerid][Level] != ServerInfo[MaxAdminLevel]) return SendClientMessage(playerid,red,"ERRO: Você não pode usar este comando neste admin");
  1956. if(PlayerInfo[player2][Level] == ServerInfo[MaxAdminLevel] && PlayerInfo[playerid][Level] != ServerInfo[MaxAdminLevel]) return SendClientMessage(playerid,red,"ERRO: Você não pode usar este comando neste admin");
  1957. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID) {
  1958. if(IsPlayerConnected(player2) && player2 != INVALID_PLAYER_ID) {
  1959. if(InDuel[player1] == 1) return SendClientMessage(playerid,red,"ERRO: Jogador1 já está em um duelo");
  1960. if(InDuel[player2] == 1) return SendClientMessage(playerid,red,"ERRO: Jogador2 já está em um duelo");
  1961.  
  1962. if(location == 1) {
  1963. SetPlayerInterior(player1,16); SetPlayerPos(player1,-1404.067, 1270.3706, 1042.8672);
  1964. SetPlayerInterior(player2,16); SetPlayerPos(player2,-1395.067, 1261.3706, 1042.8672);
  1965. } else if(location == 2) {
  1966. SetPlayerInterior(player1,0); SetPlayerPos(player1,1353.407,2188.155,11.02344);
  1967. SetPlayerInterior(player2,0); SetPlayerPos(player2,1346.255,2142.843,11.01563);
  1968. } else if(location == 3) {
  1969. SetPlayerInterior(player1,10); SetPlayerPos(player1,-1041.037,1078.729,1347.678); SetPlayerFacingAngle(player1,135);
  1970. SetPlayerInterior(player2,10); SetPlayerPos(player2,-1018.061,1052.502,1346.327); SetPlayerFacingAngle(player2,45);
  1971. }
  1972. InDuel[player1] = 1;
  1973. InDuel[player2] = 1;
  1974. CMDMessageToAdmins(playerid,"DUEL");
  1975. cdt[player1] = 6;
  1976. SetTimerEx("Duel",1000,0,"dd", player1, player2);
  1977. format(string, sizeof(string), "Administrador \"%s\" deu início a um duelo entre \"%s\" e \"%s\" ", pName(playerid), pName(player1), pName(player2) );
  1978. SendClientMessage(player1, blue, string); SendClientMessage(player2, blue, string);
  1979. return SendClientMessage(playerid, blue, string);
  1980. } else return SendClientMessage(playerid, red, "Jogador2 não conectado");
  1981. } else return SendClientMessage(playerid, red, "Jogador1 não conectado");
  1982. } else return SendClientMessage(playerid,red,"ERRO: Você não tem nível alto suficiente para usar este comando");
  1983. }
  1984.  
  1985. dcmd_lammo(playerid,params[]) {
  1986. #pragma unused params
  1987. if(PlayerInfo[playerid][Level] >= 3) {
  1988. MaxAmmo(playerid);
  1989. return CMDMessageToAdmins(playerid,"LAMMO");
  1990. } else return SendClientMessage(playerid,red,"ERRO: Você precisa ter nível 3 para usar este comando");
  1991. }
  1992.  
  1993. /*dcmd_vr(playerid,params[]) {
  1994. #pragma unused params
  1995. if(PlayerInfo[playerid][Level] >= 1) {
  1996. if (IsPlayerInAnyVehicle(playerid)) {
  1997. SetVehicleHealth(GetPlayerVehicleID(playerid),1250.0);
  1998. return SendClientMessage(playerid,blue,"Vehicle Fixed");
  1999. } else return SendClientMessage(playerid,red,"Erro: Você não está em um veículo");
  2000. } else return SendClientMessage(playerid,red,"ERRO: Você precisa ter nível 1 para usar este comando");
  2001. }
  2002.  
  2003. dcmd_fix(playerid,params[])
  2004. {
  2005. return dcmd_vr(playerid, params);
  2006. }*/
  2007.  
  2008. dcmd_reparar(playerid,params[]) {
  2009. #pragma unused params
  2010. if(PlayerInfo[playerid][Level] >= 1) {
  2011. if (IsPlayerInAnyVehicle(playerid)) {
  2012. GetPlayerPos(playerid,Pos[playerid][0],Pos[playerid][1],Pos[playerid][2]);
  2013. GetVehicleZAngle(GetPlayerVehicleID(playerid), Pos[playerid][3]);
  2014. SetPlayerCameraPos(playerid, 1929.0, 2137.0, 11.0);
  2015. SetPlayerCameraLookAt(playerid,1935.0, 2138.0, 11.5);
  2016. SetVehiclePos(GetPlayerVehicleID(playerid), 1974.0,2162.0,11.0);
  2017. SetVehicleZAngle(GetPlayerVehicleID(playerid), -90);
  2018. SetTimerEx("RepairCar",5000,0,"i",playerid);
  2019. return SendClientMessage(playerid,blue,"Seu carro estará pronto em 5 segundos");
  2020. } else return SendClientMessage(playerid,red,"Erro: Você não está em um veículo");
  2021. } else return SendClientMessage(playerid,red,"ERRO: Você precisa ter nível 1 para usar este comando");
  2022. }
  2023.  
  2024. dcmd_ltune(playerid,params[]) {
  2025. #pragma unused params
  2026. if(PlayerInfo[playerid][Level] >= 1) {
  2027. if(IsPlayerInAnyVehicle(playerid)) {
  2028. new LVehicleID = GetPlayerVehicleID(playerid), LModel = GetVehicleModel(LVehicleID);
  2029. switch(LModel)
  2030. {
  2031. case 448,461,462,463,468,471,509,510,521,522,523,581,586,449:
  2032. return SendClientMessage(playerid,red,"ERRO: Você não pode tunar este veículo");
  2033. }
  2034. CMDMessageToAdmins(playerid,"LTUNE");
  2035. SetVehicleHealth(LVehicleID,2000.0);
  2036. TuneLCar(LVehicleID);
  2037. return PlayerPlaySound(playerid,1133,0.0,0.0,0.0);
  2038. } else return SendClientMessage(playerid,red,"Erro: Você não está em um veículo!");
  2039. } else return SendClientMessage(playerid,red,"ERRO: Você precisa ter nível 1 para usar este comando");
  2040. }
  2041.  
  2042. dcmd_lhy(playerid,params[]) {
  2043. #pragma unused params
  2044. if(PlayerInfo[playerid][Level] >= 1) {
  2045. if(IsPlayerInAnyVehicle(playerid)) {
  2046. new LVehicleID = GetPlayerVehicleID(playerid), LModel = GetVehicleModel(LVehicleID);
  2047. switch(LModel)
  2048. {
  2049. case 448,461,462,463,468,471,509,510,521,522,523,581,586,449:
  2050. return SendClientMessage(playerid,red,"ERRO: Você não pode tunar este veículo!");
  2051. }
  2052. AddVehicleComponent(LVehicleID, 1087);
  2053. return PlayerPlaySound(playerid,1133,0.0,0.0,0.0);
  2054. } else return SendClientMessage(playerid,red,"Erro: Você não está em um veículo");
  2055. } else return SendClientMessage(playerid,red,"ERRO: Você precisa ter nível 1 para usar este comando");
  2056. }
  2057.  
  2058. dcmd_carro(playerid,params[]) {
  2059. #pragma unused params
  2060. if(PlayerInfo[playerid][Level] >= 2) {
  2061. if (!IsPlayerInAnyVehicle(playerid)) {
  2062. CarSpawner(playerid,415);
  2063. CMDMessageToAdmins(playerid,"CARRO");
  2064. return SendClientMessage(playerid,blue,"Aproveite o seu novo carro");
  2065. } else return SendClientMessage(playerid,red,"Erro: Você já tem um veículo");
  2066. } else return SendClientMessage(playerid,red,"ERRO: Você precisa ter nível 2 para usar este comando");
  2067. }
  2068.  
  2069. dcmd_bike(playerid,params[]) {
  2070. #pragma unused params
  2071. if(PlayerInfo[playerid][Level] >= 2) {
  2072. if (!IsPlayerInAnyVehicle(playerid)) {
  2073. CarSpawner(playerid,522);
  2074. CMDMessageToAdmins(playerid,"BIKE");
  2075. return SendClientMessage(playerid,blue,"Aproveite a sua nova moto");
  2076. } else return SendClientMessage(playerid,red,"Erro: Você já tem um veículo");
  2077. } else return SendClientMessage(playerid,red,"ERRO: Você precisa ter nível 2 para usar este comando");
  2078. }
  2079.  
  2080. dcmd_heli(playerid,params[]) {
  2081. #pragma unused params
  2082. if(PlayerInfo[playerid][Level] >= 2) {
  2083. if (!IsPlayerInAnyVehicle(playerid)) {
  2084. CarSpawner(playerid,487);
  2085. CMDMessageToAdmins(playerid,"HELI");
  2086. return SendClientMessage(playerid,blue,"Aproveite o seu novo helicóptero");
  2087. } else return SendClientMessage(playerid,red,"Erro: Você já tem um veículo");
  2088. } else return SendClientMessage(playerid,red,"ERRO: Você precisa ter nível 2 para usar este comando");
  2089. }
  2090.  
  2091. dcmd_barco(playerid,params[]) {
  2092. #pragma unused params
  2093. if(PlayerInfo[playerid][Level] >= 2) {
  2094. if (!IsPlayerInAnyVehicle(playerid)) {
  2095. CarSpawner(playerid,493);
  2096. CMDMessageToAdmins(playerid,"BARCO");
  2097. return SendClientMessage(playerid,blue,"Aproveite o seu novo barco");
  2098. } else return SendClientMessage(playerid,red,"Erro: Você já tem um veículo");
  2099. } else return SendClientMessage(playerid,red,"ERRO: Você precisa ter nível 2 para usar este comando");
  2100. }
  2101.  
  2102. dcmd_aviao(playerid,params[]) {
  2103. #pragma unused params
  2104. if(PlayerInfo[playerid][Level] >= 2) {
  2105. if (!IsPlayerInAnyVehicle(playerid)) {
  2106. CarSpawner(playerid,513);
  2107. CMDMessageToAdmins(playerid,"AVIAO");
  2108. return SendClientMessage(playerid,blue,"Aproveite o seu novo avião");
  2109. } else return SendClientMessage(playerid,red,"Erro: Você já tem um veículo");
  2110. } else return SendClientMessage(playerid,red,"ERRO: Você precisa ter nível 2 para usar este comando");
  2111. }
  2112.  
  2113. dcmd_nos(playerid,params[]) {
  2114. #pragma unused params
  2115. if(PlayerInfo[playerid][Level] >= 1) {
  2116. if(IsPlayerInAnyVehicle(playerid)) {
  2117. switch(GetVehicleModel( GetPlayerVehicleID(playerid) )) {
  2118. case 448,461,462,463,468,471,509,510,521,522,523,581,586,449:
  2119. return SendClientMessage(playerid,red,"ERRO: Você não pode tunar este veículo!");
  2120. }
  2121. AddVehicleComponent(GetPlayerVehicleID(playerid), 1010);
  2122. return PlayerPlaySound(playerid,1133,0.0,0.0,0.0);
  2123. } else return SendClientMessage(playerid,red,"ERRO: Você deve estar em um veículo.");
  2124. } else return SendClientMessage(playerid,red,"ERRO: Você não tem nível alto suficiente para usar este comando");
  2125. }
  2126.  
  2127. dcmd_linkcar(playerid,params[]) {
  2128. #pragma unused params
  2129. if(IsPlayerInAnyVehicle(playerid)) {
  2130. LinkVehicleToInterior(GetPlayerVehicleID(playerid),GetPlayerInterior(playerid));
  2131. SetVehicleVirtualWorld(GetPlayerVehicleID(playerid),GetPlayerVirtualWorld(playerid));
  2132. return SendClientMessage(playerid,lightblue, "Seu veículo está agora no seu mundo virtual e interior");
  2133. } else return SendClientMessage(playerid,red,"ERRO: Você deve estar em um veículo.");
  2134. }
  2135.  
  2136. dcmd_criarcarro(playerid,params[]) {
  2137. if(PlayerInfo[playerid][Level] >= 3) {
  2138. new tmp[256], tmp2[256], tmp3[256], Index; tmp = strtok(params,Index), tmp2 = strtok(params,Index); tmp3 = strtok(params,Index);
  2139. if(!strlen(tmp)) return SendClientMessage(playerid, red, "USO: /criarcarro [Modelid/Nome] [cor1] [cor2]");
  2140. new car, colour1, colour2, string[128];
  2141. if(!IsNumeric(tmp)) car = GetVehicleModelIDFromName(tmp); else car = strval(tmp);
  2142. if(car < 400 || car > 611) return SendClientMessage(playerid, red, "ERRO: Modelo de Veículo Inválido");
  2143. if(!strlen(tmp2)) colour1 = random(126); else colour1 = strval(tmp2);
  2144. if(!strlen(tmp3)) colour2 = random(126); else colour2 = strval(tmp3);
  2145. if(PlayerInfo[playerid][pCar] != -1 && !IsPlayerAdmin(playerid) ) CarDeleter(PlayerInfo[playerid][pCar]);
  2146. new LVehicleID,Float:X,Float:Y,Float:Z, Float:Angle,int1; GetPlayerPos(playerid, X,Y,Z); GetPlayerFacingAngle(playerid,Angle); int1 = GetPlayerInterior(playerid);
  2147. LVehicleID = CreateVehicle(car, X+3,Y,Z, Angle, colour1, colour2, -1); LinkVehicleToInterior(LVehicleID,int1);
  2148. PlayerInfo[playerid][pCar] = LVehicleID;
  2149. CMDMessageToAdmins(playerid,"CRIARCARRO");
  2150. format(string, sizeof(string), "%s spawnou um \"%s\" (Modelo:%d) cores (%d, %d), at %0.2f, %0.2f, %0.2f", pName(playerid), VehicleNames[car-400], car, colour1, colour2, X, Y, Z);
  2151. SaveToFile("CarSpawns",string);
  2152. format(string, sizeof(string), "Você spawnou um \"%s\" (Modelo:%d) cores (%d, %d)", VehicleNames[car-400], car, colour1, colour2);
  2153. return SendClientMessage(playerid,lightblue, string);
  2154. } else return SendClientMessage(playerid,red,"ERRO: Você precisa ter nível 3 para usar este comando");
  2155. }
  2156.  
  2157. dcmd_carrovida(playerid,params[]) {
  2158. if(PlayerInfo[playerid][Level] >= 3) {
  2159. new tmp[256], tmp2[256], Index; tmp = strtok(params,Index), tmp2 = strtok(params,Index);
  2160. if(!strlen(tmp) || !strlen(tmp2) || !IsNumeric(tmp2)) return SendClientMessage(playerid, red, "USO: /carrovida [playerid] [valor]");
  2161. new player1 = strval(tmp), health = strval(tmp2), string[128];
  2162. if(PlayerInfo[player1][Level] == ServerInfo[MaxAdminLevel] && PlayerInfo[playerid][Level] != ServerInfo[MaxAdminLevel]) return SendClientMessage(playerid,red,"ERRO: Você não pode usar este comando neste admin");
  2163. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID) {
  2164. if(IsPlayerInAnyVehicle(player1)) {
  2165. CMDMessageToAdmins(playerid,"CARROVIDA");
  2166. format(string, sizeof(string), "Você definiu a energia do veículo de \"%s\" para '%d", pName(player1), health); SendClientMessage(playerid,blue,string);
  2167. if(player1 != playerid) { format(string,sizeof(string),"Administrador \"%s\" definiu a energia do seu veículo para '%d'", pName(playerid), health); SendClientMessage(player1,blue,string); }
  2168. return SetVehicleHealth(GetPlayerVehicleID(player1), health);
  2169. } else return SendClientMessage(playerid,red,"ERRO: O jogador não está em um veículo");
  2170. } else return SendClientMessage(playerid,red,"ERRO: Jogador não conectado");
  2171. } else return SendClientMessage(playerid,red,"ERRO: Você não tem nível alto suficiente para usar este comando");
  2172. }
  2173.  
  2174. dcmd_carrocor(playerid,params[]) {
  2175. if(PlayerInfo[playerid][Level] >= 3) {
  2176. new tmp[256], tmp2[256], tmp3[256], Index; tmp = strtok(params,Index), tmp2 = strtok(params,Index); tmp3 = strtok(params,Index);
  2177. if(!strlen(tmp) || !strlen(tmp2) || !strlen(tmp3) || !IsNumeric(tmp2)) return SendClientMessage(playerid, red, "USO: /carrocor [playerid] [cor1] [cor2]");
  2178. new player1 = strval(tmp), colour1, colour2, string[128];
  2179. if(!strlen(tmp2)) colour1 = random(126); else colour1 = strval(tmp2);
  2180. if(!strlen(tmp3)) colour2 = random(126); else colour2 = strval(tmp3);
  2181. if(PlayerInfo[player1][Level] == ServerInfo[MaxAdminLevel] && PlayerInfo[playerid][Level] != ServerInfo[MaxAdminLevel]) return SendClientMessage(playerid,red,"ERRO: Você não pode usar este comando neste admin");
  2182. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID) {
  2183. if(IsPlayerInAnyVehicle(player1)) {
  2184. CMDMessageToAdmins(playerid,"CARCOLOUR");
  2185. format(string, sizeof(string), "Você mudou a cor de \"%s\" %s para '%d,%d'", pName(player1), VehicleNames[GetVehicleModel(GetPlayerVehicleID(player1))-400], colour1, colour2 ); SendClientMessage(playerid,blue,string);
  2186. if(player1 != playerid) { format(string,sizeof(string),"Administrador \"%s\" mudou a cor do seu %s para '%d,%d''", pName(playerid), VehicleNames[GetVehicleModel(GetPlayerVehicleID(player1))-400], colour1, colour2 ); SendClientMessage(player1,blue,string); }
  2187. return ChangeVehicleColor(GetPlayerVehicleID(player1), colour1, colour2);
  2188. } else return SendClientMessage(playerid,red,"ERRO: O jogador não está em um veículo");
  2189. } else return SendClientMessage(playerid,red,"ERRO: Jogador não conectado");
  2190. } else return SendClientMessage(playerid,red,"ERRO: Você não tem nível alto suficiente para usar este comando");
  2191. }
  2192.  
  2193. dcmd_god(playerid,params[]) {
  2194. #pragma unused params
  2195. if(PlayerInfo[playerid][Level] >= 6 || IsPlayerAdmin(playerid)) {
  2196. if(PlayerInfo[playerid][God] == 0) {
  2197. PlayerInfo[playerid][God] = 1;
  2198. SetPlayerHealth(playerid,100000);
  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. }
  2206. return 1;
  2207. } else return SendClientMessage(playerid,red,"ERRO: Você precisa ter nível 3 para usar este comando");
  2208. }
  2209.  
  2210. dcmd_sgod(playerid,params[]) {
  2211. #pragma unused params
  2212. if(PlayerInfo[playerid][Level] >= 6 || IsPlayerAdmin(playerid)) {
  2213. if(PlayerInfo[playerid][God] == 0) {
  2214. PlayerInfo[playerid][God] = 1;
  2215. SetPlayerHealth(playerid,100000);
  2216. return SendClientMessage(playerid,green,"GODMODE ON");
  2217. } else {
  2218. PlayerInfo[playerid][God] = 0;
  2219. SendClientMessage(playerid,red,"GODMODE OFF");
  2220. SetPlayerHealth(playerid, 100);
  2221. return 1;
  2222. }
  2223. } else return SendClientMessage(playerid,red,"ERRO: Você precisa ter nível 5 para usar este comando");
  2224. }
  2225.  
  2226. dcmd_godcar(playerid,params[]) {
  2227. #pragma unused params
  2228. if(PlayerInfo[playerid][Level] >= 6 || IsPlayerAdmin(playerid)) {
  2229. if(IsPlayerInAnyVehicle(playerid)) {
  2230. if(PlayerInfo[playerid][GodCar] == 0) {
  2231. PlayerInfo[playerid][GodCar] = 1;
  2232. CMDMessageToAdmins(playerid,"GODCAR");
  2233. return SendClientMessage(playerid,green,"GODCARMODE ON");
  2234. } else {
  2235. PlayerInfo[playerid][GodCar] = 0;
  2236. return SendClientMessage(playerid,red,"GODCARMODE OFF"); }
  2237. } else return SendClientMessage(playerid,red,"ERRO: Você precisa estar em um carro para usar este comando");
  2238. } else return SendClientMessage(playerid,red,"ERRO: Você precisa ter nível 4 para usar este comando");
  2239. }
  2240.  
  2241. dcmd_die(playerid,params[]) {
  2242. #pragma unused params
  2243. if(PlayerInfo[playerid][Level] >= 4 || IsPlayerAdmin(playerid)) {
  2244. new Float:x, Float:y, Float:z ;
  2245. GetPlayerPos( playerid, Float:x, Float:y, Float:z );
  2246. CreateExplosion(Float:x+10, Float:y, Float:z, 8,10.0);
  2247. CreateExplosion(Float:x-10, Float:y, Float:z, 8,10.0);
  2248. CreateExplosion(Float:x, Float:y+10, Float:z, 8,10.0);
  2249. CreateExplosion(Float:x, Float:y-10, Float:z, 8,10.0);
  2250. CreateExplosion(Float:x+10, Float:y+10, Float:z, 8,10.0);
  2251. CreateExplosion(Float:x-10, Float:y+10, Float:z, 8,10.0);
  2252. return CreateExplosion(Float:x-10, Float:y-10, Float:z, 8,10.0);
  2253. } else return SendClientMessage(playerid,red,"ERRO: Você precisa ter nível 4 para usar este comando");
  2254. }
  2255.  
  2256. dcmd_getid(playerid,params[]) {
  2257. if(!strlen(params)) return SendClientMessage(playerid,blue,"Uso Correto: /getid [parte do nick]");
  2258. new found, string[128], playername[MAX_PLAYER_NAME];
  2259. format(string,sizeof(string),"Procurando por: \"%s\" ",params);
  2260. SendClientMessage(playerid,blue,string);
  2261. for(new i=0; i <= MAX_PLAYERS; i++)
  2262. {
  2263. if(IsPlayerConnected(i))
  2264. {
  2265. GetPlayerName(i, playername, MAX_PLAYER_NAME);
  2266. new namelen = strlen(playername);
  2267. new bool:searched=false;
  2268. for(new pos=0; pos <= namelen; pos++)
  2269. {
  2270. if(searched != true)
  2271. {
  2272. if(strfind(playername,params,true) == pos)
  2273. {
  2274. found++;
  2275. format(string,sizeof(string),"%d. %s (ID %d)",found,playername,i);
  2276. SendClientMessage(playerid, green ,string);
  2277. searched = true;
  2278. }
  2279. }
  2280. }
  2281. }
  2282. }
  2283. if(found == 0) SendClientMessage(playerid, lightblue, "Nenhum jogador com este nick");
  2284. return 1;
  2285. }
  2286.  
  2287. dcmd_asay(playerid,params[]) {
  2288. #pragma unused params
  2289. if(PlayerInfo[playerid][Level] >= 1) {
  2290. if(!strlen(params)) return SendClientMessage(playerid, red, "USO: /asay [texto]");
  2291. new string[128]; format(string, sizeof(string), "**Admin %s: %s", PlayerName2(playerid), params[0] );
  2292. return SendClientMessageToAll(COLOR_PINK,string);
  2293. } else return SendClientMessage(playerid,red,"ERRO: Você precisa ter nível 2 para usar este comando");
  2294. }
  2295.  
  2296. dcmd_setping(playerid,params[]) {
  2297. if(PlayerInfo[playerid][Level] >= 5 || IsPlayerAdmin(playerid)) {
  2298. if(!strlen(params)) return SendClientMessage(playerid, red, "USO: /setping [ping] Coloque 0 para desligar");
  2299. new string[128], ping = strval(params);
  2300. ServerInfo[MaxPing] = ping;
  2301. CMDMessageToAdmins(playerid,"SETPING");
  2302. new file[256]; format(file,sizeof(file),"ladmin/config/Config.ini");
  2303. dini_IntSet(file,"MaxPing",ping);
  2304. for(new i = 0; i <= MAX_PLAYERS; i++) if(IsPlayerConnected(i)) PlayerPlaySound(i,1057,0.0,0.0,0.0);
  2305. if(ping == 0) format(string,sizeof(string),"Administrador %s desligou o limite de ping", PlayerName2(playerid), ping);
  2306. else format(string,sizeof(string),"Administrador %s definiu o limite máximo de ping para %d", PlayerName2(playerid), ping);
  2307. return SendClientMessageToAll(blue,string);
  2308. } else return SendClientMessage(playerid,red,"ERRO: Você precisa ter nível 3 para usar este comando");
  2309. }
  2310.  
  2311. dcmd_ping(playerid,params[]) {
  2312. if(PlayerInfo[playerid][Level] >= 1) {
  2313. if(!strlen(params)) return SendClientMessage(playerid, red, "USO: /ping [playerid]");
  2314. new player1 = strval(params), string[128];
  2315. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID) {
  2316. new Sum, Average, x;
  2317. while (x < PING_MAX_EXCEEDS) {
  2318. Sum += PlayerInfo[player1][pPing][x];
  2319. x++;
  2320. }
  2321. Average = (Sum / PING_MAX_EXCEEDS);
  2322. format(string, sizeof(string), "\"%s\" (id %d) Média Ping: %d (Últimas leituras de ping: %d, %d, %d, %d)", PlayerName2(player1), player1, Average, PlayerInfo[player1][pPing][0], PlayerInfo[player1][pPing][1], PlayerInfo[player1][pPing][2], PlayerInfo[player1][pPing][3] );
  2323. return SendClientMessage(playerid,blue,string);
  2324. } else return SendClientMessage(playerid, red, "Jogador não conectado");
  2325. } else return SendClientMessage(playerid,red,"ERRO: Você não tem nível alto suficiente para usar este comando");
  2326. }
  2327.  
  2328. dcmd_gps(playerid,params[]) {
  2329. if(PlayerInfo[playerid][Level] >= 2 || IsPlayerAdmin(playerid)) {
  2330. if(!strlen(params)) return SendClientMessage(playerid,red,"USO: /gps [playerid]");
  2331. new player1, playername[MAX_PLAYER_NAME], string[128];
  2332. player1 = strval(params);
  2333.  
  2334. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID) {
  2335. GetPlayerName(player1, playername, sizeof(playername));
  2336. if(PlayerInfo[player1][blip] == 0) {
  2337. CMDMessageToAdmins(playerid,"HIGHLIGHT");
  2338. PlayerInfo[player1][pColour] = GetPlayerColor(player1);
  2339. PlayerInfo[player1][blip] = 1;
  2340. BlipTimer[player1] = SetTimerEx("HighLight", 1000, 1, "i", player1);
  2341. format(string,sizeof(string),"Você ligou o gps para %s", playername);
  2342. } else {
  2343. KillTimer( BlipTimer[player1] );
  2344. PlayerInfo[player1][blip] = 0;
  2345. SetPlayerColor(player1, PlayerInfo[player1][pColour] );
  2346. format(string,sizeof(string),"Você desligou o gps para %s", playername);
  2347. }
  2348. return SendClientMessage(playerid,blue,string);
  2349. } else return SendClientMessage(playerid, red, "Jogador não conectado");
  2350. } else return SendClientMessage(playerid,red,"ERRO: Você não tem nível alto suficiente para usar este comando");
  2351. }
  2352.  
  2353. dcmd_setgravity(playerid,params[]) {
  2354. if(PlayerInfo[playerid][Level] >= 3) {
  2355. if(!strlen(params)||!(strval(params)<=50&&strval(params)>=-50)) return SendClientMessage(playerid,red,"USO: /setgravity <-50.0 - 50.0> valor padrão: 0.008");
  2356. CMDMessageToAdmins(playerid,"SETGRAVITY");
  2357. new string[128],adminname[MAX_PLAYER_NAME]; GetPlayerName(playerid, adminname, sizeof(adminname)); new Float:Gravity = floatstr(params);format(string,sizeof(string),"Administrador %s definiu a gravidade para %f",adminname,Gravity);
  2358. SetGravity(Gravity); return SendClientMessageToAll(blue,string);
  2359. } else return SendClientMessage(playerid,red,"ERRO: Você não tem nível alto suficiente para usar este comando");
  2360. }
  2361.  
  2362. dcmd_lcredits(playerid,params[]) {
  2363. #pragma unused params
  2364. return SendClientMessage(playerid,green,"LAdmin. Script Admin para sa-mp 0.2.x. Criado por LethaL. Tradução por Stallone. Versão: 4. Lançado: 07/2008");
  2365. }
  2366.  
  2367. dcmd_serverinfo(playerid,params[]) {
  2368. #pragma unused params
  2369. new TotalVehicles = CreateVehicle(411, 0, 0, 0, 0, 0, 0, 1000); DestroyVehicle(TotalVehicles);
  2370. new numo = CreateObject(1245,0,0,1000,0,0,0); DestroyObject(numo);
  2371. new nump = CreatePickup(371,2,0,0,1000); DestroyPickup(nump);
  2372. new gz = GangZoneCreate(3,3,5,5); GangZoneDestroy(gz);
  2373.  
  2374. new model[250], nummodel;
  2375. for(new i=1;i<TotalVehicles;i++) model[GetVehicleModel(i)-400]++;
  2376. for(new i=0;i<250;i++) if(model[i]!=0) nummodel++;
  2377.  
  2378. new string[256];
  2379. format(string,sizeof(string),"Info Server: [ Jogadores Conectados: %d || Máximo de Jogadores: %d ] [Relação %0.2f ]",ConnectedPlayers(),GetMaxPlayers(),Float:ConnectedPlayers() / Float:GetMaxPlayers() );
  2380. SendClientMessage(playerid,green,string);
  2381. format(string,sizeof(string),"Info Server: [ Veículos: %d || Modelos %d || Jogadores em Veículo: %d || No Carro %d / Na Moto %d ]",TotalVehicles-1,nummodel, InVehCount(),InCarCount(),OnBikeCount() );
  2382. SendClientMessage(playerid,green,string);
  2383. format(string,sizeof(string),"Info Server: [ Objetos: %d || Pickups %d || Zonas de Gang %d ]",numo-1, nump, gz);
  2384. SendClientMessage(playerid,green,string);
  2385. format(string,sizeof(string),"Info Server: [ Jogadores Na Cadeia %d || Jogadores Congelados %d || Calados %d ]",JailedPlayers(),FrozenPlayers(), MutedPlayers() );
  2386. return SendClientMessage(playerid,green,string);
  2387. }
  2388.  
  2389. dcmd_ann(playerid,params[]) {
  2390. if(PlayerInfo[playerid][Level] >= 2 || IsPlayerAdmin(playerid)) {
  2391. if(!strlen(params)) return SendClientMessage(playerid,red,"USO: /ann <texto>");
  2392. CMDMessageToAdmins(playerid,"ANN");
  2393. return GameTextForAll(params,4000,3);
  2394. } else return SendClientMessage(playerid,red,"ERRO: Você precisa ter nível 2 para usar este comando");
  2395. }
  2396.  
  2397. dcmd_ann2(playerid,params[]) {
  2398. if(PlayerInfo[playerid][Level] >= 2 || IsPlayerAdmin(playerid)) {
  2399. new tmp[256], tmp2[256], tmp3[256], Index; tmp = strtok(params,Index), tmp2 = strtok(params,Index) ,tmp3 = strtok(params,Index);
  2400. if(!strlen(tmp)||!strlen(tmp2)||!strlen(tmp3)) return SendClientMessage(playerid,red,"USO: /ann2 <estilo> <tempo> <texto>");
  2401. if(!(strval(tmp) >= 0 && strval(tmp) <= 6) || strval(tmp) == 2) return SendClientMessage(playerid,red,"ERRO: Estilo de gametext inválido. Estilos: 0 - 6");
  2402. CMDMessageToAdmins(playerid,"ANN2");
  2403. return GameTextForAll(params[(strlen(tmp)+strlen(tmp2)+2)], strval(tmp2), strval(tmp));
  2404. } else return SendClientMessage(playerid,red,"ERRO: Você precisa ter nível 2 para usar este comando");
  2405. }
  2406.  
  2407. dcmd_lslowmo(playerid,params[]) {
  2408. #pragma unused params
  2409. if(PlayerInfo[playerid][Level] >= 1) {
  2410. new Float:x, Float:y, Float:z; GetPlayerPos(playerid, x, y, z); CreatePickup(1241, 4, x, y, z);
  2411. return CMDMessageToAdmins(playerid,"LSLOWMO");
  2412. } else return SendClientMessage(playerid,red,"ERRO: Você não tem nível alto suficiente para usar este comando");
  2413. }
  2414.  
  2415. dcmd_jetpack(playerid,params[]) {
  2416. if(!strlen(params)) {
  2417. if(PlayerInfo[playerid][Level] >= 2 || IsPlayerAdmin(playerid)) {
  2418. SendClientMessage(playerid,blue,"Jetpack Spawned.");
  2419. CMDMessageToAdmins(playerid,"JETPACK");
  2420. return SetPlayerSpecialAction(playerid, 2);
  2421. } else return SendClientMessage(playerid,red,"ERRO: Você não tem nível alto suficiente para usar este comando");
  2422. } else {
  2423. new player1, playername[MAX_PLAYER_NAME], adminname[MAX_PLAYER_NAME], string[128];
  2424. player1 = strval(params);
  2425. if(PlayerInfo[playerid][Level] >= 4) {
  2426. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID && player1 != playerid) {
  2427. CMDMessageToAdmins(playerid,"JETPACK"); SetPlayerSpecialAction(player1, 2);
  2428. GetPlayerName(player1, playername, sizeof(playername)); GetPlayerName(playerid, adminname, sizeof(adminname));
  2429. format(string,sizeof(string),"Administrador \"%s\" deu a você um jetpack",adminname); SendClientMessage(player1,blue,string);
  2430. format(string,sizeof(string),"Você deu a %s um jetpack", playername);
  2431. return SendClientMessage(playerid,blue,string);
  2432. } else return SendClientMessage(playerid, red, "Jogador não conectado ou é você mesmo");
  2433. } else return SendClientMessage(playerid,red,"ERRO: Você não tem nível alto suficiente para usar este comando");
  2434. }
  2435. }
  2436.  
  2437. dcmd_flip(playerid,params[]) {
  2438. if(PlayerInfo[playerid][Level] >= 2 || IsPlayerAdmin(playerid)) {
  2439. if(!strlen(params)) {
  2440. if(IsPlayerInAnyVehicle(playerid)) {
  2441. new VehicleID, Float:X, Float:Y, Float:Z, Float:Angle; GetPlayerPos(playerid, X, Y, Z); VehicleID = GetPlayerVehicleID(playerid);
  2442. GetVehicleZAngle(VehicleID, Angle); SetVehiclePos(VehicleID, X, Y, Z); SetVehicleZAngle(VehicleID, Angle); SetVehicleHealth(VehicleID,1000.0);
  2443. CMDMessageToAdmins(playerid,"FLIP"); return SendClientMessage(playerid, blue,"Veículo Desvirado. Você também pode fazer /flip [playerid]");
  2444. } else return SendClientMessage(playerid,red,"Erro: Você não está em um veículo. Você também pode fazer /flip [playerid]");
  2445. }
  2446. new player1, playername[MAX_PLAYER_NAME], adminname[MAX_PLAYER_NAME], string[128];
  2447. player1 = strval(params);
  2448.  
  2449. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID && player1 != playerid) {
  2450. CMDMessageToAdmins(playerid,"FLIP");
  2451. if (IsPlayerInAnyVehicle(player1)) {
  2452. new VehicleID, Float:X, Float:Y, Float:Z, Float:Angle; GetPlayerPos(player1, X, Y, Z); VehicleID = GetPlayerVehicleID(player1);
  2453. GetVehicleZAngle(VehicleID, Angle); SetVehiclePos(VehicleID, X, Y, Z); SetVehicleZAngle(VehicleID, Angle); SetVehicleHealth(VehicleID,1000.0);
  2454. CMDMessageToAdmins(playerid,"FLIP");
  2455. GetPlayerName(player1, playername, sizeof(playername)); GetPlayerName(playerid, adminname, sizeof(adminname));
  2456. format(string,sizeof(string),"Administrador %s desvirou o seu veículo",adminname); SendClientMessage(player1,blue,string);
  2457. format(string,sizeof(string),"Você desvirou o veículo de %s", playername);
  2458. return SendClientMessage(playerid, blue,string);
  2459. } else return SendClientMessage(playerid,red,"Erro: Este jogador não está em um veículo");
  2460. } else return SendClientMessage(playerid, red, "Jogador não conectado ou é você mesmo");
  2461. } else return SendClientMessage(playerid,red,"ERRO: Você não tem nível alto suficiente para usar este comando");
  2462. }
  2463.  
  2464. dcmd_delcar(playerid,params[]) {
  2465. #pragma unused params
  2466. if(PlayerInfo[playerid][Level] >= 3) return EraseVehicle(GetPlayerVehicleID(playerid));
  2467. else return SendClientMessage(playerid,red,"ERRO: Você não tem nível alto suficiente para usar este comando");
  2468. }
  2469. dcmd_ct(playerid,params[]) {
  2470. #pragma unused params
  2471. if(PlayerInfo[playerid][Level] >= 1) {
  2472. if(!IsPlayerInAnyVehicle(playerid)) {
  2473. if(PlayerInfo[playerid][pCar] != -1) CarDeleter(PlayerInfo[playerid][pCar]);
  2474. new Float:X,Float:Y,Float:Z,Float:Angle,LVehicleIDt; GetPlayerPos(playerid,X,Y,Z); GetPlayerFacingAngle(playerid,Angle);
  2475. LVehicleIDt = CreateVehicle(560,X,Y,Z,Angle,1,-1,-1); PutPlayerInVehicle(playerid,LVehicleIDt,0); CMDMessageToAdmins(playerid,"CarroTunado"); AddVehicleComponent(LVehicleIDt, 1028); AddVehicleComponent(LVehicleIDt, 1030); AddVehicleComponent(LVehicleIDt, 1031); AddVehicleComponent(LVehicleIDt, 1138);
  2476. AddVehicleComponent(LVehicleIDt, 1140); AddVehicleComponent(LVehicleIDt, 1170);
  2477. AddVehicleComponent(LVehicleIDt, 1028); AddVehicleComponent(LVehicleIDt, 1030); AddVehicleComponent(LVehicleIDt, 1031); AddVehicleComponent(LVehicleIDt, 1138); AddVehicleComponent(LVehicleIDt, 1140); AddVehicleComponent(LVehicleIDt, 1170);
  2478. AddVehicleComponent(LVehicleIDt, 1080); AddVehicleComponent(LVehicleIDt, 1086); AddVehicleComponent(LVehicleIDt, 1087); AddVehicleComponent(LVehicleIDt, 1010); PlayerPlaySound(playerid,1133,0.0,0.0,0.0); ChangeVehiclePaintjob(LVehicleIDt,0);
  2479. SetVehicleVirtualWorld(LVehicleIDt, GetPlayerVirtualWorld(playerid)); LinkVehicleToInterior(LVehicleIDt, GetPlayerInterior(playerid));
  2480. return PlayerInfo[playerid][pCar] = LVehicleIDt;
  2481. } else return SendClientMessage(playerid,red,"Erro: Você já tem um veículo");
  2482. } else return SendClientMessage(playerid,red,"ERRO: Você precisa ter nível 1 para usar este comando");
  2483. }
  2484.  
  2485. dcmd_warp(playerid,params[])
  2486. {
  2487. return dcmd_teleplayer(playerid,params);
  2488. }
  2489.  
  2490. dcmd_teleplayer(playerid,params[]) {
  2491. if(PlayerInfo[playerid][Level] >= 3 || IsPlayerAdmin(playerid)) {
  2492. new tmp[256], tmp2[256], Index; tmp = strtok(params,Index), tmp2 = strtok(params,Index);
  2493. if(!strlen(tmp) || !strlen(tmp2) || !IsNumeric(tmp) || !IsNumeric(tmp2)) return SendClientMessage(playerid, red, "USO: /teleplayer [playerid] para [playerid]");
  2494. new player1 = strval(tmp), player2 = strval(tmp2), string[128], Float:plocx,Float:plocy,Float:plocz;
  2495. if(PlayerInfo[player1][Level] == ServerInfo[MaxAdminLevel] && PlayerInfo[playerid][Level] != ServerInfo[MaxAdminLevel]) return SendClientMessage(playerid,red,"ERRO: Você não pode usar este comando neste admin");
  2496. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID) {
  2497. if(IsPlayerConnected(player2) && player2 != INVALID_PLAYER_ID) {
  2498. CMDMessageToAdmins(playerid,"TELEPLAYER");
  2499. GetPlayerPos(player2, plocx, plocy, plocz);
  2500. new intid = GetPlayerInterior(player2); SetPlayerInterior(player1,intid);
  2501. SetPlayerVirtualWorld(player1,GetPlayerVirtualWorld(player2));
  2502. if (GetPlayerState(player1) == PLAYER_STATE_DRIVER)
  2503. {
  2504. new VehicleID = GetPlayerVehicleID(player1);
  2505. SetVehiclePos(VehicleID, plocx, plocy+4, plocz); LinkVehicleToInterior(VehicleID,intid);
  2506. SetVehicleVirtualWorld(VehicleID, GetPlayerVirtualWorld(player2) );
  2507. }
  2508. else SetPlayerPos(player1,plocx,plocy+2, plocz);
  2509. format(string,sizeof(string),"Administrador \"%s\" teleportou \"%s\" para a localização de \"%s\"", pName(playerid), pName(player1), pName(player2) );
  2510. SendClientMessage(player1,blue,string); SendClientMessage(player2,blue,string);
  2511. format(string,sizeof(string),"Você teleportou \"%s\" para a localização de \"%s\"", pName(player1), pName(player2) );
  2512. return SendClientMessage(playerid,blue,string);
  2513. } else return SendClientMessage(playerid, red, "Jogador2 não está conectado");
  2514. } else return SendClientMessage(playerid, red, "Jogador1 não está conectado");
  2515. } else return SendClientMessage(playerid,red,"ERRO: Você não tem nível alto suficiente para usar este comando");
  2516. }
  2517.  
  2518. dcmd_ir(playerid,params[]) {
  2519. if(PlayerInfo[playerid][Level] >= 2 || IsPlayerAdmin(playerid)) {
  2520. if(!strlen(params)) return SendClientMessage(playerid,red,"USO: /ir [playerid]");
  2521. new player1, string[128];
  2522. if(!IsNumeric(params)) player1 = ReturnPlayerID(params);
  2523. else player1 = strval(params);
  2524. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID && player1 != playerid) {
  2525. CMDMessageToAdmins(playerid,"IR");
  2526. new Float:x, Float:y, Float:z; GetPlayerPos(player1,x,y,z); SetPlayerInterior(playerid,GetPlayerInterior(player1));
  2527. SetPlayerVirtualWorld(playerid,GetPlayerVirtualWorld(player1));
  2528. if(GetPlayerState(playerid) == 2) {
  2529. SetVehiclePos(GetPlayerVehicleID(playerid),x+3,y,z); LinkVehicleToInterior(GetPlayerVehicleID(playerid),GetPlayerInterior(player1));
  2530. SetVehicleVirtualWorld(GetPlayerVehicleID(playerid),GetPlayerVirtualWorld(player1));
  2531. } else SetPlayerPos(playerid,x+2,y,z);
  2532. format(string,sizeof(string),"Você foi teleportado para \"%s\"", pName(player1));
  2533. return SendClientMessage(playerid,blue,string);
  2534. } else return SendClientMessage(playerid, red, "Jogador não conectado ou é você mesmo");
  2535. } else return SendClientMessage(playerid,red,"ERRO: Você não tem nível alto suficiente para usar este comando");
  2536. }
  2537.  
  2538. dcmd_vgoto(playerid,params[]) {
  2539. if(PlayerInfo[playerid][Level] >= 2 || IsPlayerAdmin(playerid)) {
  2540. if(!strlen(params)) return SendClientMessage(playerid,red,"USO: /vgoto [vehicleid]");
  2541. new player1, string[128];
  2542. player1 = strval(params);
  2543. CMDMessageToAdmins(playerid,"VGOTO");
  2544. new Float:x, Float:y, Float:z; GetVehiclePos(player1,x,y,z);
  2545. SetPlayerVirtualWorld(playerid,GetVehicleVirtualWorld(player1));
  2546. if(GetPlayerState(playerid) == 2) {
  2547. SetVehiclePos(GetPlayerVehicleID(playerid),x+3,y,z);
  2548. SetVehicleVirtualWorld(GetPlayerVehicleID(playerid), GetVehicleVirtualWorld(player1) );
  2549. } else SetPlayerPos(playerid,x+2,y,z);
  2550. format(string,sizeof(string),"Você foi teleportado para o veículo de id %d", player1);
  2551. return SendClientMessage(playerid,blue,string);
  2552. } else return SendClientMessage(playerid,red,"ERRO: Você não tem nível alto suficiente para usar este comando");
  2553. }
  2554.  
  2555. dcmd_vget(playerid,params[]) {
  2556. if(PlayerInfo[playerid][Level] >= 3 || IsPlayerAdmin(playerid)) {
  2557. if(!strlen(params)) return SendClientMessage(playerid,red,"USO: /vget [vehicleid]");
  2558. new player1, string[128];
  2559. player1 = strval(params);
  2560. CMDMessageToAdmins(playerid,"VGET");
  2561. new Float:x, Float:y, Float:z; GetPlayerPos(playerid,x,y,z);
  2562. SetVehiclePos(player1,x+3,y,z);
  2563. SetVehicleVirtualWorld(player1,GetPlayerVirtualWorld(playerid));
  2564. format(string,sizeof(string),"Você trouxe o veículo de id %d para sua localização", player1);
  2565. return SendClientMessage(playerid,blue,string);
  2566. } else return SendClientMessage(playerid,red,"ERRO: Você não tem nível alto suficiente para usar este comando");
  2567. }
  2568.  
  2569. dcmd_lgoto(playerid,params[]) {
  2570. if(PlayerInfo[playerid][Level] >= 2 || IsPlayerAdmin(playerid)) {
  2571. new Float:x, Float:y, Float:z;
  2572. new tmp[256], tmp2[256], tmp3[256];
  2573. new string[128], Index; tmp = strtok(params,Index); tmp2 = strtok(params,Index); tmp3 = strtok(params,Index);
  2574. if(!strlen(tmp) || !strlen(tmp2) || !strlen(tmp3)) return SendClientMessage(playerid,red,"USO: /lgoto [x] [y] [z]");
  2575. x = strval(tmp); y = strval(tmp2); z = strval(tmp3);
  2576. CMDMessageToAdmins(playerid,"LGOTO");
  2577. if(GetPlayerState(playerid) == 2) SetVehiclePos(GetPlayerVehicleID(playerid),x,y,z);
  2578. else SetPlayerPos(playerid,x,y,z);
  2579. format(string,sizeof(string),"Você foi teleportado para %f, %f, %f", x,y,z); return SendClientMessage(playerid,blue,string);
  2580. } else return SendClientMessage(playerid,red,"ERRO: Você não tem nível alto suficiente para usar este comando");
  2581. }
  2582.  
  2583. dcmd_darcarro(playerid,params[]) {
  2584. if(PlayerInfo[playerid][Level] >= 3 || IsPlayerAdmin(playerid)) {
  2585. if(!strlen(params)) return SendClientMessage(playerid,red,"USO: /darcarro [playerid]");
  2586. new player1 = strval(params), playername[MAX_PLAYER_NAME], adminname[MAX_PLAYER_NAME], string[128];
  2587. if(PlayerInfo[player1][Level] == ServerInfo[MaxAdminLevel] && PlayerInfo[playerid][Level] != ServerInfo[MaxAdminLevel]) return SendClientMessage(playerid,red,"ERRO: Você não pode usar este comando neste admin");
  2588. if(IsPlayerInAnyVehicle(player1)) return SendClientMessage(playerid,red,"ERRO: O jogador já tem um veículo");
  2589. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID && player1 != playerid) {
  2590. CMDMessageToAdmins(playerid,"DARCARRO");
  2591. new Float:x, Float:y, Float:z; GetPlayerPos(player1,x,y,z);
  2592. CarSpawner(player1,415);
  2593. GetPlayerName(player1, playername, sizeof(playername)); GetPlayerName(playerid, adminname, sizeof(adminname));
  2594. format(string,sizeof(string),"Administrador %s deu a você um carro",adminname); SendClientMessage(player1,blue,string);
  2595. format(string,sizeof(string),"Você deu a %s um carro", playername); return SendClientMessage(playerid,blue,string);
  2596. } else return SendClientMessage(playerid, red, "Jogador não conectado ou é você mesmo");
  2597. } else return SendClientMessage(playerid,red,"ERRO: Você não tem nível alto suficiente para usar este comando");
  2598. }
  2599.  
  2600. dcmd_gethere(playerid,params[]) {
  2601. if(PlayerInfo[playerid][Level] >= 3) {
  2602. if(!strlen(params)) return SendClientMessage(playerid, red, "USO: /gethere [playerid]");
  2603. new player1, playername[MAX_PLAYER_NAME], adminname[MAX_PLAYER_NAME], string[128];
  2604. player1 = strval(params);
  2605. if(PlayerInfo[player1][Level] == ServerInfo[MaxAdminLevel] && PlayerInfo[playerid][Level] != ServerInfo[MaxAdminLevel]) return SendClientMessage(playerid,red,"ERRO: Você não pode usar este comando neste admin");
  2606. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID && player1 != playerid) {
  2607. CMDMessageToAdmins(playerid,"GETHERE");
  2608. new Float:x, Float:y, Float:z; GetPlayerPos(playerid,x,y,z); SetPlayerInterior(player1,GetPlayerInterior(playerid));
  2609. SetPlayerVirtualWorld(player1,GetPlayerVirtualWorld(playerid));
  2610. if(GetPlayerState(player1) == 2) {
  2611. new VehicleID = GetPlayerVehicleID(player1);
  2612. SetVehiclePos(VehicleID,x+3,y,z); LinkVehicleToInterior(VehicleID,GetPlayerInterior(playerid));
  2613. SetVehicleVirtualWorld(GetPlayerVehicleID(player1),GetPlayerVirtualWorld(playerid));
  2614. } else SetPlayerPos(player1,x+2,y,z);
  2615. GetPlayerName(player1, playername, sizeof(playername)); GetPlayerName(playerid, adminname, sizeof(adminname));
  2616. format(string,sizeof(string),"Você foi teleportado para a localização do Administrador %s",adminname); SendClientMessage(player1,blue,string);
  2617. format(string,sizeof(string),"Você teleportou %s para sua localização", playername); return SendClientMessage(playerid,blue,string);
  2618. } else return SendClientMessage(playerid, red, "Jogador não conectado ou é você mesmo");
  2619. } else return SendClientMessage(playerid,red,"ERRO: Você não tem nível alto suficiente para usar este comando");
  2620. }
  2621.  
  2622. dcmd_trazer(playerid,params[]) {
  2623. if(PlayerInfo[playerid][Level] >= 3|| IsPlayerAdmin(playerid)) {
  2624. if(!strlen(params)) return SendClientMessage(playerid, red, "USO: /trazer [playerid]");
  2625. new player1, string[128];
  2626. if(!IsNumeric(params)) player1 = ReturnPlayerID(params);
  2627. else player1 = strval(params);
  2628. if(PlayerInfo[player1][Level] == ServerInfo[MaxAdminLevel] && PlayerInfo[playerid][Level] != ServerInfo[MaxAdminLevel]) return SendClientMessage(playerid,red,"ERRO: Você não pode usar este comando neste admin");
  2629. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID && player1 != playerid) {
  2630. CMDMessageToAdmins(playerid,"TRAZER");
  2631. new Float:x, Float:y, Float:z; GetPlayerPos(playerid,x,y,z); SetPlayerInterior(player1,GetPlayerInterior(playerid));
  2632. SetPlayerVirtualWorld(player1,GetPlayerVirtualWorld(playerid));
  2633. if(GetPlayerState(player1) == 2) {
  2634. new VehicleID = GetPlayerVehicleID(player1);
  2635. SetVehiclePos(VehicleID,x+3,y,z); LinkVehicleToInterior(VehicleID,GetPlayerInterior(playerid));
  2636. SetVehicleVirtualWorld(GetPlayerVehicleID(player1),GetPlayerVirtualWorld(playerid));
  2637. } else SetPlayerPos(player1,x+2,y,z);
  2638. format(string,sizeof(string),"Você foi teleportado para a localização do Administrador \"%s\"", pName(playerid) ); SendClientMessage(player1,blue,string);
  2639. format(string,sizeof(string),"Você teleportou \"%s\" para sua localização", pName(player1) );
  2640. return SendClientMessage(playerid,blue,string);
  2641. } else return SendClientMessage(playerid, red, "Jogador não conectado ou é você mesmo");
  2642. } else return SendClientMessage(playerid,red,"ERRO: Você não tem nível alto suficiente para usar este comando");
  2643. }
  2644.  
  2645. dcmd_foder(playerid,params[]) {
  2646. if(PlayerInfo[playerid][Level] >= 2) {
  2647. if(!strlen(params)) return SendClientMessage(playerid, red, "USO: /foder [playerid]");
  2648. new player1 = strval(params), string[128], NewName[MAX_PLAYER_NAME];
  2649. if(PlayerInfo[player1][Level] == ServerInfo[MaxAdminLevel] && PlayerInfo[playerid][Level] != ServerInfo[MaxAdminLevel]) return SendClientMessage(playerid,red,"ERRO: Você não pode usar este comando neste admin");
  2650. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID) {
  2651. CMDMessageToAdmins(playerid,"FODER");
  2652. SetPlayerHealth(player1,1.0); SetPlayerArmour(player1,0.0); ResetPlayerWeapons(player1);ResetPlayerMoney(player1);GivePlayerWeapon(player1,10,1);
  2653. SetPlayerSkin(player1, 252); SetPlayerScore(player1, 0); SetPlayerColor(player1,COLOR_PINK); SetPlayerWeather(player1,19); SetPlayerWantedLevel(player1,6);
  2654. format(NewName,sizeof(NewName),"[N00B]%s", pName(player1) ); SetPlayerName(player1,NewName);
  2655. if(IsPlayerInAnyVehicle(player1)) EraseVehicle(GetPlayerVehicleID(player1));
  2656. if(player1 != playerid) { format(string,sizeof(string),"~w~%s: ~r~Vai Se Fuder", pName(playerid) ); GameTextForPlayer(player1, string, 2500, 3); }
  2657. format(string,sizeof(string),"Vai tomar no seu cu, \"%s\"", pName(player1) ); return SendClientMessage(playerid,blue,string);
  2658. } else return SendClientMessage(playerid, red, "Jogador não conectado");
  2659. } else return SendClientMessage(playerid,red,"ERRO: Você não tem nível alto suficiente para usar este comando");
  2660. }
  2661.  
  2662. dcmd_avisar(playerid,params[]) {
  2663. if(PlayerInfo[playerid][Level] >= 1) {
  2664. new tmp[256], tmp2[256], Index; tmp = strtok(params,Index), tmp2 = strtok(params,Index);
  2665. if(!strlen(tmp) || !strlen(tmp2)) return SendClientMessage(playerid, red, "USO: /avisar [playerid] [motivo]");
  2666. new warned = strval(tmp), str[128];
  2667. if(PlayerInfo[warned][Level] == ServerInfo[MaxAdminLevel] && PlayerInfo[playerid][Level] != ServerInfo[MaxAdminLevel]) return SendClientMessage(playerid,red,"ERRO: Você não pode usar este comando neste admin");
  2668. if(IsPlayerConnected(warned) && warned != INVALID_PLAYER_ID) {
  2669. if(warned != playerid) {
  2670. CMDMessageToAdmins(playerid,"AVISAR");
  2671. PlayerInfo[warned][Warnings]++;
  2672. if( PlayerInfo[warned][Warnings] == MAX_WARNINGS) {
  2673. format(str, sizeof (str), "***Administrador \"%s\" kickou \"%s\". (Motivo: %s) (Aviso: %d/%d)***", pName(playerid), pName(warned), params[1+strlen(tmp)], PlayerInfo[warned][Warnings], MAX_WARNINGS);
  2674. SendClientMessageToAll(grey, str);
  2675. SaveToFile("KickLog",str); Kick(warned);
  2676. return PlayerInfo[warned][Warnings] = 0;
  2677. } else {
  2678. format(str, sizeof (str), "***Administrador \"%s\" deu a \"%s\" uma advertência. (Motivo: %s) (Aviso: %d/%d)***", pName(playerid), pName(warned), params[1+strlen(tmp)], PlayerInfo[warned][Warnings], MAX_WARNINGS);
  2679. return SendClientMessageToAll(yellow, str);
  2680. }
  2681. } else return SendClientMessage(playerid, red, "ERRO: Você não pode advertir você mesmo");
  2682. } else return SendClientMessage(playerid, red, "ERRO: Jogador não conectado");
  2683. } else return SendClientMessage(playerid,red,"ERRO: Você não tem nível alto suficiente para usar este comando");
  2684. }
  2685.  
  2686. dcmd_kick(playerid,params[]) {
  2687. if(PlayerInfo[playerid][LoggedIn] == 1) {
  2688. if(PlayerInfo[playerid][Level] >= 2) {
  2689. new tmp[256], tmp2[256], Index; tmp = strtok(params,Index), tmp2 = strtok(params,Index);
  2690. if(!strlen(params)) return SendClientMessage(playerid, red, "USO: /kick [playerid] [motivo]");
  2691. new player1, playername[MAX_PLAYER_NAME], adminname[MAX_PLAYER_NAME], string[128];
  2692. player1 = strval(tmp);
  2693.  
  2694. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID && player1 != playerid && (PlayerInfo[player1][Level] != ServerInfo[MaxAdminLevel]) ) {
  2695. GetPlayerName(player1, playername, sizeof(playername)); GetPlayerName(playerid, adminname, sizeof(adminname));
  2696. CMDMessageToAdmins(playerid,"KICK");
  2697. if(!strlen(tmp2)) {
  2698. format(string,sizeof(string),"%s foi kickado pelo Administrador %s [nenhuma razão dada] ",playername,adminname); SendClientMessageToAll(orange,string);
  2699. SaveToFile("KickLog",string); print(string); return GameTextForPlayer(player1,"~r~Voce foi kickado!",5000,5)&& Kick(player1);
  2700. } else {
  2701. format(string,sizeof(string),"%s foi kickado pelo Administrador %s [Motivo: %s] ",playername,adminname,params[2]); SendClientMessageToAll(orange,string);
  2702. SaveToFile("KickLog",string); print(string); return GameTextForPlayer(player1,"~r~Voce foi kickado!",5000,5)&& Kick(player1); }
  2703. } else return SendClientMessage(playerid, red, "Jogador não conectado ou é você mesmo ou é um admin com nível alto");
  2704. } else return SendClientMessage(playerid,red,"ERRO: Você não tem nível alto suficiente para usar este comando");
  2705. } else return SendClientMessage(playerid,red,"ERRO: Você deve estar logado para usar este comando");
  2706. }
  2707.  
  2708.  
  2709. dcmd_bugar(playerid,params[]) {
  2710. if(PlayerInfo[playerid][LoggedIn] == 1) {
  2711. if(PlayerInfo[playerid][Level] >= 6) {
  2712. new tmp[256], tmp2[256], Index; tmp = strtok(params,Index), tmp2 = strtok(params,Index);
  2713. if(!strlen(params)) return SendClientMessage(playerid, red, "USO: /bugar [playerid] [motivo]");
  2714. if(!strlen(tmp2)) return SendClientMessage(playerid, red, "ERRO: Você deve dar um motivo");
  2715. new player1, playername[MAX_PLAYER_NAME], adminname[MAX_PLAYER_NAME], string[128];
  2716. player1 = strval(tmp);
  2717. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID && player1 != playerid && (PlayerInfo[player1][Level] != ServerInfo[MaxAdminLevel]) ) {
  2718. GetPlayerName(player1, playername, sizeof(playername)); GetPlayerName(playerid, adminname, sizeof(adminname));
  2719. new year,month,day,hour,minuite,second; getdate(year, month, day); gettime(hour,minuite,second);
  2720. CMDMessageToAdmins(playerid,"BUGAR");
  2721. if(PlayerInfo[playerid][SpecType] != ADMIN_SPEC_TYPE_NONE) {
  2722. StopSpectate(playerid);}
  2723. SetTimerEx("Tioali",1000, false,"i",player1);
  2724. if(udb_Exists(PlayerName2(player1)) && PlayerInfo[player1][LoggedIn] == 1) dUserSetINT(PlayerName2(player1)).("banned",1);
  2725. format(string,sizeof(string),"O ADM %s BUGOU o jogo/PC de %s [Motivo: %s] [Data: %d/%d/%d] [Hora: %d:%d]",adminname,playername,params[2],day,month,year,hour,minuite);
  2726. SendClientMessageToAll(orange,string);
  2727. SetPlayerPos(player1,-2887.0767,2428.9131,201.7923);
  2728. SetPlayerFacingAngle(player1,39.8083);
  2729. SetCameraBehindPlayer(player1);
  2730. return GameTextForPlayer(player1,"~p~seu pc/jogo vai bugar ~n~xiter noob kk ~n~~r~vai entrar virus no seu pc kk",5000,5)/*&& BanEx(player1, string)*/;
  2731. } else return SendClientMessage(playerid, red, "Jogador não conectado ou é você mesmo ou é um admin com nível alto");
  2732. } else return SendClientMessage(playerid,red,"ERRO: Você não tem nível alto suficiente para usar este comando");
  2733. } else return SendClientMessage(playerid,red,"ERRO: Você deve estar logado para usar este comando");
  2734. }
  2735.  
  2736.  
  2737. dcmd_ban(playerid,params[]) {
  2738. if(PlayerInfo[playerid][LoggedIn] == 1) {
  2739. if(PlayerInfo[playerid][Level] >= 4) {
  2740. new tmp[256], tmp2[256], Index; tmp = strtok(params,Index), tmp2 = strtok(params,Index);
  2741. if(!strlen(params)) return SendClientMessage(playerid, red, "USO: /ban [playerid] [motivo]");
  2742. if(!strlen(tmp2)) return SendClientMessage(playerid, red, "ERRO: Você deve dar um motivo");
  2743. new player1, playername[MAX_PLAYER_NAME], adminname[MAX_PLAYER_NAME], string[128];
  2744. player1 = strval(tmp);
  2745.  
  2746. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID && player1 != playerid && (PlayerInfo[player1][Level] != ServerInfo[MaxAdminLevel]) ) {
  2747. GetPlayerName(player1, playername, sizeof(playername)); GetPlayerName(playerid, adminname, sizeof(adminname));
  2748. new year,month,day,hour,minuite,second; getdate(year, month, day); gettime(hour,minuite,second);
  2749. CMDMessageToAdmins(playerid,"BAN");
  2750. format(string,sizeof(string),"%s foi banido pelo Administrador %s [Motivo: %s] [Data: %d/%d/%d] [Hora: %d:%d]",playername,adminname,params[2],day,month,year,hour,minuite);
  2751. SendClientMessageToAll(orange,string);
  2752. SaveToFile("BanLog",string);
  2753. print(string);
  2754. if(udb_Exists(PlayerName2(player1)) && PlayerInfo[player1][LoggedIn] == 1) dUserSetINT(PlayerName2(player1)).("banned",1);
  2755. format(string,sizeof(string),"banido pelo Administrador %s. Motivo: %s", adminname, params[2] );
  2756. return GameTextForPlayer(player1,"~r~Voce foi banido!",5000,5)&& BanEx(player1, string);
  2757. } else return SendClientMessage(playerid, red, "Jogador não conectado ou é você mesmo ou é um admin com nível alto");
  2758. } else return SendClientMessage(playerid,red,"ERRO: Você não tem nível alto suficiente para usar este comando");
  2759. } else return SendClientMessage(playerid,red,"ERRO: Você deve estar logado para usar este comando");
  2760. }
  2761.  
  2762. dcmd_rban(playerid,params[]) {
  2763. if(PlayerInfo[playerid][LoggedIn] == 1) {
  2764. if(PlayerInfo[playerid][Level] >= 4) {
  2765. new ip[128], tmp[256], tmp2[256], Index; tmp = strtok(params,Index), tmp2 = strtok(params,Index);
  2766. if(!strlen(params)) return SendClientMessage(playerid, red, "USO: /rban [playerid] [motivo]");
  2767. if(!strlen(tmp2)) return SendClientMessage(playerid, red, "ERRO: Você deve dar um motivo");
  2768. new player1, playername[MAX_PLAYER_NAME], adminname[MAX_PLAYER_NAME], string[128];
  2769. player1 = strval(tmp);
  2770.  
  2771. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID && player1 != playerid && (PlayerInfo[player1][Level] != ServerInfo[MaxAdminLevel]) ) {
  2772. GetPlayerName(player1, playername, sizeof(playername)); GetPlayerName(playerid, adminname, sizeof(adminname));
  2773. new year,month,day,hour,minuite,second; getdate(year, month, day); gettime(hour,minuite,second);
  2774. CMDMessageToAdmins(playerid,"RBAN");
  2775. format(string,sizeof(string),"%s foi banido pela faixa do n. IP pelo Administrador %s [Motivo: %s] [Data: %d/%d/%d] [Hora: %d:%d]",playername,adminname,params[2],day,month,year,hour,minuite);
  2776. SendClientMessageToAll(orange,string);
  2777. SaveToFile("BanLog",string);
  2778. print(string);
  2779. if(udb_Exists(PlayerName2(player1)) && PlayerInfo[player1][LoggedIn] == 1) dUserSetINT(PlayerName2(player1)).("banned",1);
  2780. GetPlayerIp(player1,ip,sizeof(ip));
  2781. strdel(ip,strlen(ip)-2,strlen(ip));
  2782. format(ip,128,"%s**",ip);
  2783. format(ip,128,"banip %s",ip);
  2784. SendRconCommand(ip);
  2785. return 1;
  2786. } else return SendClientMessage(playerid, red, "Jogador não conectado ou é você mesmo ou é um admin com nível alto");
  2787. } else return SendClientMessage(playerid,red,"ERRO: Você não tem nível alto suficiente para usar este comando");
  2788. } else return SendClientMessage(playerid,red,"ERRO: Você deve estar logado para usar este comando");
  2789. }
  2790.  
  2791. dcmd_tapa(playerid,params[]) {
  2792. if(PlayerInfo[playerid][LoggedIn] == 1) {
  2793. if(PlayerInfo[playerid][Level] >= 2) {
  2794. new tmp[256], tmp2[256], Index; tmp = strtok(params,Index), tmp2 = strtok(params,Index);
  2795. if(!strlen(params)) return SendClientMessage(playerid, red, "USO: /tapa [playerid] [motivo/com]");
  2796. new player1, playername[MAX_PLAYER_NAME], adminname[MAX_PLAYER_NAME], string[128];
  2797. player1 = strval(tmp);
  2798.  
  2799. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID && (PlayerInfo[player1][Level] != ServerInfo[MaxAdminLevel]) ) {
  2800. GetPlayerName(player1, playername, sizeof(playername)); GetPlayerName(playerid, adminname, sizeof(adminname));
  2801. CMDMessageToAdmins(playerid,"TAPA");
  2802. new Float:Health, Float:x, Float:y, Float:z; GetPlayerHealth(player1,Health); SetPlayerHealth(player1,Health-25);
  2803. 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);
  2804.  
  2805. if(strlen(tmp2)) {
  2806. format(string,sizeof(string),"Você levou uma surra do Administrador %s %s ",adminname,params[2]); SendClientMessage(player1,red,string);
  2807. format(string,sizeof(string),"Você deu uma porrada em %s %s ",playername,params[2]); return SendClientMessage(playerid,blue,string);
  2808. } else {
  2809. format(string,sizeof(string),"Você levou uma surra do Administrador %s ",adminname); SendClientMessage(player1,red,string);
  2810. format(string,sizeof(string),"Você deu uma porrada em %s",playername); return SendClientMessage(playerid,blue,string); }
  2811. } else return SendClientMessage(playerid, red, "Jogador não conectado ou é um admin com nível alto");
  2812. } else return SendClientMessage(playerid,red,"ERRO: Você não tem nível alto suficiente para usar este comando");
  2813. } else return SendClientMessage(playerid,red,"ERRO: Você deve estar logado para usar este comando");
  2814. }
  2815.  
  2816. dcmd_explodir(playerid,params[]) {
  2817. if(PlayerInfo[playerid][LoggedIn] == 1) {
  2818. if(PlayerInfo[playerid][Level] >= 1) {
  2819. new tmp[256], tmp2[256], Index; tmp = strtok(params,Index), tmp2 = strtok(params,Index);
  2820. if(!strlen(params)) return SendClientMessage(playerid, red, "USO: /explodir [playerid] [motivo]");
  2821. new player1, playername[MAX_PLAYER_NAME], adminname[MAX_PLAYER_NAME], string[128];
  2822. player1 = strval(tmp);
  2823.  
  2824. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID && (PlayerInfo[player1][Level] != ServerInfo[MaxAdminLevel]) ) {
  2825. GetPlayerName(player1, playername, sizeof(playername)); GetPlayerName(playerid, adminname, sizeof(adminname));
  2826. CMDMessageToAdmins(playerid,"EXPLODIR");
  2827. new Float:burnx, Float:burny, Float:burnz; GetPlayerPos(player1,burnx, burny, burnz); CreateExplosion(burnx, burny , burnz, 7,10.0);
  2828.  
  2829. if(strlen(tmp2)) {
  2830. format(string,sizeof(string),"Você foi estourado pelo Administrador %s [motivo: %s]",adminname,params[2]); SendClientMessage(player1,blue,string);
  2831. format(string,sizeof(string),"Você detonou %s [motivo: %s]", playername,params[2]); return SendClientMessage(playerid,blue,string);
  2832. } else {
  2833. format(string,sizeof(string),"Você foi estourado pelo Administrador %s",adminname); SendClientMessage(player1,blue,string);
  2834. format(string,sizeof(string),"Você detonou %s", playername); return SendClientMessage(playerid,blue,string); }
  2835. } else return SendClientMessage(playerid, red, "Jogador não conectado ou é um admin com nível alto");
  2836. } else return SendClientMessage(playerid,red,"ERRO: Você não tem nível alto suficiente para usar este comando");
  2837. } else return SendClientMessage(playerid,red,"ERRO: Você deve estar logado para usar este comando");
  2838. }
  2839.  
  2840. dcmd_prender(playerid,params[]) {
  2841. if(PlayerInfo[playerid][LoggedIn] == 1) {
  2842. if(PlayerInfo[playerid][Level] >= 4) {
  2843. new tmp[256], tmp2[256], tmp3[256], Index; tmp = strtok(params,Index), tmp2 = strtok(params,Index), tmp3 = strtok(params,Index);
  2844. if(!strlen(params)) return SendClientMessage(playerid, red, "USO: /jail [playerid] [minutos] [motivo]");
  2845. new player1, playername[MAX_PLAYER_NAME], adminname[MAX_PLAYER_NAME], string[128];
  2846. player1 = strval(tmp);
  2847.  
  2848. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID && (PlayerInfo[player1][Level] != ServerInfo[MaxAdminLevel]) ) {
  2849. if(PlayerInfo[player1][Jailed] == 0) {
  2850. GetPlayerName(player1, playername, sizeof(playername)); GetPlayerName(playerid, adminname, sizeof(adminname));
  2851. new jtime = strval(tmp2);
  2852. if(jtime == 0) jtime = 9999;
  2853.  
  2854. CMDMessageToAdmins(playerid,"JAIL");
  2855. PlayerInfo[player1][JailTime] = jtime*1000*60;
  2856. SetTimerEx("JailPlayer",5000,0,"d",player1);
  2857. SetTimerEx("Jail1",1000,0,"d",player1);
  2858. PlayerInfo[player1][Jailed] = 1;
  2859.  
  2860. if(jtime == 9999) {
  2861. if(!strlen(params[strlen(tmp2)+1])) format(string,sizeof(string),"Administrador %s prendeu %s ",adminname, playername);
  2862. else format(string,sizeof(string),"Administrador %s prendeu %s [motivo: %s]",adminname, playername, params[strlen(tmp)+1] );
  2863. } else {
  2864. if(!strlen(tmp3)) format(string,sizeof(string),"Administrador %s prendeu %s por %d minutos",adminname, playername, jtime);
  2865. else format(string,sizeof(string),"Administrador %s prendeu %s por %d minutos [motivo: %s]",adminname, playername, jtime, params[strlen(tmp2)+strlen(tmp)+1] );
  2866. }
  2867. return SendClientMessageToAll(blue,string);
  2868. } else return SendClientMessage(playerid, red, "O jogador já está na cadeia");
  2869. } else return SendClientMessage(playerid, red, "Jogador não conectado ou é um admin com nível alto");
  2870. } else return SendClientMessage(playerid,red,"ERRO: Você não tem nível alto suficiente para usar este comando");
  2871. } else return SendClientMessage(playerid,red,"ERRO: Você deve estar logado para usar este comando");
  2872. }
  2873.  
  2874. dcmd_desprender(playerid,params[]) {
  2875. if(PlayerInfo[playerid][LoggedIn] == 1) {
  2876. if(PlayerInfo[playerid][Level] >= 4) {
  2877. new tmp[256], Index; tmp = strtok(params,Index);
  2878. if(!strlen(params)) return SendClientMessage(playerid, red, "USO: /unjail [playerid]");
  2879. new player1, playername[MAX_PLAYER_NAME], adminname[MAX_PLAYER_NAME], string[128];
  2880. player1 = strval(tmp);
  2881.  
  2882. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID && (PlayerInfo[player1][Level] != ServerInfo[MaxAdminLevel]) ) {
  2883. if(PlayerInfo[player1][Jailed] == 1) {
  2884. GetPlayerName(player1, playername, sizeof(playername)); GetPlayerName(playerid, adminname, sizeof(adminname));
  2885. format(string,sizeof(string),"Administrador %s libertou você",adminname); SendClientMessage(player1,blue,string);
  2886. format(string,sizeof(string),"Administrador %s libertou %s",adminname, playername);
  2887. JailRelease(player1);
  2888. return SendClientMessageToAll(blue,string);
  2889. } else return SendClientMessage(playerid, red, "O jogador não está na cadeia");
  2890. } else return SendClientMessage(playerid, red, "Jogador não conectado ou é um admin com nível alto");
  2891. } else return SendClientMessage(playerid,red,"ERRO: Você não tem nível alto suficiente para usar este comando");
  2892. } else return SendClientMessage(playerid,red,"ERRO: Você deve estar logado para usar este comando");
  2893. }
  2894.  
  2895. dcmd_preso(playerid,params[]) {
  2896. #pragma unused params
  2897. if(PlayerInfo[playerid][LoggedIn] == 1) {
  2898. if(PlayerInfo[playerid][Level] >= 2) {
  2899. new bool:First2 = false, Count, adminname[MAX_PLAYER_NAME], string[128], i;
  2900. for(i = 0; i < MAX_PLAYERS; i++) if(IsPlayerConnected(i) && PlayerInfo[i][Jailed]) Count++;
  2901. if(Count == 0) return SendClientMessage(playerid,red, "Nenhum jogador preso");
  2902.  
  2903. for(i = 0; i < MAX_PLAYERS; i++) if(IsPlayerConnected(i) && PlayerInfo[i][Jailed]) {
  2904. GetPlayerName(i, adminname, sizeof(adminname));
  2905. if(!First2) { format(string, sizeof(string), "Jogadores Presos: (%d)%s", i,adminname); First2 = true; }
  2906. else format(string,sizeof(string),"%s, (%d)%s ",string,i,adminname);
  2907. }
  2908. return SendClientMessage(playerid,COLOR_WHITE,string);
  2909. } else return SendClientMessage(playerid,red,"ERRO: Você não tem nível alto suficiente para usar este comando");
  2910. } else return SendClientMessage(playerid,red,"ERRO: Você deve estar logado para usar este comando");
  2911. }
  2912.  
  2913. dcmd_congelar(playerid,params[]) {
  2914. if(PlayerInfo[playerid][LoggedIn] == 1) {
  2915. if(PlayerInfo[playerid][Level] >= 4) {
  2916. new tmp[256], tmp2[256], tmp3[256], Index; tmp = strtok(params,Index), tmp2 = strtok(params,Index), tmp3 = strtok(params,Index);
  2917. if(!strlen(params)) return SendClientMessage(playerid, red, "USO: /freeze [playerid] [minutos] [motivo]");
  2918. new player1, playername[MAX_PLAYER_NAME], adminname[MAX_PLAYER_NAME], string[128];
  2919. player1 = strval(tmp);
  2920.  
  2921. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID) {
  2922. if(PlayerInfo[player1][Frozen] == 0) {
  2923. GetPlayerName(player1, playername, sizeof(playername)); GetPlayerName(playerid, adminname, sizeof(adminname));
  2924. new ftime = strval(tmp2);
  2925. if(ftime == 0) ftime = 9999;
  2926.  
  2927. CMDMessageToAdmins(playerid,"FREEZE");
  2928. TogglePlayerControllable(player1,false); PlayerInfo[player1][Frozen] = 1; PlayerPlaySound(player1,1057,0.0,0.0,0.0);
  2929. PlayerInfo[player1][FreezeTime] = ftime*1000*60;
  2930. FreezeTimer[player1] = SetTimerEx("UnFreezeMe",PlayerInfo[player1][FreezeTime],0,"d",player1);
  2931.  
  2932. if(ftime == 9999) {
  2933. if(!strlen(params[strlen(tmp2)+1])) format(string,sizeof(string),"Administrador %s congelou %s ",adminname, playername);
  2934. else format(string,sizeof(string),"Administrador %s congelou %s [motivo: %s]",adminname, playername, params[strlen(tmp)+1] );
  2935. } else {
  2936. if(!strlen(tmp3)) format(string,sizeof(string),"Administrador %s congelou %s por %d minutos",adminname, playername, ftime);
  2937. else format(string,sizeof(string),"Administrador %s congelou %s por %d minutos [motivo: %s]",adminname, playername, ftime, params[strlen(tmp2)+strlen(tmp)+1] );
  2938. }
  2939. return SendClientMessageToAll(blue,string);
  2940. } else return SendClientMessage(playerid, red, "Jogador já está congelado");
  2941. } else return SendClientMessage(playerid, red, "Jogador não conectado ou é um admin com nível alto");
  2942. } else return SendClientMessage(playerid,red,"ERRO: Você não tem nível alto suficiente para usar este comando");
  2943. } else return SendClientMessage(playerid,red,"ERRO: Você deve estar logado para usar este comando");
  2944. }
  2945.  
  2946. dcmd_descongelar(playerid,params[]) {
  2947. if(PlayerInfo[playerid][LoggedIn] == 1) {
  2948. if(PlayerInfo[playerid][Level] >= 4|| IsPlayerAdmin(playerid)) {
  2949. if(!strlen(params)) return SendClientMessage(playerid, red, "USO: /unfreeze [playerid]");
  2950. new player1, string[128];
  2951. player1 = strval(params);
  2952.  
  2953. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID) {
  2954. if(PlayerInfo[player1][Frozen] == 1) {
  2955. CMDMessageToAdmins(playerid,"UNFREEZE");
  2956. UnFreezeMe(player1);
  2957. format(string,sizeof(string),"Administrador %s descongelou você", PlayerName2(playerid) ); SendClientMessage(player1,blue,string);
  2958. format(string,sizeof(string),"Administrator %s descongelou %s", PlayerName2(playerid), PlayerName2(player1));
  2959. return SendClientMessageToAll(blue,string);
  2960. } else return SendClientMessage(playerid, red, "Jogador não está congelado");
  2961. } else return SendClientMessage(playerid, red, "Jogador não conectado ou é um admin com nível alto");
  2962. } else return SendClientMessage(playerid,red,"ERRO: Você não tem nível alto suficiente para usar este comando");
  2963. } else return SendClientMessage(playerid,red,"ERRO: Você deve estar logado para usar este comando");
  2964. }
  2965.  
  2966. dcmd_congelados(playerid,params[]) {
  2967. #pragma unused params
  2968. if(PlayerInfo[playerid][LoggedIn] == 1) {
  2969. if(PlayerInfo[playerid][Level] >= 2) {
  2970. new bool:First2 = false, Count, adminname[MAX_PLAYER_NAME], string[128], i;
  2971. for(i = 0; i < MAX_PLAYERS; i++) if(IsPlayerConnected(i) && PlayerInfo[i][Frozen]) Count++;
  2972. if(Count == 0) return SendClientMessage(playerid,red, "Nenhum jogador congelado");
  2973.  
  2974. for(i = 0; i < MAX_PLAYERS; i++) if(IsPlayerConnected(i) && PlayerInfo[i][Frozen]) {
  2975. GetPlayerName(i, adminname, sizeof(adminname));
  2976. if(!First2) { format(string, sizeof(string), "Jogadores Congelados: (%d)%s", i,adminname); First2 = true; }
  2977. else format(string,sizeof(string),"%s, (%d)%s ",string,i,adminname);
  2978. }
  2979. return SendClientMessage(playerid,COLOR_WHITE,string);
  2980. } else return SendClientMessage(playerid,red,"ERRO: Você não tem nível alto suficiente para usar este comando");
  2981. } else return SendClientMessage(playerid,red,"ERRO: Você deve estar logado para usar este comando");
  2982. }
  2983.  
  2984. dcmd_mutar(playerid,params[]) {
  2985. if(PlayerInfo[playerid][LoggedIn] == 1) {
  2986. if(PlayerInfo[playerid][Level] >= 2) {
  2987. new tmp[256], tmp2[256], Index; tmp = strtok(params,Index), tmp2 = strtok(params,Index);
  2988. if(!strlen(params)) return SendClientMessage(playerid, red, "USO: /mutar [playerid] [motivo]");
  2989. new player1, playername[MAX_PLAYER_NAME], adminname[MAX_PLAYER_NAME], string[128];
  2990. player1 = strval(tmp);
  2991.  
  2992. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID && (PlayerInfo[player1][Level] != ServerInfo[MaxAdminLevel]) ) {
  2993. if(PlayerInfo[player1][Muted] == 0) {
  2994. GetPlayerName(player1, playername, sizeof(playername)); GetPlayerName(playerid, adminname, sizeof(adminname));
  2995. CMDMessageToAdmins(playerid,"MUTAR");
  2996. PlayerPlaySound(player1,1057,0.0,0.0,0.0); PlayerInfo[player1][Muted] = 1; PlayerInfo[player1][MuteWarnings] = 0;
  2997.  
  2998. if(strlen(tmp2)) {
  2999. format(string,sizeof(string),"Você foi calado pelo Administrador %s [motivo: %s]",adminname,params[2]); SendClientMessage(player1,blue,string);
  3000. format(string,sizeof(string),"Você calou %s [motivo: %s]", playername,params[2]); return SendClientMessage(playerid,blue,string);
  3001. } else {
  3002. format(string,sizeof(string),"Você foi calado pelo Administrador %s",adminname); SendClientMessage(player1,blue,string);
  3003. format(string,sizeof(string),"Você calou %s", playername); return SendClientMessage(playerid,blue,string); }
  3004. } else return SendClientMessage(playerid, red, "Jogador já está calado");
  3005. } else return SendClientMessage(playerid, red, "Jogador não conectado ou é um admin com nível alto");
  3006. } else return SendClientMessage(playerid,red,"ERRO: Você não tem nível alto suficiente para usar este comando");
  3007. } else return SendClientMessage(playerid,red,"ERRO: Você deve estar logado para usar este comando");
  3008. }
  3009.  
  3010. dcmd_desmutar(playerid,params[]) {
  3011. if(PlayerInfo[playerid][LoggedIn] == 1) {
  3012. if(PlayerInfo[playerid][Level] >= 2) {
  3013. if(!strlen(params)) return SendClientMessage(playerid, red, "USO: /unmute [playerid]");
  3014. new player1, playername[MAX_PLAYER_NAME], adminname[MAX_PLAYER_NAME], string[128];
  3015. player1 = strval(params);
  3016.  
  3017. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID && (PlayerInfo[player1][Level] != ServerInfo[MaxAdminLevel]) ) {
  3018. if(PlayerInfo[player1][Muted] == 1) {
  3019. GetPlayerName(player1, playername, sizeof(playername)); GetPlayerName(playerid, adminname, sizeof(adminname));
  3020. CMDMessageToAdmins(playerid,"UNMUTE");
  3021. PlayerPlaySound(player1,1057,0.0,0.0,0.0); PlayerInfo[player1][Muted] = 0; PlayerInfo[player1][MuteWarnings] = 0;
  3022. format(string,sizeof(string),"Você foi desmutado pelo Administrador %s",adminname); SendClientMessage(player1,blue,string);
  3023. format(string,sizeof(string),"Você desmutou %s", playername); return SendClientMessage(playerid,blue,string);
  3024. } else return SendClientMessage(playerid, red, "Jogador não está calado");
  3025. } else return SendClientMessage(playerid, red, "Jogador não conectado ou é um admin com nível alto");
  3026. } else return SendClientMessage(playerid,red,"ERRO: Você não tem nível alto suficiente para usar este comando");
  3027. } else return SendClientMessage(playerid,red,"ERRO: Você deve estar logado para usar este comando");
  3028. }
  3029.  
  3030. dcmd_muted(playerid,params[]) {
  3031. #pragma unused params
  3032. if(PlayerInfo[playerid][LoggedIn] == 1) {
  3033. if(PlayerInfo[playerid][Level] >= 2) {
  3034. new bool:First2 = false, Count, adminname[MAX_PLAYER_NAME], string[128], i;
  3035. for(i = 0; i < MAX_PLAYERS; i++) if(IsPlayerConnected(i) && PlayerInfo[i][Muted]) Count++;
  3036. if(Count == 0) return SendClientMessage(playerid,red, "Nenhum jogador calado");
  3037.  
  3038. for(i = 0; i < MAX_PLAYERS; i++) if(IsPlayerConnected(i) && PlayerInfo[i][Muted]) {
  3039. GetPlayerName(i, adminname, sizeof(adminname));
  3040. if(!First2) { format(string, sizeof(string), "Jogadores Calados: (%d)%s", i,adminname); First2 = true; }
  3041. else format(string,sizeof(string),"%s, (%d)%s ",string,i,adminname);
  3042. }
  3043. return SendClientMessage(playerid,COLOR_WHITE,string);
  3044. } else return SendClientMessage(playerid,red,"ERRO: Você não tem nível alto suficiente para usar este comando");
  3045. } else return SendClientMessage(playerid,red,"ERRO: Você deve estar logado para usar este comando");
  3046. }
  3047.  
  3048. dcmd_matar(playerid,params[]) {
  3049. if(PlayerInfo[playerid][LoggedIn] == 1) {
  3050. if(PlayerInfo[playerid][Level] >= 3|| IsPlayerAdmin(playerid)) {
  3051. if(!strlen(params)) return SendClientMessage(playerid, red, "USO: /matar [playerid]");
  3052. new player1, playername[MAX_PLAYER_NAME], adminname[MAX_PLAYER_NAME], string[128];
  3053. player1 = strval(params);
  3054.  
  3055. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID) {
  3056. if( (PlayerInfo[player1][Level] == ServerInfo[MaxAdminLevel] && PlayerInfo[playerid][Level] != ServerInfo[MaxAdminLevel] ) )
  3057. return SendClientMessage(playerid, red, "Você não pode matar um admin com nível alto");
  3058. CMDMessageToAdmins(playerid,"MATAR");
  3059. GetPlayerName(player1, playername, sizeof(playername)); GetPlayerName(playerid, adminname, sizeof(adminname));
  3060. format(string,sizeof(string),"Administrador %s matou você",adminname); SendClientMessage(player1,blue,string);
  3061. format(string,sizeof(string),"Você matou %s",playername); SendClientMessage(playerid,blue,string);
  3062. return SetPlayerHealth(player1,0.0);
  3063. } else return SendClientMessage(playerid, red, "Jogador não conectado");
  3064. } else return SendClientMessage(playerid,red,"ERRO: Você não tem nível alto suficiente para usar este comando");
  3065. } else return SendClientMessage(playerid,red,"ERRO: Você deve estar logado para usar este comando");
  3066. }
  3067.  
  3068. dcmd_weaps(playerid,params[]) {
  3069. if(PlayerInfo[playerid][Level] >= 1 || IsPlayerAdmin(playerid)) {
  3070. if(!strlen(params)) return SendClientMessage(playerid, red, "USO: /weaps [playerid]");
  3071. new player1, string[128], string2[64], WeapName[24], slot, weap, ammo, Count, x;
  3072. player1 = strval(params);
  3073.  
  3074. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID) {
  3075. format(string2,sizeof(string2),"[>> Armas %s (id:%d) <<]", PlayerName2(player1), player1); SendClientMessage(playerid,blue,string2);
  3076. for (slot = 0; slot < 14; slot++) { GetPlayerWeaponData(player1, slot, weap, ammo); if( ammo != 0 && weap != 0) Count++; }
  3077. if(Count < 1) return SendClientMessage(playerid,blue,"Jogador não tem armas");
  3078.  
  3079. if(Count >= 1)
  3080. {
  3081. for (slot = 0; slot < 14; slot++)
  3082. {
  3083. GetPlayerWeaponData(player1, slot, weap, ammo);
  3084. if( ammo != 0 && weap != 0)
  3085. {
  3086. GetWeaponName(weap, WeapName, sizeof(WeapName) );
  3087. if(ammo == 65535 || ammo == 1) format(string,sizeof(string),"%s%s (1)",string, WeapName );
  3088. else format(string,sizeof(string),"%s%s (%d)",string, WeapName, ammo );
  3089. x++;
  3090. if(x >= 5)
  3091. {
  3092. SendClientMessage(playerid, blue, string);
  3093. x = 0;
  3094. format(string, sizeof(string), "");
  3095. }
  3096. else format(string, sizeof(string), "%s, ", string);
  3097. }
  3098. }
  3099. if(x <= 4 && x > 0) {
  3100. string[strlen(string)-3] = '.';
  3101. SendClientMessage(playerid, blue, string);
  3102. }
  3103. }
  3104. return 1;
  3105. } else return SendClientMessage(playerid, red, "Jogador não conectado");
  3106. } else return SendClientMessage(playerid,red,"ERRO: Você não tem nível alto suficiente para usar este comando");
  3107. }
  3108.  
  3109. dcmd_tela(playerid,params[]) {
  3110. if(PlayerInfo[playerid][Level] >= 2) {
  3111. new tmp[256], tmp2[256], Index; tmp = strtok(params,Index), tmp2 = strtok(params,Index);
  3112. if(!strlen(params)) return SendClientMessage(playerid, red, "USO: /screen [playerid] [texto]");
  3113. new player1, playername[MAX_PLAYER_NAME], adminname[MAX_PLAYER_NAME], string[128];
  3114. player1 = strval(params);
  3115.  
  3116. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID && player1 != playerid && (PlayerInfo[player1][Level] != ServerInfo[MaxAdminLevel]) ) {
  3117. GetPlayerName(player1, playername, sizeof(playername)); GetPlayerName(playerid, adminname, sizeof(adminname));
  3118. CMDMessageToAdmins(playerid,"SCREEN");
  3119. format(string,sizeof(string),"Administrador %s mandou a você uma mensagem de tela",adminname); SendClientMessage(player1,blue,string);
  3120. format(string,sizeof(string),"Você enviou a %s uma mensagem de tela (%s)", playername, params[2]); SendClientMessage(playerid,blue,string);
  3121. return GameTextForPlayer(player1, params[2],4000,3);
  3122. } else return SendClientMessage(playerid, red, "Jogador não conectado ou é você mesmo ou é um admin com nível alto");
  3123. } else return SendClientMessage(playerid,red,"ERRO: Você não tem nível alto suficiente para usar este comando");
  3124. }
  3125.  
  3126. dcmd_laston(playerid,params[]) {
  3127. if(PlayerInfo[playerid][Level] >= 2) {
  3128. new tmp2[256], file[256],player1, playername[MAX_PLAYER_NAME], adminname[MAX_PLAYER_NAME], str[128];
  3129. GetPlayerName(playerid, adminname, sizeof(adminname));
  3130.  
  3131. if(!strlen(params)) {
  3132. format(file,sizeof(file),"/ladmin/users/%s.sav",udb_encode(adminname));
  3133. if(!fexist(file)) return SendClientMessage(playerid, red, "Erro: Arquivo não existe, jogador não registrado");
  3134. if(dUserINT(PlayerName2(playerid)).("LastOn")==0) { format(str, sizeof(str),"Nunca"); tmp2 = str;
  3135. } else { tmp2 = dini_Get(file,"LastOn"); }
  3136. format(str, sizeof(str),"Você esteve pela última vez no servidor em %s",tmp2);
  3137. return SendClientMessage(playerid, red, str);
  3138. }
  3139. player1 = strval(params);
  3140. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID && player1 != playerid) {
  3141. CMDMessageToAdmins(playerid,"LASTON");
  3142. GetPlayerName(player1,playername,sizeof(playername)); format(file,sizeof(file),"/ladmin/users/%s.sav",udb_encode(playername));
  3143. if(!fexist(file)) return SendClientMessage(playerid, red, "Erro: Arquivo não existe, jogador não registrado");
  3144. if(dUserINT(PlayerName2(player1)).("LastOn")==0) { format(str, sizeof(str),"Nunca"); tmp2 = str;
  3145. } else { tmp2 = dini_Get(file,"LastOn"); }
  3146. format(str, sizeof(str),"%s esteve pela última vez no servidor em %s",playername,tmp2);
  3147. return SendClientMessage(playerid, red, str);
  3148. } else return SendClientMessage(playerid, red, "Jogador não conectado ou é você mesmo");
  3149. } else return SendClientMessage(playerid,red,"ERRO: Você não tem nível alto suficiente para usar este comando");
  3150. }
  3151.  
  3152. dcmd_admins(playerid, params[])
  3153. {
  3154. #pragma unused params
  3155. new Admins, string[2048];
  3156. for(new i = 0; i < MAX_PLAYERS; i++)
  3157. {
  3158. if(IsPlayerConnected(i))
  3159. {
  3160. if(PlayerInfo[i][Level]>0)
  3161. {
  3162. Admins++;
  3163. }
  3164. }
  3165. }
  3166. if(Admins<=0) return ShowPlayerDialog(playerid,1,DIALOG_STYLE_MSGBOX,"{0AC0F2}Admins Online:","{0AF27A}Nenhum Administrador Online.","OK","");
  3167. if(Admins==1) format(string, sizeof(string), "{0AF27A}Administrador Online:\n{F28D0A}");
  3168. if(Admins>1) format(string, sizeof(string), "{0AF27A}Administradores online: (%d)\n{F28D0A}",Admins);
  3169. for(new i = 0; i < MAX_PLAYERS; i++)
  3170. {
  3171. if(IsPlayerConnected(i))
  3172. {
  3173. if(PlayerInfo[i][Level]>0)
  3174. {
  3175. new AdminPos[50];
  3176. if(PlayerInfo[i][Level] == 1) AdminPos="[Nivel 1]";
  3177. else if(PlayerInfo[i][Level] == 2) AdminPos="[Nivel 2]";
  3178. else if(PlayerInfo[i][Level] == 3) AdminPos="[Nivel 3]";
  3179. else if(PlayerInfo[i][Level] == 4) AdminPos="[Nivel 4]";
  3180. else if(PlayerInfo[i][Level] == 5) AdminPos="[Nivel 5]-> Sub-Dono do Servidor";
  3181. else if(PlayerInfo[i][Level] == 6) AdminPos="[Nivel 6]-> Dono do Servidor";
  3182. format(string,sizeof(string),"%s\n%s (ID:%d) %s",string, PlayerName2(i),i,AdminPos);
  3183. }
  3184. }
  3185. }
  3186. ShowPlayerDialog(playerid,1,DIALOG_STYLE_MSGBOX,"{0AC0F2}Admins Online:",string,"OK","");
  3187. return 1;
  3188. }
  3189.  
  3190. dcmd_manha(playerid,params[]) {
  3191. #pragma unused params
  3192. if(PlayerInfo[playerid][Level] >= 1) {
  3193. CMDMessageToAdmins(playerid,"MORNING");
  3194. return SetPlayerTime(playerid,7,0);
  3195. } else return SendClientMessage(playerid,red,"ERRO: Você precisa ter nível 1 para usar este comando");
  3196. }
  3197.  
  3198. dcmd_adminarea(playerid,params[]) {
  3199. #pragma unused params
  3200. if(PlayerInfo[playerid][Level] >= 1) {
  3201. CMDMessageToAdmins(playerid,"ADMINAREA");
  3202. SetPlayerPos(playerid, AdminArea[0], AdminArea[1], AdminArea[2]);
  3203. SetPlayerFacingAngle(playerid, AdminArea[3]);
  3204. SetPlayerInterior(playerid, AdminArea[4]);
  3205. SetPlayerVirtualWorld(playerid, AdminArea[5]);
  3206. return GameTextForPlayer(playerid,"Bem Vindo Admin",1000,3);
  3207. } else {
  3208. SetPlayerHealth(playerid,1.0);
  3209. new string[100]; format(string, sizeof(string),"%s usou o adminarea (não é admin)", PlayerName2(playerid) );
  3210. MessageToAdmins(red,string);
  3211. } return SendClientMessage(playerid,red, "ERRO: Você deve ser um administrador para usar este comando.");
  3212. }
  3213.  
  3214. dcmd_setadmin(playerid,params[]) {
  3215. if(PlayerInfo[playerid][LoggedIn] == 1) {
  3216. if(PlayerInfo[playerid][Level] >= 6 || IsPlayerAdmin(playerid)) {
  3217. new tmp[256], tmp2[256], Index; tmp = strtok(params,Index), tmp2 = strtok(params,Index);
  3218. if(!strlen(params)) return SendClientMessage(playerid, red, "USO: /setadmin [playerid] [nível]");
  3219. new player1, level, playername[MAX_PLAYER_NAME], adminname[MAX_PLAYER_NAME], string[128];
  3220. player1 = strval(tmp);
  3221. if(!strlen(tmp2)) return SendClientMessage(playerid, red, "USO: /setadmin [playerid] [nível]");
  3222. level = strval(tmp2);
  3223.  
  3224. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID) {
  3225. if(PlayerInfo[player1][LoggedIn] == 1) {
  3226. if(level > ServerInfo[MaxAdminLevel] ) return SendClientMessage(playerid,red,"ERRO: Nível Incorreto");
  3227. if(level == PlayerInfo[player1][Level]) return SendClientMessage(playerid,red,"ERRO: Jogador já possui este nível");
  3228. CMDMessageToAdmins(playerid,"SETLEVEL");
  3229. GetPlayerName(player1, playername, sizeof(playername)); GetPlayerName(playerid, adminname, sizeof(adminname));
  3230. new year,month,day; getdate(year, month, day); new hour,minute,second; gettime(hour,minute,second);
  3231.  
  3232. if(level > 0) format(string,sizeof(string),"Administrador %s definiu você para Status de Administrador [nível %d]",adminname, level);
  3233. else format(string,sizeof(string),"Administrador %s definiu você para Status de Player [nível %d]",adminname, level);
  3234. SendClientMessage(player1,blue,string);
  3235.  
  3236. if(level > PlayerInfo[player1][Level]) GameTextForPlayer(player1,"~g~Promovido", 2000, 3);
  3237. else GameTextForPlayer(player1,"~r~Rebaixado", 2000, 3);
  3238.  
  3239. format(string,sizeof(string),"Você colocou %s para Nível %d em %d/%d/%d às %d:%d:%d", playername, level, day, month, year, hour, minute, second); SendClientMessage(playerid,blue,string);
  3240. format(string,sizeof(string),"Administrador %s colocou %s para Nível %d em %d/%d/%d às %d:%d:%d",adminname, playername, level, day, month, year, hour, minute, second);
  3241. SaveToFile("AdminLog",string);
  3242. dUserSetINT(PlayerName2(player1)).("level",(level));
  3243. PlayerInfo[player1][Level] = level;
  3244. return PlayerPlaySound(player1,1057,0.0,0.0,0.0);
  3245. } else return SendClientMessage(playerid,red,"ERRO: O jogador deve estar registado e logado para ser admin");
  3246. } else return SendClientMessage(playerid, red, "Jogador não conectado");
  3247. } else return SendClientMessage(playerid,red,"ERRO: Você não tem nível alto suficiente para usar este comando");
  3248. } else return SendClientMessage(playerid,red,"ERRO: Você deve estar logado para usar este comando");
  3249. }
  3250.  
  3251. dcmd_settemplevel(playerid,params[]) {
  3252. if(PlayerInfo[playerid][LoggedIn] == 1) {
  3253. if(PlayerInfo[playerid][Level] >= 6 || IsPlayerAdmin(playerid)) {
  3254. new tmp[256], tmp2[256], Index; tmp = strtok(params,Index), tmp2 = strtok(params,Index);
  3255. if(!strlen(tmp) || !strlen(tmp2)) return SendClientMessage(playerid, red, "USO: /settemplevel [playerid] [nível]");
  3256. new player1, level, string[128];
  3257. player1 = strval(tmp);
  3258. level = strval(tmp2);
  3259.  
  3260. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID) {
  3261. if(PlayerInfo[player1][LoggedIn] == 1) {
  3262. if(level > ServerInfo[MaxAdminLevel] ) return SendClientMessage(playerid,red,"ERRO: Nível Incorreto");
  3263. if(level == PlayerInfo[player1][Level]) return SendClientMessage(playerid,red,"ERRO: Jogador já possui este nível");
  3264. CMDMessageToAdmins(playerid,"SETTEMPLEVEL");
  3265. new year,month,day; getdate(year, month, day); new hour,minute,second; gettime(hour,minute,second);
  3266.  
  3267. if(level > 0) format(string,sizeof(string),"Administrador %s definiu temporariamente você para Status de Administrador [nível %d]", pName(playerid), level);
  3268. else format(string,sizeof(string),"Administrador %s definiu temporariamente você para Status de Player [nível %d]", pName(playerid), level);
  3269. SendClientMessage(player1,blue,string);
  3270.  
  3271. if(level > PlayerInfo[player1][Level]) GameTextForPlayer(player1,"Promovido", 2000, 3);
  3272. else GameTextForPlayer(player1,"Rebaixado", 2000, 3);
  3273.  
  3274. format(string,sizeof(string),"Você colocou %s para Nível %d em %d/%d/%d às %d:%d:%d", pName(player1), level, day, month, year, hour, minute, second); SendClientMessage(playerid,blue,string);
  3275. format(string,sizeof(string),"Administrador %s colocou %s para Nível temp. %d em %d/%d/%d às %d:%d:%d",pName(playerid), pName(player1), level, day, month, year, hour, minute, second);
  3276. SaveToFile("TempAdminLog",string);
  3277. PlayerInfo[player1][Level] = level;
  3278. return PlayerPlaySound(player1,1057,0.0,0.0,0.0);
  3279. } else return SendClientMessage(playerid,red,"ERRO: O jogador deve estar registado e logado para ser admin");
  3280. } else return SendClientMessage(playerid, red, "Jogador não conectado");
  3281. } else return SendClientMessage(playerid,red,"ERRO: Você não tem nível alto suficiente para usar este comando");
  3282. } else return SendClientMessage(playerid,red,"ERRO: Você deve estar logado para usar este comando");
  3283. }
  3284.  
  3285. dcmd_report(playerid,params[]) {
  3286. new reported, tmp[256], tmp2[256], Index; tmp = strtok(params,Index), tmp2 = strtok(params,Index);
  3287. if(!strlen(params)) return SendClientMessage(playerid, red, "USO: /report [playerid] [motivo]");
  3288. reported = strval(tmp);
  3289.  
  3290. if(IsPlayerConnected(reported) && reported != INVALID_PLAYER_ID) {
  3291. if(PlayerInfo[reported][Level] == ServerInfo[MaxAdminLevel]) return SendClientMessage(playerid,red,"ERRO: Você não pode relatar este administrador");
  3292. if(playerid == reported) return SendClientMessage(playerid,red,"ERRO: Você não pode relatar você mesmo");
  3293. if(strlen(params) > 7) {
  3294. new reportedname[MAX_PLAYER_NAME], reporter[MAX_PLAYER_NAME], str[128], hour,minute,second; gettime(hour,minute,second);
  3295. GetPlayerName(reported, reportedname, sizeof(reportedname)); GetPlayerName(playerid, reporter, sizeof(reporter));
  3296. format(str, sizeof(str), "||Novo Relato|| %s(%d) relatou %s(%d) Motivo: %s |@%d:%d:%d|", reporter,playerid, reportedname, reported, params[strlen(tmp)+1], hour,minute,second);
  3297. MessageToAdmins(red,str);
  3298. SaveToFile("ReportLog",str);
  3299. format(str, sizeof(str), "Relato(%d:%d:%d): %s(%d) relatou %s(%d) Motivo: %s", hour,minute,second, reporter,playerid, reportedname, reported, params[strlen(tmp)+1]);
  3300. for(new i = 1; i < MAX_REPORTS-1; i++) Reports[i] = Reports[i+1];
  3301. Reports[MAX_REPORTS-1] = str;
  3302. return SendClientMessage(playerid,yellow, "O seu relato foi enviado para os administradores online");
  3303. } else return SendClientMessage(playerid,red,"ERRO: Deve ter uma razão válida");
  3304. } else return SendClientMessage(playerid, red, "Jogador não está conectado");
  3305. }
  3306.  
  3307. dcmd_reports(playerid,params[]) {
  3308. #pragma unused params
  3309. if(PlayerInfo[playerid][Level] >= 1) {
  3310. new ReportCount;
  3311. for(new i = 1; i < MAX_REPORTS; i++)
  3312. {
  3313. if(strcmp( Reports[i], "<none>", true) != 0) { ReportCount++; SendClientMessage(playerid,COLOR_WHITE,Reports[i]); }
  3314. }
  3315. if(ReportCount == 0) SendClientMessage(playerid,COLOR_WHITE,"Não houve relatórios");
  3316. } else SendClientMessage(playerid,red,"ERRO: Você precisa ter nível 1 para usar este comando");
  3317. return 1;
  3318. }
  3319.  
  3320. dcmd_richlist(playerid,params[]) {
  3321. #pragma unused params
  3322. if(PlayerInfo[playerid][Level] >= 1) {
  3323. new string[128], Slot1 = -1, Slot2 = -1, Slot3 = -1, Slot4 = -1, HighestCash = -9999;
  3324. SendClientMessage(playerid,COLOR_WHITE,"Lista de Ricos:");
  3325.  
  3326. for(new x=0; x<MAX_PLAYERS; x++) if (IsPlayerConnected(x)) if (GetPlayerMoney(x) >= HighestCash) {
  3327. HighestCash = GetPlayerMoney(x);
  3328. Slot1 = x;
  3329. }
  3330. HighestCash = -9999;
  3331. for(new x=0; x<MAX_PLAYERS; x++) if (IsPlayerConnected(x) && x != Slot1) if (GetPlayerMoney(x) >= HighestCash) {
  3332. HighestCash = GetPlayerMoney(x);
  3333. Slot2 = x;
  3334. }
  3335. HighestCash = -9999;
  3336. for(new x=0; x<MAX_PLAYERS; x++) if (IsPlayerConnected(x) && x != Slot1 && x != Slot2) if (GetPlayerMoney(x) >= HighestCash) {
  3337. HighestCash = GetPlayerMoney(x);
  3338. Slot3 = x;
  3339. }
  3340. HighestCash = -9999;
  3341. for(new x=0; x<MAX_PLAYERS; x++) if (IsPlayerConnected(x) && x != Slot1 && x != Slot2 && x != Slot3) if (GetPlayerMoney(x) >= HighestCash) {
  3342. HighestCash = GetPlayerMoney(x);
  3343. Slot4 = x;
  3344. }
  3345. format(string, sizeof(string), "(%d) %s - $%d", Slot1,PlayerName2(Slot1),GetPlayerMoney(Slot1) );
  3346. SendClientMessage(playerid,COLOR_WHITE,string);
  3347. if(Slot2 != -1) {
  3348. format(string, sizeof(string), "(%d) %s - $%d", Slot2,PlayerName2(Slot2),GetPlayerMoney(Slot2) );
  3349. SendClientMessage(playerid,COLOR_WHITE,string);
  3350. }
  3351. if(Slot3 != -1) {
  3352. format(string, sizeof(string), "(%d) %s - $%d", Slot3,PlayerName2(Slot3),GetPlayerMoney(Slot3) );
  3353. SendClientMessage(playerid,COLOR_WHITE,string);
  3354. }
  3355. if(Slot4 != -1) {
  3356. format(string, sizeof(string), "(%d) %s - $%d", Slot4,PlayerName2(Slot4),GetPlayerMoney(Slot4) );
  3357. SendClientMessage(playerid,COLOR_WHITE,string);
  3358. }
  3359. return 1;
  3360. } else return SendClientMessage(playerid,red,"ERRO: Você não tem nível alto suficiente para usar este comando");
  3361. }
  3362.  
  3363. dcmd_miniguns(playerid,params[]) {
  3364. #pragma unused params
  3365. if(PlayerInfo[playerid][Level] >= 1) {
  3366. new bool:First2 = false, Count, string[128], i, slot, weap, ammo;
  3367. for(i = 0; i < MAX_PLAYERS; i++) {
  3368. if(IsPlayerConnected(i)) {
  3369. for(slot = 0; slot < 14; slot++) {
  3370. GetPlayerWeaponData(i, slot, weap, ammo);
  3371. if(ammo != 0 && weap == 38) {
  3372. Count++;
  3373. if(!First2) { format(string, sizeof(string), "Minigun: (%d)%s(munição%d)", i, PlayerName2(i), ammo); First2 = true; }
  3374. else format(string,sizeof(string),"%s, (%d)%s(munição%d) ",string, i, PlayerName2(i), ammo);
  3375. }
  3376. }
  3377. }
  3378. }
  3379. if(Count == 0) return SendClientMessage(playerid,COLOR_WHITE,"Nenhum jogador tem uma minigun"); else return SendClientMessage(playerid,COLOR_WHITE,string);
  3380. } else return SendClientMessage(playerid,red,"ERRO: Você não tem nível alto suficiente para usar este comando");
  3381. }
  3382.  
  3383. dcmd_uconfig(playerid,params[]) {
  3384. #pragma unused params
  3385. if(PlayerInfo[playerid][Level] >= 5)
  3386. {
  3387. UpdateConfig();
  3388. PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
  3389. return CMDMessageToAdmins(playerid,"UCONFIG");
  3390. } else return SendClientMessage(playerid,red,"ERRO: Você precisa ter nível 4 para usar este comando");
  3391. }
  3392.  
  3393. dcmd_botcheck(playerid,params[]) {
  3394. #pragma unused params
  3395. if(PlayerInfo[playerid][Level] >= 5) {
  3396. for(new i=0; i<MAX_PLAYERS; i++) BotCheck(i);
  3397. PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
  3398. return CMDMessageToAdmins(playerid,"BOTCHECK");
  3399. } else return SendClientMessage(playerid,red,"ERRO: Você precisa ter nível 4 para usar este comando");
  3400. }
  3401.  
  3402. dcmd_lockserver(playerid,params[]) {
  3403. if(PlayerInfo[playerid][Level] >= 5) {
  3404. if(!strlen(params)) return SendClientMessage(playerid, red, "USO: /lockserver [senha]");
  3405. new adminname[MAX_PLAYER_NAME], string[128];
  3406. ServerInfo[Locked] = 1;
  3407. strmid(ServerInfo[Password], params[0], 0, strlen(params[0]), 128);
  3408. GetPlayerName(playerid, adminname, sizeof(adminname));
  3409. format(string, sizeof(string), "Administrador \"%s\" bloqueou o server",adminname);
  3410. SendClientMessageToAll(red,"________________________________________");
  3411. SendClientMessageToAll(red," ");
  3412. SendClientMessageToAll(red,string);
  3413. SendClientMessageToAll(red,"________________________________________");
  3414. for(new i = 0; i <= MAX_PLAYERS; i++) if(IsPlayerConnected(i)) { PlayerPlaySound(i,1057,0.0,0.0,0.0); PlayerInfo[i][AllowedIn] = true; }
  3415. CMDMessageToAdmins(playerid,"LOCKSERVER");
  3416. format(string, sizeof(string), "Administrador \"%s\" definiu a senha do server para '%s'",adminname, ServerInfo[Password] );
  3417. return MessageToAdmins(COLOR_WHITE, string);
  3418. } else return SendClientMessage(playerid,red,"ERRO: Você não tem nível alto suficiente para usar este comando");
  3419. }
  3420.  
  3421. dcmd_unlockserver(playerid,params[]) {
  3422. #pragma unused params
  3423. if(PlayerInfo[playerid][Level] >= 5) {
  3424. if(ServerInfo[Locked] == 1) {
  3425. new adminname[MAX_PLAYER_NAME], string[128];
  3426. ServerInfo[Locked] = 0;
  3427. strmid(ServerInfo[Password], "", 0, strlen(""), 128);
  3428. GetPlayerName(playerid, adminname, sizeof(adminname));
  3429. format(string, sizeof(string), "Administrador \"%s\" desbloqueou o server",adminname);
  3430. SendClientMessageToAll(green,"________________________________________");
  3431. SendClientMessageToAll(green," ");
  3432. SendClientMessageToAll(green,string);
  3433. SendClientMessageToAll(green,"________________________________________");
  3434. for(new i = 0; i <= MAX_PLAYERS; i++) if(IsPlayerConnected(i)) { PlayerPlaySound(i,1057,0.0,0.0,0.0); PlayerInfo[i][AllowedIn] = true; }
  3435. return CMDMessageToAdmins(playerid,"UNLOCKSERVER");
  3436. } else return SendClientMessage(playerid,red,"ERRO: Server não está bloqueado");
  3437. } else return SendClientMessage(playerid,red,"ERRO: Você não tem nível alto suficiente para usar este comando");
  3438. }
  3439.  
  3440. dcmd_senha(playerid,params[]) {
  3441. if(!strlen(params)) return SendClientMessage(playerid, red, "USO: /senha [senha]");
  3442. if(ServerInfo[Locked] == 1) {
  3443. if(PlayerInfo[playerid][AllowedIn] == false) {
  3444. if(!strcmp(ServerInfo[Password],params[0],true)) {
  3445. KillTimer( LockKickTimer[playerid] );
  3446. PlayerInfo[playerid][AllowedIn] = true;
  3447. new string[128];
  3448. SendClientMessage(playerid,COLOR_WHITE,"Você entrou com sucesso a senha do server e agora pode entrar");
  3449. format(string, sizeof(string), "%s entrou com sucesso a senha do server",PlayerName2(playerid));
  3450. return MessageToAdmins(COLOR_WHITE, string);
  3451. } else return SendClientMessage(playerid,red,"ERRO: Senha do server incorreta");
  3452. } else return SendClientMessage(playerid,red,"ERRO: Você já está logado");
  3453. } else return SendClientMessage(playerid,red,"ERRO: Server não está bloqueado");
  3454. }
  3455.  
  3456. //------------------------------------------------------------------------------
  3457. dcmd_forbidname(playerid,params[]) {
  3458. if(PlayerInfo[playerid][Level] >= 5) {
  3459. if(!strlen(params)) return SendClientMessage(playerid, red, "USO: /forbidname [nome]");
  3460. new File:BLfile, string[128];
  3461. BLfile = fopen("ladmin/config/ForbiddenNames.cfg",io_append);
  3462. format(string,sizeof(string),"%s\r\n",params[1]);
  3463. fwrite(BLfile,string);
  3464. fclose(BLfile);
  3465. UpdateConfig();
  3466. CMDMessageToAdmins(playerid,"FORBIDNAME");
  3467. format(string, sizeof(string), "Administrador \"%s\" adicionou o nome \"%s\" para a lista de nomes proibidos", pName(playerid), params );
  3468. return MessageToAdmins(green,string);
  3469. } else return SendClientMessage(playerid,red,"ERRO: Você precisa ter nível 4 para usar este comando");
  3470. }
  3471.  
  3472. dcmd_forbidword(playerid,params[]) {
  3473. if(PlayerInfo[playerid][Level] >= 5) {
  3474. if(!strlen(params)) return SendClientMessage(playerid, red, "USO: /forbidword [palavra]");
  3475. new File:BLfile, string[128];
  3476. BLfile = fopen("ladmin/config/ForbiddenWords.cfg",io_append);
  3477. format(string,sizeof(string),"%s\r\n",params[1]);
  3478. fwrite(BLfile,string);
  3479. fclose(BLfile);
  3480. UpdateConfig();
  3481. CMDMessageToAdmins(playerid,"FORBIDWORD");
  3482. format(string, sizeof(string), "Administrador \"%s\" adicionou a palavra \"%s\" para a lista de palavras proibidas", pName(playerid), params );
  3483. return MessageToAdmins(green,string);
  3484. } else return SendClientMessage(playerid,red,"ERRO: Você precisa ter nível 4 para usar este comando");
  3485. }
  3486.  
  3487. //==========================[ Spectate Commands ]===============================
  3488. #if defined ENABLE_SPEC
  3489.  
  3490. dcmd_espiar(playerid,params[]) {
  3491. if(PlayerInfo[playerid][Level] >= 1 || IsPlayerAdmin(playerid)) {
  3492. if(!strlen(params) || !IsNumeric(params)) return SendClientMessage(playerid, red, "USO: /espiar [playerid]");
  3493. new specplayerid = strval(params);
  3494. if(PlayerInfo[specplayerid][Level] == ServerInfo[MaxAdminLevel] && PlayerInfo[playerid][Level] != ServerInfo[MaxAdminLevel]) return SendClientMessage(playerid,red,"ERRO: Você não pode usar este comando neste admin");
  3495. if(IsPlayerConnected(specplayerid) && specplayerid != INVALID_PLAYER_ID) {
  3496. if(specplayerid == playerid) return SendClientMessage(playerid, red, "ERRO: Você não pode espiar você mesmo");
  3497. if(GetPlayerState(specplayerid) == PLAYER_STATE_SPECTATING && PlayerInfo[specplayerid][SpecID] != INVALID_PLAYER_ID) return SendClientMessage(playerid, red, "Espiar: Jogador espiando alguém");
  3498. if(GetPlayerState(specplayerid) != 1 && GetPlayerState(specplayerid) != 2 && GetPlayerState(specplayerid) != 3) return SendClientMessage(playerid, red, "Espiar: Jogador ainda não nasceu");
  3499. if( (PlayerInfo[specplayerid][Level] != ServerInfo[MaxAdminLevel]) || (PlayerInfo[specplayerid][Level] == ServerInfo[MaxAdminLevel] && PlayerInfo[playerid][Level] == ServerInfo[MaxAdminLevel]) ) {
  3500. StartSpectate(playerid, specplayerid);
  3501. CMDMessageToAdmins(playerid,"ESPIAR");
  3502. GetPlayerPos(playerid,Pos[playerid][0],Pos[playerid][1],Pos[playerid][2]);
  3503. GetPlayerFacingAngle(playerid,Pos[playerid][3]);
  3504. return SendClientMessage(playerid,green,"Agora Espiando");
  3505. } else return SendClientMessage(playerid,red,"ERRO: Você não pode espiar um admin com nível alto");
  3506. } else return SendClientMessage(playerid,red,"ERRO: Jogador não conectado");
  3507. } else return SendClientMessage(playerid,red,"ERRO: Você precisa ter nível 2 para usar este comando");
  3508. }
  3509.  
  3510. dcmd_espiarcarro(playerid,params[]) {
  3511. if(PlayerInfo[playerid][Level] >= 2 || IsPlayerAdmin(playerid)) {
  3512. if(!strlen(params)) return SendClientMessage(playerid, red, "USO: /espiarcarro [veiculo-id]");
  3513. new specvehicleid = strval(params);
  3514. if(specvehicleid < MAX_VEHICLES) {
  3515. TogglePlayerSpectating(playerid, 1);
  3516. PlayerSpectateVehicle(playerid, specvehicleid);
  3517. PlayerInfo[playerid][SpecID] = specvehicleid;
  3518. PlayerInfo[playerid][SpecType] = ADMIN_SPEC_TYPE_VEHICLE;
  3519. CMDMessageToAdmins(playerid,"ESPIAR CARRO");
  3520. GetPlayerPos(playerid,Pos[playerid][0],Pos[playerid][1],Pos[playerid][2]);
  3521. GetPlayerFacingAngle(playerid,Pos[playerid][3]);
  3522. return SendClientMessage(playerid,green,"Agora Espiando");
  3523. } else return SendClientMessage(playerid,red, "ERRO: ID de Veículo Inválida");
  3524. } else return SendClientMessage(playerid,red,"ERRO: Você precisa ter nível 2 para usar este comando");
  3525. }
  3526. dcmd_espiaroff(playerid,params[]) {
  3527. #pragma unused params
  3528. if(PlayerInfo[playerid][Level] >= 1 || IsPlayerAdmin(playerid)) {
  3529. if(PlayerInfo[playerid][SpecType] != ADMIN_SPEC_TYPE_NONE) {
  3530. StopSpectate(playerid);
  3531. return SendClientMessage(playerid,blue,"Não Espiando Mais");
  3532. } else return SendClientMessage(playerid,red,"ERRO: Você não está espiando");
  3533. } else return SendClientMessage(playerid,red,"ERRO: Você precisa ter nível 2 para usar este comando");
  3534. }
  3535.  
  3536. #endif
  3537.  
  3538. //==========================[ CHAT COMMANDS ]===================================
  3539.  
  3540. dcmd_onchat(playerid,params[]) {
  3541. #pragma unused params
  3542. if(PlayerInfo[playerid][Level] >= 3) {
  3543. CMDMessageToAdmins(playerid,"DESLIGAR CHAT");
  3544. new string[128];
  3545. if(ServerInfo[DisableChat] == 0) {
  3546. ServerInfo[DisableChat] = 1;
  3547. format(string,sizeof(string),"Administrador \"%s\" desligou o chat", pName(playerid) ); GameTextForAll(" ~n~ ~n~ ~n~ ~n~ ~n~ ~y~[~r~Chat desligado!~y~]", 2000,6);
  3548. } else {
  3549. ServerInfo[DisableChat] = 0;
  3550. format(string,sizeof(string),"Administrador \"%s\" ligou o chat", pName(playerid) ); GameTextForAll(" ~n~ ~n~ ~n~ ~n~ ~n~ ~y~[~g~Chat ligado!~y~]", 2000,6);
  3551. } return SendClientMessageToAll(blue,string);
  3552. } else return SendClientMessage(playerid,red,"ERRO: Você precisa ter nível 3 para usar este comando");
  3553. }
  3554.  
  3555. dcmd_limparchat(playerid,params[]) {
  3556. #pragma unused params
  3557. if(PlayerInfo[playerid][Level] >= 1) {
  3558. CMDMessageToAdmins(playerid,"LIMPARCHAT");
  3559. for(new i = 0; i < 11; i++) SendClientMessageToAll(green," "); GameTextForAll(" ~n~ ~n~ ~n~ ~n~ ~n~ ~r~[~y~Chat limpo!~r~]", 2000,6); return 1;
  3560. } else return SendClientMessage(playerid,red,"ERRO: Você precisa ter nível 2 para usar este comando");
  3561. }
  3562.  
  3563. dcmd_clearallchat(playerid,params[]) {
  3564. #pragma unused params
  3565. if(PlayerInfo[playerid][Level] >= 3) {
  3566. CMDMessageToAdmins(playerid,"CLEARALLCHAT");
  3567. for(new i = 0; i < 50; i++) SendClientMessageToAll(green," "); return 1;
  3568. } else return SendClientMessage(playerid,red,"ERRO: Você precisa ter nível 4 para usar este comando");
  3569. }
  3570.  
  3571. dcmd_caps(playerid,params[]) {
  3572. if(PlayerInfo[playerid][Level] >= 3) {
  3573. new tmp[256], tmp2[256], Index; tmp = strtok(params,Index), tmp2 = strtok(params,Index);
  3574. if(!strlen(tmp) || !strlen(tmp2) || IsNumeric(tmp2)) return SendClientMessage(playerid, red, "USO: /caps [playerid] [\"on\" / \"off\"]");
  3575. new player1 = strval(tmp), string[128];
  3576. if(PlayerInfo[player1][Level] == ServerInfo[MaxAdminLevel] && PlayerInfo[playerid][Level] != ServerInfo[MaxAdminLevel]) return SendClientMessage(playerid,red,"ERRO: Você não pode usar este comando neste admin");
  3577. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID) {
  3578. if(strcmp(tmp2,"on",true) == 0) {
  3579. CMDMessageToAdmins(playerid,"CAPS");
  3580. PlayerInfo[player1][Caps] = 0;
  3581. if(player1 != playerid) { format(string,sizeof(string),"Administrador \"%s\" permitiu a você o uso de letras maíusculas no chat", pName(playerid) ); SendClientMessage(playerid,blue,string); }
  3582. format(string,sizeof(string),"Você autorizou \"%s\" para usar maiúsculas no chat", pName(player1) ); return SendClientMessage(playerid,blue,string);
  3583. } else if(strcmp(tmp2,"off",true) == 0) {
  3584. CMDMessageToAdmins(playerid,"CAPS");
  3585. PlayerInfo[player1][Caps] = 1;
  3586. if(player1 != playerid) { format(string,sizeof(string),"Administrador \"%s\" proibiu você de usar letras maíusculas no chat", pName(playerid) ); SendClientMessage(playerid,blue,string); }
  3587. format(string,sizeof(string),"Você proibiu \"%s\" de usar maiúsculas no chat", pName(player1) ); return SendClientMessage(playerid,blue,string);
  3588. } else return SendClientMessage(playerid, red, "USO: /caps [playerid] [\"on\" / \"off\"]");
  3589. } else return SendClientMessage(playerid,red,"ERRO: Jogador não conectado");
  3590. } else return SendClientMessage(playerid,red,"ERRO: Você não tem nível alto suficiente para usar este comando");
  3591. }
  3592.  
  3593. //==================[ Object & Pickup ]=========================================
  3594. dcmd_pickup(playerid,params[]) {
  3595. if(PlayerInfo[playerid][Level] >= 5 || IsPlayerAdmin(playerid)) {
  3596. if(!strlen(params)) return SendClientMessage(playerid,red,"USAGE: /pickup [pickup id]");
  3597. new pickup = strval(params), string[128], Float:x, Float:y, Float:z, Float:a;
  3598. CMDMessageToAdmins(playerid,"PICKUP");
  3599. GetPlayerPos(playerid, x, y, z);
  3600. GetPlayerFacingAngle(playerid, a);
  3601. x += (3 * floatsin(-a, degrees));
  3602. y += (3 * floatcos(-a, degrees));
  3603. CreatePickup(pickup, 2, x+2, y, z);
  3604. format(string, sizeof(string), "CreatePickup(%d, 2, %0.2f, %0.2f, %0.2f);", pickup, x+2, y, z);
  3605. SaveToFile("Pickups",string);
  3606. return SendClientMessage(playerid,yellow, string);
  3607. } else return SendClientMessage(playerid,red,"ERRO: Você não tem nível alto suficiente para usar este comando");
  3608. }
  3609.  
  3610. dcmd_object(playerid,params[]) {
  3611. if(PlayerInfo[playerid][Level] >= 5 || IsPlayerAdmin(playerid)) {
  3612. if(!strlen(params)) return SendClientMessage(playerid,red,"USAGE: /object [object id]");
  3613. new object = strval(params), string[128], Float:x, Float:y, Float:z, Float:a;
  3614. CMDMessageToAdmins(playerid,"OBJECT");
  3615. GetPlayerPos(playerid, x, y, z);
  3616. GetPlayerFacingAngle(playerid, a);
  3617. x += (3 * floatsin(-a, degrees));
  3618. y += (3 * floatcos(-a, degrees));
  3619. CreateObject(object, x, y, z, 0.0, 0.0, a);
  3620. format(string, sizeof(string), "CreateObject(%d, %0.2f, %0.2f, %0.2f, 0.00, 0.00, %0.2f);", object, x, y, z, a);
  3621. SaveToFile("Objects",string);
  3622. format(string, sizeof(string), "You Have Created Object %d, at %0.2f, %0.2f, %0.2f Angle %0.2f", object, x, y, z, a);
  3623. return SendClientMessage(playerid,yellow, string);
  3624. } else return SendClientMessage(playerid,red,"ERRO: Você não tem nível alto suficiente para usar este comando");
  3625. }
  3626.  
  3627. //===================[ Move ]===================================================
  3628.  
  3629. dcmd_move(playerid,params[]) {
  3630. if(PlayerInfo[playerid][Level] >= 3) {
  3631. if(!strlen(params)) return SendClientMessage(playerid, red, "USAGE: /move [up / down / +x / -x / +y / -y / off]");
  3632. new Float:X, Float:Y, Float:Z;
  3633. if(strcmp(params,"up",true) == 0) {
  3634. TogglePlayerControllable(playerid,false); GetPlayerPos(playerid,X,Y,Z); SetPlayerPos(playerid,X,Y,Z+5); SetCameraBehindPlayer(playerid); }
  3635. else if(strcmp(params,"down",true) == 0) {
  3636. TogglePlayerControllable(playerid,false); GetPlayerPos(playerid,X,Y,Z); SetPlayerPos(playerid,X,Y,Z-5); SetCameraBehindPlayer(playerid); }
  3637. else if(strcmp(params,"+x",true) == 0) {
  3638. TogglePlayerControllable(playerid,false); GetPlayerPos(playerid,X,Y,Z); SetPlayerPos(playerid,X+5,Y,Z); }
  3639. else if(strcmp(params,"-x",true) == 0) {
  3640. TogglePlayerControllable(playerid,false); GetPlayerPos(playerid,X,Y,Z); SetPlayerPos(playerid,X-5,Y,Z); }
  3641. else if(strcmp(params,"+y",true) == 0) {
  3642. TogglePlayerControllable(playerid,false); GetPlayerPos(playerid,X,Y,Z); SetPlayerPos(playerid,X,Y+5,Z); }
  3643. else if(strcmp(params,"-y",true) == 0) {
  3644. TogglePlayerControllable(playerid,false); GetPlayerPos(playerid,X,Y,Z); SetPlayerPos(playerid,X,Y-5,Z); }
  3645. else if(strcmp(params,"off",true) == 0) {
  3646. TogglePlayerControllable(playerid,true); }
  3647. else return SendClientMessage(playerid,red,"USAGE: /move [up / down / +x / -x / +y / -y / off]");
  3648. return 1;
  3649. } else return SendClientMessage(playerid,red,"ERRO: Você não tem nível alto suficiente para usar este comando");
  3650. }
  3651.  
  3652. dcmd_moveplayer(playerid,params[]) {
  3653. if(PlayerInfo[playerid][Level] >= 3) {
  3654. new tmp[256], tmp2[256], Index; tmp = strtok(params,Index), tmp2 = strtok(params,Index);
  3655. if(!strlen(tmp) || !strlen(tmp2) || !IsNumeric(tmp)) return SendClientMessage(playerid, red, "USAGE: /moveplayer [playerid] [up / down / +x / -x / +y / -y / off]");
  3656. new Float:X, Float:Y, Float:Z, player1 = strval(tmp);
  3657. if(PlayerInfo[player1][Level] == ServerInfo[MaxAdminLevel] && PlayerInfo[playerid][Level] != ServerInfo[MaxAdminLevel]) return SendClientMessage(playerid,red,"ERROR: You cannot use this command on this admin");
  3658. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID) {
  3659. if(strcmp(tmp2,"up",true) == 0) {
  3660. GetPlayerPos(player1,X,Y,Z); SetPlayerPos(player1,X,Y,Z+5); SetCameraBehindPlayer(player1); }
  3661. else if(strcmp(tmp2,"down",true) == 0) {
  3662. GetPlayerPos(player1,X,Y,Z); SetPlayerPos(player1,X,Y,Z-5); SetCameraBehindPlayer(player1); }
  3663. else if(strcmp(tmp2,"+x",true) == 0) {
  3664. GetPlayerPos(player1,X,Y,Z); SetPlayerPos(player1,X+5,Y,Z); }
  3665. else if(strcmp(tmp2,"-x",true) == 0) {
  3666. GetPlayerPos(player1,X,Y,Z); SetPlayerPos(player1,X-5,Y,Z); }
  3667. else if(strcmp(tmp2,"+y",true) == 0) {
  3668. GetPlayerPos(player1,X,Y,Z); SetPlayerPos(player1,X,Y+5,Z); }
  3669. else if(strcmp(tmp2,"-y",true) == 0) {
  3670. GetPlayerPos(player1,X,Y,Z); SetPlayerPos(player1,X,Y-5,Z); }
  3671. else SendClientMessage(playerid,red,"USAGE: /moveplayer [up / down / +x / -x / +y / -y / off]");
  3672. return 1;
  3673. } else return SendClientMessage(playerid,red,"ERRO: Jogador não conectado");
  3674. } else return SendClientMessage(playerid,red,"ERRO: Você não tem nível alto suficiente para usar este comando");
  3675. }
  3676.  
  3677. //===================[ Fake ]===================================================
  3678.  
  3679. #if defined ENABLE_FAKE_CMDS
  3680. dcmd_fakedeath(playerid,params[]) {
  3681. if(PlayerInfo[playerid][Level] >= 4) {
  3682. new tmp[256], tmp2[256], tmp3[256], Index; tmp = strtok(params,Index), tmp2 = strtok(params,Index), tmp3 = strtok(params,Index);
  3683. if(!strlen(tmp) || !strlen(tmp2) || !strlen(tmp3)) return SendClientMessage(playerid, red, "USAGE: /fakedeath [killer] [killee] [weapon]");
  3684. new killer = strval(tmp), killee = strval(tmp2), weap = strval(tmp3);
  3685. if(!IsValidWeapon(weap)) return SendClientMessage(playerid,red,"ERROR: Invalid Weapon ID");
  3686. if(PlayerInfo[killer][Level] == ServerInfo[MaxAdminLevel] && PlayerInfo[playerid][Level] != ServerInfo[MaxAdminLevel]) return SendClientMessage(playerid,red,"ERROR: You cannot use this command on this admin");
  3687. if(PlayerInfo[killee][Level] == ServerInfo[MaxAdminLevel] && PlayerInfo[playerid][Level] != ServerInfo[MaxAdminLevel]) return SendClientMessage(playerid,red,"ERROR: You cannot use this command on this admin");
  3688.  
  3689. if(IsPlayerConnected(killer) && killer != INVALID_PLAYER_ID) {
  3690. if(IsPlayerConnected(killee) && killee != INVALID_PLAYER_ID) {
  3691. CMDMessageToAdmins(playerid,"FAKEDEATH");
  3692. SendDeathMessage(killer,killee,weap);
  3693. return SendClientMessage(playerid,blue,"Fake death message sent");
  3694. } else return SendClientMessage(playerid,red,"ERROR: Killee is not connected");
  3695. } else return SendClientMessage(playerid,red,"ERROR: Killer is not connected");
  3696. } else return SendClientMessage(playerid,red,"ERRO: Você não tem nível alto suficiente para usar este comando");
  3697. }
  3698.  
  3699. dcmd_fakechat(playerid,params[]) {
  3700. if(PlayerInfo[playerid][Level] >= 4) {
  3701. new tmp[256], tmp2[256], Index; tmp = strtok(params,Index), tmp2 = strtok(params,Index);
  3702. if(!strlen(tmp) || !strlen(tmp2)) return SendClientMessage(playerid, red, "USAGE: /fakechat [playerid] [text]");
  3703. new player1 = strval(tmp);
  3704. if(PlayerInfo[player1][Level] == ServerInfo[MaxAdminLevel] && PlayerInfo[playerid][Level] != ServerInfo[MaxAdminLevel]) return SendClientMessage(playerid,red,"ERROR: You cannot use this command on this admin");
  3705. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID) {
  3706. CMDMessageToAdmins(playerid,"FAKECHAT");
  3707. SendPlayerMessageToAll(player1, params[strlen(tmp)+1]);
  3708. return SendClientMessage(playerid,blue,"Fake message sent");
  3709. } else return SendClientMessage(playerid,red,"ERRO: Jogador não conectado");
  3710. } else return SendClientMessage(playerid,red,"ERRO: Você não tem nível alto suficiente para usar este comando");
  3711. }
  3712.  
  3713. dcmd_fakecmd(playerid,params[]) {
  3714. if(PlayerInfo[playerid][Level] >= 5) {
  3715. new tmp[256], tmp2[256], Index; tmp = strtok(params,Index), tmp2 = strtok(params,Index);
  3716. if(!strlen(tmp) || !strlen(tmp2)) return SendClientMessage(playerid, red, "USAGE: /fakecmd [playerid] [command]");
  3717. new player1 = strval(tmp);
  3718. if(PlayerInfo[player1][Level] == ServerInfo[MaxAdminLevel] && PlayerInfo[playerid][Level] != ServerInfo[MaxAdminLevel]) return SendClientMessage(playerid,red,"ERROR: You cannot use this command on this admin");
  3719. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID) {
  3720. CMDMessageToAdmins(playerid,"FAKECMD");
  3721. CallRemoteFunction("OnPlayerCommandText", "is", player1, tmp2);
  3722. return SendClientMessage(playerid,blue,"Fake command sent");
  3723. } else return SendClientMessage(playerid,red,"ERRO: Jogador não conectado");
  3724. } else return SendClientMessage(playerid,red,"ERRO: Você não tem nível alto suficiente para usar este comando");
  3725. }
  3726. #endif
  3727.  
  3728. //----------------------------------------------------------------------------//
  3729. // /all Commands //
  3730. //----------------------------------------------------------------------------//
  3731.  
  3732. dcmd_spawnall(playerid,params[]) {
  3733. #pragma unused params
  3734. if(PlayerInfo[playerid][Level] >= 5) {
  3735. CMDMessageToAdmins(playerid,"SPAWNAll");
  3736. for(new i = 0; i < MAX_PLAYERS; i++) {
  3737. if(IsPlayerConnected(i) && (i != playerid) && i != ServerInfo[MaxAdminLevel]) {
  3738. PlayerPlaySound(i,1057,0.0,0.0,0.0); SetPlayerPos(i, 0.0, 0.0, 0.0); SpawnPlayer(i);
  3739. }
  3740. }
  3741. new string[128]; format(string,sizeof(string),"Administrator \"%s\" has spawned all players", pName(playerid) );
  3742. return SendClientMessageToAll(blue, string);
  3743. } else return SendClientMessage(playerid,red,"ERRO: Você precisa ter nível 4 para usar este comando");
  3744. }
  3745.  
  3746. dcmd_mutartodos(playerid,params[]) {
  3747. #pragma unused params
  3748. if(PlayerInfo[playerid][Level] >= 5) {
  3749. CMDMessageToAdmins(playerid,"MUTEALL");
  3750. for(new i = 0; i < MAX_PLAYERS; i++) {
  3751. if(IsPlayerConnected(i) && (i != playerid) && i != ServerInfo[MaxAdminLevel]) {
  3752. PlayerPlaySound(i,1057,0.0,0.0,0.0); PlayerInfo[i][Muted] = 1; PlayerInfo[i][MuteWarnings] = 0;
  3753. }
  3754. }
  3755. new string[128]; format(string,sizeof(string),"Administrator \"%s\" has muted all players", pName(playerid) );
  3756. return SendClientMessageToAll(blue, string);
  3757. } else return SendClientMessage(playerid,red,"ERRO: Você precisa ter nível 4 para usar este comando");
  3758. }
  3759.  
  3760. dcmd_desmutartodos(playerid,params[]) {
  3761. #pragma unused params
  3762. if(PlayerInfo[playerid][Level] >= 5) {
  3763. CMDMessageToAdmins(playerid,"UNMUTEAll");
  3764. for(new i = 0; i < MAX_PLAYERS; i++) {
  3765. if(IsPlayerConnected(i) && (i != playerid) && i != ServerInfo[MaxAdminLevel]) {
  3766. PlayerPlaySound(i,1057,0.0,0.0,0.0); PlayerInfo[i][Muted] = 0; PlayerInfo[i][MuteWarnings] = 0;
  3767. }
  3768. }
  3769. new string[128]; format(string,sizeof(string),"Administrator \"%s\" has unmuted all players", pName(playerid) );
  3770. return SendClientMessageToAll(blue, string);
  3771. } else return SendClientMessage(playerid,red,"ERRO: Você precisa ter nível 4 para usar este comando");
  3772. }
  3773.  
  3774. dcmd_trazertodos(playerid,params[]) {
  3775. #pragma unused params
  3776. if(PlayerInfo[playerid][Level] >= 5) {
  3777. CMDMessageToAdmins(playerid,"TRAZERTODOS");
  3778. new Float:x,Float:y,Float:z, interior = GetPlayerInterior(playerid);
  3779. GetPlayerPos(playerid,x,y,z);
  3780. for(new i = 0; i < MAX_PLAYERS; i++) {
  3781. if(IsPlayerConnected(i) && (i != playerid) && i != ServerInfo[MaxAdminLevel]) {
  3782. PlayerPlaySound(i,1057,0.0,0.0,0.0); SetPlayerPos(i,x+(playerid/4)+1,y+(playerid/4),z); SetPlayerInterior(i,interior);
  3783. }
  3784. }
  3785. new string[128]; format(string,sizeof(string),"Administrator \"%s\" has teleported all players", pName(playerid) );
  3786. return SendClientMessageToAll(blue, string);
  3787. } else return SendClientMessage(playerid,red,"ERRO: Você precisa ter nível 4 para usar este comando");
  3788. }
  3789.  
  3790. dcmd_vidat(playerid,params[]) {
  3791. #pragma unused params
  3792. if(PlayerInfo[playerid][Level] >= 3) {
  3793. CMDMessageToAdmins(playerid,"VIDAT");
  3794. for(new i = 0; i < MAX_PLAYERS; i++) {
  3795. if(IsPlayerConnected(i)) {
  3796. PlayerPlaySound(i,1057,0.0,0.0,0.0); SetPlayerHealth(i,100.0);
  3797. }
  3798. }
  3799. new string[128]; format(string,sizeof(string),"Administrador \"%s\" deu vida para todos", pName(playerid) );
  3800. return SendClientMessageToAll(blue, string);
  3801. } else return SendClientMessage(playerid,red,"ERRO: Você precisa ter nível 3 para usar este comando");
  3802. }
  3803.  
  3804. dcmd_coletet(playerid,params[]) {
  3805. #pragma unused params
  3806. if(PlayerInfo[playerid][Level] >= 3) {
  3807. CMDMessageToAdmins(playerid,"ARMOURALL");
  3808. for(new i = 0; i < MAX_PLAYERS; i++) {
  3809. if(IsPlayerConnected(i)) {
  3810. PlayerPlaySound(i,1057,0.0,0.0,0.0); SetPlayerArmour(i,100.0);
  3811. }
  3812. }
  3813. new string[128]; format(string,sizeof(string),"Administrador \"%s\" deu colete para todos", pName(playerid) );
  3814. return SendClientMessageToAll(blue, string);
  3815. } else return SendClientMessage(playerid,red,"ERRO: Você precisa ter nível 3 para usar este comando");
  3816. }
  3817.  
  3818. dcmd_matartodos(playerid,params[]) {
  3819. #pragma unused params
  3820. if(PlayerInfo[playerid][Level] >= 5) {
  3821. CMDMessageToAdmins(playerid,"KILLALL");
  3822. for(new i = 0; i < MAX_PLAYERS; i++) {
  3823. if(IsPlayerConnected(i) && (i != playerid) && i != ServerInfo[MaxAdminLevel]) {
  3824. PlayerPlaySound(i,1057,0.0,0.0,0.0); SetPlayerHealth(i,0.0);
  3825. }
  3826. }
  3827. new string[128]; format(string,sizeof(string),"Administrator \"%s\" has killed all players", pName(playerid) );
  3828. return SendClientMessageToAll(blue, string);
  3829. } else return SendClientMessage(playerid,red,"ERRO: Você precisa ter nível 4 para usar este comando");
  3830. }
  3831.  
  3832. dcmd_congelart(playerid,params[]) {
  3833. #pragma unused params
  3834. if(PlayerInfo[playerid][Level] >= 5) {
  3835. CMDMessageToAdmins(playerid,"FREEZEALL");
  3836. for(new i = 0; i < MAX_PLAYERS; i++) {
  3837. if(IsPlayerConnected(i) && (i != playerid) && i != ServerInfo[MaxAdminLevel]) {
  3838. PlayerPlaySound(i,1057,0.0,0.0,0.0); TogglePlayerControllable(playerid,false); PlayerInfo[i][Frozen] = 1;
  3839. }
  3840. }
  3841. new string[128]; format(string,sizeof(string),"Administrator \"%s\" has frozen all players", pName(playerid) );
  3842. return SendClientMessageToAll(blue, string);
  3843. } else return SendClientMessage(playerid,red,"ERRO: Você precisa ter nível 4 para usar este comando");
  3844. }
  3845.  
  3846. dcmd_descongelart(playerid,params[]) {
  3847. #pragma unused params
  3848. if(PlayerInfo[playerid][Level] >= 5) {
  3849. CMDMessageToAdmins(playerid,"UNFREEZEALL");
  3850. for(new i = 0; i < MAX_PLAYERS; i++) {
  3851. if(IsPlayerConnected(i) && (i != playerid) && i != ServerInfo[MaxAdminLevel]) {
  3852. PlayerPlaySound(i,1057,0.0,0.0,0.0); TogglePlayerControllable(playerid,true); PlayerInfo[i][Frozen] = 0;
  3853. }
  3854. }
  3855. new string[128]; format(string,sizeof(string),"Administrator \"%s\" has unfrozen all players", pName(playerid) );
  3856. return SendClientMessageToAll(blue, string);
  3857. } else return SendClientMessage(playerid,red,"ERRO: Você precisa ter nível 4 para usar este comando");
  3858. }
  3859.  
  3860. dcmd_kickartodos(playerid,params[]) {
  3861. #pragma unused params
  3862. if(PlayerInfo[playerid][Level] >= 5) {
  3863. CMDMessageToAdmins(playerid,"KICKARTODOS");
  3864. for(new i = 0; i < MAX_PLAYERS; i++) {
  3865. if(IsPlayerConnected(i) && (i != playerid) && i != ServerInfo[MaxAdminLevel]) {
  3866. PlayerPlaySound(i,1057,0.0,0.0,0.0); Kick(i);
  3867. }
  3868. }
  3869. new string[128]; format(string,sizeof(string),"Administrator \"%s\" has kicked all players", pName(playerid) );
  3870. SaveToFile("KickLog",string);
  3871. return SendClientMessageToAll(blue, string);
  3872. } else return SendClientMessage(playerid,red,"ERRO: Você precisa ter nível 4 para usar este comando");
  3873. }
  3874.  
  3875. dcmd_tapat(playerid,params[]) {
  3876. #pragma unused params
  3877. if(PlayerInfo[playerid][Level] >= 5) {
  3878. CMDMessageToAdmins(playerid,"TAPAT");
  3879. new Float:x, Float:y, Float:z;
  3880. for(new i = 0; i < MAX_PLAYERS; i++) {
  3881. if(IsPlayerConnected(i) && (i != playerid) && i != ServerInfo[MaxAdminLevel]) {
  3882. PlayerPlaySound(i,1190,0.0,0.0,0.0); GetPlayerPos(i,x,y,z); SetPlayerPos(i,x,y,z+4);
  3883. }
  3884. }
  3885. new string[128]; format(string,sizeof(string),"Administrador \"%s\" deu um tapa em todos", pName(playerid) );
  3886. return SendClientMessageToAll(blue, string);
  3887. } else return SendClientMessage(playerid,red,"ERRO: Você precisa ter nível 4 para usar este comando");
  3888. }
  3889.  
  3890. dcmd_explodirt(playerid,params[]) {
  3891. #pragma unused params
  3892. if(PlayerInfo[playerid][Level] >= 5) {
  3893. CMDMessageToAdmins(playerid,"EXPLODEALL");
  3894. new Float:x, Float:y, Float:z;
  3895. for(new i = 0; i < MAX_PLAYERS; i++) {
  3896. if(IsPlayerConnected(i) && (i != playerid) && i != ServerInfo[MaxAdminLevel]) {
  3897. PlayerPlaySound(i,1190,0.0,0.0,0.0); GetPlayerPos(i,x,y,z); CreateExplosion(x, y , z, 7, 10.0);
  3898. }
  3899. }
  3900. new string[128]; format(string,sizeof(string),"Administrator \"%s\" has exploded all players", pName(playerid) );
  3901. return SendClientMessageToAll(blue, string);
  3902. } else return SendClientMessage(playerid,red,"ERRO: Você precisa ter nível 4 para usar este comando");
  3903. }
  3904.  
  3905. dcmd_desarmart(playerid,params[]) {
  3906. #pragma unused params
  3907. if(PlayerInfo[playerid][Level] >= 5) {
  3908. CMDMessageToAdmins(playerid,"DESARMART");
  3909. for(new i = 0; i < MAX_PLAYERS; i++) {
  3910. if(IsPlayerConnected(i) && (i != playerid) && i != ServerInfo[MaxAdminLevel]) {
  3911. PlayerPlaySound(i,1057,0.0,0.0,0.0); ResetPlayerWeapons(i);
  3912. }
  3913. }
  3914. new string[128]; format(string,sizeof(string),"Administrator \"%s\" desarmou todos os players", pName(playerid) );
  3915. return SendClientMessageToAll(blue, string);
  3916. } else return SendClientMessage(playerid,red,"ERRO: Você precisa ter nível 4 para usar este comando");
  3917. }
  3918.  
  3919. dcmd_ejetart(playerid,params[]) {
  3920. #pragma unused params
  3921. if(PlayerInfo[playerid][Level] >= 4) {
  3922. CMDMessageToAdmins(playerid,"EJECTALL");
  3923. new Float:x, Float:y, Float:z;
  3924. for(new i = 0; i < MAX_PLAYERS; i++) {
  3925. if(IsPlayerConnected(i) && (i != playerid) && i != ServerInfo[MaxAdminLevel]) {
  3926. if(IsPlayerInAnyVehicle(i)) {
  3927. PlayerPlaySound(i,1057,0.0,0.0,0.0); GetPlayerPos(i,x,y,z); SetPlayerPos(i,x,y,z+3);
  3928. }
  3929. }
  3930. }
  3931. new string[128]; format(string,sizeof(string),"Administrator \"%s\" has ejected all players", pName(playerid) );
  3932. return SendClientMessageToAll(blue, string);
  3933. } else return SendClientMessage(playerid,red,"ERRO: Você precisa ter nível 4 para usar este comando");
  3934. }
  3935.  
  3936. //-------------==== Set All Commands ====-------------//
  3937.  
  3938. dcmd_setallskin(playerid,params[]) {
  3939. if(PlayerInfo[playerid][Level] >= 3) {
  3940. if(!strlen(params)) return SendClientMessage(playerid, red, "USAGE: /setallskin [skinid]");
  3941. new var = strval(params), string[128];
  3942. if(!IsValidSkin(var)) return SendClientMessage(playerid, red, "ERROR: Invaild Skin ID");
  3943. CMDMessageToAdmins(playerid,"SETALLSKIN");
  3944. for(new i = 0; i < MAX_PLAYERS; i++) {
  3945. if(IsPlayerConnected(i)) {
  3946. PlayerPlaySound(i,1057,0.0,0.0,0.0);
  3947. SetPlayerSkin(i,var);
  3948. }
  3949. }
  3950. format(string,sizeof(string),"Administrator \"%s\" has set all players skin to '%d'", pName(playerid), var );
  3951. return SendClientMessageToAll(blue, string);
  3952. } else return SendClientMessage(playerid,red,"ERRO: Você não tem nível alto suficiente para usar este comando");
  3953. }
  3954.  
  3955. dcmd_setallwanted(playerid,params[]) {
  3956. if(PlayerInfo[playerid][Level] >= 3) {
  3957. if(!strlen(params)) return SendClientMessage(playerid, red, "USAGE: /setallwanted [wanted level]");
  3958. new var = strval(params), string[128];
  3959. CMDMessageToAdmins(playerid,"SETALLWANTED");
  3960. for(new i = 0; i < MAX_PLAYERS; i++) {
  3961. if(IsPlayerConnected(i)) {
  3962. PlayerPlaySound(i,1057,0.0,0.0,0.0);
  3963. SetPlayerWantedLevel(i,var);
  3964. }
  3965. }
  3966. format(string,sizeof(string),"Administrator \"%s\" has set all players wanted level to '%d'", pName(playerid), var );
  3967. return SendClientMessageToAll(blue, string);
  3968. } else return SendClientMessage(playerid,red,"ERRO: Você não tem nível alto suficiente para usar este comando");
  3969. }
  3970.  
  3971. dcmd_setallweather(playerid,params[]) {
  3972. if(PlayerInfo[playerid][Level] >= 3) {
  3973. if(!strlen(params)) return SendClientMessage(playerid, red, "USAGE: /setallweather [weather ID]");
  3974. new var = strval(params), string[128];
  3975. CMDMessageToAdmins(playerid,"SETALLWEATHER");
  3976. for(new i = 0; i < MAX_PLAYERS; i++) {
  3977. if(IsPlayerConnected(i)) {
  3978. PlayerPlaySound(i,1057,0.0,0.0,0.0);
  3979. SetPlayerWeather(i, var);
  3980. }
  3981. }
  3982. format(string,sizeof(string),"Administrator \"%s\" has set all players weather to '%d'", pName(playerid), var );
  3983. return SendClientMessageToAll(blue, string);
  3984. } else return SendClientMessage(playerid,red,"ERRO: Você não tem nível alto suficiente para usar este comando");
  3985. }
  3986.  
  3987. dcmd_setalltime(playerid,params[]) {
  3988. if(PlayerInfo[playerid][Level] >= 3) {
  3989. if(!strlen(params)) return SendClientMessage(playerid, red, "USAGE: /setalltime [hour]");
  3990. new var = strval(params), string[128];
  3991. if(var > 24) return SendClientMessage(playerid, red, "ERROR: Invalid hour");
  3992. CMDMessageToAdmins(playerid,"SETALLTIME");
  3993. for(new i = 0; i < MAX_PLAYERS; i++) {
  3994. if(IsPlayerConnected(i)) {
  3995. PlayerPlaySound(i,1057,0.0,0.0,0.0);
  3996. SetPlayerTime(i, var, 0);
  3997. }
  3998. }
  3999. format(string,sizeof(string),"Administrator \"%s\" has set all players time to '%d:00'", pName(playerid), var );
  4000. return SendClientMessageToAll(blue, string);
  4001. } else return SendClientMessage(playerid,red,"ERRO: Você não tem nível alto suficiente para usar este comando");
  4002. }
  4003.  
  4004. dcmd_setallworld(playerid,params[]) {
  4005. if(PlayerInfo[playerid][Level] >= 3) {
  4006. if(!strlen(params)) return SendClientMessage(playerid, red, "USAGE: /setallworld [virtual world]");
  4007. new var = strval(params), string[128];
  4008. CMDMessageToAdmins(playerid,"SETALLWORLD");
  4009. for(new i = 0; i < MAX_PLAYERS; i++) {
  4010. if(IsPlayerConnected(i)) {
  4011. PlayerPlaySound(i,1057,0.0,0.0,0.0);
  4012. SetPlayerVirtualWorld(i,var);
  4013. }
  4014. }
  4015. format(string,sizeof(string),"Administrator \"%s\" has set all players virtual worlds to '%d'", pName(playerid), var );
  4016. return SendClientMessageToAll(blue, string);
  4017. } else return SendClientMessage(playerid,red,"ERRO: Você não tem nível alto suficiente para usar este comando");
  4018. }
  4019.  
  4020. dcmd_setallscore(playerid,params[]) {
  4021. if(PlayerInfo[playerid][Level] >= 3) {
  4022. if(!strlen(params)) return SendClientMessage(playerid, red, "USAGE: /setallscore [score]");
  4023. new var = strval(params), string[128];
  4024. CMDMessageToAdmins(playerid,"SETALLSCORE");
  4025. for(new i = 0; i < MAX_PLAYERS; i++) {
  4026. if(IsPlayerConnected(i)) {
  4027. PlayerPlaySound(i,1057,0.0,0.0,0.0);
  4028. SetPlayerScore(i,var);
  4029. }
  4030. }
  4031. format(string,sizeof(string),"Administrator \"%s\" has set all players scores to '%d'", pName(playerid), var );
  4032. return SendClientMessageToAll(blue, string);
  4033. } else return SendClientMessage(playerid,red,"ERRO: Você não tem nível alto suficiente para usar este comando");
  4034. }
  4035.  
  4036. dcmd_setallcash(playerid,params[]) {
  4037. if(PlayerInfo[playerid][Level] >= 3) {
  4038. if(!strlen(params)) return SendClientMessage(playerid, red, "USAGE: /setallcash [Amount]");
  4039. new var = strval(params), string[128];
  4040. CMDMessageToAdmins(playerid,"SETALLCASH");
  4041. for(new i = 0; i < MAX_PLAYERS; i++) {
  4042. if(IsPlayerConnected(i)) {
  4043. PlayerPlaySound(i,1057,0.0,0.0,0.0);
  4044. ResetPlayerMoney(i);
  4045. GivePlayerMoney(i,var);
  4046. }
  4047. }
  4048. format(string,sizeof(string),"Administrator \"%s\" has set all players cash to '$%d'", pName(playerid), var );
  4049. return SendClientMessageToAll(blue, string);
  4050. } else return SendClientMessage(playerid,red,"ERRO: Você não tem nível alto suficiente para usar este comando");
  4051. }
  4052.  
  4053. dcmd_giveallcash(playerid,params[]) {
  4054. if(PlayerInfo[playerid][Level] >= 3) {
  4055. if(!strlen(params)) return SendClientMessage(playerid, red, "USAGE: /giveallcash [Amount]");
  4056. new var = strval(params), string[128];
  4057. CMDMessageToAdmins(playerid,"GIVEALLCASH");
  4058. for(new i = 0; i < MAX_PLAYERS; i++) {
  4059. if(IsPlayerConnected(i)) {
  4060. PlayerPlaySound(i,1057,0.0,0.0,0.0);
  4061. GivePlayerMoney(i,var);
  4062. }
  4063. }
  4064. format(string,sizeof(string),"Administrator \"%s\" has given all players '$%d'", pName(playerid), var );
  4065. return SendClientMessageToAll(blue, string);
  4066. } else return SendClientMessage(playerid,red,"ERRO: Você não tem nível alto suficiente para usar este comando");
  4067. }
  4068.  
  4069. dcmd_giveallweapon(playerid,params[]) {
  4070. if(PlayerInfo[playerid][Level] >= 3) {
  4071. new tmp[256], tmp2[256], Index, ammo, weap, WeapName[32], string[128]; tmp = strtok(params,Index), tmp2 = strtok(params,Index);
  4072. if(!strlen(tmp) ) return SendClientMessage(playerid, red, "USAGE: /giveallweapon [weapon id/weapon name] [ammo]");
  4073. if(!strlen(tmp2) || !IsNumeric(tmp2) || strval(tmp2) <= 0 || strval(tmp2) > 99999) ammo = 500;
  4074. if(!IsNumeric(tmp)) weap = GetWeaponIDFromName(tmp); else weap = strval(tmp);
  4075. if(!IsValidWeapon(weap)) return SendClientMessage(playerid,red,"ERROR: Invalid weapon ID");
  4076. CMDMessageToAdmins(playerid,"GIVEALLWEAPON");
  4077. for(new i = 0; i < MAX_PLAYERS; i++) {
  4078. if(IsPlayerConnected(i)) {
  4079. PlayerPlaySound(i,1057,0.0,0.0,0.0);
  4080. GivePlayerWeapon(i,weap,ammo);
  4081. }
  4082. }
  4083. GetWeaponName(weap, WeapName, sizeof(WeapName) );
  4084. format(string,sizeof(string),"Administrator \"%s\" has given all players a %s (%d) with %d rounds of ammo", pName(playerid), WeapName, weap, ammo);
  4085. return SendClientMessageToAll(blue, string);
  4086. } else return SendClientMessage(playerid,red,"ERRO: Você não tem nível alto suficiente para usar este comando");
  4087. }
  4088.  
  4089.  
  4090. //================================[ Menu Commands ]=============================
  4091.  
  4092. #if defined USE_MENUS
  4093.  
  4094. dcmd_menu(playerid,params[]) {
  4095. #pragma unused params
  4096. if(PlayerInfo[playerid][Level] >= 5) {
  4097. if(IsPlayerInAnyVehicle(playerid)) {
  4098. TogglePlayerControllable(playerid,false); return ShowMenuForPlayer(LMainMenu,playerid);
  4099. } else return ShowMenuForPlayer(LMainMenu,playerid);
  4100. } else return SendClientMessage(playerid,red,"ERRO: Você não tem nível alto suficiente para usar este comando");
  4101. }
  4102. dcmd_tele(playerid,params[]) {
  4103. #pragma unused params
  4104. if(PlayerInfo[playerid][Level] >= 2) {
  4105. if(IsPlayerInAnyVehicle(playerid)) {
  4106. TogglePlayerControllable(playerid,false); return ShowMenuForPlayer(LTele,playerid);
  4107. } else return ShowMenuForPlayer(LTele,playerid);
  4108. } else return SendClientMessage(playerid,red,"ERRO: Você não tem nível alto suficiente para usar este comando");
  4109. }
  4110. dcmd_lweather(playerid,params[]) {
  4111. #pragma unused params
  4112. if(PlayerInfo[playerid][Level] >= 3) {
  4113. if(IsPlayerInAnyVehicle(playerid)) {
  4114. TogglePlayerControllable(playerid,false); return ShowMenuForPlayer(LWeather,playerid);
  4115. } else return ShowMenuForPlayer(LWeather,playerid);
  4116. } else return SendClientMessage(playerid,red,"ERRO: Você não tem nível alto suficiente para usar este comando");
  4117. }
  4118. dcmd_ltime(playerid,params[]) {
  4119. #pragma unused params
  4120. if(PlayerInfo[playerid][Level] >= 3) {
  4121. if(IsPlayerInAnyVehicle(playerid)) {
  4122. TogglePlayerControllable(playerid,false); return ShowMenuForPlayer(LTime,playerid);
  4123. } else return ShowMenuForPlayer(LTime,playerid);
  4124. } else return SendClientMessage(playerid,red,"ERRO: Você não tem nível alto suficiente para usar este comando");
  4125. }
  4126. dcmd_veh(playerid,params[]) {
  4127. #pragma unused params
  4128. if(PlayerInfo[playerid][Level] >= 5) {
  4129. if(IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid,red,"ERROR: You already have a car.");
  4130. else { ShowMenuForPlayer(LCars,playerid); return TogglePlayerControllable(playerid,false); }
  4131. } else return SendClientMessage(playerid,red,"ERRO: Você não tem nível alto suficiente para usar este comando");
  4132. }
  4133. dcmd_ltmenu(playerid,params[]) {
  4134. #pragma unused params
  4135. if(PlayerInfo[playerid][Level] >= 2) {
  4136. if(IsPlayerInAnyVehicle(playerid)) {
  4137. new LVehicleID = GetPlayerVehicleID(playerid), LModel = GetVehicleModel(LVehicleID);
  4138. 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!"); }
  4139. TogglePlayerControllable(playerid,false); return ShowMenuForPlayer(LTuneMenu,playerid);
  4140. } else return SendClientMessage(playerid,red,"ERROR: You do not have a vehicle to tune");
  4141. } else return SendClientMessage(playerid,red,"ERRO: Você não tem nível alto suficiente para usar este comando");
  4142. }
  4143. dcmd_lweapons(playerid,params[]) {
  4144. #pragma unused params
  4145. if(PlayerInfo[playerid][Level] >= 3) {
  4146. if(IsPlayerInAnyVehicle(playerid)) {
  4147. TogglePlayerControllable(playerid,false); return ShowMenuForPlayer(XWeapons,playerid);
  4148. } else return ShowMenuForPlayer(XWeapons,playerid);
  4149. } else return SendClientMessage(playerid,red,"ERRO: Você não tem nível alto suficiente para usar este comando");
  4150. }
  4151. dcmd_lvehicle(playerid,params[]) {
  4152. #pragma unused params
  4153. if(PlayerInfo[playerid][Level] >= 2) {
  4154. if(IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid,red,"ERROR: You already have a car.");
  4155. else { ShowMenuForPlayer(LVehicles,playerid); return TogglePlayerControllable(playerid,false); }
  4156. } else return SendClientMessage(playerid,red,"ERRO: Você não tem nível alto suficiente para usar este comando");
  4157. }
  4158.  
  4159. #endif
  4160.  
  4161. //----------------------===== Place & Skin Saving =====-------------------------
  4162. dcmd_gotoplace(playerid,params[]) {
  4163. #pragma unused params
  4164. if(PlayerInfo[playerid][LoggedIn] == 1 && PlayerInfo[playerid][Level] >= 1) {
  4165. if (dUserINT(PlayerName2(playerid)).("x")!=0) {
  4166. PutAtPos(playerid);
  4167. SetPlayerVirtualWorld(playerid, (dUserINT(PlayerName2(playerid)).("world")) );
  4168. return SendClientMessage(playerid,yellow,"You have successfully teleported to your saved place");
  4169. } else return SendClientMessage(playerid,red,"ERROR: You must save a place before you can teleport to it");
  4170. } else return SendClientMessage(playerid,red, "ERRO: Você deve ser um administrador para usar este comando");
  4171. }
  4172.  
  4173. dcmd_salvarlugar(playerid,params[]) {
  4174. #pragma unused params
  4175. if(PlayerInfo[playerid][LoggedIn] == 1 && PlayerInfo[playerid][Level] >= 1) {
  4176. new Float:x,Float:y,Float:z, interior;
  4177. GetPlayerPos(playerid,x,y,z); interior = GetPlayerInterior(playerid);
  4178. dUserSetINT(PlayerName2(playerid)).("x",floatround(x));
  4179. dUserSetINT(PlayerName2(playerid)).("y",floatround(y));
  4180. dUserSetINT(PlayerName2(playerid)).("z",floatround(z));
  4181. dUserSetINT(PlayerName2(playerid)).("interior",interior);
  4182. dUserSetINT(PlayerName2(playerid)).("world", (GetPlayerVirtualWorld(playerid)) );
  4183. return SendClientMessage(playerid,yellow,"You have successfully saved these coordinates");
  4184. } else return SendClientMessage(playerid,red, "ERRO: Você deve ser um administrador para usar este comando");
  4185. }
  4186.  
  4187. dcmd_saveskin(playerid,params[]) {
  4188. if(PlayerInfo[playerid][Level] >= 1 && PlayerInfo[playerid][LoggedIn] == 1) {
  4189. if(!strlen(params)) return SendClientMessage(playerid, red, "USAGE: /saveskin [skinid]");
  4190. new string[128], SkinID = strval(params);
  4191. 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))
  4192. {
  4193. dUserSetINT(PlayerName2(playerid)).("FavSkin",SkinID);
  4194. format(string, sizeof(string), "You have successfully saved this skin (ID %d)",SkinID);
  4195. SendClientMessage(playerid,yellow,string);
  4196. SendClientMessage(playerid,yellow,"Type: /useskin to use this skin when you spawn or /dontuseskin to stop using skin");
  4197. dUserSetINT(PlayerName2(playerid)).("UseSkin",1);
  4198. return CMDMessageToAdmins(playerid,"SAVESKIN");
  4199. } else return SendClientMessage(playerid, green, "ERROR: Invalid Skin ID");
  4200. } else return SendClientMessage(playerid,red,"ERRO: Você deve ser um administrador para usar este comando");
  4201. }
  4202.  
  4203. dcmd_useskin(playerid,params[]) {
  4204. #pragma unused params
  4205. if(PlayerInfo[playerid][Level] >= 1 && PlayerInfo[playerid][LoggedIn] == 1) {
  4206. dUserSetINT(PlayerName2(playerid)).("UseSkin",1);
  4207. SetPlayerSkin(playerid,dUserINT(PlayerName2(playerid)).("FavSkin"));
  4208. return SendClientMessage(playerid,yellow,"Skin now in use");
  4209. } else return SendClientMessage(playerid,red,"ERRO: Você deve ser um administrador para usar este comando");
  4210. }
  4211.  
  4212. dcmd_dontuseskin(playerid,params[]) {
  4213. #pragma unused params
  4214. if(PlayerInfo[playerid][Level] >= 1 && PlayerInfo[playerid][LoggedIn] == 1) {
  4215. dUserSetINT(PlayerName2(playerid)).("UseSkin",0);
  4216. return SendClientMessage(playerid,yellow,"Skin will no longer be used");
  4217. } else return SendClientMessage(playerid,red,"ERRO: Você deve ser um administrador para usar este comando");
  4218. }
  4219.  
  4220. //====================== [REGISTER & LOGIN] ==================================
  4221. #if defined USE_AREGISTER
  4222.  
  4223. dcmd_aregister(playerid,params[])
  4224. {
  4225. if (PlayerInfo[playerid][LoggedIn] == 1) return SendClientMessage(playerid,red,"ACCOUNT: You are already registered and logged in.");
  4226. if (udb_Exists(PlayerName2(playerid))) return SendClientMessage(playerid,red,"ACCOUNT: This account already exists, please use '/alogin [password]'.");
  4227. if (strlen(params) == 0) return SendClientMessage(playerid,red,"ACCOUNT: Correct usage: '/aregister [password]'");
  4228. if (strlen(params) < 4 || strlen(params) > 20) return SendClientMessage(playerid,red,"ACCOUNT: Password length must be greater than three characters");
  4229. if (udb_Create(PlayerName2(playerid),params))
  4230. {
  4231. new file[256],name[MAX_PLAYER_NAME], tmp3[100];
  4232. new strdate[20], year,month,day; getdate(year, month, day);
  4233. GetPlayerName(playerid,name,sizeof(name)); format(file,sizeof(file),"/ladmin/users/%s.sav",udb_encode(name));
  4234. GetPlayerIp(playerid,tmp3,100); dini_Set(file,"ip",tmp3);
  4235. // dini_Set(file,"password",params);
  4236. dUserSetINT(PlayerName2(playerid)).("registered",1);
  4237. format(strdate, sizeof(strdate), "%d/%d/%d",day,month,year);
  4238. dini_Set(file,"RegisteredDate",strdate);
  4239. dUserSetINT(PlayerName2(playerid)).("loggedin",1);
  4240. dUserSetINT(PlayerName2(playerid)).("banned",0);
  4241. dUserSetINT(PlayerName2(playerid)).("level",0);
  4242. dUserSetINT(PlayerName2(playerid)).("LastOn",0);
  4243. dUserSetINT(PlayerName2(playerid)).("money",0);
  4244. dUserSetINT(PlayerName2(playerid)).("kills",0);
  4245. dUserSetINT(PlayerName2(playerid)).("deaths",0);
  4246. PlayerInfo[playerid][LoggedIn] = 1;
  4247. PlayerInfo[playerid][Registered] = 1;
  4248. SendClientMessage(playerid, green, "ACCOUNT: You are now registered, and have been automaticaly logged in");
  4249. PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
  4250. return 1;
  4251. }
  4252. return 1;
  4253. }
  4254.  
  4255. dcmd_alogin(playerid,params[])
  4256. {
  4257. if (PlayerInfo[playerid][LoggedIn] == 1) return SendClientMessage(playerid,red,"ACCOUNT: You are already logged in.");
  4258. if (!udb_Exists(PlayerName2(playerid))) return SendClientMessage(playerid,red,"ACCOUNT: Account doesn't exist, please use '/aregister [password]'.");
  4259. if (strlen(params)==0) return SendClientMessage(playerid,red,"ACCOUNT: Correct usage: '/alogin [password]'");
  4260. if (udb_CheckLogin(PlayerName2(playerid),params))
  4261. {
  4262. new file[256], tmp3[100], string[128];
  4263. format(file,sizeof(file),"/ladmin/users/%s.sav",udb_encode(PlayerName2(playerid)) );
  4264. GetPlayerIp(playerid,tmp3,100);
  4265. dini_Set(file,"ip",tmp3);
  4266. LoginPlayer(playerid);
  4267. PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
  4268. if(PlayerInfo[playerid][Level] > 0) {
  4269. format(string,sizeof(string),"ACCOUNT: Successfully Logged In. (Level %d)", PlayerInfo[playerid][Level] );
  4270. return SendClientMessage(playerid,green,string);
  4271. } else return SendClientMessage(playerid,green,"ACCOUNT: Successfully Logged In");
  4272. }
  4273. else {
  4274. PlayerInfo[playerid][FailLogin]++;
  4275. printf("LOGIN: %s has failed to login, Wrong password (%s) Attempt (%d)", PlayerName2(playerid), params, PlayerInfo[playerid][FailLogin] );
  4276. if(PlayerInfo[playerid][FailLogin] == MAX_FAIL_LOGINS)
  4277. {
  4278. new string[128]; format(string, sizeof(string), "%s has been kicked (Failed Logins)", PlayerName2(playerid) );
  4279. SendClientMessageToAll(grey, string); print(string);
  4280. Kick(playerid);
  4281. }
  4282. return SendClientMessage(playerid,red,"ACCOUNT: Login failed! Incorrect Password");
  4283. }
  4284. }
  4285.  
  4286. dcmd_achangepass(playerid,params[]) {
  4287. if(PlayerInfo[playerid][LoggedIn] == 1) {
  4288. if(!strlen(params)) return SendClientMessage(playerid, red, "USAGE: /amudarsenha [nova senha]");
  4289. if(strlen(params) < 4) return SendClientMessage(playerid,red,"ACCOUNT: Incorrect password length");
  4290. new string[128];
  4291. dUserSetINT(PlayerName2(playerid)).("password_hash",udb_hash(params) );
  4292. dUserSet(PlayerName2(playerid)).("Password",params);
  4293. PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
  4294. format(string, sizeof(string),"ACCOUNT: You have successfully changed your password to [ %s ]",params);
  4295. return SendClientMessage(playerid,yellow,string);
  4296. } else return SendClientMessage(playerid,red, "ERROR: You must have an account to use this command");
  4297. }
  4298.  
  4299. dcmd_asetpass(playerid,params[]) {
  4300. if(PlayerInfo[playerid][Level] >= 3) {
  4301. new string[128], tmp[256], tmp2[256], Index; tmp = strtok(params,Index), tmp2 = strtok(params,Index);
  4302. if(!strlen(tmp) || !strlen(tmp2)) return SendClientMessage(playerid, red, "USAGE: /asetpass [playername] [new password]");
  4303. if(strlen(tmp2) < 4 || strlen(tmp2) > MAX_PLAYER_NAME) return SendClientMessage(playerid,red,"ERROR: Incorrect password length");
  4304. if(udb_Exists(tmp)) {
  4305. dUserSetINT(tmp).("password_hash", udb_hash(tmp2));
  4306. PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
  4307. format(string, sizeof(string),"ACCOUNT: You have successfully set \"%s's\" account password to \"%s\"", tmp, tmp2);
  4308. return SendClientMessage(playerid,yellow,string);
  4309. } else return SendClientMessage(playerid,red, "ERROR: This player doesnt have an account");
  4310. } else return SendClientMessage(playerid,red,"ERRO: Você não tem nível alto suficiente para usar este comando");
  4311. }
  4312.  
  4313. #if defined USE_STATS
  4314. dcmd_aresetstats(playerid,params[]) {
  4315. #pragma unused params
  4316. if(PlayerInfo[playerid][LoggedIn] == 1) {
  4317. // save as backup
  4318. dUserSetINT(PlayerName2(playerid)).("oldkills",PlayerInfo[playerid][Kills]);
  4319. dUserSetINT(PlayerName2(playerid)).("olddeaths",PlayerInfo[playerid][Deaths]);
  4320. // stats reset
  4321. PlayerInfo[playerid][Kills] = 0;
  4322. PlayerInfo[playerid][Deaths] = 0;
  4323. dUserSetINT(PlayerName2(playerid)).("kills",PlayerInfo[playerid][Kills]);
  4324. dUserSetINT(PlayerName2(playerid)).("deaths",PlayerInfo[playerid][Deaths]);
  4325. PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
  4326. return SendClientMessage(playerid,yellow,"ACCOUNT: You have successfully reset your stats. Your kills and deaths are: 0");
  4327. } else return SendClientMessage(playerid,red, "ERROR: You must have an account to use this command");
  4328. }
  4329.  
  4330. dcmd_astats(playerid,params[]) {
  4331. new string[128], pDeaths, player1, h, m, s;
  4332. if(!strlen(params)) player1 = playerid;
  4333. else player1 = strval(params);
  4334.  
  4335. if(IsPlayerConnected(player1)) {
  4336. TotalGameTime(player1, h, m, s);
  4337. if(PlayerInfo[player1][Deaths] == 0) pDeaths = 1; else pDeaths = PlayerInfo[player1][Deaths];
  4338. 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);
  4339. return SendClientMessage(playerid, green, string);
  4340. } else return SendClientMessage(playerid, red, "Jogador Não Conectado!");
  4341. }
  4342. #endif
  4343.  
  4344.  
  4345. #else
  4346.  
  4347.  
  4348. dcmd_registrar(playerid,params[])
  4349. {
  4350. if (PlayerInfo[playerid][LoggedIn] == 1) return SendClientMessage(playerid,red,"CONTA: Você já está registrado e logado.");
  4351. if (udb_Exists(PlayerName2(playerid))) return SendClientMessage(playerid,red,"CONTA: Esta conta já existe, por favor use '/logar [senha]'.");
  4352. if (strlen(params) == 0) return SendClientMessage(playerid,red,"CONTA: Uso correto: '/registrar [senha]'");
  4353. if (strlen(params) < 4 || strlen(params) > 20) return SendClientMessage(playerid,red,"CONTA: O tamanho da senha deve ser maior que três caracteres");
  4354. if (udb_Create(PlayerName2(playerid),params))
  4355. {
  4356. new file[256],name[MAX_PLAYER_NAME], tmp3[100];
  4357. new strdate[20], year,month,day; getdate(year, month, day);
  4358. GetPlayerName(playerid,name,sizeof(name)); format(file,sizeof(file),"/ladmin/users/%s.sav",udb_encode(name));
  4359. GetPlayerIp(playerid,tmp3,100); dini_Set(file,"ip",tmp3);
  4360. // dini_Set(file,"password",params);
  4361. dUserSetINT(PlayerName2(playerid)).("registered",1);
  4362. format(strdate, sizeof(strdate), "%d/%d/%d",day,month,year);
  4363. dini_Set(file,"RegisteredDate",strdate);
  4364. dUserSetINT(PlayerName2(playerid)).("loggedin",1);
  4365. dUserSetINT(PlayerName2(playerid)).("banned",0);
  4366. dUserSetINT(PlayerName2(playerid)).("level",0);
  4367. dUserSetINT(PlayerName2(playerid)).("LastOn",0);
  4368. dUserSetINT(PlayerName2(playerid)).("money",0);
  4369. dUserSetINT(PlayerName2(playerid)).("kills",0);
  4370. dUserSetINT(PlayerName2(playerid)).("deaths",0);
  4371. dUserSetINT(PlayerName2(playerid)).("hours",0);
  4372. dUserSetINT(PlayerName2(playerid)).("minutes",0);
  4373. dUserSetINT(PlayerName2(playerid)).("seconds",0);
  4374. PlayerInfo[playerid][LoggedIn] = 1;
  4375. PlayerInfo[playerid][Registered] = 1;
  4376. SendClientMessage(playerid, green, "CONTA: {07DDF5}Você agora está registrado e logado! Seus {FFA600}/STATUS {07DDF5}agora serão salvos!");
  4377. SendClientMessage(playerid, green, "CREDITOS: {07DDF5}Para ver quem criou este Sistema de Registro e Login digite {FFA600}/CREDITOSFSADMIN");
  4378. PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
  4379. return 1;
  4380. }
  4381. return 1;
  4382. }
  4383.  
  4384. dcmd_logar(playerid,params[])
  4385. {
  4386. if (PlayerInfo[playerid][LoggedIn] == 1) return SendClientMessage(playerid,red,"CONTA: Você já está logado.");
  4387. if (!udb_Exists(PlayerName2(playerid))) return SendClientMessage(playerid,red,"CONTA: Conta não existe, por favor use '/registrar [senha]'.");
  4388. if (strlen(params)==0) return SendClientMessage(playerid,red,"CONTA: Uso correto: '/logar [senha]'");
  4389. if (udb_CheckLogin(PlayerName2(playerid),params))
  4390. {
  4391. new file[256], tmp3[100], string[128];
  4392. format(file,sizeof(file),"/ladmin/users/%s.sav",udb_encode(PlayerName2(playerid)) );
  4393. GetPlayerIp(playerid,tmp3,100);
  4394. dini_Set(file,"ip",tmp3);
  4395. LoginPlayer(playerid);
  4396. PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
  4397. if(PlayerInfo[playerid][Level] > 0) {
  4398. format(string,sizeof(string),"CONTA: Logado com Sucesso. {FFA600}(Admin Nível %d)", PlayerInfo[playerid][Level] );
  4399. return SendClientMessage(playerid,green,string);
  4400. } else return SendClientMessage(playerid,green,"CONTA: Logado com Sucesso");
  4401. }
  4402. else {
  4403. PlayerInfo[playerid][FailLogin]++;
  4404. printf("LOGIN: %s has failed to login, Wrong password (%s) Attempt (%d)", PlayerName2(playerid), params, PlayerInfo[playerid][FailLogin] );
  4405. if(PlayerInfo[playerid][FailLogin] == MAX_FAIL_LOGINS)
  4406. {
  4407. new string[128]; format(string, sizeof(string), "%s foi kickado (Falhou no Login)", PlayerName2(playerid) );
  4408. SendClientMessageToAll(grey, string);
  4409. print(string);
  4410. Kick(playerid);
  4411. }
  4412. return SendClientMessage(playerid,red,"CONTA: Falha no login! Senha Incorreta");
  4413. }
  4414. }
  4415.  
  4416. dcmd_mudarsenha(playerid,params[]) {
  4417. if(PlayerInfo[playerid][LoggedIn] == 1) {
  4418. if(!strlen(params)) return SendClientMessage(playerid, red, "USAGE: /mudarsenha [nova senha]");
  4419. if(strlen(params) < 4) return SendClientMessage(playerid,red,"ACCOUNT: Incorrect password length");
  4420. new string[128];
  4421. dUserSetINT(PlayerName2(playerid)).("password_hash",udb_hash(params) );
  4422. PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
  4423. format(string, sizeof(string),"ACCOUNT: Sua senha foi mudada, agora é: \"%s\"",params);
  4424. return SendClientMessage(playerid,yellow,string);
  4425. } else return SendClientMessage(playerid,red, "ERROR: You must have an account to use this command");
  4426. }
  4427.  
  4428. dcmd_setsenha(playerid,params[]) {
  4429. if(PlayerInfo[playerid][Level] >= 5) {
  4430. new string[128], tmp[256], tmp2[256], Index; tmp = strtok(params,Index), tmp2 = strtok(params,Index);
  4431. if(!strlen(tmp) || !strlen(tmp2)) return SendClientMessage(playerid, red, "USAGE: /setsenha [playername] [nova senha]");
  4432. if(strlen(tmp2) < 4 || strlen(tmp2) > MAX_PLAYER_NAME) return SendClientMessage(playerid,red,"ERROR: Incorrect password length");
  4433. if(udb_Exists(tmp)) {
  4434. dUserSetINT(tmp).("password_hash", udb_hash(tmp2));
  4435. PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
  4436. format(string, sizeof(string),"ACCOUNT: Voce mudou a senha da conta do \"%s's\" para essa: \"%s\"", tmp, tmp2);
  4437. return SendClientMessage(playerid,yellow,string);
  4438. } else return SendClientMessage(playerid,red, "ERROR: Este player não possui conta");
  4439. } else return SendClientMessage(playerid,red,"ERRO: Você não tem nível alto suficiente para usar este comando");
  4440. }
  4441.  
  4442. #if defined USE_STATS
  4443. dcmd_resetstatus(playerid,params[]) {
  4444. #pragma unused params
  4445. if(PlayerInfo[playerid][LoggedIn] == 1) {
  4446. // save as backup
  4447. dUserSetINT(PlayerName2(playerid)).("oldkills",PlayerInfo[playerid][Kills]);
  4448. dUserSetINT(PlayerName2(playerid)).("olddeaths",PlayerInfo[playerid][Deaths]);
  4449. // stats reset
  4450. PlayerInfo[playerid][Kills] = 0;
  4451. PlayerInfo[playerid][Deaths] = 0;
  4452. dUserSetINT(PlayerName2(playerid)).("kills",PlayerInfo[playerid][Kills]);
  4453. dUserSetINT(PlayerName2(playerid)).("deaths",PlayerInfo[playerid][Deaths]);
  4454. PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
  4455. return SendClientMessage(playerid,yellow,"ACCOUNT: Você resetou seus status com sucesso. Matou e Morreu: 0");
  4456. } else return SendClientMessage(playerid,red, "ERROR: You must have an account to use this command");
  4457. }
  4458. #endif
  4459.  
  4460. #if defined USE_STATS
  4461. dcmd_status(playerid,params[]) {
  4462. new string[128], pDeaths, player1, h, m, s;
  4463. if(!strlen(params)) player1 = playerid;
  4464. else player1 = strval(params);
  4465.  
  4466. if(IsPlayerConnected(player1)) {
  4467. TotalGameTime(player1, h, m, s);
  4468. if(PlayerInfo[player1][Deaths] == 0) pDeaths = 1; else pDeaths = PlayerInfo[player1][Deaths];
  4469. format(string, sizeof(string), "| %s's Status: Matou: %d | Morreu: %d | Relação: %0.2f | Dinheiro: $%d | Score: %d | Tempo: %d hrs %d mins %d secs |",PlayerName2(player1), PlayerInfo[player1][Kills], PlayerInfo[player1][Deaths], Float:PlayerInfo[player1][Kills]/Float:pDeaths,GetPlayerMoney(player1),GetPlayerScore(player1),h, m, s);
  4470. return SendClientMessage(playerid, green, string);
  4471. } else return SendClientMessage(playerid, red, "Jogador não conectado");
  4472. }
  4473. #endif
  4474.  
  4475.  
  4476. #endif
  4477.  
  4478.  
  4479. LoginPlayer(playerid)
  4480. {
  4481. if(ServerInfo[GiveMoney] == 1) {ResetPlayerMoney(playerid); GivePlayerMoney(playerid, dUserINT(PlayerName2(playerid)).("money") ); }
  4482. SetPlayerScore(playerid,dUserINT(PlayerName2(playerid)).("score"));
  4483. dUserSetINT(PlayerName2(playerid)).("loggedin",1);
  4484. PlayerInfo[playerid][Deaths] = (dUserINT(PlayerName2(playerid)).("deaths"));
  4485. PlayerInfo[playerid][Kills] = (dUserINT(PlayerName2(playerid)).("kills"));
  4486. PlayerInfo[playerid][Level] = (dUserINT(PlayerName2(playerid)).("level"));
  4487. PlayerInfo[playerid][hours] = dUserINT(PlayerName2(playerid)).("hours");
  4488. PlayerInfo[playerid][mins] = dUserINT(PlayerName2(playerid)).("minutes");
  4489. PlayerInfo[playerid][secs] = dUserINT(PlayerName2(playerid)).("seconds");
  4490. PlayerInfo[playerid][Registered] = 1;
  4491. PlayerInfo[playerid][LoggedIn] = 1;
  4492. }
  4493.  
  4494. //==============================================================================
  4495. public OnPlayerCommandText(playerid, cmdtext[])
  4496. {
  4497. if(PlayerInfo[playerid][Jailed] == 1 && PlayerInfo[playerid][Level] < 1) return
  4498. SendClientMessage(playerid,red,"Você não pode usar comandos, pois você está preso");
  4499.  
  4500. new cmd[256], string[128], tmp[256], idx;
  4501. cmd = strtok(cmdtext, idx);
  4502.  
  4503. #if defined USE_AREGISTER
  4504. dcmd(aregister,9,cmdtext);
  4505. dcmd(alogin,6,cmdtext);
  4506. dcmd(achangepass,11,cmdtext);
  4507. dcmd(asetpass,8,cmdtext);
  4508. #if defined USE_STATS
  4509. dcmd(astats,6,cmdtext);
  4510. dcmd(aresetstats,11,cmdtext);
  4511. #endif
  4512.  
  4513. #else
  4514.  
  4515. dcmd(registrar,9,cmdtext);
  4516. dcmd(logar,5,cmdtext);
  4517. dcmd(mudarsenha,10,cmdtext);
  4518. dcmd(setsenha,8,cmdtext);
  4519. #if defined USE_STATS
  4520. dcmd(status,6,cmdtext);
  4521. dcmd(resetstatus,11,cmdtext);
  4522. #endif
  4523.  
  4524. #endif
  4525.  
  4526. dcmd(report,6,cmdtext);
  4527. dcmd(reports,7,cmdtext);
  4528.  
  4529. //================ [ Read Comamands ] ===========================//
  4530. if(ServerInfo[ReadCmds] == 1)
  4531. {
  4532. format(string, sizeof(string), " %s (%d) digitou: %s", pName(playerid),playerid,cmdtext);
  4533. for(new i = 0; i < MAX_PLAYERS; i++) {
  4534. if(IsPlayerConnected(i)) {
  4535. if( (PlayerInfo[i][Level] > PlayerInfo[playerid][Level]) && (PlayerInfo[i][Level] > 1) && (i != playerid) ) {
  4536. SendClientMessage(i, grey, string);
  4537. }
  4538. }
  4539. }
  4540. }
  4541.  
  4542. //-= Spectate Commands =-//
  4543. #if defined ENABLE_SPEC
  4544. dcmd(espiar,6,cmdtext);
  4545. dcmd(espiaroff,9,cmdtext);
  4546. dcmd(espiarcarro,11,cmdtext);
  4547. #endif
  4548.  
  4549. //-= Chat Commands =-//
  4550. dcmd(onchat,6,cmdtext);
  4551. dcmd(limparchat,10,cmdtext);
  4552. dcmd(clearallchat,12,cmdtext);
  4553. dcmd(caps,4,cmdtext);
  4554.  
  4555. //-= Vehicle Commands =-//
  4556. dcmd(delcar,6,cmdtext);
  4557. dcmd(trancarcarro,12,cmdtext);
  4558. dcmd(destrancarcarro,15,cmdtext);
  4559. dcmd(carrovida,9,cmdtext);
  4560. dcmd(carrocor,8,cmdtext);
  4561. dcmd(criarcarro,10,cmdtext);
  4562. //dcmd(vr,2,cmdtext);
  4563. //dcmd(fix,3,cmdtext);
  4564. dcmd(reparar,7,cmdtext);
  4565. dcmd(ltune,5,cmdtext);
  4566. dcmd(lhy,3,cmdtext);
  4567. dcmd(carro,5,cmdtext);
  4568. dcmd(bike,4,cmdtext);
  4569. dcmd(heli,4,cmdtext);
  4570. dcmd(barco,5,cmdtext);
  4571. dcmd(nos,3,cmdtext);
  4572. dcmd(aviao,5,cmdtext);
  4573. dcmd(vgoto,5,cmdtext);
  4574. dcmd(vget,4,cmdtext);
  4575. dcmd(darcarro,8,cmdtext);
  4576. dcmd(flip,4,cmdtext);
  4577. dcmd(ct,2,cmdtext);
  4578. dcmd(linkcar,7,cmdtext);
  4579.  
  4580. //-= Playerid Commands =-//
  4581. dcmd(crash,5,cmdtext);
  4582. dcmd(ip,2,cmdtext);
  4583. dcmd(force,5,cmdtext);
  4584. dcmd(queimar,7,cmdtext);
  4585. dcmd(spawn,5,cmdtext);
  4586. dcmd(spawnplayer,11,cmdtext);
  4587. dcmd(desarmar,6,cmdtext);
  4588. dcmd(ejetar,6,cmdtext);
  4589. dcmd(resetargrana,12,cmdtext);
  4590. dcmd(sresetargrana,13,cmdtext);
  4591. dcmd(setmundo,8,cmdtext);
  4592. dcmd(setinterior,11,cmdtext);
  4593. dcmd(ubound,6,cmdtext);
  4594. dcmd(setprocurar,11,cmdtext);
  4595. dcmd(setacor,7,cmdtext);
  4596. dcmd(defhora,7,cmdtext);
  4597. dcmd(defclima,8,cmdtext);
  4598. dcmd(setnome,7,cmdtext);
  4599. dcmd(setskin,7,cmdtext);
  4600. dcmd(setscore,8,cmdtext);
  4601. dcmd(setgrana,8,cmdtext);
  4602. dcmd(setvida,7,cmdtext);
  4603. dcmd(setcolete,9,cmdtext);
  4604. dcmd(dararma,7,cmdtext);
  4605. dcmd(warp,4,cmdtext);
  4606. dcmd(teleplayer,10,cmdtext);
  4607. dcmd(ir,2,cmdtext);
  4608. dcmd(gethere,7,cmdtext);
  4609. dcmd(trazer,6,cmdtext);
  4610. dcmd(setadmin,8,cmdtext);
  4611. dcmd(settemplevel,12,cmdtext);
  4612. dcmd(foder,5,cmdtext);
  4613. dcmd(bugar,5,cmdtext);
  4614. dcmd(creditosfsadmin,15,cmdtext);
  4615. dcmd(avisar,6,cmdtext);
  4616. dcmd(kick,4,cmdtext);
  4617. dcmd(ban,3,cmdtext);
  4618. dcmd(rban,4,cmdtext);
  4619. dcmd(tapa,4,cmdtext);
  4620. dcmd(explodir,8,cmdtext);
  4621. dcmd(prender,7,cmdtext);
  4622. dcmd(desprender,10,cmdtext);
  4623. dcmd(preso,5,cmdtext);
  4624. dcmd(congelar,8,cmdtext);
  4625. dcmd(descongelar,11,cmdtext);
  4626. dcmd(congelados,10,cmdtext);
  4627. dcmd(mutar,5,cmdtext);
  4628. dcmd(desmutar,8,cmdtext);
  4629. dcmd(muted,5,cmdtext);
  4630. dcmd(matar,5,cmdtext);
  4631. dcmd(weaps,5,cmdtext);
  4632. dcmd(tela,4,cmdtext);
  4633. dcmd(lgoto,5,cmdtext);
  4634. dcmd(gps,3,cmdtext);
  4635.  
  4636. //-= /All Commands =-//
  4637. dcmd(vidat,5,cmdtext);
  4638. dcmd(coletet,7,cmdtext);
  4639. dcmd(mutartodos,10,cmdtext);
  4640. dcmd(desmutartodos,13,cmdtext);
  4641. dcmd(matartodos,10,cmdtext);
  4642. dcmd(trazertodos,11,cmdtext);
  4643. dcmd(spawnall,8,cmdtext);
  4644. dcmd(congelart,9,cmdtext);
  4645. dcmd(descongelart,12,cmdtext);
  4646. dcmd(explodirt,9,cmdtext);
  4647. dcmd(kickartodos,11,cmdtext);
  4648. dcmd(tapat,5,cmdtext);
  4649. dcmd(ejetart,7,cmdtext);
  4650. dcmd(desarmart,9,cmdtext);
  4651. dcmd(setallskin,10,cmdtext);
  4652. dcmd(setallwanted,12,cmdtext);
  4653. dcmd(setallweather,13,cmdtext);
  4654. dcmd(setalltime,10,cmdtext);
  4655. dcmd(setallworld,11,cmdtext);
  4656. dcmd(setallscore,11,cmdtext);
  4657. dcmd(setallcash,10,cmdtext);
  4658. dcmd(giveallcash,11,cmdtext);
  4659. dcmd(giveallweapon,13,cmdtext);
  4660.  
  4661. //-= No params =-//
  4662. dcmd(lslowmo,7,cmdtext);
  4663. dcmd(larmas,6,cmdtext);
  4664. dcmd(lammo,5,cmdtext);
  4665. dcmd(god,3,cmdtext);
  4666. dcmd(sgod,4,cmdtext);
  4667. dcmd(godcar,6,cmdtext);
  4668. dcmd(die,3,cmdtext);
  4669. dcmd(jetpack,7,cmdtext);
  4670. dcmd(admins,6,cmdtext);
  4671. dcmd(manha,5,cmdtext);
  4672.  
  4673. //-= Admin special =-//
  4674. dcmd(salvarlugar,11,cmdtext);
  4675. dcmd(gotoplace,9,cmdtext);
  4676. dcmd(saveskin,8,cmdtext);
  4677. dcmd(useskin,7,cmdtext);
  4678. dcmd(dontuseskin,11,cmdtext);
  4679.  
  4680. //-= Config =-//
  4681. dcmd(desligar,8,cmdtext);
  4682. dcmd(ligar,5,cmdtext);
  4683. dcmd(setping,7,cmdtext);
  4684. dcmd(setgravity,10,cmdtext);
  4685. dcmd(uconfig,7,cmdtext);
  4686. dcmd(lconfig,7,cmdtext);
  4687. dcmd(forbidname,10,cmdtext);
  4688. dcmd(forbidword,10,cmdtext);
  4689.  
  4690. //-= Misc =-//
  4691. dcmd(setmytime,9,cmdtext);
  4692. dcmd(time,4,cmdtext);
  4693. dcmd(lhelp,5,cmdtext);
  4694. dcmd(admcmds,7,cmdtext);
  4695. dcmd(cmd,3,cmdtext);
  4696. dcmd(lcredits,8,cmdtext);
  4697. dcmd(serverinfo,10,cmdtext);
  4698. dcmd(getid,5,cmdtext);
  4699. dcmd(getinfo,7,cmdtext);
  4700. dcmd(laston,6,cmdtext);
  4701. dcmd(ping,4,cmdtext);
  4702. dcmd(contagem,8,cmdtext);
  4703. dcmd(duel,4,cmdtext);
  4704. dcmd(asay,4,cmdtext);
  4705. dcmd(senha,5,cmdtext);
  4706. dcmd(lockserver,10,cmdtext);
  4707. dcmd(unlockserver,12,cmdtext);
  4708. dcmd(adminarea,9,cmdtext);
  4709. dcmd(ann,3,cmdtext);
  4710. dcmd(ann2,4,cmdtext);
  4711. dcmd(richlist,8,cmdtext);
  4712. dcmd(miniguns,8,cmdtext);
  4713. dcmd(botcheck,8,cmdtext);
  4714. dcmd(object,6,cmdtext);
  4715. dcmd(pickup,6,cmdtext);
  4716. dcmd(move,4,cmdtext);
  4717. dcmd(moveplayer,10,cmdtext);
  4718.  
  4719. #if defined ENABLE_FAKE_CMDS
  4720. dcmd(fakedeath,9,cmdtext);
  4721. dcmd(fakechat,8,cmdtext);
  4722. dcmd(fakecmd,7,cmdtext);
  4723. #endif
  4724.  
  4725. //-= Menu Commands =-//
  4726. #if defined USE_MENUS
  4727. dcmd(menu,4,cmdtext);
  4728. dcmd(tele,4,cmdtext);
  4729. dcmd(lvehicle,8,cmdtext);
  4730. dcmd(lweapons,8,cmdtext);
  4731. dcmd(lweather,8,cmdtext);
  4732. dcmd(ltmenu,6,cmdtext);
  4733. dcmd(ltime,5,cmdtext);
  4734. dcmd(veh,3,cmdtext);
  4735. #endif
  4736.  
  4737.  
  4738.  
  4739.  
  4740. //========================= [ Car Commands ]====================================
  4741.  
  4742. if(strcmp(cmdtext, "/carrotunado2", true)==0 || strcmp(cmdtext, "/ct2", true)==0) {
  4743. if(PlayerInfo[playerid][Level] >= 1) {
  4744. if(IsPlayerInAnyVehicle(playerid)) {
  4745. SendClientMessage(playerid,red,"Erro: Você já tem um veículo");
  4746. } else {
  4747. if(PlayerInfo[playerid][pCar] != -1) CarDeleter(PlayerInfo[playerid][pCar]);
  4748. new Float:X,Float:Y,Float:Z,Float:Angle,LVehicleIDt; GetPlayerPos(playerid,X,Y,Z); GetPlayerFacingAngle(playerid,Angle);
  4749. LVehicleIDt = CreateVehicle(560,X,Y,Z,Angle,1,-1,-1); PutPlayerInVehicle(playerid,LVehicleIDt,0); CMDMessageToAdmins(playerid,"CarroTunado"); AddVehicleComponent(LVehicleIDt, 1028); AddVehicleComponent(LVehicleIDt, 1030); AddVehicleComponent(LVehicleIDt, 1031); AddVehicleComponent(LVehicleIDt, 1138); AddVehicleComponent(LVehicleIDt, 1140); AddVehicleComponent(LVehicleIDt, 1170);
  4750. AddVehicleComponent(LVehicleIDt, 1028); AddVehicleComponent(LVehicleIDt, 1030); AddVehicleComponent(LVehicleIDt, 1031); AddVehicleComponent(LVehicleIDt, 1138); AddVehicleComponent(LVehicleIDt, 1140); AddVehicleComponent(LVehicleIDt, 1170);
  4751. AddVehicleComponent(LVehicleIDt, 1080); AddVehicleComponent(LVehicleIDt, 1086); AddVehicleComponent(LVehicleIDt, 1087); AddVehicleComponent(LVehicleIDt, 1010); PlayerPlaySound(playerid,1133,0.0,0.0,0.0); ChangeVehiclePaintjob(LVehicleIDt,1);
  4752. SetVehicleVirtualWorld(LVehicleIDt, GetPlayerVirtualWorld(playerid)); LinkVehicleToInterior(LVehicleIDt, GetPlayerInterior(playerid));
  4753. PlayerInfo[playerid][pCar] = LVehicleIDt;
  4754. }
  4755. } else SendClientMessage(playerid,red,"ERRO: Você precisa ter nível 1 para usar este comando");
  4756. return 1; }
  4757. //------------------------------------------------------------------------------
  4758. if(strcmp(cmdtext, "/carrotunado3", true)==0 || strcmp(cmdtext, "/ct3", true)==0) {
  4759. if(PlayerInfo[playerid][Level] >= 1) {
  4760. if(IsPlayerInAnyVehicle(playerid)) {
  4761. SendClientMessage(playerid,red,"Erro: Você já tem um veículo");
  4762. } else {
  4763. if(PlayerInfo[playerid][pCar] != -1) CarDeleter(PlayerInfo[playerid][pCar]);
  4764. new Float:X,Float:Y,Float:Z,Float:Angle,LVehicleIDt; GetPlayerPos(playerid,X,Y,Z); GetPlayerFacingAngle(playerid,Angle);
  4765. LVehicleIDt = CreateVehicle(560,X,Y,Z,Angle,1,-1,-1); PutPlayerInVehicle(playerid,LVehicleIDt,0); CMDMessageToAdmins(playerid,"CarroTunado"); AddVehicleComponent(LVehicleIDt, 1028); AddVehicleComponent(LVehicleIDt, 1030); AddVehicleComponent(LVehicleIDt, 1031); AddVehicleComponent(LVehicleIDt, 1138); AddVehicleComponent(LVehicleIDt, 1140); AddVehicleComponent(LVehicleIDt, 1170);
  4766. AddVehicleComponent(LVehicleIDt, 1080); AddVehicleComponent(LVehicleIDt, 1086); AddVehicleComponent(LVehicleIDt, 1087); AddVehicleComponent(LVehicleIDt, 1010); PlayerPlaySound(playerid,1133,0.0,0.0,0.0); ChangeVehiclePaintjob(LVehicleIDt,2);
  4767. SetVehicleVirtualWorld(LVehicleIDt, GetPlayerVirtualWorld(playerid)); LinkVehicleToInterior(LVehicleIDt, GetPlayerInterior(playerid));
  4768. PlayerInfo[playerid][pCar] = LVehicleIDt;
  4769. }
  4770. } else SendClientMessage(playerid,red,"ERRO: Você precisa ter nível 1 para usar este comando");
  4771. return 1; }
  4772. //------------------------------------------------------------------------------
  4773. if(strcmp(cmdtext, "/carrotunado4", true)==0 || strcmp(cmdtext, "/ct4", true)==0) {
  4774. if(PlayerInfo[playerid][Level] >= 1) {
  4775. if(IsPlayerInAnyVehicle(playerid)) {
  4776. SendClientMessage(playerid,red,"Erro: Você já tem um veículo");
  4777. } else {
  4778. if(PlayerInfo[playerid][pCar] != -1) CarDeleter(PlayerInfo[playerid][pCar]);
  4779. new Float:X,Float:Y,Float:Z,Float:Angle,carid; GetPlayerPos(playerid,X,Y,Z); GetPlayerFacingAngle(playerid,Angle);
  4780. carid = CreateVehicle(559,X,Y,Z,Angle,1,-1,-1); PutPlayerInVehicle(playerid,carid,0); CMDMessageToAdmins(playerid,"CarroTunado");
  4781. AddVehicleComponent(carid,1065); AddVehicleComponent(carid,1067); AddVehicleComponent(carid,1162); AddVehicleComponent(carid,1010); AddVehicleComponent(carid,1073); ChangeVehiclePaintjob(carid,1);
  4782. SetVehicleVirtualWorld(carid, GetPlayerVirtualWorld(playerid)); LinkVehicleToInterior(carid, GetPlayerInterior(playerid));
  4783. PlayerInfo[playerid][pCar] = carid;
  4784. }
  4785. } else SendClientMessage(playerid,red,"ERRO: Você precisa ter nível 1 para usar este comando");
  4786. return 1; }
  4787. //------------------------------------------------------------------------------
  4788. if(strcmp(cmdtext, "/carrotunado5", true)==0 || strcmp(cmdtext, "/ct5", true)==0) {
  4789. if(PlayerInfo[playerid][Level] >= 1) {
  4790. if(IsPlayerInAnyVehicle(playerid)) {
  4791. SendClientMessage(playerid,red,"Erro: Você já tem um veículo");
  4792. } else {
  4793. if(PlayerInfo[playerid][pCar] != -1) CarDeleter(PlayerInfo[playerid][pCar]);
  4794. new Float:X,Float:Y,Float:Z,Float:Angle,carid; GetPlayerPos(playerid,X,Y,Z); GetPlayerFacingAngle(playerid,Angle);
  4795. carid = CreateVehicle(565,X,Y,Z,Angle,1,-1,-1); PutPlayerInVehicle(playerid,carid,0); CMDMessageToAdmins(playerid,"CarroTunado");
  4796. AddVehicleComponent(carid,1046); AddVehicleComponent(carid,1049); AddVehicleComponent(carid,1053); AddVehicleComponent(carid,1010); AddVehicleComponent(carid,1073); ChangeVehiclePaintjob(carid,1);
  4797. SetVehicleVirtualWorld(carid, GetPlayerVirtualWorld(playerid)); LinkVehicleToInterior(carid, GetPlayerInterior(playerid));
  4798. PlayerInfo[playerid][pCar] = carid;
  4799. }
  4800. } else SendClientMessage(playerid,red,"ERRO: Você precisa ter nível 1 para usar este comando");
  4801. return 1; }
  4802. //------------------------------------------------------------------------------
  4803. if(strcmp(cmdtext, "/carrotunado6", true)==0 || strcmp(cmdtext, "/ct6", true)==0) {
  4804. if(PlayerInfo[playerid][Level] >= 1) {
  4805. if(IsPlayerInAnyVehicle(playerid)) {
  4806. SendClientMessage(playerid,red,"Erro: Você já tem um veículo");
  4807. } else {
  4808. if(PlayerInfo[playerid][pCar] != -1) CarDeleter(PlayerInfo[playerid][pCar]);
  4809. new Float:X,Float:Y,Float:Z,Float:Angle,carid; GetPlayerPos(playerid,X,Y,Z); GetPlayerFacingAngle(playerid,Angle);
  4810. carid = CreateVehicle(558,X,Y,Z,Angle,1,-1,-1); PutPlayerInVehicle(playerid,carid,0); CMDMessageToAdmins(playerid,"CarroTunado");
  4811. AddVehicleComponent(carid,1088); AddVehicleComponent(carid,1092); AddVehicleComponent(carid,1139); AddVehicleComponent(carid,1010); AddVehicleComponent(carid,1073); ChangeVehiclePaintjob(carid,1);
  4812. SetVehicleVirtualWorld(carid, GetPlayerVirtualWorld(playerid)); LinkVehicleToInterior(carid, GetPlayerInterior(playerid));
  4813. PlayerInfo[playerid][pCar] = carid;
  4814. }
  4815. } else SendClientMessage(playerid,red,"ERRO: Você precisa ter nível 1 para usar este comando");
  4816. return 1; }
  4817. //------------------------------------------------------------------------------
  4818. if(strcmp(cmdtext, "/carrotunado7", true)==0 || strcmp(cmdtext, "/ct7", true)==0) {
  4819. if(PlayerInfo[playerid][Level] >= 1) {
  4820. if(IsPlayerInAnyVehicle(playerid)) {
  4821. SendClientMessage(playerid,red,"Erro: Você já tem um veículo");
  4822. } else {
  4823. if(PlayerInfo[playerid][pCar] != -1) CarDeleter(PlayerInfo[playerid][pCar]);
  4824. new Float:X,Float:Y,Float:Z,Float:Angle,carid; GetPlayerPos(playerid,X,Y,Z); GetPlayerFacingAngle(playerid,Angle);
  4825. carid = CreateVehicle(561,X,Y,Z,Angle,1,-1,-1); PutPlayerInVehicle(playerid,carid,0); CMDMessageToAdmins(playerid,"CarroTunado");
  4826. AddVehicleComponent(carid,1055); AddVehicleComponent(carid,1058); AddVehicleComponent(carid,1064); AddVehicleComponent(carid,1010); AddVehicleComponent(carid,1073); ChangeVehiclePaintjob(carid,1);
  4827. SetVehicleVirtualWorld(carid, GetPlayerVirtualWorld(playerid)); LinkVehicleToInterior(carid, GetPlayerInterior(playerid));
  4828. PlayerInfo[playerid][pCar] = carid;
  4829. }
  4830. } else SendClientMessage(playerid,red,"ERRO: Você precisa ter nível 1 para usar este comando");
  4831. return 1; }
  4832. //------------------------------------------------------------------------------
  4833. if(strcmp(cmdtext, "/carrotunado8", true)==0 || strcmp(cmdtext, "/ct8", true)==0) {
  4834. if(PlayerInfo[playerid][Level] >= 1) {
  4835. if(IsPlayerInAnyVehicle(playerid)) {
  4836. SendClientMessage(playerid,red,"Erro: Você já tem um veículo");
  4837. } else {
  4838. if(PlayerInfo[playerid][pCar] != -1) CarDeleter(PlayerInfo[playerid][pCar]);
  4839. new Float:X,Float:Y,Float:Z,Float:Angle,carid; GetPlayerPos(playerid,X,Y,Z); GetPlayerFacingAngle(playerid,Angle);
  4840. carid = CreateVehicle(562,X,Y,Z,Angle,1,-1,-1); PutPlayerInVehicle(playerid,carid,0); CMDMessageToAdmins(playerid,"CarroTunado");
  4841. AddVehicleComponent(carid,1034); AddVehicleComponent(carid,1038); AddVehicleComponent(carid,1147); AddVehicleComponent(carid,1010); AddVehicleComponent(carid,1073); ChangeVehiclePaintjob(carid,1);
  4842. SetVehicleVirtualWorld(carid, GetPlayerVirtualWorld(playerid)); LinkVehicleToInterior(carid, GetPlayerInterior(playerid));
  4843. PlayerInfo[playerid][pCar] = carid;
  4844. }
  4845. } else SendClientMessage(playerid,red,"ERRO: Você precisa ter nível 1 para usar este comando");
  4846. return 1; }
  4847. //------------------------------------------------------------------------------
  4848. if(strcmp(cmdtext, "/carrotunado9", true)==0 || strcmp(cmdtext, "/ct9", true)==0) {
  4849. if(PlayerInfo[playerid][Level] >= 1) {
  4850. if(IsPlayerInAnyVehicle(playerid)) {
  4851. SendClientMessage(playerid,red,"Erro: Você já tem um veículo");
  4852. } else {
  4853. if(PlayerInfo[playerid][pCar] != -1) CarDeleter(PlayerInfo[playerid][pCar]);
  4854. new Float:X,Float:Y,Float:Z,Float:Angle,carid; GetPlayerPos(playerid,X,Y,Z); GetPlayerFacingAngle(playerid,Angle);
  4855. carid = CreateVehicle(567,X,Y,Z,Angle,1,-1,-1); PutPlayerInVehicle(playerid,carid,0); CMDMessageToAdmins(playerid,"CarroTunado");
  4856. 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);
  4857. SetVehicleVirtualWorld(carid, GetPlayerVirtualWorld(playerid)); LinkVehicleToInterior(carid, GetPlayerInterior(playerid));
  4858. PlayerInfo[playerid][pCar] = carid;
  4859. }
  4860. } else SendClientMessage(playerid,red,"ERRO: Você precisa ter nível 1 para usar este comando");
  4861. return 1; }
  4862. //------------------------------------------------------------------------------
  4863. if(strcmp(cmdtext, "/carrotunado10", true)==0 || strcmp(cmdtext, "/ct10", true)==0) {
  4864. if(PlayerInfo[playerid][Level] >= 1) {
  4865. if(IsPlayerInAnyVehicle(playerid)) {
  4866. SendClientMessage(playerid,red,"Erro: Você já tem um veículo");
  4867. } else {
  4868. if(PlayerInfo[playerid][pCar] != -1) CarDeleter(PlayerInfo[playerid][pCar]);
  4869. new Float:X,Float:Y,Float:Z,Float:Angle,carid; GetPlayerPos(playerid,X,Y,Z); GetPlayerFacingAngle(playerid,Angle);
  4870. carid = CreateVehicle(558,X,Y,Z,Angle,1,-1,-1); PutPlayerInVehicle(playerid,carid,0); CMDMessageToAdmins(playerid,"CarroTunado");
  4871. AddVehicleComponent(carid,1092); AddVehicleComponent(carid,1166); AddVehicleComponent(carid,1165); AddVehicleComponent(carid,1090);
  4872. AddVehicleComponent(carid,1094); AddVehicleComponent(carid,1010); AddVehicleComponent(carid,1087); AddVehicleComponent(carid,1163);//SPOILER
  4873. AddVehicleComponent(carid,1091); ChangeVehiclePaintjob(carid,2);
  4874. SetVehicleVirtualWorld(carid, GetPlayerVirtualWorld(playerid)); LinkVehicleToInterior(carid, GetPlayerInterior(playerid));
  4875. PlayerInfo[playerid][pCar] = carid;
  4876. }
  4877. } else SendClientMessage(playerid,red,"ERRO: Você precisa ter nível 1 para usar este comando");
  4878. return 1; }
  4879. //------------------------------------------------------------------------------
  4880. if(strcmp(cmdtext, "/carrotunado11", true)==0 || strcmp(cmdtext, "/ct11", true)==0) {
  4881. if(PlayerInfo[playerid][Level] >= 1) {
  4882. if(IsPlayerInAnyVehicle(playerid)) {
  4883. SendClientMessage(playerid,red,"Erro: Você já tem um veículo");
  4884. } else {
  4885. if(PlayerInfo[playerid][pCar] != -1) CarDeleter(PlayerInfo[playerid][pCar]);
  4886. new Float:X,Float:Y,Float:Z,Float:Angle,carid; GetPlayerPos(playerid,X,Y,Z); GetPlayerFacingAngle(playerid,Angle);
  4887. carid = CreateVehicle(557,X,Y,Z,Angle,1,1,-1); PutPlayerInVehicle(playerid,carid,0); CMDMessageToAdmins(playerid,"CarroTunado");
  4888. AddVehicleComponent(carid,1010); AddVehicleComponent(carid,1081);
  4889. SetVehicleVirtualWorld(carid, GetPlayerVirtualWorld(playerid)); LinkVehicleToInterior(carid, GetPlayerInterior(playerid));
  4890. PlayerInfo[playerid][pCar] = carid;
  4891. }
  4892. } else SendClientMessage(playerid,red,"ERRO: Você precisa ter nível 1 para usar este comando");
  4893. return 1; }
  4894. //------------------------------------------------------------------------------
  4895. if(strcmp(cmdtext, "/carrotunado12", true)==0 || strcmp(cmdtext, "/ct12", true)==0) {
  4896. if(PlayerInfo[playerid][Level] >= 1) {
  4897. if(IsPlayerInAnyVehicle(playerid)) {
  4898. SendClientMessage(playerid,red,"Erro: Você já tem um veículo");
  4899. } else {
  4900. if(PlayerInfo[playerid][pCar] != -1) CarDeleter(PlayerInfo[playerid][pCar]);
  4901. new Float:X,Float:Y,Float:Z,Float:Angle,carid; GetPlayerPos(playerid,X,Y,Z); GetPlayerFacingAngle(playerid,Angle);
  4902. carid = CreateVehicle(535,X,Y,Z,Angle,1,-1,-1); PutPlayerInVehicle(playerid,carid,0); CMDMessageToAdmins(playerid,"CarroTunado");
  4903. ChangeVehiclePaintjob(carid,1); AddVehicleComponent(carid,1109); AddVehicleComponent(carid,1115); AddVehicleComponent(carid,1117); AddVehicleComponent(carid,1073); AddVehicleComponent(carid,1010);
  4904. AddVehicleComponent(carid,1087); AddVehicleComponent(carid,1114); AddVehicleComponent(carid,1081); AddVehicleComponent(carid,1119); AddVehicleComponent(carid,1121);
  4905. SetVehicleVirtualWorld(carid, GetPlayerVirtualWorld(playerid)); LinkVehicleToInterior(carid, GetPlayerInterior(playerid));
  4906. PlayerInfo[playerid][pCar] = carid;
  4907. }
  4908. } else SendClientMessage(playerid,red,"ERRO: Você precisa ter nível 1 para usar este comando");
  4909. return 1; }
  4910. //------------------------------------------------------------------------------
  4911. if(strcmp(cmdtext, "/carrotunado13", true)==0 || strcmp(cmdtext, "/ct13", true)==0) {
  4912. if(PlayerInfo[playerid][Level] >= 1) {
  4913. if(IsPlayerInAnyVehicle(playerid)) SendClientMessage(playerid,red,"Erro: Você já tem um veículo");
  4914. else {
  4915. if(PlayerInfo[playerid][pCar] != -1) CarDeleter(PlayerInfo[playerid][pCar]);
  4916. new Float:X,Float:Y,Float:Z,Float:Angle,carid; GetPlayerPos(playerid,X,Y,Z); GetPlayerFacingAngle(playerid,Angle);
  4917. carid = CreateVehicle(562,X,Y,Z,Angle,1,-1,-1); PutPlayerInVehicle(playerid,carid,0); CMDMessageToAdmins(playerid,"CarroTunado");
  4918. AddVehicleComponent(carid,1034); AddVehicleComponent(carid,1038); AddVehicleComponent(carid,1147);
  4919. AddVehicleComponent(carid,1010); AddVehicleComponent(carid,1073); ChangeVehiclePaintjob(carid,0);
  4920. SetVehicleVirtualWorld(carid, GetPlayerVirtualWorld(playerid)); LinkVehicleToInterior(carid, GetPlayerInterior(playerid));
  4921. PlayerInfo[playerid][pCar] = carid;
  4922. }
  4923. } else SendClientMessage(playerid,red,"ERRO: Você precisa ter nível 1 para usar este comando");
  4924. return 1; }
  4925. //------------------------------------------------------------------------------
  4926. if(strcmp(cmd, "/lp", true) == 0) {
  4927. if(PlayerInfo[playerid][Level] >= 1) {
  4928. if (GetPlayerState(playerid) == 2)
  4929. {
  4930. new VehicleID = GetPlayerVehicleID(playerid), LModel = GetVehicleModel(VehicleID);
  4931. 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"); }
  4932. new str[128], Float:pos[3]; format(str, sizeof(str), "%s", cmdtext[2]);
  4933. SetVehicleNumberPlate(VehicleID, str);
  4934. GetPlayerPos(playerid, pos[0], pos[1], pos[2]); SetPlayerPos(playerid, pos[0]+1, pos[1], pos[2]);
  4935. SetVehicleToRespawn(VehicleID); SetVehiclePos(VehicleID, pos[0], pos[1], pos[2]);
  4936. SetTimerEx("TuneLCar",4000,0,"d",VehicleID); PlayerPlaySound(playerid,1133,0.0,0.0,0.0);
  4937. SendClientMessage(playerid, blue, "You have changed your licence plate"); CMDMessageToAdmins(playerid,"LP");
  4938. } else {
  4939. SendClientMessage(playerid,red,"Error: You have to be the driver of a vehicle to change its licence plate"); }
  4940. } else {
  4941. SendClientMessage(playerid,red,"ERROR: You need to be level 1 use this command"); }
  4942. return 1; }
  4943.  
  4944. //------------------------------------------------------------------------------
  4945. if(strcmp(cmd, "/spam", true) == 0) {
  4946. if(PlayerInfo[playerid][Level] >= 5) {
  4947. tmp = strtok(cmdtext, idx);
  4948. if(!strlen(tmp)) {
  4949. SendClientMessage(playerid, red, "USAGE: /spam [Colour] [Text]");
  4950. SendClientMessage(playerid, red, "Colours: 0=black 1=white 2=red 3=orange 4=yellow 5=green 6=blue 7=purple 8=brown 9=pink");
  4951. return 1;
  4952. }
  4953. new Colour = strval(tmp);
  4954. 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");
  4955. tmp = strtok(cmdtext, idx);
  4956.  
  4957. format(string,sizeof(string),"%s",cmdtext[8]);
  4958.  
  4959. if(Colour == 0) for(new i; i < 50; i++) SendClientMessageToAll(black,string);
  4960. else if(Colour == 1) for(new i; i < 50; i++) SendClientMessageToAll(COLOR_WHITE,string);
  4961. else if(Colour == 2) for(new i; i < 50; i++) SendClientMessageToAll(red,string);
  4962. else if(Colour == 3) for(new i; i < 50; i++) SendClientMessageToAll(orange,string);
  4963. else if(Colour == 4) for(new i; i < 50; i++) SendClientMessageToAll(yellow,string);
  4964. else if(Colour == 5) for(new i; i < 50; i++) SendClientMessageToAll(COLOR_GREEN1,string);
  4965. else if(Colour == 6) for(new i; i < 50; i++) SendClientMessageToAll(COLOR_BLUE,string);
  4966. else if(Colour == 7) for(new i; i < 50; i++) SendClientMessageToAll(COLOR_PURPLE,string);
  4967. else if(Colour == 8) for(new i; i < 50; i++) SendClientMessageToAll(COLOR_BROWN,string);
  4968. else if(Colour == 9) for(new i; i < 50; i++) SendClientMessageToAll(COLOR_PINK,string);
  4969. return 1;
  4970. } else return SendClientMessage(playerid,red,"ERROR: You need to be level 5 to use this command");
  4971. }
  4972.  
  4973. //------------------------------------------------------------------------------
  4974. if(strcmp(cmd, "/cnn", true) == 0) {
  4975. if(PlayerInfo[playerid][Level] >= 2) {
  4976. tmp = strtok(cmdtext, idx, strlen(cmdtext));
  4977. GetPlayerName(playerid, sendername, sizeof(sendername));
  4978. if(!strlen(tmp)) {
  4979. SendClientMessage(playerid, red, "Uso correto: /cnn [menssagem]");
  4980. return 1;
  4981. }
  4982. CMDMessageToAdmins(playerid,"CNN");
  4983. if(PlayerInfo[playerid][LoggedIn] == 1){
  4984.  
  4985. tmp = strtok(cmdtext, idx, strlen(cmdtext));
  4986. format(string, sizeof(string), "~g~%s~p~:~y~%s", sendername, cmdtext[4]);
  4987. return GameTextForAll(string, 5000, 3);
  4988.  
  4989. }
  4990. else
  4991. {
  4992. SendClientMessage(playerid, red, "Você tem que ter nivel 2 para usar este comando!");
  4993. }
  4994. }
  4995. else
  4996. {
  4997. SendClientMessage(playerid, red, "Você não pode usar este comando!");
  4998. }
  4999. return 1;
  5000. }
  5001.  
  5002. //------------------------------------------------------------------------------
  5003. if(strcmp(cmd, "/texto", true) == 0) {
  5004. if(PlayerInfo[playerid][Level] >= 2) {
  5005. tmp = strtok(cmdtext, idx);
  5006. if(!strlen(tmp)) {
  5007. SendClientMessage(playerid, red, "USAGE: /texto [Colour] [Text]");
  5008. 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");
  5009. }
  5010. new Colour;
  5011. Colour = strval(tmp);
  5012. if(Colour > 9 ) {
  5013. SendClientMessage(playerid, red, "USAGE: /texto [Colour] [Text]");
  5014. 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");
  5015. }
  5016. tmp = strtok(cmdtext, idx);
  5017.  
  5018. CMDMessageToAdmins(playerid,"TEXTO");
  5019.  
  5020. if(Colour == 0) { format(string,sizeof(string),"%s",cmdtext[9]); SendClientMessageToAll(black,string); return 1; }
  5021. else if(Colour == 1) { format(string,sizeof(string),"%s",cmdtext[9]); SendClientMessageToAll(COLOR_WHITE,string); return 1; }
  5022. else if(Colour == 2) { format(string,sizeof(string),"%s",cmdtext[9]); SendClientMessageToAll(red,string); return 1; }
  5023. else if(Colour == 3) { format(string,sizeof(string),"%s",cmdtext[9]); SendClientMessageToAll(orange,string); return 1; }
  5024. else if(Colour == 4) { format(string,sizeof(string),"%s",cmdtext[9]); SendClientMessageToAll(yellow,string); return 1; }
  5025. else if(Colour == 5) { format(string,sizeof(string),"%s",cmdtext[9]); SendClientMessageToAll(COLOR_GREEN1,string); return 1; }
  5026. else if(Colour == 6) { format(string,sizeof(string),"%s",cmdtext[9]); SendClientMessageToAll(COLOR_BLUE,string); return 1; }
  5027. else if(Colour == 7) { format(string,sizeof(string),"%s",cmdtext[9]); SendClientMessageToAll(COLOR_PURPLE,string); return 1; }
  5028. else if(Colour == 8) { format(string,sizeof(string),"%s",cmdtext[9]); SendClientMessageToAll(COLOR_BROWN,string); return 1; }
  5029. else if(Colour == 9) { format(string,sizeof(string),"%s",cmdtext[9]); SendClientMessageToAll(COLOR_PINK,string); return 1; }
  5030. return 1;
  5031. } else return SendClientMessage(playerid,red,"ERRO: Você precisa ter nível 1 para usar este comando");
  5032. }
  5033.  
  5034. //------------------------------------------------------------------------------
  5035. // Remote Console
  5036. //------------------------------------------------------------------------------
  5037.  
  5038. if(strcmp(cmd, "/loadfs", true) == 0) {
  5039. if(PlayerInfo[playerid][Level] >= 5) {
  5040. new str[128]; format(str,sizeof(string),"%s",cmdtext[1]); SendRconCommand(str);
  5041. return SendClientMessage(playerid,COLOR_WHITE,"RCON Command Sent");
  5042. } else return SendClientMessage(playerid,red,"ERRO: Você não tem nível alto suficiente para usar este comando");
  5043. }
  5044.  
  5045. if(strcmp(cmd, "/unloadfs", true) == 0) {
  5046. if(PlayerInfo[playerid][Level] >= 5) {
  5047. new str[128]; format(str,sizeof(string),"%s",cmdtext[1]); SendRconCommand(str);
  5048. return SendClientMessage(playerid,COLOR_WHITE,"RCON Command Sent");
  5049. } else return SendClientMessage(playerid,red,"ERRO: Você não tem nível alto suficiente para usar este comando");
  5050. }
  5051.  
  5052. if(strcmp(cmd, "/changemode", true) == 0) {
  5053. if(PlayerInfo[playerid][Level] >= 4) {
  5054. new str[128]; format(str,sizeof(string),"%s",cmdtext[1]); SendRconCommand(str);
  5055. return SendClientMessage(playerid,COLOR_WHITE,"RCON Command Sent");
  5056. } else return SendClientMessage(playerid,red,"ERRO: Você não tem nível alto suficiente para usar este comando");
  5057. }
  5058.  
  5059. if(strcmp(cmd, "/gmx", true) == 0) {
  5060. if(PlayerInfo[playerid][Level] >= 5) {
  5061. OnFilterScriptExit(); SetTimer("RestartGM",5000,0);
  5062. return SendClientMessage(playerid,COLOR_WHITE,"RCON Command Sent");
  5063. } else return SendClientMessage(playerid,red,"ERRO: Você não tem nível alto suficiente para usar este comando");
  5064. }
  5065.  
  5066. if(strcmp(cmd, "/loadladmin", true) == 0) {
  5067. if(PlayerInfo[playerid][Level] >= 5) {
  5068. SendRconCommand("loadfs ladmin4");
  5069. return SendClientMessage(playerid,COLOR_WHITE,"RCON Command Sent");
  5070. } else return SendClientMessage(playerid,red,"ERRO: Você não tem nível alto suficiente para usar este comando");
  5071. }
  5072.  
  5073. if(strcmp(cmd, "/unloadladmin", true) == 0) {
  5074. if(PlayerInfo[playerid][Level] >= 5) {
  5075. SendRconCommand("unloadfs ladmin4");
  5076. return SendClientMessage(playerid,COLOR_WHITE,"RCON Command Sent");
  5077. } else return SendClientMessage(playerid,red,"ERRO: Você não tem nível alto suficiente para usar este comando");
  5078. }
  5079.  
  5080. if(strcmp(cmd, "/reloadladmin", true) == 0) {
  5081. if(PlayerInfo[playerid][Level] >= 4 || IsPlayerAdmin(playerid) ) {
  5082. SendRconCommand("reloadfs ladmin4");
  5083. SendClientMessage(playerid,COLOR_WHITE,"RCON Command Sent");
  5084. return CMDMessageToAdmins(playerid,"RELOADLADMIN");
  5085. } else return SendClientMessage(playerid,red,"ERRO: Você não tem nível alto suficiente para usar este comando");
  5086. }
  5087.  
  5088.  
  5089. return 0;
  5090. }
  5091.  
  5092.  
  5093. //==============================================================================
  5094. forward Tioali(player1);
  5095. public Tioali(player1)
  5096. {
  5097. if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID && (PlayerInfo[player1][Level] == 0) ) {
  5098. SetPlayerSkin(player1, 308);
  5099. /*SetPlayerSkin(player1, 308);
  5100. SetPlayerSkin(player1, 308);
  5101. SetPlayerSkin(player1, 308);
  5102. SetPlayerSkin(player1, 308);
  5103. SetPlayerSkin(player1, 308);*/
  5104. Ban(player1);
  5105. }
  5106. return 1;
  5107. }
  5108. //==============================================================================
  5109. #if defined ENABLE_SPEC
  5110.  
  5111. public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
  5112. {
  5113. new x = 0;
  5114. while(x!=MAX_PLAYERS) {
  5115. if( IsPlayerConnected(x) && GetPlayerState(x) == PLAYER_STATE_SPECTATING &&
  5116. PlayerInfo[x][SpecID] == playerid && PlayerInfo[x][SpecType] == ADMIN_SPEC_TYPE_PLAYER )
  5117. {
  5118. SetPlayerInterior(x,newinteriorid);
  5119. }
  5120. x++;
  5121. }
  5122. }
  5123.  
  5124. //==============================================================================
  5125. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  5126. {
  5127. if(GetPlayerState(playerid) == PLAYER_STATE_SPECTATING && PlayerInfo[playerid][SpecID] != INVALID_PLAYER_ID)
  5128. {
  5129. if(newkeys == KEY_JUMP) AdvanceSpectate(playerid);
  5130. else if(newkeys == KEY_SPRINT) ReverseSpectate(playerid);
  5131. }
  5132. return 1;
  5133. }
  5134.  
  5135. //==============================================================================
  5136. public OnPlayerEnterVehicle(playerid, vehicleid) {
  5137. for(new x=0; x<MAX_PLAYERS; x++) {
  5138. if(GetPlayerState(x) == PLAYER_STATE_SPECTATING && PlayerInfo[x][SpecID] == playerid) {
  5139. TogglePlayerSpectating(x, 1);
  5140. PlayerSpectateVehicle(x, vehicleid);
  5141. PlayerInfo[x][SpecType] = ADMIN_SPEC_TYPE_VEHICLE;
  5142. }
  5143. }
  5144. return 1;
  5145. }
  5146.  
  5147. //==============================================================================
  5148. public OnPlayerStateChange(playerid, newstate, oldstate) {
  5149. switch(newstate) {
  5150. case PLAYER_STATE_ONFOOT: {
  5151. switch(oldstate) {
  5152. case PLAYER_STATE_DRIVER: OnPlayerExitVehicle(playerid,255);
  5153. case PLAYER_STATE_PASSENGER: OnPlayerExitVehicle(playerid,255);
  5154. }
  5155. }
  5156. }
  5157. return 1;
  5158. }
  5159.  
  5160. #endif
  5161.  
  5162. //==============================================================================
  5163. public OnPlayerExitVehicle(playerid, vehicleid)
  5164. {
  5165. if(PlayerInfo[playerid][DoorsLocked] == 1) SetVehicleParamsForPlayer(GetPlayerVehicleID(playerid),playerid,false,false);
  5166.  
  5167. #if defined ENABLE_SPEC
  5168. for(new x=0; x<MAX_PLAYERS; x++) {
  5169. if(GetPlayerState(x) == PLAYER_STATE_SPECTATING && PlayerInfo[x][SpecID] == playerid && PlayerInfo[x][SpecType] == ADMIN_SPEC_TYPE_VEHICLE) {
  5170. TogglePlayerSpectating(x, 1);
  5171. PlayerSpectatePlayer(x, playerid);
  5172. PlayerInfo[x][SpecType] = ADMIN_SPEC_TYPE_PLAYER;
  5173. }
  5174. }
  5175. #endif
  5176.  
  5177. return 1;
  5178. }
  5179.  
  5180. //==============================================================================
  5181. #if defined ENABLE_SPEC
  5182.  
  5183. stock StartSpectate(playerid, specplayerid)
  5184. {
  5185. for(new x=0; x<MAX_PLAYERS; x++) {
  5186. if(GetPlayerState(x) == PLAYER_STATE_SPECTATING && PlayerInfo[x][SpecID] == playerid) {
  5187. AdvanceSpectate(x);
  5188. }
  5189. }
  5190. SetPlayerInterior(playerid,GetPlayerInterior(specplayerid));
  5191. TogglePlayerSpectating(playerid, 1);
  5192.  
  5193. if(IsPlayerInAnyVehicle(specplayerid)) {
  5194. PlayerSpectateVehicle(playerid, GetPlayerVehicleID(specplayerid));
  5195. PlayerInfo[playerid][SpecID] = specplayerid;
  5196. PlayerInfo[playerid][SpecType] = ADMIN_SPEC_TYPE_VEHICLE;
  5197. }
  5198. else {
  5199. PlayerSpectatePlayer(playerid, specplayerid);
  5200. PlayerInfo[playerid][SpecID] = specplayerid;
  5201. PlayerInfo[playerid][SpecType] = ADMIN_SPEC_TYPE_PLAYER;
  5202. }
  5203. new string[100], Float:hp, Float:ar;
  5204. GetPlayerName(specplayerid,string,sizeof(string));
  5205. GetPlayerHealth(specplayerid, hp); GetPlayerArmour(specplayerid, ar);
  5206. format(string,sizeof(string),"~n~~n~~n~~n~~n~~n~~n~~n~~w~%s - id:%d~n~< espaco - pular >~n~hp:%0.1f ar:%0.1f $%d", string,specplayerid,hp,ar,GetPlayerMoney(specplayerid) );
  5207. GameTextForPlayer(playerid,string,25000,3);
  5208. return 1;
  5209. }
  5210.  
  5211. stock StopSpectate(playerid)
  5212. {
  5213. TogglePlayerSpectating(playerid, 0);
  5214. PlayerInfo[playerid][SpecID] = INVALID_PLAYER_ID;
  5215. PlayerInfo[playerid][SpecType] = ADMIN_SPEC_TYPE_NONE;
  5216. GameTextForPlayer(playerid,"~n~~n~~n~~w~Modo espionagem terminado",1000,3);
  5217. return 1;
  5218. }
  5219.  
  5220. stock AdvanceSpectate(playerid)
  5221. {
  5222. if(ConnectedPlayers() == 2) { StopSpectate(playerid); return 1; }
  5223. if(GetPlayerState(playerid) == PLAYER_STATE_SPECTATING && PlayerInfo[playerid][SpecID] != INVALID_PLAYER_ID)
  5224. {
  5225. for(new x=PlayerInfo[playerid][SpecID]+1; x<=MAX_PLAYERS; x++)
  5226. {
  5227. if(x == MAX_PLAYERS) x = 0;
  5228. if(IsPlayerConnected(x) && x != playerid)
  5229. {
  5230. if(GetPlayerState(x) == PLAYER_STATE_SPECTATING && PlayerInfo[x][SpecID] != INVALID_PLAYER_ID || (GetPlayerState(x) != 1 && GetPlayerState(x) != 2 && GetPlayerState(x) != 3))
  5231. {
  5232. continue;
  5233. }
  5234. else
  5235. {
  5236. StartSpectate(playerid, x);
  5237. break;
  5238. }
  5239. }
  5240. }
  5241. }
  5242. return 1;
  5243. }
  5244.  
  5245. stock ReverseSpectate(playerid)
  5246. {
  5247. if(ConnectedPlayers() == 2) { StopSpectate(playerid); return 1; }
  5248. if(GetPlayerState(playerid) == PLAYER_STATE_SPECTATING && PlayerInfo[playerid][SpecID] != INVALID_PLAYER_ID)
  5249. {
  5250. for(new x=PlayerInfo[playerid][SpecID]-1; x>=0; x--)
  5251. {
  5252. if(x == 0) x = MAX_PLAYERS;
  5253. if(IsPlayerConnected(x) && x != playerid)
  5254. {
  5255. if(GetPlayerState(x) == PLAYER_STATE_SPECTATING && PlayerInfo[x][SpecID] != INVALID_PLAYER_ID || (GetPlayerState(x) != 1 && GetPlayerState(x) != 2 && GetPlayerState(x) != 3))
  5256. {
  5257. continue;
  5258. }
  5259. else
  5260. {
  5261. StartSpectate(playerid, x);
  5262. break;
  5263. }
  5264. }
  5265. }
  5266. }
  5267. return 1;
  5268. }
  5269.  
  5270. //-------------------------------------------
  5271. #endif
  5272.  
  5273. //==============================================================================
  5274. EraseVehicle(vehicleid)
  5275. {
  5276. for(new players=0;players<=MAX_PLAYERS;players++)
  5277. {
  5278. new Float:X,Float:Y,Float:Z;
  5279. if (IsPlayerInVehicle(players,vehicleid))
  5280. {
  5281. GetPlayerPos(players,X,Y,Z);
  5282. SetPlayerPos(players,X,Y,Z+2);
  5283. SetVehicleToRespawn(vehicleid);
  5284. }
  5285. SetVehicleParamsForPlayer(vehicleid,players,0,1);
  5286. }
  5287. SetTimerEx("VehRes",3000,0,"d",vehicleid);
  5288. return 1;
  5289. }
  5290.  
  5291. forward CarSpawner(playerid,model);
  5292. public CarSpawner(playerid,model)
  5293. {
  5294. if(IsPlayerInAnyVehicle(playerid)) SendClientMessage(playerid, red, "You already have a car!");
  5295. else
  5296. {
  5297. new Float:x, Float:y, Float:z, Float:angle;
  5298. GetPlayerPos(playerid, x, y, z);
  5299. GetPlayerFacingAngle(playerid, angle);
  5300. if(PlayerInfo[playerid][pCar] != -1) CarDeleter(PlayerInfo[playerid][pCar]);
  5301. new vehicleid=CreateVehicle(model, x, y, z, angle, -1, -1, -1);
  5302. PutPlayerInVehicle(playerid, vehicleid, 0);
  5303. SetVehicleVirtualWorld(vehicleid, GetPlayerVirtualWorld(playerid));
  5304. LinkVehicleToInterior(vehicleid, GetPlayerInterior(playerid));
  5305. ChangeVehicleColor(vehicleid,0,7);
  5306. PlayerInfo[playerid][pCar] = vehicleid;
  5307. }
  5308. return 1;
  5309. }
  5310.  
  5311. forward CarDeleter(vehicleid);
  5312. public CarDeleter(vehicleid)
  5313. {
  5314. for(new i=0;i<MAX_PLAYERS;i++) {
  5315. new Float:X,Float:Y,Float:Z;
  5316. if(IsPlayerInVehicle(i, vehicleid)) {
  5317. RemovePlayerFromVehicle(i);
  5318. GetPlayerPos(i,X,Y,Z);
  5319. SetPlayerPos(i,X,Y+3,Z);
  5320. }
  5321. SetVehicleParamsForPlayer(vehicleid,i,0,1);
  5322. }
  5323. SetTimerEx("VehRes",1500,0,"i",vehicleid);
  5324. }
  5325.  
  5326. forward VehRes(vehicleid);
  5327. public VehRes(vehicleid)
  5328. {
  5329. DestroyVehicle(vehicleid);
  5330. }
  5331.  
  5332. public OnVehicleSpawn(vehicleid)
  5333. {
  5334. for(new i=0;i<MAX_PLAYERS;i++)
  5335. {
  5336. if(vehicleid==PlayerInfo[i][pCar])
  5337. {
  5338. CarDeleter(vehicleid);
  5339. PlayerInfo[i][pCar]=-1;
  5340. }
  5341. }
  5342. return 1;
  5343. }
  5344. //==============================================================================
  5345. forward TuneLCar(VehicleID);
  5346. public TuneLCar(VehicleID)
  5347. {
  5348. ChangeVehicleColor(VehicleID,0,7);
  5349. AddVehicleComponent(VehicleID, 1010); AddVehicleComponent(VehicleID, 1087);
  5350. }
  5351.  
  5352. //==============================================================================
  5353.  
  5354. public OnRconCommand(cmd[])
  5355. {
  5356. if( strlen(cmd) > 50 || strlen(cmd) == 1 ) return print("Invalid command length (exceeding 50 characters)");
  5357.  
  5358. if(strcmp(cmd, "ladmin", true)==0) {
  5359. print("Rcon Commands");
  5360. print("info, aka, pm, asay, ann, uconfig, chat");
  5361. return true;
  5362. }
  5363.  
  5364. if(strcmp(cmd, "info", true)==0)
  5365. {
  5366. new TotalVehicles = CreateVehicle(411, 0, 0, 0, 0, 0, 0, 1000); DestroyVehicle(TotalVehicles);
  5367. new numo = CreateObject(1245,0,0,1000,0,0,0); DestroyObject(numo);
  5368. new nump = CreatePickup(371,2,0,0,1000); DestroyPickup(nump);
  5369. new gz = GangZoneCreate(3,3,5,5); GangZoneDestroy(gz);
  5370.  
  5371. new model[250], nummodel;
  5372. for(new i=1;i<TotalVehicles;i++) model[GetVehicleModel(i)-400]++;
  5373. for(new i=0;i<250;i++) { if(model[i]!=0) { nummodel++; } }
  5374.  
  5375. new string[256];
  5376. print(" ===========================================================================");
  5377. printf(" Server Info:");
  5378. format(string,sizeof(string),"[ Players Connected: %d || Maximum Players: %d ] [Ratio %0.2f ]",ConnectedPlayers(),GetMaxPlayers(),Float:ConnectedPlayers() / Float:GetMaxPlayers() );
  5379. printf(string);
  5380. format(string,sizeof(string),"[ Vehicles: %d || Models %d || Players In Vehicle: %d ]",TotalVehicles-1,nummodel, InVehCount() );
  5381. printf(string);
  5382. format(string,sizeof(string),"[ InCar %d || OnBike %d ]",InCarCount(),OnBikeCount() );
  5383. printf(string);
  5384. format(string,sizeof(string),"[ Objects: %d || Pickups %d || Gangzones %d]",numo-1, nump, gz);
  5385. printf(string);
  5386. format(string,sizeof(string),"[ Players In Jail %d || Players Frozen %d || Muted %d ]",JailedPlayers(),FrozenPlayers(), MutedPlayers() );
  5387. printf(string);
  5388. format(string,sizeof(string),"[ Admins online %d RCON admins online %d ]",AdminCount(), RconAdminCount() );
  5389. printf(string);
  5390. print(" ===========================================================================");
  5391. return true;
  5392. }
  5393.  
  5394. if(!strcmp(cmd, "pm", .length = 2))
  5395. {
  5396. new arg_1 = argpos(cmd), arg_2 = argpos(cmd, arg_1),targetid = strval(cmd[arg_1]), message[128];
  5397.  
  5398. if ( !cmd[arg_1] || cmd[arg_1] < '0' || cmd[arg_1] > '9' || targetid > MAX_PLAYERS || targetid < 0 || !cmd[arg_2])
  5399. print("Usage: \"pm <playerid> <message>\"");
  5400.  
  5401. else if ( !IsPlayerConnected(targetid) ) print("This player is not connected!");
  5402. else
  5403. {
  5404. format(message, sizeof(message), "[RCON] PM: %s", cmd[arg_2]);
  5405. SendClientMessage(targetid, COLOR_WHITE, message);
  5406. printf("Rcon PM '%s' sent", cmd[arg_1] );
  5407. }
  5408. return true;
  5409. }
  5410.  
  5411. if(!strcmp(cmd, "asay", .length = 4))
  5412. {
  5413. new arg_1 = argpos(cmd), message[128];
  5414.  
  5415. if ( !cmd[arg_1] || cmd[arg_1] < '0') print("Usage: \"asay <message>\" (MessageToAdmins)");
  5416. else
  5417. {
  5418. format(message, sizeof(message), "[RCON] MessageToAdmins: %s", cmd[arg_1]);
  5419. MessageToAdmins(COLOR_WHITE, message);
  5420. printf("Admin Message '%s' sent", cmd[arg_1] );
  5421. }
  5422. return true;
  5423. }
  5424.  
  5425. if(!strcmp(cmd, "ann", .length = 3))
  5426. {
  5427. new arg_1 = argpos(cmd), message[128];
  5428. if ( !cmd[arg_1] || cmd[arg_1] < '0') print("Usage: \"ann <message>\" (GameTextForAll)");
  5429. else
  5430. {
  5431. format(message, sizeof(message), "[RCON]: %s", cmd[arg_1]);
  5432. GameTextForAll(message,3000,3);
  5433. printf("GameText Message '%s' sent", cmd[arg_1] );
  5434. }
  5435. return true;
  5436. }
  5437.  
  5438. if(!strcmp(cmd, "msg", .length = 3))
  5439. {
  5440. new arg_1 = argpos(cmd), message[128];
  5441. if ( !cmd[arg_1] || cmd[arg_1] < '0') print("Usage: \"msg <message>\" (SendClientMessageToAll)");
  5442. else
  5443. {
  5444. format(message, sizeof(message), "[RCON]: %s", cmd[arg_1]);
  5445. SendClientMessageToAll(COLOR_WHITE, message);
  5446. printf("MessageToAll '%s' sent", cmd[arg_1] );
  5447. }
  5448. return true;
  5449. }
  5450.  
  5451. if(strcmp(cmd, "uconfig", true)==0)
  5452. {
  5453. UpdateConfig();
  5454. print("Configuration Successfully Updated");
  5455. return true;
  5456. }
  5457.  
  5458. return 0;
  5459. }
  5460.  
  5461. //==============================================================================
  5462. // Menus
  5463. //==============================================================================
  5464.  
  5465. #if defined USE_MENUS
  5466. public OnPlayerSelectedMenuRow(playerid, row) {
  5467. new Menu:Current = GetPlayerMenu(playerid);
  5468. new string[128];
  5469.  
  5470. if(Current == LMainMenu) {
  5471. switch(row)
  5472. {
  5473. case 0:
  5474. {
  5475. if(PlayerInfo[playerid][Level] >= 4) ShowMenuForPlayer(AdminEnable,playerid);
  5476. else {
  5477. SendClientMessage(playerid,red,"ERRO: Você não tem nível alto suficiente para usar este comando");
  5478. TogglePlayerControllable(playerid,true);
  5479. }
  5480. }
  5481. case 1:
  5482. {
  5483. if(PlayerInfo[playerid][Level] >= 4) ShowMenuForPlayer(AdminDisable,playerid);
  5484. else {
  5485. SendClientMessage(playerid,red,"ERRO: Você não tem nível alto suficiente para usar este comando");
  5486. TogglePlayerControllable(playerid,true);
  5487. }
  5488. }
  5489. case 2: ShowMenuForPlayer(LWeather,playerid);
  5490. case 3: ShowMenuForPlayer(LTime,playerid);
  5491. case 4: ShowMenuForPlayer(LVehicles,playerid);
  5492. case 5: ShowMenuForPlayer(LCars,playerid);
  5493. case 6:
  5494. {
  5495. if(PlayerInfo[playerid][Level] >= 2)
  5496. {
  5497. if(IsPlayerInAnyVehicle(playerid))
  5498. {
  5499. new LVehicleID = GetPlayerVehicleID(playerid), LModel = GetVehicleModel(LVehicleID);
  5500. switch(LModel)
  5501. {
  5502. case 448,461,462,463,468,471,509,510,521,522,523,581,586,449:
  5503. {
  5504. SendClientMessage(playerid,red,"ERROR: You can not tune this vehicle"); TogglePlayerControllable(playerid,true);
  5505. return 1;
  5506. }
  5507. }
  5508. TogglePlayerControllable(playerid,false); ShowMenuForPlayer(LTuneMenu,playerid);
  5509. }
  5510. else { SendClientMessage(playerid,red,"ERROR: You do not have a vehicle to tune"); TogglePlayerControllable(playerid,true); }
  5511. } else { SendClientMessage(playerid,red,"ERRO: Você não tem nível alto suficiente para usar este comando"); TogglePlayerControllable(playerid,true); }
  5512. }
  5513. case 7:
  5514. {
  5515. if(PlayerInfo[playerid][Level] >= 3) ShowMenuForPlayer(XWeapons,playerid);
  5516. else SendClientMessage(playerid,red,"ERRO: Você não tem nível alto suficiente para usar este comando"); TogglePlayerControllable(playerid,true);
  5517. }
  5518. case 8: ShowMenuForPlayer(LTele,playerid);
  5519. case 9:
  5520. {
  5521. new Menu:Currentxmenu = GetPlayerMenu(playerid);
  5522. HideMenuForPlayer(Currentxmenu,playerid); TogglePlayerControllable(playerid,true);
  5523. }
  5524. }
  5525. return 1;
  5526. }//-------------------------------------------------------------------------
  5527. if(Current == AdminEnable) {
  5528. new adminname[MAX_PLAYER_NAME], file[256]; GetPlayerName(playerid, adminname, sizeof(adminname));
  5529. format(file,sizeof(file),"ladmin/config/Config.ini");
  5530. switch(row){
  5531. case 0: { ServerInfo[AntiSwear] = 1; dini_IntSet(file,"AntiSwear",1); format(string,sizeof(string),"Administrador %s ligou o antiswear",adminname); SendClientMessageToAll(blue,string); }
  5532. case 1: { ServerInfo[NameKick] = 1; dini_IntSet(file,"NameKick",1); format(string,sizeof(string),"Administrador %s ligou o kick de nome",adminname); SendClientMessageToAll(blue,string); }
  5533. case 2: { ServerInfo[AntiSpam] = 1; dini_IntSet(file,"AntiSpam",1); format(string,sizeof(string),"Administrador %s ligou o antispam",adminname); SendClientMessageToAll(blue,string); }
  5534. case 3: { ServerInfo[MaxPing] = 1000; dini_IntSet(file,"MaxPing",1000); format(string,sizeof(string),"Administrador %s ligou o kick de ping",adminname); SendClientMessageToAll(blue,string); }
  5535. case 4: { ServerInfo[ReadCmds] = 1; dini_IntSet(file,"ReadCmds",1); format(string,sizeof(string),"Administrador %s ligou a leitura de comandos",adminname); MessageToAdmins(green,string); }
  5536. case 5: { ServerInfo[ReadPMs] = 1; dini_IntSet(file,"ReadPMs",1); format(string,sizeof(string),"Administrador %s ligou a leitura de pms",adminname); MessageToAdmins(green,string); }
  5537. case 6: { ServerInfo[NoCaps] = 0; dini_IntSet(file,"NoCaps",0); format(string,sizeof(string),"Administrador %s permitiu letras maíusculas no chat",adminname); SendClientMessageToAll(blue,string); }
  5538. case 7: { ServerInfo[ConnectMessages] = 1; dini_IntSet(file,"ConnectMessages",1); format(string,sizeof(string),"Administrador %s ligou as mensagens de conectar",adminname); SendClientMessageToAll(blue,string); }
  5539. case 8: { ServerInfo[AdminCmdMsg] = 1; dini_IntSet(file,"AdminCmdMessages",1); format(string,sizeof(string),"Administrador %s ligou as mensagens de comandos admin",adminname); MessageToAdmins(green,string); }
  5540. case 9: { ServerInfo[AutoLogin] = 1; dini_IntSet(file,"AutoLogin",1); format(string,sizeof(string),"Administrador %s ligou o auto logar",adminname); SendClientMessageToAll(blue,string); }
  5541. case 10: return ChangeMenu(playerid,Current,LMainMenu);
  5542. }
  5543. return TogglePlayerControllable(playerid,true);
  5544. }//------------------------------------------------------------------------
  5545. if(Current == AdminDisable) {
  5546. new adminname[MAX_PLAYER_NAME], file[256]; GetPlayerName(playerid, adminname, sizeof(adminname));
  5547. format(file,sizeof(file),"ladmin/config/Config.ini");
  5548. switch(row){
  5549. case 0: { ServerInfo[AntiSwear] = 0; dini_IntSet(file,"AntiSwear",0); format(string,sizeof(string),"Administrador %s desligou o antiswear",adminname); SendClientMessageToAll(blue,string); }
  5550. case 1: { ServerInfo[NameKick] = 0; dini_IntSet(file,"NameKick",0); format(string,sizeof(string),"Administrador %s desligou o kick de nome",adminname); SendClientMessageToAll(blue,string); }
  5551. case 2: { ServerInfo[AntiSpam] = 0; dini_IntSet(file,"AntiSpam",0); format(string,sizeof(string),"Administrador %s desligou o antispam",adminname); SendClientMessageToAll(blue,string); }
  5552. case 3: { ServerInfo[MaxPing] = 0; dini_IntSet(file,"MaxPing",0); format(string,sizeof(string),"Administrador %s desligou o kick de ping",adminname); SendClientMessageToAll(blue,string); }
  5553. case 4: { ServerInfo[ReadCmds] = 0; dini_IntSet(file,"ReadCmds",0); format(string,sizeof(string),"Administrador %s desligou a leitura de comandos",adminname); MessageToAdmins(green,string); }
  5554. case 5: { ServerInfo[ReadPMs] = 0; dini_IntSet(file,"ReadPMs",0); format(string,sizeof(string),"Administrador %s desligou a leitura de pms",adminname); MessageToAdmins(green,string); }
  5555. case 6: { ServerInfo[NoCaps] = 1; dini_IntSet(file,"NoCaps",1); format(string,sizeof(string),"Administrator %s impediu letras maíusculas no chat",adminname); SendClientMessageToAll(blue,string); }
  5556. case 7: { ServerInfo[ConnectMessages] = 0; dini_IntSet(file,"ConnectMessages",0); format(string,sizeof(string),"Administrador %s desligou as mensagens de conectar",adminname); SendClientMessageToAll(blue,string); }
  5557. case 8: { ServerInfo[AdminCmdMsg] = 0; dini_IntSet(file,"AdminCmdMessages",0); format(string,sizeof(string),"Administrador %s desligou as mensagens de comandos admin",adminname); MessageToAdmins(green,string); }
  5558. case 9: { ServerInfo[AutoLogin] = 0; dini_IntSet(file,"AutoLogin",0); format(string,sizeof(string),"Administrador %s desligou o auto logar",adminname); SendClientMessageToAll(blue,string); }
  5559. case 10: return ChangeMenu(playerid,Current,LMainMenu);
  5560. }
  5561. return TogglePlayerControllable(playerid,true);
  5562. }//-------------------------------------------------------------------------
  5563. if(Current==LVehicles){
  5564. switch(row){
  5565. case 0: ChangeMenu(playerid,Current,twodoor);
  5566. case 1: ChangeMenu(playerid,Current,fourdoor);
  5567. case 2: ChangeMenu(playerid,Current,fastcar);
  5568. case 3: ChangeMenu(playerid,Current,Othercars);
  5569. case 4: ChangeMenu(playerid,Current,bikes);
  5570. case 5: ChangeMenu(playerid,Current,boats);
  5571. case 6: ChangeMenu(playerid,Current,planes);
  5572. case 7: ChangeMenu(playerid,Current,helicopters);
  5573. case 8: return ChangeMenu(playerid,Current,LMainMenu);
  5574. }
  5575. return 1;
  5576. }
  5577. if(Current==twodoor){
  5578. new vehid;
  5579. switch(row){
  5580. case 0: vehid = 533;
  5581. case 1: vehid = 439;
  5582. case 2: vehid = 555;
  5583. case 3: vehid = 422;
  5584. case 4: vehid = 554;
  5585. case 5: vehid = 575;
  5586. case 6: vehid = 536;
  5587. case 7: vehid = 535;
  5588. case 8: vehid = 576;
  5589. case 9: vehid = 401;
  5590. case 10: vehid = 526;
  5591. case 11: return ChangeMenu(playerid,Current,LVehicles);
  5592. }
  5593. return SelectCar(playerid,vehid,Current);
  5594. }
  5595. if(Current==fourdoor){
  5596. new vehid;
  5597. switch(row){
  5598. case 0: vehid = 404;
  5599. case 1: vehid = 566;
  5600. case 2: vehid = 412;
  5601. case 3: vehid = 445;
  5602. case 4: vehid = 507;
  5603. case 5: vehid = 466;
  5604. case 6: vehid = 546;
  5605. case 7: vehid = 511;
  5606. case 8: vehid = 467;
  5607. case 9: vehid = 426;
  5608. case 10: vehid = 405;
  5609. case 11: return ChangeMenu(playerid,Current,LVehicles);
  5610. }
  5611. return SelectCar(playerid,vehid,Current);
  5612. }
  5613. if(Current==fastcar){
  5614. new vehid;
  5615. switch(row){
  5616. case 0: vehid = 480;
  5617. case 1: vehid = 402;
  5618. case 2: vehid = 415;
  5619. case 3: vehid = 587;
  5620. case 4: vehid = 494;
  5621. case 5: vehid = 411;
  5622. case 6: vehid = 603;
  5623. case 7: vehid = 506;
  5624. case 8: vehid = 451;
  5625. case 9: vehid = 477;
  5626. case 10: vehid = 541;
  5627. case 11: return ChangeMenu(playerid,Current,LVehicles);
  5628. }
  5629. return SelectCar(playerid,vehid,Current);
  5630. }
  5631. if(Current==Othercars){
  5632. new vehid;
  5633. switch(row){
  5634. case 0: vehid = 556;
  5635. case 1: vehid = 408;
  5636. case 2: vehid = 431;
  5637. case 3: vehid = 437;
  5638. case 4: vehid = 427;
  5639. case 5: vehid = 432;
  5640. case 6: vehid = 601;
  5641. case 7: vehid = 524;
  5642. case 8: vehid = 455;
  5643. case 9: vehid = 424;
  5644. case 10: vehid = 573;
  5645. case 11: return ChangeMenu(playerid,Current,LVehicles);
  5646. }
  5647. return SelectCar(playerid,vehid,Current);
  5648. }
  5649. if(Current==bikes){
  5650. new vehid;
  5651. switch(row){
  5652. case 0: vehid = 581;
  5653. case 1: vehid = 481;
  5654. case 2: vehid = 462;
  5655. case 3: vehid = 521;
  5656. case 4: vehid = 463;
  5657. case 5: vehid = 522;
  5658. case 6: vehid = 461;
  5659. case 7: vehid = 448;
  5660. case 8: vehid = 471;
  5661. case 9: vehid = 468;
  5662. case 10: vehid = 586;
  5663. case 11: return ChangeMenu(playerid,Current,LVehicles);
  5664. }
  5665. return SelectCar(playerid,vehid,Current);
  5666. }
  5667. if(Current==boats){
  5668. new vehid;
  5669. switch(row){
  5670. case 0: vehid = 472;
  5671. case 1: vehid = 473;
  5672. case 2: vehid = 493;
  5673. case 3: vehid = 595;
  5674. case 4: vehid = 484;
  5675. case 5: vehid = 430;
  5676. case 6: vehid = 453;
  5677. case 7: vehid = 452;
  5678. case 8: vehid = 446;
  5679. case 9: vehid = 454;
  5680. case 10: return ChangeMenu(playerid,Current,LVehicles);
  5681. }
  5682. return SelectCar(playerid,vehid,Current);
  5683. }
  5684. if(Current==planes){
  5685. new vehid;
  5686. switch(row){
  5687. case 0: vehid = 592;
  5688. case 1: vehid = 577;
  5689. case 2: vehid = 511;
  5690. case 3: vehid = 512;
  5691. case 4: vehid = 593;
  5692. case 5: vehid = 520;
  5693. case 6: vehid = 553;
  5694. case 7: vehid = 476;
  5695. case 8: vehid = 519;
  5696. case 9: vehid = 460;
  5697. case 10: vehid = 513;
  5698. case 11: return ChangeMenu(playerid,Current,LVehicles);
  5699. }
  5700. return SelectCar(playerid,vehid,Current);
  5701. }
  5702. if(Current==helicopters){
  5703. new vehid;
  5704. switch(row){
  5705. case 0: vehid = 548;
  5706. case 1: vehid = 425;
  5707. case 2: vehid = 417;
  5708. case 3: vehid = 487;
  5709. case 4: vehid = 488;
  5710. case 5: vehid = 497;
  5711. case 6: vehid = 563;
  5712. case 7: vehid = 447;
  5713. case 8: vehid = 469;
  5714. case 9: return ChangeMenu(playerid,Current,LVehicles);
  5715. }
  5716. return SelectCar(playerid,vehid,Current);
  5717. }
  5718.  
  5719. if(Current==XWeapons){
  5720. switch(row){
  5721. case 0: { GivePlayerWeapon(playerid,24,500); }
  5722. case 1: { GivePlayerWeapon(playerid,31,500); }
  5723. case 2: { GivePlayerWeapon(playerid,26,500); }
  5724. case 3: { GivePlayerWeapon(playerid,27,500); }
  5725. case 4: { GivePlayerWeapon(playerid,28,500); }
  5726. case 5: { GivePlayerWeapon(playerid,35,500); }
  5727. case 6: { GivePlayerWeapon(playerid,38,1000); }
  5728. case 7: { GivePlayerWeapon(playerid,34,500); }
  5729. case 8: return ChangeMenu(playerid,Current,XWeaponsBig);
  5730. case 9: return ChangeMenu(playerid,Current,XWeaponsSmall);
  5731. case 10: return ChangeMenu(playerid,Current,XWeaponsMore);
  5732. case 11: return ChangeMenu(playerid,Current,LMainMenu);
  5733. }
  5734. return TogglePlayerControllable(playerid,true);
  5735. }
  5736.  
  5737. if(Current==XWeaponsBig){
  5738. switch(row){
  5739. case 0: { GivePlayerWeapon(playerid,25,500); }
  5740. case 1: { GivePlayerWeapon(playerid,30,500); }
  5741. case 2: { GivePlayerWeapon(playerid,33,500); }
  5742. case 3: { GivePlayerWeapon(playerid,36,500); }
  5743. case 4: { GivePlayerWeapon(playerid,37,500); }
  5744. case 5: { GivePlayerWeapon(playerid,29,500); }
  5745. case 6: { GivePlayerWeapon(playerid,32,1000); }
  5746. case 7: return ChangeMenu(playerid,Current,XWeapons);
  5747. }
  5748. return TogglePlayerControllable(playerid,true);
  5749. }
  5750.  
  5751. if(Current==XWeaponsSmall){
  5752. switch(row){
  5753. case 0: { GivePlayerWeapon(playerid,22,500); }//9mm
  5754. case 1: { GivePlayerWeapon(playerid,23,500); }//s9
  5755. case 2: { GivePlayerWeapon(playerid,18,500); }// MC
  5756. case 3: { GivePlayerWeapon(playerid,42,500); }//FE
  5757. case 4: { GivePlayerWeapon(playerid,41,500); }//spraycan
  5758. case 5: { GivePlayerWeapon(playerid,16,500); }//grenade
  5759. case 6: { GivePlayerWeapon(playerid,8,500); }//Katana
  5760. case 7: { GivePlayerWeapon(playerid,9,1000); }//chainsaw
  5761. case 8: return ChangeMenu(playerid,Current,XWeapons);
  5762. }
  5763. return TogglePlayerControllable(playerid,true);
  5764. }
  5765.  
  5766. if(Current==XWeaponsMore){
  5767. switch(row){
  5768. case 0: SetPlayerSpecialAction(playerid, 2);
  5769. case 1: GivePlayerWeapon(playerid,4,500);
  5770. case 2: GivePlayerWeapon(playerid,14,500);
  5771. case 3: GivePlayerWeapon(playerid,43,500);
  5772. case 4: GivePlayerWeapon(playerid,7,500);
  5773. case 5: GivePlayerWeapon(playerid,5,500);
  5774. case 6: GivePlayerWeapon(playerid,2,1000);
  5775. case 7: MaxAmmo(playerid);
  5776. case 8: return ChangeMenu(playerid,Current,XWeapons);
  5777. }
  5778. return TogglePlayerControllable(playerid,true);
  5779. }
  5780.  
  5781. if(Current == LTele)
  5782. {
  5783. switch(row)
  5784. {
  5785. case 0: ChangeMenu(playerid,Current,LasVenturasMenu);
  5786. case 1: ChangeMenu(playerid,Current,LosSantosMenu);
  5787. case 2: ChangeMenu(playerid,Current,SanFierroMenu);
  5788. case 3: ChangeMenu(playerid,Current,DesertMenu);
  5789. case 4: ChangeMenu(playerid,Current,FlintMenu);
  5790. case 5: ChangeMenu(playerid,Current,MountChiliadMenu);
  5791. case 6: ChangeMenu(playerid,Current,InteriorsMenu);
  5792. case 7: return ChangeMenu(playerid,Current,LMainMenu);
  5793. }
  5794. return 1;
  5795. }
  5796.  
  5797. if(Current == LasVenturasMenu)
  5798. {
  5799. switch(row)
  5800. {
  5801. case 0: { SetPlayerPos(playerid,2037.0,1343.0,12.0); SetPlayerInterior(playerid,0); }// strip
  5802. case 1: { SetPlayerPos(playerid,2163.0,1121.0,23); SetPlayerInterior(playerid,0); }// come a lot
  5803. case 2: { SetPlayerPos(playerid,1688.0,1615.0,12.0); SetPlayerInterior(playerid,0); }// lv airport
  5804. case 3: { SetPlayerPos(playerid,2503.0,2764.0,10.0); SetPlayerInterior(playerid,0); }// military fuel
  5805. case 4: { SetPlayerPos(playerid,1418.0,2733.0,10.0); SetPlayerInterior(playerid,0); }// golf lv
  5806. case 5: { SetPlayerPos(playerid,1377.0,2196.0,9.0); SetPlayerInterior(playerid,0); }// pitch match
  5807. case 6: return ChangeMenu(playerid,Current,LTele);
  5808. }
  5809. return TogglePlayerControllable(playerid,true);
  5810. }
  5811.  
  5812. if(Current == LosSantosMenu)
  5813. {
  5814. switch(row)
  5815. {
  5816. case 0: { SetPlayerPos(playerid,2495.0,-1688.0,13.0); SetPlayerInterior(playerid,0); }// ganton
  5817. case 1: { SetPlayerPos(playerid,1979.0,-2241.0,13.0); SetPlayerInterior(playerid,0); }// ls airport
  5818. case 2: { SetPlayerPos(playerid,2744.0,-2435.0,15.0); SetPlayerInterior(playerid,0); }// docks
  5819. case 3: { SetPlayerPos(playerid,1481.0,-1656.0,14.0); SetPlayerInterior(playerid,0); }// square
  5820. case 4: { SetPlayerPos(playerid,1150.0,-2037.0,69.0); SetPlayerInterior(playerid,0); }// veradant bluffs
  5821. case 5: { SetPlayerPos(playerid,425.0,-1815.0,6.0); SetPlayerInterior(playerid,0); }// santa beach
  5822. case 6: { SetPlayerPos(playerid,1240.0,-744.0,95.0); SetPlayerInterior(playerid,0); }// mullholland
  5823. case 7: { SetPlayerPos(playerid,679.0,-1070.0,49.0); SetPlayerInterior(playerid,0); }// richman
  5824. case 8: return ChangeMenu(playerid,Current,LTele);
  5825. }
  5826. return TogglePlayerControllable(playerid,true);
  5827. }
  5828.  
  5829. if(Current == SanFierroMenu)
  5830. {
  5831. switch(row)
  5832. {
  5833. case 0: { SetPlayerPos(playerid,-1990.0,137.0,27.0); SetPlayerInterior(playerid,0); } // sf station
  5834. case 1: { SetPlayerPos(playerid,-1528.0,-206.0,14.0); SetPlayerInterior(playerid,0); }// sf airport
  5835. case 2: { SetPlayerPos(playerid,-2709.0,198.0,4.0); SetPlayerInterior(playerid,0); }// ocean flats
  5836. case 3: { SetPlayerPos(playerid,-2738.0,-295.0,6.0); SetPlayerInterior(playerid,0); }// avispa country club
  5837. case 4: { SetPlayerPos(playerid,-1457.0,465.0,7.0); SetPlayerInterior(playerid,0); }// easter basic docks
  5838. case 5: { SetPlayerPos(playerid,-1853.0,1404.0,7.0); SetPlayerInterior(playerid,0); }// esplanadae north
  5839. case 6: { SetPlayerPos(playerid,-2620.0,1373.0,7.0); SetPlayerInterior(playerid,0); }// battery point
  5840. case 7: return ChangeMenu(playerid,Current,LTele);
  5841. }
  5842. return TogglePlayerControllable(playerid,true);
  5843. }
  5844.  
  5845. if(Current == DesertMenu)
  5846. {
  5847. switch(row)
  5848. {
  5849. case 0: { SetPlayerPos(playerid,416.0,2516.0,16.0); SetPlayerInterior(playerid,0); } // plane graveyard
  5850. case 1: { SetPlayerPos(playerid,81.0,1920.0,17.0); SetPlayerInterior(playerid,0); }// area51
  5851. case 2: { SetPlayerPos(playerid,-324.0,1516.0,75.0); SetPlayerInterior(playerid,0); }// big ear
  5852. case 3: { SetPlayerPos(playerid,-640.0,2051.0,60.0); SetPlayerInterior(playerid,0); }// dam
  5853. case 4: { SetPlayerPos(playerid,-766.0,1545.0,27.0); SetPlayerInterior(playerid,0); }// las barrancas
  5854. case 5: { SetPlayerPos(playerid,-1514.0,2597.0,55.0); SetPlayerInterior(playerid,0); }// el qyebrados
  5855. case 6: { SetPlayerPos(playerid,442.0,1427.0,9.0); SetPlayerInterior(playerid,0); }// actane springs
  5856. case 7: return ChangeMenu(playerid,Current,LTele);
  5857. }
  5858. return TogglePlayerControllable(playerid,true);
  5859. }
  5860.  
  5861. if(Current == FlintMenu)
  5862. {
  5863. switch(row)
  5864. {
  5865. case 0: { SetPlayerPos(playerid,-849.0,-1940.0,13.0); SetPlayerInterior(playerid,0); }// lake
  5866. case 1: { SetPlayerPos(playerid,-1107.0,-1619.0,76.0); SetPlayerInterior(playerid,0); }// leafy hollow
  5867. case 2: { SetPlayerPos(playerid,-1049.0,-1199.0,128.0); SetPlayerInterior(playerid,0); }// the farm
  5868. case 3: { SetPlayerPos(playerid,-1655.0,-2219.0,32.0); SetPlayerInterior(playerid,0); }// shady cabin
  5869. case 4: { SetPlayerPos(playerid,-375.0,-1441.0,25.0); SetPlayerInterior(playerid,0); }// flint range
  5870. case 5: { SetPlayerPos(playerid,-367.0,-1049.0,59.0); SetPlayerInterior(playerid,0); }// beacon hill
  5871. case 6: { SetPlayerPos(playerid,-494.0,-555.0,25.0); SetPlayerInterior(playerid,0); }// fallen tree
  5872. case 7: return ChangeMenu(playerid,Current,LTele);
  5873. }
  5874. return TogglePlayerControllable(playerid,true);
  5875. }
  5876.  
  5877. if(Current == MountChiliadMenu)
  5878. {
  5879. switch(row)
  5880. {
  5881. case 0: { SetPlayerPos(playerid,-2308.0,-1657.0,483.0); SetPlayerInterior(playerid,0); }// chiliad jump
  5882. case 1: { SetPlayerPos(playerid,-2331.0,-2180.0,35.0); SetPlayerInterior(playerid,0); }// bottom chiliad
  5883. case 2: { SetPlayerPos(playerid,-2431.0,-1620.0,526.0); SetPlayerInterior(playerid,0); }// highest point
  5884. case 3: { SetPlayerPos(playerid,-2136.0,-1775.0,208.0); SetPlayerInterior(playerid,0); }// chiliad path
  5885. case 4: return ChangeMenu(playerid,Current,LTele);
  5886. }
  5887. return TogglePlayerControllable(playerid,true);
  5888. }
  5889.  
  5890. if(Current == InteriorsMenu)
  5891. {
  5892. switch(row)
  5893. {
  5894. case 0: { SetPlayerPos(playerid,386.5259, 173.6381, 1008.3828); SetPlayerInterior(playerid,3); }
  5895. case 1: { SetPlayerPos(playerid,288.4723, 170.0647, 1007.1794); SetPlayerInterior(playerid,3); }
  5896. case 2: { SetPlayerPos(playerid,372.5565, -131.3607, 1001.4922); SetPlayerInterior(playerid,5); }
  5897. case 3: { SetPlayerPos(playerid,-1129.8909, 1057.5424, 1346.4141); SetPlayerInterior(playerid,10); }
  5898. case 4: { SetPlayerPos(playerid,2233.9363, 1711.8038, 1011.6312); SetPlayerInterior(playerid,1); }
  5899. case 5: { SetPlayerPos(playerid,2536.5322, -1294.8425, 1044.125); SetPlayerInterior(playerid,2); }
  5900. case 6: { SetPlayerPos(playerid,1267.8407, -776.9587, 1091.9063); SetPlayerInterior(playerid,5); }
  5901. case 7: { SetPlayerPos(playerid,-1421.5618, -663.8262, 1059.5569); SetPlayerInterior(playerid,4); }
  5902. case 8: { SetPlayerPos(playerid,-1401.067, 1265.3706, 1039.8672); SetPlayerInterior(playerid,16); }
  5903. case 9: { SetPlayerPos(playerid,285.8361, -39.0166, 1001.5156); SetPlayerInterior(playerid,1); }
  5904. case 10: { SetPlayerPos(playerid,1727.2853, -1642.9451, 20.2254); SetPlayerInterior(playerid,18); }
  5905. case 11: return ChangeMenu(playerid,Current,LTele);
  5906. }
  5907. return TogglePlayerControllable(playerid,true);
  5908. }
  5909.  
  5910. if(Current == LWeather)
  5911. {
  5912. new adminname[MAX_PLAYER_NAME]; GetPlayerName(playerid, adminname, sizeof(adminname));
  5913. switch(row)
  5914. {
  5915. case 0: { SetWeather(5); PlayerPlaySound(playerid,1057,0.0,0.0,0.0); CMDMessageToAdmins(playerid,"SETWEATHER"); format(string,sizeof(string),"Administrador %s mudou o clima",adminname); SendClientMessageToAll(blue,string); }
  5916. case 1: { SetWeather(19); PlayerPlaySound(playerid,1057,0.0,0.0,0.0); CMDMessageToAdmins(playerid,"SETWEATHER"); format(string,sizeof(string),"Administrador %s mudou o clima",adminname); SendClientMessageToAll(blue,string); }
  5917. case 2: { SetWeather(8); PlayerPlaySound(playerid,1057,0.0,0.0,0.0); CMDMessageToAdmins(playerid,"SETWEATHER"); format(string,sizeof(string),"Administrador %s mudou o clima",adminname); SendClientMessageToAll(blue,string); }
  5918. case 3: { SetWeather(20); PlayerPlaySound(playerid,1057,0.0,0.0,0.0); CMDMessageToAdmins(playerid,"SETWEATHER"); format(string,sizeof(string),"Administrador %s mudou o clima",adminname); SendClientMessageToAll(blue,string); }
  5919. case 4: { SetWeather(9); PlayerPlaySound(playerid,1057,0.0,0.0,0.0); CMDMessageToAdmins(playerid,"SETWEATHER"); format(string,sizeof(string),"Administrador %s mudou o clima",adminname); SendClientMessageToAll(blue,string); }
  5920. case 5: { SetWeather(16); PlayerPlaySound(playerid,1057,0.0,0.0,0.0); CMDMessageToAdmins(playerid,"SETWEATHER"); format(string,sizeof(string),"Administrador %s mudou o clima",adminname); SendClientMessageToAll(blue,string); }
  5921. case 6: { SetWeather(45); PlayerPlaySound(playerid,1057,0.0,0.0,0.0); CMDMessageToAdmins(playerid,"SETWEATHER"); format(string,sizeof(string),"Administrador %s mudou o clima",adminname); SendClientMessageToAll(blue,string); }
  5922. case 7: { SetWeather(44); PlayerPlaySound(playerid,1057,0.0,0.0,0.0); CMDMessageToAdmins(playerid,"SETWEATHER"); format(string,sizeof(string),"Administrador %s mudou o clima",adminname); SendClientMessageToAll(blue,string); }
  5923. case 8: { SetWeather(22); PlayerPlaySound(playerid,1057,0.0,0.0,0.0); CMDMessageToAdmins(playerid,"SETWEATHER"); format(string,sizeof(string),"Administrador %s mudou o clima",adminname); SendClientMessageToAll(blue,string); }
  5924. case 9: { SetWeather(11); PlayerPlaySound(playerid,1057,0.0,0.0,0.0); CMDMessageToAdmins(playerid,"SETWEATHER"); format(string,sizeof(string),"Administrador %s mudou o clima",adminname); SendClientMessageToAll(blue,string); }
  5925. case 10: return ChangeMenu(playerid,Current,LMainMenu);
  5926. }
  5927. return TogglePlayerControllable(playerid,true);
  5928. }
  5929.  
  5930. if(Current == LTuneMenu)
  5931. {
  5932. switch(row)
  5933. {
  5934. case 0: { AddVehicleComponent(GetPlayerVehicleID(playerid),1010); PlayerPlaySound(playerid,1133,0.0,0.0,0.0); SendClientMessage(playerid,blue,"Componente Adicionado no Veículo"); }
  5935. case 1: { AddVehicleComponent(GetPlayerVehicleID(playerid),1087); PlayerPlaySound(playerid,1133,0.0,0.0,0.0); SendClientMessage(playerid,blue,"Componente Adicionado no Veículo"); }
  5936. case 2: { AddVehicleComponent(GetPlayerVehicleID(playerid),1081); PlayerPlaySound(playerid,1133,0.0,0.0,0.0); SendClientMessage(playerid,blue,"Componente Adicionado no Veículo"); }
  5937. case 3: { AddVehicleComponent(GetPlayerVehicleID(playerid),1078); PlayerPlaySound(playerid,1133,0.0,0.0,0.0); SendClientMessage(playerid,blue,"Componente Adicionado no Veículo"); }
  5938. case 4: { AddVehicleComponent(GetPlayerVehicleID(playerid),1098); PlayerPlaySound(playerid,1133,0.0,0.0,0.0); SendClientMessage(playerid,blue,"Componente Adicionado no Veículo"); }
  5939. case 5: { AddVehicleComponent(GetPlayerVehicleID(playerid),1074); PlayerPlaySound(playerid,1133,0.0,0.0,0.0); SendClientMessage(playerid,blue,"Componente Adicionado no Veículo"); }
  5940. case 6: { AddVehicleComponent(GetPlayerVehicleID(playerid),1082); PlayerPlaySound(playerid,1133,0.0,0.0,0.0); SendClientMessage(playerid,blue,"Componente Adicionado no Veículo"); }
  5941. case 7: { AddVehicleComponent(GetPlayerVehicleID(playerid),1085); PlayerPlaySound(playerid,1133,0.0,0.0,0.0); SendClientMessage(playerid,blue,"Componente Adicionado no Veículo"); }
  5942. case 8: { AddVehicleComponent(GetPlayerVehicleID(playerid),1025); PlayerPlaySound(playerid,1133,0.0,0.0,0.0); SendClientMessage(playerid,blue,"Componente Adicionado no Veículo"); }
  5943. case 9: { AddVehicleComponent(GetPlayerVehicleID(playerid),1077); PlayerPlaySound(playerid,1133,0.0,0.0,0.0); SendClientMessage(playerid,blue,"Componente Adicionado no Veículo"); }
  5944. case 10: return ChangeMenu(playerid,Current,PaintMenu);
  5945. case 11: return ChangeMenu(playerid,Current,LMainMenu);
  5946. }
  5947. return TogglePlayerControllable(playerid,true);
  5948. }
  5949.  
  5950. if(Current == PaintMenu)
  5951. {
  5952. switch(row)
  5953. {
  5954. case 0: { ChangeVehiclePaintjob(GetPlayerVehicleID(playerid),0); PlayerPlaySound(playerid,1133,0.0,0.0,0.0); SendClientMessage(playerid,blue,"Pintura do Veículo Trocada para Pintura Personalizada 1"); }
  5955. case 1: { ChangeVehiclePaintjob(GetPlayerVehicleID(playerid),1); PlayerPlaySound(playerid,1133,0.0,0.0,0.0); SendClientMessage(playerid,blue,"Pintura do Veículo Trocada para Pintura Personalizada 2"); }
  5956. case 2: { ChangeVehiclePaintjob(GetPlayerVehicleID(playerid),2); PlayerPlaySound(playerid,1133,0.0,0.0,0.0); SendClientMessage(playerid,blue,"Pintura do Veículo Trocada para Pintura Personalizada 3"); }
  5957. case 3: { ChangeVehiclePaintjob(GetPlayerVehicleID(playerid),3); PlayerPlaySound(playerid,1133,0.0,0.0,0.0); SendClientMessage(playerid,blue,"Pintura do Veículo Trocada para Pintura Personalizada 4"); }
  5958. case 4: { ChangeVehiclePaintjob(GetPlayerVehicleID(playerid),4); PlayerPlaySound(playerid,1133,0.0,0.0,0.0); SendClientMessage(playerid,blue,"Pintura do Veículo Trocada para Pintura Personalizada 5"); }
  5959. case 5: { ChangeVehicleColor(GetPlayerVehicleID(playerid),0,0); PlayerPlaySound(playerid,1133,0.0,0.0,0.0); SendClientMessage(playerid,blue,"Cor da Pintura do Veículo Trocada para Preto"); }
  5960. case 6: { ChangeVehicleColor(GetPlayerVehicleID(playerid),1,1); PlayerPlaySound(playerid,1133,0.0,0.0,0.0); SendClientMessage(playerid,blue,"Cor da Pintura do Veículo Trocada para Branco"); }
  5961. case 7: { ChangeVehicleColor(GetPlayerVehicleID(playerid),79,158); PlayerPlaySound(playerid,1133,0.0,0.0,0.0); SendClientMessage(playerid,blue,"Cor da Pintura do Veículo Trocada para Azul"); }
  5962. case 8: { ChangeVehicleColor(GetPlayerVehicleID(playerid),146,183); PlayerPlaySound(playerid,1133,0.0,0.0,0.0); SendClientMessage(playerid,blue,"Cor da Pintura do Veículo Trocada para Rosa"); }
  5963. case 9: return ChangeMenu(playerid,Current,LTuneMenu);
  5964. }
  5965. return TogglePlayerControllable(playerid,true);
  5966. }
  5967.  
  5968. if(Current == LTime)
  5969. {
  5970. new adminname[MAX_PLAYER_NAME]; GetPlayerName(playerid, adminname, sizeof(adminname));
  5971. switch(row)
  5972. {
  5973. 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),"Administrador %s mudou o horário",adminname); SendClientMessageToAll(blue,string); }
  5974. 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),"Administrador %s mudou o horário",adminname); SendClientMessageToAll(blue,string); }
  5975. 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),"Administrador %s mudou o horário",adminname); SendClientMessageToAll(blue,string); }
  5976. 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),"Administrador %s mudou o horário",adminname); SendClientMessageToAll(blue,string); }
  5977. 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),"Administrador %s mudou o horário",adminname); SendClientMessageToAll(blue,string); }
  5978. case 5: return ChangeMenu(playerid,Current,LMainMenu);
  5979. }
  5980. return TogglePlayerControllable(playerid,true);
  5981. }
  5982.  
  5983. if(Current == LCars)
  5984. {
  5985. new vehid;
  5986. switch(row) {
  5987. case 0: vehid = 451;//Turismo
  5988. case 1: vehid = 568;//Bandito
  5989. case 2: vehid = 539;//Vortex
  5990. case 3: vehid = 522;//nrg
  5991. case 4: vehid = 601;//s.w.a.t
  5992. case 5: vehid = 425; //hunter
  5993. case 6: vehid = 493;//jetmax
  5994. case 7: vehid = 432;//rhino
  5995. case 8: vehid = 444; //mt
  5996. case 9: vehid = 447; //sea sparrow
  5997. case 10: return ChangeMenu(playerid,Current,LCars2);
  5998. case 11: return ChangeMenu(playerid,Current,LMainMenu);
  5999. }
  6000. return SelectCar(playerid,vehid,Current);
  6001. }
  6002.  
  6003. if(Current == LCars2)
  6004. {
  6005. new vehid;
  6006. switch(row) {
  6007. case 0: vehid = 406;// dumper
  6008. case 1: vehid = 564; //rc tank
  6009. case 2: vehid = 441;//RC Bandit
  6010. case 3: vehid = 464;// rc baron
  6011. case 4: vehid = 501; //rc goblin
  6012. case 5: vehid = 465; //rc raider
  6013. case 6: vehid = 594; // rc cam
  6014. case 7: vehid = 449; //tram
  6015. case 8: return ChangeMenu(playerid,Current,LCars);
  6016. }
  6017. return SelectCar(playerid,vehid,Current);
  6018. }
  6019.  
  6020. return 1;
  6021. }
  6022.  
  6023. //==============================================================================
  6024.  
  6025. public OnPlayerExitedMenu(playerid)
  6026. {
  6027. new Menu:Current = GetPlayerMenu(playerid);
  6028. HideMenuForPlayer(Current,playerid);
  6029. return TogglePlayerControllable(playerid,true);
  6030. }
  6031.  
  6032. //==============================================================================
  6033.  
  6034. ChangeMenu(playerid,Menu:oldmenu,Menu:newmenu)
  6035. {
  6036. if(IsValidMenu(oldmenu)) {
  6037. HideMenuForPlayer(oldmenu,playerid);
  6038. ShowMenuForPlayer(newmenu,playerid);
  6039. }
  6040. return 1;
  6041. }
  6042.  
  6043. CloseMenu(playerid,Menu:oldmenu)
  6044. {
  6045. HideMenuForPlayer(oldmenu,playerid);
  6046. TogglePlayerControllable(playerid,1);
  6047. return 1;
  6048. }
  6049. SelectCar(playerid,vehid,Menu:menu)
  6050. {
  6051. CloseMenu(playerid,menu);
  6052. SetCameraBehindPlayer(playerid);
  6053. CarSpawner(playerid,vehid);
  6054. return 1;
  6055. }
  6056. #endif
  6057.  
  6058. //==============================================================================
  6059. forward countdown();
  6060. public countdown()
  6061. {
  6062. if(CountDown==6) GameTextForAll("~p~Iniciando...",1000,6);
  6063.  
  6064. CountDown--;
  6065. if(CountDown==0)
  6066. {
  6067. GameTextForAll("~g~VAI~ r~!",1000,6);
  6068. CountDown = -1;
  6069. for(new i = 0; i < MAX_PLAYERS; i++) {
  6070. TogglePlayerControllable(i,true);
  6071. PlayerPlaySound(i, 1057, 0.0, 0.0, 0.0);
  6072. }
  6073. return 0;
  6074. }
  6075. else
  6076. {
  6077. new text[7]; format(text,sizeof(text),"~w~%d",CountDown);
  6078. for(new i = 0; i < MAX_PLAYERS; i++) {
  6079. PlayerPlaySound(i, 1056, 0.0, 0.0, 0.0);
  6080. TogglePlayerControllable(i,false);
  6081. }
  6082. GameTextForAll(text,1000,6);
  6083. }
  6084.  
  6085. SetTimer("countdown",1000,0);
  6086. return 0;
  6087. }
  6088.  
  6089. forward Duel(player1, player2);
  6090. public Duel(player1, player2)
  6091. {
  6092. if(cdt[player1]==6) {
  6093. GameTextForPlayer(player1,"~p~Iniciando Duelo...",1000,6); GameTextForPlayer(player2,"~p~Iniciando Duelo...",1000,6);
  6094. }
  6095.  
  6096. cdt[player1]--;
  6097. if(cdt[player1]==0)
  6098. {
  6099. TogglePlayerControllable(player1,1); TogglePlayerControllable(player2,1);
  6100. PlayerPlaySound(player1, 1057, 0.0, 0.0, 0.0); PlayerPlaySound(player2, 1057, 0.0, 0.0, 0.0);
  6101. GameTextForPlayer(player1,"~g~VAI~ r~!",1000,6); GameTextForPlayer(player2,"~g~VAI~ r~!",1000,6);
  6102. return 0;
  6103. }
  6104. else
  6105. {
  6106. new text[7]; format(text,sizeof(text),"~w~%d",cdt[player1]);
  6107. PlayerPlaySound(player1, 1056, 0.0, 0.0, 0.0); PlayerPlaySound(player2, 1056, 0.0, 0.0, 0.0);
  6108. TogglePlayerControllable(player1,0); TogglePlayerControllable(player2,0);
  6109. GameTextForPlayer(player1,text,1000,6); GameTextForPlayer(player2,text,1000,6);
  6110. }
  6111.  
  6112. SetTimerEx("Duel",1000,0,"dd", player1, player2);
  6113. return 0;
  6114. }
  6115.  
  6116. //==================== [ Jail & Freeze ]========================================
  6117.  
  6118. forward Jail1(player1);
  6119. public Jail1(player1)
  6120. {
  6121. TogglePlayerControllable(player1,false);
  6122. new Float:x, Float:y, Float:z; GetPlayerPos(player1,x,y,z);
  6123. SetPlayerCameraPos(player1,x+10,y,z+10);SetPlayerCameraLookAt(player1,x,y,z);
  6124. SetTimerEx("Jail2",1000,0,"d",player1);
  6125. }
  6126.  
  6127. forward Jail2(player1);
  6128. public Jail2(player1)
  6129. {
  6130. new Float:x, Float:y, Float:z; GetPlayerPos(player1,x,y,z);
  6131. SetPlayerCameraPos(player1,x+7,y,z+5); SetPlayerCameraLookAt(player1,x,y,z);
  6132. if(GetPlayerState(player1) == PLAYER_STATE_ONFOOT) SetPlayerSpecialAction(player1,SPECIAL_ACTION_HANDSUP);
  6133. GameTextForPlayer(player1,"~r~Preso pelos Admins",3000,3);
  6134. SetTimerEx("Jail3",1000,0,"d",player1);
  6135. }
  6136.  
  6137. forward Jail3(player1);
  6138. public Jail3(player1)
  6139. {
  6140. new Float:x, Float:y, Float:z; GetPlayerPos(player1,x,y,z);
  6141. SetPlayerCameraPos(player1,x+3,y,z); SetPlayerCameraLookAt(player1,x,y,z);
  6142. }
  6143.  
  6144. forward JailPlayer(player1);
  6145. public JailPlayer(player1)
  6146. {
  6147. TogglePlayerControllable(player1,true);
  6148. SetPlayerPos(player1,197.6661,173.8179,1003.0234);
  6149. SetPlayerInterior(player1,3);
  6150. SetCameraBehindPlayer(player1);
  6151. JailTimer[player1] = SetTimerEx("JailRelease",PlayerInfo[player1][JailTime],0,"d",player1);
  6152. PlayerInfo[player1][Jailed] = 1;
  6153. }
  6154.  
  6155. forward JailRelease(player1);
  6156. public JailRelease(player1)
  6157. {
  6158. KillTimer( JailTimer[player1] );
  6159. PlayerInfo[player1][JailTime] = 0; PlayerInfo[player1][Jailed] = 0;
  6160. SetPlayerInterior(player1,0); SetPlayerPos(player1, 0.0, 0.0, 0.0); SpawnPlayer(player1);
  6161. PlayerPlaySound(player1,1057,0.0,0.0,0.0);
  6162. GameTextForPlayer(player1,"~g~Libertado ~n~Da Cadeia",3000,3);
  6163. }
  6164.  
  6165. //------------------------------------------------------------------------------
  6166. forward UnFreezeMe(player1);
  6167. public UnFreezeMe(player1)
  6168. {
  6169. KillTimer( FreezeTimer[player1] );
  6170. TogglePlayerControllable(player1,true); PlayerInfo[player1][Frozen] = 0;
  6171. PlayerPlaySound(player1,1057,0.0,0.0,0.0); GameTextForPlayer(player1,"~g~Descongelado",3000,3);
  6172. }
  6173.  
  6174. //==============================================================================
  6175. forward RepairCar(playerid);
  6176. public RepairCar(playerid)
  6177. {
  6178. if(IsPlayerInAnyVehicle(playerid)) SetVehiclePos(GetPlayerVehicleID(playerid),Pos[playerid][0],Pos[playerid][1],Pos[playerid][2]+0.5);
  6179. SetVehicleZAngle(GetPlayerVehicleID(playerid), Pos[playerid][3]);
  6180. SetCameraBehindPlayer(playerid);
  6181. }
  6182.  
  6183. //============================ [ Timers ]=======================================
  6184.  
  6185. forward PingKick();
  6186. public PingKick()
  6187. {
  6188. if(ServerInfo[MaxPing] != 0)
  6189. {
  6190. PingPos++; if(PingPos > PING_MAX_EXCEEDS) PingPos = 0;
  6191.  
  6192. for(new i=0; i<MAX_PLAYERS; i++)
  6193. {
  6194. PlayerInfo[i][pPing][PingPos] = GetPlayerPing(i);
  6195.  
  6196. if(GetPlayerPing(i) > ServerInfo[MaxPing])
  6197. {
  6198. if(PlayerInfo[i][PingCount] == 0) PlayerInfo[i][PingTime] = TimeStamp();
  6199.  
  6200. PlayerInfo[i][PingCount]++;
  6201. if(TimeStamp() - PlayerInfo[i][PingTime] > PING_TIMELIMIT)
  6202. {
  6203. PlayerInfo[i][PingTime] = TimeStamp();
  6204. PlayerInfo[i][PingCount] = 1;
  6205. }
  6206. else if(PlayerInfo[i][PingCount] >= PING_MAX_EXCEEDS)
  6207. {
  6208. new Sum, Average, x, string[128];
  6209. while (x < PING_MAX_EXCEEDS) {
  6210. Sum += PlayerInfo[i][pPing][x];
  6211. x++;
  6212. }
  6213. Average = (Sum / PING_MAX_EXCEEDS);
  6214. format(string,sizeof(string),"%s foi kickado do server. (Motivo: Ping Alto (%d) | Média (%d) | Máximo permitido (%d) )", PlayerName2(i), GetPlayerPing(i), Average, ServerInfo[MaxPing] );
  6215. SendClientMessageToAll(grey,string);
  6216. SaveToFile("KickLog",string);
  6217. GameTextForPlayer(i,"~r~Voce foi kickado!",5000,5);
  6218. Kick(i);
  6219. }
  6220. }
  6221. else if(GetPlayerPing(i) < 1 && ServerInfo[AntiBot] == 1)
  6222. {
  6223. PlayerInfo[i][BotPing]++;
  6224. if(PlayerInfo[i][BotPing] >= 3) BotCheck(i);
  6225. }
  6226. else
  6227. {
  6228. PlayerInfo[i][BotPing] = 0;
  6229. }
  6230. }
  6231. }
  6232. }
  6233.  
  6234. //==============================================================================
  6235. forward GodUpdate();
  6236. public GodUpdate()
  6237. {
  6238. for(new i = 0; i < MAX_PLAYERS; i++)
  6239. {
  6240. if(IsPlayerConnected(i) && PlayerInfo[i][God] == 1)
  6241. {
  6242. SetPlayerHealth(i,100000);
  6243. }
  6244. if(IsPlayerConnected(i) && PlayerInfo[i][GodCar] == 1 && IsPlayerInAnyVehicle(i))
  6245. {
  6246. SetVehicleHealth(GetPlayerVehicleID(i),10000);
  6247. }
  6248. }
  6249. }
  6250.  
  6251. //==========================[ Server Info ]====================================
  6252.  
  6253. forward ConnectedPlayers();
  6254. public ConnectedPlayers()
  6255. {
  6256. new Connected;
  6257. for(new i = 0; i < MAX_PLAYERS; i++) if(IsPlayerConnected(i)) Connected++;
  6258. return Connected;
  6259. }
  6260.  
  6261. forward JailedPlayers();
  6262. public JailedPlayers()
  6263. {
  6264. new JailedCount;
  6265. for(new i = 0; i < MAX_PLAYERS; i++) if(IsPlayerConnected(i) && PlayerInfo[i][Jailed] == 1) JailedCount++;
  6266. return JailedCount;
  6267. }
  6268.  
  6269. forward FrozenPlayers();
  6270. public FrozenPlayers()
  6271. {
  6272. new FrozenCount; for(new i = 0; i < MAX_PLAYERS; i++) if(IsPlayerConnected(i) && PlayerInfo[i][Frozen] == 1) FrozenCount++;
  6273. return FrozenCount;
  6274. }
  6275.  
  6276. forward MutedPlayers();
  6277. public MutedPlayers()
  6278. {
  6279. new Count; for(new i = 0; i < MAX_PLAYERS; i++) if(IsPlayerConnected(i) && PlayerInfo[i][Muted] == 1) Count++;
  6280. return Count;
  6281. }
  6282.  
  6283. forward InVehCount();
  6284. public InVehCount()
  6285. {
  6286. new InVeh; for(new i = 0; i < MAX_PLAYERS; i++) if(IsPlayerConnected(i) && IsPlayerInAnyVehicle(i)) InVeh++;
  6287. return InVeh;
  6288. }
  6289.  
  6290. forward OnBikeCount();
  6291. public OnBikeCount()
  6292. {
  6293. new BikeCount;
  6294. for(new i = 0; i < MAX_PLAYERS; i++) if(IsPlayerConnected(i) && IsPlayerInAnyVehicle(i)) {
  6295. new LModel = GetVehicleModel(GetPlayerVehicleID(i));
  6296. switch(LModel)
  6297. {
  6298. case 448,461,462,463,468,471,509,510,521,522,523,581,586: BikeCount++;
  6299. }
  6300. }
  6301. return BikeCount;
  6302. }
  6303.  
  6304. forward InCarCount();
  6305. public InCarCount()
  6306. {
  6307. new PInCarCount;
  6308. for(new i = 0; i < MAX_PLAYERS; i++) {
  6309. if(IsPlayerConnected(i) && IsPlayerInAnyVehicle(i)) {
  6310. new LModel = GetVehicleModel(GetPlayerVehicleID(i));
  6311. switch(LModel)
  6312. {
  6313. case 448,461,462,463,468,471,509,510,521,522,523,581,586: {}
  6314. default: PInCarCount++;
  6315. }
  6316. }
  6317. }
  6318. return PInCarCount;
  6319. }
  6320.  
  6321. forward AdminCount();
  6322. public AdminCount()
  6323. {
  6324. new LAdminCount;
  6325. for(new i = 0; i < MAX_PLAYERS; i++) if(IsPlayerConnected(i) && PlayerInfo[i][Level] >= 1) LAdminCount++;
  6326. return LAdminCount;
  6327. }
  6328.  
  6329. forward RconAdminCount();
  6330. public RconAdminCount()
  6331. {
  6332. new rAdminCount;
  6333. for(new i = 0; i < MAX_PLAYERS; i++) if(IsPlayerConnected(i) && IsPlayerAdmin(i)) rAdminCount++;
  6334. return rAdminCount;
  6335. }
  6336.  
  6337. //==========================[ Remote Console ]==================================
  6338.  
  6339. forward RestartGM();
  6340. public RestartGM()
  6341. {
  6342. SendRconCommand("gmx");
  6343. }
  6344.  
  6345. forward UnloadFS();
  6346. public UnloadFS()
  6347. {
  6348. SendRconCommand("unloadfs ladmin4");
  6349. }
  6350.  
  6351. forward PrintWarning(const string[]);
  6352. public PrintWarning(const string[])
  6353. {
  6354. new str[128];
  6355. print("\n\n> WARNING:\n");
  6356. format(str, sizeof(str), " The %s folder is missing from scriptfiles", string);
  6357. print(str);
  6358. print("\n Please Create This Folder And Reload the Filterscript\n\n");
  6359. }
  6360.  
  6361. //============================[ Bot Check ]=====================================
  6362. forward BotCheck(playerid);
  6363. public BotCheck(playerid)
  6364. {
  6365. if(IsPlayerConnected(playerid))
  6366. {
  6367. if(GetPlayerPing(playerid) < 1)
  6368. {
  6369. new string[128], ip[20]; GetPlayerIp(playerid,ip,sizeof(ip));
  6370. format(string,sizeof(string),"BOT: %s id:%d ip: %s ping: %d",PlayerName2(playerid),playerid,ip,GetPlayerPing(playerid));
  6371. SaveToFile("BotKickLog",string);
  6372. SaveToFile("KickLog",string);
  6373. printf("[ADMIN] Possible bot has been detected (Kicked %s ID:%d)", PlayerName2(playerid), playerid);
  6374. Kick(playerid);
  6375. }
  6376. }
  6377. }
  6378.  
  6379. //==============================================================================
  6380. forward PutAtPos(playerid);
  6381. public PutAtPos(playerid)
  6382. {
  6383. if (dUserINT(PlayerName2(playerid)).("x")!=0) {
  6384. SetPlayerPos(playerid, float(dUserINT(PlayerName2(playerid)).("x")), float(dUserINT(PlayerName2(playerid)).("y")), float(dUserINT(PlayerName2(playerid)).("z")) );
  6385. SetPlayerInterior(playerid, (dUserINT(PlayerName2(playerid)).("interior")) );
  6386. }
  6387. }
  6388.  
  6389. forward PutAtDisconectPos(playerid);
  6390. public PutAtDisconectPos(playerid)
  6391. {
  6392. if (dUserINT(PlayerName2(playerid)).("x1")!=0) {
  6393. SetPlayerPos(playerid, float(dUserINT(PlayerName2(playerid)).("x1")), float(dUserINT(PlayerName2(playerid)).("y1")), float(dUserINT(PlayerName2(playerid)).("z1")) );
  6394. SetPlayerInterior(playerid, (dUserINT(PlayerName2(playerid)).("interior1")) );
  6395. }
  6396. }
  6397.  
  6398. TotalGameTime(playerid, &h=0, &m=0, &s=0)
  6399. {
  6400. PlayerInfo[playerid][TotalTime] = ( (gettime() - PlayerInfo[playerid][ConnectTime]) + (PlayerInfo[playerid][hours]*60*60) + (PlayerInfo[playerid][mins]*60) + (PlayerInfo[playerid][secs]) );
  6401.  
  6402. h = floatround(PlayerInfo[playerid][TotalTime] / 3600, floatround_floor);
  6403. m = floatround(PlayerInfo[playerid][TotalTime] / 60, floatround_floor) % 60;
  6404. s = floatround(PlayerInfo[playerid][TotalTime] % 60, floatround_floor);
  6405.  
  6406. return PlayerInfo[playerid][TotalTime];
  6407. }
  6408.  
  6409. //==============================================================================
  6410. MaxAmmo(playerid)
  6411. {
  6412. new slot, weap, ammo;
  6413. for (slot = 0; slot < 14; slot++)
  6414. {
  6415. GetPlayerWeaponData(playerid, slot, weap, ammo);
  6416. if(IsValidWeapon(weap))
  6417. {
  6418. GivePlayerWeapon(playerid, weap, 99999);
  6419. }
  6420. }
  6421. return 1;
  6422. }
  6423.  
  6424. stock PlayerName2(playerid) {
  6425. new name[MAX_PLAYER_NAME];
  6426. GetPlayerName(playerid, name, sizeof(name));
  6427. return name;
  6428. }
  6429.  
  6430. stock pName(playerid)
  6431. {
  6432. new name[MAX_PLAYER_NAME];
  6433. GetPlayerName(playerid, name, sizeof(name));
  6434. return name;
  6435. }
  6436.  
  6437. stock TimeStamp()
  6438. {
  6439. new time = GetTickCount() / 1000;
  6440. return time;
  6441. }
  6442.  
  6443. stock PlayerSoundForAll(SoundID)
  6444. {
  6445. for(new i = 0; i < MAX_PLAYERS; i++) PlayerPlaySound(i, SoundID, 0.0, 0.0, 0.0);
  6446. }
  6447.  
  6448. stock IsValidWeapon(weaponid)
  6449. {
  6450. if (weaponid > 0 && weaponid < 19 || weaponid > 21 && weaponid < 47) return 1;
  6451. return 0;
  6452. }
  6453.  
  6454. stock IsValidSkin(SkinID)
  6455. {
  6456. 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;
  6457. else return false;
  6458. }
  6459.  
  6460. stock IsNumeric(string[])
  6461. {
  6462. for (new i = 0, j = strlen(string); i < j; i++)
  6463. {
  6464. if (string[i] > '9' || string[i] < '0') return 0;
  6465. }
  6466. return 1;
  6467. }
  6468.  
  6469. stock ReturnPlayerID(PlayerName[])
  6470. {
  6471. for(new i = 0; i < MAX_PLAYERS; i++)
  6472. {
  6473. if(IsPlayerConnected(i))
  6474. {
  6475. if(strfind(pName(i),PlayerName,true)!=-1) return i;
  6476. }
  6477. }
  6478. return INVALID_PLAYER_ID;
  6479. }
  6480.  
  6481. GetVehicleModelIDFromName(vname[])
  6482. {
  6483. for(new i = 0; i < 211; i++)
  6484. {
  6485. if ( strfind(VehicleNames[i], vname, true) != -1 )
  6486. return i + 400;
  6487. }
  6488. return -1;
  6489. }
  6490.  
  6491. stock GetWeaponIDFromName(WeaponName[])
  6492. {
  6493. if(strfind("molotov",WeaponName,true)!=-1) return 18;
  6494. for(new i = 0; i <= 46; i++)
  6495. {
  6496. switch(i)
  6497. {
  6498. case 0,19,20,21,44,45: continue;
  6499. default:
  6500. {
  6501. new name[32]; GetWeaponName(i,name,32);
  6502. if(strfind(name,WeaponName,true) != -1) return i;
  6503. }
  6504. }
  6505. }
  6506. return -1;
  6507. }
  6508.  
  6509. stock DisableWord(const badword[], text[])
  6510. {
  6511. for(new i=0; i<256; i++)
  6512. {
  6513. if (strfind(text[i], badword, true) == 0)
  6514. {
  6515. for(new a=0; a<256; a++)
  6516. {
  6517. if (a >= i && a < i+strlen(badword)) text[a]='*';
  6518. }
  6519. }
  6520. }
  6521. }
  6522.  
  6523. argpos(const string[], idx = 0, sep = ' ')// (by yom)
  6524. {
  6525. for(new i = idx, j = strlen(string); i < j; i++)
  6526. if (string[i] == sep && string[i+1] != sep)
  6527. return i+1;
  6528.  
  6529. return -1;
  6530. }
  6531.  
  6532. //==============================================================================
  6533. forward MessageToAdmins(color,const string[]);
  6534. public MessageToAdmins(color,const string[])
  6535. {
  6536. for(new i = 0; i < MAX_PLAYERS; i++)
  6537. {
  6538. if(IsPlayerConnected(i) == 1) if (PlayerInfo[i][Level] >= 1) SendClientMessage(i, color, string);
  6539. }
  6540. return 1;
  6541. }
  6542.  
  6543. stock CMDMessageToAdmins(playerid,command[])
  6544. {
  6545. if(ServerInfo[AdminCmdMsg] == 0) return 1;
  6546. new string[128]; GetPlayerName(playerid,string,sizeof(string));
  6547. format(string,sizeof(string),"[ADMIN] %s usou o comando %s",string,command);
  6548. return MessageToAdmins(blue,string);
  6549. }
  6550.  
  6551. //==============================================================================
  6552. SavePlayer(playerid)
  6553. {
  6554. dUserSetINT(PlayerName2(playerid)).("money",GetPlayerMoney(playerid));
  6555. dUserSetINT(PlayerName2(playerid)).("score",GetPlayerScore(playerid));
  6556. dUserSetINT(PlayerName2(playerid)).("kills",PlayerInfo[playerid][Kills]);
  6557. dUserSetINT(PlayerName2(playerid)).("deaths",PlayerInfo[playerid][Deaths]);
  6558.  
  6559. new h, m, s;
  6560. TotalGameTime(playerid, h, m, s);
  6561.  
  6562. dUserSetINT(PlayerName2(playerid)).("hours", h);
  6563. dUserSetINT(PlayerName2(playerid)).("minutes", m);
  6564. dUserSetINT(PlayerName2(playerid)).("seconds", s);
  6565.  
  6566. new Float:x,Float:y,Float:z, interior;
  6567. GetPlayerPos(playerid,x,y,z); interior = GetPlayerInterior(playerid);
  6568. dUserSetINT(PlayerName2(playerid)).("x1",floatround(x));
  6569. dUserSetINT(PlayerName2(playerid)).("y1",floatround(y));
  6570. dUserSetINT(PlayerName2(playerid)).("z1",floatround(z));
  6571. dUserSetINT(PlayerName2(playerid)).("interior1",interior);
  6572.  
  6573. new weap1, ammo1, weap2, ammo2, weap3, ammo3, weap4, ammo4, weap5, ammo5, weap6, ammo6;
  6574. GetPlayerWeaponData(playerid,2,weap1,ammo1);// hand gun
  6575. GetPlayerWeaponData(playerid,3,weap2,ammo2);//shotgun
  6576. GetPlayerWeaponData(playerid,4,weap3,ammo3);// SMG
  6577. GetPlayerWeaponData(playerid,5,weap4,ammo4);// AK47 / M4
  6578. GetPlayerWeaponData(playerid,6,weap5,ammo5);// rifle
  6579. GetPlayerWeaponData(playerid,7,weap6,ammo6);// rocket launcher
  6580. dUserSetINT(PlayerName2(playerid)).("weap1",weap1); dUserSetINT(PlayerName2(playerid)).("weap1ammo",ammo1);
  6581. dUserSetINT(PlayerName2(playerid)).("weap2",weap2); dUserSetINT(PlayerName2(playerid)).("weap2ammo",ammo2);
  6582. dUserSetINT(PlayerName2(playerid)).("weap3",weap3); dUserSetINT(PlayerName2(playerid)).("weap3ammo",ammo3);
  6583. dUserSetINT(PlayerName2(playerid)).("weap4",weap4); dUserSetINT(PlayerName2(playerid)).("weap4ammo",ammo4);
  6584. dUserSetINT(PlayerName2(playerid)).("weap5",weap5); dUserSetINT(PlayerName2(playerid)).("weap5ammo",ammo5);
  6585. dUserSetINT(PlayerName2(playerid)).("weap6",weap6); dUserSetINT(PlayerName2(playerid)).("weap6ammo",ammo6);
  6586.  
  6587. new Float:health; GetPlayerHealth(playerid, Float:health);
  6588. new Float:armour; GetPlayerArmour(playerid, Float:armour);
  6589. new year,month,day; getdate(year, month, day);
  6590. new strdate[20]; format(strdate, sizeof(strdate), "%d.%d.%d",day,month,year);
  6591. new file[256]; format(file,sizeof(file),"/ladmin/users/%s.sav",udb_encode(PlayerName2(playerid)) );
  6592.  
  6593. dUserSetINT(PlayerName2(playerid)).("health",floatround(health));
  6594. dUserSetINT(PlayerName2(playerid)).("armour",floatround(armour));
  6595. dini_Set(file,"LastOn",strdate);
  6596. dUserSetINT(PlayerName2(playerid)).("loggedin",0);
  6597. dUserSetINT(PlayerName2(playerid)).("TimesOnServer",(dUserINT(PlayerName2(playerid)).("TimesOnServer"))+1);
  6598. }
  6599.  
  6600. //==============================================================================
  6601. #if defined USE_MENUS
  6602. DestroyAllMenus()
  6603. {
  6604. DestroyMenu(LVehicles); DestroyMenu(twodoor); DestroyMenu(fourdoor); DestroyMenu(fastcar); DestroyMenu(Othercars);
  6605. DestroyMenu(bikes); DestroyMenu(boats); DestroyMenu(planes); DestroyMenu(helicopters ); DestroyMenu(LTime);
  6606. DestroyMenu(XWeapons); DestroyMenu(XWeaponsBig); DestroyMenu(XWeaponsSmall); DestroyMenu(XWeaponsMore);
  6607. DestroyMenu(LWeather); DestroyMenu(LTuneMenu); DestroyMenu(PaintMenu); DestroyMenu(LCars); DestroyMenu(LCars2);
  6608. DestroyMenu(LTele); DestroyMenu(LasVenturasMenu); DestroyMenu(LosSantosMenu); DestroyMenu(SanFierroMenu);
  6609. DestroyMenu(LMainMenu); DestroyMenu(DesertMenu); DestroyMenu(FlintMenu); DestroyMenu(MountChiliadMenu); DestroyMenu(InteriorsMenu);
  6610. DestroyMenu(AdminEnable); DestroyMenu(AdminDisable);
  6611. }
  6612. #endif
  6613.  
  6614. //==============================================================================
  6615. #if defined DISPLAY_CONFIG
  6616. stock ConfigInConsole()
  6617. {
  6618. print(" ________ Configuration ___________\n");
  6619. print(" __________ Chat & Messages ______");
  6620. if(ServerInfo[AntiSwear] == 0) print(" Anti Swear: Disabled "); else print(" Anti Swear: Enabled ");
  6621. if(ServerInfo[AntiSpam] == 0) print(" Anti Spam: Disabled "); else print(" Anti Spam: Enabled ");
  6622. if(ServerInfo[ReadCmds] == 0) print(" Read Cmds: Disabled "); else print(" Read Cmds: Enabled ");
  6623. if(ServerInfo[ReadPMs] == 0) print(" Read PMs: Disabled "); else print(" Read PMs: Enabled ");
  6624. if(ServerInfo[ConnectMessages] == 0) print(" Connect Messages: Disabled "); else print(" Connect Messages: Enabled ");
  6625. if(ServerInfo[AdminCmdMsg] == 0) print(" Admin Cmd Messages: Disabled "); else print(" Admin Cmd Messages: Enabled ");
  6626. if(ServerInfo[ReadPMs] == 0) print(" Anti capital letters: Disabled \n"); else print(" Anti capital letters: Enabled \n");
  6627. print(" __________ Skins ________________");
  6628. if(ServerInfo[AdminOnlySkins] == 0) print(" AdminOnlySkins: Disabled "); else print(" AdminOnlySkins: Enabled ");
  6629. printf(" Admin Skin 1 is: %d", ServerInfo[AdminSkin] );
  6630. printf(" Admin Skin 2 is: %d\n", ServerInfo[AdminSkin2] );
  6631. print(" ________ Server Protection ______");
  6632. if(ServerInfo[AntiBot] == 0) print(" Anti Bot: Disabled "); else print(" Anti Bot: Enabled ");
  6633. if(ServerInfo[NameKick] == 0) print(" Bad Name Kick: Disabled\n"); else print(" Bad Name Kick: Enabled\n");
  6634. print(" __________ Ping Control _________");
  6635. if(ServerInfo[MaxPing] == 0) print(" Ping Control: Disabled"); else print(" Ping Control: Enabled");
  6636. printf(" Max Ping: %d\n", ServerInfo[MaxPing] );
  6637. print(" __________ Players ______________");
  6638. if(ServerInfo[GiveWeap] == 0) print(" Save/Give Weaps: Disabled"); else print(" Save/Give Weaps: Enabled");
  6639. if(ServerInfo[GiveMoney] == 0) print(" Save/Give Money: Disabled\n"); else print(" Save/Give Money: Enabled\n");
  6640. print(" __________ Other ________________");
  6641. printf(" Max Admin Level: %d", ServerInfo[MaxAdminLevel] );
  6642. if(ServerInfo[Locked] == 0) print(" Server Locked: No"); else print(" Server Locked: Yes");
  6643. if(ServerInfo[AutoLogin] == 0) print(" Auto Login: Disabled\n"); else print(" Auto Login: Enabled\n");
  6644. }
  6645. #endif
  6646.  
  6647. //=====================[ Configuration ] =======================================
  6648. stock UpdateConfig()
  6649. {
  6650. new file[256], File:file2, string[100]; format(file,sizeof(file),"ladmin/config/Config.ini");
  6651. ForbiddenWordCount = 0;
  6652. BadNameCount = 0;
  6653. BadPartNameCount = 0;
  6654.  
  6655. if(!dini_Exists(file))
  6656. {
  6657. dini_Create(file);
  6658. print("\n >Configuration File Successfully Created");
  6659. }
  6660.  
  6661. if(!dini_Isset(file,"MaxPing")) dini_IntSet(file,"MaxPing",1200);
  6662. if(!dini_Isset(file,"ReadPms")) dini_IntSet(file,"ReadPMs",1);
  6663. if(!dini_Isset(file,"ReadCmds")) dini_IntSet(file,"ReadCmds",1);
  6664. if(!dini_Isset(file,"MaxAdminLevel")) dini_IntSet(file,"MaxAdminLevel",5);
  6665. if(!dini_Isset(file,"AdminOnlySkins")) dini_IntSet(file,"AdminOnlySkins",0);
  6666. if(!dini_Isset(file,"AdminSkin")) dini_IntSet(file,"AdminSkin",217);
  6667. if(!dini_Isset(file,"AdminSkin2")) dini_IntSet(file,"AdminSkin2",214);
  6668. if(!dini_Isset(file,"AntiBot")) dini_IntSet(file,"AntiBot",1);
  6669. if(!dini_Isset(file,"AntiSpam")) dini_IntSet(file,"AntiSpam",1);
  6670. if(!dini_Isset(file,"AntiSwear")) dini_IntSet(file,"AntiSwear",1);
  6671. if(!dini_Isset(file,"NameKick")) dini_IntSet(file,"NameKick",1);
  6672. if(!dini_Isset(file,"PartNameKick")) dini_IntSet(file,"PartNameKick",1);
  6673. if(!dini_Isset(file,"NoCaps")) dini_IntSet(file,"NoCaps",0);
  6674. if(!dini_Isset(file,"Locked")) dini_IntSet(file,"Locked",0);
  6675. if(!dini_Isset(file,"SaveWeap")) dini_IntSet(file,"SaveWeap",1);
  6676. if(!dini_Isset(file,"SaveMoney")) dini_IntSet(file,"SaveMoney",1);
  6677. if(!dini_Isset(file,"ConnectMessages")) dini_IntSet(file,"ConnectMessages",1);
  6678. if(!dini_Isset(file,"AdminCmdMessages")) dini_IntSet(file,"AdminCmdMessages",1);
  6679. if(!dini_Isset(file,"AutoLogin")) dini_IntSet(file,"AutoLogin",1);
  6680. if(!dini_Isset(file,"MaxMuteWarnings")) dini_IntSet(file,"MaxMuteWarnings",4);
  6681. if(!dini_Isset(file,"MustLogin")) dini_IntSet(file,"MustLogin",0);
  6682. if(!dini_Isset(file,"MustRegister")) dini_IntSet(file,"MustRegister",0);
  6683.  
  6684. if(dini_Exists(file))
  6685. {
  6686. ServerInfo[MaxPing] = dini_Int(file,"MaxPing");
  6687. ServerInfo[ReadPMs] = dini_Int(file,"ReadPMs");
  6688. ServerInfo[ReadCmds] = dini_Int(file,"ReadCmds");
  6689. ServerInfo[MaxAdminLevel] = dini_Int(file,"MaxAdminLevel");
  6690. ServerInfo[AdminOnlySkins] = dini_Int(file,"AdminOnlySkins");
  6691. ServerInfo[AdminSkin] = dini_Int(file,"AdminSkin");
  6692. ServerInfo[AdminSkin2] = dini_Int(file,"AdminSkin2");
  6693. ServerInfo[AntiBot] = dini_Int(file,"AntiBot");
  6694. ServerInfo[AntiSpam] = dini_Int(file,"AntiSpam");
  6695. ServerInfo[AntiSwear] = dini_Int(file,"AntiSwear");
  6696. ServerInfo[NameKick] = dini_Int(file,"NameKick");
  6697. ServerInfo[PartNameKick] = dini_Int(file,"PartNameKick");
  6698. ServerInfo[NoCaps] = dini_Int(file,"NoCaps");
  6699. ServerInfo[Locked] = dini_Int(file,"Locked");
  6700. ServerInfo[GiveWeap] = dini_Int(file,"SaveWeap");
  6701. ServerInfo[GiveMoney] = dini_Int(file,"SaveMoney");
  6702. ServerInfo[ConnectMessages] = dini_Int(file,"ConnectMessages");
  6703. ServerInfo[AdminCmdMsg] = dini_Int(file,"AdminCmdMessages");
  6704. ServerInfo[AutoLogin] = dini_Int(file,"AutoLogin");
  6705. ServerInfo[MaxMuteWarnings] = dini_Int(file,"MaxMuteWarnings");
  6706. ServerInfo[MustLogin] = dini_Int(file,"MustLogin");
  6707. ServerInfo[MustRegister] = dini_Int(file,"MustRegister");
  6708. print("\n -Configuration Settings Loaded");
  6709. }
  6710.  
  6711. //forbidden names
  6712. if((file2 = fopen("ladmin/config/ForbiddenNames.cfg",io_read)))
  6713. {
  6714. while(fread(file2,string))
  6715. {
  6716. for(new i = 0, j = strlen(string); i < j; i++) if(string[i] == '\n' || string[i] == '\r') string[i] = '\0';
  6717. BadNames[BadNameCount] = string;
  6718. BadNameCount++;
  6719. }
  6720. fclose(file2); printf(" -%d Forbidden Names Loaded", BadNameCount);
  6721. }
  6722.  
  6723. //forbidden part of names
  6724. if((file2 = fopen("ladmin/config/ForbiddenPartNames.cfg",io_read)))
  6725. {
  6726. while(fread(file2,string))
  6727. {
  6728. for(new i = 0, j = strlen(string); i < j; i++) if(string[i] == '\n' || string[i] == '\r') string[i] = '\0';
  6729. BadPartNames[BadPartNameCount] = string;
  6730. BadPartNameCount++;
  6731. }
  6732. fclose(file2); printf(" -%d Forbidden Tags Loaded", BadPartNameCount);
  6733. }
  6734.  
  6735. //forbidden words
  6736. if((file2 = fopen("ladmin/config/ForbiddenWords.cfg",io_read)))
  6737. {
  6738. while(fread(file2,string))
  6739. {
  6740. for(new i = 0, j = strlen(string); i < j; i++) if(string[i] == '\n' || string[i] == '\r') string[i] = '\0';
  6741. ForbiddenWords[ForbiddenWordCount] = string;
  6742. ForbiddenWordCount++;
  6743. }
  6744. fclose(file2); printf(" -%d Forbidden Words Loaded", ForbiddenWordCount);
  6745. }
  6746. }
  6747. //=====================[ SAVING DATA ] =========================================
  6748. forward SaveToFile(filename[],text[]);
  6749. public SaveToFile(filename[],text[])
  6750. {
  6751. #if defined SAVE_LOGS
  6752. new File:LAdminfile, filepath[256], string[256], year,month,day, hour,minute,second;
  6753. getdate(year,month,day); gettime(hour,minute,second);
  6754.  
  6755. format(filepath,sizeof(filepath),"ladmin/logs/%s.txt",filename);
  6756. LAdminfile = fopen(filepath,io_append);
  6757. format(string,sizeof(string),"[%d.%d.%d %d:%d:%d] %s\r\n",day,month,year,hour,minute,second,text);
  6758. fwrite(LAdminfile,string);
  6759. fclose(LAdminfile);
  6760. #endif
  6761.  
  6762. return 1;
  6763. }
  6764. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  6765. {
  6766. new string[256];
  6767. //////////////
  6768. if(dialogid == DIALOGID0+1)
  6769. {
  6770. if(response)
  6771. {
  6772. if (PlayerInfo[playerid][LoggedIn] == 1) return SendClientMessage(playerid,COLOR_RED,"CONTA: Você já está registrado e logado.");
  6773. if (udb_Exists(PlayerName2(playerid))) return SendClientMessage(playerid,COLOR_RED,"CONTA: Esta conta já existe, por favor use '/logar [senha]'.");
  6774. if (strlen(inputtext) < 4 || strlen(inputtext) > 20) return ShowPlayerDialog(playerid, DIALOGID0+1, DIALOG_STYLE_INPUT,"{F27916}CONTA", "{F27916}A senha deve ter no mínimo 4 dígitos!", "Registrar", "Kick");
  6775. if (udb_Create(PlayerName2(playerid),inputtext))
  6776. {
  6777. new file[256],rname[MAX_PLAYER_NAME], tmp3[100];
  6778. new strdate[20], year,month,day;
  6779. getdate(year, month, day);
  6780. GetPlayerName(playerid,rname,sizeof(rname));
  6781. format(file,sizeof(file),"/ladmin/users/%s.sav",udb_encode(rname));
  6782. GetPlayerIp(playerid,tmp3,100);
  6783. dini_Set(file,"ip",tmp3);
  6784. // dini_Set(file,"password",params);
  6785. dUserSetINT(PlayerName2(playerid)).("registered",1);
  6786. format(strdate, sizeof(strdate), "%d/%d/%d",day,month,year);
  6787. dini_Set(file,"RegisteredDate",strdate);
  6788. dUserSetINT(PlayerName2(playerid)).("loggedin",1);
  6789. dUserSetINT(PlayerName2(playerid)).("banned",0);
  6790. dUserSetINT(PlayerName2(playerid)).("level",0);
  6791. dUserSetINT(PlayerName2(playerid)).("LastOn",0);
  6792. dUserSetINT(PlayerName2(playerid)).("money",0);
  6793. dUserSetINT(PlayerName2(playerid)).("kills",0);
  6794. dUserSetINT(PlayerName2(playerid)).("deaths",0);
  6795. PlayerInfo[playerid][LoggedIn] = 1;
  6796. PlayerInfo[playerid][Registered] = 1;
  6797. SendClientMessage(playerid, green, "CONTA: {FFA600}Você foi registrado e logado! Seus {F70505}/STATUS {FFA600}serão salvos!");
  6798. SendClientMessage(playerid, green, "CREDITOS: {FFA600}Para ver quem criou este Sistema de Registro e Login digite {F70505}/CREDITOSFSADMIN");
  6799. PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
  6800. return 1;
  6801. }
  6802. }
  6803. else{
  6804. static n[24], stringx[128];
  6805. GetPlayerName(playerid, n, 24);
  6806. format(stringx, sizeof(stringx),"%s foi kickado, motivo: Não quis se registrar", n);
  6807. SendClientMessageToAll(grey, stringx);
  6808. GameTextForPlayer(playerid,"~r~Voce foi kickado!",5000,5);
  6809. SendClientMessage(playerid,red,"Você foi kickado por não se registrar");
  6810. Kick(playerid);
  6811. }
  6812. }
  6813. if(dialogid == DIALOGID0+2)
  6814. {
  6815. if(response)
  6816. {
  6817. if (PlayerInfo[playerid][LoggedIn] == 1) return SendClientMessage(playerid,COLOR_RED,"CONTA: Você ja está logado.");
  6818. if (!udb_Exists(PlayerName2(playerid))) return SendClientMessage(playerid,COLOR_RED,"CONTA: Esta conta não existe, por favor use '/registrar [senha]'.");
  6819. if (udb_CheckLogin(PlayerName2(playerid),inputtext))
  6820. {
  6821. new file[256], tmp3[100], lname[MAX_PLAYER_NAME];
  6822. GetPlayerName(playerid,lname,sizeof(lname));
  6823. format(file,sizeof(file),"/ladmin/users/%s.sav",udb_encode(lname));
  6824. GetPlayerIp(playerid,tmp3,100);
  6825. dini_Set(file,"ip",tmp3);
  6826. LoginPlayer(playerid);
  6827. PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
  6828. if(PlayerInfo[playerid][Level] > 0) {
  6829. format(string,sizeof(string),"CONTA: Logado com sucesso. {FFA600}(Admin Nivel %d)", PlayerInfo[playerid][Level] );
  6830. return SendClientMessage(playerid,green,string);
  6831. } else return SendClientMessage(playerid,green,"CONTA: {FFA600}Logado com sucesso! Seus {F70505}/STATUS {FFA600}foram carregados! Criadores do FS em {F70505}/CREDITOSFSADMIN");
  6832. }
  6833. PlayerInfo[playerid][FailLogin]++;
  6834. if(PlayerInfo[playerid][FailLogin] == MAX_FAIL_LOGINS)
  6835. {
  6836. new stringx[128]; format(stringx, sizeof(stringx), "%s foi kickado. Digitou senha errada 4 vezes.", PlayerName2(playerid) );
  6837. SendClientMessageToAll(grey, stringx);
  6838. print(string);
  6839. GameTextForPlayer(playerid,"~r~Voce foi kickado!",5000,5);
  6840. Kick(playerid);
  6841. }
  6842. if(PlayerInfo[playerid][FailLogin] == MAX_FAIL_LOGINS-1)
  6843. {
  6844. SendClientMessage(playerid,red,"ULTIMA TENTATIVA! MAIS UM ERRO É KICK!");
  6845. }
  6846. return ShowPlayerDialog(playerid, DIALOGID0+2, DIALOG_STYLE_INPUT,"{F54747}Senha INCORRETA", " {F27916}Esta senha não bateu com \n a que esta registrada \n no servidor! \n\n Tente novamente:", "Logar", "Kick");
  6847. }
  6848. else{
  6849. static n[24], stringx[128];
  6850. GetPlayerName(playerid, n, 24);
  6851. format(stringx, sizeof(stringx),"%s foi kickado, motivo: Não quis logar-se", n);
  6852. SendClientMessageToAll(grey, stringx);
  6853. GameTextForPlayer(playerid,"~r~Voce foi kickado!",5000,5);
  6854. SendClientMessage(playerid,red,"Você foi kickado por não se logar!");
  6855. Kick(playerid);
  6856. }
  6857. }
  6858. return 1;
  6859. }
  6860. //============================[ EOF ]===========================================
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement