Guest User

Untitled

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