Advertisement
DanGT

Gamemode configuravel - DanDRT

Feb 4th, 2015
890
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 57.64 KB | None | 0 0
  1. #include <a_samp>
  2. #include <zcmd>
  3. #include <iLoops>
  4. #include <sscanf>
  5.  
  6. #define TORCIDA_NOME "Torcida Uniformizada os Imbativeis" // Nome da sua torcida
  7. #define TORCIDA_SIGLA "TUI" // Sigla da sua torcida
  8.  
  9. #define TORCIDA_SKIN 30
  10.  
  11. #define VERSAO_GM "1.0" // Versão do gamemode
  12.  
  13. #define DIALOG_LOGIN (0)
  14. #define DIALOG_REGISTRO (1)
  15. #define DIALOG_MUDARLUTA (2)
  16. #define DIALOG_ARMAS (3)
  17. #define DIALOG_VEHICLE (4)
  18.  
  19. #define MAX_ADMIN_LEVEL (3)
  20. #define MAX_PM_LEVEL (3)
  21. #define MAX_RGT_LEVEL (3)
  22. #define MAX_TRAF_LEVEL (3)
  23.  
  24. new Float:TORCIDA_SPAWN[3] = {2178.4219,964.2675,10.8203}; // x.x, y.y, z.z
  25.  
  26. #define TORCIDA_COR 0xFF0000AA
  27.  
  28. #define IP_RADIO "189.76.158.143:50002" // IP da Radio
  29.  
  30. forward Clock();
  31. forward Messages();
  32.  
  33. new bola;
  34.  
  35. main()
  36. {
  37. print("* Gamemode Configuravel - [TUI]Dan");
  38. }
  39.  
  40. enum aPlayer
  41. {
  42. bool:Exist,
  43. bool:Logou,
  44. RGT,
  45. PM,
  46. PUX,
  47. ORG,
  48. ADM,
  49. TRAF,
  50. MP3,
  51. VEH
  52. }
  53. new AccountPlayer[MAX_PLAYERS][aPlayer];
  54.  
  55. new Text:DaH[2], Text:Placar;
  56.  
  57. new Gol[2];
  58.  
  59. new DB:dBase, Query[300], DBResult:Result;
  60.  
  61. public OnGameModeInit()
  62. {
  63. SetGameModeText("[" TORCIDA_SIGLA "]" "Mod " VERSAO_GM);
  64. /*
  65. * SQLite */
  66. dBase = db_open("" TORCIDA_SIGLA ".db");
  67.  
  68. if(!dBase)
  69. print("Falha ao conectar ao '" TORCIDA_SIGLA ".db'."), SendRconCommand("exit");
  70. else
  71. print("Sucesso ao conectar ao '" TORCIDA_SIGLA ".db'.");
  72.  
  73. db_free_result(db_query(dBase, "CREATE TABLE IF NOT EXISTS `USERS` (`Nick`, `Password`, `ORG`, `PUX`, `TRAF`, `RGT`, `PM`, `ADM`)"));
  74. /*
  75. * Configurações */
  76. ShowPlayerMarkers(false);
  77.  
  78. EnableStuntBonusForAll(0);
  79.  
  80. LimitGlobalChatRadius(30);
  81.  
  82. UsePlayerPedAnims();
  83. DisableInteriorEnterExits();
  84. /*
  85. * Temporizadores */
  86. SetTimer("Clock", 1000, true);
  87. SetTimer("Messages", 60000*5, true);
  88. /*
  89. * TextDraw */
  90. DaH[0] = TextDrawCreate(525.000000, 5.000000, "--");
  91. TextDrawAlignment(DaH[0], 0);
  92. TextDrawBackgroundColor(DaH[0], 0x000000FF);
  93. TextDrawFont(DaH[0], 2);
  94. TextDrawLetterSize(DaH[0], 0.399999, 2.000000);
  95. TextDrawColor(DaH[0], 0xFFFFFFFF);
  96. TextDrawSetOutline(DaH[0], 1);
  97. TextDrawSetProportional(DaH[0], 1);
  98. TextDrawSetShadow(DaH[0], 1);
  99.  
  100. DaH[1] = TextDrawCreate(550.000000, 23.000000, "--");
  101. TextDrawAlignment(DaH[1], 0);
  102. TextDrawBackgroundColor(DaH[1], 0x000000FF);
  103. TextDrawFont(DaH[1], 2);
  104. TextDrawLetterSize(DaH[1], 0.399999,2.000000);
  105. TextDrawColor(DaH[1], 0xFFFFFFFF);
  106. TextDrawSetOutline(DaH[1], 1);
  107. TextDrawSetProportional(DaH[1], 1);
  108. TextDrawSetShadow(DaH[1], 1);
  109.  
  110. Placar = TextDrawCreate(550.0,405.0, "0 - 0");
  111. TextDrawAlignment(Placar, 0);
  112. TextDrawBackgroundColor(Placar, 0x000000ff);
  113. TextDrawFont(Placar, 1);
  114. TextDrawLetterSize(Placar, 0.5, 2.0);
  115. TextDrawColor(Placar, 0xffffffff);
  116. TextDrawSetOutline(Placar, 1);
  117. TextDrawSetProportional(Placar, 1);
  118. TextDrawSetShadow(Placar, 1);
  119. /*
  120. * Objetos */
  121. bola = CreateObject(1598, 1347.44,2149.91,10.3156, 0, 0, 0);
  122. /*
  123. - Estadio */
  124. CreateObject(1251,1387.6999500,2154.1999500,12.3000000,90.0000000,191.0460000,166.9540000); //object(smashbar) (1)
  125. CreateObject(1251,1387.3000500,2145.6001000,12.3000000,90.0000000,171.7240000,186.2710000); //object(smashbar) (2)
  126. CreateObject(1251,1387.4000200,2149.1001000,15.6000000,0.0000000,270.0000000,178.4890000); //object(smashbar) (3)
  127. CreateObject(1251,1387.5999800,2151.0000000,15.6000000,0.0000000,270.0000000,178.4840000); //object(smashbar) (4)
  128. CreateObject(1251,1307.5999800,2154.1001000,12.3000000,90.0000000,172.4700000,185.5190000); //object(smashbar) (5)
  129. CreateObject(1251,1307.5999800,2145.6001000,12.3000000,90.0000000,172.4690000,185.5150000); //object(smashbar) (6)
  130. CreateObject(1251,1307.1999500,2148.8999000,15.6000000,0.0000000,0.0000000,2.0000000); //object(smashbar) (7)
  131. CreateObject(1251,1307.1999500,2150.8000500,15.6000000,0.0000000,0.0000000,2.0000000); //object(smashbar) (8)
  132. /*
  133. - Carros PM */
  134. CreateVehicle(596,1560.2485,-1605.8322,13.1031,359.9197,79,1,60000); //
  135. CreateVehicle(596,1563.7839,-1605.9286,13.1037,359.1242,79,1,60000); //
  136. CreateVehicle(596,1567.2313,-1605.9563,13.1037,359.5985,79,1,60000); //
  137. CreateVehicle(596,1570.5763,-1606.0925,13.1040,357.9536,79,1,60000); //
  138. CreateVehicle(596,1573.8079,-1606.2703,13.1032,357.3406,79,1,60000); //
  139. CreateVehicle(596,1577.1543,-1606.4355,13.1040,356.4305,79,1,60000); //
  140. CreateVehicle(596,1580.4213,-1606.5679,13.1039,355.3864,79,1,60000); //
  141. CreateVehicle(596,1583.7167,-1606.7584,13.1041,356.0052,79,1,60000); //
  142. CreateVehicle(596,1587.1445,-1607.0692,13.1031,356.1595,79,1,60000); //
  143. CreateVehicle(596,1590.5006,-1607.2726,13.1040,355.6665,79,1,60000); //
  144. CreateVehicle(596,1593.7472,-1607.4868,13.1153,355.3830,79,1,60000); //
  145. CreateVehicle(596,1597.1898,-1607.6069,13.1536,356.8686,79,1,60000); //
  146. CreateVehicle(523,1571.2340,-1635.2426,13.1259,179.2603,79,1,60000); //
  147. CreateVehicle(523,1569.6764,-1635.1040,13.1263,181.7923,79,1,60000); //
  148. CreateVehicle(523,1568.2533,-1634.9919,13.1232,180.7360,79,1,60000); //
  149. CreateVehicle(523,1566.6610,-1634.9128,13.1119,180.9639,79,1,60000); //
  150. CreateVehicle(523,1565.2166,-1634.9463,13.1314,179.0768,79,1,60000); //
  151. CreateVehicle(523,1563.7648,-1634.8887,13.1319,178.2866,79,1,60000); //
  152. CreateVehicle(523,1562.1689,-1634.6586,13.1277,181.0682,79,1,60000); //
  153. CreateVehicle(523,1603.6100,-1631.2946,13.6479,270.4733,79,1,60000); //
  154. CreateVehicle(523,1603.7396,-1627.1694,13.6376,271.2545,79,1,60000); //
  155. CreateVehicle(596,1584.4525,-1667.6807,5.7846,90.3542,79,1,60000); //
  156. CreateVehicle(596,1584.4933,-1671.7457,5.7847,89.9008,79,1,60000); //
  157. CreateVehicle(596,1595.4871,-1711.7394,5.7834,178.4356,79,1,60000); //
  158. CreateVehicle(596,1591.3827,-1711.6509,5.7818,177.8766,79,1,60000); //
  159. CreateVehicle(596,1587.3647,-1711.7145,5.7841,179.1756,79,1,60000); //
  160. CreateVehicle(596,1583.4076,-1711.8252,5.7828,180.3159,79,1,60000); //
  161. CreateVehicle(596,1578.8362,-1711.8191,5.7818,179.7878,79,1,60000); //
  162. CreateVehicle(596,1574.6163,-1711.7682,5.7828,179.9885,79,1,60000); //
  163. CreateVehicle(596,1570.3649,-1711.9095,5.7837,181.3229,79,1,60000); //
  164. CreateVehicle(596,1546.2623,-1672.1404,5.7841,269.8154,79,1,60000); //
  165. CreateVehicle(596,1546.4381,-1667.9441,5.7831,269.2316,79,1,60000); //
  166. CreateVehicle(596,1546.5626,-1663.0861,5.7831,268.7564,79,1,60000); //
  167. CreateVehicle(596,1546.5537,-1659.0974,5.7821,268.6982,79,1,60000); //
  168. return 1;
  169. }
  170.  
  171. public OnGameModeExit()
  172. {
  173. each(Players->new i)
  174. SaveAccount(i);
  175.  
  176. db_close(dBase);
  177. return 1;
  178. }
  179.  
  180. public OnPlayerConnect(playerid)
  181. {
  182.  
  183. TextDrawShowForPlayer(playerid, DaH[0]);
  184. TextDrawShowForPlayer(playerid, DaH[1]);
  185. TextDrawShowForPlayer(playerid, Placar);
  186.  
  187. AccountPlayer[playerid][Logou] = false;
  188.  
  189. format(Query, sizeof(Query), "SELECT `Nick` FROM `USERS` WHERE `Nick` = '%s'", GetPlayerNameEx(playerid));
  190. Result = db_query(dBase, Query);
  191.  
  192. AccountPlayer[playerid][Exist] = !!db_num_rows(Result);
  193.  
  194. for(new i; i < 8; i++)
  195. SendClientMessage(playerid, 0xFF0000AA, " ");
  196. SendClientMessage(playerid, 0xFD4F3596, "Bem vindo ao servidor da " TORCIDA_NOME ", Versão " VERSAO_GM " GameMod.");
  197. SendClientMessage(playerid, 0xE3E3E3FF, "** Qualquer dúvidas, procure um adminstrador.");
  198. return 1;
  199. }
  200.  
  201. public OnPlayerDisconnect(playerid, reason)
  202. {
  203. switch(reason)
  204. {
  205. case 0: format(Query, sizeof(Query), "%s saiu do servidor (Problemas de Conexão).", GetPlayerNameEx(playerid));
  206. case 1: format(Query, sizeof(Query), "%s saiu do servidor (Conta Própria).", GetPlayerNameEx(playerid));
  207. case 2: format(Query, sizeof(Query), "%s saiu do servidor (Kickado/Banido).", GetPlayerNameEx(playerid));
  208. }
  209. SendClientMessageToAll(0xFFFFD2AA, Query);
  210.  
  211. SaveAccount(playerid);
  212. return 1;
  213. }
  214.  
  215. public OnPlayerSpawn(playerid)
  216. {
  217. TogglePlayerControllable(playerid, true);
  218.  
  219. SetPlayerSkin(playerid, TORCIDA_SKIN);
  220. SetPlayerInterior(playerid, 0);
  221.  
  222. SetPlayerPos(playerid, TORCIDA_SPAWN[0], TORCIDA_SPAWN[1], TORCIDA_SPAWN[2]);
  223.  
  224. SetPlayerHealth(playerid, 100);
  225.  
  226. SetPlayerColor(playerid, TORCIDA_COR);
  227. return 1;
  228. }
  229.  
  230. public OnPlayerRequestClass(playerid, classid)
  231. {
  232. InterpolateCameraPos(playerid, 2058.8855,1450.2252,42.0518, 1856.7578,1626.9333,39.3051, 20000);
  233. InterpolateCameraLookAt(playerid, -2276.3943,947.8975,97.2392, -2419.7163,1021.1584,58.2656, 10000);
  234.  
  235. if(AccountPlayer[playerid][Exist])
  236. ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "Login", "Status : {52CF19}Registrada\n {FFFFFF}digite sua senha para logar!", "Logar", "Cancelar");
  237. else
  238. ShowPlayerDialog(playerid, DIALOG_REGISTRO, DIALOG_STYLE_INPUT, "Registro", "Status : {FF0000}Não Registrada\n {FFFFFF}digite uma senha para se registrar!", "Registrar", "Cancelar");
  239.  
  240. return 1;
  241. }
  242.  
  243. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  244. {
  245. switch(dialogid)
  246. {
  247. case DIALOG_LOGIN:
  248. {
  249. if(!strval(inputtext))
  250. return
  251. SendClientMessage(playerid, 0xFF0000AA, "[ERRO] Senha invalida!"),
  252. ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "[" TORCIDA_SIGLA "]" " - Login" , "Status da conta : Registrada\n digite sua senha para logar!", "Logar", "Cancelar");
  253.  
  254. if(response)
  255. {
  256. format(Query, sizeof(Query), "SELECT * FROM `USERS` WHERE `Nick` = '%s' AND `Password` = '%s'", GetPlayerNameEx(playerid), inputtext);
  257. Result = db_query(dBase, Query);
  258.  
  259. if(db_num_rows(Result))
  260. {
  261. AccountPlayer[playerid][Logou] = true;
  262.  
  263. format(Query, sizeof(Query), "** Bem-vindo novamente %s!", GetPlayerNameEx(playerid));
  264. SendClientMessage(playerid, 0x00DFDFAA, Query);
  265.  
  266. new Field[20];
  267.  
  268. db_get_field_assoc(Result, "ADM", Field, sizeof(Field));
  269. AccountPlayer[playerid][ADM] = strval(Field);
  270.  
  271. if(AccountPlayer[playerid][ADM])
  272. SendClientMessage(playerid, 0x00DFDFAA, "* Você logou como um Administrador!");
  273.  
  274. db_get_field_assoc(Result, "ORG", Field, sizeof(Field));
  275. AccountPlayer[playerid][ORG] = strval(Field);
  276.  
  277. if(AccountPlayer[playerid][ORG])
  278. SendClientMessage(playerid, 0x00DFDFAA, "* Você logou como um Organizador!");
  279.  
  280. db_get_field_assoc(Result, "PUX", Field, sizeof(Field));
  281. AccountPlayer[playerid][PUX] = strval(Field);
  282.  
  283. if(AccountPlayer[playerid][PUX])
  284. SendClientMessage(playerid, 0x00DFDFAA, "* Você logou como um Puxador!");
  285.  
  286. db_get_field_assoc(Result, "PM", Field, sizeof(Field));
  287. AccountPlayer[playerid][PM] = strval(Field);
  288.  
  289. if(AccountPlayer[playerid][PM])
  290. SendClientMessage(playerid, 0x00DFDFAA, "* Você logou como um Policial!");
  291.  
  292. db_get_field_assoc(Result, "TRAF", Field, sizeof(Field));
  293. AccountPlayer[playerid][TRAF] = strval(Field);
  294.  
  295. if(AccountPlayer[playerid][TRAF])
  296. SendClientMessage(playerid, 0x00DFDFAA, "* Você logou como um Traficante!");
  297.  
  298. db_get_field_assoc(Result, "RGT", Field, sizeof(Field));
  299. AccountPlayer[playerid][RGT] = strval(Field);
  300.  
  301. if(AccountPlayer[playerid][RGT])
  302. SendClientMessage(playerid, 0x00DFDFAA, "* Você logou como um Reporter!");
  303.  
  304. SetPlayerSkin(playerid, TORCIDA_SKIN);
  305.  
  306. SpawnPlayer(playerid);
  307. }
  308. else
  309. return ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "[" TORCIDA_SIGLA "]" " - Login" , "Status : {52CF19}Registrada\n {FFFFFF}digite sua senha para logar!", "Logar", "Cancelar");
  310. }
  311. else
  312. return Kick(playerid);
  313. }
  314. case DIALOG_REGISTRO:
  315. {
  316. if(response)
  317. {
  318. if(strlen(inputtext) > 24 || strlen(inputtext) < 3)
  319. return
  320. ShowPlayerDialog(playerid, DIALOG_REGISTRO, DIALOG_STYLE_INPUT, "Registro", "Status : {FF0000}Não Registrada\n {FFFFFF}digite uma senha para se registrar!", "Registrar", "Cancelar"),
  321. SendClientMessage(playerid, 0x1E90FFAA, "Senha invalida, digite uma senha válida [4 a 24 caracteres]");
  322.  
  323. format(Query, sizeof(Query), "INSERT INTO `USERS` (`Nick`, `Password`, `ORG`, `PUX`, `TRAF`, `RGT`, `PM`, `ADM`) VALUES('%s', '%s', '0', '0', '0', '0', '0', '0')", GetPlayerNameEx(playerid), inputtext);
  324. db_free_result(db_query(dBase, Query));
  325.  
  326. SetPlayerScore(playerid, 0);
  327.  
  328. AccountPlayer[playerid][Exist] = true;
  329.  
  330. return ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "[" TORCIDA_SIGLA "]" " - Login" , "Status : {52CF19}Registrada\n {FFFFFF}digite sua senha para logar!", "Logar", "Cancelar");
  331. }
  332. else
  333. return Kick(playerid);
  334. }
  335. case DIALOG_MUDARLUTA:
  336. {
  337. if(response)
  338. {
  339. switch(listitem)
  340. {
  341. case 0: SetPlayerFightingStyle (playerid, FIGHT_STYLE_ELBOW);
  342. case 1: SetPlayerFightingStyle (playerid, FIGHT_STYLE_BOXING);
  343. case 2: SetPlayerFightingStyle (playerid, FIGHT_STYLE_GRABKICK);
  344. case 3: SetPlayerFightingStyle (playerid, FIGHT_STYLE_KNEEHEAD);
  345. case 4: SetPlayerFightingStyle (playerid, FIGHT_STYLE_KUNGFU);
  346. case 5: SetPlayerFightingStyle (playerid, FIGHT_STYLE_NORMAL);
  347. }
  348. }
  349. }
  350. case DIALOG_ARMAS:
  351. {
  352. if(response)
  353. {
  354. switch(listitem)
  355. {
  356. case 0 .. 11: GivePlayerWeapon(playerid, listitem + 1, 99999);
  357. case 12: GivePlayerWeapon(playerid, 14, 99999);
  358. case 13: GivePlayerWeapon(playerid, 17, 99999);
  359. case 14: GivePlayerWeapon(playerid, 22, 99999);
  360. case 15: GivePlayerWeapon(playerid, 24, 99999);
  361. case 16: GivePlayerWeapon(playerid, 25, 99999);
  362. case 17: GivePlayerWeapon(playerid, 27, 99999);
  363. case 18: GivePlayerWeapon(playerid, 30, 99999);
  364. case 19: GivePlayerWeapon(playerid, 29, 99999);
  365. case 20: GivePlayerWeapon(playerid, 31, 99999);
  366. case 21: GivePlayerWeapon(playerid, 34, 99999);
  367. case 22: GivePlayerWeapon(playerid, 41, 99999);
  368. case 23: GivePlayerWeapon(playerid, 42, 99999);
  369. case 24: GivePlayerWeapon(playerid, 43, 99999);
  370. case 25: GivePlayerWeapon(playerid, 46, 99999);
  371. }
  372. }
  373. }
  374. case DIALOG_VEHICLE:
  375. {
  376. if(response)
  377. {
  378. new Float:X, Float:Y, Float:Z, Float:Angle;
  379.  
  380. GetPlayerPos(playerid, X, Y, Z);
  381. GetPlayerFacingAngle(playerid, Angle);
  382.  
  383. switch(listitem)
  384. {
  385. case 0: AccountPlayer[playerid][VEH] = CreateVehicle(560, X+5, Y, Z+1, Angle, random(100), random(100), -1);
  386. case 1: AccountPlayer[playerid][VEH] = CreateVehicle(411, X+5, Y, Z+1, Angle, random(100), random(100), -1);
  387. case 2: AccountPlayer[playerid][VEH] = CreateVehicle(437, X+5, Y, Z+1, Angle, random(100), random(100), -1);
  388. case 3: AccountPlayer[playerid][VEH] = CreateVehicle(481, X+5, Y, Z+1, Angle, random(100), random(100), -1);
  389. case 4: AccountPlayer[playerid][VEH] = CreateVehicle(510, X+5, Y, Z+1, Angle, random(100), random(100), -1);
  390. case 5: AccountPlayer[playerid][VEH] = CreateVehicle(431, X+5, Y, Z+1, Angle, random(100), random(100), -1);
  391. case 6: AccountPlayer[playerid][VEH] = CreateVehicle(462, X+5, Y, Z+1, Angle, random(100), random(100), -1);
  392. case 7: AccountPlayer[playerid][VEH] = CreateVehicle(468, X+5, Y, Z+1, Angle, random(100), random(100), -1);
  393. case 8: AccountPlayer[playerid][VEH] = CreateVehicle(471, X+5, Y, Z+1, Angle, random(100), random(100), -1);
  394. case 9: AccountPlayer[playerid][VEH] = CreateVehicle(443, X+5, Y, Z+1, Angle, random(100), random(100), -1);
  395. case 10: AccountPlayer[playerid][VEH] = CreateVehicle(571, X+5, Y, Z+1, Angle, random(100), random(100), -1);
  396. case 11: AccountPlayer[playerid][VEH] = CreateVehicle(535, X+5, Y, Z+1, Angle, random(100), random(100), -1);
  397. case 12: AccountPlayer[playerid][VEH] = CreateVehicle(568, X+5, Y, Z+1, Angle, random(100), random(100), -1);
  398. case 13: AccountPlayer[playerid][VEH] = CreateVehicle(549, X+5, Y, Z+1, Angle, random(100), random(100), -1);
  399. case 14: AccountPlayer[playerid][VEH] = CreateVehicle(539, X+5, Y, Z+1, Angle, random(100), random(100), -1);
  400. case 15: AccountPlayer[playerid][VEH] = CreateVehicle(520, X+5, Y, Z+1, Angle, random(100), random(100), -1);
  401. case 16: AccountPlayer[playerid][VEH] = CreateVehicle(506, X+5, Y, Z+1, Angle, random(100), random(100), -1);
  402. case 17: AccountPlayer[playerid][VEH] = CreateVehicle(452, X+5, Y, Z+1, Angle, random(100), random(100), -1);
  403. case 18: AccountPlayer[playerid][VEH] = CreateVehicle(425, X+5, Y, Z+1, Angle, random(100), random(100), -1);
  404. case 19: AccountPlayer[playerid][VEH] = CreateVehicle(513, X+5, Y, Z+1, Angle, random(100), random(100), -1);
  405. case 20: AccountPlayer[playerid][VEH] = CreateVehicle(522, X+5, Y, Z+1, Angle, random(100), random(100), -1);
  406. }
  407.  
  408. SendClientMessage(playerid, 0x33AAFFFF, "Você criou um veículo, lembre-se de deleta-lo (/dc)!");
  409. SendClientMessage(playerid, 0x33AAFFFF, "Mantenha o servidor limpo!");
  410. }
  411. }
  412. }
  413. return 1;
  414. }
  415.  
  416. public OnPlayerDeath(playerid, killerid, reason)
  417. return SendDeathMessage((IsPlayerConnected(killerid) ? killerid : INVALID_PLAYER_ID), playerid, reason);
  418.  
  419. new msgid;
  420. public Messages()
  421. {
  422. if(msgid > 1)
  423. msgid = 0;
  424.  
  425. switch(msgid)
  426. {
  427. case 0: SendClientMessageToAll(0xFF9900AA, "[ANÚNCIO] Use /creditos e descubra quais foram os criadores do GameMode.");
  428. case 1: SendClientMessageToAll(0xFF9900AA, "[ANÚNCIO] Quer ouvir uma musica? use /mp3.");
  429. case 2: SendClientMessageToAll(0xFF9900AA, "[ANÚNCIO] Respeite Organizador/Puxador ou Administradores de sua Torcida.");
  430. }
  431. msgid++;
  432. return 1;
  433. }
  434.  
  435. public Clock()
  436. {
  437. new t[3], d[3], fgol, distancia;
  438. gettime(t[0], t[1], t[2]);
  439. getdate(d[0], d[1], d[2]);
  440.  
  441. format(Query, sizeof(Query), "%s%d/%s%d/%d", (d[2] < 10 ? ("0") : ("")), d[2], (d[1] < 10 ? ("0") : ("")), d[1], d[0]);
  442. TextDrawSetString(DaH[0], Query);
  443.  
  444. format(Query, sizeof(Query), "%s%d:%s%d:%s%d", (t[0] < 10 ? ("0") : ("")), t[0], (t[1] < 10 ? ("0") : ("")), t[1], (t[2] < 10 ? ("0") : ("")), t[2]);
  445. TextDrawSetString(DaH[1], Query);
  446.  
  447. if(ObjectToPoint(4.0, bola, 1306.2180, 2150.8604, 11.0234))
  448. {
  449. Gol[0]++;
  450. fgol = 1;
  451.  
  452. DestroyObject(bola);
  453. bola = CreateObject(1598, 1347.44,2149.91,10.3156, 0, 0, 0);
  454. }
  455. if(ObjectToPoint(4.0, bola, 1388.6449,2149.7229,11.0234))
  456. {
  457. Gol[1]++;
  458. fgol = 1;
  459.  
  460. DestroyObject(bola);
  461. bola = CreateObject(1598, 1347.44,2149.91,10.3156, 0, 0, 0);
  462. }
  463.  
  464. format(Query, sizeof(Query), "%d - %d", Gol[0], Gol[1]);
  465. TextDrawSetString(Placar, Query);
  466.  
  467. each(Players->new i)
  468. {
  469. switch(t[0])
  470. {
  471. case 1 .. 15: t[1] = t[0];
  472. case 16: t[1] = 20;
  473. case 17, 18: t[1] = 21;
  474. case 19: t[1] = 23;
  475. case 20, 21, 22, 23, 24: t[1] = 24;
  476. }
  477. SetPlayerTime(i, t[1], 0);
  478.  
  479. distancia = floatround(GetPlayerDistanceFromPoint(i, 1347.2306, 2150.0154, 11.0156), floatround_round);
  480.  
  481. if(fgol)
  482. if(distancia <= 60)
  483. GameTextForPlayer(i, "GOOOOOOOOOOOOOOOOL", 5000, 5);
  484. }
  485. return 1;
  486. }
  487.  
  488. public OnPlayerText(playerid, text[])
  489. {
  490. if(text[0] == '!')
  491. {
  492. format(Query, sizeof(Query), "[Chat %s] %s (%d): {FFFFFF}%s", TORCIDA_NOME, GetPlayerNameEx(playerid), playerid, text[1]);
  493.  
  494. each(Players->new i)
  495. SendClientMessage(i, TORCIDA_COR, Query);
  496. }
  497.  
  498. format(Query, sizeof(Query), "%s: {FFFFFF}%s", GetPlayerNameEx(playerid), text);
  499. MensagemLocal(playerid, GetPlayerColor(playerid), Query, 20);
  500.  
  501. SetPlayerChatBubble(playerid, text, 0xE3E3E3FF, 100.0, 10000);
  502. return false;
  503. }
  504.  
  505. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  506. {
  507. new Float:OPos[3], Float:PPos[3];
  508. GetObjectPos(bola, OPos[0], OPos[1], OPos[2]);
  509.  
  510. GetPlayerPos(playerid, PPos[0], PPos[1], PPos[2]);
  511.  
  512. if(((newkeys & KEY_HANDBRAKE) || (newkeys & KEY_SPRINT)) && GetPVarInt(playerid, "Foot"))
  513. {
  514. if(IsPlayerInRangeOfPoint(playerid, 1.7, OPos[0], OPos[1], OPos[2]))
  515. {
  516. GetXYInFrontOfPlayer(playerid, PPos[0], PPos[1], 7.0);
  517.  
  518. MoveObject(bola, PPos[0], PPos[1], 10.3156, 10.0);
  519.  
  520. ApplyAnimation(playerid,"FIGHT_D","FightD_1",4.1,0,1,1,0,0);
  521. }
  522. }
  523. return 1;
  524. }
  525.  
  526. ObjectToPoint(Float:radi, objectid, Float:x, Float:y, Float:z)
  527. {
  528. new Float:oldposx, Float:oldposy, Float:oldposz, Float:tempposx, Float:tempposy, Float:tempposz;
  529. GetObjectPos(objectid, oldposx, oldposy, oldposz);
  530. tempposx = (oldposx - x);
  531. tempposy = (oldposy - y);
  532. tempposz = (oldposz - z);
  533. if (((tempposx < radi) && (tempposx > -radi)) && ((tempposy < radi) && (tempposy > -radi)) && ((tempposz < radi) && (tempposz > -radi)))
  534. return 1;
  535.  
  536. return 0;
  537. }
  538.  
  539. GetXYInFrontOfPlayer(playerid, &Float:x, &Float:y, Float:distance)
  540. {
  541. new Float:a;
  542. GetPlayerPos(playerid, x, y, a);
  543. GetPlayerFacingAngle(playerid, a);
  544.  
  545. if (GetPlayerVehicleID(playerid))
  546. GetVehicleZAngle(GetPlayerVehicleID(playerid), a);
  547.  
  548. x += (distance * floatsin(-a, degrees));
  549. y += (distance * floatcos(-a, degrees));
  550. }
  551.  
  552. SaveAccount(playerid)
  553. {
  554. if(!AccountPlayer[playerid][Logou])
  555. return 0;
  556.  
  557. format(Query, sizeof(Query), "UPDATE `USERS` SET `ORG`='%d', `PUX`='%d', `TRAF`='%d', `RGT`='%d', `ADM`='%d', `PM`='%d' WHERE (`Nick` = '%s')", AccountPlayer[playerid][ORG], AccountPlayer[playerid][PUX], AccountPlayer[playerid][TRAF], AccountPlayer[playerid][RGT], AccountPlayer[playerid][ADM], AccountPlayer[playerid][PM], GetPlayerNameEx(playerid));
  558. db_free_result(db_query(dBase, Query));
  559.  
  560. return 1;
  561. }
  562.  
  563. GetPlayerNameEx(playerid)
  564. {
  565. new name[MAX_PLAYER_NAME+1];
  566. GetPlayerName(playerid, name, MAX_PLAYER_NAME+1);
  567. return name;
  568. }
  569.  
  570. IsNumeric(string[])
  571. {
  572.  
  573. for (new i = (string[0] == 0x2D && string[1] ? 1 : 0),j = strlen(string); i < j; i++)
  574. if (string[i] > 0x39 || string[i] < 0x30)
  575. return false;
  576.  
  577. return true;
  578. }
  579.  
  580. ReturnPlayerID(PlayerName[])
  581. {
  582. new found, id, bool:searched;
  583. each(Players->new i)
  584. {
  585. new namelen = strlen(GetPlayerNameEx(i));
  586.  
  587. searched = false;
  588.  
  589. for(new pos; pos <= namelen; pos++)
  590. {
  591. if(!searched)
  592. {
  593. if(strfind(GetPlayerNameEx(i), PlayerName, true) == pos)
  594. {
  595. found++;
  596. id = i;
  597. break;
  598. }
  599. }
  600. }
  601. }
  602.  
  603. if(found == 1)
  604. return id;
  605. else
  606. return INVALID_PLAYER_ID;
  607. }
  608.  
  609. GetDistanceBetweenPlayers(p1, p2)
  610. {
  611. new Float:POS[3];
  612.  
  613. GetPlayerPos(p2, POS[0], POS[1], POS[2]);
  614.  
  615. POS[0] = GetPlayerDistanceFromPoint(p1, POS[0], POS[1], POS[2]);
  616.  
  617. return floatround(POS[0], floatround_round);
  618. }
  619.  
  620. MensagemLocal(playerid, cor, text[], distancia)
  621. {
  622.  
  623. each(Players->new i)
  624. if(GetDistanceBetweenPlayers(playerid, i) <= distancia)
  625. if(GetPlayerVirtualWorld(playerid) == GetPlayerVirtualWorld(i))
  626. SendClientMessage(i, cor, text);
  627.  
  628. return 1;
  629. }
  630. /*
  631. * Comandos */
  632. CMD:pular(playerid)
  633. {
  634. new Float:p[3];
  635.  
  636. GetPlayerPos(playerid, p[0], p[1], p[2]);
  637. SetPlayerPos(playerid, p[0], p[1], p[2]+0.7);
  638.  
  639. return 1;
  640. }
  641.  
  642. CMD:kill(playerid)
  643. {
  644. SetPlayerHealth(playerid, 0.0);
  645. return 1;
  646. }
  647.  
  648. CMD:mp3(playerid)
  649. {
  650. if(AccountPlayer[playerid][MP3])
  651. StopAudioStreamForPlayer(playerid), AccountPlayer[playerid][MP3] = false;
  652. else
  653. PlayAudioStreamForPlayer(playerid, "https://" IP_RADIO ""), AccountPlayer[playerid][MP3] = true;
  654.  
  655. return 1;
  656. }
  657.  
  658. CMD:skin(playerid, params[])
  659. {
  660. new skin;
  661. if(sscanf(params, "i", skin))
  662. return SendClientMessage(playerid, 0x2641FEAA, "Uso correto /skin [id]");
  663.  
  664. if(skin > 299)
  665. return SendClientMessage(playerid, 0xFF0000AA, "ERRO: Skin inválida!");
  666.  
  667. SetPlayerSkin(playerid, skin);
  668.  
  669. format(Query, sizeof(Query), "[INFO] Você mudou sua skin (%d).", skin);
  670. SendClientMessage(playerid, 0x33AAFFFF, Query);
  671. return 1;
  672. }
  673.  
  674. CMD:setskin(playerid, params[])
  675. {
  676. if(!AccountPlayer[playerid][ADM] && !AccountPlayer[playerid][ORG])
  677. return SendClientMessage(playerid, 0xFF0000AA, "ERRO: Você não tem permissão para este comando");
  678.  
  679. new id, skin;
  680. if(sscanf(params, "dd", id, skin))
  681. return SendClientMessage(playerid, 0x2641FEAA, "Uso correto /setskin [id] [skin]");
  682.  
  683. if(!IsPlayerConnected(id))
  684. return SendClientMessage(playerid, 0xFF0000AA, "ID inválido!");
  685.  
  686. if(skin > 299)
  687. return SendClientMessage(playerid, 0xFF0000AA, "Skin inválida!");
  688.  
  689. format(Query, sizeof(Query), "[INFO] Você alterou a skin de %s.", GetPlayerNameEx(id));
  690. SendClientMessage(playerid, 0x33AAFFFF, Query);
  691.  
  692. format(Query, sizeof(Query), "[INFO] Sua skin foi alterada pelo %s.", GetPlayerNameEx(playerid));
  693. SendClientMessage(id, 0x33AAFFFF, Query);
  694.  
  695. SetPlayerSkin(id, skin);
  696. return 1;
  697. }
  698.  
  699. CMD:asay(playerid, params[])
  700. {
  701. if(isnull(params))
  702. return SendClientMessage(playerid, 0x2641FEAA, "Uso: /asay [Mensagem]");
  703.  
  704. if(AccountPlayer[playerid][ADM])
  705. return format(Query, sizeof(Query), "Adminstrador %s: %s", GetPlayerNameEx(playerid), params), SendClientMessageToAll(0x3333FF96, Query);
  706. if(AccountPlayer[playerid][PUX] || AccountPlayer[playerid][ORG])
  707. return format(Query, sizeof(Query), "[GLOBAL %s] %s: %s", (AccountPlayer[playerid][ORG] ? ("ORGANIZADOR") : ("PUXADOR")), GetPlayerNameEx(playerid), params), SendClientMessageToAll(0x00A60096, Query);
  708.  
  709. return SendClientMessage(playerid, 0xFF0000AA, "ERRO: Você não pode usar este comando!");
  710. }
  711.  
  712. CMD:clima(playerid, params[])
  713. {
  714. if(AccountPlayer[playerid][ADM] < 5)
  715. return SendClientMessage(playerid, 0xFF0000AA, "ERRO: Você não tem permissão para esse comando");
  716.  
  717. if(!strlen(params))
  718. return SendClientMessage(playerid, 0x2641FEAA, "Uso: /clima [id clima] (/climas)");
  719.  
  720. SetWeather(strval(params));
  721.  
  722. format(Query, sizeof(Query), "-OpenServer- O Administrador %s alterou o clima para o de id %d.", GetPlayerNameEx(playerid), strval(params));
  723. SendClientMessageToAll(0xFFFFFFFF, Query);
  724.  
  725. return 1;
  726. }
  727.  
  728. CMD:rbola(playerid)
  729. {
  730. if(!AccountPlayer[playerid][ADM])
  731. return SendClientMessage(playerid, 0xFF0000AA, "ERRO: Você não tem permissão para esse comando");
  732.  
  733. DestroyObject(bola);
  734.  
  735. bola = CreateObject(1598, 1347.44,2149.91,10.3156, 0, 0, 0);
  736.  
  737. format(Query, sizeof(Query), "-OpenServer- Bola do estadio de LV foi recolocada ao meio-campo por %s.", GetPlayerNameEx(playerid));
  738. SendClientMessageToAll(0xFFFFFFFF, Query);
  739. return 1;
  740. }
  741.  
  742. CMD:mudarluta(playerid)
  743. return ShowPlayerDialog(playerid, DIALOG_MUDARLUTA, DIALOG_STYLE_LIST, "Estilos de Luta", "Coronhada\nBoxe\nChute\nLuta de Rua\nKungfu\nNormal", "Selecionar", "Cancelar");
  744.  
  745. CMD:jogar(playerid)
  746. {
  747. SetPVarInt(playerid, "Foot", !GetPVarInt(playerid, "Foot"));
  748. SendClientMessage(playerid, 0x33AAFFFF, "[INFO] Você agora pode jogar futebol!");
  749. return 1;
  750. }
  751.  
  752. CMD:setadmin(playerid, params[])
  753. {
  754. new id, level;
  755. if(!IsPlayerAdmin(playerid))
  756. return SendClientMessage(playerid, 0xFF0000AA, "ERRO: Você não tem permissão para este comando");
  757.  
  758. if(sscanf(params, "dd", id, level))
  759. return SendClientMessage(playerid, 0x2641FEAA, "Use /setadmin [id] [level]");
  760.  
  761. if(level < 0 || level > MAX_ADMIN_LEVEL)
  762. return SendClientMessage(playerid, 0xFF0000AA, "ERRO: Level inválido.");
  763.  
  764. if(!IsPlayerConnected(id))
  765. return SendClientMessage(playerid, 0xFF0000AA, "ERRO: Este jogador não está online.");
  766.  
  767. format(Query, sizeof(Query), "Você deu nivel %d Administrador para o %s", level, GetPlayerNameEx(id));
  768. SendClientMessage(playerid, 0x33AAFFFF, Query);
  769.  
  770. format(Query, sizeof(Query), "Você recebeu nivel %d admin do Administrador %s", level, GetPlayerNameEx(playerid));
  771. SendClientMessage(playerid, 0x33AAFFFF, Query);
  772.  
  773. AccountPlayer[id][ADM] = level;
  774.  
  775. SaveAccount(playerid);
  776. return 1;
  777. }
  778.  
  779. CMD:setorg(playerid, params[])
  780. {
  781. new id;
  782. if(AccountPlayer[id][ADM] < MAX_ADMIN_LEVEL)
  783. return SendClientMessage(playerid, 0xFF0000AA, "ERRO: Você não tem permissão para este comando");
  784.  
  785. if(sscanf(params, "d", id))
  786. return SendClientMessage(playerid, 0x2641FEAA, "Use /setorg [id] [level]");
  787.  
  788. if(!IsPlayerConnected(id))
  789. return SendClientMessage(playerid, 0xFF0000AA, "ERRO: Este jogador não está online.");
  790.  
  791. if(AccountPlayer[id][ORG])
  792. format(Query, sizeof(Query), "Você foi removido de Organizador por %s!", GetPlayerNameEx(playerid));
  793. else
  794. format(Query, sizeof(Query), "Você foi setado de Organizador por %s!", GetPlayerNameEx(playerid));
  795.  
  796. SendClientMessage(id, 0x33AAFFFF, Query);
  797.  
  798. AccountPlayer[id][ORG] = !AccountPlayer[id][ORG];
  799.  
  800. format(Query, sizeof(Query), "Você setou %s de nivel %d de Organizador", GetPlayerNameEx(playerid), AccountPlayer[id][ORG]);
  801. SendClientMessage(playerid, 0x33AAFFFF, Query);
  802.  
  803. SaveAccount(playerid);
  804. return 1;
  805. }
  806.  
  807. CMD:setpux(playerid, params[])
  808. {
  809. new id;
  810. if(AccountPlayer[id][ADM] < MAX_ADMIN_LEVEL)
  811. return SendClientMessage(playerid, 0xFF0000AA, "ERRO: Você não tem permissão para este comando");
  812.  
  813. if(sscanf(params, "d", id))
  814. return SendClientMessage(playerid, 0x2641FEAA, "Use /setpux [id] [level]");
  815.  
  816. if(!IsPlayerConnected(id))
  817. return SendClientMessage(playerid, 0xFF0000AA, "ERRO: Este jogador não está online.");
  818.  
  819. if(AccountPlayer[id][PUX])
  820. format(Query, sizeof(Query), "Você foi removido de Puxador por %s!", GetPlayerNameEx(playerid));
  821. else
  822. format(Query, sizeof(Query), "Você foi setado de Puxador por %s!", GetPlayerNameEx(playerid));
  823.  
  824. SendClientMessage(id, 0x33AAFFFF, Query);
  825.  
  826. AccountPlayer[id][PUX] = !AccountPlayer[id][PUX];
  827.  
  828. format(Query, sizeof(Query), "Você setou %s de nivel %d de Puxador", GetPlayerNameEx(playerid), AccountPlayer[id][ORG]);
  829. SendClientMessage(playerid, 0x33AAFFFF, Query);
  830.  
  831. SaveAccount(playerid);
  832. return 1;
  833. }
  834.  
  835. CMD:setpm(playerid, params[])
  836. {
  837. new id, level;
  838. if(AccountPlayer[id][ADM] < MAX_ADMIN_LEVEL && AccountPlayer[id][PM] < MAX_PM_LEVEL)
  839. return SendClientMessage(playerid, 0xFF0000AA, "ERRO: Você não tem permissão para este comando");
  840.  
  841. if(sscanf(params, "dd", id, level))
  842. return SendClientMessage(playerid, 0x2641FEAA, "Use /setpm [id] [level]");
  843.  
  844. if(level < 0 || level > MAX_PM_LEVEL)
  845. return SendClientMessage(playerid, 0xFF0000AA, "ERRO: Level inválido.");
  846.  
  847. if(!IsPlayerConnected(id))
  848. return SendClientMessage(playerid, 0xFF0000AA, "ERRO: Este jogador não está online.");
  849.  
  850. format(Query, sizeof(Query), "Você deu nivel %d PM para o %s", level, GetPlayerNameEx(id));
  851. SendClientMessage(playerid, 0x33AAFFFF, Query);
  852.  
  853. format(Query, sizeof(Query), "Você recebeu nivel %d PM do Administrador %s", level, GetPlayerNameEx(playerid));
  854. SendClientMessage(playerid, 0x33AAFFFF, Query);
  855.  
  856. AccountPlayer[id][PM] = level;
  857.  
  858. SaveAccount(playerid);
  859. return 1;
  860. }
  861.  
  862. CMD:setrgt(playerid, params[])
  863. {
  864. new id, level;
  865. if(AccountPlayer[id][ADM] < MAX_ADMIN_LEVEL && AccountPlayer[id][RGT] < MAX_RGT_LEVEL)
  866. return SendClientMessage(playerid, 0xFF0000AA, "ERRO: Você não tem permissão para este comando");
  867.  
  868. if(sscanf(params, "dd", id, level))
  869. return SendClientMessage(playerid, 0x2641FEAA, "Use /setrgt [id] [level]");
  870.  
  871. if(level < 0 || level > MAX_RGT_LEVEL)
  872. return SendClientMessage(playerid, 0xFF0000AA, "ERRO: Level inválido.");
  873.  
  874. if(!IsPlayerConnected(id))
  875. return SendClientMessage(playerid, 0xFF0000AA, "ERRO: Este jogador não está online.");
  876.  
  877. format(Query, sizeof(Query), "Você deu nivel %d RGT para o %s", level, GetPlayerNameEx(id));
  878. SendClientMessage(playerid, 0x33AAFFFF, Query);
  879.  
  880. format(Query, sizeof(Query), "Você recebeu nivel %d RGT do Administrador %s", level, GetPlayerNameEx(playerid));
  881. SendClientMessage(playerid, 0x33AAFFFF, Query);
  882.  
  883. AccountPlayer[id][RGT] = level;
  884.  
  885. SaveAccount(playerid);
  886. return 1;
  887. }
  888.  
  889. CMD:settraf(playerid, params[])
  890. {
  891. new id, level;
  892. if(AccountPlayer[id][ADM] < MAX_ADMIN_LEVEL && AccountPlayer[id][TRAF] < MAX_TRAF_LEVEL)
  893. return SendClientMessage(playerid, 0xFF0000AA, "ERRO: Você não tem permissão para este comando");
  894.  
  895. if(sscanf(params, "dd", id, level))
  896. return SendClientMessage(playerid, 0x2641FEAA, "Use /settraf [id] [level]");
  897.  
  898. if(level < 0 || level > MAX_TRAF_LEVEL)
  899. return SendClientMessage(playerid, 0xFF0000AA, "ERRO: Level inválido.");
  900.  
  901. if(!IsPlayerConnected(id))
  902. return SendClientMessage(playerid, 0xFF0000AA, "ERRO: Este jogador não está online.");
  903.  
  904. format(Query, sizeof(Query), "Você deu nivel %d de Traficante para o %s", level, GetPlayerNameEx(id));
  905. SendClientMessage(playerid, 0x33AAFFFF, Query);
  906.  
  907. format(Query, sizeof(Query), "Você recebeu nivel %d de Traficante do Administrador %s", level, GetPlayerNameEx(playerid));
  908. SendClientMessage(playerid, 0x33AAFFFF, Query);
  909.  
  910. AccountPlayer[id][TRAF] = level;
  911.  
  912. SaveAccount(playerid);
  913. return 1;
  914. }
  915.  
  916. CMD:armas(playerid)
  917. {
  918. if(AccountPlayer[playerid][ADM] < 1)
  919. return SendClientMessage(playerid, 0xFF0000AA, "ERRO: Você não tem permissão para este comando");
  920.  
  921. ShowPlayerDialog(playerid, DIALOG_ARMAS, DIALOG_STYLE_LIST, "Armas", "Soco inglês \nTaco de Golf \nCacetete \nFaca \nTaco de beisebol \nPá (bateria) \nTaco de sinuca (bandeira) \nKatana \nSerra elétrica \nVibrador Roxo \nVibrador Pequeno \nVibrador Largo \nFlores \nBomba de gás \nRojão \nDeagle \nShotgun\nSawn-off Shotgun\nAK-K7 \nMP5 \nM4-A1 \nSniper \nSpray \nExtintor \nCâmera \nParaquedas", "Pegar", "Cancelar");
  922. return 1;
  923. }
  924.  
  925. CMD:veh(playerid)
  926. {
  927.  
  928. if(!AccountPlayer[playerid][VEH])
  929. return SendClientMessage(playerid, 0xFF0000AA, "ERRO: Use /dcm para poder criar outro veiculo!");
  930.  
  931. if(AccountPlayer[playerid][ADM] || AccountPlayer[playerid][ORG] || AccountPlayer[playerid][PUX])
  932. {
  933. ShowPlayerDialog(playerid, DIALOG_VEHICLE, DIALOG_STYLE_LIST, "Carros", "Sultan \nInfernus \nÔnibus 1 \nBMX \nMountain Bike \nÔnibus 2 \nFaggio \nSanchez \nQuad \nPacker \nKart \nSlamvan \nBandito \nTampa \nVortex \nHydra \nSuper GT \nSpeeder \nHunter \nStuntplane \nNRG-500", "Criar", "Cancelar");
  934. }
  935. else
  936. return SendClientMessage(playerid, 0xFF0000AA, "ERRO: Você não tem permissão para este comando");
  937. return 1;
  938. }
  939.  
  940. CMD:dcm(playerid)
  941. {
  942. if(!AccountPlayer[playerid][VEH])
  943. return SendClientMessage(playerid, 0xFF0000AA, "ERRO: Você não tem nenhum carro criado.");
  944.  
  945. SendClientMessage(playerid, 0x33AAFFFF, "SERVER: Veiculo deletado com sucesso");
  946.  
  947. DestroyVehicle(AccountPlayer[playerid][VEH]);
  948.  
  949. AccountPlayer[playerid][VEH] = 0;
  950. return 1;
  951. }
  952.  
  953. CMD:dc(playerid)
  954. {
  955. if(!AccountPlayer[playerid][ADM] && !AccountPlayer[playerid][ORG] && !AccountPlayer[playerid][PUX])
  956. return SendClientMessage(playerid, 0xFF0000AA, "ERRO: Você não tem permissão para este comando");
  957.  
  958. if(!IsPlayerInAnyVehicle(playerid))
  959. return SendClientMessage(playerid, 0xFF0000AA, "ERRO: Você não está em um veículo");
  960.  
  961. DestroyVehicle(GetPlayerVehicleID(playerid));
  962.  
  963. format(Query, sizeof(Query), "** %s deletou um veículo!", GetPlayerNameEx(playerid));
  964.  
  965. each(Players->new i)
  966. if(GetDistanceBetweenPlayers(playerid, i) <= 50)
  967. SendClientMessage(i, 0xC798FAAA, Query);
  968.  
  969. return 1;
  970. }
  971.  
  972. CMD:rc(playerid)
  973. {
  974. if(!AccountPlayer[playerid][ADM] && !AccountPlayer[playerid][ORG] && !AccountPlayer[playerid][PUX])
  975. return SendClientMessage(playerid, 0xFF0000AA, "ERRO: Você não tem permissão para este comando");
  976.  
  977. if(!IsPlayerInAnyVehicle(playerid))
  978. return SendClientMessage(playerid, 0xFF0000AA, "ERRO: Você não está em um veículo");
  979.  
  980. SetVehicleToRespawn(GetPlayerVehicleID(playerid));
  981.  
  982. format(Query, sizeof(Query), "** %s respawnou um veículo!", GetPlayerNameEx(playerid));
  983.  
  984. each(Players->new i)
  985. if(GetDistanceBetweenPlayers(playerid, i) <= 50)
  986. SendClientMessage(i, 0xC798FAAA, Query);
  987.  
  988. return 1;
  989. }
  990.  
  991. CMD:rtc(playerid)
  992. {
  993. if(AccountPlayer[playerid][ADM] < MAX_ADMIN_LEVEL)
  994. return SendClientMessage(playerid, 0xFF0000AA, "Você não tem permissão para este comando.");
  995.  
  996. format(Query, sizeof(Query), "AdmCMD: O Adminstrador %s respawnou todos os veiculos!", GetPlayerNameEx(playerid));
  997. SendClientMessageToAll(0xFFFFFFFF, Query);
  998.  
  999. new bool:inVeh;
  1000.  
  1001. each(VehiclesCreated->new i)
  1002. {
  1003.  
  1004. inVeh = false;
  1005.  
  1006. each(Players->new j)
  1007. {
  1008. if(IsPlayerInVehicle(j, i))
  1009. {
  1010. inVeh = true;
  1011. }
  1012. }
  1013.  
  1014. if(!inVeh)
  1015. SetVehicleToRespawn(i);
  1016.  
  1017. }
  1018. return 1;
  1019. }
  1020.  
  1021. CMD:irestadio(playerid)
  1022. {
  1023. if(!AccountPlayer[playerid][ADM])
  1024. return SendClientMessage(playerid, 0xFF0000AA, "ERRO: Você não tem permissão para esse comando");
  1025.  
  1026. SetPlayerPos(playerid, 1347.1750,2112.8821,11.0156);
  1027. SetPlayerArmour(playerid, 100);
  1028.  
  1029. format(Query, sizeof(Query), "** O Administrador %s foi para o estadio.", GetPlayerNameEx(playerid));
  1030. MensagemLocal(playerid, 0xC798FAAA, Query, 60);
  1031. return 1;
  1032. }
  1033.  
  1034. CMD:bancada(playerid)
  1035. {
  1036. if(!AccountPlayer[playerid][ADM])
  1037. return SendClientMessage(playerid, 0xFF0000AA, "ERRO: Você não tem permissão para esse comando");
  1038.  
  1039. SetPlayerPos(playerid, 1410.1731,2153.9871,12.0156);
  1040. SetPlayerArmour(playerid, 100);
  1041.  
  1042. format(Query, sizeof(Query), "** O Administrador %s foi para o bancada.", GetPlayerNameEx(playerid));
  1043. MensagemLocal(playerid, 0xC798FAAA, Query, 60);
  1044. return 1;
  1045. }
  1046.  
  1047. CMD:creditos(playerid)
  1048. {
  1049. SendClientMessage(playerid, TORCIDA_COR, "** GameMod Créditos");
  1050. SendClientMessage(playerid, 0xFFFFFFFF, "* [TUI]Dan - GameMode e iLoops");
  1051. SendClientMessage(playerid, 0xFFFFFFFF, "* Zeex, SA-MP Team, Y_Less e IPS Team");
  1052. SendClientMessage(playerid, TORCIDA_COR, "- Seus créditos não estão aqui? Procure quem administra o gamemode");
  1053.  
  1054. // MANTENHA OS CRÉDITOS!
  1055.  
  1056. return 1;
  1057. }
  1058.  
  1059. CMD:jetpack(playerid)
  1060. {
  1061. if(!AccountPlayer[playerid][ADM])
  1062. return SendClientMessage(playerid, 0xFF0000AA, "ERRO: Você não tem permissão para este comando");
  1063.  
  1064. SetPlayerSpecialAction(playerid, 2);
  1065. SendClientMessage(playerid, 0x33AAFFFF, "[INFO] Você criou um Jetpack!");
  1066. return 1;
  1067. }
  1068.  
  1069. CMD:admins(playerid)
  1070. {
  1071.  
  1072. new count;
  1073.  
  1074. SendClientMessage(playerid, 0x96D742AA, "** Todos os administradores online:");
  1075.  
  1076. each(Players->new i)
  1077. if(AccountPlayer[i][ADM])
  1078. format(Query, sizeof(Query), "Admin %s - [%d]", GetPlayerNameEx(i), AccountPlayer[i][ADM]), count++;
  1079.  
  1080. if(!count)
  1081. SendClientMessage(playerid, 0xE3E3E3FF, "Não tem nenhum admin on-line!");
  1082.  
  1083. return 1;
  1084. }
  1085.  
  1086. CMD:pm(playerid, params[])
  1087. {
  1088. new id, tmp2[128];
  1089.  
  1090. if(sscanf(params, "ds[128]", id, tmp2))
  1091. return SendClientMessage(playerid, 0x2641FEAA, "Uso: /pm [id] [mensagem]");
  1092.  
  1093. if(!IsPlayerConnected(id))
  1094. return SendClientMessage(playerid, 0xFF0000AA, "ERRO: ID inválido!");
  1095.  
  1096. format(Query, sizeof(Query), "** Enviado para %s (%d): %s **", GetPlayerNameEx(id), id, tmp2);
  1097. SendClientMessage(playerid, 0xFFFF00AA, Query);
  1098.  
  1099. format(Query, sizeof(Query), "** Recebido de %s (%d): %s **", GetPlayerNameEx(playerid), playerid, tmp2);
  1100. SendClientMessage(id, 0xFFFF00AA, Query);
  1101.  
  1102. return 1;
  1103. }
  1104.  
  1105. CMD:trazertodos(playerid)
  1106. {
  1107. new Float:X, Float:Y, Float:Z;
  1108. GetPlayerPos(playerid, X, Y, Z);
  1109.  
  1110. if(!AccountPlayer[playerid][ADM] && !AccountPlayer[playerid][ORG] && !AccountPlayer[playerid][PUX])
  1111. return SendClientMessage(playerid, 0xFF0000AA, "ERRO: Você não tem permissão para este comando");
  1112.  
  1113. each(Players->new i)
  1114. if(AccountPlayer[playerid][Logou])
  1115. SetPlayerPos(i, X+1, Y+1, Z);
  1116.  
  1117. format(Query, sizeof(Query), "** %s trouxe todos membros da %s até ele.", GetPlayerNameEx(playerid), TORCIDA_NOME);
  1118. SendClientMessageToAll(0xC798FAAA, Query);
  1119.  
  1120. return 1;
  1121. }
  1122.  
  1123. CMD:trazer(playerid, params[])
  1124. {
  1125. new id;
  1126.  
  1127. if(!AccountPlayer[playerid][ADM] && !AccountPlayer[playerid][ORG] && !AccountPlayer[playerid][PUX])
  1128. return SendClientMessage(playerid, 0xFF0000AA, "ERRO: Você não tem permissão para este comando");
  1129.  
  1130. if(sscanf(params, "d", id))
  1131. return SendClientMessage(playerid, 0x2641FEAA, "Uso: /trazer [id]");
  1132.  
  1133. if(!IsPlayerConnected(id))
  1134. return SendClientMessage(playerid, 0xFF0000AA, "ERRO: ID inválido!");
  1135.  
  1136. format(Query, sizeof(Query), "** %s trouxe %s", GetPlayerNameEx(playerid), GetPlayerNameEx(id));
  1137. MensagemLocal(playerid, 0xC798FAAA, Query, 50);
  1138.  
  1139. format(Query, sizeof(Query), "** %s levou %s", GetPlayerNameEx(playerid), GetPlayerNameEx(id));
  1140. MensagemLocal(id, 0xC798FAAA, Query, 50);
  1141.  
  1142. new Float:X, Float:Y, Float:Z;
  1143. GetPlayerPos(playerid, X, Y, Z);
  1144.  
  1145. SetPlayerInterior(id, GetPlayerInterior(playerid));
  1146. SetPlayerVirtualWorld(id, GetPlayerVirtualWorld(playerid));
  1147.  
  1148. if(GetPlayerState(id) == 2)
  1149. SetVehiclePos(GetPlayerVehicleID(id), X, Y+4, Z);
  1150. else
  1151. SetPlayerPos(id, X, Y+2, Z);
  1152.  
  1153. return 1;
  1154. }
  1155.  
  1156. CMD:ir(playerid, params[])
  1157. {
  1158. new id;
  1159.  
  1160. if(!AccountPlayer[playerid][ADM] && !AccountPlayer[playerid][ORG] && !AccountPlayer[playerid][PUX])
  1161. return SendClientMessage(playerid, 0xFF0000AA, "ERRO: Você não tem permissão para este comando");
  1162.  
  1163. if(sscanf(params, "d", id))
  1164. return SendClientMessage(playerid, 0x2641FEAA, "Uso: /ir [id]");
  1165.  
  1166. if(!IsPlayerConnected(id))
  1167. return SendClientMessage(playerid, 0xFF0000AA, "ERRO: ID inválido!");
  1168.  
  1169. format(Query, sizeof(Query), "** %s foi até %s", GetPlayerNameEx(playerid), GetPlayerNameEx(id));
  1170. MensagemLocal(playerid, 0xC798FAAA, Query, 50);
  1171.  
  1172. format(Query, sizeof(Query), "** %s veio até %s", GetPlayerNameEx(playerid), GetPlayerNameEx(id));
  1173. MensagemLocal(id, 0xC798FAAA, Query, 50);
  1174.  
  1175. new Float:X, Float:Y, Float:Z;
  1176. GetPlayerPos(id, X, Y, Z);
  1177.  
  1178. SetPlayerInterior(playerid, GetPlayerInterior(id));
  1179. SetPlayerVirtualWorld(playerid, GetPlayerVirtualWorld(id));
  1180.  
  1181. if(GetPlayerState(playerid) == 2)
  1182. SetVehiclePos(GetPlayerVehicleID(playerid), X, Y+4, Z);
  1183. else
  1184. SetPlayerPos(playerid, X, Y+2, Z);
  1185.  
  1186. return 1;
  1187. }
  1188.  
  1189. CMD:ban(playerid, params[])
  1190. {
  1191. new id, tmp2[128];
  1192. if(!AccountPlayer[playerid][ADM] || !IsPlayerAdmin(playerid))
  1193. return SendClientMessage(playerid, 0xFF0000AA, "ERRO: Você não tem permissão pra esse comando");
  1194.  
  1195. if(sscanf(params, "ds[128]", id, tmp2))
  1196. return SendClientMessage(playerid, 0x2641FEAA, "Uso: /ban [id] [motivo]");
  1197.  
  1198. if(!IsPlayerConnected(id))
  1199. return SendClientMessage(playerid, 0xFF0000AA, "ERRO: ID inválido!");
  1200.  
  1201. format(Query, sizeof(Query),"AdmCMD: %s foi Banido pelo Administrador %s | Motivo: %s", GetPlayerNameEx(id), GetPlayerNameEx(playerid), tmp2);
  1202. SendClientMessageToAll(0xFF7777AA, Query);
  1203.  
  1204. Ban(id);
  1205.  
  1206. return 1;
  1207. }
  1208.  
  1209. CMD:desbanip(playerid, params[])
  1210. {
  1211. if(AccountPlayer[playerid][ADM] < MAX_ADMIN_LEVEL)
  1212. return SendClientMessage(playerid, 0xFF0000AA, "ERRO: Você não têm permissão para usar este comando!");
  1213.  
  1214. if(isnull(params))
  1215. return SendClientMessage(playerid, 0x2641FEAA, "Uso: /desbanip [IP]");
  1216.  
  1217. format(Query, sizeof(Query), "unbanip %s", params);
  1218. SendRconCommand(Query);
  1219.  
  1220. SendRconCommand("reloadbans");
  1221.  
  1222. format(Query, sizeof(Query), "-Server- IP %s foi desbanido pelo Admin %s.", params, GetPlayerNameEx(playerid));
  1223.  
  1224. each(Players->new i)
  1225. if(AccountPlayer[i][ADM])
  1226. SendClientMessage(i, 0xFF7777AA, Query);
  1227.  
  1228. return 1;
  1229. }
  1230.  
  1231. CMD:kick(playerid, params[])
  1232. {
  1233. new id, tmp2[128];
  1234. if(!AccountPlayer[playerid][ADM] && !AccountPlayer[playerid][ORG] && !AccountPlayer[playerid][TRAF] && !AccountPlayer[playerid][PM])
  1235. return SendClientMessage(playerid, 0xFF0000AA, "ERRO: Você não tem permissão para este comando");
  1236.  
  1237. if(sscanf(params, "ds[128]", id, tmp2))
  1238. return SendClientMessage(playerid, 0x2641FEAA, "Uso: /ban [id] [motivo]");
  1239.  
  1240. if(!IsPlayerConnected(id))
  1241. return SendClientMessage(playerid, 0xFF0000AA, "ERRO: ID inválido!");
  1242.  
  1243. new cargo[14];
  1244.  
  1245. if(AccountPlayer[playerid][ADM])
  1246. cargo = "Administrador";
  1247.  
  1248. else if(AccountPlayer[playerid][ORG])
  1249. cargo = "Organizador";
  1250.  
  1251. else if(AccountPlayer[playerid][TRAF])
  1252. cargo = "Traficante";
  1253.  
  1254. else if(AccountPlayer[playerid][PM])
  1255. cargo = "Policial";
  1256.  
  1257. format(Query, sizeof(Query), "AdmCMD: %s foi kickado pelo %s %s pelo motivo: %s", GetPlayerNameEx(id), cargo, GetPlayerNameEx(playerid), tmp2);
  1258. SendClientMessageToAll(0xFF7777AA, Query);
  1259.  
  1260. Kick(id);
  1261.  
  1262. return 1;
  1263. }
  1264.  
  1265. CMD:cnn(playerid, params[])
  1266. {
  1267. if(!AccountPlayer[playerid][ADM] && !AccountPlayer[playerid][ORG])
  1268. return SendClientMessage(playerid, 0xFF0000AA, "ERRO: Você não tem permissão para este comando");
  1269.  
  1270. if(isnull(params))
  1271. return SendClientMessage(playerid, 0x2641FEAA, "Uso: /cnn [mensagem]");
  1272.  
  1273. format(Query, sizeof(Query), "~b~%s: ~w~%s", GetPlayerNameEx(playerid), params);
  1274.  
  1275. each(Players->new i)
  1276. {
  1277. if(GetDistanceBetweenPlayers(playerid, i) <= 50)
  1278. {
  1279. if(GetPlayerVirtualWorld(playerid) == GetPlayerVirtualWorld(i))
  1280. {
  1281. GameTextForPlayer(i, Query, 5000, 5);
  1282. }
  1283. }
  1284. }
  1285. return 1;
  1286. }
  1287.  
  1288. CMD:cityadmin(playerid)
  1289. {
  1290. if(!AccountPlayer[playerid][ADM])
  1291. return SendClientMessage(playerid, 0xFF0000AA, "ERRO: Você não tem permissão para este comando");
  1292.  
  1293. SetPlayerPos(playerid, -729.276000,503.086944,1371.971801);
  1294. SetPlayerInterior(playerid, 1);
  1295. SetPlayerVirtualWorld(playerid, 0);
  1296.  
  1297. format(Query, sizeof(Query), "O Administrador %s foi para a cidade dos administradores.", GetPlayerNameEx(playerid));
  1298. MensagemLocal(playerid, 0xC798FAAA, Query, 20);
  1299.  
  1300. SendClientMessage(playerid, 0x33AAFFFF, "[INFO] Para sair da cidade digite '/saircity'");
  1301. return 1;
  1302. }
  1303.  
  1304. CMD:saircity(playerid)
  1305. {
  1306.  
  1307. if(!AccountPlayer[playerid][ADM])
  1308. return SendClientMessage(playerid, 0xFF0000AA, "ERRO: Você não tem permissão para este comando");
  1309.  
  1310. SpawnPlayer(playerid);
  1311.  
  1312. SetPlayerInterior(playerid, 0);
  1313.  
  1314. format(Query, sizeof(Query), "O Administrador %s saiu da cidade dos administradores.", GetPlayerNameEx(playerid));
  1315. MensagemLocal(playerid, 0xC798FAAA, Query, 20);
  1316. return 1;
  1317. }
  1318.  
  1319. CMD:vidat(playerid)
  1320. {
  1321. if(!AccountPlayer[playerid][ADM] && !AccountPlayer[playerid][ORG])
  1322. return SendClientMessage(playerid, 0xFF0000AA, "ERRO: Você não tem permissão para este comando");
  1323.  
  1324. each(Players->new i)
  1325. {
  1326. if(GetDistanceBetweenPlayers(playerid, i) <= 50)
  1327. {
  1328. if(GetPlayerVirtualWorld(playerid) == GetPlayerVirtualWorld(i))
  1329. {
  1330. SetPlayerHealth(i, 100);
  1331.  
  1332. format(Query, sizeof(Query), "** %s deu vida para todos perto dele!", GetPlayerNameEx(playerid));
  1333. MensagemLocal(i, 0xC798FAAA, Query, 60);
  1334. }
  1335. }
  1336. }
  1337. return 1;
  1338. }
  1339.  
  1340. CMD:coletet(playerid)
  1341. {
  1342. if(!AccountPlayer[playerid][ADM] && !AccountPlayer[playerid][ORG])
  1343. return SendClientMessage(playerid, 0xFF0000AA, "ERRO: Você não tem permissão para este comando");
  1344.  
  1345. each(Players->new i)
  1346. {
  1347. if(GetDistanceBetweenPlayers(playerid, i) <= 50)
  1348. {
  1349. if(GetPlayerVirtualWorld(playerid) == GetPlayerVirtualWorld(i))
  1350. {
  1351. SetPlayerArmour(i, 100);
  1352.  
  1353. format(Query, sizeof(Query), "** %s deu colete para todos perto dele!", GetPlayerNameEx(playerid));
  1354. MensagemLocal(i, 0xC798FAAA, Query, 60);
  1355. }
  1356. }
  1357. }
  1358. return 1;
  1359. }
  1360.  
  1361. CMD:a(playerid, params[])
  1362. {
  1363. if(isnull(params))
  1364. return SendClientMessage(playerid, 0x2641FEAA, "Uso: /a [mensagem]");
  1365.  
  1366. if(!AccountPlayer[playerid][ADM])
  1367. return SendClientMessage(playerid, 0xFF0000AA, "ERRO: Você não tem permissão para este comando");
  1368.  
  1369. format(Query, sizeof(Query), "** CHAT ADMIN %s (ID: %d): %s **", GetPlayerNameEx(playerid), playerid, params);
  1370.  
  1371. each(Players->new i)
  1372. if(AccountPlayer[i][ADM])
  1373. SendClientMessage(i, 0xFF66FFAA, Query);
  1374.  
  1375. return 1;
  1376. }
  1377.  
  1378. CMD:pinfo(playerid, params[])
  1379. {
  1380. if(!AccountPlayer[playerid][ADM])
  1381. return SendClientMessage(playerid, 0xFF0000AA, "ERRO: Você não tem permissão para este comando");
  1382.  
  1383. new id;
  1384.  
  1385. if(sscanf(params, "d", id))
  1386. return SendClientMessage(playerid, 0x2641FEAA, "Uso: /pinfo [id]");
  1387.  
  1388. if(!IsPlayerConnected(id))
  1389. return SendClientMessage(playerid, 0xFF0000AA, "ID inválido!");
  1390.  
  1391. format(Query, sizeof(Query), "|__________ Informações de %s __________|", GetPlayerNameEx(id));
  1392. SendClientMessage(playerid, -1, Query);
  1393.  
  1394. new ip[24];
  1395. new Float:health;
  1396. new Float:armour;
  1397.  
  1398. GetPlayerHealth(id,health);
  1399. GetPlayerArmour(id,armour);
  1400. GetPlayerIp(id, ip, sizeof(ip));
  1401.  
  1402. format(Query, sizeof(Query), "IP: %s", ip);
  1403. SendClientMessage(playerid, 0xE3E3E3FF, Query);
  1404.  
  1405. format(Query, sizeof(Query), "Level: %d", GetPlayerScore(id));
  1406. SendClientMessage(playerid, 0xE3E3E3FF, Query);
  1407.  
  1408. format(Query, sizeof(Query), "Vida: %.1f", health);
  1409. SendClientMessage(playerid, 0xE3E3E3FF, Query);
  1410.  
  1411. format(Query, sizeof(Query), "Colete: %.1f", armour);
  1412. SendClientMessage(playerid, 0xE3E3E3FF, Query);
  1413.  
  1414. format(Query, sizeof(Query), "Munição da arma na mão: %d", GetPlayerAmmo(id));
  1415. SendClientMessage(playerid, 0xE3E3E3FF, Query);
  1416.  
  1417. format(Query, sizeof(Query), "Ping: %d", GetPlayerPing(id));
  1418. SendClientMessage(playerid, 0xE3E3E3FF, Query);
  1419.  
  1420. format(Query, sizeof(Query), "Dinheiro: %d", GetPlayerMoney(id));
  1421. SendClientMessage(playerid, 0xE3E3E3FF, Query);
  1422.  
  1423. return 1;
  1424. }
  1425.  
  1426. CMD:desarmar(playerid, params[])
  1427. {
  1428. if(!AccountPlayer[playerid][ADM])
  1429. return SendClientMessage(playerid, 0xFF0000AA, "ERRO: Você não tem permissão para este comando");
  1430.  
  1431. new id;
  1432.  
  1433. if(sscanf(params, "d", id))
  1434. return SendClientMessage(playerid, 0x2641FEAA, "Uso: /desarmar [id]");
  1435.  
  1436. if(!IsPlayerConnected(id))
  1437. return SendClientMessage(playerid, 0xFF0000AA, "ID inválido!");
  1438.  
  1439. ResetPlayerWeapons(id);
  1440.  
  1441. format(Query, sizeof(Query), "-OpenServer- Você desarmou o jogador %s.", GetPlayerNameEx(id));
  1442. SendClientMessage(playerid, 0x33AAFFFF, Query);
  1443.  
  1444. format(Query, sizeof(Query), "-OpenServer- O Administrador %s desarmou você.", GetPlayerNameEx(playerid));
  1445. SendClientMessage(id, 0x33AAFFFF, Query);
  1446. return 1;
  1447. }
  1448.  
  1449. CMD:congelar(playerid, params[])
  1450. {
  1451. if(!AccountPlayer[playerid][ADM])
  1452. return SendClientMessage(playerid, 0xFF0000AA, "ERRO: Você não tem permissão para este comando");
  1453.  
  1454. new id;
  1455.  
  1456. if(sscanf(params, "d", id))
  1457. return SendClientMessage(playerid, 0x2641FEAA, "Uso: /congelar [id]");
  1458.  
  1459. if(!IsPlayerConnected(id))
  1460. return SendClientMessage(playerid, 0xFF0000AA, "ID inválido!");
  1461.  
  1462. TogglePlayerControllable(id, false);
  1463.  
  1464. format(Query, sizeof(Query), "** %s foi congelado pelo %s.", GetPlayerNameEx(id), GetPlayerNameEx(playerid));
  1465. MensagemLocal(id, 0x33AAFFFF, Query, 60);
  1466. return 1;
  1467. }
  1468.  
  1469. CMD:descongelar(playerid, params[])
  1470. {
  1471. if(!AccountPlayer[playerid][ADM])
  1472. return SendClientMessage(playerid, 0xFF0000AA, "ERRO: Você não tem permissão para este comando");
  1473.  
  1474. new id;
  1475.  
  1476. if(sscanf(params, "d", id))
  1477. return SendClientMessage(playerid, 0x2641FEAA, "Uso: /descongelar [id]");
  1478.  
  1479. if(!IsPlayerConnected(id))
  1480. return SendClientMessage(playerid, 0xFF0000AA, "ID inválido!");
  1481.  
  1482. TogglePlayerControllable(id, true);
  1483.  
  1484. format(Query, sizeof(Query), "** %s foi descongelado pelo %s.", GetPlayerNameEx(id), GetPlayerNameEx(playerid));
  1485. MensagemLocal(id, 0x33AAFFFF, Query, 60);
  1486. return 1;
  1487. }
  1488.  
  1489. CMD:tapa(playerid, params[])
  1490. {
  1491. if(!AccountPlayer[playerid][ADM] && !AccountPlayer[playerid][ORG] && !AccountPlayer[playerid][PUX])
  1492. return SendClientMessage(playerid, 0xFF0000AA, "ERRO: Você não tem permissão para este comando");
  1493.  
  1494. new id;
  1495. if(sscanf(params, "d", id))
  1496. return SendClientMessage(playerid, 0x2641FEAA, "Uso: /tapa [id]");
  1497.  
  1498. if(!IsPlayerConnected(id))
  1499. return SendClientMessage(playerid, 0xFF0000AA, "ID inválido!");
  1500.  
  1501. new Float:pos[3], Float:health;
  1502.  
  1503. GetPlayerHealth(id, health);
  1504. SetPlayerHealth(id, health-5);
  1505.  
  1506. GetPlayerPos(id, pos[0], pos[1], pos[2]);
  1507. SetPlayerPos(id, pos[0], pos[1], pos[2]+5);
  1508.  
  1509. format(Query, sizeof(Query), "** %s levou um tapa de %s", GetPlayerNameEx(id), GetPlayerNameEx(playerid));
  1510. MensagemLocal(id, 0xC798FAAA, Query, 60);
  1511. return 1;
  1512. }
  1513.  
  1514. CMD:supertapa(playerid, params[])
  1515. {
  1516. if(!AccountPlayer[playerid][ADM])
  1517. return SendClientMessage(playerid, 0xFF0000AA, "ERRO: Você não tem permissão para este comando");
  1518.  
  1519. new id;
  1520.  
  1521. if(sscanf(params, "d", id))
  1522. return SendClientMessage(playerid, 0x2641FEAA, "Uso: /supertapa [id]");
  1523.  
  1524. if(!IsPlayerConnected(id))
  1525. return SendClientMessage(playerid, 0xFF0000AA, "ID inválido!");
  1526.  
  1527. new Float:pos[3];
  1528.  
  1529. GetPlayerPos(id, pos[0], pos[1], pos[2]);
  1530. SetPlayerPos(id, pos[0], pos[1], pos[2]+90);
  1531.  
  1532. format(Query, sizeof(Query), "** %s levou um super-tapa de %s", GetPlayerNameEx(id), GetPlayerNameEx(playerid));
  1533. MensagemLocal(id, 0xC798FAAA, Query, 60);
  1534. return 1;
  1535. }
  1536.  
  1537. CMD:vida(playerid, params[])
  1538. {
  1539. if(!AccountPlayer[playerid][ADM])
  1540. return SendClientMessage(playerid, 0xFF0000AA, "ERRO: Você não tem permissão para este comando");
  1541.  
  1542. new id, vida;
  1543.  
  1544. if(sscanf(params, "dd", id, vida))
  1545. return SendClientMessage(playerid, 0x2641FEAA, "Uso: /vida [id] [valor]");
  1546.  
  1547. if(!IsPlayerConnected(id))
  1548. return SendClientMessage(playerid, 0xFF0000AA, "ERRO: ID inválido!");
  1549.  
  1550. if(!vida || vida > 100)
  1551. return SendClientMessage(playerid, 0xFF0000AA, "ERRO: Quantidade de vida inválida!");
  1552.  
  1553. SetPlayerHealth(id, vida);
  1554.  
  1555. format(Query, sizeof(Query), "** %s deu vida para %s", GetPlayerNameEx(id), GetPlayerNameEx(playerid));
  1556. MensagemLocal(id, 0xC798FAAA, Query, 60);
  1557. return 1;
  1558. }
  1559.  
  1560. CMD:olhar(playerid, params[])
  1561. {
  1562. if(!AccountPlayer[playerid][ADM])
  1563. return SendClientMessage(playerid, 0xFF0000AA, "ERRO: Você não tem permissão para este comando");
  1564.  
  1565. if(isnull(params))
  1566. return SendClientMessage(playerid, 0x2641FEAA, "Uso: /olhar [id/off]");
  1567.  
  1568. if(!strcmp(params, "off", true))
  1569. {
  1570. if(GetPlayerState(playerid) == PLAYER_STATE_SPECTATING )
  1571. return TogglePlayerSpectating(playerid, false), SendClientMessage(playerid, -1, "SERVER: Você saiu do modo espectador.");
  1572. else
  1573. return SendClientMessage(playerid, 0xFF0000AA, "ERRO: Você não está espectando ninguém.");
  1574. }
  1575. else
  1576. {
  1577. new id;
  1578. if(!IsNumeric(params))
  1579. id = ReturnPlayerID(params);
  1580. else
  1581. id = strval(params);
  1582.  
  1583. if(!IsPlayerConnected(id))
  1584. return SendClientMessage(playerid, 0xFF0000AA, "ERRO: Jogador não conectado.");
  1585.  
  1586. if(id == playerid)
  1587. return SendClientMessage(playerid, 0xFF0000AA, "ERRO: ID Inválido.");
  1588.  
  1589. TogglePlayerSpectating(playerid, true);
  1590.  
  1591. PlayerSpectatePlayer(playerid, id);
  1592. SetPlayerInterior(playerid, GetPlayerInterior(id));
  1593.  
  1594. SendClientMessage(playerid, -1, "SERVER: Você entrou no modo espectador, para sair digite /olhar off.");
  1595. }
  1596. return 1;
  1597. }
  1598.  
  1599. CMD:trafico(playerid)
  1600. {
  1601. if(!AccountPlayer[playerid][TRAF])
  1602. return SendClientMessage(playerid, 0xFF0000AA, "ERRO: Você não tem permissão para este comando");
  1603.  
  1604. SetPlayerPos(playerid, 2163.9961, -1008.8643, 62.7968);
  1605.  
  1606. SetPlayerColor(playerid, 0xAFAFAFAA);
  1607.  
  1608. SetPlayerSkin(playerid, 29);
  1609.  
  1610. GivePlayerWeapon(playerid, 22, 9999);
  1611. GivePlayerWeapon(playerid, 25, 9999);
  1612. GivePlayerWeapon(playerid, 25, 600);
  1613. GivePlayerWeapon(playerid, 30, 1200);
  1614.  
  1615. format(Query, sizeof(Query), "** O Traficante %s foi para o Morro.", GetPlayerNameEx(playerid));
  1616. MensagemLocal(playerid, 0xC798FAAA, Query, 60);
  1617. return 1;
  1618. }
  1619.  
  1620. CMD:t(playerid, params[])
  1621. {
  1622. if(isnull(params))
  1623. return SendClientMessage(playerid, 0x2641FEAA, "Uso: /t [mensagem]");
  1624.  
  1625. if(!AccountPlayer[playerid][TRAF])
  1626. return SendClientMessage(playerid, 0xFF0000AA, "ERRO: Você não tem permissão para este comando");
  1627.  
  1628. format(Query, sizeof(Query), "[TRÁFICO RÁDIO] %s (ID: %d): %s **", GetPlayerNameEx(playerid), playerid, params);
  1629.  
  1630. each(Players->new i)
  1631. if(AccountPlayer[i][TRAF])
  1632. SendClientMessage(i, 0xAFAFAFAA, Query);
  1633.  
  1634. return 1;
  1635. }
  1636.  
  1637. CMD:dp(playerid)
  1638. {
  1639. if(!AccountPlayer[playerid][PM])
  1640. return SendClientMessage(playerid, 0xFF0000AA, "ERRO: Você não tem permissão para este comando");
  1641.  
  1642. SetPlayerSkin(playerid, 287);
  1643.  
  1644. SetPlayerColor(playerid, 0x807FFEAA);
  1645.  
  1646. SetPlayerPos(playerid, 1565.0656,-1710.4619,5.8906);
  1647.  
  1648. GivePlayerWeapon(playerid,3,1);
  1649. GivePlayerWeapon(playerid,25,600);
  1650. GivePlayerWeapon(playerid,41,1200);
  1651. GivePlayerWeapon(playerid,33,1200);
  1652. GivePlayerWeapon(playerid,31,1200);
  1653.  
  1654. SetPlayerArmour(playerid, 100);
  1655.  
  1656. format(Query, sizeof(Query), "** O Polícial Militar %s foi para a DP.", GetPlayerNameEx(playerid));
  1657. MensagemLocal(playerid, 0xC798FAAA, Query, 60);
  1658. return 1;
  1659. }
  1660.  
  1661. CMD:gov(playerid, params[])
  1662. {
  1663. if(AccountPlayer[playerid][PM] < MAX_PM_LEVEL)
  1664. return SendClientMessage(playerid, 0xFF0000AA, "ERRO: Você não tem permissão para este comando");
  1665.  
  1666. if(isnull(params))
  1667. return SendClientMessage(playerid, 0x2641FEAA, "Uso: /gov [mensagem]");
  1668.  
  1669. format(Query, sizeof(Query), "Oficial da Polícia Militar %s: %s", GetPlayerNameEx(playerid), params);
  1670. SendClientMessageToAll(0x2641FEAA, Query);
  1671. return 1;
  1672. }
  1673.  
  1674. CMD:p(playerid, params[])
  1675. {
  1676. if(isnull(params))
  1677. return SendClientMessage(playerid, 0x2641FEAA, "Uso: /p [mensagem]");
  1678.  
  1679. if(!AccountPlayer[playerid][PM])
  1680. return SendClientMessage(playerid, 0xFF0000AA, "ERRO: Você não tem permissão para este comando");
  1681.  
  1682. format(Query, sizeof(Query), "[PM RÁDIO] %s (ID: %d): %s **", GetPlayerNameEx(playerid), playerid, params);
  1683.  
  1684. each(Players->new i)
  1685. if(AccountPlayer[i][PM])
  1686. SendClientMessage(i, 0xAFAFAFAA, Query);
  1687.  
  1688. return 1;
  1689. }
  1690.  
  1691. CMD:reporter(playerid)
  1692. {
  1693. if(!AccountPlayer[playerid][RGT])
  1694. return SendClientMessage(playerid, 0xFF0000AA, "ERRO: Você não tem permissão para este comando");
  1695.  
  1696. SetPlayerSkin(playerid, 187);
  1697.  
  1698. SetPlayerColor(playerid, 0xFF8000FF);
  1699.  
  1700. SetPlayerPos(playerid, -2520.9761,-624.6232,132.7834);
  1701.  
  1702. GivePlayerWeapon(playerid,43,9999);
  1703.  
  1704. SetPlayerArmour(playerid, 100);
  1705.  
  1706. format(Query, sizeof(Query), "** O Reporter %s foi para a HQ.", GetPlayerNameEx(playerid));
  1707. MensagemLocal(playerid, 0xC798FAAA, Query, 60);
  1708. return 1;
  1709. }
  1710.  
  1711. CMD:r(playerid, params[])
  1712. {
  1713. if(isnull(params))
  1714. return SendClientMessage(playerid, 0x2641FEAA, "Uso: /r [mensagem]");
  1715.  
  1716. if(!AccountPlayer[playerid][RGT])
  1717. return SendClientMessage(playerid, 0xFF0000AA, "ERRO: Você não tem permissão para este comando");
  1718.  
  1719. format(Query, sizeof(Query), "[REPÓRTER RÁDIO] %s (ID: %d): %s **", GetPlayerNameEx(playerid), playerid, params);
  1720.  
  1721. each(Players->new i)
  1722. if(AccountPlayer[i][RGT])
  1723. SendClientMessage(i, 0xFF8000FF, Query);
  1724.  
  1725. return 1;
  1726. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement