Guest User

Untitled

a guest
Aug 25th, 2012
152
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 40.77 KB | None | 0 0
  1. #include <a_samp>
  2. #include <streamer>
  3. #include <sscanf>
  4. #include <zcmd>
  5. #include <SII>
  6. #pragma tabsize 0
  7. #define dourado 0xD7FF00
  8. #define azulclaro 0x87CEFA
  9. #define vermelho 0xFF0000
  10. #define COLOR_RED 0xFF0000
  11. #define verde 0x00FF00
  12. #define azul 0x0000FF
  13. #define preto 0x000000
  14. #define branco 0xFFFFFF
  15. #define COR_US 0xFF0000
  16. #define COR_RU 0x0000FF
  17. #define COLOR_LIGHTPINK 0xFF00F7
  18. #define DIALOG_LOGAR 1
  19. #define DIALOG_REGISTRO 2
  20. #define PASTA_CONTAS_ADM Admins/%s.ini
  21. #define PASTA_CONTAS Contas/%s.ini
  22. new SVNAMES[4][] =
  23. {
  24. "~> [TWM] Trinity Wars - Battlefield 3 v1.0 <~",
  25. "~> Vagas na Administração <~",
  26. "~> Trinity Pawners Team <~",
  27. "~> [TWM] Trinity Wars - Battlefield 3 v1.0 <~"
  28. };
  29.  
  30. new Cores[] = {
  31. 0x20B2AAAA,
  32. 0xFFFFFFAA,
  33. 0x33AA33AA,
  34. 0xE0FFFFAA,
  35. 0x934FF6F6,
  36. 0xF4005BF6,
  37. 0xF68E00F6,
  38. 0x00E7C6F6,
  39. 0x5EB7E3F6,
  40. 0xCD6CF6F6,
  41. 0x685000F6
  42. };
  43.  
  44. forward SendMensagens();
  45. new RandomAnnounces [20][256] = {
  46. "[TWBF3] Visite o servidor RPG Trinity! 64.31.30.139:8820",
  47. "[TWBF3] Visite vosso fórum! /forum",
  48. "[TWBF3] Veja mais sobre nosso sistema de jogo vendo o /ajuda",
  49. "[TWBF3] Nesse servidor, tentamos simular Battlefield 3, um jogo disponibilizado pela DICE",
  50. "[TWBF3] Digite /ajuda para saber mais sobre o sistema de jogo exclusivo da TWBF3",
  51. "[TWBF3] Digite /creditos para ver os autores do GameMode e os colaboradores",
  52. "[TWBF3] Não faça friendly fire! Você pode ser kickado caso seja comprovado que seus atos foram voluntários",
  53. "[TWBF3] Não faça Spawn Camp (camperar no spawn inimigo). Você pode ser banido caso haja insistência",
  54. "[TWBF3] É proibido matar com as hélices do helicóptero! Assim como no BF3, aqui deve-se simular uma guerra",
  55. "[TWBF3] Seu Hydra está na mira de um míssel? Use os flares apertando ALT para desviá-lo",
  56. "[TWBF3] Ao digitar algo, apenas as pessoas em um raio de 25 metros o ouvirão",
  57. "[TWBF3] Para falar com o time, digite /al [texto] no time US e /de no time RU",
  58. "[TWBF3] O Close Quarters ocorre apenas com mais 10 players e com a presença de um ADM",
  59. "[TWBF3] Toda a Staff estará identificada com o prefixo [TWBF3] e sufixo [ADM_Level] para identificar seu Nível ADM",
  60. "[TWBF3] Agradecimentos ao Fórum SAMP e Trinity Pawners Team por terem ajudado na construção desse GameMode",
  61. "[TWBF3] A Classe de Recon é eficiente a longa distância. Levando desvantagem no 'close combat'",
  62. "[TWBF3] A Classe de Assault é uma classe 'all purposes' sendo boa tanto de perto quanto de longe",
  63. "[TWBF3] A Classe de Suporte é uma classe 'all purposes' tendo foco em dar suporte ao time",
  64. "[TWBF3] A Classe de Engenheiro é muito eficiente de perto, inútil de longe. Pode reparar veículos.",
  65. "[TWBF3] Não cometa friendly fire! Você será punido caso mate algum companheiro!"
  66. };
  67.  
  68. public SendMensagens()
  69. {
  70. new string[265];
  71. new random1 = random(sizeof(RandomAnnounces));
  72. format(string, sizeof(string), "%s", RandomAnnounces[random1]);
  73. SendClientMessageToAll(verde, string);
  74. return 1;
  75. }
  76.  
  77. enum
  78. {
  79. pSenha,
  80. pScore,
  81. pDinheiro,
  82. pAdmin,
  83. };
  84. new pClass[MAX_PLAYERS];
  85. /*new Text3D:USTeamRecon;
  86. new Text3D:USTeamAssault;
  87. new Text3D:USTeamEngenheiro;
  88. new Text3D:USTeamSuporte;
  89. new Text3D:RUTeamRecon;
  90. new Text3D:RUTeamAssault;
  91. new Text3D:RUTeamEngenheiro;
  92. new Text3D:RUTeamSuporte;*/
  93. new gPlayerName[MAX_PLAYERS][MAX_PLAYER_NAME];
  94. new PontosRecon[MAX_PLAYERS];
  95. new PontosEngenheiro[MAX_PLAYERS];
  96. new PontosSuporte[MAX_PLAYERS];
  97. new PontosAssault[MAX_PLAYERS];
  98. new ClassePlayer[MAX_PLAYERS];
  99. new Text:rodape[MAX_PLAYERS];
  100. new medkit[MAX_PLAYERS];
  101. new Streak[MAX_PLAYERS];
  102.  
  103. main()
  104. {
  105. print("\n----------------------------------");
  106. print(" Trinity Wars - Mata Mata 2012 ");
  107. print(" Créditos pelo GameMode: ");
  108. print(" Trinity Pawners Team ");
  109. print(" ~> GM Carregado com Sucesso <~ ");
  110. print("----------------------------------\n");
  111. }
  112.  
  113. public OnGameModeInit()
  114. {
  115. AddStaticVehicle(520,334.50000000,-1803.50000000,5.50000000,0.00000000,-1,-1); //Hydra
  116. AddStaticVehicle(520,323.60000610,-1803.50000000,5.50000000,0.00000000,-1,-1); //Hydra
  117. AddStaticVehicle(425,346.79998779,-1806.09997559,5.50000000,0.00000000,-1,-1); //Hunter
  118. AddStaticVehicle(425,314.20001221,-1800.80004883,5.40000010,0.00000000,-1,-1); //Hunter
  119. AddStaticVehicle(470,751.20001221,-1241.40002441,13.69999981,180.00000000,-1,-1); //Patriot
  120. AddStaticVehicle(470,765.00000000,-1234.39941406,13.69999981,0.00000000,-1,-1); //Patriot
  121. AddStaticVehicle(470,769.09960938,-1234.39941406,13.69999981,0.00000000,-1,-1); //Patriot
  122. AddStaticVehicle(470,773.09960938,-1234.29980469,13.69999981,0.00000000,-1,-1); //Patriot
  123. AddStaticVehicle(470,761.50000000,-1234.39941406,13.69999981,0.00000000,-1,-1); //Patriot
  124. AddStaticVehicle(470,746.90002441,-1241.40002441,13.69999981,180.00000000,-1,-1); //Patriot
  125. AddStaticVehicle(470,747.69921875,-1234.39941406,13.69999981,0.00000000,-1,-1); //Patriot
  126. AddStaticVehicle(470,739.59960938,-1234.39941406,13.69999981,0.00000000,-1,-1); //Patriot
  127. AddStaticVehicle(470,743.19921875,-1234.29980469,13.69999981,0.00000000,-1,-1); //Patriot
  128. AddStaticVehicle(470,743.20001221,-1241.30004883,13.69999981,180.00000000,-1,-1); //Patriot
  129. AddStaticVehicle(470,739.29998779,-1241.50000000,13.69999981,180.00000000,-1,-1); //Patriot
  130. AddStaticVehicle(470,761.00000000,-1241.40002441,13.69999981,180.00000000,-1,-1); //Patriot
  131. AddStaticVehicle(470,764.90002441,-1241.30004883,13.69999981,180.00000000,-1,-1); //Patriot
  132. AddStaticVehicle(470,769.09997559,-1241.40002441,13.69999981,180.00000000,-1,-1); //Patriot
  133. AddStaticVehicle(470,773.20001221,-1241.30004883,13.69999981,180.00000000,-1,-1); //Patriot
  134. AddStaticVehicle(425,2161.30004883,-1187.59997559,24.70000076,0.00000000,-1,-1); //Hunter
  135. AddStaticVehicle(425,2149.69995117,-1187.40002441,24.70000076,0.00000000,-1,-1); //Hunter
  136. AddStaticVehicle(520,2160.89990234,-1168.69995117,24.70000076,0.00000000,-1,-1); //Hydra
  137. AddStaticVehicle(520,2148.80004883,-1168.59997559,24.70000076,0.00000000,-1,-1); //Hydra
  138. AddStaticVehicle(520,2155.39990234,-1155.09997559,24.79999924,0.00000000,-1,-1); //Hydra
  139. AddStaticVehicle(470,2036.69995117,-1429.80004883,17.10000038,180.00000000,-1,-1); //Patriot
  140. AddStaticVehicle(470,2033.30004883,-1429.69995117,17.20000076,180.00000000,-1,-1); //Patriot
  141. AddStaticVehicle(470,2029.80004883,-1429.80004883,17.20000076,180.00000000,-1,-1); //Patriot
  142. AddStaticVehicle(470,2040.00000000,-1447.40002441,17.60000038,90.00000000,-1,-1); //Patriot
  143. AddStaticVehicle(470,2096.39990234,-1447.09997559,23.89999962,270.00000000,-1,-1); //Patriot
  144. AddStaticVehicle(470,2000.59997559,-1403.69995117,17.70000076,180.00000000,-1,-1); //Patriot
  145. AddStaticVehicle(470,2001.19921875,-1357.39941406,23.79999924,0.00000000,-1,-1); //Patriot
  146. AddStaticVehicle(470,2000.69995117,-1422.30004883,16.89999962,180.00000000,-1,-1); //Patriot
  147. AddStaticVehicle(470,2004.39941406,-1422.29980469,16.89999962,180.00000000,-1,-1); //Patriot
  148. AddStaticVehicle(470,2010.80004883,-1453.80004883,13.69999981,90.00000000,-1,-1); //Patriot
  149. AddStaticVehicle(470,1995.79980469,-1445.59960938,13.69999981,180.00000000,-1,-1); //Patriot
  150. /*CreateDynamicObject(1318,1412.90002441,-1700.69995117,13.30000019,0.00000000,0.00000000,0.00000000); //object(arrow) (1)
  151. CreateDynamicObject(2898,1495.00000000,-1729.40002441,12.39999962,0.00000000,0.00000000,0.00000000); //object(funturf_law) (1)
  152. CreateDynamicObject(2898,1494.90002441,-1734.69995117,12.39999962,0.00000000,0.00000000,0.00000000); //object(funturf_law) (2)
  153. CreateDynamicObject(2898,1498.79980469,-1734.59960938,12.39999962,0.00000000,0.00000000,0.00000000); //object(funturf_law) (3)
  154. CreateDynamicObject(2898,1498.79980469,-1729.89941406,12.39999962,0.00000000,0.00000000,0.00000000); //object(funturf_law) (4)
  155. CreateDynamicObject(2898,1491.40002441,-1734.69995117,12.39999962,0.00000000,0.00000000,0.00000000); //object(funturf_law) (5)
  156. CreateDynamicObject(2898,1491.30004883,-1729.50000000,12.39999962,0.00000000,0.00000000,0.00000000); //object(funturf_law) (6)
  157. CreateDynamicObject(2898,1502.90002441,-1729.40002441,12.39999962,0.00000000,0.00000000,0.00000000); //object(funturf_law) (7)
  158. CreateDynamicObject(2898,1502.90002441,-1734.69995117,12.39999962,0.00000000,0.00000000,0.00000000); //object(funturf_law) (8)
  159. CreateDynamicObject(2898,1506.30004883,-1729.90002441,12.39999962,0.00000000,0.00000000,0.00000000); //object(funturf_law) (9)
  160. CreateDynamicObject(2898,1506.30004883,-1734.59997559,12.39999962,0.00000000,0.00000000,0.00000000); //object(funturf_law) (10)
  161. CreateDynamicObject(2898,1514.40002441,-1734.59997559,12.39999962,0.00000000,0.00000000,0.00000000); //object(funturf_law) (11)
  162. CreateDynamicObject(2898,1510.30004883,-1729.69995117,12.39999962,0.00000000,0.00000000,0.00000000); //object(funturf_law) (12)
  163. CreateDynamicObject(2898,1487.30004883,-1729.90002441,12.39999962,0.00000000,0.00000000,0.00000000); //object(funturf_law) (13)
  164. CreateDynamicObject(2898,1475.50000000,-1730.00000000,12.39999962,0.00000000,0.00000000,0.00000000); //object(funturf_law) (14)
  165. CreateDynamicObject(2898,1483.30004883,-1734.69995117,12.39999962,0.00000000,0.00000000,0.00000000); //object(funturf_law) (15)
  166. CreateDynamicObject(2898,1483.30004883,-1730.00000000,12.39999962,0.00000000,0.00000000,0.00000000); //object(funturf_law) (16)
  167. CreateDynamicObject(2898,1471.40002441,-1734.59997559,12.39999962,0.00000000,0.00000000,0.00000000); //object(funturf_law) (17)
  168. CreateDynamicObject(2898,1479.40002441,-1730.00000000,12.39999962,0.00000000,0.00000000,0.00000000); //object(funturf_law) (18)
  169. CreateDynamicObject(2898,1487.19995117,-1735.00000000,12.39999962,0.00000000,0.00000000,0.00000000); //object(funturf_law) (19)
  170. CreateDynamicObject(2898,1479.40002441,-1734.69995117,12.39999962,0.00000000,0.00000000,0.00000000); //object(funturf_law) (20)
  171. CreateDynamicObject(2898,1475.40002441,-1735.30004883,12.39999962,0.00000000,0.00000000,0.00000000); //object(funturf_law) (21)
  172. CreateDynamicObject(2898,1510.39941406,-1735.09960938,12.39999962,0.00000000,0.00000000,0.00000000); //object(funturf_law) (22)
  173. CreateDynamicObject(2898,1514.30004883,-1729.90002441,12.39999962,0.00000000,0.00000000,0.00000000); //object(funturf_law) (23)
  174. CreateDynamicObject(2898,1471.40002441,-1729.30004883,12.39999962,0.00000000,0.00000000,0.00000000); //object(funturf_law) (24)*/
  175. print("\n----------------------------------");
  176. print(" ~~> Objetos Carregados <~~");
  177. print("------------------------------------\n");
  178. /////////////////////////////////////////////////////
  179. /*
  180. Recon - Utiliza apenas Snipers e Pistolas como secundária.
  181. Assault - Utiliza apenas Rifles de Assaulto e com 50 kills na classe pode usar MP5 na secundária
  182. Suporte - Idem ao assault, porém com o /curartime e não podem usar SMGs como secundárias + C4 com 40 kills
  183. Engenheiro - Utiliza espingardas, porém possui o comando para reparar o veiculo
  184. */
  185.  
  186. //Time US - Team ID 0
  187. /*
  188. Forma de declarar AddPlayerClassEx:
  189. AddPlayerClass(skin, x, y, z, angulo, arma1, arma1_balas*/
  190. AddPlayerClass(111, 2030.4000244141, -1417.8000488281, 17, 0, 22, 100, 34, 100, 0, 0); //Recon US - classid = 0
  191. AddPlayerClass(111, 757.29998779297, -1255.8000488281, 13.60000038147, 0, 22, 100, 34, 100, 0, 0); //Recon RU - classid = 1
  192. AddPlayerClass(27, 2030.4000244141, -1417.8000488281, 17, 0, 25, 100, 22, 100, 0, 0); //Engenheiro US - classid = 2
  193. AddPlayerClass(27, 757.29998779297, -1255.8000488281, 13.60000038147, 0, 25, 100, 22, 100, 0, 0); //Engenheiro RU - classid = 3
  194. AddPlayerClass(287, 2030.4000244141, -1417.8000488281, 17, 0, 31, 350, 24, 100, 0, 0); //Assault US - classid = 4
  195. AddPlayerClass(287, 757.29998779297, -1255.8000488281, 13.60000038147, 0, 31, 350, 24, 100, 0, 0); //Assault RU - classid = 5
  196. AddPlayerClass(287, 2030.4000244141, -1417.8000488281, 17, 0, 31, 350, 24, 100, 0, 0); //Suporte US - classid = 6
  197. AddPlayerClass(287, 757.29998779297, -1255.8000488281, 13.60000038147, 0, 31, 350, 24, 100, 0, 0); //Suporte RU - classid = 7
  198. /*
  199. 333.29998779297, -1793.3000488281, 4.8000001907349, 0 - Air Base RU
  200. 757.29998779297, -1255.8000488281, 13.60000038147 - Spawn RU
  201. 2155, 1143.0999755859, 24.89999961853 - Air Base US
  202. 2030.4000244141, -1417.8000488281, 17 - Spawn US
  203. */
  204. /*
  205. 0 - ReconUS
  206. 1 - ReconRU
  207. 2 - AssaultUS
  208. 3 - AssaultRU
  209. 4 - EngenheiroUS
  210. 5 - EngenheiroRU
  211. 6 - SuporteUS
  212. 7 - SuporteRU
  213. */
  214. /////////////////////////////////////////////////////
  215. print("\n----------------------------------");
  216. print(" Trinity Wars - Mata Mata 2012");
  217. print(" Créditos pelo GameMode:");
  218. print(" Trinity Pawners Team");
  219. print(" ~> GM Carregado com Sucesso <~");
  220. print("----------------------------------\n");
  221. SetTimer("RandomServerNames",2000,true);
  222. SetTimer("MsgTimer", 100000, true);
  223. return 1;
  224. }
  225.  
  226. public OnGameModeExit()
  227. {
  228. print("\n----------------------------------");
  229. print(" Trinity Wars - Mata Mata 2012");
  230. print(" Créditos pelo GameMode:");
  231. print(" Trinity Pawners Team");
  232. print(" ~> GM Descarregado com Sucesso <~");
  233. print("----------------------------------\n");
  234. return 1;
  235. }
  236.  
  237. public OnPlayerRequestClass(playerid, classid)
  238. {
  239. new string[256];
  240. if(classid == 0)
  241. {
  242. format(string, sizeof(string), "%s se conectou como Recon no Time RU", playerid);
  243. SendClientMessageToAll(vermelho, string);
  244. }
  245. else if((classid == 1))
  246. {
  247. format(string, sizeof(string), "%s se conectou como Recon no Time US", playerid);
  248. SendClientMessageToAll(vermelho, string);
  249. }
  250. else if((classid == 2))
  251. {
  252. format(string, sizeof(string), "%s se conectou como Assault no Time US", playerid);
  253. SendClientMessageToAll(vermelho, string);
  254. }
  255. else if((classid == 3))
  256. {
  257. format(string, sizeof(string), "%s se conectou como Assault no Time RU", playerid);
  258. SendClientMessageToAll(vermelho, string);
  259. }
  260. else if((classid == 4))
  261. {
  262. format(string, sizeof(string), "%s se conectou como Engenheiro no Time US", playerid);
  263. SendClientMessageToAll(vermelho, string);
  264. }
  265. else if((classid == 5))
  266. {
  267. format(string, sizeof(string), "%s se conectou como Engenheiro no Time RU", playerid);
  268. SendClientMessageToAll(vermelho, string);
  269. }
  270. else if((classid == 6))
  271. {
  272. format(string, sizeof(string), "%s se conectou como Suporte no Time US", playerid);
  273. SendClientMessageToAll(vermelho, string);
  274. }
  275. else if((classid == 7))
  276. {
  277. format(string, sizeof(string), "%s se conectou como Suporte no Time RU", playerid);
  278. SendClientMessageToAll(vermelho, string);
  279. }
  280. //Unlocks sempre em vermelho
  281. if((classid == 0) || (classid == 1))
  282. {
  283. SendClientMessage(playerid, azulclaro, "Caso queira trocar de classe, aperte F4 e digite /kill");
  284. format(string, sizeof(string), "Pontos com a classe Recon: %d", PontosRecon);
  285. SendClientMessage(playerid, verde, string);
  286. if(PontosRecon[playerid] < 20)
  287. {
  288. SendClientMessage(playerid, vermelho, "Equipamentos a desbloquear: Upgrade Pistola 9mm - Silenciador (20 Kills)");
  289. SendClientMessage(playerid, vermelho, "Equipamentos a desbloquear: Desert Eagle (30 Kills)");
  290. SendClientMessage(playerid, vermelho, "Equipamentos a desbloquear: Country Rifle (Sem Scope) (50 Kills)");
  291. }
  292. if(PontosRecon[playerid] == 20)
  293. {
  294. SendClientMessage(playerid, vermelho, "O Upgrade para sua 9mm está disponível!");
  295. SendClientMessage(playerid, vermelho, "Sempre que quiser usar o silenciador, use /colocarsilenciador");
  296. SendClientMessage(playerid, vermelho, "Sempre que quiser tirar o silenciador, use /tirarsilenciador");
  297. SendClientMessage(playerid, vermelho, "Equipamentos a desbloquear: Desert Eagle (30 Kills)");
  298. SendClientMessage(playerid, vermelho, "Equipamentos a desbloquear: Country Rifle (Sem Scope) (50 Kills)");
  299. }
  300. if(PontosRecon[playerid] > 20)
  301. {
  302. SendClientMessage(playerid, vermelho, "Equipamentos a desbloquear: Desert Eagle (30 Kills)");
  303. SendClientMessage(playerid, vermelho, "Equipamentos a desbloquear: Country Rifle (Sem Scope) (50 Kills)");
  304. }
  305. if(PontosRecon[playerid] == 30)
  306. {
  307. SendClientMessage(playerid, vermelho, "A arma Desert Eagle está disponível para uso!");
  308. SendClientMessage(playerid, vermelho, "/eagledesbloquear para pegá-la (Isso substituirá sua 9mm)");
  309. SendClientMessage(playerid, vermelho, "Equipamentos a desbloquear: Country Rifle (Sem Scope) (50 Kills)");
  310. }
  311. if(PontosRecon[playerid] > 30)
  312. {
  313. SendClientMessage(playerid, vermelho, "/eagledesbloquear para pegá-la (Isso substituirá sua 9mm)");
  314. SendClientMessage(playerid, vermelho, "Equipamentos a desbloquear: Country Rifle (Sem Scope) (50 Kills)");
  315. }
  316. if(PontosRecon[playerid] >= 50)
  317. {
  318. new stringann[256];
  319. SendClientMessage(playerid, verde, "Parabéns, você alcançou o patar máximo na classe Recon!");
  320. SendClientMessage(playerid, verde, "Podendo assim usar o Country Rifle! /crliberar");
  321. PlayerPlaySound(playerid, 1187, 0, 0, 0);
  322. format(stringann, sizeof(stringann), "O jogador %s alcançou o {0000FF}Nível {0000FF}50 na {FF0000}Classe {FF0000}Recon! Parabéns!", playerid);
  323. SendClientMessageToAll(azulclaro, stringann);
  324. }
  325.  
  326. }
  327. else if((classid == 2) || (classid == 3))
  328. {
  329. SendClientMessage(playerid, azulclaro, "Caso queira trocar de classe, aperte F4 e digite /kill");
  330. format(string, sizeof(string), "Pontos com a classe Assault: %d", PontosAssault);
  331. SendClientMessage(playerid, verde, string);
  332. if(PontosAssault[playerid] < 30)
  333. {
  334. SendClientMessage(playerid, vermelho, "Equipamentos a desbloquear: Desert Eagle (30 Kills)");
  335. SendClientMessage(playerid, vermelho, "Equipamentos a desbloquear: MP5 - Secundária (50 Kills)");
  336. }
  337. if(PontosAssault[playerid] == 30)
  338. {
  339. SendClientMessage(playerid, vermelho, "Equipamentos a desbloquear: MP5 - Secundária (50 Kills)");
  340. SendClientMessage(playerid, vermelho, "A arma Desert Eagle está disponível para desbloqueio!");
  341. SendClientMessage(playerid, vermelho, "Digite /eagledesbloquear para pegá-la");
  342. }
  343. if(PontosAssault[playerid] > 30)
  344. {
  345. SendClientMessage(playerid, vermelho, "Equipamentos a desbloquear: MP5 - Secundária (50 Kills)");
  346. }
  347. if(PontosAssault[playerid] >= 50)
  348. {
  349. new stringann[256];
  350. SendClientMessage(playerid, verde, "Parabéns! Você alcançou o patamar máximo da classe Assault! Podendo assim liberar a MP5");
  351. SendClientMessage(playerid, verde, "Digite /mp5desbloquear para pegá-la");
  352. PlayerPlaySound(playerid, 1187, 0, 0, 0);
  353. format(stringann, sizeof(stringann), "O jogador atingiu o {0000FF}Nível {0000FF}50 na {FF0000}Classe {FF0000}Assault! Parabéns!");
  354. SendClientMessageToAll(azulclaro, stringann);
  355. }
  356. }
  357. else if((classid == 4) || (classid == 5))
  358. {
  359. SendClientMessage(playerid, azulclaro, "Caso queira trocar de classe, aperte F4 e digite /kill");
  360. format(string, sizeof(string), "Pontos com a classe Engenheiro: %d", PontosEngenheiro);
  361. SendClientMessage(playerid, verde, string);
  362. if(PontosEngenheiro[playerid] < 30)
  363. {
  364. SendClientMessage(playerid, vermelho, "Equipamentos a desbloquar: Combat Shotgun (30 Kills)");
  365. SendClientMessage(playerid, vermelho, "Equipamentos a desbloquear: Sawn-off Shotgun (70 Kills)");
  366. SendClientMessage(playerid, vermelho, "Equipamentos a desbloquear: RPG-7/SMAW (70 Kills)");
  367. }
  368. if(PontosEngenheiro[playerid] == 30)
  369. {
  370. SendClientMessage(playerid, verde, "Combat Shotgun liberada! /csdesbloquear para pegá-la");
  371. SendClientMessage(playerid, vermelho, "Equipamentos a desbloquear: Sawn-off Shotgun (50 Kills)");
  372. SendClientMessage(playerid, vermelho, "Equipamentos a desbloquear: RPG-7/SMAW (70 Kills)");
  373. }
  374. if(PontosEngenheiro[playerid] >= 30)
  375. {
  376. SendClientMessage(playerid, vermelho, "Equipamentos a desbloquear: Sawn-off Shotgun (50 Kills)");
  377. SendClientMessage(playerid, vermelho, "Equipamentos a desbloquear: RPG-7/SMAW (70 Kills)");
  378. }
  379. if(PontosEngenheiro[playerid] >= 30)
  380. {
  381. SendClientMessage(playerid, vermelho, "Equipamentos a desbloquear: Sawn-off Shotgun (50 Kills)");
  382. SendClientMessage(playerid, vermelho, "Equipamentos a desbloquear: RPG-7/SMAW (70 Kills)");
  383. }
  384. if(PontosEngenheiro[playerid] == 50)
  385. {
  386. SendClientMessage(playerid, verde, "Você desbloqueou a Sawn-off Shotgun! /sawnoffdesbloquear para pegá-la!");
  387. SendClientMessage(playerid, vermelho, "Equipamentos a desbloquear: RPG-7/SMAW (70 Kills)");
  388. }
  389. if(PontosEngenheiro[playerid] == 70)
  390. {
  391. SendClientMessage(playerid, azul, "Parabéns! Você alcançou o patamar máximo da classe de Engenheiro!");
  392. SendClientMessage(playerid, verde, "Podendo escolher entre a SMAW e a RPG-7");
  393. SendClientMessage(playerid, verde, "A RPG-7 é free aim, não precisando de lock-on. A SMAW pode ser disparada como free aim e com lock on, porém, o dano é menor");
  394. SendClientMessage(playerid, vermelho, "ATENÇÃO: A SUA ESCOLHA É {000000}IRREVERSÍVEL, PORTANTO ESCOLHA BEM!");
  395. SendClientMessage(playerid, verde, "/rpgdesbloquear para desbloquear a RPG-7 e /smawdesbloquear para desbloquear a SMAW");
  396. format(string, sizeof(string), "%s atingiu o patamar máximo na Classe {FF0000}Engenheiro! Parabéns!");
  397. PlayerPlaySound(playerid, 1187, 0, 0, 0);
  398. }
  399. if(PontosEngenheiro[playerid] > 70)
  400. {
  401. SendClientMessage(playerid, verde, "Nível máximo já atingido nesta classe. Você pode upar outras classes se desejar");
  402. }
  403. }
  404.  
  405. else if((classid == 6) || (classid == 7))
  406. {
  407. SendClientMessage(playerid, azulclaro, "Caso queira trocar de classe, aperte F4 e digite /kill");
  408. format(string, sizeof(string), "Pontos com a classe Suporte: %d", PontosSuporte);
  409. SendClientMessage(playerid, verde, string);
  410. if(PontosSuporte[playerid] < 15)
  411. {
  412. SendClientMessage(playerid, vermelho, "Equipamentos a desbloquear: C4 (15 Kills)");
  413. SendClientMessage(playerid, vermelho, "Equipamentos a desbloquear: Desert Eagle (30 Kills)");
  414. SendClientMessage(playerid, vermelho, "Equipamentos a desbloquear: MP5 - Secundária (50 Kills)");
  415. }
  416.  
  417. if(PontosSuporte[playerid] == 15)
  418. {
  419. SendClientMessage(playerid, verde, "Equipamento desbloqueado: C4! /c4desbloquear para pegá-lo.");
  420. SendClientMessage(playerid, vermelho, "Equipamentos a desbloquear: Desert Eagle (30 Kills)");
  421. SendClientMessage(playerid, vermelho, "Equipamentos a desbloquear: MP5 - Secundária (50 Kills)");
  422. }
  423.  
  424. if(PontosSuporte[playerid] < 30)
  425. {
  426. SendClientMessage(playerid, vermelho, "Equipamentos a desbloquear: Desert Eagle (30 Kills)");
  427. SendClientMessage(playerid, vermelho, "Equipamentos a desbloquear: MP5 - Secundária (50 Kills)");
  428. }
  429. if(PontosSuporte[playerid] == 30)
  430. {
  431. SendClientMessage(playerid, vermelho, "Equipamentos a desbloquear: MP5 - Secundária (50 Kills)");
  432. SendClientMessage(playerid, vermelho, "A arma Desert Eagle está disponível para desbloqueio!");
  433. SendClientMessage(playerid, vermelho, "Digite /eagledesbloquear para pegá-la");
  434. }
  435. if(PontosSuporte[playerid] > 30)
  436. {
  437. SendClientMessage(playerid, vermelho, "Equipamentos a desbloquear: MP5 - Secundária (50 Kills)");
  438. }
  439. if(PontosSuporte[playerid] >= 50)
  440. {
  441. new stringann[256];
  442. SendClientMessage(playerid, verde, "Parabéns! Você alcançou o patamar máximo da classe Assault! Podendo assim liberar a MP5");
  443. SendClientMessage(playerid, verde, "Digite /mp5desbloquear para pegá-la");
  444. PlayerPlaySound(playerid, 1187, 0, 0, 0);
  445. format(stringann, sizeof(stringann), "O jogador atingiu o {0000FF}Nível {0000FF}50 na {FF0000}Classe {FF0000}Suporte! Parabéns!", playerid);
  446. SendClientMessageToAll(azulclaro, stringann);
  447. }
  448. }
  449.  
  450. if(pClass[playerid] == 0 && (classid == 0) || (classid == 1))
  451. {
  452. new Text3D:USTeamRecon = Create3DTextLabel("Classe: Recon\nTime: US", 0xF0F8FF, 30.0, 40.0, 50.0, 100.0, 0);
  453. Attach3DTextLabelToPlayer(USTeamRecon, playerid, 0.0, 0.0, 0.3);
  454. }
  455. if(pClass[playerid] == 0 && (classid == 2) || (classid == 3))
  456. {
  457. new Text3D:USTeamAssault = Create3DTextLabel("Classe: Assault\nTime: US", 0xF0F8FF, 30.0, 40.0, 50.0, 100.0, 0);
  458. Attach3DTextLabelToPlayer(USTeamAssault, playerid, 0.0, 0.0, 0.3);
  459. }
  460. if(pClass[playerid] == 0 && (classid == 4) || (classid == 5))
  461. {
  462. new Text3D:USTeamEngenheiro = Create3DTextLabel("Classe: Engenheiro\nTime: US", 0xF0F8FF, 30.0, 40.0, 50.0, 100.0, 0);
  463. Attach3DTextLabelToPlayer(USTeamEngenheiro, playerid, 0.0, 0.0, 0.3);
  464. }
  465. if(pClass[playerid] == 0 && (classid == 6) || (classid == 7))
  466. {
  467. new Text3D:USTeamSuporte = Create3DTextLabel("Classe: Suporte\nTime: US", 0xF0F8FF, 30.0, 40.0, 50.0, 100.0, 0);
  468. Attach3DTextLabelToPlayer(USTeamSuporte, playerid, 0.0, 0.0, 0.3);
  469. }
  470.  
  471. //Attach3DTextLabelToPlayer - RU Team
  472. if(pClass[playerid] == 1 && (classid == 0) || (classid == 1))
  473. {
  474. new Text3D:RUTeamRecon = Create3DTextLabel("Classe: Recon\nTime: RU", 0xFF0000, 30.0, 40.0, 50.0, 100.0, 0);
  475. Attach3DTextLabelToPlayer(RUTeamRecon, playerid, 0.0, 0.0, 0.3);
  476. }
  477. if(pClass[playerid] == 1 && (classid == 2) || (classid == 3))
  478. {
  479. new Text3D:RUTeamAssault = Create3DTextLabel("Classe: Assault\nTime: RU", 0xFF0000, 30.0, 40.0, 50.0, 100.0, 0);
  480. Attach3DTextLabelToPlayer(RUTeamAssault, playerid, 0.0, 0.0, 0.3);
  481. }
  482. if(pClass[playerid] == 1 && (classid == 4) || (classid == 5))
  483. {
  484. new Text3D:RUTeamEngenheiro = Create3DTextLabel("Classe: Engenheiro\nTime: RU", 0xFF0000, 30.0, 40.0, 50.0, 100.0, 0);
  485. Attach3DTextLabelToPlayer(RUTeamEngenheiro, playerid, 0.0, 0.0, 0.3);
  486. }
  487. if(pClass[playerid] == 1 && (classid == 6) || (classid == 7))
  488. {
  489. new Text3D:RUTeamSuporte = Create3DTextLabel("Classe: Suporte\nTime: RU", 0xFF0000, 30.0, 40.0, 50.0, 100.0, 0);
  490. Attach3DTextLabelToPlayer(RUTeamSuporte, playerid, 0.0, 0.0, 0.3);
  491. }
  492.  
  493. return 1;
  494. }
  495.  
  496. public OnPlayerConnect(playerid)
  497. {
  498. PlayerPlaySound(playerid, 1062, 0, 0, 0);
  499. GetPlayerName(playerid, gPlayerName[playerid], MAX_PLAYER_NAME);
  500. if(fexist(GetINI(playerid)))
  501. {
  502. ShowPlayerDialog(playerid, DIALOG_LOGAR, DIALOG_STYLE_INPUT, "Login", "Digite sua senha abaixo para logar-se", "Logar", "Sair");
  503. }
  504. else
  505. {
  506. ShowPlayerDialog(playerid, DIALOG_REGISTRO, DIALOG_STYLE_INPUT, "Registro", "Digite sua senha abaixo para registrar-se", "Registrar", "Sair");
  507. }
  508. //Attach3DTextLabelToPlayer - US Tea
  509.  
  510. //rodape[i] = TextDrawCreate(1.000000,432.000000,"[~g~Trinity~b~Wars ~w~Battlefield 3 ~p~v1.0] ~w~www.~g~trinity~r~warsbf3.~b~forumeiros.~w~com");
  511. return 1;
  512. }
  513.  
  514. public OnPlayerDisconnect(playerid, reason)
  515. {
  516. new string[256];
  517. format(string, sizeof(string), "%s se desconectou.", playerid);
  518. SendClientMessageToAll(vermelho, string);
  519. return 1;
  520. }
  521.  
  522. public OnPlayerSpawn(playerid)
  523. {
  524. switch (pClass[playerid])
  525. {
  526. case 0:
  527. {
  528. SendClientMessage(playerid, azul, "A Classe de Recon utiliza Snipers e Country Rifles");
  529. GameTextForPlayer(playerid, "Recon - US Team", 3000, 4);
  530. SetPlayerColor(playerid, COR_US);
  531.  
  532. }
  533. case 1:
  534. {
  535. SendClientMessage(playerid, azul, "A Classe de Recon utiliza Snipers e Country Rifles");
  536. GameTextForPlayer(playerid, "Recon - RU Team", 3000, 4);
  537. SetPlayerColor(playerid, COR_RU);
  538. }
  539. case 2:
  540. {
  541. SendClientMessage(playerid, azul, "A Classe de Assault é 'all purpose' sendo boa de perto e de longe");
  542. GameTextForPlayer(playerid, "Assault - US Team", 3000, 4);
  543. SetPlayerColor(playerid, COR_US);
  544. }
  545. case 3:
  546. {
  547. SendClientMessage(playerid, azul, "A Classe de Assault é 'all purpose' sendo boa de perto e de longe");
  548. GameTextForPlayer(playerid, "Assault - RU Team", 3000, 4);
  549. SetPlayerColor(playerid, COR_RU);
  550. }
  551. case 4:
  552. {
  553. SendClientMessage(playerid, azul, "A Classe de Engenheiro é boa em 'close combats', sendo inútil de longe. Possui a opção de reparar veículos");
  554. GameTextForPlayer(playerid, "Engenheiro - US Team", 3000, 4);
  555. SetPlayerColor(playerid, COR_US);
  556. }
  557. case 5:
  558. {
  559. SendClientMessage(playerid, azul, "A Classe de Engenheiro é boa em 'close combats', sendo inútil de longe. Possui a opção de reparar veículos");
  560. GameTextForPlayer(playerid, "Engenheiro - RU Team", 3000, 4);
  561. SetPlayerColor(playerid, COR_RU);
  562. }
  563. case 6:
  564. {
  565. SendClientMessage(playerid, azul, "A Classe de Suporte também é 'all purpose', tendo foco no suporte ao time");
  566. GameTextForPlayer(playerid, "Suporte - US Team", 3000, 4);
  567. SetPlayerColor(playerid, COR_US);
  568. }
  569. case 7:
  570. {
  571. SendClientMessage(playerid, azul, "A Classe de Suporte também é 'all purpose', tendo foco no suporte ao time");
  572. GameTextForPlayer(playerid, "Suporte - RU Team", 3000, 4);
  573. SetPlayerColor(playerid, COR_RU);
  574. }
  575. }
  576. return 1;
  577. }
  578.  
  579. public OnPlayerDeath(playerid, killerid, reason)
  580. {
  581. if(GetPlayerColor(playerid) == GetPlayerColor(killerid))
  582. {
  583. new Float:x, Float:y, Float:z;
  584. GetPlayerPos(playerid, x, y, z);
  585. SetPlayerPos(killerid, x, y, z+200);
  586. SetPlayerScore(killerid,GetPlayerScore(killerid) - 1);
  587. SendClientMessage(killerid, COLOR_RED, "A punição foi aplicada por ter cometido Friendly Fire.");
  588. }
  589. GameTextForPlayer(killerid, "~b~Inimigo Morto 100", 1000, 3);
  590. SetPlayerScore(killerid, GetPlayerScore(killerid)+100);
  591. SetPlayerScore(playerid, GetPlayerScore(playerid)-100);
  592.  
  593. /* if((classid(playerid) == 0) || (classid(playerid) == 1))
  594. {
  595. if(INI_Open(GetINI(playerid))) {
  596. INI_WriteInt("Kills Recon", PlayerInfo[playerid][PontosRecon]);
  597. INI_Save();
  598. INI_Close();
  599. PontosRecon[playerid][killerid]++;
  600. SendClientMessage(playerid, azulclaro, "Você foi morto por %s", killerid);
  601. }
  602. }
  603. if((classid(playerid) == 2) || (classid(playerid) ==3))
  604. {
  605. if(INI_Open(GetINI(playerid))) {
  606. INI_WriteInt("Kills Assault", PlayerInfo[playerid][PontosAssault]);
  607. INI_Save();
  608. INI_Close();
  609. PontosAssault[killerid]++;
  610. SendClientMessage(playerid, azulclaro, "Você foi morto por %s", killerid);
  611. }
  612. }
  613. if((classid(playerid) == 4) || (classid(playerid) == 5))
  614. {
  615. if(INI_Open(GetINI(playerid))) {
  616. INI_WriteInt("Kills Engenheiro", PlayerInfo[playerid][PontosEngenheiro]);
  617. INI_Save();
  618. INI_Close();
  619. PontosEngenheiro[killerid]++;
  620. SendClientMessage(playerid, azulclaro, "Você foi morto por %s", killerid);
  621. }
  622. }
  623. if((classid(playerid) == 6) || (classid(playerid) == 7))
  624. {
  625. if(INI_Open(GetINI(playerid))) {
  626. INI_WriteInt("Kills Suporte", PlayerInfo[playerid][PontosSuporte]);
  627. INI_Save();
  628. INI_Close();
  629. PontosSuporte[killerid]++;
  630. SendClientMessage(playerid, azulclaro, "Você foi morto por %s", killerid);
  631. }
  632. }*/
  633. return 1;
  634. }
  635.  
  636. public OnVehicleSpawn(vehicleid)
  637. {
  638. return 1;
  639. }
  640.  
  641. public OnVehicleDeath(vehicleid, killerid)
  642. {
  643. return 1;
  644. }
  645.  
  646. public OnPlayerText(playerid, text[])
  647. {
  648. return 1;
  649. }
  650.  
  651. public OnPlayerCommandPerformed(playerid, cmdtext[], success)
  652. {
  653. static Name[24];
  654. new str[256];
  655. GetPlayerName(playerid,Name,24);
  656. printf("[COMANDOS]: O jogador %s digitou o comando: %s",Name,cmdtext);
  657. if (!success)
  658. {
  659. format(str, 256, "{FF0000}[Erro]: {FFFFFF}O comando %s não é válido! Digite /comandos para mais informações!", cmdtext);
  660. return SendClientMessage(playerid,0xFFFFFF,str);
  661. }
  662. return true;
  663. }
  664. ///////////////////////
  665. CMD:ajuda(playerid, params[])
  666. {
  667. SendClientMessage(playerid, 0x00FF00, "º-º-º-º-º-º-º-º-º-º-º-º~~> Brasil Trinity Wars - Battlefield 3 <~~ º-º-º-º-º-º-º-º-º-º-º");
  668. SendClientMessage(playerid, 0x00FF00, "Vosso servidor apresenta um exclusivo sistema de jogo, uma réplica do");
  669. SendClientMessage(playerid, 0x00FF00, "jogo Battlefield 3, disponibilizado para PC, Xbox 360 e PS3");
  670. SendClientMessage(playerid, 0x00FF00, "distribiudo pela empresa DICE, onde há 4 classes");
  671. SendClientMessage(playerid, 0x00FF00, "sendo elas: Assault, Support (Suporte), Recon, Engineer (Engenheiro)");
  672. SendClientMessage(playerid, 0x00FF00, "Onde cada classe só pode usar armas específicas, assim como no servidor");
  673. SendClientMessage(playerid, 0x00FF00, "desbloqueando outras ao longo do tempo em que joga e obtém pontos.");
  674. SendClientMessage(playerid, 0x00FF00, "Assim como no jogo, você ganha recompensas em dinheiro, para comprar");
  675. SendClientMessage(playerid, 0x00FF00, "munições, por exemplo.\nVocê pode trocar seu dinheiro por pontos VIP.");
  676. SendClientMessage(playerid, 0x00FF00, "Com o VIP você pode comprar armas exclusivas, como a Katana, Faca, Dildo");
  677. SendClientMessage(playerid, 0x00FF00, "Gás Lacrimejante, Thermal Sight, Visão Noturna e outros. /vip para mais informações");
  678. SendClientMessage(playerid, 0x00FF00, "Para ver os comandos, digite /comandos");
  679. SendClientMessage(playerid, azulclaro, "~~~~~~~~~~~~~~~~~~~~~~~>> A Staff do TLWBF3 lhe deseja um ótimo jogo <<~~~~~~~~~~~~~~~~~");
  680. }
  681.  
  682. CMD:creditos(playerid, params[])
  683. {
  684. SendClientMessage(playerid, 0x00FF00, "~~~~~~> Créditos do Brasil Trinity Wars - Battlefield 3 <~~~~~~");
  685. SendClientMessage(playerid, 0x00FF00, "Scripter: {FF0000}[TWBF3]MakeZero[Staff_ADM5] a.k.a {FF0000}MakeZero_TL");
  686. SendClientMessage(playerid, 0x00FF00, "Agradecimentos: {D7FF00}Fórum {D7FF00}SAMP");
  687. }
  688.  
  689. CMD:c4desbloquear(playerid, params[])
  690. {
  691. if((classid(playerid) == 6) || (classid(playerid) == 7) && (PontosSuporte[playerid] >= 15))
  692. {
  693. GivePlayerWeapon(playerid, 39, 15);
  694. GivePlayerWeapon(playerid, 40, 1);
  695. PlayerPlaySound(playerid, 1133, 0, 0, 0);
  696. }
  697. else
  698. {
  699. SendClientMessage(playerid, vermelho, "Você não possui 15 Kills ou não está usando a classe Suporte!");
  700. }
  701.  
  702. }
  703.  
  704. CMD:colocarsilenciador(playerid, params[])
  705. {
  706. if((classid(playerid) == 0) || (classid(playerid) == 1))
  707. {
  708. GivePlayerWeapon(playerid, 25, 150);
  709. PlayerPlaySound(playerid, 1133, 0, 0, 0);
  710. }
  711. }
  712.  
  713. CMD:tirarsilenciador(playerid, params[])
  714. {
  715. if((classid(playerid) == 0) || (classid(playerid) == 1))
  716. {
  717. GivePlayerWeapon(playerid, 22, 150);
  718. }
  719. }
  720.  
  721. CMD:eagledesbloquear(playerid, params[])
  722. {
  723. if((classid(playerid) == 0) || (classid(playerid) == 1) || (classid(playerid) == 2 || (classid(playerid) == 6) || (classid(playerid) == 7) || (classid(playerid) == 3))
  724. {
  725. if(PontosRecon[playerid] >= 30 || (PontosAssault[playerid] >= 30))
  726. {
  727. SendClientMessage(playerid, verde, "Você pegou sua Desert Eagle");
  728. GivePlayerWeapon(playerid, 24, 100);
  729. PlayerPlaySound(playerid, 1133, 0, 0, 0);
  730. }
  731. else
  732. {
  733. if((classid(playerid) == 0 || (classid(playerid) == 1))
  734. {
  735. new stringerrorrecon[256];
  736. format(stringerrorrecon, sizeof(stringerrorrecon), "Você não possui pontos o suficiente na Classe Recon\nPontos atuais: %d", PontosRecon)
  737. SendClientMessage(playerid, vermelho, stringerrorrecon);
  738. }
  739. else
  740. {
  741. new stringerrorassault[256];
  742. format(stringerrorassault, sizeof(stringerrorassault), "Você não possui pontos o suficiente na Classe Assault\nPontos atuais: %d", PontosAssault);
  743. }
  744. }
  745. }
  746.  
  747. /*CMD:pm(playerid, params[])
  748. {
  749. new
  750. mString[50],
  751. iName[25],
  752. pName[25],
  753. texto,
  754. id
  755. ;
  756. if(sscanf(params, "us[128]", id, texto))
  757. return SendClientMessage(playerid, -1, "Uso: /pm [id] [Mensagem]");
  758. if(!IsPlayerConnected(id))
  759. return SendClientMessage(playerid, -1, "Jogador offline");
  760. GerPlayerName(playerid, pName, sizeof(pName));
  761. GetPlayerName(id, iName, sizeof(iName));
  762. format(mString, sizeof(mString), "Nova PM de %s (») Mensagem: %s («)", pName, text);
  763. SendClientMessage(id, -1, mString);
  764. format(mString), sizeof(mString, "PM Enviada com Sucesso. (») Destinatário: %s («)", iName);
  765. SendClientMessage(playerid, -1, mString);
  766. return true;
  767. }*/
  768.  
  769. CMD:status(playerid, params[])
  770. {
  771. if((classid(playerid) == 1) || (classid(playerid) == 0))
  772. {
  773. SendClientMessage(playerid, azul, "Classe: Recon");
  774. format(string, sizeof(string), "Pontos: %d", PontosRecon);
  775. SendClientMessage(playerid, azul, string);
  776. }
  777. if((classid(playerid) == 2) || (classid(playerid) == 3))
  778. {
  779. SendClientMessage(playerid, azul, "Classe: Assault");
  780. format(string, sizeof(string), "Pontos: %d", PontosAssault);
  781. SendClientMessage(playerid, azul, string);
  782. }
  783. if((classid(playerid) == 4) || (classid(playerid) == 5))
  784. {
  785. SendClientMessage(playerid, azul, "Classe: Engenheiro");
  786. format(string, sizeof(string), "Pontos: %d", PontosEngenheiro);
  787. SendClientMessage(playerid, azul, string);
  788. }
  789. if((classid(playerid) == 6) || (classid(playerid) == 7))
  790. {
  791. SendClientMessage(playerid, azul, "Classe: Suporte");
  792. format(string, sizeof(string), "Pontos: %d", PontosSuporte);
  793. SendClientMessage(playerid, azul, string);
  794. }
  795. }
  796.  
  797. CMD:kill(playerid, params[])
  798. {
  799. #pragma unused params
  800. SendClientMessage(playerid, verde, "Você foi morto!");
  801. SetPlayerHeath(playerid, 0);
  802. }
  803.  
  804. CMD:daradmin(playerid, params[])
  805. {
  806. if(PlayerInfo[playerid][pAdmin] == 1338)
  807. {
  808. new id
  809. admlevel
  810. ;
  811. if(sscanf(params, "u", id) return SendClientMessage(playerid, verde, "Uso correto: /daradmin [id] [Level 1 ~ 1338]");
  812. if(sscanf(params, "d", admlevel) return SendClientMessage(playerid, verde, "Uso correto: /daradmin [id] [Level 1 ~ 1338]");
  813. format(string, sizeof(string), "Você setou o ADM do player para %d", admlevel);
  814. if(sscanf(params, "ud", id, admlevel)
  815. return SendClientMessage(playerid, verde, string);
  816. PlayerInfo[playerid][pAdmin] = admlevel;
  817. INI_WriteInt("LevelAdmin", admlevel);
  818. INI_Save();
  819. INI_Close();
  820. return true;
  821. }
  822. else
  823. {
  824. SendClientMessage(playerid, vermelho, "Você não pode usar este comando");
  825. return true;
  826. }
  827.  
  828. public OnRconCommand(cmd[])
  829. {
  830. return 1;
  831. }
  832.  
  833. public OnPlayerRequestSpawn(playerid)
  834. {
  835. return 1;
  836. }
  837.  
  838. public OnRconLoginAttempt(ip[], password[], success)
  839. {
  840. Kick(playerid);
  841. return 1;
  842. }
  843.  
  844. public OnPlayerUpdate(playerid)
  845. {
  846. return 1;
  847. }
  848.  
  849. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  850. {
  851. switch(dialogid)
  852. {
  853. case DIALOG_REGISTRO:
  854. {
  855. if(!response) return Kick(playerid);
  856. if(response)
  857. {
  858. if(!strlen(inputtext)) {
  859. ShowPlayerDialog(playerid, DIALOG_REGISTRO, DIALOG_STYLE_INPUT, "Registrando", "Você digitou uma senha inválida.\nDigite sua senha senha abaixo para registrar uma nova conta.", "Registrar", "Sair");
  860. }
  861. if(INI_Open(GetINI(playerid))) {
  862. INI_WriteString("Senha", inputtext);
  863. INI_WriteInt("Kills Recon", 0);
  864. INI_WriteInt("Kills Assault", 0);
  865. INI_WriteInt("Kills Engenheiro", 0);
  866. INI_WriteInt("Kills Suporte", 0);
  867. INI_WriteInt("Dinheiro", 10000);
  868. INI_WriteInt("LevelAdmin", 0);
  869. INI_Save();
  870. INI_Close();
  871. ShowPlayerDialog(playerid, DIALOG_LOGAR, DIALOG_STYLE_INPUT, "Logar", "Digite sua senha abaixo para efetuar login", "Logar", "Sair");
  872. }
  873. }
  874. }
  875. case DIALOG_LOGAR:
  876. {
  877. if(!response) return Kick(playerid);
  878. if(response)
  879. {
  880. if(!strlen(inputtext)) {
  881. ShowPlayerDialog(playerid, DIALOG_LOGAR, DIALOG_STYLE_INPUT, "Logar","Você digitou uma senha inválida.\nDigite sua senha abaixo para efetuar login.","Logar","Sair");
  882. }
  883. if(INI_Open(ObterINI(playerid))) {
  884. INI_ReadString(PlayerInfo[playerid][pSenha], "Senha", 20);
  885. if(strcmp(inputtext, PlayerInfo[playerid][pSenha], false)) {
  886. ShowPlayerDialog(playerid, DIALOG_LOGAR, DIALOG_STYLE_INPUT, "Logar","Você digitou uma senha incorreta.\nDigite sua senha abaixo para acessar.","Logar","Sair");
  887. }
  888. PlayerInfo[playerid][PontosRecon] = INI_ReadInt("Kills Recon");
  889. PlayerInfo[playerid][PontosAssault] = INI_ReadInt("Kills Assault");
  890. PlayerInfo[playerid][PontosEngenheiro] = INI_ReadInt("Kills Engenheiro");
  891. PlayerInfo[playerid][PontosSuporte] = INI_ReadInt("Kills Suporte");
  892. PlayerInfo[playerid][pAdmin] = INI_ReadInt("LevelAdmin");
  893. INI_Close();
  894. }
  895. }
  896. }
  897. return 1;
  898. }
  899.  
  900. public OnPlayerClickPlayer(playerid, clickedplayerid, source)
  901. {
  902. return 1;
  903. }
  904.  
  905. public RandomServerNames()
  906. {
  907. new string[256];
  908. new random1 = random(sizeof(SVNAMES));
  909. format(string, sizeof(string), "hostname %s", SVNAMES[random1] );
  910. SendRconCommand(string);
  911. return 1;
  912. }
  913.  
  914. stock GetINI(playerid)
  915. {
  916. new conta[64];
  917. format(conta, 30, "PASTA_CONTAS", gPlayerName[playerid]);
  918. return conta;
  919. }
  920.  
  921. stock AdminINI(playerid)
  922. {
  923. new cadm[64];
  924. format(cadm, 30, "PASTA_CONTAS_ADM", gPlayerName[playerid]);
  925. return cadm;
  926. }
Advertisement
Add Comment
Please, Sign In to add comment