Guest User

Afdasf

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