leozinhop

Untitled

Dec 20th, 2012
131
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 151.20 KB | None | 0 0
  1. //--- Includes ---//
  2. #include <a_samp>
  3. #include <a_npc>
  4. #include <DOF2>
  5.  
  6. // Game Mode Feito para Copa do BRASIL !!!
  7. // Creditos: Vitor1BTL, GaaH2BTL & Joao1BTL.
  8.  
  9. //--- Cores ---//
  10. #define COLOR_KICK 0xFF7777AA
  11. #define COLOR_BAN 0xFF7373AA
  12. #define BRANCO 0xFFFFFFAA
  13. #define VERMELHO 0xFF0000AA
  14. #define COR_ERRO 0xFF0000FF
  15. #define AZULCLARO 0x33CCFFAA
  16. #define SET_PM 0xF79F74AA
  17. #define SET_ADM 0xFFA579AA
  18. #define COR_USOCORRETO 0xD8D8D8FF
  19. #define COR_PRINCIPAL 0x33AAFFFF
  20. #define COR_NEGATIVO 0xFF7777AA
  21. #define COR_ROXO 0xC798FAAA
  22. #define ROXO 0xC798FAAA
  23. #define COR_AMARELO 0xFFFF00AA
  24. #define COR_BRANCO 0xFFFFFFAA
  25. #define COR_AZUL 0x2641FEAA
  26. #define AMARELO 0xF6F600AA
  27. #define VERDE 0x008000AA
  28.  
  29. //--- Defines ---//
  30. #define CONTAS "Players/%s.ini"
  31. #define Banidos "Banidos/%s.ini"
  32. #define REGISTRO 1
  33. #define LOGIN 2
  34. #define Locais 3
  35. #define Teste 4
  36. #define DIALOG_EN 13
  37. #define MAX_SPIKESTRIPS 14
  38. #define LimparFicha 15
  39. #define Veh 16
  40. #define Armas 18
  41. #define Tempo 19
  42. #define ADMIN_SPEC_TYPE_NONE 20
  43. #define ADMIN_SPEC_TYPE_PLAYER 21
  44. #define ADMIN_SPEC_TYPE_VEHICLE 22
  45. #define Mudarsenha 23
  46. #define DesbanIP 24
  47. #define DeletarConta 25 28
  48. #define DPLV 29 33
  49. #define SalvarContas
  50. #define FaixaTomada
  51.  
  52. //--- Pragma ---//
  53. #pragma semicolon 0
  54. #pragma tabsize 0
  55.  
  56. //--- Registro/Login ---//
  57. new Logado[MAX_PLAYERS];
  58. new Matou[MAX_PLAYERS];
  59. new Morreu[MAX_PLAYERS];
  60. new Logou[MAX_PLAYERS];
  61.  
  62. //--- Cargos ---//
  63. new Admin[MAX_PLAYERS];
  64. new BOPE[MAX_PLAYERS];
  65. new Hospital[MAX_PLAYERS];
  66.  
  67. //--- New's ---//
  68. new Local[MAX_PLAYERS];
  69. new playerid;
  70. new killerid;
  71. new gSpectateID[MAX_PLAYERS];
  72. new gSpectateType[MAX_PLAYERS];
  73. new playermoney[MAX_PLAYERS];
  74. new Bpm[MAX_PLAYERS];
  75. new Float:x[MAX_PLAYERS];
  76. new Torcidas[MAX_PLAYERS];
  77. new bool:LerPms[MAX_PLAYERS];
  78. new Preso[MAX_PLAYERS];
  79. new bool:PmBlock[MAX_PLAYERS];
  80. new lastentered[128];
  81. new Rojao[MAX_PLAYERS];
  82. new gPlayerUsingLoopingAnim[MAX_PLAYERS];
  83. new gPlayerAnimLibsPreloaded[MAX_PLAYERS];
  84. new animation[200];
  85. new Float:y[MAX_PLAYERS];
  86. new Float:z[MAX_PLAYERS];
  87. new playingfootball[MAX_PLAYERS];
  88. new MinutosPreso[MAX_PLAYERS];
  89. new SegundosPreso[MAX_PLAYERS];
  90. new freeze[MAX_PLAYERS];
  91. new Float:vida;
  92. new Float:slx, Float:sly, Float:slz;
  93. new Olhando[MAX_PLAYERS];
  94. new Barreira[MAX_PLAYERS];
  95. new SegundosContagem[MAX_PLAYERS] = 0;
  96. new Procurado[MAX_PLAYERS];
  97. new Bkick[MAX_PLAYERS];
  98. new FaixaTorcida[MAX_PLAYERS];
  99. new CPregos[MAX_PLAYERS];
  100. new Float:PosX, Float:PosY, Float:PosZ;
  101. new EmTrabalho[MAX_PLAYERS];
  102. new Cone[MAX_PLAYERS];
  103. new Float:px, Float:py, Float:pz;
  104. new TempoAsay[MAX_PLAYERS];
  105. new Olhar[MAX_PLAYERS];
  106. new GetDistanceBetweenPlayers[MAX_PLAYERS];
  107. new Float: X, Float: Y, Float: Z, Float: A, Float: Angle;
  108. new bool:EnqueteAberta,
  109. EnqueteCriador[24],
  110. SringEnquete[128],
  111. TotalDeVotosSim,
  112. TotalDeVotosNao,
  113. PlayerVotou[500]
  114. ;
  115. static i_ServerSeconds;
  116. static i_ServerMinutes;
  117. static i_ServerHours;
  118. static i_ServerDays;
  119. static i_ServerMonths;
  120. static i_ServerYears;
  121.  
  122. //--- Foward's ---//
  123. forward PlayerToPoint(Float:radi, playerid, Float:x, Float:y, Float:z);
  124. forward TestarGod(idjogador);
  125. forward BanLog(string[]);
  126. forward @TempoPreso();
  127. forward PlayerToPoint(Float:radi, playerid, Float:x, Float:y, Float:z);
  128. forward KeyChanges();
  129. forward KeyChanges2();
  130. forward KeyChanges3();
  131.  
  132. //--- Text Draw ---//
  133. new Text:Textdraw4;
  134. new Text:Textdraw3;
  135. new Text:Textdraw2;
  136. new Text:Textdraw1;
  137. new Text:txtTimeDisp;
  138. new Text:txtDateDisp;
  139.  
  140. //--- Enum ---//
  141. enum pInfo
  142. {
  143. pAdmin,
  144. pBOPE,
  145. pTempoPreso,
  146. pProcurado,
  147. pPreso,
  148. pBlockKick,
  149. pHosp,
  150. }
  151. new PlayerInfo[MAX_PLAYERS][pInfo];
  152.  
  153. enum sInfo
  154. {
  155. sCreated,
  156. Float:sX,
  157. Float:sY,
  158. Float:sZ,
  159. sObject,
  160. };
  161.  
  162. new SpikeInfo[MAX_SPIKESTRIPS][sInfo];
  163.  
  164.  
  165. forward ProxDetectorS(Float:radi, playerid, targetid);
  166. forward PlayersOn(playerid);
  167. forward AsayTempo(playerid);
  168. public AsayTempo(playerid)
  169. {
  170. TempoAsay[playerid] = 0;
  171. return 1;
  172. }
  173. public OnGameModeExit()
  174. {
  175. for(new i = 0; i <= MAX_PLAYERS; i++)
  176. {
  177. if(IsPlayerConnected(i))
  178. {
  179. if(Logado[i] == 1)
  180. {
  181. SalvarContas(i);
  182. }
  183. }
  184. }
  185. DOF2_Exit();
  186. }
  187. public PlayersOn()
  188. {
  189.  
  190. new Players, str[20];
  191. for(new i = 0; i < MAX_PLAYERS; i ++)
  192. {
  193. if(IsPlayerConnected(i)) Players++;
  194. }
  195. format(str, sizeof str, "Players On: %d/200", Players);
  196. TextDrawSetString(Textdraw4, str);
  197. }
  198.  
  199. new Mensagens[3][128] =
  200. {
  201. "[AVISO]: Não use xiter no Teste, Caso contrário você será Reprovado.",
  202. "[ANÚNCIO]: Não Fale sem a Permissão de nossos membros do Batalhão.",
  203. "[ANÚNCIO]: Não fique de ESC no Teste, Você Podera Ser Reprovado."
  204. };
  205.  
  206. forward AnuncioDeMensagens();
  207. new RandMsg;
  208. public AnuncioDeMensagens()
  209. {
  210. switch (RandMsg)
  211. {
  212. case 0: {SendClientMessageToAll(0xEA750096,Mensagens[0]); RandMsg++;}
  213. case 1: {SendClientMessageToAll(0xEA750096,Mensagens[1]); RandMsg++;}
  214. case 2: {SendClientMessageToAll(0xEA750096,Mensagens[2]); RandMsg++;}
  215. }
  216. return 1;
  217. }
  218.  
  219. main()
  220. {
  221. print("// - Game Mode Feito Por: - \\");
  222. print("// - BlueeH 2BTL - \\");
  223. SetTimer("AnuncioDeMensagens" ,45000,true);
  224. SetTimer("PlayersOn",1000,1);
  225. SetTimer("@TempoPreso", 1000, 1);
  226. }
  227. public OnGameModeInit()
  228. {
  229. SetGameModeText("[GT]BOPE.1.0a");
  230. LimitGlobalChatRadius(30);
  231. ShowPlayerMarkers(false); //sem players no mapa
  232. EnableStuntBonusForAll(0);
  233. UsePlayerPedAnims();
  234. DisableInteriorEnterExits();
  235.  
  236. //--- TextDraw igual da GT --- //
  237. Textdraw1 = TextDrawCreate(486.000000, 389.000000, "~r~T~w~este do ~r~2~w~BTL");
  238. TextDrawBackgroundColor(Textdraw1, 255);
  239. TextDrawFont(Textdraw1, 1);
  240. TextDrawLetterSize(Textdraw1, 0.559997, 2.399998);
  241. TextDrawColor(Textdraw1, -1);
  242. TextDrawSetOutline(Textdraw1, 1);
  243. TextDrawSetProportional(Textdraw1, 1);
  244.  
  245. Textdraw3 = TextDrawCreate(505.000000, 423.000000, " Versao: 1.0a");
  246. TextDrawBackgroundColor(Textdraw3, 255);
  247. TextDrawFont(Textdraw3, 2);
  248. TextDrawLetterSize(Textdraw3, 0.289998, 0.899998);
  249. TextDrawColor(Textdraw3, -1);
  250. TextDrawSetOutline(Textdraw3, 1);
  251. TextDrawSetProportional(Textdraw3, 1);
  252.  
  253. Textdraw4 = TextDrawCreate(500.000000, 434.000000, "Players On: ");
  254. TextDrawBackgroundColor(Textdraw4, 255);
  255. TextDrawFont(Textdraw4, 2);
  256. TextDrawLetterSize(Textdraw4, 0.289998, 0.899998);
  257. TextDrawColor(Textdraw4, -1);
  258. TextDrawSetOutline(Textdraw4, 1);
  259. TextDrawSetProportional(Textdraw4, 1);
  260.  
  261. txtDateDisp = TextDrawCreate(530.000000, 5.000000, "00/00/0000");
  262. TextDrawBackgroundColor(txtDateDisp, 255);
  263. TextDrawFont(txtDateDisp, 2);
  264. TextDrawLetterSize(txtDateDisp, 0.370000, 2.299999);
  265. TextDrawColor(txtDateDisp, -1);
  266. TextDrawSetOutline(txtDateDisp, 1);
  267. TextDrawSetProportional(txtDateDisp, 1);
  268.  
  269. txtTimeDisp = TextDrawCreate(556.000000, 23.000000, "--:--:--");
  270. TextDrawBackgroundColor(txtTimeDisp, 255);
  271. TextDrawFont(txtTimeDisp, 2);
  272. TextDrawLetterSize(txtTimeDisp, 0.370000, 2.299999);
  273. TextDrawColor(txtTimeDisp, -1);
  274. TextDrawSetOutline(txtTimeDisp, 1);
  275. TextDrawSetProportional(txtTimeDisp, 1);
  276.  
  277. SetTimer("ProcessGameTime", 1000, 1);
  278.  
  279. //------------------------------Corredor--------------------------------//
  280. CreateObject(974,-1245.5000000,35.7000008,15.8999996,0.0000000,0.0000000,312.0000000); //object(tall_fence) (1)
  281. CreateObject(974,-1250.0999756,40.7000008,15.8999996,0.0000000,0.0000000,313.9952393); //object(tall_fence) (2)
  282. CreateObject(974,-1254.8000488,45.2000008,15.8999996,0.0000000,0.0000000,317.9952393); //object(tall_fence) (3)
  283. CreateObject(974,-1268.5000000,33.0000000,15.8999996,0.0000000,0.0000000,313.9937744); //object(tall_fence) (4)
  284. CreateObject(974,-1258.4000244,22.5000000,15.8999996,0.0000000,0.0000000,313.9892578); //object(tall_fence) (6)
  285. CreateObject(974,-1265.0999756,29.5000000,15.8999996,0.0000000,0.0000000,313.9892578); //object(tall_fence) (7)
  286. CreateObject(974,-1265.0000000,24.7999992,15.8999996,0.0000000,0.0000000,225.9892578); //object(tall_fence) (8)
  287. CreateObject(974,-1259.4000244,23.6000004,15.8999996,0.0000000,0.0000000,313.9892578); //object(tall_fence) (9)
  288. CreateObject(974,-1264.0000000,23.6000004,15.8999996,0.0000000,0.0000000,45.9892578); //object(tall_fence) (10)
  289. CreateObject(974,-1268.5000000,18.8999996,15.8999996,0.0000000,0.0000000,45.9887695); //object(tall_fence) (12)
  290. CreateObject(974,-1273.0000000,14.1999998,15.8999996,0.0000000,0.0000000,45.9887695); //object(tall_fence) (13)
  291. CreateObject(974,-1269.5999756,20.0000000,15.8999996,0.0000000,0.0000000,45.9887695); //object(tall_fence) (14)
  292. CreateObject(974,-1274.1999512,15.1999998,15.8999996,0.0000000,0.0000000,45.9887695); //object(tall_fence) (15)
  293. CreateObject(974,-1278.5999756,10.6999998,15.8999996,0.0000000,0.0000000,45.9887695); //object(tall_fence) (16)
  294. CreateObject(974,-1277.3000488,9.6999998,15.8999996,0.0000000,0.0000000,45.9887695); //object(tall_fence) (17)
  295. CreateObject(974,-1277.0999756,4.9000001,15.8999996,0.0000000,0.0000000,135.9887695); //object(tall_fence) (18)
  296. CreateObject(974,-1272.4000244,0.3000000,15.8999996,0.0000000,0.0000000,135.9832764); //object(tall_fence) (19)
  297. CreateObject(974,-1283.3000488,10.6000004,15.8999996,0.0000000,0.0000000,315.9887695); //object(tall_fence) (21)
  298. CreateObject(974,-1288.0000000,15.1999998,15.8999996,0.0000000,0.0000000,315.9887695); //object(tall_fence) (22)
  299. CreateObject(974,-1292.5000000,14.8999996,15.8999996,0.0000000,0.0000000,49.9887695); //object(tall_fence) (23)
  300. CreateObject(974,-1272.0999756,-4.5999999,15.8999996,0.0000000,0.0000000,49.9877930); //object(tall_fence) (24)
  301. CreateObject(974,-1294.5999756,12.6999998,15.8999996,0.0000000,0.0000000,135.9877930); //object(tall_fence) (25)
  302. CreateObject(974,-1294.3000488,7.9000001,15.8999996,0.0000000,0.0000000,51.9832764); //object(tall_fence) (26)
  303. CreateObject(974,-1293.3000488,6.8000002,15.8999996,0.0000000,0.0000000,49.9818115); //object(tall_fence) (27)
  304. CreateObject(974,-1288.9000244,7.0000000,15.8999996,0.0000000,0.0000000,135.9768066); //object(tall_fence) (28)
  305. CreateObject(974,-1288.6999512,2.3000000,15.8999996,0.0000000,0.0000000,47.9722900); //object(tall_fence) (30)
  306. CreateObject(974,-1287.6999512,1.3000000,15.8999996,0.0000000,0.0000000,47.9718018); //object(tall_fence) (31)
  307. CreateObject(974,-1282.4000244,5.5999999,15.8999996,0.0000000,0.0000000,135.9718018); //object(tall_fence) (32)
  308. CreateObject(974,-1283.1999512,1.4000000,15.8999996,0.0000000,0.0000000,135.9667969); //object(tall_fence) (33)
  309. CreateObject(974,-1283.0000000,-3.2000000,15.8999996,0.0000000,0.0000000,45.9667969); //object(tall_fence) (34)
  310. CreateObject(974,-1281.8000488,-4.1999998,15.8999996,0.0000000,0.0000000,47.9613037); //object(tall_fence) (35)
  311. CreateObject(974,-1277.0999756,-4.0000000,15.8999996,0.0000000,0.0000000,317.9608154); //object(tall_fence) (36)
  312. CreateObject(974,-1273.0000000,-7.6999998,15.8999996,0.0000000,0.0000000,317.9608154); //object(tall_fence) (37)
  313. return 1;
  314. }
  315.  
  316. public OnPlayerConnect(playerid)
  317. {
  318. //------ Definições -------//
  319. Bkick[playerid] = 0;
  320. PlayerInfo[playerid][pHosp] = 0;
  321. PlayerInfo[playerid][pAdmin] = 0;
  322. PlayerInfo[playerid][pBOPE] = 0;
  323. gPlayerUsingLoopingAnim[playerid] = 0;
  324. gPlayerAnimLibsPreloaded[playerid] = 0;
  325.  
  326.  
  327. //------- Mensagem ão logar -------//
  328. SendClientMessage(playerid,0xE3E3E3FF, "");
  329. SendClientMessage(playerid,0xE3E3E3FF, "")
  330. SendClientMessage(playerid,0xE3E3E3FF, "");
  331. SendClientMessage(playerid,0xE3E3E3FF, "");
  332. SendClientMessage(playerid,0xFD4F3596, "Bem vindo ao Teste do 2BTL, versão atual do Game Mode: 1.0a");
  333. SendClientMessage(playerid,0xE3E3E3FF, "Gamemod Exclusivo do 2BTL GT");
  334.  
  335. public OnPlayerDisconnect(playerid, reason)
  336. {
  337. SalvarContas(playerid);
  338. new nome[MAX_PLAYER_NAME];
  339. new string[200];
  340. GetPlayerName(playerid, nome, sizeof(nome));
  341. switch(playerid)
  342. {
  343. case 0: format(string, sizeof(string), "%s saiu do servidor (Problemas de Conexão).", nome);
  344. case 1: format(string, sizeof(string), "%s saiu do servidor (Conta Própria).", nome);
  345. case 2: format(string, sizeof(string), "%s saiu do servidor (Kickado/Banido).", nome);
  346. }
  347. for(new i=0; i <= MAX_PLAYERS; i++)
  348. SendClientMessage(i,0xFFFFFFFFCCCC, string);
  349. if(FaixaTorcida[playerid])
  350. {
  351. new str[256];
  352. format(str, sizeof(str), "admCMD: Torcedor %s saiu do servidor com a faixa de sua torcida.[F8]", nome);
  353. for(new i = 0; i < MAX_PLAYERS; i++)
  354. {
  355. if(PlayerInfo[i][pAdmin] >= 1)
  356. {
  357. SendClientMessage(i, COR_PRINCIPAL, str);
  358. }
  359. }
  360. }
  361. if(FaixaTomada[playerid])
  362. {
  363. new str[256];
  364. format(str, sizeof(str), "admCMD: Torcedor %s saiu do servidor com a faixa de tomada.[F8]", nome);
  365. for(new i = 0; i < MAX_PLAYERS; i++)
  366. {
  367. if(PlayerInfo[i][pCbf] >= 1 || PlayerInfo[i][pAdmin] >= 1)
  368. {
  369. SendClientMessage(i, COR_PRINCIPAL, str);
  370. }
  371. }
  372. }
  373. return 1;
  374. }
  375.  
  376. public OnPlayerDeath(playerid, killerid, reason)
  377. {
  378. return 1;
  379. }
  380. public OnPlayerRequestClass(playerid, classid)
  381. {
  382. InterpolateCameraPos(playerid, -2233.3657,903.1192,97.3346, -2297.7766,988.1291,100.9580, 20000);
  383. InterpolateCameraLookAt(playerid, -2276.3943,947.8975,97.2392, -2419.7163,1021.1584,58.2656, 10000);
  384.  
  385. new Nome[MAX_PLAYER_NAME];
  386. GetPlayerName(playerid, Nome, sizeof(Nome));
  387. new String[256];
  388. format(String, sizeof(String), CONTAS, Nome);
  389. if(!fexist(String))
  390. {
  391. format(String, sizeof(String), "{FFFFFF}Parece que é sua primeira vez aqui.\n\nNick: %s\nStatus: {FF0000}Não registrada\n\n{FFFFFF}Digite uma senha abaixo para se registrar.", Nome);
  392. ShowPlayerDialog(playerid, REGISTRO, DIALOG_STYLE_PASSWORD, "Registro", String, "Registrar", "Cancelar");
  393. }
  394. else
  395. {
  396. format(String, sizeof(String), "{FFFFFF}Parece que não é sua primeira vez aqui.\n\nNick: %s\nStatus: {52CF19}Registrado\n\n{FFFFFF}Digite uma senha abaixo para logar.", Nome);
  397. ShowPlayerDialog(playerid, LOGIN, DIALOG_STYLE_PASSWORD, "Login", String, "Logar", "Cancelar");
  398. }
  399. return 1;
  400. }
  401.  
  402. public OnPlayerRequestSpawn(playerid)
  403. {
  404. if(Logado[playerid] == 1)
  405. {
  406. return 1;
  407. }
  408. else
  409. return 0;
  410. }
  411. }
  412.  
  413. public OnPlayerSpawn(playerid)
  414. {
  415. //-------------- Text Draw --------------//
  416. TextDrawShowForPlayer(playerid, Textdraw1);
  417. TextDrawShowForPlayer(playerid, Textdraw2);
  418. TextDrawShowForPlayer(playerid, Textdraw3);
  419. TextDrawShowForPlayer(playerid, Textdraw4);
  420. TextDrawShowForPlayer(playerid,txtTimeDisp);
  421. TextDrawShowForPlayer(playerid,txtDateDisp);
  422. if(PlacarON == 1)
  423. {
  424. TextDrawShowForPlayer(playerid, Placar[0]);
  425. TextDrawShowForPlayer(playerid, Placar[1]);
  426. return 1;
  427. }
  428. if(Olhando[playerid] == 1)
  429. {
  430. SetTimerEx("Posicao",300,false, "i",playerid);
  431. return 1;
  432. }
  433. if(Locais[playerid] == 0) //Local do Teste
  434. {
  435. TogglePlayerControllable(playerid, 1);
  436. SetPlayerInterior(playerid, 0);
  437. SetPlayerPos(playerid,2051.3889,-2404.9888,13.5469);
  438. SetPlayerFacingAngle(playerid, 74.0312);
  439. SetPlayerHealth(playerid,100);
  440. SetPlayerColor(playerid, 0xFF0000AA);
  441.  
  442.  
  443. if(PlayerInfo[playerid][pPreso] >= 1)
  444. {
  445. ResetPlayerWeapons(playerid);
  446. SendClientMessage(playerid,COLOR_KICK, "Você está preso, digite: /presos para saber o tempo restante.");
  447. SetPlayerPos(playerid,193.8902,174.6914,1003.0234);
  448. SetPlayerInterior(playerid, 3);
  449. new seg;
  450. seg = 60;
  451. SegundosContagem[playerid] = seg;
  452. new string[256];
  453. format(string,sizeof(string),"Curando: %d",seg);
  454. GameTextForPlayer(playerid,string,1200,3);
  455. TogglePlayerControllable(playerid, 0);
  456. GivePlayerMoney(playerid,-100);
  457. SegundosContagem[playerid] --;
  458. SetTimerEx("Contando",1000,0,"d",playerid);
  459. GivePlayerMoney(playerid,-100);
  460. PlayerInfo[playerid][pHosp] = 0;
  461. }
  462. if(PlayerInfo[playerid][pHosp] >= 1)
  463. {
  464. ResetPlayerWeapons(playerid);
  465. SendClientMessage(playerid,COR_ERRO, "Você está no hospital. Aguarde 30 segundos, os médicos estão te curando.");
  466. SetPlayerPos(playerid,215.7664,110.3570,999.0156);
  467. SetPlayerInterior(playerid,10);
  468. new seg;
  469. seg = 30;
  470. SegundosContagem[playerid] = seg;
  471. new string[256];
  472. format(string,sizeof(string),"Curando: %d",seg);
  473. GameTextForPlayer(playerid,string,1200,3);
  474. TogglePlayerControllable(playerid, 0);
  475. GivePlayerMoney(playerid,-100);
  476. SegundosContagem[playerid] --;
  477. SetTimerEx("Contando",1000,0,"d",playerid);
  478. GivePlayerMoney(playerid,-100);
  479. PlayerInfo[playerid][pHosp] = 0;
  480. }
  481. return 1;
  482. }
  483. public OnPlayerText(playerid, text[])
  484. {
  485. SetPlayerChatBubble(playerid, text, 0xE3E3E3FF, 100.0, 10000);
  486. return 1;
  487. }
  488. public OnPlayerCommandText(playerid, cmdtext[])
  489. {
  490. //--- Definiçoes Comandos ---//
  491. new cmd[256];
  492. new idx,idjogador;
  493. new tmp[256];
  494. new tmp2[256];
  495. new giveplayer[MAX_PLAYER_NAME];
  496. new sendername[MAX_PLAYER_NAME];
  497. new giveplayerid;
  498. new string[256];
  499. cmd = strtok(cmdtext, idx);
  500.  
  501.  
  502. //---------------------- Setando Organizações ----------------------//
  503.  
  504. if(strcmp(cmd, "/setadmin", true) == 0 || strcmp(cmd, "/setlevel", true) == 0)
  505. {
  506. if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid,COR_ERRO,"ERRO: Você não tem permissão de usar esse comando.");
  507. tmp = strtok(cmdtext, idx);
  508. giveplayerid = strval(tmp);
  509. GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
  510. GetPlayerName(playerid, sendername, sizeof(sendername));
  511. giveplayerid = strval(tmp);
  512. if(!strlen(tmp) && PlayerInfo[playerid][pAdmin] >= 5)
  513. {
  514. SendClientMessage(playerid, 0xD8D8D8FF, "[USO CORRETO]: /setadmin [id do player] [level]");
  515. return 1;
  516. }
  517. tmp = strtok(cmdtext, idx);
  518. if(!strlen(tmp) && PlayerInfo[playerid][pAdmin] >= 5)
  519. {
  520. SendClientMessage(playerid, 0xD8D8D8FF, "[USO CORRETO]: /setadmin [id do player] [level]");
  521. return 1;
  522. }
  523. Admin[playerid] = strval(tmp);
  524. if(Admin[playerid] < 0)
  525. {
  526. SendClientMessage(playerid, 0xD8D8D8FF, "ERRO: Level de Administrador inválido!");
  527. return 1;
  528. }
  529. if(Admin[playerid] > 5)
  530. {
  531. SendClientMessage(playerid, 0xD8D8D8FF, "ERRO: Level de Administrador inválido!");
  532. return 1;
  533. }
  534. if(Logado[playerid] == 1)
  535. {
  536. if(IsPlayerAdmin(playerid))
  537. {
  538. if(IsPlayerConnected(giveplayerid))
  539. {
  540. if(Logado[giveplayerid] == 0)
  541. {
  542. SendClientMessage(playerid, VERMELHO, "ERRO: Este player não está logado.");
  543. return 1;
  544. }
  545. else
  546. {
  547. new Nome[MAX_PLAYERS];
  548. GetPlayerName(giveplayerid, Nome, sizeof(Nome));
  549. new String[50];
  550. format(String, sizeof(string), CONTAS, Nome);
  551.  
  552. GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
  553. GetPlayerName(playerid, sendername, sizeof(giveplayer));
  554. DOF2_SetInt(String,"Admin", Admin[playerid]);
  555. DOF2_SaveFile();
  556. format(string, sizeof(string), "admCMD: Você mudou o level da conta de %s para level %d de Administrador.", giveplayer, Admin[playerid]);
  557. SendClientMessage(playerid, COR_PRINCIPAL, string);
  558. format(string, sizeof(string), "admCMD: O Game Master %s mudou o level de Administrador de sua conta para %d.", sendername, Admin[playerid]);
  559. SendClientMessage(giveplayerid, COR_PRINCIPAL, string);
  560. PlayerInfo[giveplayerid][pAdmin] = DOF2_GetInt(String, "Admin");
  561. format(string,sizeof(string),"-OpenServ- O Game Master %s mudou o level da conta de %s para level %d de Administrador.", sendername,giveplayer,Admin[playerid]);
  562. for(new i=0;i<MAX_PLAYERS;i++)
  563. if(PlayerInfo[i][pAdmin] >= 1)
  564. SendClientMessage(i,SET_ADM,string);
  565.  
  566. new PlayerName[30];
  567. GetPlayerName(playerid, PlayerName, 30);
  568. printf("[AdmCMD]: Admin %s usou /setadmin para setar o player %s de Administrador level %d.", PlayerName, giveplayer, Admin[playerid]);
  569. }
  570. }
  571. else
  572. {
  573. format(string, sizeof(string), "ERRO: Id Invalido.", giveplayerid);
  574. SendClientMessage(playerid, VERMELHO, string);
  575. }
  576. }
  577. else
  578. {
  579. SendClientMessage(playerid, VERMELHO, "ERRO: Você não tem permissão de usar esse comando.");
  580. }
  581. }
  582. else
  583. {
  584. SendClientMessage(playerid, VERMELHO, "ERRO: Você tem que estar logado para usar este comando.");
  585. }
  586. return 1;
  587. }
  588.  
  589. if(strcmp(cmd, "/setpmlv", true) == 0)
  590. {
  591. tmp = strtok(cmdtext, idx);
  592. giveplayerid = strval(tmp);
  593. GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
  594. GetPlayerName(playerid, sendername, sizeof(sendername));
  595. giveplayerid = strval(tmp);
  596. if(!strlen(tmp) && PlayerInfo[playerid][pBOPE] >= 5)
  597. {
  598. SendClientMessage(playerid, 0xD8D8D8FF, "[USO CORRETO]: /setpmlv [id do player] [level]");
  599. return 1;
  600. }
  601. tmp = strtok(cmdtext, idx);
  602. if(!strlen(tmp) && PlayerInfo[playerid][pBOPE] >= 5)
  603. {
  604. SendClientMessage(playerid, 0xD8D8D8FF, "[USO CORRETO]: /setpmlv [id do player] [level]");
  605. return 1;
  606. }
  607. BOPE[playerid] = strval(tmp);
  608. if(BOPE[playerid] < 0)
  609. {
  610. SendClientMessage(playerid, 0xD8D8D8FF, "ERRO: Level de PM-LV Invalido.");
  611. return 1;
  612. }
  613. if(BOPE[playerid] > 5)
  614. {
  615. SendClientMessage(playerid, 0xD8D8D8FF, "ERRO: Level de PM-LV Invalido.");
  616. return 1;
  617. }
  618. new orgtext[69];
  619. if(PlayerInfo[playerid][pBOPE] == 5) { orgtext = "PM"; }
  620. if(IsPlayerAdmin(playerid)) { orgtext = "Game Master"; }
  621. if(PlayerInfo[playerid][pAdmin] == 5) { orgtext = "Game Master"; }
  622. if(PlayerInfo[playerid][pAdmin] == 4) { orgtext = "Sub Game Master"; }
  623. if(Logado[playerid] == 1)
  624. {
  625. if(IsPlayerAdmin(playerid) || PlayerInfo[playerid][pAdmin] >= 4 || PlayerInfo[playerid][pBOPE] >= 5)
  626. {
  627. if(IsPlayerConnected(giveplayerid))
  628. {
  629. if(Logado[giveplayerid] == 0)
  630. {
  631. SendClientMessage(playerid, VERMELHO, "ERRO: Este player não está logado.");
  632. return 1;
  633. }
  634. else
  635. {
  636. new Nome[MAX_PLAYERS];
  637. GetPlayerName(giveplayerid, Nome, sizeof(Nome));
  638. new String[50];
  639. format(String, sizeof(string), CONTAS, Nome);
  640.  
  641. GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
  642. GetPlayerName(playerid, sendername, sizeof(giveplayer));
  643. DOF2_SetInt(String,"BOPE", BOPE[playerid]);
  644. DOF2_SaveFile();
  645. format(string, sizeof(string), "admCMD: Você mudou o level da conta de %s para level %d de PM-LV.", giveplayer, BOPE[playerid]);
  646. SendClientMessage(playerid, COR_PRINCIPAL, string);
  647. format(string, sizeof(string), "admCMD: O %s %s mudou o level de PM-LV de sua conta para %d.", orgtext, sendername, BOPE[playerid]);
  648. SendClientMessage(giveplayerid, COR_PRINCIPAL, string);
  649. PlayerInfo[giveplayerid][pBOPE] = DOF2_GetInt(String, "BOPE");
  650. format(string,sizeof(string),"-OpenServ- O %s %s mudou o level da conta de %s para level %d de PM-LV.", orgtext, sendername,giveplayer,BOPE[playerid]);
  651. for(new i=0;i<MAX_PLAYERS;i++)
  652. if(PlayerInfo[i][pBOPE] >= 1 || PlayerInfo[i][pAdmin] >= 1)
  653. SendClientMessage(i,SET_ADM,string);
  654.  
  655. new PlayerName[30];
  656. GetPlayerName(playerid, PlayerName, 30);
  657. printf("AdmCMD: O %s %s mudou o level da conta de %s para level %s de PMLV.", orgtext, PlayerName, giveplayer, BOPE[playerid]);
  658. }
  659. }
  660. else
  661. {
  662. format(string, sizeof(string), "ERRO: ID Invalido", giveplayerid);
  663. SendClientMessage(playerid, VERMELHO, string);
  664. }
  665. }
  666. else
  667. {
  668. SendClientMessage(playerid, VERMELHO, "ERRO: Você não tem permissão de usar esse comando.");
  669. }
  670. }
  671. else
  672. {
  673. SendClientMessage(playerid, VERMELHO, "ERRO: Você tem que estar logado para usar este comando.");
  674. }
  675. return 1;
  676. }
  677.  
  678. //---------------------- Animaçõess -----------//
  679. if(strcmp(cmd,"/animlist",true)==0)
  680. {
  681. SendClientMessage(playerid, BRANCO, "-------------------------------------------------------- [ ANIMLIST ] ------------------------------------------------------------------");
  682. SendClientMessage(playerid,COR_PRINCIPAL," /handsup - /bat - /box - lay - /chant - /fstance - /wave - /sentar ");
  683. SendClientMessage(playerid, BRANCO, "-------------------------------------------------------- [ ANIMLIST ] ------------------------------------------------------------------");
  684. return true;
  685. }
  686. if(strcmp(cmd, "/handsup", true) == 0) {
  687. //SetPlayerSpecialAction(playerid,SPECIAL_ACTION_HANDSUP);
  688. LoopingAnim(playerid, "ROB_BANK","SHP_HandsUp_Scr", 4.0, 0, 1, 1, 1, 0);
  689. return 1;
  690. }
  691. // Bat stance
  692. if(strcmp(cmd, "/bat", true) == 0) {
  693. LoopingAnim(playerid,"BASEBALL","Bat_IDLE",4.0,1,1,1,1,0);
  694. return 1;
  695. }
  696.  
  697. // Sentar
  698. if (!strcmp("/sentar", cmdtext, false)) {
  699. ApplyAnimation(playerid,"BEACH", "ParkSit_M_loop", 4.0, 0, 0, 0, 0, 0);
  700. return true;
  701. }
  702.  
  703. // Boxing
  704. if(strcmp(cmd, "/box", true) == 0) {
  705. LoopingAnim(playerid,"GYMNASIUM","GYMshadowbox",4.0,1,1,1,1,0);
  706. return 1;
  707. }
  708.  
  709. // Lay 2
  710. if(strcmp(cmd, "/lay", true) == 0) {
  711. LoopingAnim(playerid,"SUNBATHE","Lay_Bac_in",3.0,0,1,1,1,0);
  712. return 1;
  713. }
  714.  
  715. // Gogogo
  716. if(strcmp(cmd, "/chant", true) == 0) {
  717. LoopingAnim(playerid,"RIOT","RIOT_CHANT",4.0,1,1,1,1,0);
  718. return 1;
  719. }
  720. // Fight stance
  721. if(strcmp(cmd, "/fstance", true) == 0) {
  722. LoopingAnim(playerid,"FIGHT_D","FightD_IDLE",4.0,1,1,1,1,0);
  723. return 1;
  724. }
  725. // Wave
  726. if (strcmp("/wave", cmdtext, true) == 0) {
  727. LoopingAnim(playerid, "ON_LOOKERS", "wave_loop", 4.0, 1, 0, 0, 0, 0);
  728. return 1;
  729. }
  730. //---------------------- Comandos -----------//
  731. if(strcmp(cmd, "/comandosadmin", true) == 0)
  732. {
  733. if(PlayerInfo[playerid][pAdmin] < 1) return SendClientMessage(playerid, COR_ERRO, "ERRO: Você não tem permissão de usar esse comando.");
  734. new dialogrande[1024];
  735. format(dialogrande, sizeof(dialogrande),"%s%s",dialogrande,"[LEVEL 1]: /vidat, /tapa, /cnn, /asay, /jetpack, /dc, /setskin, /veh, /desarmar, /kick, /a [Chat Admin], /ejetar, /desarmar\n");
  736. format(dialogrande, sizeof(dialogrande),"%s%s",dialogrande,"[LEVEL 2]: /pinfo, /ir, /trazer, /congelar, /descongelar, /armas\n");
  737. format(dialogrande, sizeof(dialogrande),"%s%s",dialogrande,"[LEVEL 3]: /slap, /tempban, /olhar, /olharoff, /vida, /dararma, /bkick, /criar_e, /fechar_e\n");
  738. format(dialogrande, sizeof(dialogrande),"%s%s",dialogrande,"[LEVEL 4]: /desbanip, /dargrana, /resetargrana, /rtc\n");
  739. format(dialogrande, sizeof(dialogrande),"%s%s",dialogrande,"[LEVEL 4]: /lerpms, /tempo, /clima, /supertapa\n");
  740. ShowPlayerDialog(playerid,666, DIALOG_STYLE_MSGBOX, "Comandos Administrador", dialogrande, "OK", "");
  741. return 1;
  742. }
  743. if(strcmp(cmd, "/comandospmlv", true) == 0)
  744. {
  745. if(PlayerInfo[playerid][pBOPE] < 1) return SendClientMessage(playerid, COR_ERRO, "ERRO: Você não tem permissão de usar esse comando.");
  746. new dialogrande[1024];
  747. format(dialogrande, sizeof(dialogrande),"%s%s",dialogrande,"[LEVEL 1]: /cone, /rcone, /g, /d, /br, /rbr, /m, /dp, /apdplv, /su\n");
  748. format(dialogrande, sizeof(dialogrande),"%s%s",dialogrande,"[LEVEL 2]: /algemar, /desalgemar, /trazer\n");
  749. format(dialogrande, sizeof(dialogrande),"%s%s",dialogrande,"[LEVEL 3]: /kick\n");
  750. format(dialogrande, sizeof(dialogrande),"%s%s",dialogrande,"[LEVEL 4]: /gov, /rtcones, /rbrall\n");
  751. format(dialogrande, sizeof(dialogrande),"%s%s",dialogrande,"[LEVEL 5]: /setpmlv, /ir\n");
  752. ShowPlayerDialog(playerid,666, DIALOG_STYLE_MSGBOX, "Comandos PM-LV", dialogrande, "OK", "");
  753. return 1;
  754. }
  755.  
  756. if(!strcmp(cmdtext, "/admins", true))
  757. {
  758. SendClientMessage(playerid, 0x0080FFAA, "Todos Administradores online:");
  759. new count=0;
  760. for(new i=0; i<MAX_PLAYERS; i++)
  761. {
  762. if(IsPlayerConnected(i))
  763. {
  764. if(Logado[i] == 1)
  765. {
  766. if(PlayerInfo[i][pAdmin] == 1)
  767. {
  768. new String[100];
  769. new pname[24];
  770. GetPlayerName(i, pname, 24);
  771. format(String, 256, "Admin %s [Level 1]", pname);
  772. SendClientMessage(playerid, 0xE3E3E3FF, String);
  773. count++;
  774. }
  775. if(PlayerInfo[i][pAdmin] == 2)
  776. {
  777. new String[100];
  778. new pname[24];
  779. GetPlayerName(i, pname, 24);
  780. format(String, 256, "Admin %s [Level 2]", pname);
  781. SendClientMessage(playerid, 0xE3E3E3FF, String);
  782. count++;
  783. }
  784. if(PlayerInfo[i][pAdmin] == 3)
  785. {
  786. new String[100];
  787. new pname[24];
  788. GetPlayerName(i, pname, 24);
  789. format(String, 256, "Admin %s [Level 3]", pname);
  790. SendClientMessage(playerid, 0xE3E3E3FF, String);
  791. count++;
  792. }
  793. if(PlayerInfo[i][pAdmin] == 4)
  794. {
  795. new String[100];
  796. new pname[24];
  797. GetPlayerName(i, pname, 24);
  798. format(String, 256, "Admin %s [SubGameMaster]", pname);
  799. SendClientMessage(playerid, 0xE3E3E3FF, String);
  800. count++;
  801. }
  802. if(PlayerInfo[i][pAdmin] == 5)
  803. {
  804. new String[100];
  805. new pname[24];
  806. GetPlayerName(i, pname, 24);
  807. format(String, 256, "Admin %s [Game Master]", pname);
  808. SendClientMessage(playerid, 0xE3E3E3FF, String);
  809. count++;
  810. }
  811. }
  812. }
  813. }
  814. if(count == 0)
  815. {
  816. SendClientMessage(playerid, 0xD8D8D8FF, "Nenhum Admin online.");
  817. }
  818. return 1;
  819. }
  820. if(!strcmp(cmdtext, "/lideres", true))
  821. {
  822. SendClientMessage(playerid, 0x48EE11AA, "** Todos Líderes online.");
  823. new count=0;
  824. for(new i=0; i<MAX_PLAYERS; i++)
  825. {
  826. if(IsPlayerConnected(i))
  827. {
  828. if(Logado[i] == 1)
  829. {
  830. if(PlayerInfo[i][pBOPE] == 5)
  831. {
  832. new String[100];
  833. new pname[24];
  834. GetPlayerName(i, pname, 24);
  835. format(String, 256, "%s - PM 2ºBATALHÃO", pname);
  836. SendClientMessage(playerid, 0x8080FFAA, String);
  837. count++;
  838. }
  839. }
  840. }
  841. }
  842. if(count == 0)
  843. {
  844. SendClientMessage(playerid, 0xD8D8D8FF, "Nenhum líder online.");
  845. }
  846. return 1;
  847. }
  848.  
  849. if(strcmp(cmd,"/skin",true) == 0)
  850. {
  851. new skin;
  852. tmp=strtok(cmdtext,idx);
  853. if(!strlen(tmp)) return SendClientMessage(playerid, COR_USOCORRETO, "USO: /skin [id da skin]");
  854. skin=strval(tmp);
  855. if(skin>=300) return SendClientMessage(playerid, COR_ERRO, "Skin inválida!");
  856. SetPlayerSkin(playerid,skin);
  857. format(string, sizeof(string), "[INFO] Voce mudou seu skin(%d).", skin);
  858. SendClientMessage(playerid,COR_PRINCIPAL, string);
  859. return 1;
  860. }
  861. if(strcmp(cmd,"/pm",true) == 0)
  862. {
  863. GetPlayerName(playerid, sendername, sizeof(sendername));
  864. tmp = strtok(cmdtext, idx);
  865. GetPlayerName(playerid, sendername, sizeof(sendername));
  866. if(!strlen(tmp))
  867. {
  868. SendClientMessage(playerid,BRANCO, "[USO CORRETO] /pm [id do player] [mensagem]");
  869. return 1;
  870. }
  871. giveplayerid = strval(tmp);
  872. if(Logado[playerid] == 1)
  873. {
  874. if(Bpm[giveplayerid] == 1)
  875. {
  876. SendClientMessage(playerid, VERMELHO, "ERRO: Este player está com o PM bloqueado.");
  877. return 1;
  878. }
  879. if(PlayerInfo[playerid][pAdmin] >= 0)
  880. {
  881. if(IsPlayerConnected(giveplayerid))
  882. {
  883. new length = strlen(cmdtext);
  884. while ((idx < length) && (cmdtext[idx] <= ' ')) {
  885. idx++;
  886. }
  887. new offset = idx;
  888. new result[64];
  889. while ((idx < length) && ((idx - offset) < (sizeof(result) - 1))) {
  890. result[idx - offset] = cmdtext[idx];
  891. idx++;
  892. }
  893. result[idx - offset] = EOS;
  894. GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
  895. format(string, sizeof(string), "** Enviado para %s (%d): %s", giveplayer, giveplayerid, result);
  896. SendClientMessage(playerid, AMARELO, string);
  897. format(string, sizeof(string), "** Recebido de %s (%d): %s", sendername, playerid, result);
  898. SendClientMessage(giveplayerid, AMARELO, string);
  899. for(new i; i < MAX_PLAYERS; i++)
  900. {
  901. if(PlayerInfo[playerid][pAdmin] && LerPms[i] == true)
  902. {
  903. format(string, sizeof(string), "-OpenServ- %s enviou para %s: %s", sendername, giveplayer, result);
  904. SendClientMessage(i, 0xFFA579AA, string);
  905. }
  906. }
  907. }
  908. else
  909. {
  910. format(string, sizeof(string), "ERRO: ID Invalido", giveplayerid);
  911. SendClientMessage(playerid, VERMELHO, string);
  912. }
  913. }
  914. else
  915. {
  916. SendClientMessage(playerid, VERMELHO, "ERRO: Você não tem permissão para usar este comando!");
  917. }
  918. }
  919. else
  920. {
  921. SendClientMessage(playerid, VERMELHO, "ERRO: Você tem que estar logado para usar este comando!");
  922. }
  923. return 1;
  924. }
  925. if(strcmp(cmd, "/bpm", true) == 0)
  926. {
  927. if(!PmBlock[playerid])
  928. {
  929. SendClientMessage(playerid, 0x33AAFFFF, "[INFO] Você bloqueou seu PM!");
  930. PmBlock[playerid] = true;
  931. }
  932. else
  933. {
  934. SendClientMessage(playerid, COR_ERRO, "ERRO: Você já está com PM bloqueado!");
  935. return 1;
  936. }
  937. return 1;
  938. }
  939. if(strcmp(cmd, "/apm", true) == 0)
  940. {
  941. if(IsPlayerConnected(playerid))
  942. {
  943. if(PmBlock[playerid])
  944. {
  945. SendClientMessage(playerid, 0x33AAFFFF, "[INFO] Você desbloqueou seu PM!");
  946. PmBlock[playerid] = false;
  947. }
  948. else
  949. {
  950. SendClientMessage(playerid, COR_ERRO,"ERRO: Você já está com PM desbloqueado!");
  951. }
  952. }
  953. return 1;
  954. }
  955. if(strcmp(cmd, "/lerpms", true) == 0)
  956. {
  957. if(IsPlayerConnected(playerid))
  958. {
  959. if(PlayerInfo[playerid][pAdmin] >= 5)
  960. {
  961. if(!LerPms[playerid])
  962. {
  963. SendClientMessage(playerid, COR_PRINCIPAL, "admCMD: Você está lendo todos Private Messages.");
  964. LerPms[playerid] = true;
  965. }
  966. else
  967. {
  968. SendClientMessage(playerid, COR_PRINCIPAL, "admCMD: Você parou de ler todos Private Messages.");
  969. LerPms[playerid] = false;
  970. return 1;
  971. }
  972. }
  973. else
  974. {
  975. SendClientMessage(playerid, 0x00FFFFAA, "Você não tem permissão para usar este comando!");
  976. }
  977. }
  978. else
  979. {
  980. SendClientMessage(playerid, 0x00FFFFAA, "Você tem que está logado para usar este comando!");
  981. }
  982. return 1;
  983. }
  984. if(strcmp(cmd, "/kill", true) == 0)
  985. {
  986. if(EmTrabalho[playerid] == 1)
  987. {
  988. EmTrabalho[playerid] = 0;
  989. }
  990. SetPlayerHealth(playerid, 0.0);
  991. SendClientMessage(playerid, BRANCO, "[INFO]: Você se matou.");
  992. return 1;
  993. }
  994. if(strcmp(cmd, "/pular", true) == 0)
  995. {
  996. GetPlayerPos(playerid, px, py, pz);
  997. SetPlayerPos(playerid, px, py, pz+0.7);
  998. return 1;
  999. }
  1000.  
  1001. if(strcmp(cmd, "/slap", true) == 0)
  1002. {
  1003. if(PlayerInfo[playerid][pAdmin] >= 3 | IsPlayerConnected(playerid))
  1004. {
  1005. tmp = strtok(cmdtext, idx);
  1006. if(!strlen(tmp) && IsPlayerAdmin(playerid))
  1007. {
  1008. SendClientMessage(playerid, COR_USOCORRETO, "[USO CORRETO]: /slap [playerid]");
  1009. return 1;
  1010. }
  1011. idjogador = ReturnUser(tmp);
  1012. {
  1013. }
  1014. if(PlayerInfo[playerid][pAdmin] >= 3 | IsPlayerAdmin(playerid))
  1015. {
  1016. if(!IsPlayerConnected(idjogador)) return SendClientMessage(playerid, COR_ERRO, "ERRO: Jogador não está conectado!");
  1017. if(idjogador != INVALID_PLAYER_ID)
  1018. {
  1019. if(freeze[giveplayerid] == 1)
  1020. {
  1021. SendClientMessage(playerid, COR_ERRO, "ERRO: Player está congelado.");
  1022. return 1;
  1023. }
  1024. new pid = strval(tmp);
  1025. new orgtext[69];
  1026. if(PlayerInfo[playerid][pAdmin] == 1) { orgtext = "Administrador"; }
  1027. if(PlayerInfo[playerid][pAdmin] == 2) { orgtext = "Administrador"; }
  1028. if(PlayerInfo[playerid][pAdmin] == 3) { orgtext = "Administrador"; }
  1029. if(PlayerInfo[playerid][pAdmin] == 4) { orgtext = "Sub Game Master"; }
  1030. if(PlayerInfo[playerid][pAdmin] == 5) { orgtext = "Game Master"; }
  1031. GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
  1032. GetPlayerName(playerid, sendername, sizeof(sendername))
  1033. GetPlayerPos(idjogador, slx, sly, slz);
  1034. GetPlayerHealth(idjogador,vida);
  1035. SetPlayerHealth(idjogador, 100);
  1036. SetPlayerArmour(idjogador, 0);
  1037. SetPlayerPos(idjogador, 1133.0504,-2038.4034,69.0971);
  1038. CreateExplosion(1133.0504,-2038.4034,69.0971, 7, 1);
  1039. SetTimerEx("TestarGod",2000, false, "i", idjogador);
  1040. format(string, sizeof(string), "admCMD: Você deu um slap no jogador %s.", Nome(idjogador));
  1041. SendClientMessage(playerid, COR_PRINCIPAL, string);
  1042. format(string,sizeof(string),"-OpenServ- O %s %s fez o teste do slap em %s.", orgtext, sendername,Nome(idjogador));
  1043. for(new i=0;i<MAX_PLAYERS;i++)
  1044. if(PlayerInfo[i][pAdmin] >= 4)
  1045. SendClientMessage(i,SET_ADM,string);
  1046. }
  1047. }
  1048. else
  1049. {
  1050. SendClientMessage(playerid, 0xF97804FF, "ERRO: Você não tem permissão para usar este comando!");
  1051. }
  1052. }
  1053. return 1;
  1054. }
  1055.  
  1056. if(!strcmp(cmdtext, "/creditos", true))
  1057. {
  1058. ShowPlayerDialog(playerid,600,DIALOG_STYLE_MSGBOX,"Creditos","{FFFFFF}Game Mode feito por:\n{FF0000}- BlueeH 2BTL\n{FFFFFF} BOPE 2BTL - {FF0000}GTA Torcidas","Fechar","");
  1059. return 1;
  1060. }
  1061. if(strcmp(cmd,"/mudarsenha",true) ==0)
  1062. {
  1063. ShowPlayerDialog(playerid, Mudarsenha, DIALOG_STYLE_PASSWORD,"{32CD32}Copa do Brasil","{E3E3E3}Senha deve ter no minimo 5 caracteres.\n\n{32CD32}Lembrando, não utilizar a mesma senha da GT.\nDigite sua nova Senha:","Trocar","Sair");
  1064. return 1;
  1065. }
  1066. if(!strcmp(cmdtext, "/sim_e", true))
  1067. {
  1068. if(PlayerVotou[playerid] == 1)
  1069. return SendClientMessage(playerid,0xFF0000AA,"ERRO: Voce ja votou!");
  1070.  
  1071. if(EnqueteAberta == false)
  1072. return SendClientMessage(playerid,0xFF0000AA,"ERRO: Nao tem nenhuma enquete aberta!");
  1073.  
  1074. TotalDeVotosSim++;
  1075. SendClientMessage(playerid,0x33AAFFFF,"Seu voto foi armazenado no banco de dados com sucesso - Sim");
  1076. PlayerVotou[playerid] = 1;
  1077. return 1;
  1078. }
  1079. if(!strcmp(cmdtext, "/nao_e", true))
  1080. {
  1081. if(PlayerVotou[playerid] == 1)
  1082. return SendClientMessage(playerid,0xFF0000AA,"ERRO: Voce ja votou!");
  1083.  
  1084. if(EnqueteAberta == false)
  1085. return SendClientMessage(playerid,0xFF0000AA,"ERRO: Na;o tem nenhuma enquete aberta!");
  1086.  
  1087. TotalDeVotosNao++;
  1088. PlayerVotou[playerid] = 1;
  1089. SendClientMessage(playerid,0x33AAFFFF,"Seu voto foi armazenado no banco de dados com sucesso - Nao");
  1090. return 1;
  1091. }
  1092. if(strcmp(cmd, "/vidat", true) == 0)
  1093. {
  1094. GetPlayerName(playerid, sendername, sizeof(sendername));
  1095. if(Logado[playerid] == 1)
  1096. {
  1097. if(PlayerInfo[playerid][pAdmin] >= 1)
  1098. {
  1099. for(new i = 0; i < MAX_PLAYERS; i ++)
  1100. if(GetDistanceBetweenPlayers(playerid, i) <= 50)
  1101. {
  1102. if(IsPlayerConnected(i))
  1103. {
  1104. SetPlayerHealth(i, 100);
  1105. format(string, sizeof(string), "** %s deu vida para todos pertos dele!", sendername);
  1106. SendClientMessage(i, ROXO, string);
  1107. print(string);
  1108. }
  1109. }
  1110. }
  1111. else
  1112. {
  1113. SendClientMessage(playerid, COR_ERRO, "ERRO: Você não tem permissão de usar esse comando.");
  1114. }
  1115. }
  1116. else
  1117. {
  1118. SendClientMessage(playerid, COR_ERRO, "ERRO: Você não está logado.");
  1119. }
  1120. return 1;
  1121. }
  1122. if(strcmp(cmd,"/reportar",true) == 0)
  1123. {
  1124. tmp = strtok(cmdtext, idx);
  1125. GetPlayerName(playerid, sendername, sizeof(sendername));
  1126. GetPlayerName(giveplayerid, giveplayer, sizeof(sendername));
  1127. if(!strlen(tmp))
  1128. {
  1129. SendClientMessage(playerid,COR_USOCORRETO,"[USO CORRETO]: /reportar [id] [motivo]");
  1130. return 1;
  1131. }
  1132. giveplayerid = strval(tmp);
  1133. if(IsPlayerConnected(giveplayerid))
  1134. {
  1135. new length = strlen(cmdtext);
  1136. while ((idx < length) && (cmdtext[idx] <= ' ')) {
  1137. idx++;
  1138. }
  1139. new offset = idx;
  1140. new result[64];
  1141. while ((idx < length) && ((idx - offset) < (sizeof(result) - 1))) {
  1142. result[idx - offset] = cmdtext[idx];
  1143. idx++;
  1144. }
  1145. result[idx - offset] = EOS;
  1146. if(!strlen(result))
  1147. {
  1148. SendClientMessage(playerid,COR_USOCORRETO,"[USO CORRETO]: /report [id] [motivo]");
  1149. return 1;
  1150. }
  1151. SendClientMessage(playerid,COR_PRINCIPAL, "INFO: Denúncia enviada com sucesso.");
  1152. GetPlayerName(giveplayerid, giveplayer, sizeof(sendername));
  1153. format(string,sizeof(string)," ", sendername, playerid, giveplayer, giveplayerid,result);
  1154. for(new i=0;i<MAX_PLAYERS;i++)
  1155. if(IsPlayerConnected(i) && PlayerInfo[i][pAdmin] >= 1)
  1156. SendClientMessage(i,VERMELHO,string);
  1157. format(string,sizeof(string),"ReportSistem: Denúncia de %s(id %d) contra %s(id %d) | %s", sendername, playerid, giveplayer, giveplayerid,result);
  1158. for(new i=0;i<MAX_PLAYERS;i++)
  1159. {
  1160. if(IsPlayerConnected(i) && PlayerInfo[i][pAdmin] >= 1)
  1161. {
  1162. SendClientMessage(i,VERMELHO,string);
  1163. }
  1164.  
  1165. }
  1166. }
  1167. else
  1168. {
  1169. format(string, sizeof(string), "ERRO: ID Invalido.", giveplayerid);
  1170. SendClientMessage(playerid,VERMELHO, string);
  1171. }
  1172. return 1;
  1173. }
  1174. if(strcmp(cmd, "/tapa", true) == 0)
  1175. {
  1176. GetPlayerName(playerid, sendername, sizeof(sendername));
  1177. tmp = strtok(cmdtext, idx);
  1178. if(!strlen(tmp))
  1179. {
  1180. SendClientMessage(playerid, COR_USOCORRETO, "[USO CORRETO]: /tapa [id do player]");
  1181. return 1;
  1182. }
  1183. new Float:health;
  1184. giveplayerid = strval(tmp);
  1185. GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
  1186. GetPlayerName(playerid, sendername, sizeof(sendername));
  1187. if(Logado[playerid] == 1)
  1188. {
  1189. if(PlayerInfo[playerid][pAdmin] >= 1 || PlayerInfo[playerid][pRgt] >= 2)
  1190. {
  1191. if(IsPlayerConnected(giveplayerid))
  1192. {
  1193. GetPlayerHealth(giveplayerid, health);
  1194. SetPlayerHealth(giveplayerid, health-5);
  1195. GetPlayerPos(giveplayerid, px, py, pz);
  1196. SetPlayerPos(giveplayerid, px, py, pz+5);
  1197.  
  1198. for(new i=0; i <= MAX_PLAYERS; i++)
  1199. if(GetDistanceBetweenPlayers(giveplayerid, i) <= 60)
  1200. {
  1201. new pName[ 30 ];
  1202. GetPlayerName(playerid, pName, 30);
  1203. format(string, 256, "** %s levou um tapa de %s", giveplayer, pName);
  1204. SendClientMessage(i,0xC798FAAA,string);
  1205. }
  1206.  
  1207. new PlayerName[30];
  1208. GetPlayerName(playerid, PlayerName, 30);
  1209. printf("[AdmCMD]: Admin %s deu tapa em %s.", PlayerName, giveplayer);
  1210. }
  1211. else
  1212. {
  1213. format(string, sizeof(string), "ERRO: ID Invalido.", giveplayerid);
  1214. SendClientMessage(playerid, VERMELHO, string);
  1215. }
  1216. }
  1217. else
  1218. {
  1219. SendClientMessage(playerid, VERMELHO, "ERRO: Você não tem permissão de usar esse comando.");
  1220. }
  1221. }
  1222. else
  1223. {
  1224. SendClientMessage(playerid, VERMELHO, "ERRO: Você tem que estar logado para usar este comando!");
  1225. }
  1226. return 1;
  1227. }
  1228.  
  1229. if(strcmp(cmd, "/cnn", true) == 0)
  1230. {
  1231. new length = strlen(cmdtext);
  1232. while ((idx < length) && (cmdtext[idx] <= ' '))
  1233. {
  1234. idx++;
  1235. }
  1236. new offset = idx;
  1237. new result[64];
  1238. while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
  1239. {
  1240. result[idx - offset] = cmdtext[idx];
  1241. idx++;
  1242. }
  1243. result[idx - offset] = EOS;
  1244. GetPlayerName(playerid, sendername, sizeof(sendername));
  1245. if (!strlen(result))
  1246. {
  1247. SendClientMessage(playerid, COR_USOCORRETO, "[USO CORRETO] /cnn [menssagem]");
  1248. return 1;
  1249. }
  1250. if(Logado[playerid] == 1)
  1251. {
  1252. for(new i=0; i <= MAX_PLAYERS; i++)
  1253. if(GetDistanceBetweenPlayers(playerid, i) <= 60)
  1254. if(PlayerInfo[playerid][pAdmin] >= 1)
  1255. {
  1256. format(string, sizeof(string), "~b~%s~r~: ~w~%s", sendername, result);
  1257. GameTextForAll(string, 5000, 5);
  1258. }
  1259. else
  1260. {
  1261. SendClientMessage(playerid, COR_ERRO, "ERRO: Você não tem permissão de usar esse comando.");
  1262. }
  1263. }
  1264. else
  1265. {
  1266. SendClientMessage(playerid, COR_ERRO, "ERRO: Você não está logado.");
  1267. }
  1268. return 1;
  1269. }
  1270.  
  1271. if(strcmp(cmd, "/asay", true) == 0)
  1272. {
  1273. GetPlayerName(playerid, sendername, sizeof(sendername));
  1274. new length = strlen(cmdtext);
  1275. GetPlayerName(playerid, sendername, sizeof(sendername));
  1276. while ((idx < length) && (cmdtext[idx] <= ' '))
  1277. {
  1278. idx++;
  1279. }
  1280. new offset = idx;
  1281. new result[64];
  1282. while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
  1283. {
  1284. result[idx - offset] = cmdtext[idx];
  1285. idx++;
  1286. }
  1287. result[idx - offset] = EOS;
  1288. if(!strlen(result) && PlayerInfo[playerid][pAdmin] >= 1)
  1289. {
  1290. SendClientMessage(playerid, COR_USOCORRETO, "[USO CORRETO]: /asay [texto]");
  1291. return 1;
  1292. }
  1293. if(Logado[playerid] == 1)
  1294. {
  1295. if(PlayerInfo[playerid][pAdmin] >= 1)
  1296. {
  1297. format(string, sizeof(string), "Administrador %s: %s", sendername, result);
  1298. SendClientMessageToAll(0x3333FF96,string);
  1299. TempoAsay[playerid] = 1;
  1300. SetTimer("AsayTempo", 1000, false);
  1301. new PlayerName[30];
  1302. GetPlayerName(playerid, PlayerName, 30);
  1303. printf("[AdmCMD] %s usou /asay para mandar a menssagem: %s", PlayerName, result);
  1304. return 1;
  1305. }
  1306.  
  1307.  
  1308. }
  1309. else
  1310. {
  1311. SendClientMessage(playerid, COR_ERRO, "ERRO: Você tem que estar logado para usar este comando!");
  1312. }
  1313. return 1;
  1314. }
  1315.  
  1316. if(strcmp(cmd, "/jetpack", true) == 0)
  1317. {
  1318. GetPlayerName(playerid, sendername, sizeof(sendername));
  1319. if(Logado[playerid] == 1)
  1320. {
  1321. if(PlayerInfo[playerid][pAdmin] >= 1 || PlayerInfo[playerid][pRgt] >= 1)
  1322. {
  1323. SetPlayerSpecialAction(playerid, 2);
  1324. SendClientMessage(playerid, COR_PRINCIPAL, "-OpenServ- Jetpack criada com sucessso!");
  1325. }
  1326. else
  1327. {
  1328. SendClientMessage(playerid, VERMELHO, "ERRO: Você não tem permissão.");
  1329. }
  1330. }
  1331. else
  1332. {
  1333. SendClientMessage(playerid, COR_ERRO, "ERRO: Você não está logado.");
  1334. }
  1335. return 1;
  1336. }
  1337.  
  1338. if(strcmp(cmd, "/dc", true) == 0 || strcmp(cmd, "/dcarro", true) == 0)
  1339. {
  1340. if(!IsPlayerInAnyVehicle(playerid))
  1341. {
  1342. SendClientMessage(playerid, COR_ERRO, "ERRO: Você não está em nenhum veículo.");
  1343. return 1;
  1344. }
  1345. if(IsPlayerConnected(playerid))
  1346. for(new i=0; i <= MAX_PLAYERS; i++)
  1347. if(GetDistanceBetweenPlayers(playerid, i) <= 60)
  1348. {
  1349. if(PlayerInfo[playerid][pAdmin] >= 1 || PlayerInfo[playerid][pBOPE] >= 1)
  1350. {
  1351. new PlayerName[30];
  1352. GetPlayerName(playerid, PlayerName, 30);
  1353. new vehicleid;
  1354. vehicleid = GetPlayerVehicleID(playerid);
  1355. GetPlayerName(playerid, sendername, sizeof(sendername));
  1356. format(string, sizeof(string), "* %s deletou um veículo!", PlayerName);
  1357. SendClientMessage(i, ROXO, string);
  1358. DestroyVehicle(vehicleid);
  1359. }
  1360. }
  1361. return 1;
  1362. }
  1363.  
  1364. if(strcmp(cmd, "/setskin", true) == 0)
  1365. {
  1366. if(IsPlayerAdmin(playerid) || PlayerInfo[playerid][pAdmin] >= 1)
  1367. {
  1368. new id, skin;
  1369. tmp = strtok(cmdtext, idx);
  1370. id = strval(tmp);
  1371. tmp = strtok(cmdtext, idx);
  1372. if(!strlen(tmp)) return SendClientMessage(playerid, COR_USOCORRETO, "[USO CORRETO]: /setskin [id do player] [id skin]");
  1373. skin = strval(tmp);
  1374. GetPlayerName(id, giveplayer, sizeof(giveplayer));
  1375. GetPlayerName(playerid, sendername, sizeof(sendername));
  1376. format(string, sizeof(string), "{FFFFFF}admCMD: {33AA33}Você mudou o skin de %s", giveplayer);
  1377. SendClientMessage(playerid,AZULCLARO, string);
  1378. format(string, sizeof(string), "{FFFFFF}admCMD: {33AA33}%s mudou seu skin.", sendername);
  1379. SendClientMessage(id,0x33AA33AA, string);
  1380. SetPlayerSkin(id, skin);
  1381. }
  1382. return 1;
  1383. }
  1384. if(strcmp(cmd, "/pinfo", true) == 0 || strcmp(cmd, "/stats", true) == 0)
  1385. {
  1386. GetPlayerName(playerid, sendername, sizeof(sendername));
  1387. tmp = strtok(cmdtext, idx);
  1388. if(!strlen(tmp) && PlayerInfo[playerid][pAdmin] >= 2)
  1389. {
  1390. SendClientMessage(playerid, COR_USOCORRETO, "[USO CORRETO]: /pinfo [id]");
  1391. return 1;
  1392. }
  1393. giveplayerid = strval(tmp);
  1394. if(Logado[playerid] == 0)
  1395. {
  1396. SendClientMessage(playerid, COR_ERRO, "ERRO: Você tem que estar logado para usar este comando!");
  1397. }
  1398. GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
  1399. GetPlayerName(playerid, sendername, sizeof(sendername));
  1400. if(Logado[playerid] == 1)
  1401. {
  1402. if(PlayerInfo[playerid][pAdmin] >= 2)
  1403. {
  1404. if(IsPlayerConnected(giveplayerid))
  1405. {
  1406. new Float:health;
  1407. new Float:armour;
  1408. GetPlayerHealth(giveplayerid,health);
  1409. GetPlayerArmour(giveplayerid,armour);
  1410. new ammo = GetPlayerAmmo(giveplayerid);
  1411. new money = GetPlayerMoney(giveplayerid);
  1412. new skin = GetPlayerSkin(giveplayerid);
  1413. new ping = GetPlayerPing(giveplayerid);
  1414. new ip[16];
  1415. GetPlayerIp(giveplayerid, ip, sizeof(ip));
  1416. if(Logado[giveplayerid] == 0)
  1417. {
  1418. format(string, sizeof(string),"Informações do player %s (ID: %i)(O player não está logado) :",giveplayer, giveplayerid);
  1419. SendClientMessage(playerid, BRANCO, string);
  1420. }
  1421. else
  1422. {
  1423. format(string, sizeof(string),"|_______________Informações de %s_______________|",giveplayer);
  1424. SendClientMessage(playerid, BRANCO, string);
  1425. }
  1426. format(string, sizeof(string), "IP: %s",ip);
  1427. SendClientMessage(playerid, BRANCO,string);
  1428. format(string, sizeof(string), "Vida: %.1f",health);
  1429. SendClientMessage(playerid, BRANCO,string);
  1430. format(string, sizeof(string), "Munição da Arma Na Mão: %d",ammo);
  1431. SendClientMessage(playerid, BRANCO,string);
  1432. format(string, sizeof(string), "Skin: %d",skin);
  1433. SendClientMessage(playerid, BRANCO,string);
  1434. format(string, sizeof(string), "Ping: %.1f",armour);
  1435. SendClientMessage(playerid, BRANCO,string);
  1436. format(string, sizeof(string), "Dinheiro: %d",money);
  1437. SendClientMessage(playerid, BRANCO,string);
  1438. new PlayerName[30];
  1439. GetPlayerName(playerid, PlayerName, 30);
  1440. printf("[AdmCMD] %s usou /pinfo para ver as informações do player %s.", PlayerName, giveplayer);
  1441. }
  1442. else
  1443. {
  1444. format(string, sizeof(string), "ID Invalido.", giveplayerid);
  1445. SendClientMessage(playerid, COR_ERRO, string);
  1446. }
  1447. }
  1448. else
  1449. {
  1450. SendClientMessage(playerid, COR_ERRO, "ERRO: Você não tem permissão para usar este comando!");
  1451. return 1;
  1452. }
  1453. }
  1454. else
  1455. {
  1456. SendClientMessage(playerid, COR_ERRO, "ERRO: Você tem que estar logado para usar este comando!");
  1457. }
  1458. return 1;
  1459. }
  1460. if(strcmp(cmd, "/ir", true) == 0)
  1461. {
  1462. GetPlayerName(playerid, sendername, sizeof(sendername));
  1463. tmp = strtok(cmdtext, idx);
  1464. if(!strlen(tmp))
  1465. {
  1466. SendClientMessage(playerid, BRANCO, "[USO CORRETO] /ir [id do player]");
  1467. return 1;
  1468. }
  1469. new Float:plocx,Float:plocy,Float:plocz;
  1470. giveplayerid = strval(tmp);
  1471. if(Logado[playerid] == 1)
  1472. {
  1473. if(Olhando[giveplayerid] > 0) return SendClientMessage(playerid, COR_ERRO, "ERRO: Player escolhido está de '/olhar'.");
  1474. if(PlayerInfo[playerid][pAdmin] >= 1 || PlayerInfo[playerid][pBOPE] >= 4)
  1475. {
  1476. if(IsPlayerConnected(giveplayerid))
  1477. {
  1478. GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
  1479. GetPlayerName(playerid, sendername, sizeof(sendername));
  1480.  
  1481. for(new i=0; i <= MAX_PLAYERS; i++)
  1482. if(GetDistanceBetweenPlayers(playerid, i) <= 60)
  1483. {
  1484. new pName[ 30 ];
  1485. GetPlayerName(playerid, pName, 30);
  1486. format(string, 256, "** %s foi até %s", pName, giveplayer);
  1487. SendClientMessage(i,0xC798FAAA,string);
  1488. }
  1489.  
  1490. for(new i=0; i <= MAX_PLAYERS; i++)
  1491. if(GetDistanceBetweenPlayers(giveplayerid, i) <= 60)
  1492. {
  1493. new pName[ 30 ];
  1494. GetPlayerName(playerid, pName, 30);
  1495. format(string, 256, "** %s veio até %s", pName, giveplayer);
  1496. SendClientMessage(i,0xC798FAAA,string);
  1497. }
  1498.  
  1499. GetPlayerPos(giveplayerid, plocx, plocy, plocz);
  1500. new intid = GetPlayerInterior(giveplayerid);
  1501. SetPlayerInterior(playerid,intid);
  1502. if (GetPlayerState(playerid) == 2)
  1503. {
  1504. new tmpcar = GetPlayerVehicleID(playerid);
  1505. SetVehiclePos(tmpcar, plocx, plocy+4, plocz);
  1506. }
  1507. else
  1508. {
  1509. SetPlayerPos(playerid,plocx,plocy+2, plocz);
  1510. }
  1511. }
  1512. else
  1513. {
  1514. }
  1515. }
  1516. else
  1517. {
  1518. SendClientMessage(playerid, VERMELHO, "ERRO: Você não tem permissão de usar esse comando.");
  1519. }
  1520. }
  1521. else
  1522. {
  1523. SendClientMessage(playerid, VERMELHO, "ERRO: Você tem que estar logado para usar esse comando.");
  1524. }
  1525. return 1;
  1526. }
  1527. if(strcmp(cmd, "/trazer", true) == 0)
  1528. {
  1529. GetPlayerName(playerid, sendername, sizeof(sendername));
  1530. tmp = strtok(cmdtext, idx);
  1531. if(!strlen(tmp))
  1532. {
  1533. SendClientMessage(playerid, BRANCO, "[USO CORRETO]: /trazer [id do player]");
  1534. return 1;
  1535. }
  1536. new Float:plocx,Float:plocy,Float:plocz;
  1537. giveplayerid = strval(tmp);
  1538. if(Logado[playerid] == 1)
  1539. {
  1540. if(Olhando[giveplayerid] > 0) return SendClientMessage(playerid, COR_ERRO, "ERRO: Player escolhido está de '/olhar'.");
  1541. if(PlayerInfo[playerid][pAdmin] >= 2 || PlayerInfo[playerid][pBOPE] >= 2)
  1542. {
  1543. if(IsPlayerConnected(giveplayerid))
  1544. {
  1545. GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
  1546. GetPlayerName(playerid, sendername, sizeof(sendername));
  1547.  
  1548. for(new i=0; i <= MAX_PLAYERS; i++)
  1549. if(GetDistanceBetweenPlayers(playerid, i) <= 60)
  1550. {
  1551. new pName[ 30 ];
  1552. GetPlayerName(playerid, pName, 30);
  1553. format(string, 256, "** %s trouxe %s", pName, giveplayer);
  1554. SendClientMessage(i,0xC798FAAA,string);
  1555. }
  1556.  
  1557. for(new i=0; i <= MAX_PLAYERS; i++)
  1558. if(GetDistanceBetweenPlayers(giveplayerid, i) <= 60)
  1559. {
  1560. new pName[ 30 ];
  1561. GetPlayerName(playerid, pName, 30);
  1562. format(string, 256, "** %s levou %s", pName, giveplayer);
  1563. SendClientMessage(i,0xC798FAAA,string);
  1564. }
  1565.  
  1566. GetPlayerPos(playerid, plocx, plocy, plocz);
  1567. new intid = GetPlayerInterior(playerid);
  1568. SetPlayerInterior(giveplayerid,intid);
  1569. if (GetPlayerState(giveplayerid) == 2)
  1570. {
  1571. new tmpcar = GetPlayerVehicleID(giveplayerid);
  1572. SetVehiclePos(tmpcar, plocx, plocy+4, plocz);
  1573. }
  1574. else
  1575. {
  1576. SetPlayerPos(giveplayerid,plocx,plocy+2, plocz);
  1577. }
  1578. }
  1579. else
  1580. {
  1581. }
  1582. }
  1583. else
  1584. {
  1585. SendClientMessage(playerid, VERMELHO, "ERRO: Você não tem permissão de usar esse comando.");
  1586. }
  1587. }
  1588. else
  1589. {
  1590. SendClientMessage(playerid, VERMELHO, "ERRO: Você tem que estar logado para usar esse comando.");
  1591. }
  1592. return 1;
  1593. }
  1594. if(!strcmp(cmdtext, "/veh", true))
  1595. {
  1596. if(Logado[playerid] < 1) return SendClientMessage(playerid,COR_ERRO,"ERRO: Você tem que estar logado para usar este comando.");
  1597. if(PlayerInfo[playerid][pAdmin] < 1) return SendClientMessage(playerid,COR_ERRO,"ERRO: Você não tem permissão de usar esse comando.");
  1598. ShowPlayerDialog(playerid, Veh, DIALOG_STYLE_LIST, "Veiculos Free", "Sultan \nInfernus \nÔnibus 1 \nBMX \nMountain Bike \nÔnibus 2 \nFaggio \nSanchez \nQuad \nPacker \nCamper \nVortex \nNRG-500", "Criar", "Cancelar");
  1599.  
  1600. return 1;
  1601. }
  1602.  
  1603. if(strcmp(cmd,"/ejetar",true) == 0)
  1604. {
  1605. GetPlayerName(playerid, sendername, sizeof(sendername));
  1606. GetPlayerName(giveplayerid, giveplayer, sizeof(sendername));
  1607. tmp = strtok(cmdtext, idx);
  1608. if(!strlen(tmp))
  1609. {
  1610. SendClientMessage(playerid,COR_USOCORRETO,"[USO CORRETO]: /ejetar [id]");
  1611. return 1;
  1612. }
  1613. giveplayerid = strval(tmp);
  1614. GetPlayerName(playerid, sendername, sizeof(sendername));
  1615. GetPlayerName(giveplayerid, giveplayer, sizeof(sendername));
  1616. if(Logado[playerid] < 1) return SendClientMessage(playerid,COR_ERRO,"ERRO: Você não está logado.");
  1617. {
  1618. if(PlayerInfo[playerid][pAdmin] < 1) return SendClientMessage(playerid, COR_ERRO, "ERRO: Você não tem permissão de usar esse comando.");
  1619. {
  1620. if(!IsPlayerConnected(giveplayerid)) return SendClientMessage(playerid,COR_ERRO,"ERRO: ID Invalido.");
  1621. for(new i=0; i <= MAX_PLAYERS; i++)
  1622. {
  1623. for(new i=0; i <= MAX_PLAYERS; i++)
  1624. if(GetDistanceBetweenPlayers(playerid, i) <= 60)
  1625. if(!IsPlayerInAnyVehicle(giveplayerid)) return SendClientMessage(playerid,COR_ERRO,"ERRO: Este player não está em seu veículo.");
  1626. {
  1627. RemovePlayerFromVehicle(giveplayerid);
  1628.  
  1629. new orgtext[64];
  1630. if(PlayerInfo[playerid][pAdmin] == 1) { orgtext = "Administrador"; }
  1631. if(PlayerInfo[playerid][pAdmin] == 2) { orgtext = "Administrador"; }
  1632. if(PlayerInfo[playerid][pAdmin] == 3) { orgtext = "Administrador"; }
  1633. if(PlayerInfo[playerid][pAdmin] == 4) { orgtext = "Sub Game Master"; }
  1634. if(PlayerInfo[playerid][pAdmin] == 5) { orgtext = "Game Master"; }
  1635. new pName[30];
  1636. GetPlayerName(playerid, pName, 30);
  1637. format(string, sizeof(string), "** %s %s ejetou %s do veículo!",orgtext,pName,giveplayer);
  1638. SendClientMessage(i, ROXO, string)
  1639. }
  1640. }
  1641. }
  1642. }
  1643. return 1;
  1644. }
  1645. if(strcmp(cmd, "/congelar", true) == 0)
  1646. {
  1647. tmp = strtok(cmdtext, idx);
  1648. giveplayerid = strval(tmp);
  1649. GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
  1650. GetPlayerName(playerid, sendername, sizeof(sendername));
  1651. giveplayerid = strval(tmp);
  1652. if(Logado[playerid] == 1)
  1653. {
  1654. if(PlayerInfo[playerid][pAdmin] >= 2)
  1655. {
  1656. if(IsPlayerConnected(giveplayerid))
  1657. {
  1658. new orgtext[64];
  1659. if(PlayerInfo[playerid][pAdmin] == 1) { orgtext = "Administrador"; }
  1660. if(PlayerInfo[playerid][pAdmin] == 2) { orgtext = "Administrador"; }
  1661. if(PlayerInfo[playerid][pAdmin] == 3) { orgtext = "Administrador"; }
  1662. if(PlayerInfo[playerid][pAdmin] == 4) { orgtext = "Sub Game Master"; }
  1663. if(PlayerInfo[playerid][pAdmin] == 5) { orgtext = "Game Master"; }
  1664. for(new i=0; i <= MAX_PLAYERS; i++)
  1665. if(GetDistanceBetweenPlayers(giveplayerid, i) <= 60)
  1666. if(freeze[giveplayerid] == 1)
  1667. {
  1668. SendClientMessage(playerid, COR_ERRO, "ERRO: O player já está congelado!");
  1669. return 1;
  1670. }
  1671. else
  1672. {
  1673. freeze[giveplayerid] = 1;
  1674. GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
  1675. GetPlayerName(playerid, sendername, sizeof(sendername));
  1676. TogglePlayerControllable(giveplayerid, 0);
  1677. format(string, sizeof(string), "** %s foi congelado pelo %s %s.",giveplayer, orgtext, sendername);
  1678. SendClientMessage(i,ROXO, string);
  1679. return 1;
  1680. }
  1681. }
  1682. else
  1683. {
  1684. format(string, sizeof(string), "ERRO: ID Invalido", giveplayerid);
  1685. SendClientMessage(playerid, COR_ERRO, string);
  1686. }
  1687. }
  1688. else
  1689. {
  1690. SendClientMessage(playerid, COR_ERRO, "ERRO: Você não tem permissão de usar esse comando.");
  1691. return 1;
  1692. }
  1693. }
  1694. else
  1695. {
  1696. SendClientMessage(playerid, COR_ERRO, "ERRO: Você não está logado.");
  1697. }
  1698. return 1;
  1699. }
  1700. if(strcmp(cmd, "/descongelar", true) == 0)
  1701. {
  1702. tmp = strtok(cmdtext, idx);
  1703. giveplayerid = strval(tmp);
  1704. GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
  1705. GetPlayerName(playerid, sendername, sizeof(sendername));
  1706. giveplayerid = strval(tmp);
  1707. if(Logado[playerid] == 1)
  1708. {
  1709. if(PlayerInfo[playerid][pAdmin] >= 2)
  1710. {
  1711. if(IsPlayerConnected(giveplayerid))
  1712. {
  1713. new orgtext[64];
  1714. if(PlayerInfo[playerid][pAdmin] == 1) { orgtext = "Administrador"; }
  1715. if(PlayerInfo[playerid][pAdmin] == 2) { orgtext = "Administrador"; }
  1716. if(PlayerInfo[playerid][pAdmin] == 3) { orgtext = "Administrador"; }
  1717. if(PlayerInfo[playerid][pAdmin] == 4) { orgtext = "Sub Game Master"; }
  1718. if(PlayerInfo[playerid][pAdmin] == 5) { orgtext = "Game Master"; }
  1719. for(new i=0; i <= MAX_PLAYERS; i++)
  1720. if(GetDistanceBetweenPlayers(giveplayerid, i) <= 60)
  1721. if(freeze[giveplayerid] == 0)
  1722. {
  1723. SendClientMessage(playerid, COR_ERRO, "ERRO: O player já está congelado!");
  1724. return 1;
  1725. }
  1726. else
  1727. {
  1728. freeze[giveplayerid] = 0;
  1729. GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
  1730. GetPlayerName(playerid, sendername, sizeof(sendername));
  1731. TogglePlayerControllable(giveplayerid, 1);
  1732. format(string, sizeof(string), "** %s foi descongelado pelo %s %s.",giveplayer, orgtext, sendername);
  1733. SendClientMessage(i,ROXO, string);
  1734. return 1;
  1735. }
  1736. }
  1737. else
  1738. {
  1739. format(string, sizeof(string), "ERRO: ID Invalido", giveplayerid);
  1740. SendClientMessage(playerid, COR_ERRO, string);
  1741. }
  1742. }
  1743. else
  1744. {
  1745. SendClientMessage(playerid, COR_ERRO, "ERRO: Você não tem permissão de usar esse comando.");
  1746. return 1;
  1747. }
  1748. }
  1749. else
  1750. {
  1751. SendClientMessage(playerid, COR_ERRO, "ERRO: Você não está logado.");
  1752. }
  1753. return 1;
  1754. }
  1755. if(strcmp(cmd, "/bkick", true) == 0)
  1756. {
  1757. if(Logado[playerid] < 1) return SendClientMessage(playerid,COR_ERRO,"ERRO: Você tem que estar logado para usar este comando.");
  1758. if(PlayerInfo[playerid][pAdmin] < 4) return SendClientMessage(playerid,COR_ERRO,"ERRO: Você não tem permissão de usar esse comando.");
  1759. new string[128];
  1760. tmp = strtok(cmdtext, idx);
  1761. if(!strlen(tmp))
  1762. {
  1763. SendClientMessage(playerid, COR_USOCORRETO, "[USO CORRETO]: /bkick [id do player]");
  1764. return 1;
  1765. }
  1766. new cargos[64];
  1767. if(PlayerInfo[playerid][pAdmin] == 1) { cargos = "Administrador"; }
  1768. if(PlayerInfo[playerid][pAdmin] == 2) { cargos = "Administrador"; }
  1769. if(PlayerInfo[playerid][pAdmin] == 3) { cargos = "Administrador"; }
  1770. if(PlayerInfo[playerid][pAdmin] == 4) { cargos = "Sub Game Master"; }
  1771. if(PlayerInfo[playerid][pAdmin] == 5) { cargos = "Game Master"; }
  1772. giveplayerid = strval(tmp);
  1773. if(!IsPlayerConnected(giveplayerid)) return SendClientMessage(playerid,COR_ERRO,"ERRO: ID Invalido.");
  1774. if(PlayerInfo[giveplayerid][pBlockKick] == 0)
  1775. {
  1776. format(string, sizeof(string), "admCMD: %s %s(id %d) bloqueou seu kick.", cargos, Nome(playerid), playerid);
  1777. SendClientMessage(giveplayerid, COR_PRINCIPAL,string);
  1778. format(string, sizeof(string), "admCMD: Você bloqueou o kick do jogador %s(id %d).", Nome(giveplayerid), giveplayerid);
  1779. SendClientMessage(playerid, COR_PRINCIPAL,string);
  1780. PlayerInfo[giveplayerid][pBlockKick] = 1;
  1781. }
  1782. else
  1783. {
  1784. format(string, sizeof(string), "admCMD: %s %s(id %d) desbloqueou seu kick.", cargos, Nome(playerid), playerid);
  1785. SendClientMessage(giveplayerid, COR_PRINCIPAL,string);
  1786. format(string, sizeof(string), "admCMD: Você desbloqueou o kick do jogador %s(id %d).", Nome(giveplayerid), giveplayerid);
  1787. SendClientMessage(playerid, COR_PRINCIPAL,string);
  1788. PlayerInfo[giveplayerid][pBlockKick] = 0;
  1789. }
  1790. return 1;
  1791. }
  1792. if(!strcmp(cmdtext, "/logadosrcon", true))
  1793. {
  1794. SendClientMessage(playerid, COR_PRINCIPAL, "** Todos os Logados na RCON Online:");
  1795. new admtext[64];
  1796. new count=0;
  1797. for(new i=0; i<MAX_PLAYERS; i++)
  1798. {
  1799. if(IsPlayerAdmin(i)) { admtext = "1"; }
  1800. if(IsPlayerConnected(i))
  1801. {
  1802. if(Logado[i] == 1)
  1803. {
  1804. if(IsPlayerAdmin(i))
  1805. {
  1806. new str[256];
  1807. new Nome[MAX_PLAYER_NAME];
  1808. new String[100];
  1809. new pname[24];
  1810. GetPlayerName(i, pname, 24);
  1811. format(str, 256, "- %s[id %d] ", pname, playerid);
  1812. SendClientMessage(playerid, 0xE3E3E3FF, str);
  1813. count++;
  1814. }
  1815. }
  1816. }
  1817. }
  1818. if(count == 0)
  1819. {
  1820. SendClientMessage(playerid, 0xD8D8D8FF, "Não tem ninguem logado na rcon on-line agora!");
  1821. }
  1822. return 1;
  1823. }
  1824. if(strcmp(cmd, "/desarmar", true) == 0)
  1825. {
  1826. if(Logado[playerid] < 1) return SendClientMessage(playerid,COR_ERRO,"ERRO: Você não está logado.");
  1827. if(PlayerInfo[playerid][pAdmin] < 1) return SendClientMessage(playerid,COR_ERRO,"ERRO: Você não tem permissão de usar esse comando.");
  1828. new cargos[64], string[128];
  1829. if(PlayerInfo[playerid][pAdmin] == 1) { cargos = "Administrador"; }
  1830. if(PlayerInfo[playerid][pAdmin] == 2) { cargos = "Administrador"; }
  1831. if(PlayerInfo[playerid][pAdmin] == 3) { cargos = "Administrador"; }
  1832. if(PlayerInfo[playerid][pAdmin] == 4) { cargos = "Sub Game Master"; }
  1833. if(PlayerInfo[playerid][pAdmin] == 5) { cargos = "Game Master"; }
  1834. tmp = strtok(cmdtext, idx);
  1835. giveplayerid = strval(tmp);
  1836. if(!strlen(tmp))
  1837. {
  1838. SendClientMessage(playerid, COR_USOCORRETO, "[USO CORRETO]: /desarmar [id do player]");
  1839. return 1;
  1840. }
  1841. if(!IsPlayerConnected(giveplayerid)) return SendClientMessage(playerid,COR_ERRO,"ERRO: ID Invalido.");
  1842. ResetPlayerWeapons(giveplayerid);
  1843. format(string, sizeof(string), "admCMD: Você desarmou o player %s (id %d).",Nome(giveplayerid), giveplayerid);
  1844. SendClientMessage(playerid, COR_PRINCIPAL, string);
  1845. format(string, sizeof(string), "admCMD: O %s %s(id %d) desarmou você.", cargos, Nome(playerid), playerid);
  1846. SendClientMessage(giveplayerid, COR_PRINCIPAL, string);
  1847. return 1;
  1848. }
  1849. if(strcmp(cmd,"/kick",true) == 0)
  1850. {
  1851. if(Logado[playerid] < 1) return SendClientMessage(playerid,COR_ERRO,"ERRO: Você tem que estar logado para usar este comando.");
  1852. if(PlayerInfo[playerid][pAdmin] < 3 && PlayerInfo[playerid][pBOPE] < 3) return SendClientMessage(playerid,COR_ERRO,"ERRO: Você não tem permissão de usar esse comando.");
  1853. tmp = strtok(cmdtext, idx);
  1854. if(!strlen(tmp))
  1855. {
  1856. SendClientMessage(playerid,COR_USOCORRETO, "[USO CORRETO] /kick [id] [motivo]");
  1857. return 1;
  1858. }
  1859. giveplayerid = strval(tmp);
  1860. giveplayerid = strval(tmp);
  1861. if(PlayerInfo[playerid][pBlockKick] > 0) return SendClientMessage(playerid, COR_ERRO, "ERRO: Seu kick está bloqueado.");
  1862. if(!IsPlayerConnected(giveplayerid)) return SendClientMessage(playerid,COR_ERRO,"ERRO: ID Invalido.");
  1863. new length = strlen(cmdtext);
  1864. while ((idx < length) && (cmdtext[idx] <= ' ')) {
  1865. idx++;
  1866. }
  1867. new offset = idx;
  1868. new result[64];
  1869. while ((idx < length) && ((idx - offset) < (sizeof(result) - 1))) {
  1870. result[idx - offset] = cmdtext[idx];
  1871. idx++;
  1872. }
  1873. result[idx - offset] = EOS;
  1874. if(!strlen(result))
  1875. {
  1876. result = "N/A";
  1877. }
  1878. new cargos[64], string[128];
  1879. if(PlayerInfo[playerid][pBOPE] == 3) { cargos = "PM"; }
  1880. if(PlayerInfo[playerid][pBOPE] == 4) { cargos = "PM"; }
  1881. if(PlayerInfo[playerid][pBOPE] == 5) { cargos = "PM"; }
  1882. if(PlayerInfo[playerid][pAdmin] == 1) { cargos = "Administrador"; }
  1883. if(PlayerInfo[playerid][pAdmin] == 2) { cargos = "Administrador"; }
  1884. if(PlayerInfo[playerid][pAdmin] == 3) { cargos = "Administrador"; }
  1885. if(PlayerInfo[playerid][pAdmin] == 4) { cargos = "Sub Game Master"; }
  1886. if(PlayerInfo[playerid][pAdmin] == 5) { cargos = "Game Master"; }
  1887. format(string, sizeof(string), "AdmCMD: %s foi kikado pelo %s %s | Motivo: %s", Nome(giveplayerid),cargos,Nome(playerid),result);
  1888. SendClientMessageToAll(COLOR_KICK, string);
  1889. Kick(giveplayerid);
  1890. return 1;
  1891. }
  1892. if(strcmp(cmd,"/tempban",true) == 0)
  1893. {
  1894. tmp = strtok(cmdtext, idx);
  1895. new days, ID;
  1896. GetPlayerName(playerid, sendername, sizeof(sendername));
  1897. if(!strlen(tmp))
  1898. {
  1899. SendClientMessage(playerid, COR_USOCORRETO, "[USO CORRETO]: /tempban [id do player] [dias] [motivo]");
  1900. return 1;
  1901. }
  1902. ID = strval(tmp);
  1903. if(Logado[playerid] == 1)
  1904. {
  1905. if(PlayerInfo[playerid][pAdmin] >= 3)
  1906. {
  1907. if(IsPlayerConnected(ID))
  1908. {
  1909. tmp = strtok(cmdtext, idx);
  1910. if(!strlen(tmp))
  1911. {
  1912. SendClientMessage(playerid, COR_USOCORRETO, "[USO CORRETO]: /tempban [id do player] [dias] [motivo]");
  1913. }
  1914. days = strval(tmp);
  1915. new length = strlen(cmdtext);
  1916. while ((idx < length) && (cmdtext[idx] <= ' ')) {
  1917. idx++;
  1918. }
  1919. new offset = idx;
  1920. new result[64];
  1921. while ((idx < length) && ((idx - offset) < (sizeof(result) - 1))) {
  1922. result[idx - offset] = cmdtext[idx];
  1923. idx++;
  1924. }
  1925. result[idx - offset] = EOS;
  1926. if(!strlen(result))
  1927. {
  1928. SendClientMessage(playerid, COR_USOCORRETO, "[USO CORRETO]: /tempban [id do player] [dias] [motivo]");
  1929. }
  1930. else
  1931. {
  1932. new orgtext[69];
  1933. if(PlayerInfo[playerid][pAdmin] == 3) { orgtext = "Administrador"; }
  1934. if(PlayerInfo[playerid][pAdmin] == 4) { orgtext = "Administrador"; }
  1935. if(PlayerInfo[playerid][pAdmin] == 5) { orgtext = "Game Master"; }
  1936. new year,month,day;
  1937. getdate(year, month, day);
  1938. new hora, minuto, segundo;
  1939. gettime(hora, minuto, segundo );
  1940. new Ano,Mes,Dia
  1941. getdate(Ano,Mes,Dia);
  1942. new ip[16];
  1943. GetPlayerIp(ID, ip, sizeof(ip));
  1944. GetPlayerName(ID, giveplayer, sizeof(giveplayer));
  1945. new Nome[MAX_PLAYER_NAME];
  1946. GetPlayerName(ID, Nome, sizeof(Nome));
  1947. format(string, sizeof(string), "AdmCMD: %s foi banido pelo %s %s | Tempo: %d dias | Motivo: %s",Nome,orgtext,sendername,days, result);
  1948. SendClientMessageToAll(COLOR_KICK, string);
  1949. SendClientMessage(ID,0x79FF79AA,"-GT- Informações sobre o Ban:");
  1950. format(string, sizeof(string), "-GT- Nick: %s - %s: %s - Motivo: %s", giveplayer,orgtext,sendername,result);
  1951. SendClientMessage(ID,0xEA7500AA, string);
  1952. format(string, sizeof(string), "-GT- Data: %d/%d/%d - IP: %s (Salve Esses Dados)",day,month,year,ip);
  1953. SendClientMessage(ID,0xEA7500AA, string);
  1954. new String[100];
  1955. format(String, sizeof(String), Banidos, Nome);
  1956. new String2[100];
  1957. format(String2, sizeof(String2),Banidos, ip);
  1958. getdate(year, month, day);
  1959. day += days;
  1960. if (IsMonth31(month))
  1961. {
  1962. if (day > 31)
  1963. {
  1964. month += 1;
  1965. if (month > 12)
  1966. {
  1967. year += 1;
  1968. while(day > 31) day -= 31;
  1969. }
  1970. else while(day > 31) day -= 31;
  1971. }
  1972. }
  1973. else if (!IsMonth31(month))
  1974. {
  1975. if (day > 30)
  1976. {
  1977. month += 1;
  1978. if (month > 12)
  1979. {
  1980. year += 1;
  1981. while(day > 30) day -= 30;
  1982. }
  1983. else while(day > 30) day -= 30;
  1984. }
  1985. }
  1986. else if (!IsMonth31(month) && IsMonth29(year) && month == 2)
  1987. {
  1988. if (day > 29)
  1989. {
  1990. month += 1;
  1991. if (month > 12)
  1992. {
  1993. year += 1;
  1994. while(day > 29) day -= 29;
  1995. }
  1996. else while(day > 29) day -= 29;
  1997. }
  1998. }
  1999. else if (!IsMonth31(month) && !IsMonth29(year) && month == 2)
  2000. {
  2001. if (day > 28)
  2002. {
  2003. month += 1;
  2004. if (month > 12)
  2005. {
  2006. year += 1;
  2007. while(day > 28) day -= 28;
  2008. }
  2009. else while(day > 28) day -= 28;
  2010. }
  2011. }
  2012. //--- Banidos ---//
  2013. DOF2_CreateFile(String);
  2014. DOF2_SetString(String,"Motivo",result);
  2015. DOF2_SetString(String,"Admin",sendername);
  2016. DOF2_SetInt(String,"DiaBan",Dia);
  2017. DOF2_SetInt(String,"MesBan",Mes);
  2018. DOF2_SetInt(String,"AnoBan",Ano);
  2019. DOF2_SetInt(String,"HoraBan",hora);
  2020. DOF2_SetInt(String,"SegundosBan",segundo);
  2021. DOF2_SetInt(String,"DiaDesban",day);
  2022. DOF2_SetInt(String,"MesDesban",month);
  2023. DOF2_SetInt(String,"AnoDesban",year);
  2024. DOF2_SetInt(String,"HoraDesban",hora);
  2025. DOF2_SetInt(String,"MinutoDesban",minuto);
  2026. DOF2_SetInt(String,"SegundosDesban",segundo);
  2027. //--- Ips Banidos ---//
  2028. DOF2_CreateFile(String2);
  2029. DOF2_SetString(String2,"Motivo",result);
  2030. DOF2_SetString(String2,"Admin",sendername);
  2031. DOF2_SetInt(String2,"DiaBan",Dia);
  2032. DOF2_SetInt(String2,"MesBan",Mes);
  2033. DOF2_SetInt(String2,"AnoBan",Ano);
  2034. DOF2_SetInt(String2,"HoraBan",hora);
  2035. DOF2_SetInt(String2,"SegundosBan",segundo);
  2036. DOF2_SetInt(String2,"DiaDesban",day);
  2037. DOF2_SetInt(String2,"MesDesban",month);
  2038. DOF2_SetInt(String2,"AnoDesban",year);
  2039. DOF2_SetInt(String2,"HoraDesban",hora);
  2040. DOF2_SetInt(String2,"MinutoDesban",minuto);
  2041. DOF2_SetInt(String2,"SegundosDesban",segundo);
  2042. //--- Salvando os Dados ---//
  2043. SalvarContas(giveplayerid);
  2044. Ban(ID);
  2045. }
  2046. }
  2047. else
  2048. {
  2049. format(string, sizeof(string), "ERRO: ID Invalido", ID);
  2050. SendClientMessage(playerid, VERMELHO, string);
  2051. }
  2052. }
  2053. else
  2054. {
  2055. SendClientMessage(playerid, VERMELHO, "ERRO: Você não tem permissãoa de usar esse comando.");
  2056. return 1;
  2057. }
  2058. }
  2059. else
  2060. {
  2061. SendClientMessage(playerid, VERMELHO, "ERRO: Você não está logado.");
  2062. }
  2063. return 1;
  2064. }
  2065. if(strcmp(cmd, "/olhar", true) == 0)
  2066. {
  2067. GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
  2068. if(Logado[playerid] == 1)
  2069. {
  2070. if(PlayerInfo[playerid][pAdmin] >= 3 || IsPlayerAdmin(playerid))
  2071. {
  2072. SavePos(playerid);
  2073. new specp;
  2074. tmp = adminspec_strtok(cmdtext, idx);
  2075. if(!strlen(tmp)) return SendClientMessage(playerid, COR_USOCORRETO, "[USO CORRETO]: /olhar [id]");
  2076. specp = strval(tmp);
  2077. if(!IsPlayerConnected(specp)) return SendClientMessage(playerid, COR_ERRO, "ERRO: Player não está conectado.");
  2078. new sn[70];
  2079. GetPlayerName(specp,sn,sizeof(sn));
  2080. new Nome[MAX_PLAYER_NAME];
  2081. GetPlayerName(playerid, Nome, sizeof(Nome));
  2082. new String[50];
  2083. format(String, sizeof(String), CONTAS, Nome);
  2084. new PlayerName[24];
  2085. GetPlayerName(playerid,PlayerName,24);
  2086. GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
  2087. new st[75];
  2088. GetPlayerPos(playerid,X,Y,Z);
  2089. Olhando[playerid] = 1;
  2090. format(st,sizeof(st),"{D8D8D8}admCMD: {30BF54}Você está de olhar no jogador %s.",sn);
  2091. SendClientMessage(playerid,0x33AAFFFF,st);
  2092. format(st,sizeof(st),"{D8D8D8}admCMD: {0000FF}Para sair do olhar digite: '/olharoff'.");
  2093. SendClientMessage(playerid,0x33AAFFFF,st);
  2094. if(IsPlayerInAnyVehicle(specp))
  2095. {
  2096. SetPlayerInterior(playerid,GetPlayerInterior(specp));
  2097. TogglePlayerSpectating(playerid, 1);
  2098. PlayerSpectateVehicle(playerid, GetPlayerVehicleID(specp));
  2099. gSpectateID[playerid] = specp;
  2100. gSpectateType[playerid] = ADMIN_SPEC_TYPE_VEHICLE;
  2101. }
  2102. else
  2103. {
  2104. SetPlayerInterior(playerid,GetPlayerInterior(specp));
  2105. TogglePlayerSpectating(playerid, 1);
  2106. PlayerSpectatePlayer(playerid, specp);
  2107. gSpectateID[playerid] = specp;
  2108. gSpectateType[playerid] = ADMIN_SPEC_TYPE_PLAYER;
  2109. }
  2110. }
  2111. else
  2112. {
  2113. SendClientMessage(playerid, COR_ERRO, "ERRO: Você não tem permissão de usar esse comando.");
  2114. }
  2115. }
  2116. else
  2117. {
  2118. SendClientMessage(playerid, COR_ERRO, "ERRO: Você não está logado.");
  2119. }
  2120. return 1;
  2121. }
  2122. if(strcmp(cmd, "/olharoff", true) == 0)
  2123. {
  2124. GetPlayerName(playerid, sendername, sizeof(sendername));
  2125. if(Logado[playerid] == 1)
  2126. {
  2127. if(PlayerInfo[playerid][pAdmin] >= 3 || IsPlayerAdmin(playerid))
  2128. {
  2129. TogglePlayerSpectating(playerid, 0);
  2130. gSpectateID[playerid] = INVALID_PLAYER_ID;
  2131. gSpectateType[playerid] = ADMIN_SPEC_TYPE_NONE;
  2132. new Nome[MAX_PLAYER_NAME];
  2133. GetPlayerName(playerid, Nome, sizeof(Nome));
  2134. }
  2135. else
  2136. {
  2137. SendClientMessage(playerid, COR_ERRO, "ERRO: Você não tem permissão para usar este comando!");
  2138. }
  2139. }
  2140. else
  2141. {
  2142. SendClientMessage(playerid, COR_ERRO, "ERRO:Você tem que estar logado para usar este comando!");
  2143. }
  2144. return 1;
  2145. }
  2146.  
  2147.  
  2148.  
  2149. if(!strcmp(cmdtext, "/armas", true))
  2150. {
  2151. if(PlayerInfo[playerid][pAdmin] >= 2)
  2152. {
  2153. ShowPlayerDialog(playerid, Armas, DIALOG_STYLE_LIST, "Armas Free", "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");
  2154. }
  2155. else
  2156. {
  2157. SendClientMessage(playerid, COR_ERRO, "ERRO: Você não tem permissão de usar esse comando.");
  2158. return 1;
  2159. }
  2160. return 1;
  2161. }
  2162. if(strcmp(cmd,"/vida",true) == 0)
  2163. {
  2164. GetPlayerName(playerid, sendername, sizeof(sendername));
  2165. new health;
  2166. GetPlayerName(playerid, sendername, sizeof(sendername));
  2167. GetPlayerName(giveplayerid, giveplayer,sizeof(giveplayer));
  2168. tmp = strtok(cmdtext, idx);
  2169. if(!strlen(tmp))
  2170. {
  2171. SendClientMessage(playerid,COR_USOCORRETO,"[USO CORRETO]: /vida [id] [quantidade]");
  2172. return 1;
  2173. }
  2174. giveplayerid = strval(tmp);
  2175. tmp = strtok(cmdtext, idx);
  2176. if(!strlen(tmp))
  2177. {
  2178. SendClientMessage(playerid,COR_USOCORRETO,"[USO CORRETO]: /vida [id] [quantidade]");
  2179. return 1;
  2180. }
  2181. health = strval(tmp);
  2182. if(health < 0 || health > 100)
  2183. {
  2184. SendClientMessage(playerid,COR_ERRO,"ERRO: Quantidade de vida inválida!");
  2185. return 1;
  2186. }
  2187. if(Logado[playerid] == 1)
  2188. {
  2189. if(PlayerInfo[playerid][pAdmin] >= 3)
  2190. {
  2191. new orgtext[64];
  2192. if(PlayerInfo[playerid][pAdmin] == 1) { orgtext = "Administrador"; }
  2193. if(PlayerInfo[playerid][pAdmin] == 2) { orgtext = "Administrador"; }
  2194. if(PlayerInfo[playerid][pAdmin] == 3) { orgtext = "Administrador"; }
  2195. if(PlayerInfo[playerid][pAdmin] == 4) { orgtext = "Sub Game Master"; }
  2196. if(PlayerInfo[playerid][pAdmin] == 5) { orgtext = "Game Master"; }
  2197. for(new i = 0; i < MAX_PLAYERS; i ++)
  2198. if(GetDistanceBetweenPlayers(giveplayerid, i) <= 50.0)
  2199. if(IsPlayerConnected(giveplayerid))
  2200. {
  2201. SetPlayerHealth(giveplayerid,health);
  2202. GetPlayerName(giveplayerid, giveplayer,sizeof(giveplayer));
  2203. format(string, sizeof(string), "** %s %s deu vida para %s", orgtext, sendername, giveplayer);
  2204. SendClientMessage(i, 0xC798FAAA, string);
  2205. }
  2206. else
  2207. {
  2208. }
  2209. }
  2210. else
  2211. {
  2212. SendClientMessage(playerid, COR_ERRO, "ERRO: Você não tem permissão para usar este comando!");
  2213. }
  2214. }
  2215. else
  2216. {
  2217. SendClientMessage(playerid, COR_ERRO, "ERRO: Você tem que estar logado para usar este comando!");
  2218. }
  2219. return 1;
  2220. }
  2221. if(!strcmp(cmdtext, "/criar_e", true))
  2222. {
  2223. if(PlayerInfo[playerid][pAdmin] < 3)
  2224. return SendClientMessage(playerid, COR_ERRO, "ERRO: Voce nao e um Adminstrador para usar este comando !");
  2225. tmp = strtok(cmdtext,idx);
  2226.  
  2227. if(EnqueteAberta == true)
  2228. return SendClientMessage(playerid,COR_ERRO,"ERRO: No momento ja existe uma enquete aberta");
  2229.  
  2230. ShowPlayerDialog(playerid,DIALOG_EN,DIALOG_STYLE_INPUT,"Criar Enquete","Por favor digite sua pergunta para enquete","Criar","Cancelar");
  2231. return 1;
  2232. }
  2233. if(strcmp(cmd, "/fechar_e", true) == 0)
  2234. {
  2235. GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
  2236. GetPlayerName(playerid, sendername, sizeof(sendername));
  2237. if(Logado[playerid] == 1)
  2238. {
  2239. if(PlayerInfo[playerid][pAdmin] < 3)
  2240. return SendClientMessage(playerid, COR_ERRO, "ERRO: Voce nao e um Adminstrador para usar este comando !");
  2241. tmp = strtok(cmdtext,idx);
  2242.  
  2243. if(EnqueteAberta == false)
  2244. return SendClientMessage(playerid,0xFF0000AA,"No Momento nao existe uma enquete aberta");
  2245. new orgtext[69];
  2246. if(PlayerInfo[playerid][pAdmin] == 5) { orgtext = "Game Master"; }
  2247. if(IsPlayerAdmin(playerid)) { orgtext = "Game Master"; }
  2248. if(PlayerInfo[playerid][pAdmin] == 4) { orgtext = "Sub Game Master"; }
  2249. if(PlayerInfo[playerid][pAdmin] == 3) { orgtext = "Administrador"; }
  2250. if(PlayerInfo[playerid][pAdmin] == 2) { orgtext = "Administrador"; }
  2251. if(PlayerInfo[playerid][pAdmin] == 1) { orgtext = "Administrador"; }
  2252.  
  2253. SendClientMessageToAll(0xFFFFFFAA, "===================================================================================================");
  2254. format(SringEnquete,84, "* O {a5f376}%s %s {f6ff00}acaba de fechar uma enquete.", orgtext, sendername);
  2255. SendClientMessageToAll(0xf6ff00AA, SringEnquete);
  2256. format(SringEnquete,64, "* Total de votos: {a5f376}Sim: [%d] | Nao: [%d] | Votos: [%d].",TotalDeVotosSim,TotalDeVotosNao ,(TotalDeVotosSim + TotalDeVotosNao));
  2257. SendClientMessageToAll(0xf6ff00AA, SringEnquete);
  2258. SendClientMessageToAll(0xFFFFFFAA, "===================================================================================================");
  2259.  
  2260. TotalDeVotosSim = 0;
  2261. TotalDeVotosNao = 0;
  2262. EnqueteAberta = false;
  2263.  
  2264. for(new i; i < MAX_PLAYERS; i++)
  2265. if(PlayerVotou[i] == 1)
  2266. PlayerVotou[i] = 0;
  2267. return 1;
  2268. }
  2269. return 1;
  2270. }
  2271.  
  2272. if(strcmp(cmd,"/desbanip",true)==0)
  2273. {
  2274. if(PlayerInfo[playerid][pAdmin] >= 4)
  2275. {
  2276. tmp = strtok(cmdtext,idx);
  2277. if(!strlen(tmp))
  2278. {
  2279. SendClientMessage(playerid,COR_USOCORRETO,"[USO CORRETO]: /desbanip [IP do jogador]");
  2280. return 1;
  2281. }
  2282.  
  2283. new orgtext[69];
  2284. if(PlayerInfo[playerid][pAdmin] == 5) { orgtext = "Game Master"; }
  2285. if(PlayerInfo[playerid][pAdmin] == 4) { orgtext = "Sub Game Master"; }
  2286. format(string,sizeof(string),"IP Desban: %s",tmp);
  2287. SendRconCommand(string);
  2288. SendRconCommand("reloadbans");
  2289. format(string,sizeof(string),"unbanip %s",tmp);
  2290. SendRconCommand(string);
  2291. GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
  2292. GetPlayerName(playerid, sendername, sizeof(sendername));
  2293. format(string,sizeof(string),"-OpenServer- O Game Master %s retirou o ban de '%s' (Nick ou IP).",sendername,tmp);
  2294. for(new i=0;i<MAX_PLAYERS;i++)
  2295. if(PlayerInfo[i][pAdmin] >= 4)
  2296. SendClientMessage(i,0xFFA579AA,string);
  2297. }
  2298. return 1;
  2299. }
  2300. if(strcmp(cmd,"/dararma",true) == 0)
  2301. {
  2302. GetPlayerName(playerid, sendername, sizeof(sendername));
  2303. new weaponid;
  2304. new giveammo;
  2305. tmp = strtok(cmdtext, idx);
  2306. if(Logado[playerid] == 0)
  2307. {
  2308. SendClientMessage(playerid, COR_ERRO, "Você tem que estar logado para usar este comando!");
  2309. }
  2310. if(!strlen(tmp))
  2311. {
  2312. SendClientMessage(playerid, COR_USOCORRETO,"[USO CORRETO]: /dararma [id] [arma] [munição]");
  2313. return 1;
  2314. }
  2315. giveplayerid = strval(tmp);
  2316. tmp = strtok(cmdtext, idx);
  2317. if(!strlen(tmp))
  2318. {
  2319. SendClientMessage(playerid, COR_USOCORRETO,"[USO CORRETO]: /dararma [id] [arma] [munição]");
  2320. return 1;
  2321. }
  2322. weaponid = strval(tmp);
  2323. if(weaponid < 0 || weaponid > 46)
  2324. {
  2325. SendClientMessage(playerid, COR_ERRO, "ERRO: ID da arma inválido!");
  2326. return 1;
  2327. }
  2328. tmp = strtok(cmdtext, idx);
  2329. if(!strlen(tmp))
  2330. {
  2331. giveammo = 100000;
  2332. }
  2333. giveammo = strval(tmp);
  2334. if(giveammo < 0 || giveammo > 100000)
  2335. {
  2336. SendClientMessage(playerid, COR_ERRO, "ERRO: Quantidade de munição inválida!");
  2337. return 1;
  2338. }
  2339. if(Logado[playerid] == 1)
  2340. {
  2341. if(PlayerInfo[playerid][pAdmin] >= 4)
  2342. {
  2343. if(IsPlayerConnected(giveplayerid))
  2344. {
  2345. new orgtext[69];
  2346. if(PlayerInfo[playerid][pAdmin] == 5) { orgtext = "Game Master"; }
  2347. if(PlayerInfo[playerid][pAdmin] == 4) { orgtext = "Sub Game Master"; }
  2348. if(PlayerInfo[playerid][pAdmin] == 3) { orgtext = "Administrador"; }
  2349. if(IsPlayerAdmin(playerid)) { orgtext = "Game Master"; }
  2350. GivePlayerWeapon(giveplayerid, weaponid, giveammo);
  2351. GetPlayerName(playerid, sendername, sizeof(sendername));
  2352. new weaponname[20];
  2353. GetWeaponName(weaponid, weaponname, sizeof(weaponname));
  2354. GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
  2355. format(string,sizeof(string),"{D8D8D8}AdmCMD: {30BF54}Você deu %s \"%s\" com %d de munição.",giveplayer, weaponname, giveammo);
  2356. SendClientMessage(playerid, SET_ADM, string);
  2357. format(string,sizeof(string),"{D8D8D8}AdmCMD: {0000FF}%s %s deu para você \"%s\" com %d de munição.",orgtext, sendername, weaponname, giveammo);
  2358. SendClientMessage(giveplayerid, SET_ADM, string);
  2359. format(string,sizeof(string),"-OpenServ- O %s %s deu arma para o player %s '%s'.", orgtext, sendername, giveplayer,weaponname);
  2360. for(new i=0;i<MAX_PLAYERS;i++)
  2361. if(PlayerInfo[i][pAdmin] >= 3)
  2362. SendClientMessage(i,SET_ADM,string);
  2363. }
  2364. else
  2365. {
  2366. format(string, sizeof(string), "ID Invalido", giveplayerid);
  2367. SendClientMessage(playerid, COR_ERRO, string);
  2368. }
  2369. }
  2370. else
  2371. {
  2372. SendClientMessage(playerid, COR_ERRO, "ERRO: Você não tem permissão para usar este comando!");
  2373. }
  2374. }
  2375. else
  2376. {
  2377. SendClientMessage(playerid, COR_ERRO, "ERRO: Você tem que estar logado para usar este comando!");
  2378. }
  2379. return 1;
  2380. }
  2381. if(strcmp(cmd, "/dargrana", true) == 0)
  2382. {
  2383. GetPlayerName(playerid, sendername, sizeof(sendername));
  2384. tmp = strtok(cmdtext, idx);
  2385. if(!strlen(tmp) && PlayerInfo[playerid][pAdmin] >= 4)
  2386. {
  2387. SendClientMessage(playerid, COR_USOCORRETO, "[USO CORRETO]: /dagrana [id do player] [quantidade]");
  2388. return 1;
  2389. }
  2390. new orgtext[69];
  2391. if(IsPlayerAdmin(playerid)) { orgtext = "Game Master"; }
  2392. if(PlayerInfo[playerid][pAdmin] == 5) { orgtext = "Game Master"; }
  2393. if(PlayerInfo[playerid][pAdmin] == 4) { orgtext = "Sub Game Master"; }
  2394. new money;
  2395. giveplayerid = strval(tmp);
  2396. tmp = strtok(cmdtext, idx);
  2397. money = strval(tmp);
  2398. GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
  2399. GetPlayerName(playerid, sendername, sizeof(sendername));
  2400. if(PlayerInfo[playerid][pAdmin] >= 4)
  2401. {
  2402. GivePlayerMoney(giveplayerid, money);
  2403. format(string, sizeof(string), "{FFFFFF}-InfoServ- {008000}Você aumentou o dinheiro de %s para %d$.", giveplayer, money);
  2404. SendClientMessage(playerid,0xFFFFFFAA, string);
  2405. format(string, sizeof(string), "{FFFFFF}-InfoServ- {D22D2D}%s %s aumentou seu dinheiro para %d$.", orgtext, sendername, money);
  2406. SendClientMessage(giveplayerid,0xFFFFFFAA, string);
  2407. SalvarContas(playerid);
  2408. new PlayerName[30];
  2409. GetPlayerName(playerid, PlayerName, 30);
  2410. printf("[AdmCMD] %s usou /dargrana para mudar o dinheiro de %s para $%s.", PlayerName, giveplayer, money);
  2411. }
  2412. return 1;
  2413. }
  2414. if(strcmp(cmd, "/resetargrana", true) == 0)
  2415. {
  2416. GetPlayerName(playerid, sendername, sizeof(sendername));
  2417. tmp = strtok(cmdtext, idx);
  2418. if(!strlen(tmp) && PlayerInfo[playerid][pAdmin] >= 4)
  2419. {
  2420. SendClientMessage(playerid, COR_USOCORRETO, "[USO CORRETO]: /resetargrana [id do player]");
  2421. return 1;
  2422. }
  2423. new orgtext[69];
  2424. if(IsPlayerAdmin(playerid)) { orgtext = "Game Master"; }
  2425. if(PlayerInfo[playerid][pAdmin] == 5) { orgtext = "Game Master"; }
  2426. if(PlayerInfo[playerid][pAdmin] == 4) { orgtext = "Sub Game Master"; }
  2427. new money;
  2428. giveplayerid = strval(tmp);
  2429. tmp = strtok(cmdtext, idx);
  2430. money = strval(tmp);
  2431. GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
  2432. GetPlayerName(playerid, sendername, sizeof(sendername));
  2433. if(PlayerInfo[playerid][pAdmin] >= 4)
  2434. {
  2435. ResetPlayerMoney(giveplayerid);
  2436. format(string, sizeof(string), "{FFFFFF}-InfoServ- {008000} Você resetou o dinheiro de %s(id %d).", giveplayer, giveplayerid);
  2437. SendClientMessage(playerid,0xFFFFFFAA, string);
  2438. format(string, sizeof(string), "{FFFFFF}-InfoServ- {D22D2D}%s %s(id %d) resetou seu dinheiro.", orgtext, sendername, playerid);
  2439. SendClientMessage(giveplayerid,0xFFFFFFAA, string);
  2440. SalvarContas(playerid);
  2441. new PlayerName[30];
  2442. GetPlayerName(playerid, PlayerName, 30);
  2443. printf("[AdmCMD] %s usou /dargrana para mudar o dinheiro de %s para $%s.", PlayerName, giveplayer, money);
  2444. }
  2445. return 1;
  2446. }
  2447. if(strcmp(cmd, "/tempo", true) == 0)
  2448. {
  2449. GetPlayerName(playerid, sendername, sizeof(sendername));
  2450. if(Logado[playerid] == 1)
  2451. {
  2452. if(PlayerInfo[playerid][pAdmin] >= 5)
  2453. {
  2454. ShowPlayerDialog(playerid, Tempo, DIALOG_STYLE_LIST, "Escolha o horario:", "1Hora\n2Horas \n3Horas \n4Horas \n5Horas \n6Horas \n7Horas \n8Horas \n9Horas \n10Horas \n11Horas \n12Horas \n13Horas \n14Horas \n15Horas \n16Horas \n17Horas \n18Horas \n19Horas \n20Horas \n21Horas \n22Horas \n23Horas \n24Horas", "OK", "Cancelar");
  2455. }
  2456. else
  2457. {
  2458. SendClientMessage(playerid, COR_ERRO, "ERRO: Você não tem permissão.");
  2459. }
  2460. }
  2461. else
  2462. {
  2463. SendClientMessage(playerid, COR_ERRO, "ERRO: Você não está logado.");
  2464. }
  2465. return 1;
  2466. }
  2467.  
  2468. if(strcmp(cmd, "/clima", true) == 0)
  2469. {
  2470. GetPlayerName(playerid, sendername, sizeof(sendername));
  2471. tmp = strtok(cmdtext, idx);
  2472. if(!strlen(tmp))
  2473. {
  2474. SendClientMessage(playerid, COR_USOCORRETO, "[USO CORRETO]: /clima [id do clima]");
  2475. return 1;
  2476. }
  2477. new weather;
  2478. weather = strval(tmp);
  2479. GetPlayerName(playerid, sendername, sizeof(sendername));
  2480. if(Logado[playerid] == 1)
  2481. {
  2482. if(PlayerInfo[playerid][pAdmin] >= 5)
  2483. {
  2484. SetWeather(weather);
  2485. format(string, sizeof(string), "{FFFFFF}[INFO]: Game Master {0004FF}%s{FFFFFF} Mudou o Clima Para: {0004FF}%d.",sendername,weather);
  2486. SendClientMessageToAll(COR_ERRO, string);
  2487. new PlayerName[30];
  2488. GetPlayerName(playerid, PlayerName, 30);
  2489. printf("[AdmCMD] %s usou /clima para mudar o clima para: %s.", PlayerName, weather);
  2490. }
  2491. else
  2492. {
  2493. SendClientMessage(playerid, COR_ERRO, "ERRO: Você não tem permissão para usar este comando!");
  2494. }
  2495. }
  2496. else
  2497. {
  2498. SendClientMessage(playerid, COR_ERRO, "ERRO: Você tem que estar logado para usar este comando!");
  2499. }
  2500. return 1;
  2501. }
  2502. if(strcmp(cmd, "/supertapa", true) == 0)
  2503. {
  2504. GetPlayerName(playerid, sendername, sizeof(sendername));
  2505. tmp = strtok(cmdtext, idx);
  2506. if(!strlen(tmp))
  2507. {
  2508. SendClientMessage(playerid, COR_USOCORRETO, "[USO CORRETO]: /supertapa [id]");
  2509. return 1;
  2510. }
  2511.  
  2512. giveplayerid = strval(tmp);
  2513. GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
  2514. GetPlayerName(playerid, sendername, sizeof(sendername));
  2515. if(Logado[playerid] == 1)
  2516. {
  2517. if(PlayerInfo[playerid][pAdmin] >= 5 || PlayerInfo[playerid][pRgt] >= 4)
  2518. {
  2519. if(IsPlayerConnected(giveplayerid))
  2520. {
  2521. GetPlayerPos(giveplayerid, px, py, pz);
  2522. SetPlayerPos(giveplayerid, px, py, pz+90);
  2523.  
  2524. for(new i=0; i <= MAX_PLAYERS; i++)
  2525. if(GetDistanceBetweenPlayers(giveplayerid, i) <= 60)
  2526. {
  2527. new pName[ 30 ];
  2528. GetPlayerName(playerid, pName, 30);
  2529. format(string, 256, "*%s levou um super tapa de %s", giveplayer, pName);
  2530. SendClientMessage(i,ROXO,string);
  2531. }
  2532.  
  2533.  
  2534. new PlayerName[30];
  2535. GetPlayerName(playerid, PlayerName, 30);
  2536. printf("[AdmCMD] %s usou /supertapa para dar um super tapa em %s.", PlayerName, giveplayer);
  2537. }
  2538. else
  2539. {
  2540. format(string, sizeof(string), "ERRO: %d não é um player ativo.", giveplayerid);
  2541. SendClientMessage(playerid, COR_ERRO, string);
  2542. }
  2543. }
  2544. else
  2545. {
  2546. SendClientMessage(playerid, COR_ERRO, "ERRO: Você não tem permissão de usar esse comando.");
  2547. }
  2548. }
  2549. else
  2550. {
  2551. SendClientMessage(playerid, COR_ERRO, "ERRO: Você tem que estar logado para usar esse comando.");
  2552. }
  2553. return 1;
  2554. }
  2555.  
  2556. if(strcmp(cmd, "/a", true) == 0)
  2557. {
  2558. GetPlayerName(playerid, sendername, sizeof(sendername));
  2559. new length = strlen(cmdtext);
  2560. while ((idx < length) && (cmdtext[idx] <= ' '))
  2561. {
  2562. idx++;
  2563. }
  2564. new offset = idx;
  2565. new result[64];
  2566. while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
  2567. {
  2568. result[idx - offset] = cmdtext[idx];
  2569. idx++;
  2570. }
  2571. result[idx - offset] = EOS;
  2572. if(!strlen(result))
  2573. {
  2574. SendClientMessage(playerid, COR_USOCORRETO, "[USO CORRETO]: /a [texto]");
  2575. return 1;
  2576. }
  2577. if(Logado[playerid] == 1)
  2578. {
  2579. if(PlayerInfo[playerid][pAdmin] >= 1)
  2580. {
  2581. if(PlayerInfo[playerid][pAdmin] >= 1)
  2582. {
  2583. format(string, sizeof(string), "**AdminChat %s: %s **", sendername, result);
  2584. }
  2585.  
  2586. for(new i = 0; i < MAX_PLAYERS; i ++)
  2587. {
  2588. if(IsPlayerConnected(i))
  2589. {
  2590. if(PlayerInfo[i][pAdmin] >= 1)
  2591. {
  2592. SendClientMessage(i,0xCB34C7AA, string);
  2593. }
  2594. }
  2595. }
  2596. printf(string);
  2597. return 1;
  2598. }
  2599. else
  2600. {
  2601. SendClientMessage(playerid, COR_ERRO, "ERRO: Você não é um Administrador.");
  2602. return 1;
  2603. }
  2604. }
  2605. else
  2606. {
  2607. SendClientMessage(playerid, COR_ERRO, "ERRO: Você tem que estar logado para usar este comando!");
  2608. }
  2609. }
  2610. // ------------------------ Comando Bope ------------------------ //
  2611.  
  2612. if(!strcmp(cmdtext, "/membros", true))
  2613. {
  2614. if(PlayerInfo[playerid][pBOPE] >= 1)
  2615. {
  2616. SendClientMessage(playerid, COR_PRINCIPAL, "** Todos os PM(2ºBATALHÃO) online:");
  2617. new cargotext[64];
  2618. new statustext[64];
  2619. for(new i=0; i<MAX_PLAYERS; i++)
  2620. {
  2621. if(PlayerInfo[i][pBOPE] == 5) { cargotext = "Líder"; }
  2622. if(PlayerInfo[i][pBOPE] == 4) { cargotext = "Sub-Líder"; }
  2623. if(PlayerInfo[i][pBOPE] == 3) { cargotext = "3"; }
  2624. if(PlayerInfo[i][pBOPE] == 2) { cargotext = "2"; }
  2625. if(PlayerInfo[i][pBOPE] == 1) { cargotext = "1"; }
  2626. if(EmTrabalho[i] == 0) { statustext = "Jogando"; }
  2627. if(EmTrabalho[i] == 1) { statustext = "Trabalhando"; }
  2628. if(IsPlayerConnected(i))
  2629. {
  2630. if(Logado[i] == 1)
  2631. {
  2632. if(PlayerInfo[i][pBOPE] >= 1)
  2633. {
  2634. new str[256];
  2635. new pname[24];
  2636. GetPlayerName(i, pname, 24);
  2637. format(str, 256, "%s [Cargo: %s] [Status: %s]", pname, cargotext, statustext);
  2638. SendClientMessage(playerid, 0xE3E3E3FF, str);
  2639. }
  2640. }
  2641. }
  2642. }
  2643. }
  2644.  
  2645. if(!strcmp(cmdtext, "/cone", true))
  2646. {
  2647. if(EmTrabalho[playerid] == 0)
  2648. {
  2649. SendClientMessage(playerid, COR_ERRO, "ERRO: Você não está trabalhando pra poder usar este comando!");
  2650. return 1;
  2651. }
  2652. if(PlayerInfo[playerid][pBOPE] >= 1)
  2653. {
  2654. if(Cone[playerid] == 0)
  2655. {
  2656. GetPlayerPos(playerid, X, Y, Z);
  2657. GetPlayerFacingAngle(playerid, A);
  2658. Cone[playerid] = CreateObject(1237, X, Y, Z-0.9, 0.0, 0.0, A);
  2659. SetPlayerPos(playerid, X, Y, Z+2);
  2660.  
  2661. for(new i=0; i <= MAX_PLAYERS; i++)
  2662. if(GetDistanceBetweenPlayers(playerid, i) <= 50)
  2663. {
  2664. new pName[ 30 ];
  2665. GetPlayerName(playerid, pName, 30);
  2666. format(string, 256, "%s criou um cone", pName);
  2667. SendClientMessage(i,ROXO,string);
  2668. }
  2669.  
  2670. }
  2671. else
  2672. {
  2673. SendClientMessage(playerid, COR_ERRO, "ERRO: Você ja usou um cone.");
  2674. return 1;
  2675. }
  2676. }
  2677. return 1;
  2678. }
  2679. if(!strcmp(cmdtext, "/rcone", true))
  2680. {
  2681. if(PlayerInfo[playerid][pBOPE] >= 1)
  2682. {
  2683. if(Cone[playerid] >= 1)
  2684. {
  2685. DestroyObject(Cone[playerid]);
  2686. Cone[playerid] = 0;
  2687.  
  2688. for(new i=0; i <= MAX_PLAYERS; i++)
  2689. if(GetDistanceBetweenPlayers(playerid, i) <= 50)
  2690. {
  2691. new pName[ 30 ];
  2692. GetPlayerName(playerid, pName, 30);
  2693. format(string, 256, "%s destruiu um cone.", pName);
  2694. SendClientMessage(i,ROXO,string);
  2695. }
  2696.  
  2697. }
  2698. else
  2699. {
  2700. SendClientMessage(playerid, COR_ERRO, "ERRO: Você não usou /cone!");
  2701. return 1;
  2702. }
  2703. }
  2704. return 1;
  2705. }
  2706. if(!strcmp(cmdtext, "/br", true))
  2707. {
  2708. if(EmTrabalho[playerid] == 0)
  2709. {
  2710. SendClientMessage(playerid, COR_ERRO, "ERRO: Você não está trabalhando pra poder usar este comando!");
  2711. return 1;
  2712. }
  2713. if(PlayerInfo[playerid][pBOPE] >= 1)
  2714. {
  2715. if(Barreira[playerid] == 0)
  2716. {
  2717. new Float:X, Float:Y, Float:Z, Float:A;
  2718. GetPlayerPos(playerid, X, Y, Z);
  2719. GetPlayerFacingAngle(playerid, A);
  2720. Barreira[playerid] = CreateObject(981, X, Y, Z, 0.0, 0.0, A);
  2721. SetPlayerPos(playerid, X, Y, Z+4);
  2722.  
  2723. for(new i=0; i <= MAX_PLAYERS; i++)
  2724. if(GetDistanceBetweenPlayers(playerid, i) <= 50)
  2725. {
  2726. new pName[ 30 ];
  2727. GetPlayerName(playerid, pName, 30);
  2728. format(string, 256, "%s criou uma barreira.", pName);
  2729. SendClientMessage(i,COR_ROXO,string);
  2730. }
  2731.  
  2732. }
  2733. else
  2734. {
  2735. SendClientMessage(playerid, COR_ERRO, "ERRO: Você já usou /br, use /rbr para poder usar novamente!");
  2736. return 1;
  2737. }
  2738. }
  2739. return 1;
  2740. }
  2741.  
  2742. if(!strcmp(cmdtext, "/rbr", true))
  2743. {
  2744. if(PlayerInfo[playerid][pBOPE] >= 1)
  2745. {
  2746. if(Barreira[playerid] >= 1)
  2747. {
  2748. DestroyObject(Barreira[playerid]);
  2749. Barreira[playerid] = 0;
  2750.  
  2751. for(new i=0; i <= MAX_PLAYERS; i++)
  2752. if(GetDistanceBetweenPlayers(playerid, i) <= 50)
  2753. {
  2754. new pName[ 30 ];
  2755. GetPlayerName(playerid, pName, 30);
  2756. format(string, 256, "%s destruiu uma barreira.", pName);
  2757. SendClientMessage(i,COR_ROXO,string);
  2758. }
  2759.  
  2760. }
  2761. else
  2762. {
  2763. SendClientMessage(playerid, COR_ERRO, "ERRO: Você não usou /br!");
  2764. return 1;
  2765. }
  2766. }
  2767. return 1;
  2768. }
  2769.  
  2770. if(!strcmp(cmdtext, "/rbrall", true))
  2771. {
  2772. if(PlayerInfo[playerid][pBOPE] >= 4)
  2773. {
  2774. for(new i = 0; i < MAX_PLAYERS; i++)
  2775. {
  2776. DestroyObject(Barreira[i]);
  2777. Barreira[i] = 0;
  2778. GetPlayerName(playerid, sendername, 30);
  2779. format(string,sizeof(string),"HQ: Todas as barreiras forão removidas pelo Polìcial %s.", sendername);
  2780. if(IsPlayerConnected(i))
  2781. {
  2782. if(PlayerInfo[playerid][pBOPE] >= 1)
  2783. {
  2784. SendClientMessage(i,0x0000FFAA,string);
  2785. }
  2786. }
  2787.  
  2788. }
  2789. }
  2790. else
  2791. {
  2792. SendClientMessage(playerid, COR_ERRO, "ERRO: Você não tem permissão de usar esse comando.");
  2793. return 1;
  2794. }
  2795. return 1;
  2796. }
  2797. if(strcmp(cmd, "/m", true) == 0 || strcmp(cmd, "/megaphone", true) == 0)
  2798. {
  2799. if(EmTrabalho[playerid] == 0)
  2800. {
  2801. SendClientMessage(playerid, COR_ERRO, "ERRO: Você não está trabalhando pra poder usar este comando!");
  2802. return 1;
  2803. }
  2804. new length = strlen(cmdtext);
  2805. while ((idx < length) && (cmdtext[idx] <= ' '))
  2806. {
  2807. idx++;
  2808. }
  2809. new offset = idx;
  2810. new result[64];
  2811. while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
  2812. {
  2813. result[idx - offset] = cmdtext[idx];
  2814. idx++;
  2815. }
  2816. result[idx - offset] = EOS;
  2817. GetPlayerName(playerid, sendername, sizeof(sendername));
  2818. if(!strlen(result))
  2819. {
  2820. SendClientMessage(playerid, COR_USOCORRETO, "[USO CORRETO]: /m [mensagem]");
  2821. return 1;
  2822. }
  2823. if(Logado[playerid] == 1)
  2824. {
  2825. if(PlayerInfo[playerid][pBOPE] >= 1)
  2826. {
  2827.  
  2828. for(new i=0; i <= MAX_PLAYERS; i++)
  2829. if(GetDistanceBetweenPlayers(playerid, i) <= 60)
  2830. {
  2831. format(string, sizeof(string), "Polícial %s: %s", sendername, result);
  2832. SendClientMessage(i,AMARELO,string);
  2833. }
  2834.  
  2835. }
  2836. else
  2837. {
  2838. SendClientMessage(playerid, COR_ERRO, "ERRO: Você não tem permissão de usar esse comando.");
  2839. }
  2840. }
  2841. else
  2842. {
  2843. SendClientMessage(playerid, COR_ERRO, "ERRO: Você tem que estar logado para usar este comando!");
  2844. }
  2845. return 1;
  2846. }
  2847.  
  2848. if(!strcmp(cmdtext, "/etapa 1", true))
  2849. {
  2850.  
  2851. if(PlayerInfo[playerid][pBOPE] >= 1 || PlayerInfo[playerid][pAdmin] >= 1)
  2852. {
  2853. SetPlayerSkin(playerid, 0);
  2854. SetPlayerColor(playerid, 0x84C1FFAA);
  2855. SetPlayerPos(playerid,-1252.7264,38.8738,14.1387);
  2856. SetPlayerFacingAngle(playerid, 225.7257);
  2857. GetPlayerName(playerid, sendername, 30);
  2858. format(string,sizeof(string),"Membro do Bope Foi Para a Etapa 1.", sendername);
  2859. SendClientMessageToAll(VERMELHO, string);
  2860. return 1;
  2861. }
  2862. return 1;
  2863. }
  2864. if(!strcmp(cmdtext, "/etapa 2", true))
  2865. {
  2866.  
  2867. if(PlayerInfo[playerid][pBOPE] >= 1 || PlayerInfo[playerid][pAdmin] >= 1)
  2868. {
  2869. SetPlayerSkin(playerid, 0);
  2870. SetPlayerColor(playerid, 0x84C1FFAA);
  2871. SetPlayerPos(playerid,2051.3889,-2404.9888,13.5469);
  2872. SetPlayerFacingAngle(playerid, 225.7257);
  2873. GetPlayerName(playerid, sendername, 30);
  2874. format(string,sizeof(string),"Membro do Bope Foi Para a Etapa 2.", sendername);
  2875. SendClientMessageToAll(VERMELHO, string);
  2876. return 1;
  2877. }
  2878. return 1;
  2879. }
  2880. if(!strcmp(cmdtext, "/etapa 3", true))
  2881. {
  2882.  
  2883. if(PlayerInfo[playerid][pBOPE] >= 1 || PlayerInfo[playerid][pAdmin] >= 1)
  2884. {
  2885. SetPlayerSkin(playerid, 0);
  2886. SetPlayerColor(playerid, 0x84C1FFAA);
  2887. SetPlayerPos(playerid,2051.-2090.1587,-108.4717,35.3203);
  2888. SetPlayerFacingAngle(playerid, 225.7257);
  2889. GetPlayerName(playerid, sendername, 30);
  2890. format(string,sizeof(string),"Membro do Bope Foi Para a Etapa 3.", sendername);
  2891. SendClientMessageToAll(VERMELHO, string);
  2892. return 1;
  2893. }
  2894. return 1;
  2895. }
  2896.  
  2897.  
  2898. if(!strcmp(cmdtext, "/dp", true))
  2899. {
  2900.  
  2901. if(PlayerInfo[playerid][pBOPE] >= 1)
  2902. {
  2903. if(IsPlayerInAnyVehicle(playerid))
  2904. {
  2905. SetVehiclePos(GetPlayerVehicleID(playerid),2288.2810,2451.6372,10.8203);
  2906. SetVehicleZAngle(GetPlayerVehicleID(playerid), 93.5452);
  2907. return 1;
  2908. }
  2909. SetPlayerPos(playerid,2294.7246,2468.6418,10.8203);
  2910. SetPlayerFacingAngle(playerid, 94.1719);
  2911. SetPlayerColor(playerid, 0x807FFEAA);
  2912. EmTrabalho[playerid] = 1;
  2913. SetPlayerSkin(playerid, 285);
  2914. GetPlayerName(playerid, sendername, 30);
  2915. format(string,sizeof(string),"Polícial Militar %s está em trabalho.", sendername);
  2916. SendClientMessageToAll(COR_NEGATIVO, string);
  2917. return 1;
  2918. }
  2919.  
  2920. return 1;
  2921. }
  2922. if(!strcmp(cmdtext, "/procurados", true))
  2923. {
  2924. new count=0;
  2925. for(new i=0; i<MAX_PLAYERS; i++)
  2926. {
  2927. if(IsPlayerConnected(i))
  2928. {
  2929. SendClientMessage(playerid, 0x0080FFAA, ">>> Todos os procurados <<<");
  2930. {
  2931. if(Logado[i] == 1)
  2932. {
  2933. if(PlayerInfo[i][pProcurado] > 1)
  2934. {
  2935. GetPlayerName(i, giveplayer, sizeof(sendername));
  2936. new String[100];
  2937. new pname[24];
  2938. GetPlayerName(i, pname, 24);
  2939. format(String, 256, "Procurado %s | (ID: %d) | [Level %d]",giveplayer,giveplayerid,Procurado[i]);
  2940. SendClientMessage(playerid, 0xE3E3E3FF, String);
  2941. count++;
  2942. }
  2943. }
  2944. }
  2945. }
  2946. if(count == 0)
  2947. {
  2948. SendClientMessage(playerid, 0xD8D8D8FF, "Não tem nenhum procurado In-Game agora.");
  2949. }
  2950. return 1;
  2951. }
  2952. return 1;
  2953. }
  2954.  
  2955. if(strcmp(cmd,"/su",true) == 0)
  2956. {
  2957. if(PlayerInfo[playerid][pBOPE] >= 1)
  2958. {
  2959. tmp = strtok(cmdtext, idx);
  2960. GetPlayerName(playerid, sendername, sizeof(sendername));
  2961. GetPlayerName(giveplayerid, giveplayer, sizeof(sendername));
  2962. if(!strlen(tmp))
  2963. {
  2964. SendClientMessage(playerid,COR_USOCORRETO,"[USO CORRETO]: /su [id] [motivo]");
  2965. return 1;
  2966. }
  2967. if(EmTrabalho[playerid] == 0 && PlayerInfo[playerid][pBOPE] >= 1)
  2968. {
  2969. SendClientMessage(playerid, COR_ERRO, "ERRO: Você não está trabalhando pra poder usar este comando!");
  2970. return 1;
  2971. }
  2972. giveplayerid = strval(tmp);
  2973. if(IsPlayerConnected(giveplayerid))
  2974. {
  2975. new length = strlen(cmdtext);
  2976. while ((idx < length) && (cmdtext[idx] <= ' ')) {
  2977. idx++;
  2978. }
  2979. new offset = idx;
  2980. new result[64];
  2981. while ((idx < length) && ((idx - offset) < (sizeof(result) - 1))) {
  2982. result[idx - offset] = cmdtext[idx];
  2983. idx++;
  2984. }
  2985. result[idx - offset] = EOS;
  2986. if(!strlen(result))
  2987. {
  2988. SendClientMessage(playerid,COR_USOCORRETO,"[USO CORRETO]: /su [id] [motivo]");
  2989. return 1;
  2990. }
  2991. SetPlayerWantedLevel(giveplayerid, GetPlayerWantedLevel(giveplayerid) + 1);
  2992. Procurado[giveplayerid] += 1;
  2993. SalvarContas(playerid);
  2994. GetPlayerName(giveplayerid, giveplayer, sizeof(sendername));
  2995. for(new i=0;i<MAX_PLAYERS;i++)
  2996. {
  2997. if(IsPlayerConnected(i))
  2998. {
  2999. if(PlayerInfo[playerid][pBOPE] >= 1)
  3000. {
  3001. format(string,sizeof(string),"HQ: Chamando todas as unidades, denunciante: %s", sendername);
  3002. SendClientMessage(i,0x33AA33AA,string);
  3003. format(string,sizeof(string),"HQ: Crime: %s | Suspeito: %s (ID: %d) | Localização: Não disponivel. ", giveplayer, result,giveplayerid);
  3004. SendClientMessage(i,0x33AA33AA,string);
  3005. }
  3006. }
  3007. }
  3008. }
  3009. else
  3010. {
  3011. format(string, sizeof(string), "ID Invalido.", giveplayerid);
  3012. SendClientMessage(playerid,COR_ERRO, string);
  3013. }
  3014. }
  3015. return 1;
  3016. }
  3017. if(strcmp(cmd, "/limparficha", true) == 0)
  3018. {
  3019. if(IsPlayerConnected(playerid))
  3020. {
  3021. if(PlayerInfo[playerid][pBOPE] >= 1)
  3022. {
  3023. tmp = strtok(cmdtext, idx);
  3024. if(!strlen(tmp))
  3025. {
  3026. ShowPlayerDialog(playerid, LimparFicha, DIALOG_STYLE_INPUT, "Limpar Ficha", "ERRO: Você não pode deixar em branco! \nDigite o ID/Nome do jogador:", "Ok", "Cancelar");
  3027. return 1;
  3028. }
  3029. giveplayerid = strval(tmp);
  3030. if(IsPlayerConnected(giveplayerid))
  3031. {
  3032. if(giveplayerid != INVALID_PLAYER_ID)
  3033. {
  3034. GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
  3035. GetPlayerName(playerid, sendername, sizeof(sendername));
  3036. Procurado[giveplayerid] = 0;
  3037. SetPlayerWantedLevel(giveplayerid, 0);
  3038. SalvarContas(playerid);
  3039. format(string, sizeof(string), "Sua ficha foi limpa pelo Polícial %s.", sendername);
  3040. SendClientMessage(giveplayerid, COR_PRINCIPAL,string);
  3041. format(string,sizeof(string),"{2641FE}Polícial{FFFFFF} %s{FFFFFF}{2641FE} limpou a ficha criminal de {FFFFFF}'%s'", sendername,giveplayer,tmp);
  3042. for(new i=0;i<MAX_PLAYERS;i++)
  3043. {
  3044. if(PlayerInfo[i][pBOPE] >= 1)
  3045. {
  3046. SendClientMessage(i,0xFF7777AA,string);
  3047. }
  3048. }
  3049.  
  3050. }
  3051. }
  3052. else
  3053. {
  3054. SendClientMessage(playerid, COR_ERRO, "Erro: Este player não está logado!");
  3055. return 1;
  3056. }
  3057. }
  3058. else
  3059. {
  3060. SendClientMessage(playerid, COR_ERRO, "Erro: Você não tem permissão.");
  3061. }
  3062. }
  3063. return 1;
  3064. }
  3065. if(strcmp(cmd, "/algemar", true) == 0)
  3066. {
  3067. if(EmTrabalho[playerid] == 0)
  3068. {
  3069. SendClientMessage(playerid, COR_ERRO, "ERRO: Você não está trabalhando pra poder usar este comando!");
  3070. return 1;
  3071. }
  3072. GetPlayerName(playerid, sendername, sizeof(sendername));
  3073. tmp = strtok(cmdtext, idx);
  3074. if(!strlen(tmp))
  3075. {
  3076. SendClientMessage(playerid, COR_USOCORRETO, "[USO CORRETO]: /algemar [id do player]");
  3077. return 1;
  3078. }
  3079. giveplayerid = strval(tmp);
  3080. GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
  3081. GetPlayerName(playerid, sendername, sizeof(sendername));
  3082. if(Logado[playerid] == 1)
  3083. {
  3084. if(PlayerInfo[playerid][pBOPE] >= 2)
  3085. {
  3086. if(IsPlayerConnected(giveplayerid))
  3087. {
  3088. new car = GetPlayerVehicleID(playerid);
  3089. if(giveplayerid == playerid) { SendClientMessage(playerid, COR_ERRO, "Você não pode se algemar!"); return 1; }
  3090. if(IsPlayerInAnyVehicle(playerid) && GetPlayerState(playerid) == 2 && IsPlayerInVehicle(giveplayerid, car))
  3091. {
  3092. TogglePlayerControllable(giveplayerid, 0);
  3093. GameTextForPlayer(giveplayerid, "~r~Algemado", 2500, 3);
  3094. for(new i=0; i <= MAX_PLAYERS; i++)
  3095. if(GetDistanceBetweenPlayers(playerid, i) <= 20)
  3096. {
  3097. new pName[ 30 ];
  3098. GetPlayerName(playerid, pName, 30);
  3099. format(string, 256, "%s algemou %s.", pName, giveplayer);
  3100. SendClientMessage(i,COR_ROXO,string);
  3101. }
  3102. new PlayerName[30];
  3103. GetPlayerName(playerid, PlayerName, 30);
  3104. printf("[AdmCMD] %s usou /algemar em %s.", PlayerName, giveplayer);
  3105. }
  3106. else
  3107. {
  3108. SendClientMessage(playerid, COR_ERRO, "ERRO: O suspeito não está sem seu carro ou você não é o motorista!");
  3109. return 1;
  3110. }
  3111. }
  3112. else
  3113. {
  3114. format(string, sizeof(string), "%d não é um player ativo.", giveplayerid);
  3115. SendClientMessage(playerid, COR_ERRO, string);
  3116. }
  3117. }
  3118. else
  3119. {
  3120. SendClientMessage(playerid, COR_ERRO, "ERRO: Você não tem permissão para usar este comando!");
  3121. }
  3122. }
  3123. else
  3124. {
  3125. SendClientMessage(playerid, COR_ERRO, "ERRO: Você tem que estar logado para usar este comando!");
  3126. }
  3127. return 1;
  3128. }
  3129. if(strcmp(cmd, "/desalgemar", true) == 0)
  3130. {
  3131. if(EmTrabalho[playerid] == 0)
  3132. {
  3133. SendClientMessage(playerid, COR_ERRO, "ERRO: Você não está trabalhando pra poder usar este comando!");
  3134. return 1;
  3135. }
  3136. GetPlayerName(playerid, sendername, sizeof(sendername));
  3137. tmp = strtok(cmdtext, idx);
  3138. if(!strlen(tmp))
  3139. {
  3140. SendClientMessage(playerid, COR_USOCORRETO, "[USO CORRETO]: /desalgemar [id do player]");
  3141. return 1;
  3142. }
  3143. giveplayerid = strval(tmp);
  3144. GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
  3145. GetPlayerName(playerid, sendername, sizeof(sendername));
  3146. if(Logado[playerid] == 1)
  3147. {
  3148. if(PlayerInfo[playerid][pBOPE] >= 2)
  3149. {
  3150. if(IsPlayerConnected(giveplayerid))
  3151. {
  3152. if(giveplayerid == playerid) { SendClientMessage(playerid, COR_ERRO, "Você não pode se desalgemar!"); return 1; }
  3153. if(TogglePlayerControllable(giveplayerid, 0))
  3154. {
  3155. TogglePlayerControllable(giveplayerid, 1);
  3156. GameTextForPlayer(giveplayerid, "~g~Desalgemado", 2500, 3);
  3157. for(new i=0; i <= MAX_PLAYERS; i++)
  3158. if(GetDistanceBetweenPlayers(playerid, i) <= 20)
  3159. {
  3160. new pName[ 30 ];
  3161. GetPlayerName(playerid, pName, 30);
  3162. format(string, 256, "%s desalgemou %s.", pName, giveplayer);
  3163. SendClientMessage(i,COR_ROXO,string);
  3164. }
  3165. new PlayerName[30];
  3166. GetPlayerName(playerid, PlayerName, 30);
  3167. printf("[AdmCMD] %s usou /desalgemar em %s.", PlayerName, giveplayer);
  3168. }
  3169. else
  3170. {
  3171. SendClientMessage(playerid, COR_ERRO, "ERRO: O suspeito não está amarrado!");
  3172. return 1;
  3173. }
  3174. }
  3175. else
  3176. {
  3177. format(string, sizeof(string), "%d não é um player ativo.", giveplayerid);
  3178. SendClientMessage(playerid, COR_ERRO, string);
  3179. }
  3180. }
  3181. else
  3182. {
  3183. SendClientMessage(playerid, COR_ERRO, "ERRO: Você não tem permissão para usar este comando!");
  3184. }
  3185. }
  3186. else
  3187. {
  3188. SendClientMessage(playerid, COR_ERRO, "ERRO: Você tem que estar logado para usar este comando!");
  3189. }
  3190.  
  3191. return 1;
  3192. }
  3193. if(strcmp(cmd, "/g", true) == 0)
  3194. {
  3195. GetPlayerName(playerid, sendername, sizeof(sendername));
  3196. new length = strlen(cmdtext);
  3197. while ((idx < length) && (cmdtext[idx] <= ' '))
  3198. {
  3199. idx++;
  3200. }
  3201. new offset = idx;
  3202. new result[64];
  3203. while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
  3204. {
  3205. result[idx - offset] = cmdtext[idx];
  3206. idx++;
  3207. }
  3208. result[idx - offset] = EOS;
  3209. if(!strlen(result))
  3210. {
  3211. SendClientMessage(playerid, COR_USOCORRETO, "USO: /g [texto]");
  3212. return 1;
  3213. }
  3214. if(Logado[playerid] == 1)
  3215. {
  3216. if(PlayerInfo[playerid][pBOPE] >= 1)
  3217. {
  3218. if(PlayerInfo[playerid][pBOPE] >= 1)
  3219. {
  3220. new cargotext[64];
  3221. if(PlayerInfo[playerid][pBOPE] == 5) { cargotext = "Líder"; }
  3222. if(PlayerInfo[playerid][pBOPE] == 4) { cargotext = "Sub-Líder"; }
  3223. if(PlayerInfo[playerid][pBOPE] == 3) { cargotext = "Sargento"; }
  3224. if(PlayerInfo[playerid][pBOPE] == 2) { cargotext = "Ofícial"; }
  3225. if(PlayerInfo[playerid][pBOPE] == 1) { cargotext = "Recruta"; }
  3226. format(string, sizeof(string), "[PM 2ºBATALHÃO RADIO] %s %s: %s **", cargotext, sendername, result);
  3227. }
  3228.  
  3229. for(new i = 0; i < MAX_PLAYERS; i ++)
  3230. {
  3231. if(IsPlayerConnected(i))
  3232. {
  3233. if(PlayerInfo[i][pBOPE] >= 1)
  3234. {
  3235. SendClientMessage(i,0xAFAFAFAA, string);
  3236. }
  3237. }
  3238. }
  3239. printf(string);
  3240. return 1;
  3241. }
  3242. else
  3243. {
  3244. SendClientMessage(playerid, COR_ERRO, "ERRO: Você não está autorizado de usar esse comando.");
  3245. return 1;
  3246. }
  3247. }
  3248. else
  3249. {
  3250. SendClientMessage(playerid, COR_ERRO, "ERRO: Você tem que estar logado para usar este comando!");
  3251. }
  3252. }
  3253.  
  3254. if(!strcmp(cmdtext, "/rtcones", true))
  3255. {
  3256. if(PlayerInfo[playerid][pBOPE] >= 4)
  3257. {
  3258. for(new i = 0; i < MAX_PLAYERS; i++)
  3259. {
  3260. DestroyObject(Cone[i]);
  3261. Cone[i] = 0;
  3262. GetPlayerName(playerid, sendername, 30);
  3263. format(string,sizeof(string),"HQ: Todas os cones foram retiradas por %s.", sendername);
  3264. if(IsPlayerConnected(i))
  3265. {
  3266. if(PlayerInfo[i][pBOPE] >= 1)
  3267. {
  3268. SendClientMessage(i,0x0000FFAA,string);
  3269. }
  3270. }
  3271.  
  3272. }
  3273. }
  3274. else
  3275. {
  3276. SendClientMessage(playerid, COR_ERRO, "ERRO: Você precisa ser Sub-Lider ou Líder pra poder usar esse comando!");
  3277. return 1;
  3278. }
  3279. return 1;
  3280. }
  3281.  
  3282. if(strcmp(cmd, "/gov", true) == 0)
  3283. {
  3284. GetPlayerName(playerid, sendername, sizeof(sendername));
  3285. new length = strlen(cmdtext);
  3286. GetPlayerName(playerid, sendername, sizeof(sendername));
  3287. while ((idx < length) && (cmdtext[idx] <= ' '))
  3288. {
  3289. idx++;
  3290. }
  3291. new offset = idx;
  3292. new result[64];
  3293. new orgtext[69];
  3294. if(PlayerInfo[playerid][pBOPE] == 4) { orgtext = "LV"; }
  3295. if(PlayerInfo[playerid][pBOPE] == 5) { orgtext = "LV"; }
  3296. while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
  3297. {
  3298. result[idx - offset] = cmdtext[idx];
  3299. idx++;
  3300. }
  3301. result[idx - offset] = EOS;
  3302. if(!strlen(result))
  3303. {
  3304. SendClientMessage(playerid, COR_USOCORRETO, "[USO CORRETO]: /gov [texto]");
  3305. return 1;
  3306. }
  3307. if(Logado[playerid] == 1)
  3308. {
  3309. if(PlayerInfo[playerid][pBOPE] >= 4)
  3310. {
  3311. format(string, sizeof(string), "Ofícial da Polícia Militar de %s %s: %s", orgtext, sendername, result);
  3312. SendClientMessageToAll(COR_AZUL,string);
  3313. new PlayerName[30];
  3314. GetPlayerName(playerid, PlayerName, 30);
  3315. printf("[AdmCMD] %s usou /gov para mandar a menssagem: %s", PlayerName, result);
  3316. return 1;
  3317. }
  3318.  
  3319. }
  3320. else
  3321. {
  3322. SendClientMessage(playerid, COR_ERRO, "Você tem que estar logado para usar este comando!");
  3323. }
  3324. return 1;
  3325. }
  3326. return SendClientMessage(playerid, VERMELHO, "ERRO: Comando inexistente.");
  3327. }
  3328. // -------------------- Cabou os comandos -------------------- //
  3329.  
  3330. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  3331. {
  3332. if(dialogid == REGISTRO)
  3333. {
  3334. if(response)
  3335. {
  3336. if(!strlen(inputtext))
  3337. {
  3338. new Nome[MAX_PLAYER_NAME];
  3339. GetPlayerName(playerid, Nome, sizeof(Nome));
  3340. new String[128];
  3341. format(String, sizeof(String), "{FFFFFF}Parece que é sua primeira vez aqui.\n\nNick: %s\nStatus: {FF0000}Não registrada\n\n{FFFFFF}Digite uma senha abaixo para se registrar.", Nome);
  3342. ShowPlayerDialog(playerid, REGISTRO, DIALOG_STYLE_PASSWORD, "Registro", String, "Registrar", "Cancelar");
  3343. SendClientMessage(playerid,VERMELHO,"ERRO: Senha invalida, digite uma senha válida");
  3344. return 1;
  3345. }
  3346. new Nome[MAX_PLAYER_NAME];
  3347. GetPlayerName(playerid, Nome, sizeof(Nome));
  3348. new String[128];
  3349. format(String, sizeof(String), CONTAS, Nome);
  3350. DOF2_CreateFile(String);
  3351. DOF2_SetString(String,"Senha",inputtext);
  3352. DOF2_SetInt(String,"Dinheiro",1500);
  3353. DOF2_SetInt(String,"Matou",0);
  3354. DOF2_SetInt(String,"Morreu",0);
  3355. DOF2_SetInt(String,"Logou",0);
  3356. DOF2_SetInt(String,"Sinalizador",0);
  3357. GivePlayerMoney(playerid, 1000);
  3358. PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
  3359. format(String, sizeof(String), "[INFO] Sua conta foi registrada com a senha '%s'", inputtext);
  3360. SendClientMessage(playerid, 0x51FF3EAA, String);
  3361. DOF2_SaveFile();
  3362. ShowPlayerDialog(playerid, LOGIN, DIALOG_STYLE_PASSWORD, "Login", "Parabens! Conta criada com sucesso.\n\n Pra logar digite sua senha.", "Logar", "Cancelar");
  3363. return 1;
  3364. }
  3365. else
  3366. {
  3367. SendClientMessage(playerid, VERMELHO, "ERRO: Você não quis se registrar, por este motivo foi kickado.");
  3368. Kick(playerid);
  3369. return 1;
  3370. }
  3371. }
  3372. if(dialogid == LOGIN)
  3373. {
  3374. if(response)
  3375. {
  3376. if(!strlen(inputtext))
  3377. {
  3378. new Nome[MAX_PLAYER_NAME];
  3379. GetPlayerName(playerid, Nome, sizeof(Nome));
  3380. new String[256];
  3381. format(String, sizeof(String), "{FFFFFF}Parece que não é sua primeira vez aqui.\n\nNick: %s\nStatus: {52CF19}Registrado\n\n{FFFFFF}Digite uma senha abaixo para logar.", Nome);
  3382. ShowPlayerDialog(playerid, LOGIN, DIALOG_STYLE_PASSWORD, "Login", String, "Logar", "Cancelar");
  3383. SendClientMessage(playerid,VERMELHO,"ERRO: Senha incorreta.");
  3384. return 1;
  3385. }
  3386. new Nome[MAX_PLAYER_NAME];
  3387. GetPlayerName(playerid, Nome, sizeof(Nome));
  3388. new String[128];
  3389. format(String, sizeof(String), CONTAS, Nome);
  3390. if(!strcmp(inputtext,(DOF2_GetString(String,"Senha")),false))
  3391. {
  3392. ShowPlayerDialog(playerid, Locais, DIALOG_STYLE_LIST, "Selecione o Local do Teste:","Teste", "Selecionar", "");
  3393. SetarContas(playerid);
  3394. Logado[playerid] = 1;
  3395. Logou[playerid] ++;
  3396. SalvarContas(playerid);
  3397. if(PlayerInfo[playerid][pAdmin] == 0)
  3398. {
  3399. new PlayerName[24];
  3400. GetPlayerName(playerid, PlayerName, 30);
  3401. format(String, sizeof(String), "SERVER: Bem Vindo Novamente %s.", PlayerName);
  3402. SendClientMessage(playerid,AZULCLARO, String);
  3403. }
  3404. if(PlayerInfo[playerid][pAdmin] == 1)
  3405. {
  3406. new PlayerName[24];
  3407. GetPlayerName(playerid, PlayerName, 30);
  3408. format(String, sizeof(String), "SERVER: Bem Vindo Novamente %s.", PlayerName);
  3409. SendClientMessage(playerid,AZULCLARO, String);
  3410. format(String, sizeof(String), "SERVER: Você é um Administrador level 1.", PlayerName);
  3411. SendClientMessage(playerid,AZULCLARO, String);
  3412. }
  3413. if(PlayerInfo[playerid][pAdmin] == 2)
  3414. {
  3415. new PlayerName[24];
  3416. GetPlayerName(playerid, PlayerName, 30);
  3417. format(String, sizeof(String), "SERVER: Bem Vindo Novamente %s.", PlayerName);
  3418. SendClientMessage(playerid,AZULCLARO, String);
  3419. format(String, sizeof(String), "SERVER: Você é um Administrador level 2.", PlayerName);
  3420. SendClientMessage(playerid,AZULCLARO, String);
  3421. }
  3422. if(PlayerInfo[playerid][pAdmin] == 3)
  3423. {
  3424. new PlayerName[24];
  3425. GetPlayerName(playerid, PlayerName, 30);
  3426. format(String, sizeof(String), "SERVER: Bem Vindo Novamente %s.", PlayerName);
  3427. SendClientMessage(playerid,AZULCLARO, String);
  3428. format(String, sizeof(String), "SERVER: Você é um Administrador level 3.", PlayerName);
  3429. SendClientMessage(playerid,AZULCLARO, String);
  3430. }
  3431. if(PlayerInfo[playerid][pAdmin] == 4)
  3432. {
  3433. new PlayerName[24];
  3434. GetPlayerName(playerid, PlayerName, 30);
  3435. format(String, sizeof(String), "SERVER: Bem Vindo Novamente %s.", PlayerName);
  3436. SendClientMessage(playerid,AZULCLARO, String);
  3437. format(String, sizeof(String), "SERVER: Você é um Sub - Game Master.", PlayerName);
  3438. SendClientMessage(playerid,AZULCLARO, String);
  3439. }
  3440. if(PlayerInfo[playerid][pAdmin] == 5)
  3441. {
  3442. new PlayerName[24];
  3443. GetPlayerName(playerid, PlayerName, 30);
  3444. format(String, sizeof(String), "SERVER: Bem Vindo Novamente %s.", PlayerName);
  3445. SendClientMessage(playerid,AZULCLARO, String);
  3446. format(String, sizeof(String), "SERVER: Você é um Game Master.", PlayerName);
  3447. SendClientMessage(playerid,AZULCLARO, String);
  3448. }
  3449. if(PlayerInfo[playerid][pBOPE] == 5)
  3450. {
  3451. new PlayerName[24];
  3452. GetPlayerName(playerid, PlayerName, 30);
  3453. format(String, sizeof(String), "SERVER: Você é um Coronel da PM-LV.", PlayerName);
  3454. SendClientMessage(playerid,AZULCLARO, String);
  3455. }
  3456. return 1;
  3457. }
  3458. else
  3459. {
  3460. SendClientMessage(playerid,VERMELHO,"ERRO: Senha incorreta.");
  3461. format(String, sizeof(String), "{FFFFFF}Parece que não é sua primeira vez aqui.\n\nNick: %s\nStatus: {52CF19}Registrado\n\n{FFFFFF}Digite uma senha abaixo para logar.", Nome);
  3462. ShowPlayerDialog(playerid, LOGIN, DIALOG_STYLE_PASSWORD, "Login", String, "Logar", "Cancelar");
  3463.  
  3464. }
  3465. return 1;
  3466. }
  3467. else
  3468. {
  3469. SendClientMessage(playerid, VERMELHO, "ERRO: Você não quis se logar, por este motivo foi Kickado.");
  3470. Kick(playerid);
  3471. }
  3472. return 1;
  3473. }
  3474.  
  3475. if(dialogid == Locais)
  3476. {
  3477. if(!response)return ShowPlayerDialog(playerid, Locais, DIALOG_STYLE_LIST, "Selecione o Local do Teste:","Teste", "Selecionar", "");
  3478. if(listitem == 0)
  3479. {
  3480. ShowPlayerDialog(playerid, Locais, DIALOG_STYLE_LIST, "Local do Teste:", "Local", "Selecionar", "Voltar");
  3481. }
  3482.  
  3483. if(dialogid == DeletarConta)
  3484. {
  3485. if(response == 1)
  3486. {
  3487. new sendername[MAX_PLAYER_NAME];
  3488. new String[100];
  3489. format(String, sizeof(String), CONTAS, inputtext);
  3490. GetPlayerName(playerid, sendername, sizeof(sendername));
  3491. if(!fexist(String)) return SendClientMessage(playerid,COR_ERRO,"ERRO: Conta inexistente.");
  3492. new string[256];
  3493. format(string,sizeof(string),"-OpenServer- O Game Master %s deletou a conta de '%s'.",sendername,inputtext);
  3494. for(new i=0;i<MAX_PLAYERS;i++)
  3495. if(PlayerInfo[i][pAdmin] >= 5)
  3496. SendClientMessage(i,SET_ADM,string);
  3497. fremove(String);
  3498. return 1;
  3499. }
  3500. return 1;
  3501. }
  3502. if(dialogid == DPLV)
  3503. {
  3504. if(response)
  3505. {
  3506. if(listitem == 0) // Equipar PMLV
  3507. {
  3508. if(PlayerInfo[playerid][pBOPE] == 1)
  3509. {
  3510. GivePlayerWeapon(playerid,3,1);
  3511. GivePlayerWeapon(playerid,41,999999);
  3512. GivePlayerWeapon(playerid,25,999999);
  3513. SetPlayerArmour(playerid, 9999999);
  3514. new string[256];
  3515. for(new i=0; i <= MAX_PLAYERS; i++)
  3516. if(GetDistanceBetweenPlayers(playerid, i) <= 20)
  3517. {
  3518. new pName[ 30 ];
  3519. GetPlayerName(playerid, pName, 30);
  3520. format(string, 256, "** %s se equipou.", pName);
  3521. SendClientMessage(i,ROXO,string);
  3522. return 1;
  3523. }
  3524. }
  3525. if(PlayerInfo[playerid][pBOPE] == 2)
  3526. {
  3527. GivePlayerWeapon(playerid,3,1);
  3528. GivePlayerWeapon(playerid,41,9999999);
  3529. GivePlayerWeapon(playerid,25,999999);
  3530. SetPlayerArmour(playerid,100);
  3531. new string[256];
  3532. for(new i=0; i <= MAX_PLAYERS; i++)
  3533. if(GetDistanceBetweenPlayers(playerid, i) <= 20)
  3534. {
  3535. new pName[ 30 ];
  3536. GetPlayerName(playerid, pName, 30);
  3537. format(string, 256, "** %s se equipou.", pName);
  3538. SendClientMessage(i,ROXO,string);
  3539. return 1;
  3540. }
  3541. }
  3542. if(PlayerInfo[playerid][pBOPE] == 3)
  3543. {
  3544. GivePlayerWeapon(playerid,3,999999999);
  3545. GivePlayerWeapon(playerid,41,99999999);
  3546. GivePlayerWeapon(playerid,29,999999);
  3547. GivePlayerWeapon(playerid,24,999999);
  3548. GivePlayerWeapon(playerid,25,999999);
  3549. SetPlayerArmour(playerid, 100);
  3550. new string[256];
  3551. for(new i=0; i <= MAX_PLAYERS; i++)
  3552. if(GetDistanceBetweenPlayers(playerid, i) <= 20)
  3553. {
  3554. new pName[ 30 ];
  3555. GetPlayerName(playerid, pName, 30);
  3556. format(string, 256, "** %s se equipou.", pName);
  3557. SendClientMessage(i,ROXO,string);
  3558. return 1;
  3559. }
  3560. }
  3561. if(PlayerInfo[playerid][pBOPE] == 4)
  3562. {
  3563. GivePlayerWeapon(playerid,3,1);
  3564. GivePlayerWeapon(playerid,41,999999);
  3565. GivePlayerWeapon(playerid,29,999999);
  3566. GivePlayerWeapon(playerid,24,999999);
  3567. GivePlayerWeapon(playerid,25,999999);
  3568. SetPlayerArmour(playerid, 100);
  3569. new string[256];
  3570. for(new i=0; i <= MAX_PLAYERS; i++)
  3571. if(GetDistanceBetweenPlayers(playerid, i) <= 20)
  3572. {
  3573. new pName[ 30 ];
  3574. GetPlayerName(playerid, pName, 30);
  3575. format(string, 256, "** %s se equipou.", pName);
  3576. SendClientMessage(i,ROXO,string);
  3577. return 1;
  3578. }
  3579. }
  3580. if(PlayerInfo[playerid][pBOPE] == 5)
  3581. {
  3582. GivePlayerWeapon(playerid,3,1);
  3583. GivePlayerWeapon(playerid,41,99999);
  3584. GivePlayerWeapon(playerid,29,99999);
  3585. GivePlayerWeapon(playerid,34,99999);
  3586. GivePlayerWeapon(playerid,24,99999);
  3587. GivePlayerWeapon(playerid,31,99999);
  3588. GivePlayerWeapon(playerid,25,999999);
  3589. SetPlayerArmour(playerid, 100);
  3590. new string[256];
  3591. for(new i=0; i <= MAX_PLAYERS; i++)
  3592. if(GetDistanceBetweenPlayers(playerid, i) <= 20)
  3593. {
  3594. new pName[ 30 ];
  3595. GetPlayerName(playerid, pName, 30);
  3596. format(string, 256, "** %s se equipou.", pName);
  3597. SendClientMessage(i,ROXO,string);
  3598. return 1;
  3599. }
  3600. }
  3601. }
  3602. if(listitem == 1)
  3603. {
  3604. ShowPlayerDialog(playerid, LimparFicha, DIALOG_STYLE_INPUT, "Limpar Ficha", "Digite o ID/Nome do jogador:", "Ok", "Cancelar");
  3605. }
  3606. }
  3607. return 1;
  3608. }
  3609.  
  3610. if(dialogid == Armas)
  3611. {
  3612. if(response)
  3613. {
  3614. if(listitem == 0)
  3615. {
  3616. GivePlayerWeapon(playerid, 1,99999);
  3617. }
  3618. if(listitem == 1)
  3619. {
  3620. GivePlayerWeapon(playerid,2,99999);
  3621. }
  3622. if(listitem == 2)
  3623. {
  3624. GivePlayerWeapon(playerid,3,99999);
  3625. }
  3626. if(listitem == 3)
  3627. {
  3628. GivePlayerWeapon(playerid,4,99999);
  3629. }
  3630. if(listitem == 4)
  3631. {
  3632. GivePlayerWeapon(playerid,5,99999);
  3633. }
  3634. if(listitem == 5)
  3635. {
  3636. GivePlayerWeapon(playerid,6,99999);
  3637. }
  3638. if(listitem == 6)
  3639. {
  3640. GivePlayerWeapon(playerid,7,99999);
  3641. }
  3642. if(listitem == 7)
  3643. {
  3644. GivePlayerWeapon(playerid,8,99999);
  3645. }
  3646. if(listitem == 8)
  3647. {
  3648. GivePlayerWeapon(playerid,9,99999);
  3649. }
  3650. if(listitem == 9)
  3651. {
  3652. GivePlayerWeapon(playerid,10,99999);
  3653. }
  3654. if(listitem == 10)
  3655. {
  3656. GivePlayerWeapon(playerid,11,99999);
  3657. }
  3658. if(listitem == 11)
  3659. {
  3660. GivePlayerWeapon(playerid,12,99999);
  3661. }
  3662. if(listitem == 12)
  3663. {
  3664. GivePlayerWeapon(playerid,14,99999);
  3665. }
  3666. if(listitem == 13)
  3667. {
  3668. GivePlayerWeapon(playerid,17,99999);
  3669. }
  3670. if(listitem == 14)
  3671. {
  3672. GivePlayerWeapon(playerid,22,99999);
  3673. }
  3674. if(listitem == 15)
  3675. {
  3676. GivePlayerWeapon(playerid,24,99999);
  3677. }
  3678. if(listitem == 16)
  3679. {
  3680. GivePlayerWeapon(playerid,25,99999);
  3681. }
  3682. if(listitem == 17)
  3683. {
  3684. GivePlayerWeapon(playerid,27,99999); //30
  3685. }
  3686. if(listitem == 18)
  3687. {
  3688. GivePlayerWeapon(playerid,30,99999); //30
  3689. }
  3690. if(listitem == 19)
  3691. {
  3692. GivePlayerWeapon(playerid,29,99999); //34
  3693. }
  3694. if(listitem == 20)
  3695. {
  3696. GivePlayerWeapon(playerid,31,99999); //31
  3697. }
  3698. if(listitem == 21)
  3699. {
  3700. GivePlayerWeapon(playerid,34,99999); //34
  3701. }
  3702. if(listitem == 22)
  3703. {
  3704. GivePlayerWeapon(playerid,41,99999); //41
  3705. }
  3706. if(listitem == 23)
  3707. {
  3708. GivePlayerWeapon(playerid,42,99999); //42
  3709. }
  3710. if(listitem == 24)
  3711. {
  3712. GivePlayerWeapon(playerid,43,99999);//46
  3713. }
  3714. if(listitem == 25)
  3715. {
  3716. GivePlayerWeapon(playerid,46,99999);//46
  3717. }
  3718. }
  3719. return 1;
  3720. }
  3721. if(dialogid == Veh)
  3722. {
  3723. if(response)
  3724. {
  3725. new Float:X,Float:Y,Float:Z,Float:Angle;
  3726. if(listitem == 0) // Sultan
  3727. {
  3728. GetPlayerPos(playerid, X, Y, Z);
  3729. GetPlayerFacingAngle(playerid, Angle);
  3730. CreateVehicle(560, X+5, Y, Z+1, Angle, random(100), random(100), -1);
  3731. SendClientMessage(playerid, COR_PRINCIPAL, "Você criou um veículo, lembre-se de deleta-lo (/dc)!");
  3732. SendClientMessage(playerid, COR_PRINCIPAL, "Mantenha o servidor limpo!");
  3733. }
  3734. if(listitem == 1) // Infernus
  3735. {
  3736. GetPlayerPos(playerid, X, Y, Z);
  3737. GetPlayerFacingAngle(playerid, Angle);
  3738. CreateVehicle(411, X+5, Y, Z+1, Angle, random(100), random(100), -1);
  3739. SendClientMessage(playerid, COR_PRINCIPAL, "Você criou um veículo, lembre-se de deleta-lo (/dc)!");
  3740. SendClientMessage(playerid, COR_PRINCIPAL, "Mantenha o servidor limpo!");
  3741. }
  3742. if(listitem == 2) // Ônibus 1
  3743. {
  3744. GetPlayerPos(playerid, X, Y, Z);
  3745. GetPlayerFacingAngle(playerid, Angle);
  3746. CreateVehicle(437, X+5, Y, Z+1, Angle, random(100), random(100), -1);
  3747. SendClientMessage(playerid, COR_PRINCIPAL, "Você criou um veículo, lembre-se de deleta-lo (/dc)!");
  3748. SendClientMessage(playerid, COR_PRINCIPAL, "Mantenha o servidor limpo!");
  3749. }
  3750. if(listitem == 3) // BMX
  3751. {
  3752. GetPlayerPos(playerid, X, Y, Z);
  3753. GetPlayerFacingAngle(playerid, Angle);
  3754. CreateVehicle(481, X+5, Y, Z+1, Angle, random(100), random(100), -1);
  3755. SendClientMessage(playerid, COR_PRINCIPAL, "Você criou um veículo, lembre-se de deleta-lo (/dc)!");
  3756. SendClientMessage(playerid, COR_PRINCIPAL, "Mantenha o servidor limpo!");
  3757. }
  3758. if(listitem == 4) // MOUNTAIN BIKE
  3759. {
  3760. GetPlayerPos(playerid, X, Y, Z);
  3761. GetPlayerFacingAngle(playerid, Angle);
  3762. CreateVehicle(510, X+5, Y, Z+1, Angle, random(100), random(100), -1);
  3763. SendClientMessage(playerid, COR_PRINCIPAL, "Você criou um veículo, lembre-se de deleta-lo (/dc)!");
  3764. SendClientMessage(playerid, COR_PRINCIPAL, "Mantenha o servidor limpo!");
  3765. }
  3766. if(listitem == 5) // ÔNIBUS 2
  3767. {
  3768. GetPlayerPos(playerid, X, Y, Z);
  3769. GetPlayerFacingAngle(playerid, Angle);
  3770. CreateVehicle(431, X+5, Y, Z+1, Angle, random(100), random(100), -1);
  3771. SendClientMessage(playerid, COR_PRINCIPAL, "Você criou um veículo, lembre-se de deleta-lo (/dc)!");
  3772. SendClientMessage(playerid, COR_PRINCIPAL, "Mantenha o servidor limpo!");
  3773. }
  3774. if(listitem == 6) // FAGGIO
  3775. {
  3776. GetPlayerPos(playerid, X, Y, Z);
  3777. GetPlayerFacingAngle(playerid, Angle);
  3778. CreateVehicle(462, X+5, Y, Z+1, Angle, random(100), random(100), -1);
  3779. SendClientMessage(playerid, COR_PRINCIPAL, "Você criou um veículo, lembre-se de deleta-lo (/dc)!");
  3780. SendClientMessage(playerid, COR_PRINCIPAL, "Mantenha o servidor limpo!");
  3781. }
  3782. if(listitem == 7) //S ANCHEZ
  3783. {
  3784. GetPlayerPos(playerid, X, Y, Z);
  3785. GetPlayerFacingAngle(playerid, Angle);
  3786. CreateVehicle(468, X+5, Y, Z+1, Angle, random(100), random(100), -1);
  3787. SendClientMessage(playerid, COR_PRINCIPAL, "Você criou um veículo, lembre-se de deleta-lo (/dc)!");
  3788. SendClientMessage(playerid, COR_PRINCIPAL, "Mantenha o servidor limpo!");
  3789. }
  3790. if(listitem == 8) // QUAD
  3791. {
  3792. GetPlayerPos(playerid, X, Y, Z);
  3793. GetPlayerFacingAngle(playerid, Angle);
  3794. CreateVehicle(471, X+5, Y, Z+1, Angle, random(100), random(100), -1);
  3795. SendClientMessage(playerid, COR_PRINCIPAL, "Você criou um veículo, lembre-se de deleta-lo (/dc)!");
  3796. SendClientMessage(playerid, COR_PRINCIPAL, "Mantenha o servidor limpo!");
  3797. }
  3798. if(listitem == 9) // PACKER
  3799. {
  3800. GetPlayerPos(playerid, X, Y, Z);
  3801. GetPlayerFacingAngle(playerid, Angle);
  3802. CreateVehicle(443, X+5, Y, Z+1, Angle, random(100), random(100), -1);
  3803. SendClientMessage(playerid, COR_PRINCIPAL, "Você criou um veículo, lembre-se de deleta-lo (/dc)!");
  3804. SendClientMessage(playerid, COR_PRINCIPAL, "Mantenha o servidor limpo!");
  3805. }
  3806. if(listitem == 10) // CAMPER
  3807. {
  3808. GetPlayerPos(playerid, X, Y, Z);
  3809. GetPlayerFacingAngle(playerid, Angle);
  3810. CreateVehicle(483, X+5, Y, Z+1, Angle, random(100), random(100), -1);
  3811. SendClientMessage(playerid, COR_PRINCIPAL, "Você criou um veículo, lembre-se de deleta-lo (/dc)!");
  3812. SendClientMessage(playerid, COR_PRINCIPAL, "Mantenha o servidor limpo!");
  3813. }
  3814. if(listitem == 11) // VORTEX .-.
  3815. {
  3816. GetPlayerPos(playerid, X, Y, Z);
  3817. GetPlayerFacingAngle(playerid, Angle);
  3818. CreateVehicle(539, X+5, Y, Z+1, Angle, random(100), random(100), -1);
  3819. SendClientMessage(playerid, COR_PRINCIPAL, "Você criou um veículo, lembre-se de deleta-lo (/dc)!");
  3820. SendClientMessage(playerid, COR_PRINCIPAL, "Mantenha o servidor limpo!");
  3821. }
  3822. if(listitem == 12) // NRG-500
  3823. {
  3824. GetPlayerPos(playerid, X, Y, Z);
  3825. GetPlayerFacingAngle(playerid, Angle);
  3826. CreateVehicle(522, X+5, Y, Z+1, Angle, random(100), random(100), -1);
  3827. SendClientMessage(playerid, COR_PRINCIPAL, "Você criou um veículo, lembre-se de deleta-lo (/dc)!");
  3828. SendClientMessage(playerid, COR_PRINCIPAL, "Mantenha o servidor limpo!");
  3829. }
  3830. }
  3831. return 1;
  3832. }
  3833. if(dialogid == DIALOG_EN)
  3834. {
  3835. if(!response)
  3836. return SendClientMessage(playerid, 0x33AAFFFF, "Voce cancelou a criada da Enquete");
  3837. new orgtext[69];
  3838. if(PlayerInfo[playerid][pAdmin] == 5) { orgtext = "Game Master"; }
  3839. if(IsPlayerAdmin(playerid)) { orgtext = "Game Master"; }
  3840. if(PlayerInfo[playerid][pAdmin] == 4) { orgtext = "Sub Game Master"; }
  3841. if(PlayerInfo[playerid][pAdmin] == 3) { orgtext = "Administrador"; }
  3842. if(PlayerInfo[playerid][pAdmin] == 2) { orgtext = "Administrador"; }
  3843. if(PlayerInfo[playerid][pAdmin] == 1) { orgtext = "Administrador"; }
  3844. GetPlayerName(playerid,EnqueteCriador,24);
  3845. SendClientMessageToAll(0xFFFFFFAA, "===================================================================================================");
  3846. format(SringEnquete,84, "O {a5f376}%s %s {f6ff00}acaba de criar uma enquete:", orgtext, EnqueteCriador);
  3847. SendClientMessageToAll(0xf6ff00AA, SringEnquete);
  3848. format(SringEnquete,128, "{f6ff00}* Perguntando: {a5f376}%s", inputtext);
  3849. SendClientMessageToAll(0xf6ff00AA, SringEnquete);
  3850. SendClientMessageToAll(0xf6ff00AA, "* Vote {a5f376}/sim_e{f6ff00} ou {a5f376}/nao_e{f6ff00} conforme a enquete.");
  3851. SendClientMessageToAll(0xFFFFFFAA, "===================================================================================================");
  3852. EnqueteAberta = true;
  3853. return 1;
  3854. }
  3855. if(dialogid == Mudarsenha)
  3856. {
  3857. if(response == 1)
  3858. {
  3859. new Nome[MAX_PLAYER_NAME];
  3860. GetPlayerName(playerid, Nome, sizeof(Nome));
  3861. new String[100];
  3862. format(String, sizeof(String), CONTAS, Nome);
  3863. DOF2_SetString(String,"Senha", inputtext);
  3864. format(String, sizeof(String), "Você mudou sua senha para '%s'", inputtext);
  3865. SendClientMessage(playerid, 0xFF9900AA, String);
  3866. return 1;
  3867. }
  3868. return 1;
  3869. }
  3870. return 1;
  3871. }
  3872. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  3873. }
  3874. if(newkeys == KEY_SECONDARY_ATTACK) // DP:LV!
  3875. {
  3876. if(PlayerToPoint(1.0, playerid,2296.6211,2460.0151,10.8203))
  3877. {
  3878. ShowPlayerDialog(playerid, DPLV, DIALOG_STYLE_LIST, "Departamento de Polícia", "Equipar", "Ok", "Cancelar");
  3879. }
  3880. }
  3881. return 1;
  3882. }
  3883.  
  3884. public ProxDetectorS(Float:radi, playerid, targetid)
  3885. {
  3886. if(IsPlayerConnected(playerid)&&IsPlayerConnected(targetid))
  3887. {
  3888. new Float:posx, Float:posy, Float:posz;
  3889. new Float:oldposx, Float:oldposy, Float:oldposz;
  3890. new Float:tempposx, Float:tempposy, Float:tempposz;
  3891. GetPlayerPos(playerid, oldposx, oldposy, oldposz);
  3892. //radi = 2.0; //Trigger Radius
  3893. GetPlayerPos(targetid, posx, posy, posz);
  3894. tempposx = (oldposx -posx);
  3895. tempposy = (oldposy -posy);
  3896. tempposz = (oldposz -posz);
  3897. //printf("DEBUG: X:%f Y:%f Z:%f",posx,posy,posz);
  3898. if (((tempposx < radi) && (tempposx > -radi)) && ((tempposy < radi) && (tempposy > -radi)) && ((tempposz < radi) && (tempposz > -radi)))
  3899. {
  3900. return 1;
  3901. }
  3902. }
  3903. return 0;
  3904. }
  3905. adminspec_strtok(const string[], &index)
  3906. {
  3907. new length = strlen(string);
  3908. while ((index < length) && (string[index] <= ' '))
  3909. {
  3910. index++;
  3911. }
  3912. new offset = index;
  3913. new result[20];
  3914. while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
  3915. {
  3916. result[index - offset] = string[index];
  3917. index++;
  3918. }
  3919. result[index - offset] = EOS;
  3920. return result;
  3921. }
  3922. strtok(const string[], &index)
  3923. {
  3924. new length = strlen(string);
  3925. while ((index < length) && (string[index] <= ' '))
  3926. {
  3927. index++;
  3928. }
  3929.  
  3930. new offset = index;
  3931. new result[20];
  3932. while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
  3933. {
  3934. result[index - offset] = string[index];
  3935. index++;
  3936. }
  3937. result[index - offset] = EOS;
  3938. return result;
  3939. }
  3940. stock CreateStrip(Float:x,Float:y,Float:z,Float:Angle)
  3941. {
  3942. for(new i = 0; i < sizeof(SpikeInfo); i++)
  3943. {
  3944. if(SpikeInfo[i][sCreated] == 0)
  3945. {
  3946. SpikeInfo[i][sCreated]=1;
  3947. SpikeInfo[i][sX]=x;
  3948. SpikeInfo[i][sY]=y;
  3949. SpikeInfo[i][sZ]=z-0.7;
  3950. SpikeInfo[i][sObject] = CreateObject(2899, x, y, z-0.9, 0, 0, Angle-90);
  3951. return 1;
  3952. }
  3953. }
  3954. return 0;
  3955. }
  3956.  
  3957. stock DeleteAllStrip()
  3958. {
  3959. for(new i = 0; i < sizeof(SpikeInfo); i++)
  3960. {
  3961. if(SpikeInfo[i][sCreated] == 1)
  3962. {
  3963. SpikeInfo[i][sCreated]=0;
  3964. SpikeInfo[i][sX]=0.0;
  3965. SpikeInfo[i][sY]=0.0;
  3966. SpikeInfo[i][sZ]=0.0;
  3967. DestroyObject(SpikeInfo[i][sObject]);
  3968. Pregos[i] = 0;
  3969. CPregos[i] = 0;
  3970.  
  3971. }
  3972. }
  3973. return 0;
  3974. }
  3975.  
  3976. stock DeleteClosestStrip(playerid)
  3977. {
  3978. for(new i = 0; i < sizeof(SpikeInfo); i++)
  3979. {
  3980. if(IsPlayerInRangeOfPoint(playerid, 2.0, SpikeInfo[i][sX], SpikeInfo[i][sY], SpikeInfo[i][sZ]))
  3981. {
  3982. if(SpikeInfo[i][sCreated] == 1)
  3983. {
  3984. SpikeInfo[i][sCreated]=0;
  3985. SpikeInfo[i][sX]=0.0;
  3986. SpikeInfo[i][sY]=0.0;
  3987. SpikeInfo[i][sZ]=0.0;
  3988. DestroyObject(SpikeInfo[i][sObject]);
  3989.  
  3990. return 1;
  3991. }
  3992. }
  3993. }
  3994. return 0;
  3995. }
  3996. public ClosePortao(playerid)
  3997. {
  3998. MoveObject(portaodp,-1571.76,661.39,8.95312,10);
  3999. return 1;
  4000. }
  4001. public ClosePortao2(playerid)
  4002. {
  4003. MoveObject(portaodp3,-1701.71,685.353,26.5531,10);
  4004. return 1;
  4005. }
  4006. stock GetDistanceBetweenPlayers(playerid,playerid2)
  4007. {
  4008. new Float:x1,Float:y1,Float:z1,Float:x2,Float:y2,Float:z2;
  4009. new Float:tmpdis;
  4010. GetPlayerPos(playerid,x1,y1,z1);
  4011. GetPlayerPos(playerid2,x2,y2,z2);
  4012. tmpdis = floatsqroot(floatpower(floatabs(floatsub(x2,x1)),2)+floatpower(floatabs(floatsub(y2,y1)),2)+floatpower(floatabs(floatsub(z2,z1)),2));
  4013. return floatround(tmpdis);
  4014. }
  4015. ReturnUser(text[], playerid = INVALID_PLAYER_ID)
  4016. {
  4017. new pos = 0;
  4018. while (text[pos] < 0x21)
  4019. {
  4020. if (text[pos] == 0) return INVALID_PLAYER_ID;
  4021. pos++;
  4022. }
  4023. new userid = INVALID_PLAYER_ID;
  4024. if (IsNumeric(text[pos]))
  4025. {
  4026. userid = strval(text[pos]);
  4027. if (userid >=0 && userid < MAX_PLAYERS)
  4028. {
  4029. if(!IsPlayerConnected(userid))
  4030. {
  4031. userid = INVALID_PLAYER_ID;
  4032. }
  4033. else
  4034. {
  4035. return userid;
  4036. }
  4037. }
  4038. }
  4039. new len = strlen(text[pos]);
  4040. new count = 0;
  4041. new name[MAX_PLAYER_NAME];
  4042. for (new i = 0; i < MAX_PLAYERS; i++)
  4043. {
  4044. if (IsPlayerConnected(i))
  4045. {
  4046. GetPlayerName(i, name, sizeof (name));
  4047. if (strcmp(name, text[pos], true, len) == 0) // Check segment of name
  4048. {
  4049. if (len == strlen(name)) // Exact match
  4050. {
  4051. return i; // Return the exact player on an exact match
  4052. // Otherwise if there are two players:
  4053. // Me and MeYou any time you entered Me it would find both
  4054. // And never be able to return just Me's id
  4055. }
  4056. else // Partial match
  4057. {
  4058. count++;
  4059. userid = i;
  4060. }
  4061. }
  4062. }
  4063. }
  4064. if (count != 1)
  4065. {
  4066. if (playerid != INVALID_PLAYER_ID)
  4067. {
  4068. if (count)
  4069. {
  4070. SendClientMessage(playerid, 0xFF0000AA, "Multiple users found, please narrow earch");
  4071. }
  4072. else
  4073. {
  4074. SendClientMessage(playerid, 0xFF0000AA, "No matching user found");
  4075. }
  4076. }
  4077. userid = INVALID_PLAYER_ID;
  4078. }
  4079. return userid; // INVALID_USER_ID for bad return
  4080. }
  4081. IsNumeric(const string[])
  4082. {
  4083. for (new i = 0, j = strlen(string); i < j; i++)
  4084. {
  4085. if (string[i] > '9' || string[i] < '0') return 0;
  4086. }
  4087. return 1;
  4088. }
  4089. SalvarContas(playerid)
  4090. {
  4091. new Nome[MAX_PLAYER_NAME];
  4092. GetPlayerName(playerid, Nome, sizeof(Nome));
  4093. new String[128];
  4094. format(String, sizeof(String), CONTAS, Nome);
  4095. DOF2_SetInt(String,"Dinheiro", GetPlayerMoney(playerid));
  4096. DOF2_SetInt(String,"Matou", Matou[playerid]);
  4097. DOF2_SetInt(String,"Morreu", Morreu[playerid]);
  4098. DOF2_SetInt(String,"Logou", Logou[playerid]);
  4099. DOF2_SetInt(String, "Admin", PlayerInfo[playerid][pAdmin]);
  4100. DOF2_SetInt(String, "BOPE", BOPE[playerid]);
  4101. DOF2_SetInt(String, "Hospital", Hospital[playerid]);
  4102. DOF2_SetInt(String, "Kick", PlayerInfo[playerid][pBlockKick]);
  4103. DOF2_SaveFile();
  4104. return 1;
  4105. }
  4106. SetarContas(playerid)
  4107. {
  4108. new Nome[MAX_PLAYER_NAME];
  4109. GetPlayerName(playerid, Nome, sizeof(Nome));
  4110. new String[50];
  4111. format(String, sizeof(String), CONTAS, Nome);
  4112. GivePlayerMoney(playerid, DOF2_GetInt(String,"Dinheiro"));
  4113. Matou[playerid] = DOF2_GetInt(String, "Matou");
  4114. Morreu[playerid] = DOF2_GetInt(String, "Morreu");
  4115. Logou[playerid] = DOF2_GetInt(String, "Logou");
  4116. PlayerInfo[playerid][pAdmin] = DOF2_GetInt(String, "Admin");
  4117. PlayerInfo[playerid][pBOPE] = DOF2_GetInt(String, "BOPE");
  4118. PlayerInfo[playerid][pBlockKick] = DOF2_GetInt(String, "Kick");
  4119. }
  4120. public Posicao(playerid)
  4121. {
  4122. SendClientMessage(playerid,BRANCO,"SERVER: Suas ultimas cordenadas foram salvas.");
  4123. SetPlayerPos(playerid, X, Y, Z);
  4124. Olhando[playerid] = 0;
  4125. return 1;
  4126. }
  4127. public Sinalizador(playerid)
  4128. {
  4129. RemovePlayerAttachedObject(playerid,3);
  4130. UsouSinalizador[playerid]=0;
  4131. return 1;
  4132. }
  4133.  
  4134. forward TestarGod(idjogador);
  4135. public TestarGod(idjogador)
  4136. {
  4137. new Float:checkvida;
  4138. new string[256];
  4139. new playerid;
  4140. GetPlayerHealth(idjogador, checkvida);
  4141. for(new i = 0; i < MAX_PLAYERS; i++)
  4142. if(checkvida > 99)
  4143. {
  4144. format(string, sizeof(string),"-OpenServ- %s foi reprovado no teste do slap.",Nome(idjogador));
  4145. if(PlayerInfo[playerid][pAdmin] >= 3)
  4146. SendClientMessage(i,VERMELHO,string);
  4147. }
  4148. else if(checkvida < 99)
  4149. {
  4150. format(string, sizeof(string),"-OpenServ- %s foi aprovado no teste do slap.",Nome(idjogador));
  4151. if(PlayerInfo[playerid][pAdmin] >= 3)
  4152. SendClientMessage(i,BRANCO,string);
  4153. }
  4154. SetPlayerHealth(idjogador, vida);
  4155. SetPlayerPos(idjogador, slx, sly, slz);
  4156. return 1;
  4157. }
  4158. public PlayerToPoint(Float:radi, playerid, Float:x, Float:y, Float:z)
  4159. {
  4160. if(IsPlayerConnected(playerid))
  4161. {
  4162. new Float:oldposx, Float:oldposy, Float:oldposz;
  4163. new Float:tempposx, Float:tempposy, Float:tempposz;
  4164. GetPlayerPos(playerid, oldposx, oldposy, oldposz);
  4165. tempposx = (oldposx -x);
  4166. tempposy = (oldposy -y);
  4167. tempposz = (oldposz -z);
  4168. if (((tempposx < radi) && (tempposx > -radi)) && ((tempposy < radi) && (tempposy > -radi)) && ((tempposz < radi) && (tempposz > -radi)))
  4169. {
  4170. return 1;
  4171. }
  4172. }
  4173. return 0;
  4174. }
  4175.  
  4176. public BanLog(string[])
  4177. {
  4178. new entry[256];
  4179. format(entry, sizeof(entry), "\n%s\n",string);
  4180. new File:hFile;
  4181. hFile = fopen("ban.log", io_append);
  4182. fwrite(hFile, entry);
  4183. fclose(hFile);
  4184. }
  4185. SavePos(playerid)
  4186. {
  4187. new Nome[MAX_PLAYER_NAME];
  4188. GetPlayerName(playerid, Nome, sizeof(Nome));
  4189. new String[50];
  4190. format(String, sizeof(String), CONTAS, Nome);
  4191. new menssagem[50];
  4192. GetPlayerPos(playerid,PosX,PosY,PosZ);
  4193. format(menssagem, sizeof(menssagem), CONTAS, Nome);
  4194. DOF2_SetFloat(String, "CorX",Float:PosX);
  4195. DOF2_SetFloat(String, "CorY",Float:PosY);
  4196. DOF2_SetFloat(String, "CorZ",Float:PosZ);
  4197. return 1;
  4198. }
  4199. GetXYInFrontOfPlayer(playerid, &Float:x, &Float:y, Float:distance)
  4200. {
  4201. new Float:a;
  4202. GetPlayerPos(playerid, x, y, a);
  4203. GetPlayerFacingAngle(playerid, a);
  4204. if (GetPlayerVehicleID(playerid))
  4205. {
  4206. GetVehicleZAngle(GetPlayerVehicleID(playerid), a);
  4207. }
  4208. x += (distance * floatsin(-a, degrees));
  4209. y += (distance * floatcos(-a, degrees));
  4210. }
  4211.  
  4212. public KeyChanges()
  4213. {
  4214. new keys, updown, leftright;
  4215. for(new playerid = 0; playerid < MAX_PLAYERS; playerid++)
  4216. {
  4217. if(IsPlayerConnected(playerid))
  4218. {
  4219. GetPlayerKeys(playerid, keys, updown, leftright);
  4220.  
  4221. new Float:x, Float:y, Float:z;
  4222. GetObjectPos(BolaLV, x, y, z);
  4223.  
  4224. new Float:angle;
  4225. GetPlayerFacingAngle(playerid, angle);
  4226.  
  4227.  
  4228.  
  4229. if(keys == KEY_HANDBRAKE && playingfootball[playerid] == 1)
  4230. {
  4231.  
  4232. if(PlayerToPoint(1.7,playerid,x,y,z))
  4233. {
  4234. new pName[MAX_PLAYER_NAME];
  4235. GetPlayerName(playerid, pName, sizeof(pName));
  4236. format(lastentered, sizeof(lastentered), "%s", pName);
  4237.  
  4238. GetPlayerPos(playerid, px, py, pz);
  4239. GetXYInFrontOfPlayer(playerid, px, py, 7.0);
  4240. MoveObject(BolaLV,px,py,10.3156,10.0);
  4241. PlayerPlaySound(playerid,1130,0.0,0.0,0.0);
  4242. ApplyAnimation(playerid,"FIGHT_D","FightD_1",4.1,0,1,1,0,0);
  4243. }
  4244. }
  4245. else if(keys == KEY_HANDBRAKE + KEY_SPRINT && playingfootball[playerid] == 1)
  4246. {
  4247.  
  4248. if(PlayerToPoint(1.7,playerid,x,y,z))
  4249. {
  4250. new pName[MAX_PLAYER_NAME];
  4251. GetPlayerName(playerid, pName, sizeof(pName));
  4252. format(lastentered, sizeof(lastentered), "%s", pName);
  4253.  
  4254. GetPlayerPos(playerid, px, py, pz);
  4255. GetXYInFrontOfPlayer(playerid, px, py, 7.0);
  4256. MoveObject(BolaLV,px,py,10.3156,10.0);
  4257. PlayerPlaySound(playerid,1130,0.0,0.0,0.0);
  4258. ApplyAnimation(playerid,"FIGHT_D","FightD_1",4.1,0,1,1,0,0);
  4259. }
  4260. }
  4261. }
  4262. }
  4263. }
  4264. public KeyChanges2()
  4265. {
  4266. new keys, updown, leftright;
  4267. for(new playerid = 0; playerid < MAX_PLAYERS; playerid++)
  4268. {
  4269. if(IsPlayerConnected(playerid))
  4270. {
  4271. GetPlayerKeys(playerid, keys, updown, leftright);
  4272.  
  4273. new Float:x, Float:y, Float:z;
  4274. GetObjectPos(BolaSF, x, y, z);
  4275.  
  4276.  
  4277. new Float:angle;
  4278. GetPlayerFacingAngle(playerid, angle);
  4279.  
  4280.  
  4281.  
  4282. if(keys == KEY_HANDBRAKE && playingfootball[playerid] == 1)
  4283. {
  4284.  
  4285. if(PlayerToPoint(1.7,playerid,x,y,z))
  4286. {
  4287. new pName[MAX_PLAYER_NAME];
  4288. GetPlayerName(playerid, pName, sizeof(pName));
  4289. format(lastentered, sizeof(lastentered), "%s", pName);
  4290.  
  4291. GetPlayerPos(playerid, px, py, pz);
  4292. GetXYInFrontOfPlayer(playerid, px, py, 7.0);
  4293. MoveObject(BolaSF,px,py,13.553438186646,10.0);
  4294. PlayerPlaySound(playerid,1130,0.0,0.0,0.0);
  4295. ApplyAnimation(playerid,"FIGHT_D","FightD_1",4.1,0,1,1,0,0);
  4296. }
  4297. }
  4298. else if(keys == KEY_HANDBRAKE + KEY_SPRINT && playingfootball[playerid] == 1)
  4299. {
  4300.  
  4301. if(PlayerToPoint(1.7,playerid,x,y,z))
  4302. {
  4303. new pName[MAX_PLAYER_NAME];
  4304. GetPlayerName(playerid, pName, sizeof(pName));
  4305. format(lastentered, sizeof(lastentered), "%s", pName);
  4306.  
  4307. GetPlayerPos(playerid, px, py, pz);
  4308. GetXYInFrontOfPlayer(playerid, px, py, 7.0);
  4309. MoveObject(BolaSF,px,py,13.553438186646,10.0);
  4310. PlayerPlaySound(playerid,1130,0.0,0.0,0.0);
  4311. ApplyAnimation(playerid,"FIGHT_D","FightD_1",4.1,0,1,1,0,0);
  4312. }
  4313. }
  4314. }
  4315. }
  4316. }
  4317.  
  4318. public KeyChanges3()
  4319. {
  4320. new keys, updown, leftright;
  4321. for(new playerid = 0; playerid < MAX_PLAYERS; playerid++)
  4322. {
  4323. if(IsPlayerConnected(playerid))
  4324. {
  4325. GetPlayerKeys(playerid, keys, updown, leftright);
  4326.  
  4327. new Float:x, Float:y, Float:z;
  4328. GetObjectPos(BolaLS, x, y, z);
  4329.  
  4330. new Float:angle;
  4331. GetPlayerFacingAngle(playerid, angle);
  4332.  
  4333.  
  4334.  
  4335. if(keys == KEY_HANDBRAKE && playingfootball[playerid] == 1)
  4336. {
  4337.  
  4338. if(PlayerToPoint(1.7,playerid,x,y,z))
  4339. {
  4340. new pName[MAX_PLAYER_NAME];
  4341. GetPlayerName(playerid, pName, sizeof(pName));
  4342. format(lastentered, sizeof(lastentered), "%s", pName);
  4343.  
  4344. GetPlayerPos(playerid, px, py, pz);
  4345. GetXYInFrontOfPlayer(playerid, px, py, 7.0);
  4346. MoveObject(BolaLS,px,py,13.0000,10.0);
  4347. PlayerPlaySound(playerid,1130,0.0,0.0,0.0);
  4348. ApplyAnimation(playerid,"FIGHT_D","FightD_1",4.1,0,1,1,0,0);
  4349. }
  4350. }
  4351. else if(keys == KEY_HANDBRAKE + KEY_SPRINT && playingfootball[playerid] == 1)
  4352. {
  4353.  
  4354. if(PlayerToPoint(1.7,playerid,x,y,z))
  4355. {
  4356. new pName[MAX_PLAYER_NAME];
  4357. GetPlayerName(playerid, pName, sizeof(pName));
  4358. format(lastentered, sizeof(lastentered), "%s", pName);
  4359.  
  4360. GetPlayerPos(playerid, px, py, pz);
  4361. GetXYInFrontOfPlayer(playerid, px, py, 7.0);
  4362. MoveObject(BolaLS,px,py,13.0000,10.0);
  4363. PlayerPlaySound(playerid,1130,0.0,0.0,0.0);
  4364. ApplyAnimation(playerid,"FIGHT_D","FightD_1",4.1,0,1,1,0,0);
  4365. }
  4366. }
  4367. }
  4368. }
  4369. }
  4370.  
  4371. //-------------------------------------------------
  4372.  
  4373. OnePlayAnim(playerid,animlib[],animname[], Float:Speed, looping, lockx, locky, lockz, lp)
  4374. {
  4375. ApplyAnimation(playerid, animlib, animname, Speed, looping, lockx, locky, lockz, lp);
  4376. animation[playerid]++;
  4377. }
  4378.  
  4379. //-------------------------------------------------
  4380.  
  4381. LoopingAnim(playerid,animlib[],animname[], Float:Speed, looping, lockx, locky, lockz, lp)
  4382. {
  4383. gPlayerUsingLoopingAnim[playerid] = 1;
  4384. ApplyAnimation(playerid, animlib, animname, Speed, looping, lockx, locky, lockz, lp);
  4385. animation[playerid]++;
  4386. }
  4387.  
  4388. //-------------------------------------------------
  4389.  
  4390. StopLoopingAnim(playerid)
  4391. {
  4392. gPlayerUsingLoopingAnim[playerid] = 0;
  4393. ApplyAnimation(playerid, "CARRY", "crry_prtial", 4.0, 0, 0, 0, 0, 0);
  4394. }
  4395.  
  4396. //-------------------------------------------------
  4397.  
  4398. PreloadAnimLib(playerid, animlib[])
  4399. {
  4400. ApplyAnimation(playerid,animlib,"null",0.0,0,0,0,0,0);
  4401. }
  4402.  
  4403. //-------------------------------------------------
Advertisement
Add Comment
Please, Sign In to add comment