Advertisement
Guest User

Untitled

a guest
May 13th, 2018
273
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 63.91 KB | None | 0 0
  1. /* FEITA POR PILATE */ /* FEITA POR PILATE */ /* FEITA POR PILATE */ /* FEITA POR PILATE */ /* FEITA POR PILATE */
  2. /* FEITA POR PILATE */ /* FEITA POR PILATE */ /* FEITA POR PILATE */ /* FEITA POR PILATE */ /* FEITA POR PILATE */
  3. /* FEITA POR PILATE */ /* FEITA POR PILATE */ /* FEITA POR PILATE */ /* FEITA POR PILATE */ /* FEITA POR PILATE */
  4. /* FEITA POR PILATE */ /* FEITA POR PILATE */ /* FEITA POR PILATE */ /* FEITA POR PILATE */ /* FEITA POR PILATE */
  5.  
  6. #include < a_samp.inc >
  7. #include < sscanf2.inc >
  8. #include < streamer.inc >
  9. #include < dof2.inc >
  10. #include < zcmd.inc >
  11.  
  12. #define\
  13. ServerName "hostname Faction And Cops"
  14. #define\
  15. ServerVersion "FAC: v1.0"
  16. #define\
  17. ServerLanguage "language Português(Brasil)"
  18. #define\
  19. ServerRcon "rcon_password 1"
  20. #define\
  21. ServerUrl "weburl samp.FactionAndCops.com.br"
  22. #define\
  23. ServerMap "mapname San Andreas Multiplayer"
  24.  
  25. #define\
  26. Error_Permission "(ERRO):{FFFFFF} Você não tem permissão para usar esse comando."
  27. #define\
  28. Error_Conectad "(ERRO):{FFFFFF} O player não está conectado(a) no servidor."
  29. #define\
  30. Error_Logged "(ERRO):{FFFFFF} Você não está logado(a)."
  31. #define\
  32. Error_Rcon "(ERRO):{FFFFFF} Você não está logado(a) na (RCON) do servidor."
  33. #define\
  34. Error_Playerid "(ERRO):{FFFFFF} Você não pode usar o comando em si mesmo."
  35.  
  36. #define\
  37. SPD ShowPlayerDialog
  38. #define\
  39. DSM DIALOG_STYLE_MSGBOX
  40. #define\
  41. DSI DIALOG_STYLE_INPUT
  42. #define\
  43. DSL DIALOG_STYLE_LIST
  44. #define\
  45. DSP DIALOG_STYLE_PASSWORD
  46. #define\
  47. DST DIALOG_STYLE_TABLIST
  48. #define\
  49. DSTH DIALOG_STYLE_TABLIST_HEADERS
  50. #define\
  51. SCM SendClientMessage
  52. #define\
  53. SCMA SendClientMessageToAll
  54.  
  55. #define\
  56. Tecla(%0) (((newkeys & (%0)) == (%0)) && ((oldkeys & (%0)) != (%0)))
  57. #define\
  58. CallBack:%0(%1) forward %0(%1); public %0(%1)
  59. #define\
  60. Loop(%0,%1) for(new %0 = 0; %0 < %1; ++%0)
  61. #define\
  62. SendFormattedMessageToAll(%0,%1,%2) do{new string[148]; format(string, sizeof(string), %1,%2); SendClientMessageToAll(%0, string);} while(IsPlayerConnected(-1))
  63. #define\
  64. SendFormattedMessage(%0,%1,%2,%3) do{new string[148]; format(string, sizeof(string), %2,%3); SendClientMessage(%0,%1, string);} while(IsPlayerConnected(-1))
  65.  
  66. #define ADMIN_SPEC_TYPE_NONE 0
  67. #define ADMIN_SPEC_TYPE_PLAYER 1
  68. #define ADMIN_SPEC_TYPE_VEHICLE 2
  69.  
  70. const
  71. cBranco = 0xFFFFFFFF,
  72. cVermelho = 0xE74C3CAA,
  73. cVerde = 0x2ECC71AA,
  74. cAmarelo = 0xF1C40FFF,
  75. cSscanf = 0xFFA54FFF,
  76. cLocal = 0xD2BDFCFF,
  77. cAdmin = 0x008CFFFF,
  78. cNegativo = 0xFF6347FF,
  79. cMp = 0xEEEE00FF,
  80. cAtencao = 0xFF0000FF,
  81. cComandoVermelho = 0xFF0000AA,
  82. cAmigoDosAmigos = 0x0000FFAA,
  83. cTerceiroComandoPuro = 0xFFFF00AA,
  84. cMilicia = 0xFF5500AA
  85. ;
  86.  
  87. main(){}
  88.  
  89. new Mensagems[][]=
  90. {
  91. "a",
  92. "b",
  93. "c",
  94. "d",
  95. "e",
  96. "f",
  97. "h"
  98. };
  99.  
  100. enum pFavela
  101. {
  102. GZDono[4],
  103. GZName[50],
  104. Float: GZCoords[4],
  105. Float: CheckCoords[3],
  106. GZColor
  107. };
  108.  
  109. enum
  110. {
  111. MAX_GZ = 12
  112. };
  113.  
  114. new GangZone[MAX_GZ][pFavela] =
  115. {
  116. {"CV", "Cidade Alta", {0.0, 0, 0.0, 0.0}, {2683.5754,-832.8136,65.0721}, 0xFF0000AA},
  117. {"CV", "Antares", {0.0, 0, 0.0, 0.0}, {0.0, 0.0, 0.0}, 0xFF0000AA},
  118. {"CV", "Chapadão", {0.0, 0, 0.0, 0.0}, {0.0, 0.0, 0.0}, 0xFF0000AA},
  119.  
  120. {"ADA", "Pedreira", {0.0, 0, 0.0, 0.0}, {0.0, 0.0, 0.0}, 0x0000FFAA},
  121. {"ADA", "Jorge Turco", {0.0, 0, 0.0, 0.0}, {0.0, 0.0, 0.0}, 0x0000FFAA},
  122. {"ADA", "Juramento", {0.0, 0, 0.0, 0.0}, {0.0, 0.0, 0.0}, 0x0000FFAA},
  123.  
  124. {"TCP", "Acari", {0.0, 0, 0.0, 0.0}, {0.0, 0.0, 0.0}, 0xFFFF00AA},
  125. {"TCP", "Parada de Lucas", {0.0, 0, 0.0, 0.0}, {0.0, 0.0, 0.0}, 0xFFFF00AA},
  126. {"TCP", "Vigário Geral", {0.0, 0, 0.0, 0.0}, {0.0, 0.0, 0.0}, 0xFFFF00AA},
  127.  
  128. {"TCP", "Aço", {0.0, 0, 0.0, 0.0}, {0.0, 0.0, 0.0}, 0xFF5500AA},
  129. {"TCP", "3 Pontes", {0.0, 0, 0.0, 0.0}, {0.0, 0.0, 0.0}, 0xFF5500AA},
  130. {"TCP", "Cesarão", {0.0, 0, 0.0, 0.0}, {0.0, 0.0, 0.0}, 0xFF5500AA}
  131. };
  132.  
  133. static vNome[212][] =
  134. {
  135. {"Landstalker"}, {"Bravura"}, {"Buffalo"}, {"Linerunner"}, {"Perrenial"}, {"Sentinel"}, {"Dumper"},
  136. {"Firetruck"}, {"Trashmaster"}, {"Stretch"}, {"Manana"}, {"Infernus"}, {"Voodoo"}, {"Pony"}, {"Mule"},
  137. {"Cheetah"}, {"Ambulance"}, {"Leviathan"}, {"Moonbeam"}, {"Esperanto"}, {"Taxi"}, {"Washington"},
  138. {"Bobcat"}, {"Mr Whoopee"}, {"BF Injection"}, {"Hunter"}, {"Premier"}, {"Enforcer"}, {"Securicar"},
  139. {"Banshee"}, {"Predator"}, {"Bus"},{"Rhino"}, {"Barracks"}, {"Hotknife"}, {"Trailer 1"}, {"Previon"},
  140. {"Coach"}, {"Cabbie"}, {"Stallion"}, {"Rumpo"}, {"RC Bandit"}, {"Romero"}, {"Packer"}, {"Monster"},
  141. {"Admiral"}, {"Squalo"}, {"Seasparrow"}, {"Pizzaboy"}, {"Tram"}, {"Trailer 2"}, {"Turismo"},
  142. {"Speeder"}, {"Reefer"}, {"Tropic"}, {"Flatbed"}, {"Yankee"}, {"Caddy"}, {"Solair"}, {"Berkley's RC Van"},
  143. {"Skimmer"}, {"PCJ-6_0_0"}, {"Faggio"}, {"Freeway"}, {"RC Baron"}, {"RC Raider"}, {"Glendale"}, {"Oceanic"},
  144. {"Sanchez"}, {"Sparrow"}, {"Patriot"}, {"Quad"}, {"Coastguard"}, {"Dinghy"}, {"Hermes"}, {"Sabre"},
  145. {"Rustler"}, {"ZR-3_5_0"}, {"Walton"}, {"Regina"}, {"Comet"},{"BMX"}, {"Burrito"}, {"Camper"}, {"Marquis"},
  146. {"Baggage"}, {"Dozer"}, {"Maverick"}, {"News Chopper"}, {"Rancher"}, {"F.B.I. Rancher"}, {"Virgo"}, {"Greenwood"},
  147. {"Jetmax"}, {"Hotring"}, {"Sandking"}, {"Blista Compact"}, {"Police Maverick"},{"Boxville"}, {"Benson"},
  148. {"Mesa"}, {"RC Goblin"}, {"Hotring Racer A"}, {"Hotring Racer B"},{"Bloodring Banger"},{"Rancher"},
  149. {"Super GT"}, {"Elegant"}, {"Journey"}, {"Bike"}, {"Mountain Bike"}, {"Beagle"}, {"Cropdust"}, {"Stunt"},
  150. {"Tanker"}, {"Roadtrain"}, {"Nebula"}, {"Majestic"}, {"Buccaneer"}, {"Shamal"}, {"Hydra"}, {"FCR-900"},
  151. {"NRG-500"}, {"HPV1000"}, {"Cement Truck"}, {"Tow Truck"}, {"Fortune"}, {"Cadrona"}, {"F.B.I. Truck"},
  152. {"Willard"}, {"Forklift"}, {"Tractor"}, {"Combine"}, {"Feltzer"}, {"Remington"}, {"Slamvan"},
  153. {"Blade"}, {"Freight"}, {"Streak"}, {"Vortex"}, {"Vincent"}, {"Bullet"}, {"Clover"}, {"Sadler"},
  154. {"Firetruck LA"}, {"Hustler"}, {"Intruder"}, {"Primo"}, {"Cargobob"}, {"Tampa"}, {"Sunrise"}, {"Merit"},
  155. {"Utility"}, {"Nevada"}, {"Yosemite"}, {"Windsor"}, {"Monster A"}, {"Monster B"}, {"Uranus"}, {"Jester"},
  156. {"Sultan"}, {"Stratum"}, {"Elegy"}, {"Raindance"}, {"RC Tiger"}, {"Flash"}, {"Tahoma"}, {"Savanna"},
  157. {"Bandito"}, {"Freight Flat"}, {"Streak Carriage"}, {"Kart"}, {"Mower"}, {"Duneride"}, {"Sweeper"},
  158. {"Broadway"}, {"Tornado"}, {"AT-400"}, {"DFT-30"}, {"Huntley"}, {"Stafford"}, {"BF-400"}, {"Newsvan"},
  159. {"Tug"}, {"Trailer 3"}, {"Emperor"}, {"Wayfarer"}, {"Euros"}, {"Hotdog"}, {"Club"}, {"Freight Carriage"},
  160. {"Trailer 3"}, {"Andromada"}, {"Dodo"}, {"RC Cam"}, {"Launch"}, {"Viatura_LSPD"},{"Viatura_SFPD"},
  161. {"Viatura_LVPD"}, {"Police Ranger"}, {"Picador"}, {"F.B.I. Van"}, {"Alpha"}, {"Phoenix"}, {"Glendale"},
  162. {"Sadler"}, {"Luggage Trailer A"}, {"Luggage Trailer B"}, {"Stair Trailer"},{"Boxville"}, {"Farm Plow"},
  163. {"Utility Trailer"}
  164. };
  165.  
  166.  
  167. new Float:PosDrogas[1][3] =
  168. {
  169. {2683.2898,-845.2331,71.6868}
  170. };
  171.  
  172. new Float:PosHospital[4][3] =
  173. {
  174. {1180.4587,-1339.0693,13.8024},
  175. {0.0, 0.0, 0.0},
  176. {0.0, 0.0, 0.0},
  177. {0.0, 0.0, 0.0}
  178. };
  179.  
  180. new GetCargoNome[8][35] =
  181. {
  182. {"N/A"},
  183. {"Auxiliar"},
  184. {"Auxiliar Administrativo"},
  185. {"Sub Supervisor"},
  186. {"Supervisor"},
  187. {"Diretor"},
  188. {"Fundador"},
  189. {"Programador"}
  190. };
  191.  
  192. enum
  193. {
  194. DialogRegistro,
  195. DialogLogin,
  196. DialogChamarFaccao,
  197. DialogFaccao,
  198. DialogEscolherCMD,
  199. DialogEscolherTCP,
  200. DialogEscolherADA,
  201. DialogEscolherMLC,
  202. DialogPM,
  203. DialogHospital,
  204. DialogKick,
  205. DialogMochila,
  206. DialogComprarDrogas,
  207. DialogComprarMaconha,
  208. DialogVenderMaconha,
  209. DialogAdmin
  210. };
  211.  
  212. enum pInfo
  213. {
  214. pPresoPorAdmin,
  215. pDinheiro,
  216. pScore,
  217. pLogou,
  218. pSkin,
  219. pTempoJogado,
  220. pMatou,
  221. pMorreu,
  222. pNovato,
  223. pFaccoes,
  224. pCMD,
  225. pTCP,
  226. pADA,
  227. pMLC,
  228. pBloqPM,
  229. pExp,
  230. pMaconha,
  231. pErrosSenha,
  232. pAdmin,
  233. pVapor,
  234. pSpec,
  235. pSpecOnline,
  236. pBanido
  237. };
  238.  
  239. new
  240. bool:Logado[MAX_PLAYERS] = false,
  241. pDados[MAX_PLAYERS][pInfo],
  242. FloodChat[MAX_PLAYERS],
  243. DiaLogado[MAX_PLAYERS],
  244. MesLogado[MAX_PLAYERS],
  245. AnoLogado[MAX_PLAYERS],
  246. HoraLogado[MAX_PLAYERS],
  247. MinutoLogado[MAX_PLAYERS],
  248. SegundosLogado[MAX_PLAYERS],
  249. UsandoSub[MAX_PLAYERS],
  250. SpectadorMode[MAX_PLAYERS]
  251. ;
  252.  
  253. new
  254. PrecoSub[MAX_PLAYERS],
  255. GramaSub[MAX_PLAYERS],
  256. SubOfere[MAX_PLAYERS]
  257. ;
  258.  
  259. new
  260. GangZonas[MAX_GZ],
  261. ChecksDominio[MAX_GZ],
  262. ContagemDominio[MAX_GZ]
  263. ;
  264.  
  265. static VeiculoHp[MAX_PLAYERS];
  266.  
  267. new Hospital[4];
  268.  
  269. public OnGameModeInit()
  270. {
  271. Loop(i, MAX_PLAYERS) AddPlayerClass(i, -1986.8657, 134.7946, 27.5391, 248.8900, 0, 0, 0, 0, 0, 0);
  272. Loop(i, 4) Hospital[i] = CreatePickup(1239, 1, PosHospital[i][0], PosHospital[i][1], PosHospital[i][2], -1);
  273.  
  274. Loop(i, MAX_GZ)
  275. {
  276. new
  277. String[130]
  278. ;
  279.  
  280. format(String, sizeof String, "Dominio: {%06x}%s\n{FFFFFF}Facção: {%06x}%s", GangZone[i][GZColor] >>> 8, GangZone[i][GZName], GangZone[i][GZColor] >>> 8, GangZone[i][GZDono]);
  281. CreateDynamic3DTextLabel(String, cBranco, GangZone[i][CheckCoords][0], GangZone[i][CheckCoords][1], GangZone[i][CheckCoords][2], 15.0);
  282. GangZonas[i] = GangZoneCreate(GangZone[i][GZCoords][0], GangZone[i][GZCoords][1], GangZone[i][GZCoords][2], GangZone[i][GZCoords][3]);
  283. ChecksDominio[i] = CreateDynamicCP(GangZone[i][CheckCoords][0], GangZone[i][CheckCoords][1], GangZone[i][CheckCoords][2], 2.0, -1, 0, -1, 100.0);
  284. ContagemDominio[i] = 0;
  285. }
  286.  
  287. SetTimer("Mensagens", 60000, true);
  288. SetTimer("Segunds", 1000, true);
  289.  
  290. SetGameModeText(ServerVersion);
  291. SendRconCommand(ServerName);
  292. SendRconCommand(ServerLanguage);
  293. SendRconCommand(ServerRcon);
  294. SendRconCommand(ServerUrl);
  295. SendRconCommand(ServerMap);
  296.  
  297. UsePlayerPedAnims();
  298. ShowPlayerMarkers(0);
  299. LimitGlobalChatRadius(30);
  300. DisableInteriorEnterExits();
  301. EnableStuntBonusForAll(0);
  302. return true;
  303. }
  304.  
  305. public OnGameModeExit()
  306. {
  307. Loop(i, MAX_PLAYERS) { if(IsPlayerConnected(i)) { Salvar(i); } }
  308. DOF2::Exit();
  309. return true;
  310. }
  311.  
  312. public OnPlayerCommandPerformed(playerid, cmdtext[], success)
  313. {
  314. if(!success)
  315. return SCM(playerid, cVermelho, "(ERRO):{FFFFFF} Comando inexistente!");
  316.  
  317. return true;
  318. }
  319.  
  320. public OnPlayerCommandReceived(playerid, cmdtext[])
  321. {
  322. if(Logado[playerid] == false)
  323. return SCM(playerid, cVermelho, Error_Logged), false;
  324.  
  325. return true;
  326. }
  327.  
  328. CMD:vender(playerid, params[])
  329. {
  330. new
  331. Sub[50],
  332. String[130],
  333. ID,
  334. Quantia,
  335. Valor,
  336. Float:pPos[3]
  337. ;
  338.  
  339. GetPlayerPos(ID, pPos[0], pPos[1], pPos[2]);
  340.  
  341. if(Logado[playerid] == false)
  342. return SCM(playerid, cVermelho, Error_Logged);
  343.  
  344. if(!IsPlayerConnected(ID))
  345. return SCM(playerid, cVermelho, Error_Conectad);
  346.  
  347. if(pDados[playerid][pVapor] != 1)
  348. return SCM(playerid, cVermelho, Error_Permission);
  349.  
  350. if(playerid == ID)
  351. return SCM(playerid, cVermelho, Error_Playerid);
  352.  
  353. if(sscanf(params, "s[50]uii", Sub, ID, Quantia, Valor))
  354. return SCM(playerid, cSscanf, "(CORRETOR):{FFFFFF} /Vender [MACONHA] [ID] [QUANTIA] [VALOR].");
  355.  
  356. if(Quantia < 1 || Quantia > 100)
  357. return SCM(playerid, cVermelho, "(ERRO):{FFFFFF} Você só pode vender uma quantias de 1 a 100.");
  358.  
  359. if(Valor < 1 || Valor > 500)
  360. return SCM(playerid, cVermelho, "(ERRO):{FFFFFF} Você só pode vender com valores entre 1 a 500.");
  361.  
  362. if(!IsPlayerInRangeOfPoint(playerid, 5.0, pPos[0], pPos[1], pPos[2]))
  363. return SCM(playerid, cVermelho, "(ERRO):{FFFFFF} Você não está perto do player.");
  364.  
  365. if(GetPlayerMoney(playerid) < PrecoSub[playerid])
  366. return SCM(playerid, cVermelho, "(ERRO):{FFFFFF} Você não tem dinheiro suficiente para comprar maconha.");
  367.  
  368. if(Quantia > pDados[playerid][pMaconha])
  369. return SCM(playerid, cVermelho, "(ERRO):{FFFFFF} Você não possui tudo isso de maconha.");
  370.  
  371. if(strcmp(Sub, "maconha", true) == 0)
  372. {
  373. if(pDados[playerid][pMaconha] > 0)
  374. {
  375. format(String, sizeof(String), "O player %s está lhe oferecendo Maconha\n\nValor: R$%d, Quantia: %d\n\nDeseja aceitar?", NomeJogador(playerid), Valor, Quantia);
  376. SPD(ID, DialogVenderMaconha, DSM, "Vender drogas.", String, "Aceitar", "Recusar");
  377.  
  378. SCM(playerid, cAmarelo, "(AVISO):{FFFFFF} Você ofereceu a ele com sucesso, espere até ele aceitar ou recusar.");
  379.  
  380. PrecoSub[ID] = Valor;
  381. GramaSub[ID] = Quantia;
  382. SubOfere[ID] = playerid;
  383. }
  384. else return SCM(playerid, cVermelho, "(ERRO):{FFFFFF} Você não tem maconha suficiente.");
  385. }
  386. return true;
  387. }
  388.  
  389. /*CMD:do(playerid, params[]) return cmd_dominar(playerid, params);
  390. CMD:dominar(playerid, params[])
  391. {
  392. //if(!strcmp(Dominio[pDados[playerid][pFaccoes]][pNomeFaccao], Dominados(playerid))) return true; // SE É DA MESMA TORCIDA
  393.  
  394. if(Logado[playerid] == false)
  395. return SCM(playerid, cVermelho, Error_Logged);
  396.  
  397. //if(MembrosProximos(playerid) < 5)
  398. //return SendClientMessage(playerid, cVermelho, "ERRO: Você só pode dominar com no mínimo 5 membros próximos.");
  399.  
  400. for(new i; i < sizeof(Dominio); i ++)
  401. {
  402. if(IsPlayerInRangeOfPoint(playerid, 5.0, Dominio[i][pPosCheckPoint][0], Dominio[i][pPosCheckPoint][1], Dominio[i][pPosCheckPoint][2])) // SE ESTIVER PERTO DOS LOCAIS
  403. {
  404. if(FacDominando[i])
  405. {
  406. SCM(playerid, cVermelho, "(ERRO):{FFFFFF} O GangZone está sendo dominado ou foi dominado recentemente.");
  407. return true;
  408. }
  409. else
  410. {
  411. FacDominando[i] = 1;
  412. SCM(playerid, cAmarelo, "(AVISO):{FFFFFF} Aguarde alguns segundos para dominar...");
  413. return SetTimerEx("AguardeDominio", 5000, false, "ii", i, playerid);
  414. }
  415. }
  416. else return SCM(playerid, cVermelho, "(ERRO):{FFFFFF} Você não está no local de dominio...");
  417. }
  418. return true;
  419. }*/
  420.  
  421. CMD:rpt(playerid, params[]) return cmd_reportar(playerid, params);
  422. CMD:reportar(playerid, params[])
  423. {
  424. new
  425. String[130],
  426. ID,
  427. MOTIVO
  428. ;
  429.  
  430. if(Logado[playerid] == false)
  431. return SCM(playerid, cVermelho, Error_Logged);
  432.  
  433. if(playerid == ID)
  434. return SCM(playerid, cVermelho, Error_Playerid);
  435.  
  436. if(sscanf(params, "is[130]", ID, MOTIVO))
  437. return SCM(playerid, cSscanf, "(CORRETOR):{FFFFFF} /Reportar [ID] [MOTIVO].");
  438.  
  439. format(String, sizeof(String), "(ATENÇÃO){FFFFFF} O player %s está reportando %s %s{FFFFFF}, motivo: {FF0000}%s", NomeJogador(playerid), NomeJogador(ID), !IsPlayerConnected(ID) ? ("{7FFF00}(Online)") : ("{FF0000}(Offline)"), MOTIVO);
  440. SendAdminMessage(cAtencao, String);
  441.  
  442. SendClientMessage(playerid, cAmarelo, "(AVISO){FFFFFF} Seu report foi enviado para os admins...");
  443. return true;
  444. }
  445.  
  446. CMD:limparchat(playerid, params[])
  447. {
  448. if(Logado[playerid] == false)
  449. return SCM(playerid, cVermelho, Error_Logged);
  450.  
  451. if(pDados[playerid][pAdmin] < 1)
  452. return SCM(playerid, cVermelho, Error_Permission);
  453.  
  454. if(isnull(params))
  455. return SCM(playerid, cSscanf, "(CORRETOR):{FFFFFF} /LimparChat [MOTIVO].");
  456.  
  457. if(strlen(params) > 50)
  458. return SCM(playerid, cVermelho, "(ERRO):{FFFFFF} Você estoura o limite de caracteres.");
  459.  
  460. ClearChat(playerid, 100);
  461. SendFormattedMessageToAll(cAtencao, "(ATENÇÃO):{FFFFFF} O player %s limpou o chat do servidor, motivo: {FF0000}%s", NomeJogador(playerid), params);
  462. SendClientMessage(playerid, cAmarelo, "(AVISO){FFFFFF} Você limpou o chat do servidor...");
  463. return true;
  464. }
  465.  
  466. CMD:olharoff(playerid, params[])
  467. {
  468. if(Logado[playerid] == false)
  469. return SCM(playerid, cVermelho, Error_Logged);
  470.  
  471. TogglePlayerSpectating(playerid, false);
  472. pDados[playerid][pSpecOnline] = INVALID_PLAYER_ID;
  473. SpectadorMode[playerid] = ADMIN_SPEC_TYPE_NONE;
  474. pDados[playerid][pSpec] = 0;
  475. return true;
  476. }
  477.  
  478. CMD:olhar(playerid, params[])
  479. {
  480. new
  481. ID
  482. ;
  483.  
  484. if(Logado[playerid] == false)
  485. return SCM(playerid, cVermelho, Error_Logged);
  486.  
  487. if(!IsPlayerConnected(ID))
  488. return SCM(playerid, cVermelho, Error_Conectad);
  489.  
  490. ///if(playerid == ID)
  491. //return SCM(playerid, cVermelho, Error_Playerid);
  492.  
  493. if(pDados[ID][pSpec] != ID) //INVALID_PLAYER_ID
  494. return SCM(playerid, cVermelho, "(ERRO):{FFFFFF} O player desejado já está sendo verificado por algum admin.");
  495.  
  496. if(sscanf(params, "i", ID))
  497. return SCM(playerid, cSscanf, "(CORRETOR):{FFFFFF} /Olhar [ID].");
  498.  
  499. if(IsPlayerInAnyVehicle(ID))
  500. {
  501. SetPlayerInterior(playerid, GetPlayerInterior(ID));
  502. SetPlayerVirtualWorld(playerid, GetPlayerVirtualWorld(ID));
  503. TogglePlayerSpectating(playerid, true);
  504. PlayerSpectateVehicle(playerid, GetPlayerVehicleID(ID));
  505. SpectadorMode[playerid] = ADMIN_SPEC_TYPE_VEHICLE;
  506. pDados[playerid][pSpecOnline] = ID;
  507. pDados[playerid][pSpec] = 1;
  508.  
  509. SendFormattedMessage(playerid, cAmarelo, "Você está olhando o player %s, use '/OlharOff' para parar de olhar.", NomeJogador(ID));
  510. }
  511. else
  512. {
  513. SetPlayerInterior(playerid, GetPlayerInterior(ID));
  514. SetPlayerVirtualWorld(playerid, GetPlayerVirtualWorld(ID));
  515. TogglePlayerSpectating(playerid, true);
  516. PlayerSpectatePlayer(playerid, ID);
  517. SpectadorMode[playerid] = ADMIN_SPEC_TYPE_PLAYER;
  518. pDados[playerid][pSpecOnline] = ID;
  519. pDados[playerid][pSpec] = 1;
  520.  
  521. SendFormattedMessage(playerid, cAmarelo, "Você está olhando o player %s, use '/OlharOff' para parar de olhar.", NomeJogador(ID));
  522. }
  523. return true;
  524. }
  525.  
  526. CMD:pagar(playerid, params[])
  527. {
  528. new
  529. ID,
  530. Quantidade,
  531. Float:pPos[3]
  532. ;
  533.  
  534. GetPlayerPos(ID, pPos[0], pPos[1], pPos[2]);
  535.  
  536. if(Logado[playerid] == false)
  537. return SCM(playerid, cVermelho, Error_Logged);
  538.  
  539. if(!IsPlayerConnected(ID))
  540. return SCM(playerid, cVermelho, Error_Conectad);
  541.  
  542. if(playerid == ID)
  543. return SCM(playerid, cVermelho, Error_Playerid);
  544.  
  545. if(sscanf(params, "ui", ID, Quantidade))
  546. return SCM(playerid, cSscanf, "(CORRETOR):{FFFFFF} /Pagar [ID] [QUANTIDADE].");
  547.  
  548. if(Quantidade > GetPlayerMoney(playerid))
  549. return SCM(playerid, cVermelho, "(ERRO):{FFFFFF} Você não possui esta quantia.");
  550.  
  551. if(Quantidade < 1 || Quantidade > 100000)
  552. return SCM(playerid, cVermelho, "(ERRO):{FFFFFF} Quantias de R$0 a R$100000");
  553.  
  554. if(!IsPlayerInRangeOfPoint(playerid, 5.0, pPos[0], pPos[1], pPos[2]))
  555. return SCM(playerid, cVermelho, "(ERRO):{FFFFFF} Você não está perto do player.");
  556.  
  557. pDados[ID][pDinheiro] += Quantidade;
  558. pDados[playerid][pDinheiro] -= Quantidade;
  559.  
  560. SendFormattedMessage(playerid, cAmarelo, "(AVISO):{FFFFFF} O player %s deu ''R$%i'' de dinheiro para %s.", NomeJogador(playerid), Quantidade, NomeJogador(ID));
  561. return true;
  562. }
  563.  
  564. CMD:playerid(playerid, params[]) return cmd_id(playerid, params);
  565. CMD:id(playerid, params[])
  566. {
  567. new
  568. ID
  569. ;
  570.  
  571. if(Logado[playerid] == false)
  572. return SCM(playerid, cVermelho, Error_Logged);
  573.  
  574. if(!IsPlayerConnected(ID))
  575. return SCM(playerid, cVermelho, Error_Conectad);
  576.  
  577. if(playerid == ID)
  578. return SCM(playerid, cVermelho, Error_Playerid);
  579.  
  580. if(sscanf(params, "u", ID))
  581. return SCM(playerid, cSscanf, "(CORRETOR):{FFFFFF} /ID [NICK OU ID].");
  582.  
  583. if(GetPlayerPing(ID) >= 0 && GetPlayerPing(ID) < 150)
  584. {
  585. SendFormattedMessage(playerid, cAmarelo, "O jogador {00CCFF}%s{FFFFFF} tem o ID: {FF0000}%i{FFFFFF}. (Nivel: %i | Ping: {46E800}%i{FFFFFF})", NomeJogador(ID), ID, GetPlayerScore(ID), GetPlayerPing(ID));
  586. }
  587. if(GetPlayerPing(ID) >= 150 && GetPlayerPing(ID) < 200)
  588. {
  589. SendFormattedMessage(playerid, cAmarelo, "O jogador {00CCFF}%s{FFFFFF} tem o ID: {FF0000}%i{FFFFFF}. (Nivel: %i | Ping: {00CBF7}%i{FFFFFF})", NomeJogador(ID), ID, GetPlayerScore(ID), GetPlayerPing(ID));
  590. }
  591. if(GetPlayerPing(ID) >= 200 && GetPlayerPing(ID) < 250)
  592. {
  593. SendFormattedMessage(playerid, cAmarelo, "O jogador {00CCFF}%s{FFFFFF} tem o ID: {FF0000}%i{FFFFFF}. (Nivel: %i | Ping: {E0F600}%i{FFFFFF})", NomeJogador(ID), ID, GetPlayerScore(ID), GetPlayerPing(ID));
  594. }
  595. if(GetPlayerPing(ID) >= 250 && GetPlayerPing(ID) < 300)
  596. {
  597. SendFormattedMessage(playerid, cAmarelo, "O jogador {00CCFF}%s{FFFFFF} tem o ID: {FF0000}%i{FFFFFF}. (Nivel: %i | Ping: {F7E300}%i{FFFFFF})", NomeJogador(ID), ID, GetPlayerScore(ID), GetPlayerPing(ID));
  598. }
  599. if(GetPlayerPing(ID) >= 300)
  600. {
  601. SendFormattedMessage(playerid, cAmarelo, "O jogador {00CCFF}%s{FFFFFF} tem o ID: {FF0000}%i{FFFFFF}. (Nivel: %i | Ping: {F74000}%i{FFFFFF})", NomeJogador(ID), ID, GetPlayerScore(ID), GetPlayerPing(ID));
  602. }
  603. return true;
  604. }
  605.  
  606. CMD:pm(playerid, params[])
  607. {
  608. new
  609. ID,
  610. SMG[100]
  611. ;
  612.  
  613. if(Logado[playerid] == false)
  614. return SCM(playerid, cVermelho, Error_Logged);
  615.  
  616. if(!IsPlayerConnected(ID))
  617. return SCM(playerid, cVermelho, Error_Conectad);
  618.  
  619. if(playerid == ID)
  620. return SCM(playerid, cVermelho, Error_Playerid);
  621.  
  622. if(sscanf(params, "us[100]", ID, SMG))
  623. return SCM(playerid, cSscanf, "(CORRETOR):{FFFFFF} /Pm [ID] [MENSAGEM].");
  624.  
  625. if(pDados[ID][pBloqPM] == 1)
  626. return SCM(playerid, cVermelho, "(ERRO):{FFFFFF} O player está com o PM Bloqueado.");
  627.  
  628. SendFormattedMessage(playerid, cMp, "(Mensagem Privada): para %s (%i), diz: %s", NomeJogador(ID), ID, SMG);
  629. SendFormattedMessage(ID, cMp, "(Mensagem Privada): de %s (%i), diz: %s", NomeJogador(playerid), playerid, SMG);
  630. return true;
  631. }
  632.  
  633. CMD:infopm(playerid, params[]) return cmd_statuspm(playerid, params);
  634. CMD:statuspm(playerid, params[])
  635. {
  636. if(Logado[playerid] == false)
  637. return SCM(playerid, cVermelho, Error_Logged);
  638.  
  639. if(pDados[playerid][pBloqPM] == 1) SPD(playerid, DialogPM, DSL, "Status de Privacidade", "Status PM [OFF]", "Selecionar", "Cancelar");
  640. else SPD(playerid, DialogPM, DSL, "Status de Privacidade", "Status PM [ON]", "Selecionar", "Cancelar");
  641. return true;
  642. }
  643.  
  644. CMD:sk(playerid, params[]) return cmd_skin(playerid, params);
  645. CMD:skin(playerid, params[])
  646. {
  647. new
  648. SKIN
  649. ;
  650.  
  651. if(Logado[playerid] == false)
  652. return SCM(playerid, cVermelho, Error_Logged);
  653.  
  654. if(sscanf(params, "d", SKIN))
  655. return SCM(playerid, cSscanf, "(CORRETOR):{FFFFFF} /Skin [ID].");
  656.  
  657. if(IsPlayerInAnyVehicle(playerid))
  658. return SCM(playerid, cVermelho, "(ERRO):{FFFFFF} Você não pode mudar de skin de dentro de um veículo.");
  659.  
  660. if(SKIN > 311)
  661. return SCM(playerid, cVermelho, "(ERRO):{FFFFFF} Alteração requerida é de zero a trezentos e onze.");
  662.  
  663. if(GetPlayerSpeedEx(playerid) > 1)
  664. return SCM(playerid, cVermelho, "(ERRO):{FFFFFF} Você precisa estar parado para mudar de skin.");
  665.  
  666. SetPlayerSkin(playerid, SKIN);
  667. pDados[playerid][pSkin] = SKIN;
  668.  
  669. SendFormattedMessage(playerid, cAmarelo, "(AVISO):{FFFFFF} Você alterou sua skin para o (ID: %i).", SKIN);
  670. return true;
  671. }
  672.  
  673. /*CMD:r(playerid, params[])
  674. {
  675. new
  676. SMG[100]
  677. ;
  678.  
  679. if(sscanf(params, "s[100]", SMG))
  680. return SCM(playerid, cSscanf, "(CORRETOR):{FFFFFF} /R [MENSAGEM]");
  681.  
  682. Loop(i, MAX_PLAYERS)
  683. {
  684. switch(pDados[i][pFaccoes])
  685. {
  686. case 1..2: SendFormattedMessage(i, -1, "(EQUIPE A): %s diz: %s.", NomeJogador(playerid), SMG);
  687. case 3..4: SendFormattedMessage(i, -1, "(EQUIPE B): %s diz: %s.", NomeJogador(playerid), SMG);
  688. case 5..6: SendFormattedMessage(i, -1, "(EQUIPE C): %s diz: %s.", NomeJogador(playerid), SMG);
  689. case 7..8: SendFormattedMessage(i, -1, "(EQUIPE D): %s diz: %s.", NomeJogador(playerid), SMG);
  690. }
  691. }
  692. return true;
  693. }*/
  694.  
  695. CMD:facplayers(playerid, params[]) return cmd_faccoes(playerid, params);
  696. CMD:faccoes(playerid, params[])
  697. {
  698. new
  699. CounTList[1000],
  700. CounTDialog[400],
  701. CounTeamCMD = 0,
  702. CounTeamLLL = 0,
  703. CounTeam3CP = 0,
  704. CounTeamMLC = 0
  705. ;
  706.  
  707. if(Logado[playerid] == false)
  708. return SCM(playerid, cVermelho, Error_Logged);
  709.  
  710. Loop(i, MAX_PLAYERS)
  711. {
  712. switch(pDados[i][pFaccoes] && IsPlayerConnected(i))
  713. {
  714. case 1..2:
  715. CounTeamCMD ++;
  716. case 3..4:
  717. CounTeamLLL ++;
  718. case 5..6:
  719. CounTeam3CP ++;
  720. case 7..8:
  721. CounTeamMLC ++;
  722. }
  723. }
  724. format(CounTDialog, sizeof(CounTDialog), "(CMD): Tem %i Players Online.\n", CounTeamCMD, strcat(CounTList, CounTDialog));
  725. format(CounTDialog, sizeof(CounTDialog), "(LLL): Tem %i Players Online.\n", CounTeamLLL, strcat(CounTList, CounTDialog));
  726. format(CounTDialog, sizeof(CounTDialog), "(3CP): Tem %i Players Online.\n", CounTeam3CP, strcat(CounTList, CounTDialog));
  727. format(CounTDialog, sizeof(CounTDialog), "(MLC): Tem %i Players Online.\n", CounTeamMLC, strcat(CounTList, CounTDialog));
  728. ShowPlayerDialog(playerid, 700, DIALOG_STYLE_MSGBOX, "Facções Online:", CounTList, "Fechar", #);
  729. return true;
  730. }
  731.  
  732. CMD:senhaserver(playerid, params[])
  733. {
  734. new
  735. SenhaServer[64],
  736. String[128]
  737. ;
  738.  
  739. if(Logado[playerid] == false)
  740. return SCM(playerid, cVermelho, Error_Logged);
  741.  
  742. if(!IsPlayerAdmin(playerid))
  743. return SCM(playerid, cVermelho, Error_Rcon);
  744.  
  745. if(pDados[playerid][pAdmin] < 7)
  746. return SCM(playerid, cVermelho, Error_Permission);
  747.  
  748. if(sscanf(params, "s[64]", SenhaServer))
  749. return SCM(playerid, cSscanf, "(CORRETOR):{FFFFFF} /SenhaServer [SENHA].");
  750.  
  751. format(String, sizeof(String), "password %s", SenhaServer);
  752. SendRconCommand(String);
  753.  
  754. SendFormattedMessage(playerid, cAmarelo, "Você mudou a Password para: %s", SenhaServer);
  755. return true;
  756. }
  757.  
  758. CMD:nomeserver(playerid, params[])
  759. {
  760. new
  761. NomeServer[64],
  762. String[128]
  763. ;
  764.  
  765. if(Logado[playerid] == false)
  766. return SCM(playerid, cVermelho, Error_Logged);
  767.  
  768. if(!IsPlayerAdmin(playerid))
  769. return SCM(playerid, cVermelho, Error_Rcon);
  770.  
  771. if(pDados[playerid][pAdmin] < 7)
  772. return SCM(playerid, cVermelho, Error_Permission);
  773.  
  774. if(sscanf(params, "s[64]", NomeServer))
  775. return SCM(playerid, cSscanf, "(CORRETOR):{FFFFFF} /NomeServer [NOME].");
  776.  
  777. format(String, sizeof(String), "hostname %s", NomeServer);
  778. SendRconCommand(String);
  779.  
  780. SendFormattedMessage(playerid, cAmarelo, "Você mudou o HostName para: %s", NomeServer);
  781. return true;
  782. }
  783.  
  784. CMD:mochila(playerid, params[])
  785. {
  786. new Dialog[500], String[130];
  787. format(String, sizeof(String), "Maconha: %i", pDados[playerid][pMaconha]);
  788. strcat(Dialog, String);
  789.  
  790. SPD(playerid, DialogMochila, DSL, "Mochila", Dialog, "Selecionar", "Cancelar");
  791. return true;
  792. }
  793.  
  794. CMD:setsk(playerid, params[]) return cmd_setskin(playerid, params);
  795. CMD:setskin(playerid, params[])
  796. {
  797. new
  798. ID,
  799. SKIN
  800. ;
  801.  
  802. if(Logado[playerid] == false)
  803. return SCM(playerid, cVermelho, Error_Logged);
  804.  
  805. if(!IsPlayerConnected(ID))
  806. return SCM(playerid, cVermelho, Error_Conectad);
  807.  
  808. if(pDados[playerid][pAdmin] < 1)
  809. return SCM(playerid, cVermelho, Error_Permission);
  810.  
  811. if(playerid == ID)
  812. return SCM(playerid, cVermelho, Error_Playerid);
  813.  
  814. if(sscanf(params, "ud", ID, SKIN))
  815. return SCM(playerid, cSscanf, "(CORRETOR):{FFFFFF} /SetSkin [ID] [SKIN].");
  816.  
  817. if(IsPlayerInAnyVehicle(ID))
  818. return SCM(playerid, cVermelho, "(ERRO):{FFFFFF} Você não pode mudar a skin do player dentro de um veículo.");
  819.  
  820. if(SKIN > 311)
  821. return SCM(playerid, cVermelho, "(ERRO):{FFFFFF} Alteração requerida é de zero a trezentos e onze.");
  822.  
  823. SetPlayerSkin(ID, SKIN);
  824. pDados[playerid][pSkin] = SKIN;
  825.  
  826. SendFormattedMessage(ID, cAmarelo, "(AVISO):{FFFFFF} O player: %s: %s, alterou sua skin para o (ID: %i).", GetCargoNome[pDados[playerid][pAdmin]], NomeJogador(playerid), SKIN);
  827. SendFormattedMessage(playerid, cAmarelo, "(AVISO):{FFFFFF} Você setou a skin do player %s para o (ID: %i).", NomeJogador(ID), SKIN);
  828. return true;
  829. }
  830.  
  831. CMD:kick(playerid, params[])
  832. {
  833. new
  834. ID,
  835. MOTIVO[25],
  836. String[500]
  837. ;
  838.  
  839. if(Logado[playerid] == false)
  840. return SCM(playerid, cVermelho, Error_Logged);
  841.  
  842. if(!IsPlayerConnected(ID))
  843. return SCM(playerid, cVermelho, Error_Conectad);
  844.  
  845. if(pDados[playerid][pAdmin] < 7)
  846. return SCM(playerid, cVermelho, Error_Permission);
  847.  
  848. if(sscanf(params, "us[50]", ID, MOTIVO))
  849. return SCM(playerid, cSscanf, "(CORRETOR):{FFFFFF} /Kick [ID] [MOTIVO].");
  850.  
  851. SetTimerEx("KickPlayer", 100, false, "i", ID);
  852. SendFormattedMessageToAll(cNegativo, "O player %s, %s kickou o player %s %s do servidor, motivo: %s", GetCargoNome[pDados[playerid][pAdmin]], NomeJogador(playerid), NomeJogador(ID), IsPlayerConnected(ID) ? ("(Online)") : ("(Offline)"), MOTIVO);
  853.  
  854. format(String, sizeof(String),
  855. "{E74C3C}Você foi kickado do servidor!\n\n{F1C40F}Online?:{FFFFFF} %s\n{F1C40F}Conta:{FFFFFF} %s\n{F1C40F}Admin:{FFFFFF} %s\n{F1C40F}Motivo:{FFFFFF} %s", IsPlayerConnected(ID) ? ("Sim") : ("Não"), NomeJogador(ID), NomeJogador(playerid), MOTIVO);
  856. SPD(ID, DialogKick, DSM,
  857. "{FFFFFF}Kickado", String, "Fechar", #);
  858. return true;
  859. }
  860.  
  861. CMD:a(playerid, params[])
  862. {
  863. new
  864. SMG[50],
  865. String[128]
  866. ;
  867.  
  868. if(Logado[playerid] == false)
  869. return SCM(playerid, cVermelho, Error_Logged);
  870.  
  871. if(pDados[playerid][pAdmin] < 1)
  872. return SCM(playerid, cVermelho, Error_Permission);
  873.  
  874. if(sscanf(params, "s[50]", SMG))
  875. return SCM(playerid, cSscanf, "(CORRETOR):{FFFFFF} /A [MENSAGEM].");
  876.  
  877. format(String, sizeof(String), "(CHAT ADMIN): %s, %s diz:{FFFFFF} %s", GetCargoNome[pDados[playerid][pAdmin]], NomeJogador(playerid), SMG);
  878. SendAdminMessage(cAdmin, String);
  879. return true;
  880. }
  881.  
  882. CMD:setadmin(playerid, params[])
  883. {
  884. new
  885. ID,
  886. TOTAL
  887. ;
  888.  
  889. if(Logado[playerid] == false)
  890. return SCM(playerid, cVermelho, Error_Logged);
  891.  
  892. if(!IsPlayerConnected(ID))
  893. return SCM(playerid, cVermelho, Error_Conectad);
  894.  
  895. if(!IsPlayerAdmin(playerid))
  896. return SCM(playerid, cVermelho, Error_Rcon);
  897.  
  898. if(sscanf(params, "dd", ID, TOTAL))
  899. return SCM(playerid, cSscanf, "(CORRETOR):{FFFFFF} /SetAdmin [ID] [CARGO].");
  900.  
  901. if(TOTAL > 7)
  902. return SCM(playerid, cVermelho, "(ERRO):{FFFFFF} Setagem desconhecida, máximo a ser setado é 0 a 7.");
  903.  
  904. pDados[ID][pAdmin] = TOTAL;
  905. Salvar(ID);
  906.  
  907. SendFormattedMessage(playerid, cAmarelo, "(AVISO):{FFFFFF} Você setou o player %s, agora ele(a) é (Admin: %s, Level: %i).", NomeJogador(ID), GetCargoNome[pDados[ID][pAdmin]], TOTAL);
  908. SendFormattedMessage(ID, cAmarelo, "(AVISO):{FFFFFF} O player %s, te setou de (Admin: %s, Level: %i).", NomeJogador(playerid), GetCargoNome[pDados[ID][pAdmin]], TOTAL);
  909. return true;
  910. }
  911.  
  912. CMD:setvapor(playerid, params[])
  913. {
  914. new
  915. ID,
  916. Cargo
  917. ;
  918.  
  919. if(Logado[playerid] == false)
  920. return SCM(playerid, cVermelho, Error_Logged);
  921.  
  922. if(!IsPlayerConnected(ID))
  923. return SCM(playerid, cVermelho, Error_Conectad);
  924.  
  925. if(pDados[playerid][pAdmin] < 4)
  926. return SCM(playerid, cVermelho, Error_Permission);
  927.  
  928. if(sscanf(params, "ud", ID, Cargo))
  929. return SCM(playerid, cSscanf, "(CORRETOR):{FFFFFF} /SetVapor [ID] [CARGO].");
  930.  
  931. if(Cargo > 1)
  932. return SCM(playerid, cVermelho, "(ERRO):{FFFFFF} Setagem desconhecida, máximo a ser setado é 1.");
  933.  
  934. if(Cargo >= 1)
  935. {
  936. SendFormattedMessage(ID, cAmarelo, "(AVISO):{FFFFFF} O player %s, te setou de Vapor, level %i.", NomeJogador(playerid), Cargo);
  937. SendFormattedMessage(playerid, cAmarelo, "(AVISO):{FFFFFF} Você setou o player %s, de Vapor, level %i.", NomeJogador(ID), Cargo);
  938. pDados[ID][pVapor] = Cargo;
  939. Salvar(ID);
  940. }
  941. if(Cargo == 0)
  942. {
  943. SendFormattedMessage(ID, cAmarelo, "(AVISO):{FFFFFF} O player %s, retirou seu cargo de Vapor, level %i.", NomeJogador(playerid), GetCargoNome[pDados[ID][pAdmin]], Cargo);
  944. SendFormattedMessage(playerid, cAmarelo, "(AVISO):{FFFFFF} Você retirou o cargo de Vapor do player %s.", NomeJogador(ID));
  945. pDados[ID][pVapor] = Cargo;
  946. Salvar(ID);
  947. }
  948. return true;
  949. }
  950.  
  951. public OnPlayerRequestClass(playerid, classid)
  952. {
  953. TogglePlayerSpectating(playerid, true);
  954. SetTimerEx("MostrarDados", 10000, 0, "d", playerid);
  955. PlayAudioStreamForPlayer(playerid, "https://dl.dropboxusercontent.com/s/10l9w1sybgtykww/IntroServer.mp3");
  956. ClearChat(playerid, 15);
  957.  
  958. SCM(playerid, cAmarelo, "(AVISO):{FFFFFF} Conectando com o Banco de Dados... Aguarde!");
  959. return true;
  960. }
  961.  
  962. public OnPlayerConnect(playerid)
  963. {
  964. SetPlayerColor(playerid, cBranco);
  965.  
  966. Logado[playerid] = false;
  967. FloodChat[playerid] = gettime();
  968. pDados[playerid][pSpec] = 0;
  969. pDados[playerid][pScore] = 0;
  970. pDados[playerid][pDinheiro] = 0;
  971. pDados[playerid][pTempoJogado] = 0;
  972. pDados[playerid][pFaccoes] = 0;
  973. pDados[playerid][pMatou] = 0;
  974. pDados[playerid][pMorreu] = 0;
  975. pDados[playerid][pNovato] = 0;
  976. pDados[playerid][pAdmin] = 0;
  977. VeiculoHp[playerid] = 0;
  978. return true;
  979. }
  980.  
  981. public OnPlayerDisconnect(playerid, reason)
  982. {
  983. if(Logado[playerid] == true)
  984. return Salvar(playerid);
  985.  
  986. DestroyPlayerVehicle(playerid);
  987. return true;
  988. }
  989.  
  990. public OnPlayerSpawn(playerid)
  991. {
  992. SetPlayerSkin(playerid, pDados[playerid][pSkin]); SetPlayerInterior(playerid, 0);
  993. Loop(i, MAX_GZ) GangZoneShowForPlayer(playerid, GangZonas[i], GangZone[i][GZColor]);
  994.  
  995. switch(pDados[playerid][pFaccoes])
  996. {
  997. case 1:
  998. {
  999. SetPlayerPos(playerid, 2697.6335,-811.6922,61.1546);
  1000. SetPlayerColor(playerid, cComandoVermelho);
  1001. }
  1002. case 2:
  1003. {
  1004. SetPlayerPos(playerid, 0.0, 0.0, 0.0);
  1005. SetPlayerColor(playerid, cComandoVermelho);
  1006. }
  1007. case 3:
  1008. {
  1009. SetPlayerPos(playerid, 0.0, 0.0, 0.0);
  1010. SetPlayerColor(playerid, cComandoVermelho);
  1011. }
  1012. case 4:
  1013. {
  1014. SetPlayerPos(playerid, 0.0, 0.0, 0.0);
  1015. SetPlayerColor(playerid, cTerceiroComandoPuro);
  1016. }
  1017. case 5:
  1018. {
  1019. SetPlayerPos(playerid, 0.0, 0.0, 0.0);
  1020. SetPlayerColor(playerid, cTerceiroComandoPuro);
  1021. }
  1022. case 6:
  1023. {
  1024. SetPlayerPos(playerid, 0.0, 0.0, 0.0);
  1025. SetPlayerColor(playerid, cTerceiroComandoPuro);
  1026. }
  1027. case 7:
  1028. {
  1029. SetPlayerPos(playerid, 0.0, 0.0, 0.0);
  1030. SetPlayerColor(playerid, cAmigoDosAmigos);
  1031. }
  1032. case 8:
  1033. {
  1034. SetPlayerPos(playerid, 0.0, 0.0, 0.0);
  1035. SetPlayerColor(playerid, cAmigoDosAmigos);
  1036. }
  1037. case 9:
  1038. {
  1039. SetPlayerPos(playerid, 0.0, 0.0, 0.0);
  1040. SetPlayerColor(playerid, cAmigoDosAmigos);
  1041. }
  1042. case 10:
  1043. {
  1044. SetPlayerPos(playerid, 0.0, 0.0, 0.0);
  1045. SetPlayerColor(playerid, cMilicia);
  1046. }
  1047. case 11:
  1048. {
  1049. SetPlayerPos(playerid, 0.0, 0.0, 0.0);
  1050. SetPlayerColor(playerid, cMilicia);
  1051. }
  1052. case 12:
  1053. {
  1054. SetPlayerPos(playerid, 0.0, 0.0, 0.0);
  1055. SetPlayerColor(playerid, cMilicia);
  1056. }
  1057. }
  1058. return true;
  1059. }
  1060.  
  1061. public OnPlayerDeath(playerid, killerid, reason)
  1062. {
  1063. SendDeathMessage(killerid, playerid, reason);
  1064. pDados[playerid][pMorreu] ++;
  1065. pDados[killerid][pMatou] ++;
  1066. return true;
  1067. }
  1068.  
  1069. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  1070. {
  1071. new
  1072. String[130],
  1073. Float:pPos[4],
  1074. Float:Vida,
  1075. Float:Colete
  1076. ;
  1077.  
  1078. GetPlayerHealth(playerid, Vida), GetPlayerArmour(playerid, Colete);
  1079.  
  1080. switch(dialogid)
  1081. {
  1082. case DialogRegistro:
  1083. {
  1084. if(!response) return Kick(playerid);
  1085. {
  1086. if(response)
  1087. {
  1088. if(strlen(inputtext) < 8 || strlen(inputtext) > 20)
  1089. {
  1090. SPD(playerid, DialogRegistro, DSP,
  1091. "{FFFFFF}Registro: Faction And Cops.",
  1092. "{FFFFFF}(Servidor: {FF3030}Faction And Cops{FFFFFF}),\n\nOlá Amigo(a)!. Você ainda não possui uma conta em nosso ''{FF3030}Banco de Dados{FFFFFF}''.\n{FF3030}Sua senha deve conter no mínimo 8 caracteres.",
  1093. "Registrar", "Sair");
  1094. return true;
  1095. }
  1096.  
  1097. Logado[playerid] = true;
  1098. pDados[playerid][pNovato] = 1;
  1099.  
  1100. DOF2::CreateFile(PegarDados(playerid));
  1101. DOF2::SetString(PegarDados(playerid), "Senha", inputtext);
  1102. DOF2::SaveFile();
  1103.  
  1104. SPD(playerid, DialogFaccao, DSL, "Escolha sua facção", "CMD\nTCP\nADA\nMLC", "Selecionar", "Cancelar");
  1105. }
  1106. }
  1107. }
  1108. case DialogLogin:
  1109. {
  1110. if(!response) return Kick(playerid);
  1111. {
  1112. if(response)
  1113. {
  1114. if(!strlen(inputtext))
  1115. {
  1116. SPD(playerid, DialogLogin, DSP,
  1117. "{FFFFFF}Login: Faction And Cops.",
  1118. "{FFFFFF}(Servidor: {FF3030}Faction And Cops{FFFFFF}),\n\nOlá Amigo(a)!. Você já possui uma conta em nosso ''{FF3030}Banco de Dados{FFFFFF}''.\nDigite sua senha abaixo para efetuar o login.",
  1119. "Logar", "Sair");
  1120. return true;
  1121. }
  1122. if(!strcmp(DOF2::GetString(PegarDados(playerid), "Senha"), inputtext))
  1123. {
  1124. if(pDados[playerid][pNovato] == 0)
  1125. {
  1126. Logado[playerid] = true;
  1127. pDados[playerid][pLogou] += 1;
  1128. CarregarDados(playerid);
  1129. ClearChat(playerid, 100);
  1130.  
  1131. SendFormattedMessage(playerid, cAmarelo, "(AVISO):{FFFFFF} Olá %s!, seu último login no servidor foi %02d/%02d/%02d as %02d:%02d:%02d.", NomeJogador(playerid), DiaLogado[playerid], MesLogado[playerid], AnoLogado[playerid], HoraLogado[playerid], MinutoLogado[playerid], SegundosLogado[playerid]);
  1132. SCM(playerid, cAmarelo, "(DICA):{FFFFFF} Caso tenha alguma dúvida estamos a disposição, chame um de nossos Ajudantes ou Administradores.");
  1133.  
  1134. TogglePlayerSpectating(playerid, false);
  1135. StopAudioStreamForPlayer(playerid);
  1136. SpawnPlayer(playerid);
  1137. return true;
  1138. }
  1139. }
  1140. else
  1141. {
  1142. pDados[playerid][pErrosSenha] ++;
  1143. SPD(playerid, DialogLogin, DSP,
  1144. "{FFFFFF}Login: Faction And Cops.",
  1145. "{FFFFFF}(Servidor: {FF3030}Faction And Cops{FFFFFF}),\n\nOlá Amigo(a)!. Você já possui uma conta em nosso ''{FF3030}Banco de Dados{FFFFFF}''.\n{FF3030}Você digitou a senha errada...",
  1146. "Logar", "Sair");
  1147.  
  1148. if(pDados[playerid][pErrosSenha] == 3)
  1149. {
  1150. SendFormattedMessage(playerid, cVermelho, "(TENTATIVAS):{FFFFFF} Você errou a senha {FF3030}%i{FFFFFF} vezes, e foi kickado do servidor.", pDados[playerid][pErrosSenha]);
  1151. SetTimerEx("KickPlayer", 100, false, "i", playerid);
  1152. }
  1153. }
  1154. }
  1155. }
  1156. }
  1157. case DialogChamarFaccao:
  1158. {
  1159. if(!response) return Kick(playerid);
  1160. {
  1161. if(response)
  1162. {
  1163. SPD(playerid, DialogFaccao, DSL, "Escolha sua facção", "CMD\nTCP\nADA\nMLC", "Selecionar", "Voltar");
  1164. }
  1165. }
  1166. }
  1167. case DialogFaccao:
  1168. {
  1169. if(!response) return SPD(playerid, DialogChamarFaccao, DSL, "Escolha sua facção", "CMD\nTCP\nMLC\nADA", "Selecionar", "Cancelar");
  1170. {
  1171. if(response)
  1172. {
  1173. switch(listitem)
  1174. {
  1175. case 0:
  1176. {
  1177. SPD(playerid, DialogEscolherCMD, DSL, "Comunidades", "Barão\nChapadão\nVila Kennedy", "Selecionar", "Voltar");
  1178. }
  1179. case 1:
  1180. {
  1181. SPD(playerid, DialogEscolherTCP, DSL, "Comunidades", "Dendê\nPinheiro\nCamará", "Selecionar", "Voltar");
  1182. }
  1183. case 2:
  1184. {
  1185. SPD(playerid, DialogEscolherADA, DSL, "Comunidades", "São Carlos\nPedreira\nMacaco", "Selecionar", "Voltar");
  1186. }
  1187. case 3:
  1188. {
  1189. SPD(playerid, DialogEscolherMLC, DSL, "Comunidades", "Fubá\nCesarão\nRio das Pedras", "Selecionar", "Voltar");
  1190. }
  1191. }
  1192. }
  1193. }
  1194. }
  1195. case DialogEscolherCMD:
  1196. {
  1197. if(!response) return SPD(playerid, DialogFaccao, DSL, "Escolha sua facção", "CMD\nTCP\nADA\nMLC", "Selecionar", "Voltar");
  1198. {
  1199. if(response)
  1200. {
  1201. switch(listitem)
  1202. {
  1203. case 0:
  1204. {
  1205. TogglePlayerSpectating(playerid, false);
  1206.  
  1207. pDados[playerid][pNovato] = 0;
  1208. pDados[playerid][pCMD] = 1;
  1209. pDados[playerid][pFaccoes] = 1;
  1210. SpawnPlayer(playerid);
  1211. Salvar(playerid);
  1212. }
  1213. case 1:
  1214. {
  1215. TogglePlayerSpectating(playerid, false);
  1216.  
  1217. pDados[playerid][pNovato] = 0;
  1218. pDados[playerid][pCMD] = 1;
  1219. pDados[playerid][pFaccoes] = 2;
  1220. SpawnPlayer(playerid);
  1221. Salvar(playerid);
  1222. }
  1223. case 3:
  1224. {
  1225. TogglePlayerSpectating(playerid, false);
  1226.  
  1227. pDados[playerid][pNovato] = 0;
  1228. pDados[playerid][pCMD] = 1;
  1229. pDados[playerid][pFaccoes] = 3;
  1230. SpawnPlayer(playerid);
  1231. Salvar(playerid);
  1232. }
  1233. }
  1234. }
  1235. }
  1236. }
  1237. case DialogEscolherTCP:
  1238. {
  1239. if(!response) return SPD(playerid, DialogFaccao, DSL, "Escolha sua facção", "CMD\nTCP\nADA\nMLC", "Selecionar", "Voltar");
  1240. {
  1241. if(response)
  1242. {
  1243. switch(listitem)
  1244. {
  1245. case 0:
  1246. {
  1247. TogglePlayerSpectating(playerid, false);
  1248.  
  1249. pDados[playerid][pNovato] = 0;
  1250. pDados[playerid][pTCP] = 1;
  1251. pDados[playerid][pFaccoes] = 4;
  1252. SpawnPlayer(playerid);
  1253. Salvar(playerid);
  1254. }
  1255. case 1:
  1256. {
  1257. TogglePlayerSpectating(playerid, false);
  1258.  
  1259. pDados[playerid][pNovato] = 0;
  1260. pDados[playerid][pTCP] = 1;
  1261. pDados[playerid][pFaccoes] = 5;
  1262. SpawnPlayer(playerid);
  1263. Salvar(playerid);
  1264. }
  1265. case 3:
  1266. {
  1267. TogglePlayerSpectating(playerid, false);
  1268.  
  1269. pDados[playerid][pNovato] = 0;
  1270. pDados[playerid][pTCP] = 1;
  1271. pDados[playerid][pFaccoes] = 6;
  1272. SpawnPlayer(playerid);
  1273. Salvar(playerid);
  1274. }
  1275. }
  1276. }
  1277. }
  1278. }
  1279. case DialogEscolherADA:
  1280. {
  1281. if(!response) return SPD(playerid, DialogFaccao, DSL, "Escolha sua facção", "CMD\nTCP\nMLC\nADA", "Selecionar", "Voltar");
  1282. {
  1283. if(response)
  1284. {
  1285. switch(listitem)
  1286. {
  1287. case 0:
  1288. {
  1289. TogglePlayerSpectating(playerid, false);
  1290.  
  1291. pDados[playerid][pNovato] = 0;
  1292. pDados[playerid][pADA] = 1;
  1293. pDados[playerid][pFaccoes] = 7;
  1294. SpawnPlayer(playerid);
  1295. Salvar(playerid);
  1296. }
  1297. case 1:
  1298. {
  1299. TogglePlayerSpectating(playerid, false);
  1300.  
  1301. pDados[playerid][pNovato] = 0;
  1302. pDados[playerid][pADA] = 1;
  1303. pDados[playerid][pFaccoes] = 8;
  1304. SpawnPlayer(playerid);
  1305. Salvar(playerid);
  1306. }
  1307. case 3:
  1308. {
  1309. TogglePlayerSpectating(playerid, false);
  1310.  
  1311. pDados[playerid][pNovato] = 0;
  1312. pDados[playerid][pADA] = 1;
  1313. pDados[playerid][pFaccoes] = 9;
  1314. SpawnPlayer(playerid);
  1315. Salvar(playerid);
  1316. }
  1317. }
  1318. }
  1319. }
  1320. }
  1321. case DialogEscolherMLC:
  1322. {
  1323. if(!response) return SPD(playerid, DialogFaccao, DSL, "Escolha sua facção", "CMD\nTCP\nADA\nMLC", "Selecionar", "Voltar");
  1324. {
  1325. if(response)
  1326. {
  1327. switch(listitem)
  1328. {
  1329. case 0:
  1330. {
  1331. TogglePlayerSpectating(playerid, false);
  1332.  
  1333. pDados[playerid][pNovato] = 0;
  1334. pDados[playerid][pMLC] = 1;
  1335. pDados[playerid][pFaccoes] = 10;
  1336. SpawnPlayer(playerid);
  1337. Salvar(playerid);
  1338. }
  1339. case 1:
  1340. {
  1341. TogglePlayerSpectating(playerid, false);
  1342.  
  1343. pDados[playerid][pNovato] = 0;
  1344. pDados[playerid][pMLC] = 1;
  1345. pDados[playerid][pFaccoes] = 11;
  1346. SpawnPlayer(playerid);
  1347. Salvar(playerid);
  1348. }
  1349. case 3:
  1350. {
  1351. TogglePlayerSpectating(playerid, false);
  1352.  
  1353. pDados[playerid][pNovato] = 0;
  1354. pDados[playerid][pMLC] = 1;
  1355. pDados[playerid][pFaccoes] = 12;
  1356. SpawnPlayer(playerid);
  1357. Salvar(playerid);
  1358. }
  1359. }
  1360. }
  1361. }
  1362. }
  1363. case DialogPM:
  1364. {
  1365. if(!response) return true;
  1366. {
  1367. if(response)
  1368. {
  1369. switch(listitem)
  1370. {
  1371. case 0:
  1372. {
  1373. if(pDados[playerid][pBloqPM] == 1)
  1374. {
  1375. pDados[playerid][pBloqPM] = false;
  1376. SPD(playerid, DialogPM, DSL, "Status de Privacidade", "Status PM [ON]", "Confirmar", "Cancelar");
  1377. }
  1378. else
  1379. {
  1380. pDados[playerid][pBloqPM] = true;
  1381. SPD(playerid, DialogPM, DSL, "Status de Privacidade", "Status PM [OFF]", "Confirmar", "Cancelar");
  1382. }
  1383. }
  1384. }
  1385. }
  1386. }
  1387. }
  1388. case DialogHospital:
  1389. {
  1390. if(!response) return true;
  1391. {
  1392. if(response)
  1393. {
  1394. switch(listitem)
  1395. {
  1396. case 0:
  1397. {
  1398. if(pDados[playerid][pDinheiro] < 460)
  1399. return SCM(playerid, cVermelho, "(ERRO):{FFFFFF} Você não tem dinheiro suficiente para alugar este veículo.");
  1400.  
  1401. VeiculoHp[playerid] = 1;
  1402.  
  1403. GetPlayerPos(playerid, pPos[0], pPos[1], pPos[2]);
  1404. GetPlayerFacingAngle(playerid, pPos[3]);
  1405. VeiculoHp[playerid] = CreateVehicle(481, pPos[0], pPos[1], pPos[2], pPos[3], -1, -1, 60);
  1406. PutPlayerInVehicle(playerid, VeiculoHp[playerid], 0);
  1407. GivePlayerMoney(playerid, pDados[playerid][pDinheiro] -= 460);
  1408.  
  1409. SendFormattedMessage(playerid, cAmarelo, "(AVISO):{FFFFFF} Você acaba de alugar uma %s por R$460,00.", vNome[GetVehicleModel(VeiculoHp[playerid]) - 400]);
  1410. SendFormattedMessage(playerid, cAmarelo, "(AVISO):{FFFFFF} Ao sair do(a) %s você terá 1 minutos para voltar, caso ao contrario ele(a) será deletado automaticamente pelo servidor...", vNome[GetVehicleModel(VeiculoHp[playerid]) - 400]);
  1411. }
  1412. case 1:
  1413. {
  1414. if(pDados[playerid][pDinheiro] < 2300)
  1415. return SCM(playerid, cVermelho, "(ERRO):{FFFFFF} Você não tem dinheiro suficiente para alugar este veículo.");
  1416.  
  1417. VeiculoHp[playerid] = 1;
  1418.  
  1419. GetPlayerPos(playerid, pPos[0], pPos[1], pPos[2]);
  1420. GetPlayerFacingAngle(playerid, pPos[3]);
  1421. VeiculoHp[playerid] = CreateVehicle(468, pPos[0], pPos[1], pPos[2], pPos[3], -1, -1, 60);
  1422. PutPlayerInVehicle(playerid, VeiculoHp[playerid], 0);
  1423. GivePlayerMoney(playerid, pDados[playerid][pDinheiro] -= 2300);
  1424.  
  1425. SendFormattedMessage(playerid, cAmarelo, "(AVISO):{FFFFFF} Você acaba de alugar uma %s por R$2.300,00.", vNome[GetVehicleModel(VeiculoHp[playerid]) - 400]);
  1426. SendFormattedMessage(playerid, cAmarelo, "(AVISO):{FFFFFF} Ao sair do(a) %s você terá 1 minutos para voltar, caso ao contrario ele(a) será deletado automaticamente pelo servidor...", vNome[GetVehicleModel(VeiculoHp[playerid]) - 400]);
  1427. }
  1428. case 2:
  1429. {
  1430. if(pDados[playerid][pDinheiro] < 6150)
  1431. return SCM(playerid, cVermelho, "(ERRO):{FFFFFF} Você não tem dinheiro suficiente para alugar este veículo.");
  1432.  
  1433. VeiculoHp[playerid] = 1;
  1434.  
  1435. GetPlayerPos(playerid, pPos[0], pPos[1], pPos[2]);
  1436. GetPlayerFacingAngle(playerid, pPos[3]);
  1437. VeiculoHp[playerid] = CreateVehicle(560, pPos[0], pPos[1], pPos[2], pPos[3], -1, -1, 60);
  1438. PutPlayerInVehicle(playerid, VeiculoHp[playerid], 0);
  1439. GivePlayerMoney(playerid, pDados[playerid][pDinheiro] -= 6150);
  1440.  
  1441. SendFormattedMessage(playerid, cAmarelo, "(AVISO):{FFFFFF} Você acaba de alugar uma %s por R$6.150,00.", vNome[GetVehicleModel(VeiculoHp[playerid]) - 400]);
  1442. SendClientMessage(playerid, cAmarelo, "(AVISO):{FFFFFF} Ao sair do(a) %s você terá 1 minutos para voltar, caso ao contrario ele(a) será deletado automaticamente pelo servidor...");
  1443. }
  1444. }
  1445. }
  1446. }
  1447. }
  1448. case DialogMochila:
  1449. {
  1450. if(!response) return true;
  1451. {
  1452. if(response)
  1453. {
  1454. switch(listitem)
  1455. {
  1456. case 0:
  1457. {
  1458. if(UsandoSub[playerid] == 1)
  1459. return SCM(playerid, cVermelho, "(ERRO):{FFFFFF} Você já está fumando, espere o efeito acabar para fumar de novo.");
  1460.  
  1461. if(pDados[playerid][pMaconha] == 0)
  1462. return SCM(playerid, cVermelho, "(ERRO):{FFFFFF} Você não tem maconha.");
  1463.  
  1464. pDados[playerid][pMaconha] --;
  1465. UsandoSub[playerid] = 1;
  1466.  
  1467. SetPlayerWeather(playerid, 206);
  1468. SetTimerEx("NormalizarPlayer", 35000, false, "i", playerid);
  1469. SetPlayerArmour(playerid, Colete + 5);
  1470. SetPlayerArmour(playerid, Vida + 5);
  1471.  
  1472. format(String, sizeof(String), "(AVISO):{FFFFFF} O %s está fumando uma maconha.", NomeJogador(playerid));
  1473. SendLocalMessage(playerid, cLocal, String);
  1474. }
  1475. }
  1476. }
  1477. }
  1478. }
  1479. case DialogComprarDrogas:
  1480. {
  1481. if(!response) return true;
  1482. {
  1483. if(response)
  1484. {
  1485. switch(listitem)
  1486. {
  1487. case 0:
  1488. {
  1489. SPD(playerid, DialogComprarMaconha, DSI, "{FFFFFF}Menu de Compras", "{FFFFFF}- Digite abaixo quanta(s) grama(s) de ({2ECC71}Maconha{FFFFFF}) você deseja.\n{E74C3C}Observação: {FFFFFF}Digite abaixo uma quantidade de ({E74C3C}1{FFFFFF}/{2ECC71}100{FFFFFF}).", "Comprar", "Voltar");
  1490. }
  1491. }
  1492. }
  1493. }
  1494. }
  1495. case DialogComprarMaconha:
  1496. {
  1497. if(!response) return SPD(playerid, DialogComprarDrogas, DSL, "Menu de Substâncias", "Maconha R$10,00", "Selecionar", "Cancelar");
  1498. {
  1499. if(response)
  1500. {
  1501. new Total = strval(inputtext) * 10;
  1502.  
  1503. if(!strval(inputtext))
  1504. return SPD(playerid, DialogComprarMaconha, DSI, "{FFFFFF}Menu de Compras", "{FFFFFF}- Digite abaixo quanta(s) grama(s) de ({2ECC71}Maconha{FFFFFF}) você deseja.\n{E74C3C}Observação: {FFFFFF}Digite abaixo uma quantidade de ({E74C3C}1{FFFFFF}/{2ECC71}100{FFFFFF}).\n\n{E74C3C}Coloque apenas números...", "Comprar", "Voltar");
  1505.  
  1506. if(strval(inputtext) < 0 || strval(inputtext) > 100)
  1507. return SPD(playerid, DialogComprarMaconha, DSI, "{FFFFFF}Menu de Compras", "{FFFFFF}- Digite abaixo quanta(s) grama(s) de ({2ECC71}Maconha{FFFFFF}) você deseja.\n{E74C3C}Observação: {FFFFFF}Digite abaixo uma quantidade de ({E74C3C}1{FFFFFF}/{2ECC71}100{FFFFFF}).\n\n{E74C3C}Quantidade invalida...", "Comprar", "Voltar");
  1508.  
  1509. if(GetPlayerMoney(playerid) < Total)
  1510. return SCM(playerid, cVermelho, "(ERRO):{FFFFFF} Você não tem dinheiro o suficiente para comprar a droga.");
  1511.  
  1512. if(pDados[playerid][pMaconha] > 100)
  1513. return SCM(playerid, cVermelho, "(ERRO):{FFFFFF} Sua mochila está cheia de maconha.");
  1514.  
  1515. pDados[playerid][pDinheiro] -= Total;
  1516. pDados[playerid][pMaconha] += strval(inputtext);
  1517.  
  1518. format(String, sizeof(String), "(AVISO):{FFFFFF} O player %s comprou %i de maconha, e custou R$%i", NomeJogador(playerid), strval(inputtext), Total);
  1519. SendLocalMessage(playerid, cLocal, String);
  1520. }
  1521. }
  1522. }
  1523. case DialogVenderMaconha:
  1524. {
  1525. if(!response)
  1526. {
  1527. SCM(playerid, cVermelho, "(ERRO):{FFFFFF} Você recusou a maconha.");
  1528.  
  1529. if(SubOfere[playerid] == 0)
  1530. return SCM(playerid, cVermelho, "(ERRO):{FFFFFF} O player recusou sua maconha");
  1531.  
  1532. PrecoSub[playerid] = 0;
  1533. GramaSub[playerid] = 0;
  1534. SubOfere[playerid] = 0;
  1535. }
  1536. if(response)
  1537. {
  1538. pDados[playerid][pDinheiro] -= PrecoSub[playerid];
  1539. pDados[playerid][pMaconha] += GramaSub[playerid];
  1540.  
  1541. pDados[SubOfere[playerid]][pDinheiro] += PrecoSub[playerid];
  1542. pDados[SubOfere[playerid]][pMaconha] -= GramaSub[playerid];
  1543.  
  1544. SCM(playerid, cAmarelo, "(AVISO):{FFFFFF} Você aceitou a maconha com sucesso.");
  1545.  
  1546. format(String, sizeof(String), "O player %s aceitou a sua maconha, você lucrou: R$%d.", NomeJogador(playerid), PrecoSub[playerid]);
  1547. SCM(SubOfere[playerid], cAmarelo, String);
  1548.  
  1549. PrecoSub[playerid] = 0;
  1550. GramaSub[playerid] = 0;
  1551. SubOfere[playerid] = 0;
  1552. }
  1553. }
  1554. }
  1555. return true;
  1556. }
  1557.  
  1558. public OnPlayerText(playerid, text[])
  1559. {
  1560. new
  1561. Float:pPos[3]
  1562. ;
  1563.  
  1564. GetPlayerPos(playerid, pPos[0], pPos[1], pPos[2]);
  1565.  
  1566. if(Logado[playerid] == false)
  1567. return SCM(playerid, cVermelho, Error_Logged), false;
  1568.  
  1569. if(FloodChat[playerid] > gettime())
  1570. {
  1571. if(pDados[playerid][pAdmin] == 0)
  1572. {
  1573. SCM(playerid, cVermelho, "(ERRO):{FFFFFF} Flood Detectado!");
  1574. return false;
  1575. }
  1576. }
  1577.  
  1578. FloodChat[playerid] = gettime() + 2;
  1579.  
  1580. Loop(i, MAX_PLAYERS)
  1581. {
  1582. if(IsPlayerConnected(i) && IsPlayerInRangeOfPoint(i, 20, pPos[0], pPos[1], pPos[2]))
  1583. {
  1584. SendFormattedMessage(i, GetPlayerColor(playerid), "%s {FFFFFF}(ID: %i): %s", NomeJogador(playerid), playerid, text);
  1585. }
  1586. }
  1587. SetPlayerChatBubble(playerid, text, cBranco, 100.0, 10000);
  1588. return false;
  1589. }
  1590.  
  1591. CallBack: MostrarDados(playerid)
  1592. {
  1593. if(!DOF2::FileExists(PegarDados(playerid)))
  1594. {
  1595. ClearChat(playerid, 10);
  1596. SCM(playerid, cAmarelo, "(AVISO):{FFFFFF} Seja bem-vindo ao servidor Faction And Cops.");
  1597. SPD(playerid, DialogRegistro, DSP,
  1598. "{FFFFFF}Registro: Faction And Cops.",
  1599. "{FFFFFF}(Servidor: {FF3030}Faction And Cops{FFFFFF}),\n\nOlá Amigo(a)!. Você ainda não possui uma conta em nosso ''{FF3030}Banco de Dados{FFFFFF}''.\nDigite uma senha abaixo para se registrar.",
  1600. "Registrar", "Sair");
  1601. }
  1602. else
  1603. {
  1604. ClearChat(playerid, 10);
  1605. SCM(playerid, cAmarelo, "(AVISO):{FFFFFF} Seja bem-vindo ao servidor Faction And Cops.");
  1606. SPD(playerid, DialogLogin, DSP,
  1607. "{FFFFFF}Login: Faction And Cops.",
  1608. "{FFFFFF}(Servidor: {FF3030}Faction And Cops{FFFFFF}),\n\nOlá Amigo(a)!. Você já possui uma conta em nosso ''{FF3030}Banco de Dados{FFFFFF}''.\nDigite sua senha abaixo para efetuar o login.",
  1609. "Logar", "Sair");
  1610. }
  1611. return true;
  1612. }
  1613.  
  1614. CallBack: Salvar(playerid)
  1615. {
  1616. if(Logado[playerid] == true)
  1617. {
  1618. getdate(AnoLogado[playerid], MesLogado[playerid], DiaLogado[playerid]);
  1619. gettime(HoraLogado[playerid], MinutoLogado[playerid], SegundosLogado[playerid]);
  1620.  
  1621. DOF2::SetInt(PegarDados(playerid), "Cargo Vapor", pDados[playerid][pVapor]);
  1622. DOF2::SetInt(PegarDados(playerid), "Score", pDados[playerid][pScore]);
  1623. DOF2::SetInt(PegarDados(playerid), "Quantidade de Maconha", pDados[playerid][pMaconha]);
  1624. DOF2::SetInt(PegarDados(playerid), "Experiência", pDados[playerid][pExp]);
  1625. DOF2::SetInt(PegarDados(playerid), "Dinheiro", pDados[playerid][pDinheiro]);
  1626. DOF2::SetInt(PegarDados(playerid), "Novato", pDados[playerid][pNovato]);
  1627. DOF2::SetInt(PegarDados(playerid), "Privacidade", pDados[playerid][pBloqPM]);
  1628. DOF2::SetInt(PegarDados(playerid), "Horas Jogada", pDados[playerid][pTempoJogado]);
  1629. DOF2::SetInt(PegarDados(playerid), "Skin", pDados[playerid][pSkin]);
  1630. DOF2::SetInt(PegarDados(playerid), "Logou", pDados[playerid][pLogou]);
  1631. DOF2::SetInt(PegarDados(playerid), "Matou", pDados[playerid][pMatou]);
  1632. DOF2::SetInt(PegarDados(playerid), "Morreu", pDados[playerid][pMorreu]);
  1633. DOF2::SetInt(PegarDados(playerid), "Facção", pDados[playerid][pFaccoes]);
  1634. DOF2::SetInt(PegarDados(playerid), "Comando Vermelho", pDados[playerid][pCMD]);
  1635. DOF2::SetInt(PegarDados(playerid), "Terceiro Comando Puro", pDados[playerid][pTCP]);
  1636. DOF2::SetInt(PegarDados(playerid), "Amigo dos Amigos", pDados[playerid][pADA]);
  1637. DOF2::SetInt(PegarDados(playerid), "Mílicia", pDados[playerid][pMLC]);
  1638. DOF2::SetInt(PegarDados(playerid), "Cargo Staff", pDados[playerid][pAdmin]);
  1639.  
  1640. DOF2::SetInt(PegarDados(playerid), "Segundos", SegundosLogado[playerid]);
  1641. DOF2::SetInt(PegarDados(playerid), "Minuto", MinutoLogado[playerid]);
  1642. DOF2::SetInt(PegarDados(playerid), "Hora", HoraLogado[playerid]);
  1643. DOF2::SetInt(PegarDados(playerid), "Dia", DiaLogado[playerid]);
  1644. DOF2::SetInt(PegarDados(playerid), "Mês", MesLogado[playerid]);
  1645. DOF2::SetInt(PegarDados(playerid), "Ano", AnoLogado[playerid]);
  1646. DOF2::SaveFile();
  1647. }
  1648. return true;
  1649. }
  1650.  
  1651. CallBack: CarregarDados(playerid)
  1652. {
  1653. if(DOF2::FileExists(PegarDados(playerid)))
  1654. {
  1655. pDados[playerid][pVapor] = DOF2::GetInt(PegarDados(playerid), "Cargo Vapor");
  1656. pDados[playerid][pScore] = DOF2::GetInt(PegarDados(playerid), "Score");
  1657. pDados[playerid][pMaconha] = DOF2::GetInt(PegarDados(playerid), "Quantidade de Maconha");
  1658. pDados[playerid][pExp] = DOF2::GetInt(PegarDados(playerid), "Experiência");
  1659. pDados[playerid][pDinheiro] = DOF2::GetInt(PegarDados(playerid), "Dinheiro");
  1660. pDados[playerid][pNovato] = DOF2::GetInt(PegarDados(playerid), "Novato");
  1661. pDados[playerid][pBloqPM] = DOF2::GetInt(PegarDados(playerid), "Privacidade");
  1662. pDados[playerid][pTempoJogado] = DOF2::GetInt(PegarDados(playerid), "Horas Jogada");
  1663. pDados[playerid][pSkin] = DOF2::GetInt(PegarDados(playerid), "Skin");
  1664. pDados[playerid][pLogou] = DOF2::GetInt(PegarDados(playerid), "Logou");
  1665. pDados[playerid][pMatou] = DOF2::GetInt(PegarDados(playerid), "Matou");
  1666. pDados[playerid][pMorreu] = DOF2::GetInt(PegarDados(playerid), "Morreu");
  1667. pDados[playerid][pFaccoes] = DOF2::GetInt(PegarDados(playerid), "Facção");
  1668. pDados[playerid][pCMD] = DOF2::GetInt(PegarDados(playerid), "Comando Vermelho");
  1669. pDados[playerid][pTCP] = DOF2::GetInt(PegarDados(playerid), "Terceiro Comando Puro");
  1670. pDados[playerid][pADA] = DOF2::GetInt(PegarDados(playerid), "Amigo dos Amigos");
  1671. pDados[playerid][pMLC] = DOF2::GetInt(PegarDados(playerid), "Mílicia");
  1672. pDados[playerid][pAdmin] = DOF2::GetInt(PegarDados(playerid), "Cargo Staff");
  1673.  
  1674. SegundosLogado[playerid] = DOF2::GetInt(PegarDados(playerid), "Segundos");
  1675. MinutoLogado[playerid] = DOF2::GetInt(PegarDados(playerid), "Minuto");
  1676. HoraLogado[playerid] = DOF2::GetInt(PegarDados(playerid), "Hora");
  1677. DiaLogado[playerid] = DOF2::GetInt(PegarDados(playerid), "Dia");
  1678. MesLogado[playerid] = DOF2::GetInt(PegarDados(playerid), "Mês");
  1679. AnoLogado[playerid] = DOF2::GetInt(PegarDados(playerid), "Ano");
  1680. }
  1681. return true;
  1682. }
  1683.  
  1684. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  1685. {
  1686. if(Tecla(KEY_SECONDARY_ATTACK))
  1687. {
  1688. for(new i = 0; i < sizeof PosDrogas; ++ i)
  1689. {
  1690. if(IsPlayerInRangeOfPoint(playerid, 1.0, PosDrogas[i][0], PosDrogas[i][1], PosDrogas[i][2]))
  1691. {
  1692. if(pDados[playerid][pVapor] == 1)
  1693. {
  1694. SPD(playerid, DialogComprarDrogas, DSL, "Menu de Substâncias", "Maconha R$10,00", "Selecionar", "Cancelar");
  1695. }
  1696. else return SCM(playerid, cVermelho, "(ERRO):{FFFFFF} Você não é um vapor.");
  1697. }
  1698. }
  1699. }
  1700. return true;
  1701. }
  1702.  
  1703. public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
  1704. {
  1705. return true;
  1706. }
  1707.  
  1708. public OnPlayerExitVehicle(playerid, vehicleid)
  1709. {
  1710. if(vehicleid == VeiculoHp[playerid])
  1711. {
  1712. SetTimerEx("DestroyPlayerVehicle", 6000, false, "d", vehicleid);
  1713. }
  1714. return true;
  1715. }
  1716.  
  1717. public OnPlayerPickUpPickup(playerid, pickupid)
  1718. {
  1719. Loop(i, 4)
  1720. {
  1721. if(pickupid == Hospital[i])
  1722. {
  1723. if(VeiculoHp[playerid] >= 1) return SCM(playerid, cVermelho, "(ERRO):{FFFFFF} Você já pegou um veículo.");
  1724.  
  1725. SPD(playerid, DialogHospital, DSTH, "{FFFFFF}Hospital: Algue seu Veículo!",
  1726. "Veículos\tPreços\n\
  1727. {FFFFFF}BMX\t{33AA33}R$460,00\n\
  1728. {FFFFFF}Sanchez\t{33AA33}R$2.300,00\n\
  1729. {FFFFFF}Sultan\t{33AA33}R$6.150,00",
  1730. "Selecionar", "Cancelar");
  1731. }
  1732. }
  1733. return true;
  1734. }
  1735.  
  1736. stock ConvertTime(number)
  1737. {
  1738. new days = 0, hours = 0, mins = 0, secs = 0, string[100];
  1739. hours = floatround(number / 3600);
  1740. mins = floatround((number / 60) - (hours * 60));
  1741. secs = floatround(number - ((hours * 3600) + (mins * 60)));
  1742.  
  1743. if(hours >= 24)
  1744. {
  1745. days = floatround((hours/24), floatround_floor);
  1746. hours = hours % 24;
  1747. }
  1748. if(days > 0)
  1749. {
  1750. format(string, 100, "%d dias, %02d:%02d:%02d", days, hours, mins, secs);
  1751. }
  1752. else if(hours > 0)
  1753. {
  1754. format(string, 100, "%02d:%02d:%02d", hours, mins, secs);
  1755. }
  1756. else
  1757. {
  1758. format(string, 100, "%02d:%02d", mins, secs);
  1759. }
  1760. return string;
  1761. }
  1762.  
  1763. CallBack: Segunds(playerid)
  1764. {
  1765. Loop(i, MAX_PLAYERS)
  1766. {
  1767. if(IsPlayerConnected(i) && Logado[i] == true)
  1768. {
  1769. pDados[i][pTempoJogado] += 1;
  1770.  
  1771. SetPlayerScore(i, pDados[i][pScore]);
  1772. SetPlayerMoney(i, pDados[i][pDinheiro]);
  1773. }
  1774. }
  1775. return true;
  1776. }
  1777.  
  1778. CallBack: DestroyPlayerVehicle(playerid)
  1779. return DestroyVehicle(VeiculoHp[playerid]);
  1780.  
  1781. SetPlayerMoney(playerid, Quantidade)
  1782. {
  1783. ResetPlayerMoney(playerid);
  1784. return GivePlayerMoney(playerid, Quantidade);
  1785. }
  1786.  
  1787. stock GetVehicleModelID(nome[])
  1788. {
  1789. Loop(i, 211) if(strfind(vNome[i], nome, true) != -1) return i + 400;
  1790. return -true;
  1791. }
  1792.  
  1793. CallBack: NormalizarPlayer(playerid)
  1794. {
  1795. new
  1796. HoraH,
  1797. MinH
  1798. ;
  1799.  
  1800. if(UsandoSub[playerid] == 1)
  1801. return SCM(playerid, cAmarelo, "(AVISO):{FFFFFF} Você voltou ao normal, já pode fumar novamente.");
  1802.  
  1803. gettime(HoraH, MinH);
  1804. SetPlayerTime(playerid, HoraH, MinH);
  1805. SetPlayerWeather(playerid, 0);
  1806. UsandoSub[playerid] = 0;
  1807. return true;
  1808. }
  1809.  
  1810. CallBack: SendAdminMessage(COLOR, const String[])
  1811. {
  1812. Loop(i, MAX_PLAYERS)
  1813. {
  1814. if(IsPlayerConnected(i) && pDados[i][pAdmin] > 0)
  1815. {
  1816. SCM(i, COLOR, String);
  1817. }
  1818. }
  1819. return true;
  1820. }
  1821.  
  1822. CallBack: SendLocalMessage(playerid, COLOR, const String[])
  1823. {
  1824. new
  1825. Float:pPos[3]
  1826. ;
  1827.  
  1828. GetPlayerPos(playerid, pPos[0], pPos[1], pPos[2]);
  1829.  
  1830. Loop(i, MAX_PLAYERS)
  1831. {
  1832. if(IsPlayerConnected(i) && IsPlayerInRangeOfPoint(i, 30.0, pPos[0], pPos[1], pPos[2]))
  1833. {
  1834. SCM(i, COLOR, String);
  1835. }
  1836. }
  1837. return true;
  1838. }
  1839.  
  1840. CallBack: Mensagens()
  1841. {
  1842. new
  1843. String[130]
  1844. ;
  1845.  
  1846. format(String, sizeof(String), "%s", Mensagems[random(sizeof(Mensagems))]);
  1847. return SCMA(-1, String);
  1848. }
  1849.  
  1850. CallBack: KickPlayer(playerid) return Kick(playerid);
  1851. CallBack: BanPlayer(playerid) return Ban(playerid);
  1852. CallBack: ClearChat(playerid, linhas) { for(new i = 0; i < linhas; i++) { SCM(playerid, -1, #); } }
  1853. CallBack: GetPlayerSpeedEx(playerid) { new Float: pPos[3]; GetPlayerVelocity(playerid, pPos[0], pPos[1], pPos[2]); return floatround(floatmul(floatsqroot(floatadd(floatpower(pPos[0], 2), floatpower(pPos[1], 2))), 170.0)); }
  1854. NomeJogador(playerid) { static Name[MAX_PLAYER_NAME]; GetPlayerName(playerid, Name, sizeof(Name)); return Name; }
  1855. PegarDados(playerid) { new Arquivo[45]; format(Arquivo, sizeof(Arquivo), "pJogadores/%s.ini", NomeJogador(playerid)); return Arquivo; }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement