Advertisement
Guest User

Infinity Capture The Flag

a guest
Sep 7th, 2013
248
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 59.11 KB | None | 0 0
  1. /*
  2. -----------------------------
  3. CRÉDITOS
  4. -----------------------------
  5.  
  6. Este gamemode foi desenvolvido do 0 pelo user bruxo00 do forum-sa.mp.com
  7.  
  8. Matthias134 - Mapper do Aeroporto Abandonado
  9. http://forum.sa-mp.com/showthread.php?t=417924&highlight=aeroporto+abandonado
  10.  
  11. BodyBoardVEVO - Textdraw intro
  12. http://forum.sa-mp.com/showthread.php?t=457032
  13.  
  14.  
  15. ATENÇÃO: NÃO RETIRAR OS CRÉDITOS, ISSO VIOLA OS DIREITOS DE AUTOR QUE É PUNÍVEL POR LEI.
  16. */
  17.  
  18. #include < a_samp >
  19. #include < DOF2 >
  20. #include < ZCMD >
  21. #include < sscanf >
  22. #include < streamer >
  23.  
  24. #define Info    0xFFFFFFAA
  25. #define Erro    0xAA3333AA
  26. #define Sucesso 0x10F441AA
  27. #define Azul    0x63AFFF0A
  28. #define Laranja 0xFF9900AA
  29. #define Amarelo 0xFFFF00AA
  30. #define AzulLeve 0x33CCFFAA
  31.  
  32. #define TEAM_VERMELHA 1
  33. #define TEAM_AZUL 2
  34.  
  35. #define DIALOG_LOGAR 1
  36. #define DIALOG_REGISTO 2
  37. #define DIALOG_SPAWN 3
  38. #define DIALOG_AMMUNATION 4
  39. #define DIALOG_STATS 5
  40. #define DIALOG_CREDITOS 6
  41.  
  42. #if !defined isnull
  43.     #define isnull(%1) \
  44.                 ((!(%1[0])) || (((%1[0]) == '\1') && (!(%1[1]))))
  45. #endif
  46.  
  47. forward KickTimer();
  48. forward BanTimer();
  49. forward Countdown();
  50.  
  51. new TemABandeiraVermelha = 501; // Valor acima do MAX_PLAYERS
  52. new TemABandeiraAzul = 501; // Valor acima do MAX_PLAYERS
  53.  
  54. new Float:bvX = 347.8362;
  55. new Float:bvY = 2537.8018;
  56. new Float:bvZ = 16.7504;
  57.  
  58. new Float:baX = 203.3289;
  59. new Float:baY = 1884.9226;
  60. new Float:baZ = 17.6481;
  61.  
  62. new Float:dvX = 412.5676;
  63. new Float:dvY = 2530.7268;
  64. new Float:dvZ = 19.1799;
  65.  
  66. new Float:daX = 211.1978;
  67. new Float:daY = 1811.1350;
  68. new Float:daZ = 21.8672;
  69.  
  70. new cp1;
  71. new cp2;
  72.  
  73. new kickid;
  74. new banid;
  75.  
  76. new BandeiraVermelha;
  77. new BandeiraAzul;
  78.  
  79. new DropVermelhos;
  80. new DropAzuis;
  81.  
  82. new PontosVermelhos;
  83. new PontosAzuis;
  84.  
  85. new KillingSpree[MAX_PLAYERS];
  86. new CounterTK[MAX_PLAYERS];
  87.  
  88. new CounterCountdown;
  89.  
  90. new CheckDuty[MAX_PLAYERS];
  91.  
  92. new Text:Textdraw0;
  93. new Text:Textdraw1;
  94.  
  95. new Text:IntroTD0;
  96. new Text:IntroTD1;
  97. new Text:IntroTD2;
  98. new Text:IntroTD3;
  99. new Text:IntroTD4;
  100.  
  101. static gTeam[MAX_PLAYERS];
  102.  
  103. enum pInfo
  104. {
  105.     Password,
  106.     Dinheiro,
  107.     Score,
  108.     Admin,
  109.     MortesTotais,
  110.     MatadosTotais
  111.    
  112. };
  113.  
  114. new iPlayerInfo[MAX_PLAYERS][pInfo];
  115.  
  116. main()
  117. {
  118.     printf("\n\n========================================");
  119.     printf("\nInfinity Capture The Flag carregado!");
  120.     printf("\n\n\n========================================\n\n");
  121. }
  122.  
  123. public OnGameModeInit()
  124. {
  125.     SetGameModeText("i-CTF 1.0");
  126.     SendRconCommand("mapname iCTF Bone County");
  127.    
  128.     Create3DTextLabel("Bandeira Vermelha", Sucesso, bvX, bvY, bvZ, 40.0, 0, 0);
  129.     Create3DTextLabel("Bandeira Azul", Sucesso, baX, baY, baZ, 40.0, 0, 0);
  130.     Create3DTextLabel("Drop base Vermelhos", Sucesso, dvX, dvY, dvZ, 40.0, 0, 0);
  131.     Create3DTextLabel("Drop base Azuis", Sucesso, daX, daY, daZ, 40.0, 0, 0);
  132.    
  133.     Textdraw0 = TextDrawCreate(367.000000, 437.000000, "Infinity Capture The Flag V1.0");
  134.     TextDrawBackgroundColor(Textdraw0, -65281);
  135.     TextDrawFont(Textdraw0, 3);
  136.     TextDrawLetterSize(Textdraw0, 0.519999, 1.100000);
  137.     TextDrawColor(Textdraw0, 255);
  138.     TextDrawSetOutline(Textdraw0, 0);
  139.     TextDrawSetProportional(Textdraw0, 1);
  140.     TextDrawSetShadow(Textdraw0, 1);
  141.    
  142.     Textdraw1 = TextDrawCreate(6.000000, 437.000000, "Team Vermelha 1-1 Team Azul");
  143.     TextDrawBackgroundColor(Textdraw1, -65281);
  144.     TextDrawFont(Textdraw1, 3);
  145.     TextDrawLetterSize(Textdraw1, 0.519999, 1.100000);
  146.     TextDrawColor(Textdraw1, 255);
  147.     TextDrawSetOutline(Textdraw1, 0);
  148.     TextDrawSetProportional(Textdraw1, 1);
  149.     TextDrawSetShadow(Textdraw1, 1);
  150.    
  151.     // Aeroporto Abandonado
  152.    
  153.     CreateObject(8149,300.2999878,2390.3000488,18.6000004,0.0000000,0.0000000,272.0000000); //object(vgsselecfence03)(1)
  154.     CreateObject(8149,111.0996094,2390.0000000,18.6000004,0.0000000,0.0000000,267.9949951); //object(vgsselecfence03)(2)
  155.     CreateObject(3749,222.5000000,2388.1999512,21.2999992,0.0000000,0.0000000,358.0000000); //object(clubgate01_lax)(1)
  156.     CreateObject(3749,198.0000000,2388.0000000,21.2999992,0.0000000,0.0000000,357.9949951); //object(clubgate01_lax)(2)
  157.     CreateObject(3475,210.5000000,2387.8000488,17.8999996,0.0000000,0.0000000,92.0000000); //object(vgsn_fncelec_pst)(1)
  158.     CreateObject(8149,284.8994141,2563.5000000,18.7000008,0.0000000,0.0000000,89.9945068); //object(vgsselecfence03)(3)
  159.     CreateObject(3749,363.5000000,2567.1999512,21.1000004,0.0000000,0.0000000,12.0000000); //object(clubgate01_lax)(3)
  160.     CreateObject(3749,390.7999878,2573.3999023,21.1000004,0.0000000,0.0000000,17.9975586); //object(clubgate01_lax)(4)
  161.     CreateObject(987,383.2999878,2572.1999512,15.3999996,0.0000000,0.0000000,198.0000000); //object(elecfence_bar)(1)
  162.     CreateObject(8210,456.0000000,2518.1999512,20.8999996,0.0000000,0.0000000,90.0000000); //object(vgsselecfence12)(1)
  163.     CreateObject(16113,427.6000061,2555.0000000,12.0000000,0.0000000,0.0000000,12.0000000); //object(des_rockgp2_03)(1)
  164.     CreateObject(16113,434.0000000,2555.8999023,12.0000000,0.0000000,0.0000000,313.9970703); //object(des_rockgp2_03)(2)
  165.     CreateObject(16113,419.0000000,2571.1000977,12.0000000,0.0000000,0.0000000,13.9947510); //object(des_rockgp2_03)(3)
  166.     CreateObject(3279,437.2999878,2536.1999512,30.7999992,0.0000000,0.0000000,334.0000000); //object(a51_spottower)(1)
  167.     CreateObject(3279,439.1000061,2436.3000488,15.6000004,0.0000000,0.0000000,357.9949951); //object(a51_spottower)(2)
  168.     CreateObject(8210,456.0000000,2463.3999023,23.0000000,0.0000000,0.0000000,90.0000000); //object(vgsselecfence12)(2)
  169.     CreateObject(987,456.5000000,2546.0000000,18.3999996,0.0000000,0.0000000,184.0000000); //object(elecfence_bar)(2)
  170.     CreateObject(987,379.0000000,2392.8999023,16.2000008,0.0000000,0.0000000,30.0000000); //object(elecfence_bar)(3)
  171.     CreateObject(987,389.3999939,2398.6000977,16.1000004,0.0000000,0.0000000,29.9981689); //object(elecfence_bar)(4)
  172.     CreateObject(987,400.1000061,2404.8999023,15.6000004,0.0000000,0.0000000,29.9981689); //object(elecfence_bar)(5)
  173.     CreateObject(987,410.3999939,2410.8999023,15.5000000,0.0000000,0.0000000,27.9981689); //object(elecfence_bar)(6)
  174.     CreateObject(987,420.8999939,2416.5000000,15.5000000,0.0000000,0.0000000,27.9931641); //object(elecfence_bar)(7)
  175.     CreateObject(987,431.3999939,2422.1000977,15.5000000,0.0000000,0.0000000,27.9931641); //object(elecfence_bar)(8)
  176.     CreateObject(3749,449.2000122,2431.5000000,24.2999992,0.0000000,351.0000000,36.0000000); //object(clubgate01_lax)(5)
  177.     CreateObject(2990,415.6000061,2476.3000488,19.3999996,0.0000000,0.0000000,180.0000000); //object(wongs_gate)(1)
  178.     CreateObject(2990,405.5000000,2476.3000488,19.3999996,0.0000000,0.0000000,179.9945068); //object(wongs_gate)(2)
  179.     CreateObject(2990,395.2999878,2476.3000488,19.3999996,0.0000000,0.0000000,179.9945068); //object(wongs_gate)(3)
  180.     CreateObject(8149,135.1999969,2563.3999023,18.7000008,0.0000000,0.0000000,89.9945068); //object(vgsselecfence03)(3)
  181.     CreateObject(3268,360.2999878,2466.1999512,15.5000000,0.0000000,0.0000000,268.0000000); //object(mil_hangar1_)(1)
  182.     CreateObject(3279,179.5000000,2396.6999512,15.5000000,0.0000000,0.0000000,0.0000000); //object(a51_spottower)(3)
  183.     CreateObject(3279,88.5000000,2399.3000488,15.5000000,0.0000000,0.0000000,0.0000000); //object(a51_spottower)(4)
  184.     CreateObject(16098,191.3999939,2543.6000977,20.6000004,0.0000000,0.0000000,270.0000000); //object(des_by_hangar_)(1)
  185.     CreateObject(9241,269.1000061,2459.3000488,15.0000000,0.0000000,0.0000000,0.0000000); //object(copbits_sfn)(1)
  186.     CreateObject(9241,210.1999969,2460.1999512,15.0000000,0.0000000,0.0000000,0.0000000); //object(copbits_sfn)(2)
  187.     CreateObject(8149,-28.2000008,2431.8999023,18.6000004,0.0000000,0.0000000,239.9949951); //object(vgsselecfence03)(2)
  188.     CreateObject(10763,64.2998047,2454.3994141,48.2000008,0.0000000,0.0000000,313.9947510); //object(controltower_sfse)(1)
  189.     CreateObject(8038,6.0999999,2444.3999023,35.5999985,0.0000000,0.0000000,270.0000000); //object(arprtermnl01_lvs)(1)
  190.     CreateObject(8171,-10.6000004,2502.1999512,15.6000004,0.0000000,0.0000000,90.0000000); //object(vgssairportland06)(1)
  191.     CreateObject(8171,126.8000031,2502.1999512,15.8000002,0.0000000,0.0000000,270.0000000); //object(vgssairportland06)(2)
  192.     CreateObject(8171,263.3999939,2502.1999512,15.8000002,0.0000000,0.0000000,270.0000000); //object(vgssairportland06)(3)
  193.     CreateObject(8171,401.6000061,2502.1999512,15.8000002,0.0000000,0.0000000,270.0000000); //object(vgssairportland06)(4)
  194.     CreateObject(8149,-10.8999996,2563.5000000,19.0000000,0.0000000,0.0000000,89.9945068); //object(vgsselecfence03)(3)
  195.     CreateObject(10832,-86.0999985,2558.0000000,18.2999992,0.0000000,0.0000000,0.0000000); //object(gatehouse2_sfse)(1)
  196.     CreateObject(990,-89.4000015,2558.3999023,21.5000000,0.0000000,0.0000000,90.0000000); //object(bar_barrier12)(1)
  197.     CreateObject(3578,-83.9000015,2550.0000000,16.2999992,0.0000000,0.0000000,0.0000000); //object(dockbarr1_la)(1)
  198.     CreateObject(3578,-91.4000015,2554.6000977,16.2999992,0.0000000,8.0000000,290.0000000); //object(dockbarr1_la)(2)
  199.     CreateObject(10832,-86.5000000,2532.1999512,17.0000000,0.0000000,0.0000000,0.0000000); //object(gatehouse2_sfse)(2)
  200.     CreateObject(3578,-84.5000000,2538.8000488,16.2999992,0.0000000,0.0000000,0.0000000); //object(dockbarr1_la)(3)
  201.     CreateObject(3578,-91.5999985,2533.8999023,16.2999992,0.0000000,0.0000000,76.0000000); //object(dockbarr1_la)(4)
  202.     CreateObject(3578,-88.6999969,2544.1999512,15.0000000,0.0000000,0.0000000,90.0000000); //object(dockbarr1_la)(5)
  203.     CreateObject(3578,-86.5000000,2544.3999023,15.0000000,0.0000000,0.0000000,90.0000000); //object(dockbarr1_la)(6)
  204.     CreateObject(3578,-84.3000031,2544.6000977,15.0000000,0.0000000,0.0000000,90.0000000); //object(dockbarr1_la)(7)
  205.     CreateObject(3578,-81.9000015,2544.3000488,15.0000000,0.0000000,0.0000000,90.0000000); //object(dockbarr1_la)(8)
  206.     CreateObject(975,-79.0999985,2535.1999512,17.2000008,0.0000000,0.0000000,270.0000000); //object(columbiangate)(2)
  207.     CreateObject(975,-78.5999985,2553.1000977,17.2000008,0.0000000,0.0000000,92.0000000); //object(columbiangate)(3)
  208.     CreateObject(990,-89.8000031,2532.1999512,20.0000000,0.0000000,0.0000000,90.0000000); //object(bar_barrier12)(2)
  209.     CreateObject(8210,-89.8000031,2495.1999512,18.6000004,0.0000000,0.0000000,270.0000000); //object(vgsselecfence12)(3)
  210.     CreateObject(987,-87.5000000,2534.0000000,15.5000000,0.0000000,0.0000000,258.0000000); //object(elecfence_bar)(9)
  211.     CreateObject(5442,-100.1999969,2509.1999512,15.8000002,0.0000000,0.0000000,270.0000000); //object(laeroad13)(1)
  212.     CreateObject(5442,-100.1999969,2449.8999023,12.6000004,0.0000000,6.0000000,270.0000000); //object(laeroad13)(2)
  213.     CreateObject(2960,-92.9000015,2539.1000977,15.8999996,0.0000000,0.0000000,0.0000000); //object(kmb_beam)(1)
  214.     CreateObject(2960,-91.0000000,2538.8000488,15.6999998,0.0000000,7.0000000,268.0000000); //object(kmb_beam)(2)
  215.     CreateObject(2960,-92.1999969,2538.6000977,15.6999998,0.0000000,6.9982910,267.9949951); //object(kmb_beam)(3)
  216.     CreateObject(2960,-93.6999969,2538.3999023,15.6999998,0.0000000,6.9982910,283.9949951); //object(kmb_beam)(4)
  217.     CreateObject(3529,-77.3000031,2549.8000488,18.8999996,0.0000000,0.0000000,0.0000000); //object(vgsn_constrbeam)(1)
  218.     CreateObject(3529,-77.1999969,2538.6999512,18.8999996,0.0000000,0.0000000,0.0000000); //object(vgsn_constrbeam)(2)
  219.     CreateObject(5442,-76.0000000,2544.1992188,15.6999998,0.0000000,359.8956299,179.9945068); //object(laeroad13)(3)
  220.     CreateObject(910,-88.1999969,2552.5000000,17.2000008,0.0000000,0.0000000,0.0000000); //object(bust_cabinet_4)(1)
  221.     CreateObject(926,-89.0999985,2551.6999512,16.1000004,0.0000000,0.0000000,0.0000000); //object(rubbish_box2)(1)
  222.     CreateObject(926,-88.3000031,2551.1000977,16.1000004,0.0000000,0.0000000,0.0000000); //object(rubbish_box2)(2)
  223.     CreateObject(926,-86.5000000,2551.1000977,16.1000004,0.0000000,0.0000000,0.0000000); //object(rubbish_box2)(3)
  224.     CreateObject(924,-87.5999985,2551.6999512,16.0000000,0.0000000,0.0000000,0.0000000); //object(fruitcrate3)(1)
  225.     CreateObject(853,-72.1999969,2536.1999512,16.2000008,0.0000000,0.0000000,0.0000000); //object(cj_urb_rub_5)(1)
  226.     CreateObject(852,-77.5000000,2537.5000000,15.8000002,0.0000000,0.0000000,0.0000000); //object(cj_urb_rub_4)(1)
  227.     CreateObject(852,-76.3000031,2538.3000488,15.8000002,0.0000000,0.0000000,0.0000000); //object(cj_urb_rub_4)(2)
  228.     CreateObject(849,-77.0999985,2551.1000977,16.1000004,0.0000000,0.0000000,0.0000000); //object(cj_urb_rub_3)(1)
  229.     CreateObject(849,-77.6999969,2549.8000488,16.1000004,0.0000000,0.0000000,326.0000000); //object(cj_urb_rub_3)(2)
  230.     CreateObject(3073,-75.0000000,2556.8999023,18.2000008,0.0000000,0.0000000,0.0000000); //object(kmb_container_broke)(1)
  231.     CreateObject(3006,-75.3000031,2556.6999512,17.2999992,0.0000000,0.0000000,0.0000000); //object(smash_box_brk)(1)
  232.     CreateObject(3006,-75.1999969,2554.6999512,16.7000008,0.0000000,0.0000000,0.0000000); //object(smash_box_brk)(2)
  233.     CreateObject(1358,-5.1999998,2461.3999023,16.7000008,0.0000000,0.0000000,4.0000000); //object(cj_skip_rubbish)(1)
  234.     CreateObject(1338,-3.3000000,2463.8999023,16.2000008,0.0000000,0.0000000,0.0000000); //object(binnt08_la)(1)
  235.     CreateObject(1338,-4.5000000,2464.3000488,16.2000008,0.0000000,0.0000000,0.0000000); //object(binnt08_la)(2)
  236.     CreateObject(12957,-86.5000000,2519.0996094,16.3999996,0.0000000,0.0000000,9.9975586); //object(sw_pickupwreck01)(1)
  237.     CreateObject(12954,-88.8000031,2505.8000488,16.1000004,0.0000000,0.0000000,0.0000000); //object(sw_furnipile01)(1)
  238.     CreateObject(939,87.5999985,2452.3000488,17.8999996,0.0000000,0.0000000,0.0000000); //object(cj_df_unit)(1)
  239.     CreateObject(939,87.4000015,2456.8000488,17.8999996,0.0000000,0.0000000,0.0000000); //object(cj_df_unit)(2)
  240.     CreateObject(939,87.1999969,2461.8000488,17.8999996,0.0000000,0.0000000,0.0000000); //object(cj_df_unit)(3)
  241.     CreateObject(2672,87.8000031,2468.3999023,15.8000002,0.0000000,0.0000000,0.0000000); //object(proc_rubbish_4)(1)
  242.     CreateObject(2672,89.4000015,2472.8999023,15.8000002,0.0000000,0.0000000,0.0000000); //object(proc_rubbish_4)(2)
  243.     CreateObject(2672,95.9000015,2473.5000000,15.8000002,0.0000000,0.0000000,0.0000000); //object(proc_rubbish_4)(3)
  244.     CreateObject(3594,73.8000031,2449.8999023,18.2000008,0.0000000,0.0000000,11.9970703); //object(la_fuckcar1)(1)
  245.     CreateObject(18246,158.6992188,2453.0000000,17.7999992,0.0000000,0.0000000,90.0000000); //object(cuntwjunk04)(1)
  246.     CreateObject(18249,113.4000015,2455.6000977,22.2000008,0.0000000,0.0000000,344.0000000); //object(cuntwjunk05)(1)
  247.     CreateObject(18248,131.1000061,2459.3000488,23.5000000,0.0000000,0.0000000,318.0000000); //object(cuntwjunk01)(1)
  248.     CreateObject(13591,179.2998047,2457.5996094,15.6999998,0.0000000,0.0000000,0.0000000); //object(kickcar28)(1)
  249.     CreateObject(923,-61.4000015,2536.3000488,16.6000004,0.0000000,0.0000000,0.0000000); //object(packing_carates2)(1)
  250.     CreateObject(3864,41.2999992,2473.1999512,21.6000004,0.0000000,0.0000000,34.0000000); //object(ws_floodlight)(1)
  251.     CreateObject(6965,15.1000004,2472.6999512,19.1000004,0.0000000,0.0000000,0.0000000); //object(venefountain02)(1)
  252.     CreateObject(3887,8.0000000,2534.8000488,23.0000000,0.0000000,0.0000000,90.0000000); //object(demolish4_sfxrf)(1)
  253.     CreateObject(3866,293.8994141,2464.1992188,23.2999992,0.0000000,0.0000000,3.9990234); //object(demolish1_sfxrf)(1)
  254.     CreateObject(16305,291.2999878,2456.1000977,20.7000008,0.0000000,0.0000000,8.0000000); //object(des_gravelpile06)(1)
  255.     CreateObject(3939,-15.1999998,2470.0000000,17.2000008,0.0000000,0.0000000,90.0000000); //object(hanger01)(1)
  256.     CreateObject(3939,-25.8999996,2469.6999512,17.2000008,0.0000000,0.0000000,90.0000000); //object(hanger01)(2)
  257.     CreateObject(16305,38.8994141,2534.5996094,20.7000008,0.0000000,0.0000000,7.9925537); //object(des_gravelpile06)(2)
  258.     CreateObject(980,222.3999939,2388.8000488,15.5000000,90.0000000,0.0000000,0.0000000); //object(airportgate)(1)
  259.     CreateObject(980,203.5000000,2386.1000977,18.2999992,19.0000000,200.0000000,120.0000000); //object(airportgate)(2)
  260.     CreateObject(980,452.2000122,2426.5000000,19.0000000,100.0000000,0.0000000,30.0000000); //object(airportgate)(3)
  261.     CreateObject(3866,-120.4000015,2502.3000488,24.0000000,6.0000000,0.0000000,89.9990234); //object(demolish1_sfxrf)(1)
  262.     CreateObject(1358,-114.8000031,2505.3999023,17.3999996,0.0000000,0.0000000,0.0000000); //object(cj_skip_rubbish)(2)
  263.     CreateObject(1440,-107.6999969,2494.1999512,16.3999996,0.0000000,0.0000000,0.0000000); //object(dyn_box_pile_3)(1)
  264.     CreateObject(1440,-106.9000015,2499.1000977,16.3999996,0.0000000,0.0000000,0.0000000); //object(dyn_box_pile_3)(2)
  265.     CreateObject(1440,-106.5999985,2501.1000977,16.3999996,0.0000000,0.0000000,0.0000000); //object(dyn_box_pile_3)(3)
  266.     CreateObject(5442,2.5999999,2553.3000488,15.6999998,0.0000000,359.8956299,179.9945068); //object(laeroad13)(3)
  267.     CreateObject(2890,34.0000000,2560.0000000,15.3999996,0.0000000,0.0000000,0.0000000); //object(kmb_skip)(1)
  268.     CreateObject(3099,27.6000004,2540.8000488,14.0000000,0.0000000,0.0000000,22.0000000); //object(break_wall_3b)(1)
  269.     CreateObject(3302,32.2000008,2548.6999512,15.6000004,0.0000000,0.0000000,0.0000000); //object(cxrf_corpanel)(1)
  270.     CreateObject(3302,33.5999985,2550.1999512,15.6000004,0.0000000,0.0000000,0.0000000); //object(cxrf_corpanel)(2)
  271.     CreateObject(913,-3.4000001,2527.1000977,22.6000004,0.0000000,0.0000000,180.0000000); //object(bust_cabinet_3)(1)
  272.     CreateObject(952,10.3000002,2530.0000000,16.7999992,0.0000000,0.0000000,0.0000000); //object(generator_big_d)(1)
  273.     CreateObject(3460,-10.1000004,2546.8999023,18.0000000,20.0000000,30.0000000,0.0000000); //object(vegaslampost)(1)
  274.     CreateObject(1296,-65.9000015,2536.3000488,21.1000004,0.0000000,0.0000000,0.0000000); //object(doublestreetlght1_d)(1)
  275.     CreateObject(1293,-64.0999985,2535.1999512,16.3999996,0.0000000,0.0000000,0.0000000); //object(papermachn01)(1)
  276.     CreateObject(1257,-110.6999969,2520.8999023,18.2999992,350.0000000,346.0000000,186.0000000); //object(bustopm)(1)
  277.     CreateObject(1223,-108.6999969,2525.0000000,15.0000000,40.0000000,0.0000000,0.0000000); //object(lampost_coast)(1)
  278.     CreateObject(1352,-88.0999985,2432.5000000,14.5000000,0.0000000,0.0000000,20.0000000); //object(cj_traffic_light3)(1)
  279.     CreateObject(1352,-127.4000015,2455.1999512,13.0000000,0.0000000,40.0000000,249.9951172); //object(cj_traffic_light3)(2)
  280.     CreateObject(11011,-55.2000008,2472.5000000,19.5000000,0.0000000,0.0000000,98.0000000); //object(crackfactjump_sfs)(1)
  281.     CreateObject(13065,677.7000122,1798.1999512,3.0000000,0.0000000,0.0000000,80.0000000); //object(sw_fact03)(1)
  282.     CreateObject(3578,-93.5000000,2429.3000488,14.1999998,0.0000000,4.0000000,14.0000000); //object(dockbarr1_la)(9)
  283.     CreateObject(7089,30.6000004,2427.6000977,22.0000000,0.0000000,0.0000000,180.0000000); //object(newscafldvegs02)(1)
  284.     CreateObject(17940,8.8000002,2440.8000488,33.4000015,0.0000000,0.0000000,0.0000000); //object(rbridg23_girders)(1)
  285.     CreateObject(16092,20.0000000,2445.6000977,24.5000000,0.0000000,0.0000000,0.0000000); //object(des_pipestrut05)(1)
  286.     CreateObject(16092,-5.5000000,2446.8999023,24.5000000,0.0000000,0.0000000,0.0000000); //object(des_pipestrut05)(2)
  287.     CreateObject(3530,-17.6000004,2457.1999512,30.2999992,0.0000000,0.0000000,0.0000000); //object(vgsn_constrbeam2)(1)
  288.     CreateObject(3530,43.4000015,2457.3999023,30.2999992,0.0000000,0.0000000,0.0000000); //object(vgsn_constrbeam2)(2)
  289.     CreateObject(16305,66.6999969,2441.1000977,20.7000008,0.0000000,0.0000000,1.9925537); //object(des_gravelpile06)(2)
  290.     CreateObject(16305,49.5999985,2443.5000000,26.7999992,0.0000000,0.0000000,1.9885254); //object(des_gravelpile06)(2)
  291.     CreateObject(3569,35.5000000,2471.8000488,18.1000004,0.0000000,0.0000000,0.0000000); //object(lasntrk3)(1)
  292.     CreateObject(1391,-41.5000000,2453.8999023,47.7999992,0.0000000,0.0000000,0.0000000); //object(twrcrane_s_03)(1)
  293.     CreateObject(1388,-41.9000015,2454.0000000,60.4000015,0.0000000,0.0000000,256.0000000); //object(twrcrane_s_04)(1)
  294.     CreateObject(1337,-24.9960938,2389.7275391,31.5774231,0.0000000,0.0000000,0.0000000); //object(binnt07_la)(2)
  295.     CreateObject(11401,-3.7000000,2444.6000977,61.5000000,0.0000000,0.0000000,348.0000000); //object(acwinch1b_sfs)(1)
  296.     CreateObject(3054,-3.7000000,2444.6000977,59.9000015,0.0000000,0.0000000,272.0000000); //object(dyn_wreking_ball)(1)
  297.     CreateObject(1225,46.5000000,2464.1999512,15.8999996,0.0000000,0.0000000,0.0000000); //object(barrel4)(1)
  298.     CreateObject(1225,50.4000015,2439.3000488,26.0000000,0.0000000,0.0000000,0.0000000); //object(barrel4)(2)
  299.     CreateObject(1225,18.3999996,2451.6999512,24.8999996,0.0000000,0.0000000,0.0000000); //object(barrel4)(3)
  300.     CreateObject(1225,-7.5000000,2440.3999023,24.8999996,0.0000000,0.0000000,0.0000000); //object(barrel4)(4)
  301.     CreateObject(3866,56.9000015,2446.3999023,31.0000000,0.0000000,0.0000000,267.9945068); //object(demolish1_sfxrf)(1)
  302.     CreateObject(16305,63.4000015,2446.5000000,24.3999996,0.0000000,0.0000000,1.9885254); //object(des_gravelpile06)(2)
  303.     CreateObject(3594,74.5999985,2449.1000977,17.0000000,0.0000000,0.0000000,11.9970703); //object(la_fuckcar1)(1)
  304.     CreateObject(3594,76.6999969,2448.6999512,16.1000004,0.0000000,0.0000000,11.9970703); //object(la_fuckcar1)(1)
  305.     CreateObject(16305,70.5999985,2441.0000000,20.7000008,0.0000000,0.0000000,1.9885254); //object(des_gravelpile06)(2)
  306.     CreateObject(3594,-31.1000004,2467.1000977,16.1000004,0.0000000,0.0000000,359.9970703); //object(la_fuckcar1)(1)
  307.     CreateObject(6865,-102.1999969,2553.1000977,14.0000000,0.0000000,0.0000000,0.0000000); //object(steerskull)(1)
  308.     CreateObject(12957,381.7999878,2557.8000488,16.5000000,0.0000000,0.0000000,9.9975586); //object(sw_pickupwreck01)(1)
  309.     CreateObject(979, 178.69577, 1805.14368, 17.53211,   0.00000, 0.00000, 0.00000);
  310.     CreateObject(979, 191.79468, 1805.50281, 17.53211,   0.00000, 0.00000, 0.00000);
  311.     CreateObject(979, 165.31404, 1805.31042, 17.53211,   0.00000, 0.00000, 0.00000);
  312.    
  313.     CreateVehicle(495, 195.7107, 1808.2588, 18.0852, 0.0000, -1, -1, 100);
  314.     CreateVehicle(495, 191.6304, 1808.2837, 18.0852, 0.0000, -1, -1, 100);
  315.     CreateVehicle(495, 187.4908, 1808.2505, 18.0852, 0.0000, -1, -1, 100);
  316.     CreateVehicle(411, 182.2838, 1808.1349, 17.3407, 0.0000, -1, -1, 100);
  317.     CreateVehicle(411, 178.7267, 1808.1151, 17.3407, 0.0000, -1, -1, 100);
  318.     CreateVehicle(411, 175.1667, 1807.9623, 17.3407, 0.0000, -1, -1, 100);
  319.     CreateVehicle(487, 152.8715, 1806.5068, 18.0882, 0.0000, -1, -1, 100);
  320.     CreateVehicle(482, 168.9639, 1808.3593, 17.6735, 0.0000, -1, -1, 100);
  321.     CreateVehicle(482, 165.3386, 1808.3805, 17.6735, 0.0000, -1, -1, 100);
  322.     CreateVehicle(482, 161.6983, 1808.3492, 17.6735, 0.0000, -1, -1, 100);
  323.     CreateVehicle(411, 381.2896, 2542.0376, 16.4693, 176.0701, -1, -1, 100);
  324.     CreateVehicle(411, 384.5004, 2541.7915, 16.4693, 176.0701, -1, -1, 100);
  325.     CreateVehicle(411, 377.8526, 2542.2253, 16.4693, 176.0701, -1, -1, 100);
  326.     CreateVehicle(482, 390.5308, 2541.4343, 16.6748, 174.2399, -1, -1, 100);
  327.     CreateVehicle(482, 394.1369, 2541.1423, 16.6748, 174.2399, -1, -1, 100);
  328.     CreateVehicle(482, 397.2506, 2535.0432, 16.6748, 134.8824, -1, -1, 100);
  329.     CreateVehicle(487, 364.6748, 2536.0439, 17.2465, 0.0000, -1, -1, 100);
  330.     CreateVehicle(468, 399.5053, 2548.5776, 16.1894, 61.1710, -1, -1, 100);
  331.     CreateVehicle(468, 398.9973, 2547.5151, 16.1894, 61.1710, -1, -1, 100);
  332.     CreateVehicle(468, 398.1392, 2546.4006, 16.1894, 61.1710, -1, -1, 100);
  333.     CreateVehicle(468, 195.7278, 1825.2545, 17.3500, 186.3000, -1, -1, 100);
  334.     CreateVehicle(468, 194.4876, 1825.1665, 17.3500, 186.3000, -1, -1, 100);
  335.     CreateVehicle(468, 193.2141, 1825.0485, 17.3500, 186.3000, -1, -1, 100);
  336.  
  337.     IntroTD0 = TextDrawCreate(645.000000, 2.000000, "_");
  338.     TextDrawBackgroundColor(IntroTD0, 255);
  339.     TextDrawFont(IntroTD0, 1);
  340.     TextDrawLetterSize(IntroTD0, 0.500000, 10.100002);
  341.     TextDrawColor(IntroTD0, -1);
  342.     TextDrawSetOutline(IntroTD0, 0);
  343.     TextDrawSetProportional(IntroTD0, 1);
  344.     TextDrawSetShadow(IntroTD0, 1);
  345.     TextDrawUseBox(IntroTD0, 1);
  346.     TextDrawBoxColor(IntroTD0, 255);
  347.     TextDrawTextSize(IntroTD0, -5.000000, 0.000000);
  348.  
  349.     IntroTD1 = TextDrawCreate(645.000000, 354.000000, "_");
  350.     TextDrawBackgroundColor(IntroTD1, 255);
  351.     TextDrawFont(IntroTD1, 1);
  352.     TextDrawLetterSize(IntroTD1, 0.500000, 10.100002);
  353.     TextDrawColor(IntroTD1, -1);
  354.     TextDrawSetOutline(IntroTD1, 0);
  355.     TextDrawSetProportional(IntroTD1, 1);
  356.     TextDrawSetShadow(IntroTD1, 1);
  357.     TextDrawUseBox(IntroTD1, 1);
  358.     TextDrawBoxColor(IntroTD1, 255);
  359.     TextDrawTextSize(IntroTD1, -5.000000, 0.000000);
  360.  
  361.     IntroTD2 = TextDrawCreate(645.000000, 354.000000, "_");
  362.     TextDrawBackgroundColor(IntroTD2, 255);
  363.     TextDrawFont(IntroTD2, 1);
  364.     TextDrawLetterSize(IntroTD2, 0.500000, 0.000000);
  365.     TextDrawColor(IntroTD2, -1);
  366.     TextDrawSetOutline(IntroTD2, 0);
  367.     TextDrawSetProportional(IntroTD2, 1);
  368.     TextDrawSetShadow(IntroTD2, 1);
  369.     TextDrawUseBox(IntroTD2, 1);
  370.     TextDrawBoxColor(IntroTD2, AzulLeve);
  371.     TextDrawTextSize(IntroTD2, -5.000000, 0.000000);
  372.  
  373.     IntroTD3 = TextDrawCreate(645.000000, 93.000000, "_");
  374.     TextDrawBackgroundColor(IntroTD3, 255);
  375.     TextDrawFont(IntroTD3, 1);
  376.     TextDrawLetterSize(IntroTD3, 0.500000, 0.000000);
  377.     TextDrawColor(IntroTD3, -1);
  378.     TextDrawSetOutline(IntroTD3, 0);
  379.     TextDrawSetProportional(IntroTD3, 1);
  380.     TextDrawSetShadow(IntroTD3, 1);
  381.     TextDrawUseBox(IntroTD3, 1);
  382.     TextDrawBoxColor(IntroTD3, AzulLeve);
  383.     TextDrawTextSize(IntroTD3, -5.000000, 0.000000);
  384.  
  385.     IntroTD4 = TextDrawCreate(138.000000, 19.000000, "Infinity Capture The Flag");
  386.     TextDrawBackgroundColor(IntroTD4, Amarelo);
  387.     TextDrawFont(IntroTD4, 3);
  388.     TextDrawLetterSize(IntroTD4, 0.699999, 4.599997);
  389.     TextDrawColor(IntroTD4, 255);
  390.     TextDrawSetOutline(IntroTD4, 1);
  391.     TextDrawSetProportional(IntroTD4, 1);
  392.    
  393.     DOF2_Exit();
  394.     return 1;
  395. }
  396.  
  397. public OnPlayerConnect(playerid)
  398. {
  399.     new ficheiro[64];
  400.     new nome[MAX_PLAYER_NAME];
  401.     new string[128];
  402.    
  403.     GetPlayerName(playerid, nome, sizeof(nome));
  404.     format(string, sizeof(string), "[iCTF] {FFFFFF}O jogador {10F441}%s {FFFFFF}entrou no servidor!", nome);
  405.     SendClientMessageToAll(Sucesso, string);
  406.    
  407.     BandeiraVermelha = CreateDynamicPickup(1276, 22, bvX, bvY, bvZ, -1, -1, playerid, 3000.0);
  408.     BandeiraAzul = CreateDynamicPickup(1276, 22, baX, baY, baZ, -1, -1, playerid, 3000.0);
  409.     DropVermelhos = CreateDynamicPickup(1318, 1, dvX, dvY, dvZ, -1, -1, playerid, 3000.0);
  410.     DropAzuis = CreateDynamicPickup(1318, 1, daX, daY, daZ, -1, -1, playerid, 3000.0);
  411.    
  412.     CounterTK[playerid] = 0;
  413.     KillingSpree[playerid] = 0;
  414.  
  415.     TextDrawShowForPlayer(playerid,IntroTD0);
  416.     TextDrawShowForPlayer(playerid,IntroTD1);
  417.     TextDrawShowForPlayer(playerid,IntroTD2);
  418.     TextDrawShowForPlayer(playerid,IntroTD3);
  419.     TextDrawShowForPlayer(playerid,IntroTD4);
  420.  
  421.     format(ficheiro, sizeof(ficheiro), "CTF/Contas/%s.ini", nome);
  422.     if(DOF2_FileExists(ficheiro)) return ShowPlayerDialog(playerid, DIALOG_LOGAR, DIALOG_STYLE_PASSWORD, "Login", "Estás registado, escreve a tua password para logares!", "Login", "Cancelar");
  423.     else ShowPlayerDialog(playerid, DIALOG_REGISTO, DIALOG_STYLE_INPUT, "Registo", "Não estás registado, escreva uma password para te registares! \nSe não escreveres nada, serás kickado como media de prevenção a spammers", "Registar", "Cancelar");
  424.    
  425.     return 1;
  426. }
  427.  
  428. public OnPlayerDisconnect(playerid, reason)
  429. {
  430.     new ficheiro[64];
  431.     new nome[MAX_PLAYER_NAME];
  432.     new string[128];
  433.  
  434.     GetPlayerName(playerid, nome, sizeof(nome));
  435.     format(ficheiro, sizeof(ficheiro), "CTF/Contas/%s.ini", nome);
  436.     if(DOF2_FileExists(ficheiro))
  437.     {
  438.         iPlayerInfo[playerid][Dinheiro] = GetPlayerMoney(playerid);
  439.         iPlayerInfo[playerid][Score] = GetPlayerScore(playerid);
  440.        
  441.         DOF2_SetInt(ficheiro, "Dinheiro", iPlayerInfo[playerid][Dinheiro]);
  442.         DOF2_SetInt(ficheiro, "Score", iPlayerInfo[playerid][Score]);
  443.         DOF2_SetInt(ficheiro, "Admin", iPlayerInfo[playerid][Admin]);
  444.         DOF2_SetInt(ficheiro, "MortesTotais", iPlayerInfo[playerid][MortesTotais]);
  445.         DOF2_SetInt(ficheiro, "MatadosTotais", iPlayerInfo[playerid][MatadosTotais]);
  446.  
  447.         DOF2_SaveFile();
  448.     }
  449.     else return 1;
  450.    
  451.     if(playerid == TemABandeiraAzul)
  452.     {
  453.         DestroyPickup(BandeiraAzul);
  454.         BandeiraAzul = CreatePickup(1276, 22, baX, baY, baZ);
  455.     }
  456.     if(playerid == TemABandeiraVermelha)
  457.     {
  458.         DestroyPickup(BandeiraVermelha);
  459.         BandeiraVermelha = CreatePickup(1276, 22, bvX, bvY, bvZ);
  460.     }
  461.    
  462.     switch(reason)
  463.     {
  464.         case 1:
  465.         {
  466.             format(string, sizeof string, "[iCTF] {FFFFFF}O jogador {10F441}%s {FFFFFF}saiu do servidor! {AA3333}(Crashou)", nome);
  467.         }
  468.         case 2:
  469.         {
  470.             format(string, sizeof string, "[iCTF] {FFFFFF}O jogador {10F441}%s {FFFFFF}saiu do servidor!", nome);
  471.         }
  472.         case 3:
  473.         {
  474.             format(string, sizeof string, "[iCTF] {FFFFFF}O jogador {10F441}%s {FFFFFF}saiu do servidor! {AA3333}(Kickado/Banido)", nome);
  475.         }
  476.     }
  477.     SendClientMessageToAll(Sucesso, string);
  478.     return 1;
  479. }
  480.  
  481. public OnPlayerDeath(playerid, killerid, reason)
  482. {
  483.     SendDeathMessage(killerid, playerid, reason);
  484.     if(playerid == TemABandeiraVermelha)
  485.     {
  486.         BandeiraVermelha = CreatePickup(1276, 22, bvX, bvY, bvZ);
  487.         TemABandeiraVermelha = 501;
  488.     }
  489.     if(playerid == TemABandeiraAzul)
  490.     {
  491.         BandeiraAzul = CreatePickup(1276, 22, baX, baY, baZ);
  492.         TemABandeiraAzul = 501;
  493.     }
  494.    
  495.     GivePlayerMoney(playerid, -500);
  496.     GivePlayerMoney(killerid, 800);
  497.    
  498.     KillingSpree[playerid] = 0;
  499.     KillingSpree[killerid]++;
  500.    
  501.     iPlayerInfo[killerid][MatadosTotais]++;
  502.     iPlayerInfo[playerid][MortesTotais]++;
  503.  
  504.     if(KillingSpree[killerid] == 3)
  505.     {
  506.         GameTextForAll("~r~Killing Spree", 3000, 4);
  507.     }
  508.     else if(KillingSpree[killerid] == 5)
  509.     {
  510.         GameTextForAll("~r~Unstopabble", 3000, 4);
  511.     }
  512.     else if(KillingSpree[killerid] == 6)
  513.     {
  514.         GameTextForAll("~r~Dominating", 3000, 4);
  515.     }
  516.     else if(KillingSpree[killerid] == 7)
  517.     {
  518.         GameTextForAll("~r~Godlike", 3000, 4);
  519.     }
  520.     else if(KillingSpree[killerid] >= 7)
  521.     {
  522.         GameTextForAll("~r~Legendary", 3000, 4);
  523.     }
  524.     if(KillingSpree[playerid] >=3)
  525.     {
  526.         GameTextForAll("~r~Shutdown", 3000, 4);
  527.     }
  528.  
  529.     if(playerid == TEAM_VERMELHA && killerid == TEAM_VERMELHA)
  530.     {
  531.         new string[128];
  532.         CounterTK[killerid]++;
  533.         format(string, sizeof(string), "[iCTF] {FFFFFF}Mataste um jogador da tua equipa! Á terceira serás kickado! {AA3333}%i/3!", CounterTK);
  534.         SendClientMessage(playerid, Sucesso, string);
  535.     }
  536.     if(playerid == TEAM_AZUL && killerid == TEAM_AZUL)
  537.     {
  538.         new string[128];
  539.         CounterTK[killerid]++;
  540.         format(string, sizeof(string), "[iCTF] {FFFFFF}Mataste um jogador da tua equipa! Á terceira serás kickado! {AA3333}%i/3!", CounterTK);
  541.         SendClientMessage(playerid, Sucesso, string);
  542.     }
  543.    
  544.     if(CounterTK[killerid] == 3)
  545.     {
  546.         new nomejogador[32];
  547.         new string[128];
  548.        
  549.         GetPlayerName(killerid, nomejogador, sizeof(nomejogador));
  550.        
  551.         Kick(playerid);
  552.         format(string, sizeof(string), "[iCTF] {FFFFFF}O jogador {10F441}%s {FFFFFF}foi kickado por TK! (Team Kill)", nomejogador);
  553.         SendClientMessageToAll(Sucesso, string);
  554.     }
  555.     return 1;
  556. }
  557.  
  558. public OnPlayerSpawn(playerid)
  559. {
  560.     new string[128];
  561.    
  562.     format(string, sizeof(string), "Team Vermelha %i-%i Team Azul", PontosVermelhos, PontosAzuis);
  563.    
  564.     TextDrawSetString(Textdraw1, string);
  565.     TextDrawShowForPlayer(playerid, Textdraw0);
  566.     TextDrawShowForPlayer(playerid, Textdraw1);
  567.    
  568.     TextDrawHideForPlayer(playerid, IntroTD0);
  569.     TextDrawHideForPlayer(playerid, IntroTD1);
  570.     TextDrawHideForPlayer(playerid, IntroTD2);
  571.     TextDrawHideForPlayer(playerid, IntroTD3);
  572.     TextDrawHideForPlayer(playerid, IntroTD4);
  573.    
  574.     return 1;
  575. }
  576.  
  577. public OnPlayerText(playerid, text[])
  578. {
  579.     new string[128];
  580.     new nome[32];
  581.    
  582.     GetPlayerName(playerid, nome, sizeof(nome));
  583.     switch(gTeam[playerid])
  584.     {
  585.         case TEAM_VERMELHA:
  586.         {
  587.             if(iPlayerInfo[playerid][Admin] > 1)
  588.             {
  589.                 format(string, sizeof(string), "{FF9900}[Administrador]{AA3333}[%s]: {FFFFFF}%s", nome, text);
  590.                 SendPlayerMessageToAll(Sucesso, string);
  591.             }
  592.             else
  593.             {
  594.                 return 0;
  595.             }
  596.         }
  597.         case TEAM_AZUL:
  598.         {
  599.             if(iPlayerInfo[playerid][Admin] > 1)
  600.             {
  601.                 format(string, sizeof(string), "{FF9900}[Administrador]{63AFFF0}[%s]: {FFFFFF}%s", nome, text);
  602.                 SendPlayerMessageToAll(Sucesso, string);
  603.             }
  604.             else
  605.             {
  606.                 return 0;
  607.             }
  608.         }
  609.     }
  610.     return 1;
  611. }
  612.  
  613. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  614. {
  615.     new ficheiro[64];
  616.     new nome[MAX_PLAYER_NAME];
  617.  
  618.     GetPlayerName(playerid, nome, sizeof(nome));
  619.     if(dialogid == DIALOG_REGISTO)
  620.     {
  621.         if(!response) return Kick(playerid);
  622.         if(!strlen(inputtext)) return ShowPlayerDialog(playerid, DIALOG_LOGAR, DIALOG_STYLE_PASSWORD,"Login","Digite a sua senha para se registar!","Logar","Sair");
  623.         format(ficheiro, sizeof(ficheiro), "CTF/Contas/%s.ini", nome);
  624.         DOF2_CreateFile(ficheiro);
  625.  
  626.         DOF2_SetString(ficheiro, "Password", inputtext);
  627.         DOF2_SetInt(ficheiro, "Score", iPlayerInfo[playerid][Score]);
  628.         DOF2_SetInt(ficheiro, "Admin", iPlayerInfo[playerid][Admin]);
  629.         DOF2_SetInt(ficheiro, "Dinheiro", iPlayerInfo[playerid][Dinheiro]);
  630.         DOF2_SetInt(ficheiro, "MortesTotais", iPlayerInfo[playerid][MortesTotais]);
  631.         DOF2_SetInt(ficheiro, "MatadosTotais", iPlayerInfo[playerid][MatadosTotais]);
  632.  
  633.         DOF2_SaveFile();
  634.  
  635.         ShowPlayerDialog(playerid, DIALOG_LOGAR, DIALOG_STYLE_PASSWORD, "Login", "Registado com sucesso! \nEfectue o login!", "Login", "Cancelar");
  636.     }
  637.     if(dialogid == DIALOG_LOGAR)
  638.     {
  639.         if(!response) return Kick(playerid);
  640.         format(ficheiro, sizeof(ficheiro),"CTF/Contas/%s.ini", nome);
  641.         if(!strcmp(DOF2_GetString(ficheiro,"Password"), inputtext, false))
  642.         {
  643.             iPlayerInfo[playerid][Score] = DOF2_GetInt(ficheiro, "Score");
  644.             iPlayerInfo[playerid][Dinheiro] = DOF2_GetInt(ficheiro, "Dinheiro");
  645.             iPlayerInfo[playerid][Admin] = DOF2_GetInt(ficheiro, "Admin");
  646.             iPlayerInfo[playerid][MortesTotais] = DOF2_GetInt(ficheiro, "MortesTotais");
  647.             iPlayerInfo[playerid][MatadosTotais] = DOF2_GetInt(ficheiro, "MatadosTotais");
  648.  
  649.             GivePlayerMoney(playerid, iPlayerInfo[playerid][Dinheiro]);
  650.             SetPlayerScore(playerid, iPlayerInfo[playerid][Score]);
  651.  
  652.             ShowPlayerDialog(playerid, DIALOG_SPAWN, DIALOG_STYLE_LIST, "Selecionar equipa", "Equipa {AA3333}Vermelha\nEquipa {63AFFF}Azul", "Selecionar", "Sair");
  653.         }
  654.         else return  ShowPlayerDialog(playerid, DIALOG_LOGAR, DIALOG_STYLE_PASSWORD, "Login", "A password digitada é errada, digite-a novamente para logar!", "Login", "Cancelar");
  655.     }
  656.     if(dialogid == DIALOG_SPAWN)
  657.     {
  658.         if(!response) return Kick(playerid);
  659.         cp1 = CreateDynamicCP(baX, baY, baZ, 3, -1, -1, -1, 4000.0);
  660.         cp2 = CreateDynamicCP(bvX, bvY, bvZ, 3, -1, -1, -1, 4000.0);
  661.         TogglePlayerDynamicCP(playerid, cp1, 0);
  662.         TogglePlayerDynamicCP(playerid, cp2, 0);
  663.         switch(listitem)
  664.         {
  665.             case 0:
  666.             {
  667.                 SendClientMessage(playerid, Sucesso, "[iCTF] {FFFFFF}Escolheste a equipa {AA3333}Vermelha!");
  668.                 SetPlayerTeam(playerid, TEAM_VERMELHA);
  669.                 gTeam[playerid] = TEAM_VERMELHA;
  670.                 SetSpawnInfo(playerid, 0, 163, 412.5676, 2530.7268, 19.1799, 0.0, 0, 0, 0, 0, 0, 0);
  671.                 SpawnPlayer(playerid);
  672.                
  673.                 SetPlayerColor(playerid, Erro);
  674.                 TogglePlayerDynamicCP(playerid, cp1, 1);
  675.             }
  676.             case 1:
  677.             {
  678.                 SendClientMessage(playerid, Sucesso, "[iCTF] {FFFFFF}Escolheste a equipa {63AFFF}Azul!");
  679.                 SetPlayerTeam(playerid, TEAM_AZUL);
  680.                 gTeam[playerid] = TEAM_AZUL;
  681.                 SetSpawnInfo(playerid, 0, 114, 211.1978, 1811.1350, 21.8672, 0.0, 0, 0, 0, 0, 0, 0);
  682.                 SpawnPlayer(playerid);
  683.                
  684.                 SetPlayerColor(playerid, Azul);
  685.                 TogglePlayerDynamicCP(playerid, cp2, 1);
  686.             }
  687.         }
  688.     }
  689.     if(dialogid == DIALOG_AMMUNATION)
  690.     {
  691.         new dinheiro;
  692.        
  693.         if(!response) return 1;
  694.         dinheiro = GetPlayerMoney(playerid);
  695.         switch(listitem)
  696.         {
  697.             case 0:
  698.             {
  699.                 if(dinheiro >= 1000)
  700.                 {
  701.                     GivePlayerWeapon(playerid, 24, 200);
  702.                     SendClientMessage(playerid, Sucesso, "[iCTF] {FFFFFF}Compraste uma {10F441}Desert Eagle {FFFFFF}por {10F441}1000${FFFFFF}!");
  703.                     GivePlayerMoney(playerid, -1000);
  704.                 }
  705.                 else
  706.                 {
  707.                     SendClientMessage(playerid, Sucesso, "[iCTF] {FFFFFF}Não tens dinheiro para comprar a Desert Eagle!");
  708.                 }
  709.             }
  710.             case 1:
  711.             {
  712.                 if(dinheiro >= 1800)
  713.                 {
  714.                     GivePlayerWeapon(playerid, 29, 350);
  715.                     SendClientMessage(playerid, Sucesso, "[iCTF] {FFFFFF}Compraste uma {10F441}MP5 {FFFFFF}por {10F441}1000${FFFFFF}!");
  716.                     GivePlayerMoney(playerid, -1800);
  717.                 }
  718.                 else
  719.                 {
  720.                     SendClientMessage(playerid, Sucesso, "[iCTF] {FFFFFF}Não tens dinheiro para comprar a MP5!");
  721.                 }
  722.             }
  723.             case 2:
  724.             {
  725.                 if(dinheiro >= 2400)
  726.                 {
  727.                     GivePlayerWeapon(playerid, 31, 300);
  728.                     SendClientMessage(playerid, Sucesso, "[iCTF] {FFFFFF}Compraste uma {10F441}M4 {FFFFFF}por {10F441}2400${FFFFFF}!");
  729.                     GivePlayerMoney(playerid, -2400);
  730.                 }
  731.                 else
  732.                 {
  733.                     SendClientMessage(playerid, Sucesso, "[iCTF] {FFFFFF}Não tens dinheiro para comprar a M4!");
  734.                 }
  735.             }
  736.             case 3:
  737.             {
  738.                 if(dinheiro >= 2400)
  739.                 {
  740.                     GivePlayerWeapon(playerid, 30, 300);
  741.                     SendClientMessage(playerid, Sucesso, "[iCTF] {FFFFFF}Compraste uma {10F441}AK-47 {FFFFFF}por {10F441}2400${FFFFFF}!");
  742.                     GivePlayerMoney(playerid, -2400);
  743.                 }
  744.                 else
  745.                 {
  746.                     SendClientMessage(playerid, Sucesso, "[iCTF] {FFFFFF}Não tens dinheiro para comprar a AK-47!");
  747.                 }
  748.             }
  749.             case 4:
  750.             {
  751.                 if(dinheiro >= 4000)
  752.                 {
  753.                     GivePlayerWeapon(playerid, 26, 150);
  754.                     SendClientMessage(playerid, Sucesso, "[iCTF] {FFFFFF}Compraste uma {10F441}Sawn Off {FFFFFF}por {10F441}4000${FFFFFF}!");
  755.                     GivePlayerMoney(playerid, -4000);
  756.                 }
  757.                 else
  758.                 {
  759.                     SendClientMessage(playerid, Sucesso, "[iCTF] {FFFFFF}Não tens dinheiro para comprar a Sawn Off!");
  760.                 }
  761.             }
  762.             case 5:
  763.             {
  764.                 if(dinheiro >= 5000)
  765.                 {
  766.                     GivePlayerWeapon(playerid, 34, 100);
  767.                     SendClientMessage(playerid, Sucesso, "[iCTF] {FFFFFF}Compraste uma {10F441}Sniper {FFFFFF}por {10F441}5000${FFFFFF}!");
  768.                     GivePlayerMoney(playerid, -5000);
  769.                 }
  770.                 else
  771.                 {
  772.                     SendClientMessage(playerid, Sucesso, "[iCTF] {FFFFFF}Não tens dinheiro para comprar a Sniper!");
  773.                 }
  774.             }
  775.             case 6:
  776.             {
  777.                 if(dinheiro >= 10000)
  778.                 {
  779.                     GivePlayerWeapon(playerid, 35, 15);
  780.                     SendClientMessage(playerid, Sucesso, "[iCTF] {FFFFFF}Compraste um {10F441}RPG {FFFFFF}por {10F441}10000${FFFFFF}!");
  781.                     GivePlayerMoney(playerid, -10000);
  782.                 }
  783.                 else
  784.                 {
  785.                     SendClientMessage(playerid, Sucesso, "[iCTF] {FFFFFF}Não tens dinheiro para comprar o RPG!");
  786.                 }
  787.             }
  788.             case 7:
  789.             {
  790.                 if(dinheiro >= 2000)
  791.                 {
  792.                     SetPlayerArmour(playerid, 100.00);
  793.                     SendClientMessage(playerid, Sucesso, "[iCTF] {FFFFFF}Compraste um {10F441}Colete {FFFFFF}por {10F441}2000${FFFFFF}!");
  794.                     GivePlayerMoney(playerid, -2000);
  795.                 }
  796.                 else
  797.                 {
  798.                     SendClientMessage(playerid, Sucesso, "[iCTF] {FFFFFF}Não tens dinheiro para comprar o Colete!");
  799.                 }
  800.             }
  801.         }
  802.     }
  803.     if(dialogid == DIALOG_STATS)
  804.     {
  805.         if(!response) return 1;
  806.         else return 1;
  807.     }
  808.     if(dialogid == DIALOG_CREDITOS)
  809.     {
  810.         if(!response) return 1;
  811.         else return 1;
  812.     }
  813.     return 0;
  814. }
  815.  
  816. public OnPlayerPickUpDynamicPickup(playerid, pickupid)
  817. {
  818.     new string[128];
  819.     new nomejogador[32];
  820.  
  821.     GetPlayerName(playerid, nomejogador, sizeof(nomejogador));
  822.     if(pickupid == BandeiraVermelha)
  823.     {
  824.         if(gTeam[playerid] == TEAM_AZUL)
  825.         {
  826.             format(string, sizeof(string), "[iCTF] {FFFFFF}O jogador {10F441}%s {FFFFFF}tem a bandeira {AA3333}Vermelha!", nomejogador);
  827.             SendClientMessageToAll(Sucesso, string);
  828.  
  829.             SendClientMessage(playerid, Sucesso, "[iCTF] {FFFFFF}Tens a bandeira {AA3333}Vermelha, {FFFFFF}leva-a para a tua base!");
  830.             TemABandeiraVermelha = playerid;
  831.  
  832.             SetPlayerColor(playerid, Sucesso);
  833.         }
  834.         else if(gTeam[playerid] == TEAM_VERMELHA)
  835.         {
  836.             DestroyDynamicPickup(BandeiraVermelha);
  837.             BandeiraVermelha = CreateDynamicPickup(1276, 22, bvX, bvY, bvZ, -1, -1, playerid, 3000.0);
  838.         }
  839.     }
  840.     if(pickupid == BandeiraAzul)
  841.     {
  842.         if(gTeam[playerid] == TEAM_VERMELHA)
  843.         {
  844.             format(string, sizeof(string), "[iCTF] {FFFFFF}O jogador {10F441}%s {FFFFFF}tem a bandeira {63AFFF}Azul!", nomejogador);
  845.             SendClientMessageToAll(Sucesso, string);
  846.  
  847.             SendClientMessage(playerid, Sucesso, "[iCTF] {FFFFFF}Tens a bandeira {63AFFF}Azul, {FFFFFF}leva-a para a tua base!");
  848.             TemABandeiraAzul = playerid;
  849.  
  850.             SetPlayerColor(playerid, Sucesso);
  851.         }
  852.         else if(gTeam[playerid] == TEAM_AZUL)
  853.         {
  854.             DestroyDynamicPickup(BandeiraAzul);
  855.             BandeiraAzul = CreateDynamicPickup(1276, 22, baX, baY, baZ, -1, -1, playerid, 3000.0);
  856.         }
  857.     }
  858.     if(pickupid == DropVermelhos)
  859.     {
  860.         if(gTeam[playerid] == TEAM_VERMELHA)
  861.         {
  862.             if(playerid == TemABandeiraAzul)
  863.             {
  864.                 SendClientMessage(playerid, Sucesso, "[iCTF] {FFFFFF}Trouxeste a bandeira {63AFFF}Azul {FFFFFF}para a tua base! A tua equipa ganhou 1 ponto!");
  865.  
  866.                 GameTextForAll("~g~+1 ~r~Team Vermelha", 5000, 1);
  867.  
  868.                 GivePlayerMoney(playerid, 1200);
  869.                 SetPlayerScore(playerid, GetPlayerScore(playerid) +2);
  870.                 PontosVermelhos++;
  871.                 TemABandeiraAzul = 501;
  872.  
  873.                 DestroyDynamicPickup(BandeiraAzul);
  874.                 BandeiraAzul = CreateDynamicPickup(1276, 22, baX, baY, baZ, -1, -1, playerid, 3000.0);
  875.  
  876.                 format(string, sizeof(string), "Team Vermelha %i-%i Team Azul", PontosVermelhos, PontosAzuis);
  877.                 TextDrawSetString(Textdraw1, string);
  878.  
  879.                 SetPlayerColor(playerid, Erro);
  880.             }
  881.             else
  882.             {
  883.                 DestroyDynamicPickup(DropVermelhos);
  884.                 DropVermelhos = CreateDynamicPickup(1318, 1, dvX, dvY, dvZ, -1, -1, playerid, 3000.0);
  885.             }
  886.         }
  887.         else if(gTeam[playerid] == TEAM_AZUL)
  888.         {
  889.             DestroyDynamicPickup(DropVermelhos);
  890.             DropVermelhos = CreateDynamicPickup(1318, 1, dvX, dvY, dvZ, -1, -1, playerid, 3000.0);
  891.         }
  892.     }
  893.     if(pickupid == DropAzuis)
  894.     {
  895.         if(gTeam[playerid] == TEAM_AZUL)
  896.         {
  897.             if(playerid == TemABandeiraVermelha)
  898.             {
  899.                 SendClientMessage(playerid, Sucesso, "[iCTF] {FFFFFF}Trouxeste a bandeira {AA3333}Vermelha {FFFFFF}para a tua base! A tua equipa ganhou 1 ponto!");
  900.  
  901.                 GameTextForAll("~g~+1 ~b~Team Azul", 5000, 1);
  902.  
  903.                 SetPlayerScore(playerid, GetPlayerScore(playerid) +2);
  904.                 GivePlayerMoney(playerid, 1200);
  905.                 PontosAzuis++;
  906.                 TemABandeiraVermelha = 501;
  907.  
  908.                 DestroyDynamicPickup(BandeiraVermelha);
  909.                 BandeiraVermelha = CreateDynamicPickup(1276, 22, bvX, bvY, bvZ, -1, -1, playerid, 3000.0);
  910.  
  911.                 format(string, sizeof(string), "Team Vermelha %i-%i Team Azul", PontosVermelhos, PontosAzuis);
  912.                 TextDrawSetString(Textdraw1, string);
  913.  
  914.                 SetPlayerColor(playerid, Azul);
  915.  
  916.             }
  917.             else
  918.             {
  919.                 DestroyDynamicPickup(DropAzuis);
  920.                 DropAzuis = CreateDynamicPickup(1318, 1, daX, daY, daZ, -1, -1, playerid, 3000.0);
  921.             }
  922.         }
  923.         else if(gTeam[playerid] == TEAM_VERMELHA)
  924.         {
  925.             DestroyDynamicPickup(DropAzuis);
  926.             DropAzuis = CreateDynamicPickup(1318, 1, daX, daY, daZ, -1, -1, playerid, 3000.0);
  927.         }
  928.     }
  929.     return 1;
  930. }
  931.  
  932. public OnPlayerCommandPerformed(playerid, cmdtext[], success)
  933. {
  934.     new string[128];
  935.     if(!success)
  936.     {
  937.         format(string, sizeof(string), "[iCTF] {FFFFFF}O comando {10F441}%s {FFFFFF}não é válido. Use {10F441}/comandos{FFFFFF}!", cmdtext);
  938.         SendClientMessage(playerid, Sucesso, string);
  939.     }
  940.     return 1;
  941. }
  942.  
  943. public KickTimer()
  944. {
  945.     Kick(kickid);
  946.     return 1;
  947. }
  948.  
  949. public BanTimer()
  950. {
  951.     Ban(kickid);
  952.     return 1;
  953. }
  954.  
  955. public Countdown()
  956. {
  957.     new string[3];
  958.     if(CounterCountdown != 0)
  959.     {
  960.         CounterCountdown--;
  961.  
  962.         format(string, sizeof(string), "%i", CounterCountdown);
  963.         GameTextForAll(string, 999, 4);
  964.     }
  965.     else if(CounterCountdown == 0)
  966.     {
  967.         KillTimer(CounterCountdown);
  968.     }
  969.     return 1;
  970. }
  971.  
  972. CMD:adminduty(playerid, params[])
  973. {
  974.     new string[128];
  975.     new nomeadmin[32];
  976.     if(iPlayerInfo[playerid][Admin] >= 1)
  977.     {
  978.         if(CheckDuty[playerid] == 0)
  979.         {
  980.             GetPlayerName(playerid, nomeadmin, sizeof(nomeadmin));
  981.        
  982.             format(string, sizeof(string), "[iCTF] {FFFFFF}O administrador {10F441}%s {FFFFFF}está agora {10F441}On-Duty{FFFFFF}!", nomeadmin);
  983.             SendClientMessage(playerid, Sucesso, string);
  984.            
  985.             CheckDuty[playerid] = 1;
  986.         }
  987.         else
  988.         {
  989.             GetPlayerName(playerid, nomeadmin, sizeof(nomeadmin));
  990.  
  991.             format(string, sizeof(string), "[iCTF] {FFFFFF}O administrador {10F441}%s {FFFFFF}está agora {10F441}Off-Duty{FFFFFF}!", nomeadmin);
  992.             SendClientMessage(playerid, Sucesso, string);
  993.  
  994.             CheckDuty[playerid] = 0;
  995.         }
  996.     }
  997.     else
  998.     {
  999.         SendClientMessage(playerid, Sucesso, "[iCTF] {FFFFFF}Tu não és administrador!");
  1000.     }
  1001.     return 1;
  1002. }
  1003.  
  1004. CMD:kick(playerid, params[])
  1005. {
  1006.     if(iPlayerInfo[playerid][Admin] >= 1)
  1007.     {
  1008.         new string[128];
  1009.         new string2[128];
  1010.         new nomeadmin[32];
  1011.         new nomeplayer[32];
  1012.         new motivo[32];
  1013.        
  1014.         if(sscanf(params, "is", kickid, motivo)) return SendClientMessage(playerid, Sucesso, "[USO] {FFFFFF}/kick [playerid] [razão]");
  1015.         if(!IsPlayerConnected(kickid)) return SendClientMessage(playerid, Sucesso, "[iCTF] {FFFFFF}Esse jogador não está conectado!");
  1016.         GetPlayerName(playerid, nomeadmin, sizeof(nomeadmin));
  1017.         GetPlayerName(kickid, nomeplayer, sizeof(nomeplayer));
  1018.  
  1019.         format(string, sizeof(string), "[iCTF] {FFFFFF}O administrador {10F441}%s {FFFFFF}kickou o {10F441}%s{FFFFFF}! Motivo: {10F441}%s", nomeadmin, nomeplayer, motivo);
  1020.         format(string2, sizeof(string2), "[iCTF] {FFFFFF}O administrador {10F441}%s {FFFFFF}kickou-te! Motivo: {10F441}%s", nomeadmin, motivo);
  1021.         SendClientMessage(kickid, Sucesso, string);
  1022.         SendClientMessageToAll(Sucesso, string2);
  1023.        
  1024.         SetTimer("KickTimer", 100, false);
  1025.     }
  1026.     else
  1027.     {
  1028.         SendClientMessage(playerid, Sucesso, "[iCTF] {FFFFFF}Tu não és administrador!");
  1029.     }
  1030.     return 1;
  1031. }
  1032.  
  1033. CMD:ban(playerid, params[])
  1034. {
  1035.     if(iPlayerInfo[playerid][Admin] >= 2)
  1036.     {
  1037.         new string[128];
  1038.         new string2[128];
  1039.         new nomeadmin[32];
  1040.         new nomeplayer[32];
  1041.         new motivo[32];
  1042.  
  1043.         if(sscanf(params, "is", banid, motivo)) return SendClientMessage(playerid, Sucesso, "[USO] {FFFFFF}/ban [playerid] [razão]");
  1044.         if(!IsPlayerConnected(banid)) return SendClientMessage(playerid, Sucesso, "[iCTF] {FFFFFF}Esse jogador não está conectado!");
  1045.         GetPlayerName(playerid, nomeadmin, sizeof(nomeadmin));
  1046.         GetPlayerName(banid, nomeplayer, sizeof(nomeplayer));
  1047.  
  1048.         format(string, sizeof(string), "[iCTF] {FFFFFF}O administrador {10F441}%s {FFFFFF}baniu o {10F441}%s{FFFFFF}! Motivo: {10F441}%s", nomeadmin, nomeplayer, motivo);
  1049.         format(string2, sizeof(string2), "[iCTF] {FFFFFF}O administrador {10F441}%s {FFFFFF}baniu-te! Motivo: {10F441}%s", nomeadmin, motivo);
  1050.         SendClientMessage(kickid, Sucesso, string);
  1051.         SendClientMessageToAll(Sucesso, string2);
  1052.  
  1053.         SetTimer("BanTimer", 100, false);
  1054.     }
  1055.     else
  1056.     {
  1057.         SendClientMessage(playerid, Sucesso, "[iCTF] {FFFFFF}Tu não és administrador!");
  1058.     }
  1059.     return 1;
  1060. }
  1061.  
  1062. CMD:countdown(playerid, params[])
  1063. {
  1064.     if(iPlayerInfo[playerid][Admin] >= 1)
  1065.     {
  1066.         SendClientMessage(playerid, Sucesso, "[iCTF] {FFFFFF}Começaste um Countdown de 10 segundos!");
  1067.        
  1068.         CounterCountdown = 11;
  1069.        
  1070.         SetTimer("Countdown", 1000, true);
  1071.     }
  1072.     else
  1073.     {
  1074.         SendClientMessage(playerid, Sucesso, "[iCTF] {FFFFFF}Tu não és administrador!");
  1075.     }
  1076.     return 1;
  1077. }
  1078.  
  1079. CMD:dardinheiro(playerid, params[])
  1080. {
  1081.     if(iPlayerInfo[playerid][Admin] >= 2)
  1082.     {
  1083.         new string[128];
  1084.         new string2[128];
  1085.         new nomeadmin[32];
  1086.         new nomeplayer[32];
  1087.         new dinheiro;
  1088.         new id;
  1089.  
  1090.         if(sscanf(params, "ii", id, dinheiro)) return SendClientMessage(playerid, Sucesso, "[USO] {FFFFFF}/dardinheiro [playerid] [dinheiro]");
  1091.         if(!IsPlayerConnected(id)) return SendClientMessage(playerid, Sucesso, "[iCTF] {FFFFFF}Esse jogador não está conectado!");
  1092.         GetPlayerName(playerid, nomeadmin, sizeof(nomeadmin));
  1093.         GetPlayerName(id, nomeplayer, sizeof(nomeplayer));
  1094.  
  1095.         format(string, sizeof(string), "[iCTF] {FFFFFF}Tu deste {10F441}%i {FFFFFF}ao jogador {10F441}%s{FFFFFF}!", dinheiro, nomeplayer);
  1096.         format(string2, sizeof(string2), "[iCTF] {FFFFFF}O administrador {10F441}%s {FFFFFF}deu-te {10F441}%i{FFFFFF}!", nomeadmin, dinheiro);
  1097.         SendClientMessage(kickid, Sucesso, string);
  1098.         SendClientMessage(id, Sucesso, string2);
  1099.        
  1100.         GivePlayerMoney(playerid, GetPlayerMoney(playerid) +dinheiro);
  1101.     }
  1102.     else
  1103.     {
  1104.         SendClientMessage(playerid, Sucesso, "[iCTF] {FFFFFF}Tu não és administrador!");
  1105.     }
  1106.     return 1;
  1107. }
  1108.  
  1109. CMD:curar(playerid, params[])
  1110. {
  1111.     if(iPlayerInfo[playerid][Admin] >= 1)
  1112.     {
  1113.         new string[128];
  1114.         new string2[128];
  1115.         new nomeadmin[32];
  1116.         new nomeplayer[32];
  1117.         new id;
  1118.  
  1119.         if(sscanf(params, "i", id)) return SendClientMessage(playerid, Sucesso, "[USO] {FFFFFF}/curar [playerid]");
  1120.         if(!IsPlayerConnected(id)) return SendClientMessage(playerid, Sucesso, "[iCTF] {FFFFFF}Esse jogador não está conectado!");
  1121.         GetPlayerName(playerid, nomeadmin, sizeof(nomeadmin));
  1122.         GetPlayerName(id, nomeplayer, sizeof(nomeplayer));
  1123.  
  1124.         format(string, sizeof(string), "[iCTF] {FFFFFF}Tu curaste o jogador {10F441}%s{FFFFFF}!", nomeplayer);
  1125.         format(string2, sizeof(string2), "[iCTF] {FFFFFF}O administrador {10F441}%s {FFFFFF}curou-te!", nomeadmin);
  1126.         SendClientMessage(kickid, Sucesso, string);
  1127.         SendClientMessage(id, Sucesso, string2);
  1128.  
  1129.         SetPlayerHealth(playerid, 100.00);
  1130.     }
  1131.     else
  1132.     {
  1133.         SendClientMessage(playerid, Sucesso, "[iCTF] {FFFFFF}Tu não és administrador!");
  1134.     }
  1135.     return 1;
  1136. }
  1137.  
  1138. CMD:dararma(playerid, params[])
  1139. {
  1140.     if(iPlayerInfo[playerid][Admin] >= 1)
  1141.     {
  1142.         new string[128];
  1143.         new string2[128];
  1144.         new nomeadmin[32];
  1145.         new nomeplayer[32];
  1146.         new id;
  1147.         new wid;
  1148.         new balas;
  1149.  
  1150.         if(sscanf(params, "iii", id, wid, balas)) return SendClientMessage(playerid, Sucesso, "[USO] {FFFFFF}/dararma [playerid] [id arma] [balas]");
  1151.         if(!IsPlayerConnected(id)) return SendClientMessage(playerid, Sucesso, "[iCTF] {FFFFFF}Esse jogador não está conectado!");
  1152.         GetPlayerName(playerid, nomeadmin, sizeof(nomeadmin));
  1153.         GetPlayerName(id, nomeplayer, sizeof(nomeplayer));
  1154.  
  1155.         format(string, sizeof(string), "[iCTF] {FFFFFF}Tu deste uma arma com o id {10F441}%i {FFFFFF}com {10F441}%i {FFFFFF}balas ao jogador {10F441}%s{FFFFFF}!", wid, balas, nomeplayer);
  1156.         format(string2, sizeof(string2), "[iCTF] {FFFFFF}O administrador {10F441}%s {FFFFFF}deu-te uma arma!", nomeadmin);
  1157.         SendClientMessage(kickid, Sucesso, string);
  1158.         SendClientMessage(id, Sucesso, string2);
  1159.  
  1160.         GivePlayerWeapon(playerid, wid, balas);
  1161.     }
  1162.     else
  1163.     {
  1164.         SendClientMessage(playerid, Sucesso, "[iCTF] {FFFFFF}Tu não és administrador!");
  1165.     }
  1166.     return 1;
  1167. }
  1168.  
  1169. CMD:freeze(playerid, params[])
  1170. {
  1171.         if(iPlayerInfo[playerid][Admin] >= 1)
  1172.         {
  1173.                 new string[128];
  1174.                 new string2[128];
  1175.                 new nomeadmin[32];
  1176.                 new nomeplayer[32];
  1177.                 new id;
  1178.  
  1179.                 if(sscanf(params, "i", id)) return SendClientMessage(playerid, Sucesso, "[USO] {FFFFFF}/freeze [playerid]");
  1180.                 if(!IsPlayerConnected(id)) return SendClientMessage(playerid, Sucesso, "[iCTF] {FFFFFF}Esse jogador não está conectado!");
  1181.                 GetPlayerName(playerid, nomeadmin, sizeof(nomeadmin));
  1182.                 GetPlayerName(id, nomeplayer, sizeof(nomeplayer));
  1183.  
  1184.                 format(string, sizeof(string), "[iCTF] {FFFFFF}Tu freezaste o jogador {10F441}%s {FFFFFF}!", nomeplayer);
  1185.                 format(string2, sizeof(string2), "[iCTF] {FFFFFF}O administrador {10F441}%s {FFFFFF}freezou-te!", nomeadmin);
  1186.                 SendClientMessage(kickid, Sucesso, string);
  1187.                 SendClientMessage(id, Sucesso, string2);
  1188.  
  1189.                 TogglePlayerControllable(id, 0);
  1190.         }
  1191.         else
  1192.         {
  1193.                 SendClientMessage(playerid, Sucesso, "[iCTF] {FFFFFF}Tu não és administrador!");
  1194.         }
  1195.         return 1;
  1196. }
  1197.  
  1198. CMD:unfreeze(playerid, params[])
  1199. {
  1200.         if(iPlayerInfo[playerid][Admin] >= 1)
  1201.         {
  1202.                 new string[128];
  1203.                 new string2[128];
  1204.                 new nomeadmin[32];
  1205.                 new nomeplayer[32];
  1206.                 new id;
  1207.  
  1208.                 if(sscanf(params, "i", id)) return SendClientMessage(playerid, Sucesso, "[USO] {FFFFFF}/unfreeze [playerid]");
  1209.                 if(!IsPlayerConnected(id)) return SendClientMessage(playerid, Sucesso, "[iCTF] {FFFFFF}Esse jogador não está conectado!");
  1210.                 GetPlayerName(playerid, nomeadmin, sizeof(nomeadmin));
  1211.                 GetPlayerName(id, nomeplayer, sizeof(nomeplayer));
  1212.  
  1213.                 format(string, sizeof(string), "[iCTF] {FFFFFF}Tu deste unfreeze ao jogador {10F441}%s {FFFFFF}!", nomeplayer);
  1214.                 format(string2, sizeof(string2), "[iCTF] {FFFFFF}O administrador {10F441}%s {FFFFFF}deu-te unfreeze!", nomeadmin);
  1215.                 SendClientMessage(kickid, Sucesso, string);
  1216.                 SendClientMessage(id, Sucesso, string2);
  1217.  
  1218.                 TogglePlayerControllable(id, 1);
  1219.         }
  1220.         else
  1221.         {
  1222.                 SendClientMessage(playerid, Sucesso, "[iCTF] {FFFFFF}Tu não és administrador!");
  1223.         }
  1224.         return 1;
  1225. }
  1226.  
  1227. CMD:restartgame(playerid, params[])
  1228. {
  1229.         if(iPlayerInfo[playerid][Admin] == 3)
  1230.         {
  1231.                 new string[128];
  1232.                 new string2[128];
  1233.                 new nomeadmin[32];
  1234.                
  1235.                 GetPlayerName(playerid, nomeadmin, sizeof(nomeadmin));
  1236.  
  1237.                 format(string, sizeof(string), "[iCTF] {FFFFFF} O administrador {10F441}%s {FFFFFF}deu restart ao jogo!", nomeadmin);
  1238.                 SendClientMessageToAll(Sucesso, string);
  1239.  
  1240.                 for(new i = 0; i < MAX_PLAYERS; i++)
  1241.                 {
  1242.                     if(!IsPlayerConnected(i)) continue;
  1243.                     SetPlayerHealth(i, 0.00);
  1244.                    
  1245.                     KillingSpree[i] = 0;
  1246.                     CounterTK[i] = 0;
  1247.                 }
  1248.                
  1249.                 DestroyPickup(BandeiraVermelha);
  1250.                 BandeiraVermelha = CreatePickup(1276, 22, bvX, bvY, bvZ);
  1251.                
  1252.                 DestroyPickup(BandeiraAzul);
  1253.                 BandeiraAzul = CreatePickup(1276, 22, baX, baY, baZ);
  1254.                
  1255.                 DestroyPickup(DropVermelhos);
  1256.                 DropVermelhos = CreatePickup(1318, 1, dvX, dvY, dvZ);
  1257.  
  1258.                 DestroyPickup(DropAzuis);
  1259.                 DropAzuis = CreatePickup(1318, 1, daX, daY, daZ);
  1260.                
  1261.                 PontosVermelhos = 0;
  1262.                 PontosAzuis = 0;
  1263.                
  1264.                 TemABandeiraVermelha = 501;
  1265.                 TemABandeiraAzul = 501;
  1266.                
  1267.                 format(string2, sizeof(string2), "Team Vermelha %i-%i Team Azul", PontosVermelhos, PontosAzuis);
  1268.                 TextDrawSetString(Textdraw1, string2);
  1269.                 TextDrawShowForPlayer(playerid, Textdraw1);
  1270.                
  1271.                 GivePlayerMoney(playerid, 500);
  1272.                
  1273.                 GameTextForAll("~g~Ronda Reiniciada", 5000, 4);
  1274.         }
  1275.         else
  1276.         {
  1277.                 SendClientMessage(playerid, Sucesso, "[iCTF] {FFFFFF}Tu não és administrador!");
  1278.         }
  1279.         return 1;
  1280. }
  1281.  
  1282. CMD:setadmin(playerid, params[])
  1283. {
  1284.     if(iPlayerInfo[playerid][Admin] == 3)
  1285.     {
  1286.         new string[128];
  1287.         new string2[128];
  1288.         new nomeadmin[32];
  1289.         new nomeplayer[32];
  1290.         new id;
  1291.         new nivel;
  1292.        
  1293.         if(sscanf(params, "ii", id, nivel)) return SendClientMessage(playerid, Sucesso, "[USO] {FFFFFF}/setadmin [playerid] [nível]");
  1294.         GetPlayerName(playerid, nomeadmin, sizeof(nomeadmin));
  1295.         GetPlayerName(id, nomeplayer, sizeof(nomeplayer));
  1296.        
  1297.         format(string, sizeof(string), "[iCTF] {FFFFFF}O administrador {10F441}%s {FFFFFF}colocou-te a administrador nível {10F441}%i {FFFFFF}.", nomeadmin, nivel);
  1298.         format(string2, sizeof(string2), "[iCTF] {FFFFFF}Tu colocaste o jogador {10F441}%s {FFFFFF} a administrador nível {10F441}%i {FFFFFF}.", nomeplayer, nivel);
  1299.  
  1300.         SendClientMessage(playerid, Sucesso, string);
  1301.         SendClientMessage(playerid, Sucesso, string2);
  1302.        
  1303.         iPlayerInfo[id][Admin] = nivel;
  1304.     }
  1305.     else
  1306.     {
  1307.         SendClientMessage(playerid, Sucesso, "[iCTF] {FFFFFF}Tu não és administrador!");
  1308.     }
  1309.     return 1;
  1310. }
  1311.  
  1312.  
  1313. CMD:acomandos(playerid, params[])
  1314. {
  1315.     if(iPlayerInfo[playerid][Admin] >= 1)
  1316.     {
  1317.         SendClientMessage(playerid, Sucesso, "[iCTF] {FFFFFF}/adminduty  /kick  /ban  /dardinheiro  /curar  /dararma");
  1318.         SendClientMessage(playerid, Sucesso, "[iCTF] {FFFFFF}/freeze  /unfreeze  /restartgame  /setadmin");
  1319.     }
  1320.     else
  1321.     {
  1322.         SendClientMessage(playerid, Sucesso, "[iCTF] {FFFFFF}Tu não és administrador!");
  1323.     }
  1324.     return 1;
  1325. }
  1326.  
  1327. CMD:comandos(playerid, params[])
  1328. {
  1329.     SendClientMessage(playerid, Sucesso, "[iCTF] {FFFFFF}/stats /ammunation  /mudarpassword  /ajuda  /admins");
  1330.     return 1;
  1331. }
  1332.  
  1333. CMD:stats(playerid, params[])
  1334. {
  1335.     new string[256];
  1336.  
  1337.     format(string, sizeof(string), "{10F441}Mortes: {FFFFFF}%i \n{10F441}Matados: {FFFFFF}%i", iPlayerInfo[playerid][MortesTotais], iPlayerInfo[playerid][MatadosTotais]);
  1338.    
  1339.     ShowPlayerDialog(playerid, DIALOG_STATS, DIALOG_STYLE_MSGBOX, "Estatísticas", string, "Ok", "");
  1340.    
  1341.     return 1;
  1342. }
  1343.  
  1344. CMD:ammunation(playerid, params[])
  1345. {
  1346.     ShowPlayerDialog(playerid, 4, DIALOG_STYLE_LIST, "Ammunation", "Deagle {10F441}$1000\nMP5 {10F441}1800$\nM4 {10F441}2400$\nAK-47 {10F441}2400$\nSawn Off {10F441}4000$\nSniper {10F441}$5000\nRPG {10F441}10000$\nColete {10F441}2000$", "Comprar", "Sair");
  1347.     return 1;
  1348. }
  1349.  
  1350. CMD:mudarpassword(playerid, params[])
  1351. {
  1352.     new passantiga[16];
  1353.     new passnova[16];
  1354.     new ficheiro[64];
  1355.     new nome[32];
  1356.    
  1357.     if(sscanf(params, "ss", passantiga, passnova)) return SendClientMessage(playerid, Sucesso, "[USO] {FFFFFF}/mudarpassword [password antiga] [novapassword] (sem espaços) (max 16 caract.)");
  1358.     GetPlayerName(playerid, nome, sizeof(nome));
  1359.     format(ficheiro, sizeof(ficheiro), "CTF/Contas/%s.ini", nome);
  1360.     if(!strcmp(DOF2_GetString(ficheiro,"Password"), passantiga, false))
  1361.     {
  1362.         new string2[128];
  1363.         DOF2_SetString(ficheiro, "Password", passnova);
  1364.         format(string2, sizeof(string2), "[iCTF] {FFFFFF}Mudaste a tua password de {10F441}'%s' {FFFFFF}para {10F441}'%s' {FFFFFF}!", passantiga, passnova);
  1365.         SendClientMessage(playerid, Sucesso, string2);
  1366.     }
  1367.     else
  1368.     {
  1369.         new string2[128];
  1370.        
  1371.         format(string2, sizeof(string2), "[iCTF] {FFFFFF}A password antiga {10F441}'%s' {FFFFFF}não está correta!", passantiga);
  1372.         SendClientMessage(playerid, Sucesso, string2);
  1373.     }
  1374.     return 1;
  1375. }
  1376.  
  1377. CMD:ajuda(playerid, params[])
  1378. {
  1379.     new string[128];
  1380.     new nomeplayer[32];
  1381.    
  1382.     if(isnull(params)) return SendClientMessage(playerid, Sucesso, "[USO] {FFFFFF}/ajuda [pedido de ajuda] ");
  1383.     GetPlayerName(playerid, nomeplayer, sizeof(nomeplayer));
  1384.    
  1385.     for(new i = 0; i < MAX_PLAYERS; i++)
  1386.     {
  1387.         if(!IsPlayerConnected(i)) continue;
  1388.         if(iPlayerInfo[i][Admin] > 0)
  1389.         {
  1390.             format(string, sizeof(string), "[iCTF] {FFFFFF}O jogador {10F441}%s {FFFFFF}(ID:%i) está a pedir ajuda: {10F441}%s {FFFFFF}!", nomeplayer, playerid, params);
  1391.             SendClientMessage(i, Sucesso, string);
  1392.         }
  1393.     }
  1394.    
  1395.     SendClientMessage(playerid, Sucesso, "[iCTF] {FFFFFF}O teu pedido de ajuda foi enviado aos administradores online! Por favor, aguarda.");
  1396.     return 1;
  1397. }
  1398.  
  1399. CMD:admins(playerid, params[])
  1400. {
  1401.     new string[128];
  1402.     new nomeadmin[32];
  1403.  
  1404.     for(new i = 0; i < MAX_PLAYERS; i++)
  1405.     {
  1406.         if(!IsPlayerConnected(i)) continue;
  1407.         if(iPlayerInfo[i][Admin] > 0)
  1408.         {
  1409.             GetPlayerName(i, nomeadmin, sizeof(nomeadmin));
  1410.             format(string, sizeof(string), "[iCTF] {FFFFFF}Admins online: {10F441}%s {FFFFFF}.", nomeadmin);
  1411.             SendClientMessage(playerid, Sucesso, string);
  1412.         }
  1413.     }
  1414.     return 1;
  1415. }
  1416.  
  1417. CMD:creditos(playerid, params[])
  1418. {
  1419.     ShowPlayerDialog(playerid, DIALOG_CREDITOS, DIALOG_STYLE_MSGBOX, "Créditos", "Gamemode completo feito por bruxo00\nMapa do Aeroporto Abandonado por s134\nTextdraw no login por BodyBoardVEVO", "Ok", "");
  1420.     return 1;
  1421. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement