Advertisement
cesar_google

Guerra de Bandas [version: 0.0.8/ sscanf2 / zcmd / Y_INI]

Apr 17th, 2013
1,128
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 112.45 KB | None | 0 0
  1. /*
  2. Date: 20/03/2013
  3. Scripter: Parka
  4. Mode: Team DeathMach
  5. HostName Original: Guerra de Bandas
  6.  
  7. [!]============[ 0.0.8 ]============[!]
  8. 1°- Eleger skin por PlayerTextDraw O mas optimizado possível.
  9. 2°- Sistema de Registo e Início com Y_INI.
  10. 3°- zonas Conquistáveis por TurfWar.
  11. 4°- PlayerTextDraw Informativo e Text3D velocímetro, também TextDraw Informação de conquista.
  12. 5°- Quatro Equipas: Groove, Ballas, Aztecaz, Vagos.
  13. 6°- Ao todo há 54 zonas conquistables, Dialog para tomar armas e Quartel Geral da cada Banda.
  14. [!]============[ 0.1.0 ]============[!]
  15. 1°- DropWeapons by Jeffry.
  16. 2°- Ataud + Text3D.
  17. 3°- empresas adicionada (ammu-nation).
  18. 4°- Vendas de armas como em GTA IV.
  19.  
  20. Plágio:
  21.  
  22. O plágio é o ato de assinar ou apresentar uma obra intelectual de qualquer
  23. natureza (texto, música, obra pictórica, fotografia, obra audiovisual, etc)
  24. contendo partes de uma obra que pertença a outra pessoa sem colocar os
  25. créditos para o autor original. No acto de plágio, o plagiador apropria-se
  26. indevidamente da obra intelectual de outra pessoa, assumindo a autoria da mesma.
  27. */
  28. #include <a_samp>      ///  SA-MP Team
  29. #include <zcmd>        ///  Zeex
  30. #include <sscanf2>     ///  Y_LESS
  31. #include <YSI\y_ini>   ///  Y_LESS
  32. main()
  33. {
  34.     print("[!]================================[!]");
  35.     print("[!]======[ Scripter: Parka ]=======[!]");
  36.     print("[!]================================[!]");
  37. }
  38. // * [ { Archivo Save } ] * //
  39. #define Archivo "%s.ini"
  40. #define GM      "Server: "
  41. #define Version "Version: 0.1.0"
  42.  
  43. // * [ { Dialogid´s } ] * //
  44. #define DIALOG_REGISTER (1)
  45. #define DIALOG_LOGIN    (2)
  46.  
  47. // * [ { TEAM´S } ] * //
  48. #define TEAM_GROOVE   (1)
  49. #define TEAM_BALLAS   (2)
  50. #define TEAM_VAGOS    (3)
  51. #define TEAM_AZTECAZ  (4)
  52.  
  53. #define MAX_BIZZ      (2)
  54. #define AMMO_SELL     (50)
  55.  
  56. #define COLOR_GROOVE  0x00FF0066
  57. #define COLOR_BALLAS  0x80008066
  58. #define COLOR_VAGOS   0xFFFF0066
  59. #define COLOR_AZTECAZ 0x00FFFF66
  60.  
  61. #define MR  "{FF0000}"
  62. #define LA  "{88AA88}"
  63. #define KA  "{F0E68C}"
  64. #define PT  "{C0C0C0}"
  65. #define MAM "{FFFF00}"
  66. #define AD  "{00FA9A}"
  67. #define GL  "{FFD700}"
  68. #define BC  "{FFFFFF}"
  69. #define LI  "{00FF00}"
  70. #define KK  "{00FF00}"
  71. #define LL  "{88AA88}"
  72. // * [ { Main Colores } ] * //
  73. #define MainAzul      0x0000FFAA
  74. #define MainRojo      0xFF0000AA
  75. #define MainVerde     0x008000AA
  76. #define MainAmarillo  0xFFFF00AA
  77. #define MainNegro     0x000000AA
  78. #define MainBlanco    0xFFFFFFAA
  79. #define MainNaranja   0xFFA500AA
  80. #define MainPurpura   0x800080AA
  81. #define MainCian      0x00FFFFAA
  82.  
  83. #define WEAPON_RESPAWN_TIME 30
  84. #define MONEY_BAG_MONEY      1
  85. #define MONEY_BAG_MODE       0
  86. new ForbiddenWeapons[]= { 38, 44, 45 };
  87. new WeaponDrop[MAX_PLAYERS][14];
  88. new WeaponData[MAX_PLAYERS][14][2];
  89. new WeaponTimer[MAX_PLAYERS];
  90. new BagMoney = MONEY_BAG_MONEY;
  91. new BagMode = MONEY_BAG_MODE;
  92.  
  93. new TeleporId[MAX_PLAYERS];
  94.  
  95. #define Tecla(%0) \
  96.     (((newkeys & (%0)) == (%0)) && ((oldkeys & (%0)) != (%0)))
  97.  
  98. #define CallBack:%0(%1) forward%0(%1); public%0(%1)
  99.  
  100. #define SPAWN_CAR (240)
  101. #define MAX_TEAMS (4)
  102. #define MAX_ZONE_NAME (28)
  103.  
  104. /*====[ Y_LESS ]====*/
  105. SendClientMessageEx(const iPlayer, const iColor, const szFormat[], { Float, _ }: ...)
  106. {
  107.     new iArgs = (numargs() - 3) << 2;
  108.     if(iArgs)
  109.     {
  110.         static s_szBuf[144], s_iAddr1, s_iAddr2;
  111.         #emit ADDR.PRI szFormat
  112.         #emit STOR.PRI s_iAddr1
  113.         for(s_iAddr2 = s_iAddr1 + iArgs, iArgs += 12; s_iAddr2 != s_iAddr1; s_iAddr2 -= 4)
  114.         {
  115.             #emit LOAD.PRI s_iAddr2
  116.             #emit LOAD.I
  117.             #emit PUSH.PRI
  118.         }
  119.         #emit CONST.PRI s_szBuf
  120.         #emit PUSH.S szFormat
  121.         #emit PUSH.C 144
  122.         #emit PUSH.PRI
  123.         #emit PUSH.S iArgs
  124.         #emit SYSREQ.C format
  125.         #emit LCTRL 4
  126.         #emit LOAD.S.ALT iArgs
  127.         #emit ADD.C 4
  128.         #emit ADD
  129.         #emit SCTRL 4
  130.         return (iPlayer != -1) ? SendClientMessage(iPlayer, iColor, s_szBuf) : SendClientMessageToAll(iColor, s_szBuf);
  131.     }
  132.     return (iPlayer != -1) ? SendClientMessage(iPlayer, iColor, szFormat) : SendClientMessageToAll(iColor, szFormat);
  133. }
  134.  
  135. enum pInfo
  136. {
  137.     pPass,
  138.     pCash,
  139.     pAdmin,
  140.     pScore,
  141.     pKills,
  142.     pDeaths,
  143.     pSkin
  144. }
  145. new PlayerInfo[MAX_PLAYERS][pInfo];
  146.  
  147. enum tdInfo
  148. {
  149. PlayerText:Textdraw_a,
  150. PlayerText:Textdraw_b,
  151. PlayerText:Textdraw_c,
  152. PlayerText:Textdraw_d,
  153. PlayerText:Textdraw_e,
  154. PlayerText:Textdraw_f,
  155. PlayerText:Textdraw_g,
  156. PlayerText:Textdraw_h,
  157. PlayerText:Textdraw_i,
  158. PlayerText:Textdraw_j,
  159. PlayerText:Textdraw_k,
  160. PlayerText:Textdraw_l
  161. }
  162. new TextDrawInfo[MAX_PLAYERS][tdInfo];
  163.  
  164. new Text:TextdrawGlobal[4];
  165. new bool:InformationText[4];
  166.  
  167. static Equipo[MAX_PLAYERS];
  168.  
  169. new PlayerText3D:Veloz[MAX_PLAYERS];
  170. new Seleccion[MAX_PLAYERS];
  171.  
  172. #define MAX_ZONES 54
  173.  
  174. new ZoneTakeOverTeam[MAX_ZONES];
  175. new ZoneTakeOverTime[MAX_ZONES];
  176.  
  177. enum Teleport
  178. {
  179.     World,
  180.     Interior,
  181.     Float:EntraceX,
  182.     Float:EntraceY,
  183.     Float:EntraceZ,
  184.     Float:ExitX,
  185.     Float:ExitY,
  186.     Float:ExitZ
  187. }
  188. new TeleportInfo[ MAX_BIZZ ][ Teleport ] =
  189. {
  190. {0,6,1367.7223,-1279.9056,13.5469,316.258087,-169.656600,999.601013},
  191. {1,6,2400.4622,-1981.4117,13.5469,316.258087,-169.656600,999.601013}
  192. };
  193.  
  194.  
  195.  
  196. enum Z_Info
  197. {
  198.     Float:z_minx,
  199.     Float:z_miny,
  200.     Float:z_maxx,
  201.     Float:z_maxy,
  202.     z_team,
  203.     z_id
  204. }
  205. new ZoneInfo[MAX_ZONES][Z_Info] =
  206. {
  207. {2193.3593,-1746.0937,2552.7343,-1587.8906,TEAM_GROOVE},
  208. {2195.3125,-1832.0310,2550.7812,-1744.1406,TEAM_GROOVE},
  209. {2068.3593,-1830.0781,2195.3125,-1500.0000,TEAM_GROOVE},
  210. {1949.2187,-1878.9060,2066.4062,-1501.9531,TEAM_GROOVE},
  211. {1814.4531,-1939.4531,1951.1718,-1490.2343,TEAM_GROOVE},
  212. {2068.3593,-1949.2187,2544.9218,-1828.1250,TEAM_GROOVE},
  213. {1953.1250,-1949.2187,2066.4062,-1878.9062,TEAM_GROOVE},
  214. {2197.2656,-1585.9375,2554.6875,-1500.0000,TEAM_GROOVE},
  215. {2548.8281,-1583.9843,2982.4218,-1453.1250,TEAM_GROOVE},
  216. {2550.7812,-1767.5781,2748.0468,-1583.9843,TEAM_GROOVE},
  217. {2552.7343,-1906.2500,2750.0000,-1767.5781,TEAM_GROOVE},
  218. {2554.6875,-2064.4531,2740.2343,-1904.2968,TEAM_GROOVE},
  219. {2750.0000,-1777.3437,2974.6093,-1582.0312,TEAM_GROOVE},
  220. {2746.0937,-1960.9375,2980.4687,-1783.2031,TEAM_GROOVE},
  221. {2736.3281,-2068.3593,2984.3750,-1955.0781,TEAM_GROOVE},
  222. {2656.2500,-1281.2500,2947.2656,-1169.9218,TEAM_BALLAS},
  223. {2658.2031,-1388.6718,2960.9375,-1277.3437,TEAM_BALLAS},
  224. {2662.1093,-1476.5625,2957.0312,-1386.7187,TEAM_BALLAS},
  225. {2173.8281,-1458.9843,2652.3437,-1310.5468,TEAM_BALLAS},
  226. {2376.9531,-1310.5468,2650.3906,-1162.1093,TEAM_BALLAS},
  227. {2166.0156,-1312.5000,2380.8593,-1152.3437,TEAM_BALLAS},
  228. {1808.5937,-1314.4531,2177.7343,-1111.3281,TEAM_BALLAS},
  229. {1812.5000,-1455.0781,2175.7812,-1312.5000,TEAM_BALLAS},
  230. {1560.5468,-1451.1718,1812.5000,-1310.5468,TEAM_BALLAS},
  231. {1564.4531,-1310.5468,1810.5465,-1177.7343,TEAM_BALLAS},
  232. {1570.3125,-1179.6875,1812.5000,-1097.6562,TEAM_BALLAS},
  233. {1158.2031,-1251.9531,1583.9843,-1052.7343,TEAM_BALLAS},
  234. {1048.8281,-1250.1160,1562.0000,-1054.6875,TEAM_BALLAS},
  235. {1808.5937,-2183.5937,1986.3281,-1945.3125,TEAM_AZTECAZ},
  236. {1988.2812,-2179.6875,2185.5465,-1947.2656,TEAM_AZTECAZ},
  237. {1550.7815,-2181.6406,1812.5000,-1939.4531,TEAM_AZTECAZ},
  238. {1546.8750,-1943.3593,1810.5468,-1740.2343,TEAM_AZTECAZ},
  239. {1542.9680,-1742.1875,1812.5000,-1511.7187,TEAM_AZTECAZ},
  240. {1281.2500,-1923.8281,1546.8750,-1716.7968,TEAM_AZTECAZ},
  241. {1105.4687,-1910.1562,1283.2031,-1708.9843,TEAM_AZTECAZ},
  242. {1308.5935,-1712.8906,1544.9218,-1474.6093,TEAM_AZTECAZ},
  243. {1078.1250,-1730.4687,1326.1718,-1451.1718,TEAM_AZTECAZ},
  244. {1294.9218,-1476.5625,1535.1562,-1246.0937,TEAM_AZTECAZ},
  245. {1072.6562,-1455.0781,1298.8281,-1236.3281,TEAM_AZTECAZ},
  246. {2736.3281,-2068.3593,2984.3750,-1955.0781,TEAM_AZTECAZ},
  247. {2187.5000,-2062.5000,2539.0625,-1960.9375,TEAM_AZTECAZ},
  248. {2189.4531,-2167.9685,2533.2031,-2062.5000,TEAM_AZTECAZ},
  249. {2193.3595,-2222.6562,2539.0625,-2164.0625,TEAM_AZTECAZ},
  250. {1076.1718,-1050.7812,1267.5781,-871.0937,TEAM_VAGOS},
  251. {1265.6250,-1044.9218,1416.0156,-859.3750,TEAM_VAGOS},
  252. {1417.9687,-1050.7812,1548.8281,-861.3281,TEAM_VAGOS},
  253. {1546.8750,-1052.7343,1662.1093,-863.2812,TEAM_VAGOS},
  254. {1660.1562,-1087.8906,1779.2968,-865.2343,TEAM_VAGOS},
  255. {1777.3437,-1107.4218,1957.0312,-863.2812,TEAM_VAGOS},
  256. {1960.9375,-1121.0937,2152.3437,-863.2812,TEAM_VAGOS},
  257. {2150.3906,-1136.7187,2425.7812,-943.3593,TEAM_VAGOS},
  258. {2423.8281,-1130.8593,2662.1093,-945.3125,TEAM_VAGOS},
  259. {2632.8125,-1150.3906,2804.6875,-958.9843,TEAM_VAGOS},
  260. {2802.7343,-1154.2968,2929.6875,-960.9375,TEAM_VAGOS}
  261. };
  262.  
  263. new Float:Armarse[4][3] =
  264. {
  265. {2494.7810,-1707.4922,1014.7422},
  266. {293.3715,-34.6835,1001.5156},
  267. {2342.7156,-1187.3286,1027.9766},
  268. {288.0291,-76.7479,1001.5156}
  269. };
  270. new Pickup_a, Pickup_b, Pickup_c, Pickup_d;
  271.  
  272. enum SAZONE_MAIN { //Betamaster
  273.         SAZONE_NAME[28],
  274.         Float:SAZONE_AREA[6]
  275. };
  276.  
  277. new CarName[212][] = {
  278.     "Landstalker","Bravura","Buffalo","Linerunner","Pereniel","Sentinel","Dumper","Firetruck","Trashmaster","Stretch","Manana","Infernus",
  279.     "Voodoo","Pony","Mule","Cheetah","Ambulance","Leviathan","Moonbeam","Esperanto","Taxi","Washington","Bobcat","Mr Whoopee","BF Injection",
  280.     "Hunter","Premier","Enforcer","Securicar","Banshee","Predator","Bus","Rhino","Barracks","Hotknife","Trailer","Previon","Coach","Cabbie",
  281.     "Stallion","Rumpo","RC Bandit","Romero","Packer","Monster","Admiral","Squalo","Seasparrow","Pizzaboy","Tram","Trailer","Turismo","Speeder",
  282.     "Reefer","Tropic","Flatbed","Yankee","Caddy","Solair","Berkley's RC Van","Skimmer","PCJ-600","Faggio","Freeway","RC Baron","RC Raider",
  283.     "Glendale","Oceanic","Sanchez","Sparrow","Patriot","Quad","Coastguard","Dinghy","Hermes","Sabre","Rustler","ZR3 50","Walton","Regina",
  284.     "Comet","BMX","Burrito","Camper","Marquis","Baggage","Dozer","Maverick","News Chopper","Rancher","FBI Rancher","Virgo","Greenwood",
  285.     "Jetmax","Hotring","Sandking","Blista Compact","Police Maverick","Boxville","Benson","Mesa","RC Goblin","Hotring Racer A","Hotring Racer B",
  286.     "Bloodring Banger","Rancher","Super GT","Elegant","Journey","Bike","Mountain Bike","Beagle","Cropdust","Stunt","Tanker","RoadTrain",
  287.     "Nebula","Majestic","Buccaneer","Shamal","Hydra","FCR-900","NRG-500","HPV1000","Cement Truck","Tow Truck","Fortune","Cadrona","FBI Truck",
  288.     "Willard","Forklift","Tractor","Combine","Feltzer","Remington","Slamvan","Blade","Freight","Streak","Vortex","Vincent","Bullet","Clover",
  289.     "Sadler","Firetruck","Hustler","Intruder","Primo","Cargobob","Tampa","Sunrise","Merit","Utility","Nevada","Yosemite","Windsor","Monster A",
  290.     "Monster B","Uranus","Jester","Sultan","Stratum","Elegy","Raindance","RC Tiger","Flash","Tahoma","Savanna","Bandito","Freight","Trailer",
  291.     "Kart","Mower","Duneride","Sweeper","Broadway","Tornado","AT-400","DFT-30","Huntley","Stafford","BF-400","Newsvan","Tug","Trailer A","Emperor",
  292.     "Wayfarer","Euros","Hotdog","Club","Trailer B","Trailer C","Andromada","Dodo","RC Cam","Launch","Police Car (LSPD)","Police Car (SFPD)",
  293.     "Police Car (LVPD)","Police Ranger","Picador","S.W.A.T. Van","Alpha","Phoenix","Glendale","Sadler","Luggage Trailer A","Luggage Trailer B",
  294.     "Stair Trailer","Boxville","Farm Plow","Utility Trailer"
  295. };
  296.  
  297. static const gSAZones[][SAZONE_MAIN] = {  // Majority of names and area coordinates adopted from Mabako's 'Zones Script' v0.2
  298.     //  NAME                            AREA (Xmin,Ymin,Zmin,Xmax,Ymax,Zmax)
  299.     {"The Big Ear",                 {-410.00,1403.30,-3.00,-137.90,1681.20,200.00}},
  300.     {"Aldea Malvada",               {-1372.10,2498.50,0.00,-1277.50,2615.30,200.00}},
  301.     {"Angel Pine",                  {-2324.90,-2584.20,-6.10,-1964.20,-2212.10,200.00}},
  302.     {"Arco del Oeste",              {-901.10,2221.80,0.00,-592.00,2571.90,200.00}},
  303.     {"Avispa Country Club",         {-2646.40,-355.40,0.00,-2270.00,-222.50,200.00}},
  304.     {"Avispa Country Club",         {-2831.80,-430.20,-6.10,-2646.40,-222.50,200.00}},
  305.     {"Avispa Country Club",         {-2361.50,-417.10,0.00,-2270.00,-355.40,200.00}},
  306.     {"Avispa Country Club",         {-2667.80,-302.10,-28.80,-2646.40,-262.30,71.10}},
  307.     {"Avispa Country Club",         {-2470.00,-355.40,0.00,-2270.00,-318.40,46.10}},
  308.     {"Avispa Country Club",         {-2550.00,-355.40,0.00,-2470.00,-318.40,39.70}},
  309.     {"Back o Beyond",               {-1166.90,-2641.10,0.00,-321.70,-1856.00,200.00}},
  310.     {"Battery Point",               {-2741.00,1268.40,-4.50,-2533.00,1490.40,200.00}},
  311.     {"Bayside",                     {-2741.00,2175.10,0.00,-2353.10,2722.70,200.00}},
  312.     {"Bayside Marina",              {-2353.10,2275.70,0.00,-2153.10,2475.70,200.00}},
  313.     {"Beacon Hill",                 {-399.60,-1075.50,-1.40,-319.00,-977.50,198.50}},
  314.     {"Blackfield",                  {964.30,1203.20,-89.00,1197.30,1403.20,110.90}},
  315.     {"Blackfield",                  {964.30,1403.20,-89.00,1197.30,1726.20,110.90}},
  316.     {"Blackfield Chapel",           {1375.60,596.30,-89.00,1558.00,823.20,110.90}},
  317.     {"Blackfield Chapel",           {1325.60,596.30,-89.00,1375.60,795.00,110.90}},
  318.     {"Blackfield Intersection",     {1197.30,1044.60,-89.00,1277.00,1163.30,110.90}},
  319.     {"Blackfield Intersection",     {1166.50,795.00,-89.00,1375.60,1044.60,110.90}},
  320.     {"Blackfield Intersection",     {1277.00,1044.60,-89.00,1315.30,1087.60,110.90}},
  321.     {"Blackfield Intersection",     {1375.60,823.20,-89.00,1457.30,919.40,110.90}},
  322.     {"Blueberry",                   {104.50,-220.10,2.30,349.60,152.20,200.00}},
  323.     {"Blueberry",                   {19.60,-404.10,3.80,349.60,-220.10,200.00}},
  324.     {"Blueberry Acres",             {-319.60,-220.10,0.00,104.50,293.30,200.00}},
  325.     {"Caligula's Palace",           {2087.30,1543.20,-89.00,2437.30,1703.20,110.90}},
  326.     {"Caligula's Palace",           {2137.40,1703.20,-89.00,2437.30,1783.20,110.90}},
  327.     {"Calton Heights",              {-2274.10,744.10,-6.10,-1982.30,1358.90,200.00}},
  328.     {"Chinatown",                   {-2274.10,578.30,-7.60,-2078.60,744.10,200.00}},
  329.     {"City Hall",                   {-2867.80,277.40,-9.10,-2593.40,458.40,200.00}},
  330.     {"Come-A-Lot",                  {2087.30,943.20,-89.00,2623.10,1203.20,110.90}},
  331.     {"Commerce",                    {1323.90,-1842.20,-89.00,1701.90,-1722.20,110.90}},
  332.     {"Commerce",                    {1323.90,-1722.20,-89.00,1440.90,-1577.50,110.90}},
  333.     {"Commerce",                    {1370.80,-1577.50,-89.00,1463.90,-1384.90,110.90}},
  334.     {"Commerce",                    {1463.90,-1577.50,-89.00,1667.90,-1430.80,110.90}},
  335.     {"Commerce",                    {1583.50,-1722.20,-89.00,1758.90,-1577.50,110.90}},
  336.     {"Commerce",                    {1667.90,-1577.50,-89.00,1812.60,-1430.80,110.90}},
  337.     {"Conference Center",           {1046.10,-1804.20,-89.00,1323.90,-1722.20,110.90}},
  338.     {"Conference Center",           {1073.20,-1842.20,-89.00,1323.90,-1804.20,110.90}},
  339.     {"Cranberry Station",           {-2007.80,56.30,0.00,-1922.00,224.70,100.00}},
  340.     {"Creek",                       {2749.90,1937.20,-89.00,2921.60,2669.70,110.90}},
  341.     {"Dillimore",                   {580.70,-674.80,-9.50,861.00,-404.70,200.00}},
  342.     {"Doherty",                     {-2270.00,-324.10,-0.00,-1794.90,-222.50,200.00}},
  343.     {"Doherty",                     {-2173.00,-222.50,-0.00,-1794.90,265.20,200.00}},
  344.     {"Downtown",                    {-1982.30,744.10,-6.10,-1871.70,1274.20,200.00}},
  345.     {"Downtown",                    {-1871.70,1176.40,-4.50,-1620.30,1274.20,200.00}},
  346.     {"Downtown",                    {-1700.00,744.20,-6.10,-1580.00,1176.50,200.00}},
  347.     {"Downtown",                    {-1580.00,744.20,-6.10,-1499.80,1025.90,200.00}},
  348.     {"Downtown",                    {-2078.60,578.30,-7.60,-1499.80,744.20,200.00}},
  349.     {"Downtown",                    {-1993.20,265.20,-9.10,-1794.90,578.30,200.00}},
  350.     {"Downtown Los Santos",         {1463.90,-1430.80,-89.00,1724.70,-1290.80,110.90}},
  351.     {"Downtown Los Santos",         {1724.70,-1430.80,-89.00,1812.60,-1250.90,110.90}},
  352.     {"Downtown Los Santos",         {1463.90,-1290.80,-89.00,1724.70,-1150.80,110.90}},
  353.     {"Downtown Los Santos",         {1370.80,-1384.90,-89.00,1463.90,-1170.80,110.90}},
  354.     {"Downtown Los Santos",         {1724.70,-1250.90,-89.00,1812.60,-1150.80,110.90}},
  355.     {"Downtown Los Santos",         {1370.80,-1170.80,-89.00,1463.90,-1130.80,110.90}},
  356.     {"Downtown Los Santos",         {1378.30,-1130.80,-89.00,1463.90,-1026.30,110.90}},
  357.     {"Downtown Los Santos",         {1391.00,-1026.30,-89.00,1463.90,-926.90,110.90}},
  358.     {"Downtown Los Santos",         {1507.50,-1385.20,110.90,1582.50,-1325.30,335.90}},
  359.     {"East Beach",                  {2632.80,-1852.80,-89.00,2959.30,-1668.10,110.90}},
  360.     {"East Beach",                  {2632.80,-1668.10,-89.00,2747.70,-1393.40,110.90}},
  361.     {"East Beach",                  {2747.70,-1668.10,-89.00,2959.30,-1498.60,110.90}},
  362.     {"East Beach",                  {2747.70,-1498.60,-89.00,2959.30,-1120.00,110.90}},
  363.     {"East Los Santos",             {2421.00,-1628.50,-89.00,2632.80,-1454.30,110.90}},
  364.     {"East Los Santos",             {2222.50,-1628.50,-89.00,2421.00,-1494.00,110.90}},
  365.     {"East Los Santos",             {2266.20,-1494.00,-89.00,2381.60,-1372.00,110.90}},
  366.     {"East Los Santos",             {2381.60,-1494.00,-89.00,2421.00,-1454.30,110.90}},
  367.     {"East Los Santos",             {2281.40,-1372.00,-89.00,2381.60,-1135.00,110.90}},
  368.     {"East Los Santos",             {2381.60,-1454.30,-89.00,2462.10,-1135.00,110.90}},
  369.     {"East Los Santos",             {2462.10,-1454.30,-89.00,2581.70,-1135.00,110.90}},
  370.     {"Easter Basin",                {-1794.90,249.90,-9.10,-1242.90,578.30,200.00}},
  371.     {"Easter Basin",                {-1794.90,-50.00,-0.00,-1499.80,249.90,200.00}},
  372.     {"Easter Bay Airport",          {-1499.80,-50.00,-0.00,-1242.90,249.90,200.00}},
  373.     {"Easter Bay Airport",          {-1794.90,-730.10,-3.00,-1213.90,-50.00,200.00}},
  374.     {"Easter Bay Airport",          {-1213.90,-730.10,0.00,-1132.80,-50.00,200.00}},
  375.     {"Easter Bay Airport",          {-1242.90,-50.00,0.00,-1213.90,578.30,200.00}},
  376.     {"Easter Bay Airport",          {-1213.90,-50.00,-4.50,-947.90,578.30,200.00}},
  377.     {"Easter Bay Airport",          {-1315.40,-405.30,15.40,-1264.40,-209.50,25.40}},
  378.     {"Easter Bay Airport",          {-1354.30,-287.30,15.40,-1315.40,-209.50,25.40}},
  379.     {"Easter Bay Airport",          {-1490.30,-209.50,15.40,-1264.40,-148.30,25.40}},
  380.     {"Easter Bay Chemicals",        {-1132.80,-768.00,0.00,-956.40,-578.10,200.00}},
  381.     {"Easter Bay Chemicals",        {-1132.80,-787.30,0.00,-956.40,-768.00,200.00}},
  382.     {"El Castillo del Diablo",      {-464.50,2217.60,0.00,-208.50,2580.30,200.00}},
  383.     {"El Castillo del Diablo",      {-208.50,2123.00,-7.60,114.00,2337.10,200.00}},
  384.     {"El Castillo del Diablo",      {-208.50,2337.10,0.00,8.40,2487.10,200.00}},
  385.     {"El Corona",                   {1812.60,-2179.20,-89.00,1970.60,-1852.80,110.90}},
  386.     {"El Corona",                   {1692.60,-2179.20,-89.00,1812.60,-1842.20,110.90}},
  387.     {"El Quebrados",                {-1645.20,2498.50,0.00,-1372.10,2777.80,200.00}},
  388.     {"Esplanade East",              {-1620.30,1176.50,-4.50,-1580.00,1274.20,200.00}},
  389.     {"Esplanade East",              {-1580.00,1025.90,-6.10,-1499.80,1274.20,200.00}},
  390.     {"Esplanade East",              {-1499.80,578.30,-79.60,-1339.80,1274.20,20.30}},
  391.     {"Esplanade North",             {-2533.00,1358.90,-4.50,-1996.60,1501.20,200.00}},
  392.     {"Esplanade North",             {-1996.60,1358.90,-4.50,-1524.20,1592.50,200.00}},
  393.     {"Esplanade North",             {-1982.30,1274.20,-4.50,-1524.20,1358.90,200.00}},
  394.     {"Fallen Tree",                 {-792.20,-698.50,-5.30,-452.40,-380.00,200.00}},
  395.     {"Fallow Bridge",               {434.30,366.50,0.00,603.00,555.60,200.00}},
  396.     {"Fern Ridge",                  {508.10,-139.20,0.00,1306.60,119.50,200.00}},
  397.     {"Financial",                   {-1871.70,744.10,-6.10,-1701.30,1176.40,300.00}},
  398.     {"Fisher's Lagoon",             {1916.90,-233.30,-100.00,2131.70,13.80,200.00}},
  399.     {"Flint Intersection",          {-187.70,-1596.70,-89.00,17.00,-1276.60,110.90}},
  400.     {"Flint Range",                 {-594.10,-1648.50,0.00,-187.70,-1276.60,200.00}},
  401.     {"Fort Carson",                 {-376.20,826.30,-3.00,123.70,1220.40,200.00}},
  402.     {"Foster Valley",               {-2270.00,-430.20,-0.00,-2178.60,-324.10,200.00}},
  403.     {"Foster Valley",               {-2178.60,-599.80,-0.00,-1794.90,-324.10,200.00}},
  404.     {"Foster Valley",               {-2178.60,-1115.50,0.00,-1794.90,-599.80,200.00}},
  405.     {"Foster Valley",               {-2178.60,-1250.90,0.00,-1794.90,-1115.50,200.00}},
  406.     {"Frederick Bridge",            {2759.20,296.50,0.00,2774.20,594.70,200.00}},
  407.     {"Gant Bridge",                 {-2741.40,1659.60,-6.10,-2616.40,2175.10,200.00}},
  408.     {"Gant Bridge",                 {-2741.00,1490.40,-6.10,-2616.40,1659.60,200.00}},
  409.     {"Ganton",                      {2222.50,-1852.80,-89.00,2632.80,-1722.30,110.90}},
  410.     {"Ganton",                      {2222.50,-1722.30,-89.00,2632.80,-1628.50,110.90}},
  411.     {"Garcia",                      {-2411.20,-222.50,-0.00,-2173.00,265.20,200.00}},
  412.     {"Garcia",                      {-2395.10,-222.50,-5.30,-2354.00,-204.70,200.00}},
  413.     {"Garver Bridge",               {-1339.80,828.10,-89.00,-1213.90,1057.00,110.90}},
  414.     {"Garver Bridge",               {-1213.90,950.00,-89.00,-1087.90,1178.90,110.90}},
  415.     {"Garver Bridge",               {-1499.80,696.40,-179.60,-1339.80,925.30,20.30}},
  416.     {"Glen Park",                   {1812.60,-1449.60,-89.00,1996.90,-1350.70,110.90}},
  417.     {"Glen Park",                   {1812.60,-1100.80,-89.00,1994.30,-973.30,110.90}},
  418.     {"Glen Park",                   {1812.60,-1350.70,-89.00,2056.80,-1100.80,110.90}},
  419.     {"Green Palms",                 {176.50,1305.40,-3.00,338.60,1520.70,200.00}},
  420.     {"Greenglass College",          {964.30,1044.60,-89.00,1197.30,1203.20,110.90}},
  421.     {"Greenglass College",          {964.30,930.80,-89.00,1166.50,1044.60,110.90}},
  422.     {"Hampton Barns",               {603.00,264.30,0.00,761.90,366.50,200.00}},
  423.     {"Hankypanky Point",            {2576.90,62.10,0.00,2759.20,385.50,200.00}},
  424.     {"Harry Gold Parkway",          {1777.30,863.20,-89.00,1817.30,2342.80,110.90}},
  425.     {"Hashbury",                    {-2593.40,-222.50,-0.00,-2411.20,54.70,200.00}},
  426.     {"Hilltop Farm",                {967.30,-450.30,-3.00,1176.70,-217.90,200.00}},
  427.     {"Hunter Quarry",               {337.20,710.80,-115.20,860.50,1031.70,203.70}},
  428.     {"Idlewood",                    {1812.60,-1852.80,-89.00,1971.60,-1742.30,110.90}},
  429.     {"Idlewood",                    {1812.60,-1742.30,-89.00,1951.60,-1602.30,110.90}},
  430.     {"Idlewood",                    {1951.60,-1742.30,-89.00,2124.60,-1602.30,110.90}},
  431.     {"Idlewood",                    {1812.60,-1602.30,-89.00,2124.60,-1449.60,110.90}},
  432.     {"Idlewood",                    {2124.60,-1742.30,-89.00,2222.50,-1494.00,110.90}},
  433.     {"Idlewood",                    {1971.60,-1852.80,-89.00,2222.50,-1742.30,110.90}},
  434.     {"Jefferson",                   {1996.90,-1449.60,-89.00,2056.80,-1350.70,110.90}},
  435.     {"Jefferson",                   {2124.60,-1494.00,-89.00,2266.20,-1449.60,110.90}},
  436.     {"Jefferson",                   {2056.80,-1372.00,-89.00,2281.40,-1210.70,110.90}},
  437.     {"Jefferson",                   {2056.80,-1210.70,-89.00,2185.30,-1126.30,110.90}},
  438.     {"Jefferson",                   {2185.30,-1210.70,-89.00,2281.40,-1154.50,110.90}},
  439.     {"Jefferson",                   {2056.80,-1449.60,-89.00,2266.20,-1372.00,110.90}},
  440.     {"Julius Thruway East",         {2623.10,943.20,-89.00,2749.90,1055.90,110.90}},
  441.     {"Julius Thruway East",         {2685.10,1055.90,-89.00,2749.90,2626.50,110.90}},
  442.     {"Julius Thruway East",         {2536.40,2442.50,-89.00,2685.10,2542.50,110.90}},
  443.     {"Julius Thruway East",         {2625.10,2202.70,-89.00,2685.10,2442.50,110.90}},
  444.     {"Julius Thruway North",        {2498.20,2542.50,-89.00,2685.10,2626.50,110.90}},
  445.     {"Julius Thruway North",        {2237.40,2542.50,-89.00,2498.20,2663.10,110.90}},
  446.     {"Julius Thruway North",        {2121.40,2508.20,-89.00,2237.40,2663.10,110.90}},
  447.     {"Julius Thruway North",        {1938.80,2508.20,-89.00,2121.40,2624.20,110.90}},
  448.     {"Julius Thruway North",        {1534.50,2433.20,-89.00,1848.40,2583.20,110.90}},
  449.     {"Julius Thruway North",        {1848.40,2478.40,-89.00,1938.80,2553.40,110.90}},
  450.     {"Julius Thruway North",        {1704.50,2342.80,-89.00,1848.40,2433.20,110.90}},
  451.     {"Julius Thruway North",        {1377.30,2433.20,-89.00,1534.50,2507.20,110.90}},
  452.     {"Julius Thruway South",        {1457.30,823.20,-89.00,2377.30,863.20,110.90}},
  453.     {"Julius Thruway South",        {2377.30,788.80,-89.00,2537.30,897.90,110.90}},
  454.     {"Julius Thruway West",         {1197.30,1163.30,-89.00,1236.60,2243.20,110.90}},
  455.     {"Julius Thruway West",         {1236.60,2142.80,-89.00,1297.40,2243.20,110.90}},
  456.     {"Juniper Hill",                {-2533.00,578.30,-7.60,-2274.10,968.30,200.00}},
  457.     {"Juniper Hollow",              {-2533.00,968.30,-6.10,-2274.10,1358.90,200.00}},
  458.     {"K.A.C.C. Military Fuels",     {2498.20,2626.50,-89.00,2749.90,2861.50,110.90}},
  459.     {"Kincaid Bridge",              {-1339.80,599.20,-89.00,-1213.90,828.10,110.90}},
  460.     {"Kincaid Bridge",              {-1213.90,721.10,-89.00,-1087.90,950.00,110.90}},
  461.     {"Kincaid Bridge",              {-1087.90,855.30,-89.00,-961.90,986.20,110.90}},
  462.     {"King's",                      {-2329.30,458.40,-7.60,-1993.20,578.30,200.00}},
  463.     {"King's",                      {-2411.20,265.20,-9.10,-1993.20,373.50,200.00}},
  464.     {"King's",                      {-2253.50,373.50,-9.10,-1993.20,458.40,200.00}},
  465.     {"LVA Freight Depot",           {1457.30,863.20,-89.00,1777.40,1143.20,110.90}},
  466.     {"LVA Freight Depot",           {1375.60,919.40,-89.00,1457.30,1203.20,110.90}},
  467.     {"LVA Freight Depot",           {1277.00,1087.60,-89.00,1375.60,1203.20,110.90}},
  468.     {"LVA Freight Depot",           {1315.30,1044.60,-89.00,1375.60,1087.60,110.90}},
  469.     {"LVA Freight Depot",           {1236.60,1163.40,-89.00,1277.00,1203.20,110.90}},
  470.     {"Las Barrancas",               {-926.10,1398.70,-3.00,-719.20,1634.60,200.00}},
  471.     {"Las Brujas",                  {-365.10,2123.00,-3.00,-208.50,2217.60,200.00}},
  472.     {"Las Colinas",                 {1994.30,-1100.80,-89.00,2056.80,-920.80,110.90}},
  473.     {"Las Colinas",                 {2056.80,-1126.30,-89.00,2126.80,-920.80,110.90}},
  474.     {"Las Colinas",                 {2185.30,-1154.50,-89.00,2281.40,-934.40,110.90}},
  475.     {"Las Colinas",                 {2126.80,-1126.30,-89.00,2185.30,-934.40,110.90}},
  476.     {"Las Colinas",                 {2747.70,-1120.00,-89.00,2959.30,-945.00,110.90}},
  477.     {"Las Colinas",                 {2632.70,-1135.00,-89.00,2747.70,-945.00,110.90}},
  478.     {"Las Colinas",                 {2281.40,-1135.00,-89.00,2632.70,-945.00,110.90}},
  479.     {"Las Payasadas",               {-354.30,2580.30,2.00,-133.60,2816.80,200.00}},
  480.     {"Las Venturas Airport",        {1236.60,1203.20,-89.00,1457.30,1883.10,110.90}},
  481.     {"Las Venturas Airport",        {1457.30,1203.20,-89.00,1777.30,1883.10,110.90}},
  482.     {"Las Venturas Airport",        {1457.30,1143.20,-89.00,1777.40,1203.20,110.90}},
  483.     {"Las Venturas Airport",        {1515.80,1586.40,-12.50,1729.90,1714.50,87.50}},
  484.     {"Last Dime Motel",             {1823.00,596.30,-89.00,1997.20,823.20,110.90}},
  485.     {"Leafy Hollow",                {-1166.90,-1856.00,0.00,-815.60,-1602.00,200.00}},
  486.     {"Liberty City",                {-1000.00,400.00,1300.00,-700.00,600.00,1400.00}},
  487.     {"Lil' Probe Inn",              {-90.20,1286.80,-3.00,153.80,1554.10,200.00}},
  488.     {"Linden Side",                 {2749.90,943.20,-89.00,2923.30,1198.90,110.90}},
  489.     {"Linden Station",              {2749.90,1198.90,-89.00,2923.30,1548.90,110.90}},
  490.     {"Linden Station",              {2811.20,1229.50,-39.50,2861.20,1407.50,60.40}},
  491.     {"Little Mexico",               {1701.90,-1842.20,-89.00,1812.60,-1722.20,110.90}},
  492.     {"Little Mexico",               {1758.90,-1722.20,-89.00,1812.60,-1577.50,110.90}},
  493.     {"Los Flores",                  {2581.70,-1454.30,-89.00,2632.80,-1393.40,110.90}},
  494.     {"Los Flores",                  {2581.70,-1393.40,-89.00,2747.70,-1135.00,110.90}},
  495.     {"Los Santos International",    {1249.60,-2394.30,-89.00,1852.00,-2179.20,110.90}},
  496.     {"Los Santos International",    {1852.00,-2394.30,-89.00,2089.00,-2179.20,110.90}},
  497.     {"Los Santos International",    {1382.70,-2730.80,-89.00,2201.80,-2394.30,110.90}},
  498.     {"Los Santos International",    {1974.60,-2394.30,-39.00,2089.00,-2256.50,60.90}},
  499.     {"Los Santos International",    {1400.90,-2669.20,-39.00,2189.80,-2597.20,60.90}},
  500.     {"Los Santos International",    {2051.60,-2597.20,-39.00,2152.40,-2394.30,60.90}},
  501.     {"Marina",                      {647.70,-1804.20,-89.00,851.40,-1577.50,110.90}},
  502.     {"Marina",                      {647.70,-1577.50,-89.00,807.90,-1416.20,110.90}},
  503.     {"Marina",                      {807.90,-1577.50,-89.00,926.90,-1416.20,110.90}},
  504.     {"Market",                      {787.40,-1416.20,-89.00,1072.60,-1310.20,110.90}},
  505.     {"Market",                      {952.60,-1310.20,-89.00,1072.60,-1130.80,110.90}},
  506.     {"Market",                      {1072.60,-1416.20,-89.00,1370.80,-1130.80,110.90}},
  507.     {"Market",                      {926.90,-1577.50,-89.00,1370.80,-1416.20,110.90}},
  508.     {"Market Station",              {787.40,-1410.90,-34.10,866.00,-1310.20,65.80}},
  509.     {"Martin Bridge",               {-222.10,293.30,0.00,-122.10,476.40,200.00}},
  510.     {"Missionary Hill",             {-2994.40,-811.20,0.00,-2178.60,-430.20,200.00}},
  511.     {"Montgomery",                  {1119.50,119.50,-3.00,1451.40,493.30,200.00}},
  512.     {"Montgomery",                  {1451.40,347.40,-6.10,1582.40,420.80,200.00}},
  513.     {"Montgomery Intersection",     {1546.60,208.10,0.00,1745.80,347.40,200.00}},
  514.     {"Montgomery Intersection",     {1582.40,347.40,0.00,1664.60,401.70,200.00}},
  515.     {"Mulholland",                  {1414.00,-768.00,-89.00,1667.60,-452.40,110.90}},
  516.     {"Mulholland",                  {1281.10,-452.40,-89.00,1641.10,-290.90,110.90}},
  517.     {"Mulholland",                  {1269.10,-768.00,-89.00,1414.00,-452.40,110.90}},
  518.     {"Mulholland",                  {1357.00,-926.90,-89.00,1463.90,-768.00,110.90}},
  519.     {"Mulholland",                  {1318.10,-910.10,-89.00,1357.00,-768.00,110.90}},
  520.     {"Mulholland",                  {1169.10,-910.10,-89.00,1318.10,-768.00,110.90}},
  521.     {"Mulholland",                  {768.60,-954.60,-89.00,952.60,-860.60,110.90}},
  522.     {"Mulholland",                  {687.80,-860.60,-89.00,911.80,-768.00,110.90}},
  523.     {"Mulholland",                  {737.50,-768.00,-89.00,1142.20,-674.80,110.90}},
  524.     {"Mulholland",                  {1096.40,-910.10,-89.00,1169.10,-768.00,110.90}},
  525.     {"Mulholland",                  {952.60,-937.10,-89.00,1096.40,-860.60,110.90}},
  526.     {"Mulholland",                  {911.80,-860.60,-89.00,1096.40,-768.00,110.90}},
  527.     {"Mulholland",                  {861.00,-674.80,-89.00,1156.50,-600.80,110.90}},
  528.     {"Mulholland Intersection",     {1463.90,-1150.80,-89.00,1812.60,-768.00,110.90}},
  529.     {"North Rock",                  {2285.30,-768.00,0.00,2770.50,-269.70,200.00}},
  530.     {"Ocean Docks",                 {2373.70,-2697.00,-89.00,2809.20,-2330.40,110.90}},
  531.     {"Ocean Docks",                 {2201.80,-2418.30,-89.00,2324.00,-2095.00,110.90}},
  532.     {"Ocean Docks",                 {2324.00,-2302.30,-89.00,2703.50,-2145.10,110.90}},
  533.     {"Ocean Docks",                 {2089.00,-2394.30,-89.00,2201.80,-2235.80,110.90}},
  534.     {"Ocean Docks",                 {2201.80,-2730.80,-89.00,2324.00,-2418.30,110.90}},
  535.     {"Ocean Docks",                 {2703.50,-2302.30,-89.00,2959.30,-2126.90,110.90}},
  536.     {"Ocean Docks",                 {2324.00,-2145.10,-89.00,2703.50,-2059.20,110.90}},
  537.     {"Ocean Flats",                 {-2994.40,277.40,-9.10,-2867.80,458.40,200.00}},
  538.     {"Ocean Flats",                 {-2994.40,-222.50,-0.00,-2593.40,277.40,200.00}},
  539.     {"Ocean Flats",                 {-2994.40,-430.20,-0.00,-2831.80,-222.50,200.00}},
  540.     {"Octane Springs",              {338.60,1228.50,0.00,664.30,1655.00,200.00}},
  541.     {"Old Venturas Strip",          {2162.30,2012.10,-89.00,2685.10,2202.70,110.90}},
  542.     {"Palisades",                   {-2994.40,458.40,-6.10,-2741.00,1339.60,200.00}},
  543.     {"Palomino Creek",              {2160.20,-149.00,0.00,2576.90,228.30,200.00}},
  544.     {"Paradiso",                    {-2741.00,793.40,-6.10,-2533.00,1268.40,200.00}},
  545.     {"Pershing Square",             {1440.90,-1722.20,-89.00,1583.50,-1577.50,110.90}},
  546.     {"Pilgrim",                     {2437.30,1383.20,-89.00,2624.40,1783.20,110.90}},
  547.     {"Pilgrim",                     {2624.40,1383.20,-89.00,2685.10,1783.20,110.90}},
  548.     {"Pilson Intersection",         {1098.30,2243.20,-89.00,1377.30,2507.20,110.90}},
  549.     {"Pirates in Men's Pants",      {1817.30,1469.20,-89.00,2027.40,1703.20,110.90}},
  550.     {"Playa del Seville",           {2703.50,-2126.90,-89.00,2959.30,-1852.80,110.90}},
  551.     {"Prickle Pine",                {1534.50,2583.20,-89.00,1848.40,2863.20,110.90}},
  552.     {"Prickle Pine",                {1117.40,2507.20,-89.00,1534.50,2723.20,110.90}},
  553.     {"Prickle Pine",                {1848.40,2553.40,-89.00,1938.80,2863.20,110.90}},
  554.     {"Prickle Pine",                {1938.80,2624.20,-89.00,2121.40,2861.50,110.90}},
  555.     {"Queens",                      {-2533.00,458.40,0.00,-2329.30,578.30,200.00}},
  556.     {"Queens",                      {-2593.40,54.70,0.00,-2411.20,458.40,200.00}},
  557.     {"Queens",                      {-2411.20,373.50,0.00,-2253.50,458.40,200.00}},
  558.     {"Randolph Industrial Estate",  {1558.00,596.30,-89.00,1823.00,823.20,110.90}},
  559.     {"Redsands East",               {1817.30,2011.80,-89.00,2106.70,2202.70,110.90}},
  560.     {"Redsands East",               {1817.30,2202.70,-89.00,2011.90,2342.80,110.90}},
  561.     {"Redsands East",               {1848.40,2342.80,-89.00,2011.90,2478.40,110.90}},
  562.     {"Redsands West",               {1236.60,1883.10,-89.00,1777.30,2142.80,110.90}},
  563.     {"Redsands West",               {1297.40,2142.80,-89.00,1777.30,2243.20,110.90}},
  564.     {"Redsands West",               {1377.30,2243.20,-89.00,1704.50,2433.20,110.90}},
  565.     {"Redsands West",               {1704.50,2243.20,-89.00,1777.30,2342.80,110.90}},
  566.     {"Regular Tom",                 {-405.70,1712.80,-3.00,-276.70,1892.70,200.00}},
  567.     {"Richman",                     {647.50,-1118.20,-89.00,787.40,-954.60,110.90}},
  568.     {"Richman",                     {647.50,-954.60,-89.00,768.60,-860.60,110.90}},
  569.     {"Richman",                     {225.10,-1369.60,-89.00,334.50,-1292.00,110.90}},
  570.     {"Richman",                     {225.10,-1292.00,-89.00,466.20,-1235.00,110.90}},
  571.     {"Richman",                     {72.60,-1404.90,-89.00,225.10,-1235.00,110.90}},
  572.     {"Richman",                     {72.60,-1235.00,-89.00,321.30,-1008.10,110.90}},
  573.     {"Richman",                     {321.30,-1235.00,-89.00,647.50,-1044.00,110.90}},
  574.     {"Richman",                     {321.30,-1044.00,-89.00,647.50,-860.60,110.90}},
  575.     {"Richman",                     {321.30,-860.60,-89.00,687.80,-768.00,110.90}},
  576.     {"Richman",                     {321.30,-768.00,-89.00,700.70,-674.80,110.90}},
  577.     {"Robada Intersection",         {-1119.00,1178.90,-89.00,-862.00,1351.40,110.90}},
  578.     {"Roca Escalante",              {2237.40,2202.70,-89.00,2536.40,2542.50,110.90}},
  579.     {"Roca Escalante",              {2536.40,2202.70,-89.00,2625.10,2442.50,110.90}},
  580.     {"Rockshore East",              {2537.30,676.50,-89.00,2902.30,943.20,110.90}},
  581.     {"Rockshore West",              {1997.20,596.30,-89.00,2377.30,823.20,110.90}},
  582.     {"Rockshore West",              {2377.30,596.30,-89.00,2537.30,788.80,110.90}},
  583.     {"Rodeo",                       {72.60,-1684.60,-89.00,225.10,-1544.10,110.90}},
  584.     {"Rodeo",                       {72.60,-1544.10,-89.00,225.10,-1404.90,110.90}},
  585.     {"Rodeo",                       {225.10,-1684.60,-89.00,312.80,-1501.90,110.90}},
  586.     {"Rodeo",                       {225.10,-1501.90,-89.00,334.50,-1369.60,110.90}},
  587.     {"Rodeo",                       {334.50,-1501.90,-89.00,422.60,-1406.00,110.90}},
  588.     {"Rodeo",                       {312.80,-1684.60,-89.00,422.60,-1501.90,110.90}},
  589.     {"Rodeo",                       {422.60,-1684.60,-89.00,558.00,-1570.20,110.90}},
  590.     {"Rodeo",                       {558.00,-1684.60,-89.00,647.50,-1384.90,110.90}},
  591.     {"Rodeo",                       {466.20,-1570.20,-89.00,558.00,-1385.00,110.90}},
  592.     {"Rodeo",                       {422.60,-1570.20,-89.00,466.20,-1406.00,110.90}},
  593.     {"Rodeo",                       {466.20,-1385.00,-89.00,647.50,-1235.00,110.90}},
  594.     {"Rodeo",                       {334.50,-1406.00,-89.00,466.20,-1292.00,110.90}},
  595.     {"Royal Casino",                {2087.30,1383.20,-89.00,2437.30,1543.20,110.90}},
  596.     {"San Andreas Sound",           {2450.30,385.50,-100.00,2759.20,562.30,200.00}},
  597.     {"Santa Flora",                 {-2741.00,458.40,-7.60,-2533.00,793.40,200.00}},
  598.     {"Santa Maria Beach",           {342.60,-2173.20,-89.00,647.70,-1684.60,110.90}},
  599.     {"Santa Maria Beach",           {72.60,-2173.20,-89.00,342.60,-1684.60,110.90}},
  600.     {"Shady Cabin",                 {-1632.80,-2263.40,-3.00,-1601.30,-2231.70,200.00}},
  601.     {"Shady Creeks",                {-1820.60,-2643.60,-8.00,-1226.70,-1771.60,200.00}},
  602.     {"Shady Creeks",                {-2030.10,-2174.80,-6.10,-1820.60,-1771.60,200.00}},
  603.     {"Sobell Rail Yards",           {2749.90,1548.90,-89.00,2923.30,1937.20,110.90}},
  604.     {"Spinybed",                    {2121.40,2663.10,-89.00,2498.20,2861.50,110.90}},
  605.     {"Starfish Casino",             {2437.30,1783.20,-89.00,2685.10,2012.10,110.90}},
  606.     {"Starfish Casino",             {2437.30,1858.10,-39.00,2495.00,1970.80,60.90}},
  607.     {"Starfish Casino",             {2162.30,1883.20,-89.00,2437.30,2012.10,110.90}},
  608.     {"Temple",                      {1252.30,-1130.80,-89.00,1378.30,-1026.30,110.90}},
  609.     {"Temple",                      {1252.30,-1026.30,-89.00,1391.00,-926.90,110.90}},
  610.     {"Temple",                      {1252.30,-926.90,-89.00,1357.00,-910.10,110.90}},
  611.     {"Temple",                      {952.60,-1130.80,-89.00,1096.40,-937.10,110.90}},
  612.     {"Temple",                      {1096.40,-1130.80,-89.00,1252.30,-1026.30,110.90}},
  613.     {"Temple",                      {1096.40,-1026.30,-89.00,1252.30,-910.10,110.90}},
  614.     {"The Camel's Toe",             {2087.30,1203.20,-89.00,2640.40,1383.20,110.90}},
  615.     {"The Clown's Pocket",          {2162.30,1783.20,-89.00,2437.30,1883.20,110.90}},
  616.     {"The Emerald Isle",            {2011.90,2202.70,-89.00,2237.40,2508.20,110.90}},
  617.     {"The Farm",                    {-1209.60,-1317.10,114.90,-908.10,-787.30,251.90}},
  618.     {"The Four Dragons Casino",     {1817.30,863.20,-89.00,2027.30,1083.20,110.90}},
  619.     {"The High Roller",             {1817.30,1283.20,-89.00,2027.30,1469.20,110.90}},
  620.     {"The Mako Span",               {1664.60,401.70,0.00,1785.10,567.20,200.00}},
  621.     {"The Panopticon",              {-947.90,-304.30,-1.10,-319.60,327.00,200.00}},
  622.     {"The Pink Swan",               {1817.30,1083.20,-89.00,2027.30,1283.20,110.90}},
  623.     {"The Sherman Dam",             {-968.70,1929.40,-3.00,-481.10,2155.20,200.00}},
  624.     {"The Strip",                   {2027.40,863.20,-89.00,2087.30,1703.20,110.90}},
  625.     {"The Strip",                   {2106.70,1863.20,-89.00,2162.30,2202.70,110.90}},
  626.     {"The Strip",                   {2027.40,1783.20,-89.00,2162.30,1863.20,110.90}},
  627.     {"The Strip",                   {2027.40,1703.20,-89.00,2137.40,1783.20,110.90}},
  628.     {"The Visage",                  {1817.30,1863.20,-89.00,2106.70,2011.80,110.90}},
  629.     {"The Visage",                  {1817.30,1703.20,-89.00,2027.40,1863.20,110.90}},
  630.     {"Unity Station",               {1692.60,-1971.80,-20.40,1812.60,-1932.80,79.50}},
  631.     {"Valle Ocultado",              {-936.60,2611.40,2.00,-715.90,2847.90,200.00}},
  632.     {"Verdant Bluffs",              {930.20,-2488.40,-89.00,1249.60,-2006.70,110.90}},
  633.     {"Verdant Bluffs",              {1073.20,-2006.70,-89.00,1249.60,-1842.20,110.90}},
  634.     {"Verdant Bluffs",              {1249.60,-2179.20,-89.00,1692.60,-1842.20,110.90}},
  635.     {"Verdant Meadows",             {37.00,2337.10,-3.00,435.90,2677.90,200.00}},
  636.     {"Verona Beach",                {647.70,-2173.20,-89.00,930.20,-1804.20,110.90}},
  637.     {"Verona Beach",                {930.20,-2006.70,-89.00,1073.20,-1804.20,110.90}},
  638.     {"Verona Beach",                {851.40,-1804.20,-89.00,1046.10,-1577.50,110.90}},
  639.     {"Verona Beach",                {1161.50,-1722.20,-89.00,1323.90,-1577.50,110.90}},
  640.     {"Verona Beach",                {1046.10,-1722.20,-89.00,1161.50,-1577.50,110.90}},
  641.     {"Vinewood",                    {787.40,-1310.20,-89.00,952.60,-1130.80,110.90}},
  642.     {"Vinewood",                    {787.40,-1130.80,-89.00,952.60,-954.60,110.90}},
  643.     {"Vinewood",                    {647.50,-1227.20,-89.00,787.40,-1118.20,110.90}},
  644.     {"Vinewood",                    {647.70,-1416.20,-89.00,787.40,-1227.20,110.90}},
  645.     {"Whitewood Estates",           {883.30,1726.20,-89.00,1098.30,2507.20,110.90}},
  646.     {"Whitewood Estates",           {1098.30,1726.20,-89.00,1197.30,2243.20,110.90}},
  647.     {"Willowfield",                 {1970.60,-2179.20,-89.00,2089.00,-1852.80,110.90}},
  648.     {"Willowfield",                 {2089.00,-2235.80,-89.00,2201.80,-1989.90,110.90}},
  649.     {"Willowfield",                 {2089.00,-1989.90,-89.00,2324.00,-1852.80,110.90}},
  650.     {"Willowfield",                 {2201.80,-2095.00,-89.00,2324.00,-1989.90,110.90}},
  651.     {"Willowfield",                 {2541.70,-1941.40,-89.00,2703.50,-1852.80,110.90}},
  652.     {"Willowfield",                 {2324.00,-2059.20,-89.00,2541.70,-1852.80,110.90}},
  653.     {"Willowfield",                 {2541.70,-2059.20,-89.00,2703.50,-1941.40,110.90}},
  654.     {"Yellow Bell Station",         {1377.40,2600.40,-21.90,1492.40,2687.30,78.00}},
  655.     {"Los Santos",                  {44.60,-2892.90,-242.90,2997.00,-768.00,900.00}},
  656.     {"Las Venturas",                {869.40,596.30,-242.90,2997.00,2993.80,900.00}},
  657.     {"Bone County",                 {-480.50,596.30,-242.90,869.40,2993.80,900.00}},
  658.     {"Tierra Robada",               {-2997.40,1659.60,-242.90,-480.50,2993.80,900.00}},
  659.     {"Tierra Robada",               {-1213.90,596.30,-242.90,-480.50,1659.60,900.00}},
  660.     {"San Fierro",                  {-2997.40,-1115.50,-242.90,-1213.90,1659.60,900.00}},
  661.     {"Red County",                  {-1213.90,-768.00,-242.90,2997.00,596.30,900.00}},
  662.     {"Flint County",                {-1213.90,-2892.90,-242.90,44.60,-768.00,900.00}},
  663.     {"Whetstone",                   {-2997.40,-2892.90,-242.90,-1213.90,-1115.50,900.00}}
  664. };
  665.  
  666. AntiDeAMX()
  667. {
  668. new a[][] =
  669. {
  670. "Unarmed (Fist)",
  671. "Brass K"
  672. };
  673. #pragma unused a
  674. }
  675.  
  676. public OnGameModeInit()
  677. {
  678.     AntiDeAMX();
  679.     SetGameModeText("TDM / "Version" ");
  680.     SendRconCommand("mapname Los Santos");
  681.     SendRconCommand("hostname Guerra de Bandas");
  682.     UsePlayerPedAnims();
  683.     DisableInteriorEnterExits();
  684.     OnWeaponDropInit();
  685.  
  686.     SetTimer("ZoneUpdate", 1000, true);
  687.     SetTimer("OnPlayerUpdateEx", 1000, true);
  688.  
  689.     for(new i=0; i<MAX_ZONES; i++)
  690.     {
  691.         ZoneInfo[i][z_id] = GangZoneCreate(ZoneInfo[i][z_minx], ZoneInfo[i][z_miny], ZoneInfo[i][z_maxx], ZoneInfo[i][z_maxy]);
  692.         ZoneTakeOverTeam[i] = -1;
  693.     }
  694.  
  695.     AddPlayerClass( 1 , 0.0 , 0.0 , 0.0 , 0.0 , 0 , 0 , 0 , 0 , 0 , 0 );
  696.  
  697.     AddStaticPickup( 1239 , 1 , 2352.1458 , -1180.8553 , 1027.9766 ); // salida
  698.     AddStaticPickup( 1239 , 1 , 286.0979 , -40.8708 , 1001.5156 ); // salida
  699.     AddStaticPickup( 1239 , 1 , 2495.9336 , -1692.9189 , 1014.7422 ); // salida
  700.     AddStaticPickup( 1239 , 1 , 286.4053 , -86.0965 , 1001.5229 ); // salida
  701.  
  702.     AddStaticPickup( 1239 , 1 , 2628.5081 , -1067.8882 , 69.6127 ); // vagos
  703.     AddStaticPickup( 1239 , 1 , 2232.5061 , -1333.3407 , 23.9816 ); // ballas
  704.     AddStaticPickup( 1239 , 1 , 2495.3494 , -1690.7244 , 14.7656 ); // groove
  705.     AddStaticPickup( 1239 , 1 , 1753.3136 , -1893.2559 , 13.5572 ); // aztecas
  706.  
  707.     Create3DTextLabel( ""LA"ShotGun: $2000\n"LA"M4: $2200\n"LA"AK-47: $2500\n"LA"Shiper Rifle: $5000",-1,310.6954,-165.1933,999.5938+0.75,30.0,0,1);
  708.     Create3DTextLabel( ""KK"9mm: $600\n"KK"9mm Silenciada: $800\n"KK"Desert Eagle: $1200\n"KK"Rifle County: $3500",-1,314.8313,-165.2574,999.5938+0.75,30.0,0,1);
  709.     Create3DTextLabel( ""BC"Uzi: $1500\n"BC"MP5: $1600\n"BC"Tec-90: $1200\n"BC"Chaleco: $200",-1,317.6752,-161.3642,999.5938+0.75,30.0,0,1);
  710.     Create3DTextLabel( ""LL"Para comprar uma arma colocate \n"LL"frente da mesma e pressione a letra '"KK"Y"LL"'",-1,311.4319,-168.8823,999.5938+0.75,30.0,0,1);
  711.  
  712.     for( new i; i < sizeof TeleportInfo; i++ )
  713.     {
  714.     AddStaticPickup( 1239 , 1 , TeleportInfo[ i ][ EntraceX ] , TeleportInfo[ i ][ EntraceY ] , TeleportInfo[ i ][ EntraceZ ] );
  715.     }
  716.    
  717.     Pickup_a = CreatePickup( 1314 , 3 , Armarse[0][0], Armarse[0][1], Armarse[0][2] );
  718.     Pickup_b = CreatePickup( 1314 , 3 , Armarse[1][0], Armarse[1][1], Armarse[1][2] );
  719.     Pickup_c = CreatePickup( 1314 , 3 , Armarse[2][0], Armarse[2][1], Armarse[2][2] );
  720.     Pickup_d = CreatePickup( 1314 , 3 , Armarse[3][0], Armarse[3][1], Armarse[3][2] );
  721.  
  722.     CreateObject(356,311.6000061,-162.3999939,999.5999756,276.4063721,159.3993530,250.2672729); //object(1)
  723.     CreateObject(355,310.5000000,-163.1999969,999.5999756,278.1065674,146.1935425,138.9589844); //object(2)
  724.     CreateObject(349,309.8999939,-162.6000061,999.5999756,84.6968384,261.8941650,200.1403198); //object(3)
  725.     CreateObject(358,310.5000000,-161.3999939,999.5999756,82.6160889,246.1438599,121.5330811); //object(4)
  726.     CreateObject(357,314.8999939,-161.5000000,999.5999756,83.5934448,290.4814453,79.1505127); //object(5)
  727.     CreateObject(348,314.2000122,-162.1999969,999.5999756,271.4998169,180.0000000,87.7500000); //object(6)
  728.     CreateObject(347,315.0000000,-163.1999969,999.5999756,281.4702148,11.3864746,11.1648560); //object(7)
  729.     CreateObject(346,315.8999939,-162.3999939,999.5999756,278.1066895,213.8062134,311.7905273); //object(8)
  730.     CreateObject(1242,319.1000061,-159.8000031,999.9000244,0.0000000,0.0000000,0.0000000); //object(bodyarmour) (1)
  731.     CreateObject(352,319.0000000,-163.3000031,999.7999878,271.4998169,180.0000000,77.2500000); //object(9)
  732.     CreateObject(353,318.8999939,-162.3999939,999.7999878,84.1447144,230.2736206,217.6237183); //object(10)
  733.     CreateObject(372,319.0000000,-160.8999939,999.7999878,83.8161926,345.9354248,104.7360229); //object(11)
  734.  
  735.     Create3DTextLabel("{00FF00}Groove Cuartel General", -1 , 2495.3494 , -1690.7244 , 14.7656 , 60.0 , 0 , 0 );
  736.     Create3DTextLabel("{800080}Ballas Cuartel General", -1 , 2232.5061 , -1333.3407 , 23.9816 , 60.0 , 0 , 0 );
  737.     Create3DTextLabel("{FFFF00}Vagos Cuartel General", -1 , 2628.5081 , -1067.8882 , 69.6127 , 60.0 , 0 , 0 );
  738.     Create3DTextLabel("{00FFFF}Aztecas Cuartel General", -1 , 1753.3136 , -1893.2559 , 13.5572 , 60.0 , 0 , 0 );
  739.  
  740.     AddStaticVehicleEx(489,2448.3999023,-1671.0000000,13.8999996,0.0000000,-1,-1,SPAWN_CAR); //Rancher
  741.     AddStaticVehicleEx(489,2445.1000977,-1671.0000000,13.8999996,0.0000000,-1,-1,SPAWN_CAR); //Rancher
  742.     AddStaticVehicleEx(489,2441.8999023,-1671.0000000,13.8999996,0.0000000,-1,-1,SPAWN_CAR); //Rancher
  743.     AddStaticVehicleEx(489,2438.8000488,-1671.0000000,13.8999996,0.0000000,-1,-1,SPAWN_CAR); //Rancher
  744.     AddStaticVehicleEx(489,2435.6999512,-1671.0000000,13.8999996,0.0000000,-1,-1,SPAWN_CAR); //Rancher
  745.     AddStaticVehicleEx(560,2432.0000000,-1671.1999512,13.3999996,0.0000000,-1,-1,SPAWN_CAR); //Sultan
  746.     AddStaticVehicleEx(560,2429.3999023,-1671.1999512,13.3999996,0.0000000,-1,-1,SPAWN_CAR); //Sultan
  747.     AddStaticVehicleEx(560,2426.8999023,-1671.1999512,13.3999996,0.0000000,-1,-1,SPAWN_CAR); //Sultan
  748.     AddStaticVehicleEx(560,2424.1000977,-1671.1999512,13.3999996,0.0000000,-1,-1,SPAWN_CAR); //Sultan
  749.     AddStaticVehicleEx(600,2473.6999512,-1692.8000488,13.3999996,0.0000000,-1,-1,SPAWN_CAR); //Picador
  750.     AddStaticVehicleEx(492,2507.1000977,-1667.5999756,13.3000002,0.0000000,-1,-1,SPAWN_CAR); //Greenwood
  751.     AddStaticVehicleEx(466,2470.8999023,-1670.3000488,13.1999998,0.0000000,-1,-1,SPAWN_CAR); //Glendale
  752.     AddStaticVehicleEx(468,2469.6999512,-1655.5000000,13.1000004,0.0000000,-1,-1,SPAWN_CAR); //Sanchez
  753.     AddStaticVehicleEx(468,2471.3999023,-1655.5000000,13.1000004,0.0000000,-1,-1,SPAWN_CAR); //Sanchez
  754.     AddStaticVehicleEx(468,2473.1999512,-1655.5000000,13.1000004,0.0000000,-1,-1,SPAWN_CAR); //Sanchez
  755.     AddStaticVehicleEx(468,2475.1000977,-1655.5000000,13.1000004,0.0000000,-1,-1,SPAWN_CAR); //Sanchez
  756.     AddStaticVehicleEx(468,2477.0000000,-1655.5000000,13.1000004,0.0000000,-1,-1,SPAWN_CAR); //Sanchez
  757.     AddStaticVehicleEx(468,2478.3000488,-1655.5000000,13.1000004,0.0000000,-1,-1,SPAWN_CAR); //Sanchez
  758.     AddStaticVehicleEx(567,2425.5000000,-1643.6999512,13.5000000,0.0000000,-1,-1,SPAWN_CAR); //Savanna
  759.     AddStaticVehicleEx(567,2428.6999512,-1643.6999512,13.5000000,0.0000000,-1,-1,SPAWN_CAR); //Savanna
  760.     AddStaticVehicleEx(567,2431.8000488,-1643.6999512,13.5000000,0.0000000,-1,-1,SPAWN_CAR); //Savanna
  761.     AddStaticVehicleEx(459,2464.3000488,-1681.8000488,13.6999998,0.0000000,-1,-1,SPAWN_CAR); //Berkley's RC Van
  762.  
  763.     AddStaticVehicleEx(567,1784.3000488,-1931.0000000,13.3999996,0.0000000,-1,-1,SPAWN_CAR); //Savanna // 23
  764.     AddStaticVehicleEx(567,1787.9000244,-1931.0000000,13.3999996,0.0000000,-1,-1,SPAWN_CAR); //Savanna
  765.     AddStaticVehicleEx(567,1791.4000244,-1931.0000000,13.3999996,0.0000000,-1,-1,SPAWN_CAR); //Savanna
  766.     AddStaticVehicleEx(567,1794.8000488,-1931.0000000,13.3999996,0.0000000,-1,-1,SPAWN_CAR); //Savanna
  767.     AddStaticVehicleEx(567,1798.5000000,-1931.0000000,13.3999996,0.0000000,-1,-1,SPAWN_CAR); //Savanna
  768.     AddStaticVehicleEx(535,1795.0999756,-1914.4000244,13.1999998,0.0000000,-1,-1,SPAWN_CAR); //Slamvan
  769.     AddStaticVehicleEx(535,1798.4000244,-1914.4000244,13.1999998,0.0000000,-1,-1,SPAWN_CAR); //Slamvan
  770.     AddStaticVehicleEx(535,1804.9000244,-1914.4000244,13.1999998,0.0000000,-1,-1,SPAWN_CAR); //Slamvan
  771.     AddStaticVehicleEx(535,1801.8000488,-1914.4000244,13.1999998,0.0000000,-1,-1,SPAWN_CAR); //Slamvan
  772.     AddStaticVehicleEx(468,1775.9000244,-1901.0999756,13.1000004,0.0000000,-1,-1,SPAWN_CAR); //Sanchez
  773.     AddStaticVehicleEx(468,1777.4000244,-1901.0999756,13.1000004,0.0000000,-1,-1,SPAWN_CAR); //Sanchez
  774.     AddStaticVehicleEx(468,1779.3000488,-1901.0999756,13.1000004,0.0000000,-1,-1,SPAWN_CAR); //Sanchez
  775.     AddStaticVehicleEx(468,1781.0000000,-1901.0999756,13.1000004,0.0000000,-1,-1,SPAWN_CAR); //Sanchez
  776.     AddStaticVehicleEx(468,1782.5999756,-1901.0999756,13.1000004,0.0000000,-1,-1,SPAWN_CAR); //Sanchez
  777.     AddStaticVehicleEx(422,1783.6999512,-1916.6999512,13.5000000,0.0000000,-1,-1,SPAWN_CAR); //Bobcat
  778.     AddStaticVehicleEx(422,1780.5000000,-1916.6999512,13.5000000,0.0000000,-1,-1,SPAWN_CAR); //Bobcat
  779.     AddStaticVehicleEx(422,1777.0999756,-1916.6999512,13.5000000,0.0000000,-1,-1,SPAWN_CAR); //Bobcat
  780.     AddStaticVehicleEx(609,1765.5999756,-1901.4000244,13.8000002,0.0000000,-1,-1,SPAWN_CAR); //Boxville
  781.     AddStaticVehicleEx(515,1763.3000488,-1941.3000488,14.6999998,0.0000000,-1,-1,SPAWN_CAR); //Roadtrain
  782.     AddStaticVehicleEx(515,1767.9000244,-1941.3000488,14.6999998,0.0000000,-1,-1,SPAWN_CAR); //Roadtrain
  783.     AddStaticVehicleEx(480,1828.8000488,-1906.3000488,13.3999996,0.0000000,-1,-1,SPAWN_CAR); //Comet
  784.     AddStaticVehicleEx(480,1828.9000244,-1900.1999512,13.3999996,0.0000000,-1,-1,SPAWN_CAR); //Comet  // 44 aztecas
  785.  
  786.     AddStaticVehicleEx(517,2207.8000488,-1399.0999756,23.7999992,0.0000000,-1,-1,SPAWN_CAR); //Majestic // 43 ballas
  787.     AddStaticVehicleEx(517,2216.0996094,-1333.8994141,23.8999996,0.0000000,-1,-1,SPAWN_CAR); //Majestic
  788.     AddStaticVehicleEx(517,2265.5000000,-1318.1992188,23.8999996,0.0000000,-1,-1,SPAWN_CAR); //Majestic
  789.     AddStaticVehicleEx(549,2230.8000488,-1350.5999756,23.7999992,0.0000000,-1,-1,SPAWN_CAR); //Tampa
  790.     AddStaticVehicleEx(549,2210.6999512,-1327.6999512,23.7999992,0.0000000,-1,-1,SPAWN_CAR); //Tampa
  791.     AddStaticVehicleEx(471,2214.8999023,-1355.0999756,23.6000004,0.0000000,-1,-1,SPAWN_CAR); //Quad
  792.     AddStaticVehicleEx(471,2216.6000977,-1355.0999756,23.6000004,0.0000000,-1,-1,SPAWN_CAR); //Quad
  793.     AddStaticVehicleEx(471,2218.3999023,-1355.0999756,23.6000004,0.0000000,-1,-1,SPAWN_CAR); //Quad
  794.     AddStaticVehicleEx(471,2250.3999023,-1400.0000000,23.6000004,0.0000000,-1,-1,SPAWN_CAR); //Quad
  795.     AddStaticVehicleEx(459,2270.1000977,-1400.9000244,24.1000004,0.0000000,-1,-1,SPAWN_CAR); //Berkley's RC Van
  796.     AddStaticVehicleEx(459,2220.2998047,-1404.0996094,24.1000004,0.0000000,-1,-1,SPAWN_CAR); //Berkley's RC Van
  797.     AddStaticVehicleEx(402,2219.6999512,-1427.0000000,23.8999996,0.0000000,-1,-1,SPAWN_CAR); //Buffalo
  798.     AddStaticVehicleEx(402,2265.6999512,-1348.0000000,23.8999996,0.0000000,-1,-1,SPAWN_CAR); //Buffalo
  799.     AddStaticVehicleEx(541,2172.1999512,-1338.5999756,23.7000008,0.0000000,-1,-1,SPAWN_CAR); //Bullet
  800.     AddStaticVehicleEx(541,2172.1992188,-1362.7998047,23.7000008,0.0000000,-1,-1,SPAWN_CAR); //Bullet
  801.     AddStaticVehicleEx(565,2127.8000488,-1398.0000000,23.5000000,0.0000000,-1,-1,SPAWN_CAR); //Flash
  802.     AddStaticVehicleEx(565,2127.8000488,-1406.8000488,23.5000000,0.0000000,-1,-1,SPAWN_CAR); //Flash
  803.     AddStaticVehicleEx(421,2161.1999512,-1353.1999512,24.0000000,0.0000000,-1,-1,SPAWN_CAR); //Washington
  804.     AddStaticVehicleEx(421,2280.6999512,-1412.6999512,23.8999996,0.0000000,-1,-1,SPAWN_CAR); //Washington
  805.     AddStaticVehicleEx(566,2230.3999023,-1363.6999512,23.8999996,0.0000000,-1,-1,SPAWN_CAR); //Tahoma
  806.     AddStaticVehicleEx(566,2226.1999512,-1363.6999512,23.8999996,0.0000000,-1,-1,SPAWN_CAR); //Tahoma // 63
  807.  
  808.     AddStaticVehicleEx(475,2603.3999023,-1068.1999512,69.5000000,0.0000000,-1,-1,SPAWN_CAR); //Sabre // 64
  809.     AddStaticVehicleEx(475,2598.8000488,-1068.1999512,69.5000000,0.0000000,-1,-1,SPAWN_CAR); //Sabre
  810.     AddStaticVehicleEx(467,2637.5000000,-1072.5000000,69.5000000,0.0000000,-1,-1,SPAWN_CAR); //Oceanic
  811.     AddStaticVehicleEx(467,2637.5000000,-1079.5000000,69.5000000,0.0000000,-1,-1,SPAWN_CAR); //Oceanic
  812.     AddStaticVehicleEx(467,2637.5000000,-1086.9000244,69.5000000,0.0000000,-1,-1,SPAWN_CAR); //Oceanic
  813.     AddStaticVehicleEx(489,2662.3999023,-1063.4000244,69.8000031,0.0000000,-1,-1,SPAWN_CAR); //Rancher
  814.     AddStaticVehicleEx(489,2666.6000977,-1063.4000244,69.8000031,0.0000000,-1,-1,SPAWN_CAR); //Rancher
  815.     AddStaticVehicleEx(489,2670.6000977,-1063.4000244,69.8000031,0.0000000,-1,-1,SPAWN_CAR); //Rancher
  816.     AddStaticVehicleEx(461,2654.8999023,-1055.5999756,69.3000031,0.0000000,-1,-1,SPAWN_CAR); //PCJ-600
  817.     AddStaticVehicleEx(461,2658.5000000,-1055.5999756,69.3000031,0.0000000,-1,-1,SPAWN_CAR); //PCJ-600
  818.     AddStaticVehicleEx(461,2662.0000000,-1055.5999756,69.3000031,0.0000000,-1,-1,SPAWN_CAR); //PCJ-600
  819.     AddStaticVehicleEx(461,2665.3999023,-1055.5999756,69.3000031,0.0000000,-1,-1,SPAWN_CAR); //PCJ-600
  820.     AddStaticVehicleEx(578,2654.6000977,-1041.0000000,70.1999969,90.0000000,-1,-1,SPAWN_CAR); //DFT-30
  821.     AddStaticVehicleEx(411,2662.8000488,-1083.4000244,69.0999985,0.0000000,-1,-1,SPAWN_CAR); //Infernus
  822.     AddStaticVehicleEx(411,2666.1999512,-1083.4000244,69.0999985,0.0000000,-1,-1,SPAWN_CAR); //Infernus
  823.     AddStaticVehicleEx(411,2669.6999512,-1083.4000244,69.0999985,0.0000000,-1,-1,SPAWN_CAR); //Infernus
  824.     AddStaticVehicleEx(560,2636.1000977,-1040.6999512,69.4000015,0.0000000,-1,-1,SPAWN_CAR); //Sultan
  825.     AddStaticVehicleEx(560,2632.8000488,-1040.6999512,69.4000015,0.0000000,-1,-1,SPAWN_CAR); //Sultan
  826.     AddStaticVehicleEx(474,2616.6999512,-1040.5000000,69.5000000,0.0000000,-1,-1,SPAWN_CAR); //Hermes
  827.     AddStaticVehicleEx(474,2612.8999023,-1040.5000000,69.5000000,0.0000000,-1,-1,SPAWN_CAR); //Hermes
  828.     AddStaticVehicleEx(474,2609.1000977,-1040.5000000,69.5000000,0.0000000,-1,-1,SPAWN_CAR); //Hermes
  829.     AddStaticVehicleEx(474,2605.5000000,-1040.5000000,69.5000000,0.0000000,-1,-1,SPAWN_CAR); //Hermes// 85
  830.  
  831.     TextdrawGlobal[1] = TextDrawCreate(329.000000, 344.000000, "Parka Esta robando el aereopuerto abandonado de livery city");
  832.     TextDrawAlignment(TextdrawGlobal[1], 2);
  833.     TextDrawBackgroundColor(TextdrawGlobal[1], 255);
  834.     TextDrawFont(TextdrawGlobal[1], 1);
  835.     TextDrawLetterSize(TextdrawGlobal[1], 0.229999, 1.200000);
  836.     TextDrawColor(TextdrawGlobal[1], -1);
  837.     TextDrawSetOutline(TextdrawGlobal[1], 1);
  838.     TextDrawSetProportional(TextdrawGlobal[1], 1);
  839.  
  840.     TextdrawGlobal[2] = TextDrawCreate(329.000000, 362.000000, "Parka Esta robando el aereopuerto abandonado de livery city");
  841.     TextDrawAlignment(TextdrawGlobal[2], 2);
  842.     TextDrawBackgroundColor(TextdrawGlobal[2], 255);
  843.     TextDrawFont(TextdrawGlobal[2], 1);
  844.     TextDrawLetterSize(TextdrawGlobal[2], 0.229999, 1.200000);
  845.     TextDrawColor(TextdrawGlobal[2], -1);
  846.     TextDrawSetOutline(TextdrawGlobal[2], 1);
  847.     TextDrawSetProportional(TextdrawGlobal[2], 1);
  848.  
  849.     TextdrawGlobal[3] = TextDrawCreate(329.000000, 380.000000, "Parka Esta robando el aereopuerto abandonado de livery city");
  850.     TextDrawAlignment(TextdrawGlobal[3], 2);
  851.     TextDrawBackgroundColor(TextdrawGlobal[3], 255);
  852.     TextDrawFont(TextdrawGlobal[3], 1);
  853.     TextDrawLetterSize(TextdrawGlobal[3], 0.229999, 1.200000);
  854.     TextDrawColor(TextdrawGlobal[3], -1);
  855.     TextDrawSetOutline(TextdrawGlobal[3], 1);
  856.     TextDrawSetProportional(TextdrawGlobal[3], 1);
  857.  
  858.     TextdrawGlobal[0] = TextDrawCreate(329.000000, 396.000000, "Parka Esta robando el aereopuerto abandonado de livery city");
  859.     TextDrawAlignment(TextdrawGlobal[0], 2);
  860.     TextDrawBackgroundColor(TextdrawGlobal[0], 255);
  861.     TextDrawFont(TextdrawGlobal[0], 1);
  862.     TextDrawLetterSize(TextdrawGlobal[0], 0.229999, 1.200000);
  863.     TextDrawColor(TextdrawGlobal[0], -1);
  864.     TextDrawSetOutline(TextdrawGlobal[0], 1);
  865.     TextDrawSetProportional(TextdrawGlobal[0], 1);
  866.  
  867.     return 1;
  868. }
  869.  
  870. public OnGameModeExit()
  871. {
  872.     return 1;
  873. }
  874.  
  875. public OnPlayerRequestClass(playerid, classid)
  876. {
  877.     if(fexist(UserPath(playerid)))
  878.     {
  879.         INI_ParseFile(UserPath(playerid), "LoadUser_%s", .bExtra = true, .extra = playerid);
  880.         ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT,""PT"Login...",""PT"Digite sua senha para entrar no Server.","Aceitar","");
  881.     }
  882.     else
  883.     {
  884.         ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT, ""PT"Registrar....",""PT"Digite uma senha para entrar no servidor.","Aceitar","");
  885.     }
  886.     return 1;
  887. }
  888.  
  889. public OnPlayerRequestSpawn(playerid)
  890. {
  891.     return 1;
  892. }
  893.  
  894. public OnPlayerConnect(playerid)
  895. {
  896.     SetPlayerMapIcon(playerid, 0, 2628.5081 , -1067.8882 , 69.6127, 60, -1 , MAPICON_GLOBAL ); // vagos
  897.     SetPlayerMapIcon(playerid, 1, 2232.5061 , -1333.3407 , 23.9816, 59, -1 , MAPICON_GLOBAL ); // ballas
  898.     SetPlayerMapIcon(playerid, 2, 2495.3494 , -1690.7244 , 14.7656, 62, -1 , MAPICON_GLOBAL ); // groove
  899.     SetPlayerMapIcon(playerid, 3, 1753.3136 , -1893.2559 , 13.5572, 58, -1 , MAPICON_GLOBAL ); // aztecas
  900.     RemoveBuildingForPlayer(playerid, 18105, 313, -164, 1000, 50.0);
  901.  
  902.     TextDrawInfo[playerid][Textdraw_a] = CreatePlayerTextDraw( playerid , 270.000000, 120.000000, "New Textdraw");
  903.     PlayerTextDrawBackgroundColor( playerid , TextDrawInfo[playerid][Textdraw_a], 0x00000033);
  904.     PlayerTextDrawFont( playerid , TextDrawInfo[playerid][Textdraw_a], 5);
  905.     PlayerTextDrawLetterSize( playerid , TextDrawInfo[playerid][Textdraw_a], 0.500000, 1.000000);
  906.     PlayerTextDrawSetOutline( playerid , TextDrawInfo[playerid][Textdraw_a], 0);
  907.     PlayerTextDrawSetProportional( playerid , TextDrawInfo[playerid][Textdraw_a], 1);
  908.     PlayerTextDrawSetShadow( playerid , TextDrawInfo[playerid][Textdraw_a], 1);
  909.     PlayerTextDrawUseBox( playerid , TextDrawInfo[playerid][Textdraw_a], 1);
  910.     PlayerTextDrawBoxColor( playerid , TextDrawInfo[playerid][Textdraw_a], 0);
  911.     PlayerTextDrawTextSize( playerid , TextDrawInfo[playerid][Textdraw_a], 97.000000, 100.000000);
  912.     PlayerTextDrawSetPreviewModel( playerid , TextDrawInfo[playerid][Textdraw_a], 105);
  913.     PlayerTextDrawSetPreviewRot( playerid , TextDrawInfo[playerid][Textdraw_a], 0.000000, 0.000000, 1.000000, 1.000000);
  914.     PlayerTextDrawSetSelectable( playerid , TextDrawInfo[playerid][Textdraw_a], 0);
  915.  
  916.     TextDrawInfo[playerid][Textdraw_b] = CreatePlayerTextDraw( playerid , 130.000000, 120.000000, "New Textdraw");
  917.     PlayerTextDrawBackgroundColor( playerid , TextDrawInfo[playerid][Textdraw_b], 0x00000033);
  918.     PlayerTextDrawFont( playerid , TextDrawInfo[playerid][Textdraw_b], 5);
  919.     PlayerTextDrawLetterSize( playerid , TextDrawInfo[playerid][Textdraw_b], 0.500000, 1.000000);
  920.     PlayerTextDrawSetOutline( playerid , TextDrawInfo[playerid][Textdraw_b], 0);
  921.     PlayerTextDrawSetProportional( playerid , TextDrawInfo[playerid][Textdraw_b], 1);
  922.     PlayerTextDrawSetShadow( playerid , TextDrawInfo[playerid][Textdraw_b], 1);
  923.     PlayerTextDrawUseBox( playerid , TextDrawInfo[playerid][Textdraw_b], 1);
  924.     PlayerTextDrawBoxColor( playerid , TextDrawInfo[playerid][Textdraw_b], 0);
  925.     PlayerTextDrawTextSize( playerid , TextDrawInfo[playerid][Textdraw_b], 97.000000, 100.000000);
  926.     PlayerTextDrawSetPreviewModel( playerid , TextDrawInfo[playerid][Textdraw_b], 106);
  927.     PlayerTextDrawSetPreviewRot( playerid , TextDrawInfo[playerid][Textdraw_b], 0.000000, 0.000000, 1.000000, 1.000000);
  928.     PlayerTextDrawSetSelectable( playerid , TextDrawInfo[playerid][Textdraw_b], 0);
  929.  
  930.     TextDrawInfo[playerid][Textdraw_c] = CreatePlayerTextDraw( playerid , 410.000000, 120.000000, "New Textdraw");
  931.     PlayerTextDrawBackgroundColor( playerid , TextDrawInfo[playerid][Textdraw_c], 0x00000033);
  932.     PlayerTextDrawFont( playerid , TextDrawInfo[playerid][Textdraw_c], 5);
  933.     PlayerTextDrawLetterSize( playerid , TextDrawInfo[playerid][Textdraw_c], 0.500000, 1.000000);
  934.     PlayerTextDrawSetOutline( playerid , TextDrawInfo[playerid][Textdraw_c], 0);
  935.     PlayerTextDrawSetProportional( playerid , TextDrawInfo[playerid][Textdraw_c], 1);
  936.     PlayerTextDrawSetShadow( playerid , TextDrawInfo[playerid][Textdraw_c], 1);
  937.     PlayerTextDrawUseBox( playerid , TextDrawInfo[playerid][Textdraw_c], 1);
  938.     PlayerTextDrawBoxColor( playerid , TextDrawInfo[playerid][Textdraw_c], 0);
  939.     PlayerTextDrawTextSize( playerid , TextDrawInfo[playerid][Textdraw_c], 97.000000, 100.000000);
  940.     PlayerTextDrawSetPreviewModel( playerid , TextDrawInfo[playerid][Textdraw_c], 107);
  941.     PlayerTextDrawSetPreviewRot( playerid , TextDrawInfo[playerid][Textdraw_c], 0.000000, 0.000000, 1.000000, 1.000000);
  942.     PlayerTextDrawSetSelectable( playerid , TextDrawInfo[playerid][Textdraw_c], 0);
  943.  
  944.     TextDrawInfo[playerid][Textdraw_d] = CreatePlayerTextDraw( playerid , 90.000000, 340.000000, "~g~Groove");
  945.     PlayerTextDrawAlignment( playerid , TextDrawInfo[playerid][Textdraw_d], 2);
  946.     PlayerTextDrawBackgroundColor( playerid , TextDrawInfo[playerid][Textdraw_d], 255);
  947.     PlayerTextDrawFont( playerid , TextDrawInfo[playerid][Textdraw_d], 1);
  948.     PlayerTextDrawLetterSize( playerid , TextDrawInfo[playerid][Textdraw_d], 0.480000, 1.400000);
  949.     PlayerTextDrawColor( playerid , TextDrawInfo[playerid][Textdraw_d], -1);
  950.     PlayerTextDrawSetOutline( playerid , TextDrawInfo[playerid][Textdraw_d], 1);
  951.     PlayerTextDrawSetProportional( playerid , TextDrawInfo[playerid][Textdraw_d], 1);
  952.     PlayerTextDrawUseBox( playerid , TextDrawInfo[playerid][Textdraw_d], 1);
  953.     PlayerTextDrawBoxColor( playerid , TextDrawInfo[playerid][Textdraw_d], -16777182);
  954.     PlayerTextDrawTextSize( playerid , TextDrawInfo[playerid][Textdraw_d], 20.00 , 80.00);
  955.     PlayerTextDrawSetSelectable( playerid , TextDrawInfo[playerid][Textdraw_d], 0);
  956.  
  957.     TextDrawInfo[playerid][Textdraw_e] = CreatePlayerTextDraw( playerid , 240.000000, 340.000000, "~p~Ballas");
  958.     PlayerTextDrawAlignment( playerid , TextDrawInfo[playerid][Textdraw_e], 2);
  959.     PlayerTextDrawBackgroundColor( playerid , TextDrawInfo[playerid][Textdraw_e], 255);
  960.     PlayerTextDrawFont( playerid , TextDrawInfo[playerid][Textdraw_e], 1);
  961.     PlayerTextDrawLetterSize( playerid , TextDrawInfo[playerid][Textdraw_e], 0.480000, 1.400000);
  962.     PlayerTextDrawColor( playerid , TextDrawInfo[playerid][Textdraw_e], -1);
  963.     PlayerTextDrawSetOutline( playerid , TextDrawInfo[playerid][Textdraw_e], 1);
  964.     PlayerTextDrawSetProportional( playerid , TextDrawInfo[playerid][Textdraw_e], 1);
  965.     PlayerTextDrawUseBox( playerid , TextDrawInfo[playerid][Textdraw_e], 1);
  966.     PlayerTextDrawBoxColor( playerid , TextDrawInfo[playerid][Textdraw_e], -16777182);
  967.     PlayerTextDrawTextSize( playerid , TextDrawInfo[playerid][Textdraw_e], 20.00 , 80.00);
  968.     PlayerTextDrawSetSelectable( playerid , TextDrawInfo[playerid][Textdraw_e], 0);
  969.  
  970.     TextDrawInfo[playerid][Textdraw_f] = CreatePlayerTextDraw( playerid , 380.000000, 340.000000, "~y~Vagos");
  971.     PlayerTextDrawAlignment( playerid , TextDrawInfo[playerid][Textdraw_f], 2);
  972.     PlayerTextDrawBackgroundColor( playerid , TextDrawInfo[playerid][Textdraw_f], 255);
  973.     PlayerTextDrawFont( playerid , TextDrawInfo[playerid][Textdraw_f], 1);
  974.     PlayerTextDrawLetterSize( playerid , TextDrawInfo[playerid][Textdraw_f], 0.480000, 1.400000);
  975.     PlayerTextDrawColor( playerid , TextDrawInfo[playerid][Textdraw_f], -1);
  976.     PlayerTextDrawSetOutline( playerid , TextDrawInfo[playerid][Textdraw_f], 1);
  977.     PlayerTextDrawSetProportional( playerid , TextDrawInfo[playerid][Textdraw_f], 1);
  978.     PlayerTextDrawUseBox( playerid , TextDrawInfo[playerid][Textdraw_f], 1);
  979.     PlayerTextDrawBoxColor( playerid , TextDrawInfo[playerid][Textdraw_f], -16777182);
  980.     PlayerTextDrawTextSize( playerid , TextDrawInfo[playerid][Textdraw_f], 20.00, 80.00);
  981.     PlayerTextDrawSetSelectable( playerid , TextDrawInfo[playerid][Textdraw_f], 0);
  982.  
  983.     TextDrawInfo[playerid][Textdraw_g] = CreatePlayerTextDraw( playerid , 530.000000, 340.000000, "~b~~h~~h~Aztecas");
  984.     PlayerTextDrawAlignment( playerid , TextDrawInfo[playerid][Textdraw_g], 2);
  985.     PlayerTextDrawBackgroundColor( playerid , TextDrawInfo[playerid][Textdraw_g], 255);
  986.     PlayerTextDrawFont( playerid , TextDrawInfo[playerid][Textdraw_g], 1);
  987.     PlayerTextDrawLetterSize( playerid , TextDrawInfo[playerid][Textdraw_g], 0.480000, 1.400000);
  988.     PlayerTextDrawColor( playerid , TextDrawInfo[playerid][Textdraw_g], -1);
  989.     PlayerTextDrawSetOutline( playerid , TextDrawInfo[playerid][Textdraw_g], 1);
  990.     PlayerTextDrawSetProportional( playerid , TextDrawInfo[playerid][Textdraw_g], 1);
  991.     PlayerTextDrawUseBox( playerid , TextDrawInfo[playerid][Textdraw_g], 1);
  992.     PlayerTextDrawBoxColor( playerid , TextDrawInfo[playerid][Textdraw_g], -16777182);
  993.     PlayerTextDrawTextSize( playerid , TextDrawInfo[playerid][Textdraw_g], 20.0 , 80.00);
  994.     PlayerTextDrawSetSelectable( playerid , TextDrawInfo[playerid][Textdraw_g], 0);
  995.  
  996.     TextDrawInfo[playerid][Textdraw_h] = CreatePlayerTextDraw( playerid , 313.000000, 326.000000, "                                                                                                                                ");
  997.     PlayerTextDrawAlignment( playerid , TextDrawInfo[playerid][Textdraw_h], 2);
  998.     PlayerTextDrawBackgroundColor( playerid , TextDrawInfo[playerid][Textdraw_h], 255);
  999.     PlayerTextDrawFont( playerid , TextDrawInfo[playerid][Textdraw_h], 1);
  1000.     PlayerTextDrawLetterSize( playerid , TextDrawInfo[playerid][Textdraw_h], 0.500000, 5.099997);
  1001.     PlayerTextDrawColor( playerid , TextDrawInfo[playerid][Textdraw_h], -1);
  1002.     PlayerTextDrawSetOutline( playerid , TextDrawInfo[playerid][Textdraw_h], 1);
  1003.     PlayerTextDrawSetProportional( playerid , TextDrawInfo[playerid][Textdraw_h], 1);
  1004.     PlayerTextDrawUseBox( playerid , TextDrawInfo[playerid][Textdraw_h], 1);
  1005.     PlayerTextDrawBoxColor( playerid , TextDrawInfo[playerid][Textdraw_h], 51);
  1006.     PlayerTextDrawTextSize( playerid , TextDrawInfo[playerid][Textdraw_h], 0.000000, 656.000000);
  1007.     PlayerTextDrawSetSelectable( playerid , TextDrawInfo[playerid][Textdraw_h], 0);
  1008.  
  1009.     TextDrawInfo[playerid][Textdraw_i] = CreatePlayerTextDraw(playerid,553.000000, 102.000000, "informacoes~n~_~n~_~n~_~n~_~n~__~n~_~n~_~n~_~n~__~n~_~n~_~n~_~n~__~n~_~n~_~n~_~n~__~n~_~n~_~n~_~n~_");
  1010.     PlayerTextDrawAlignment(playerid,TextDrawInfo[playerid][Textdraw_i], 2);
  1011.     PlayerTextDrawBackgroundColor(playerid,TextDrawInfo[playerid][Textdraw_i], 255);
  1012.     PlayerTextDrawFont(playerid,TextDrawInfo[playerid][Textdraw_i], 1);
  1013.     PlayerTextDrawLetterSize(playerid,TextDrawInfo[playerid][Textdraw_i], 0.380000, 1.200000);
  1014.     PlayerTextDrawColor(playerid,TextDrawInfo[playerid][Textdraw_i], -1);
  1015.     PlayerTextDrawSetOutline(playerid,TextDrawInfo[playerid][Textdraw_i], 1);
  1016.     PlayerTextDrawSetProportional(playerid,TextDrawInfo[playerid][Textdraw_i], 1);
  1017.     PlayerTextDrawUseBox(playerid,TextDrawInfo[playerid][Textdraw_i], 1);
  1018.     PlayerTextDrawBoxColor(playerid,TextDrawInfo[playerid][Textdraw_i], 68);
  1019.     PlayerTextDrawTextSize(playerid,TextDrawInfo[playerid][Textdraw_i], 3.000000, 103.000000);
  1020.     PlayerTextDrawSetSelectable(playerid,TextDrawInfo[playerid][Textdraw_i], 0);
  1021.  
  1022.     TextDrawInfo[playerid][Textdraw_j] = CreatePlayerTextDraw(playerid,553.000000, 119.000000, "~n~_~n~_~n~_~n~_~n~_~n~__~n~_~n~_~n~_~n~__~n~_~n~_~n~_~n~__~n~_~n~_~n~_~n~__~n~_~n~_~n~_~n~_~n~_");
  1023.     PlayerTextDrawAlignment(playerid,TextDrawInfo[playerid][Textdraw_j], 2);
  1024.     PlayerTextDrawBackgroundColor(playerid,TextDrawInfo[playerid][Textdraw_j], 255);
  1025.     PlayerTextDrawFont(playerid,TextDrawInfo[playerid][Textdraw_j], 1);
  1026.     PlayerTextDrawLetterSize(playerid,TextDrawInfo[playerid][Textdraw_j], 0.370000, 1.000000);
  1027.     PlayerTextDrawColor(playerid,TextDrawInfo[playerid][Textdraw_j], -1);
  1028.     PlayerTextDrawSetOutline(playerid,TextDrawInfo[playerid][Textdraw_j], 1);
  1029.     PlayerTextDrawSetProportional(playerid,TextDrawInfo[playerid][Textdraw_j], 1);
  1030.     PlayerTextDrawUseBox(playerid,TextDrawInfo[playerid][Textdraw_j], 1);
  1031.     PlayerTextDrawBoxColor(playerid,TextDrawInfo[playerid][Textdraw_j], 65297);
  1032.     PlayerTextDrawTextSize(playerid,TextDrawInfo[playerid][Textdraw_j], -2.000000, 98.000000);
  1033.     PlayerTextDrawSetSelectable(playerid,TextDrawInfo[playerid][Textdraw_j], 0);
  1034.  
  1035.     TextDrawInfo[playerid][Textdraw_k] = CreatePlayerTextDraw(playerid,502.000000, 121.000000, "~r~kills~w~: 0~n~~g~score~w~: 0~n~~n~        Zonas~n~~n~~p~Ballas~w~: 0~n~~y~Vagos~w~: 0~n~~g~Groove~w~: 0~n~~b~~h~~h~aztecas~w~");
  1036.     PlayerTextDrawBackgroundColor(playerid,TextDrawInfo[playerid][Textdraw_k], 255);
  1037.     PlayerTextDrawFont(playerid,TextDrawInfo[playerid][Textdraw_k], 1);
  1038.     PlayerTextDrawLetterSize(playerid,TextDrawInfo[playerid][Textdraw_k], 0.250000, 1.000000);
  1039.     PlayerTextDrawColor(playerid,TextDrawInfo[playerid][Textdraw_k], -1);
  1040.     PlayerTextDrawSetOutline(playerid,TextDrawInfo[playerid][Textdraw_k], 0);
  1041.     PlayerTextDrawSetProportional(playerid,TextDrawInfo[playerid][Textdraw_k], 1);
  1042.     PlayerTextDrawSetShadow(playerid,TextDrawInfo[playerid][Textdraw_k], 1);
  1043.     PlayerTextDrawSetSelectable(playerid,TextDrawInfo[playerid][Textdraw_k], 0);
  1044.  
  1045.     TextDrawInfo[playerid][Textdraw_l] = CreatePlayerTextDraw(playerid,502.000000, 219.000000, "Conquista: para conquistar ~n~una zona deben haber 3 ~n~personas del mismo equipo ~n~dentro de la misma la~n~conquista comenzara");
  1046.     PlayerTextDrawBackgroundColor(playerid,TextDrawInfo[playerid][Textdraw_l], 255);
  1047.     PlayerTextDrawFont(playerid,TextDrawInfo[playerid][Textdraw_l], 1);
  1048.     PlayerTextDrawLetterSize(playerid,TextDrawInfo[playerid][Textdraw_l], 0.230000, 1.100000);
  1049.     PlayerTextDrawColor(playerid,TextDrawInfo[playerid][Textdraw_l], -1);
  1050.     PlayerTextDrawSetOutline(playerid,TextDrawInfo[playerid][Textdraw_l], 0);
  1051.     PlayerTextDrawSetProportional(playerid,TextDrawInfo[playerid][Textdraw_l], 1);
  1052.     PlayerTextDrawSetShadow(playerid,TextDrawInfo[playerid][Textdraw_l], 1);
  1053.     PlayerTextDrawSetSelectable(playerid,TextDrawInfo[playerid][Textdraw_l], 0);
  1054.  
  1055.     Seleccion[playerid] = 0;
  1056.  
  1057.     for(new i; i < MAX_PLAYERS; i++){SendClientMessageEx( i , -1 ,""KA""GM" %s introduziu o servidor*",Nome(playerid));}
  1058.     SendClientMessageEx( playerid , -1 ,""KA"Comandos úteis: /help,   /regras,   /cmds, /suges");
  1059.     SendClientMessageEx( playerid , -1 ,""KA"Se você quiser compartilhar suas idéias com o servidor grava /suges");
  1060.     SendClientMessageEx( playerid , -1 ,""KA"e podem aparecer em suas idéias neste servidor ;)");
  1061.     return 1;
  1062. }
  1063.  
  1064. public OnPlayerDisconnect(playerid, reason)
  1065. {
  1066.     new INI:File = INI_Open(UserPath(playerid));
  1067.     INI_SetTag(File,"data");
  1068.     INI_WriteInt(File,"Cash",GetPlayerMoney(playerid));
  1069.     INI_WriteInt(File,"Admin",PlayerInfo[playerid][pAdmin]);
  1070.     INI_WriteInt(File,"Score",PlayerInfo[playerid][pScore]);
  1071.     INI_WriteInt(File,"Kills",PlayerInfo[playerid][pKills]);
  1072.     INI_WriteInt(File,"Deaths",PlayerInfo[playerid][pDeaths]);
  1073.     INI_Close(File);
  1074.  
  1075.  
  1076.     PlayerTextDrawDestroy( playerid , TextDrawInfo[playerid][Textdraw_a] );
  1077.     PlayerTextDrawDestroy( playerid , TextDrawInfo[playerid][Textdraw_b] );
  1078.     PlayerTextDrawDestroy( playerid , TextDrawInfo[playerid][Textdraw_c] );
  1079.     PlayerTextDrawDestroy( playerid , TextDrawInfo[playerid][Textdraw_d] );
  1080.     PlayerTextDrawDestroy( playerid , TextDrawInfo[playerid][Textdraw_e] );
  1081.     PlayerTextDrawDestroy( playerid , TextDrawInfo[playerid][Textdraw_f] );
  1082.     PlayerTextDrawDestroy( playerid , TextDrawInfo[playerid][Textdraw_g] );
  1083.     PlayerTextDrawDestroy( playerid , TextDrawInfo[playerid][Textdraw_h] );
  1084.     PlayerTextDrawDestroy( playerid , TextDrawInfo[playerid][Textdraw_i] );
  1085.     PlayerTextDrawDestroy( playerid , TextDrawInfo[playerid][Textdraw_j] );
  1086.     PlayerTextDrawDestroy( playerid , TextDrawInfo[playerid][Textdraw_k] );
  1087.  
  1088.     return 1;
  1089. }
  1090.  
  1091. public OnPlayerClickPlayerTextDraw(playerid, PlayerText:playertextid)
  1092. {
  1093.     if(playertextid == TextDrawInfo[playerid][Textdraw_d])
  1094.     {
  1095.     Equipo[playerid] = TEAM_GROOVE;
  1096.     Mostrar(playerid);
  1097.     }
  1098.  
  1099.     if(playertextid == TextDrawInfo[playerid][Textdraw_e])
  1100.     {
  1101.     Equipo[playerid] = TEAM_BALLAS;
  1102.     Mostrar(playerid);
  1103.     }
  1104.  
  1105.     if(playertextid == TextDrawInfo[playerid][Textdraw_f])
  1106.     {
  1107.     Equipo[playerid] = TEAM_VAGOS;
  1108.     Mostrar(playerid);
  1109.     }
  1110.  
  1111.     if(playertextid == TextDrawInfo[playerid][Textdraw_g])
  1112.     {
  1113.     Equipo[playerid] = TEAM_AZTECAZ;
  1114.     Mostrar(playerid);
  1115.     }
  1116.  
  1117.     if(playertextid == TextDrawInfo[playerid][Textdraw_a])
  1118.     {
  1119.     if( Equipo[playerid] == TEAM_GROOVE )
  1120.     {
  1121.     PlayerSkin( playerid , 105 );
  1122.     Esconder( playerid );
  1123.     }
  1124.     if( Equipo[playerid] == TEAM_BALLAS )
  1125.     {
  1126.     PlayerSkin( playerid , 102 );
  1127.     Esconder( playerid );
  1128.     }
  1129.     if( Equipo[playerid] == TEAM_VAGOS )
  1130.     {
  1131.     PlayerSkin( playerid , 108 );
  1132.     Esconder( playerid );
  1133.     }
  1134.     if( Equipo[playerid] == TEAM_AZTECAZ )
  1135.     {
  1136.     PlayerSkin( playerid , 114 );
  1137.     Esconder( playerid );
  1138.     }
  1139.     }
  1140.  
  1141.     if(playertextid == TextDrawInfo[playerid][Textdraw_b])
  1142.     {
  1143.     if( Equipo[playerid] == TEAM_GROOVE )
  1144.     {
  1145.     PlayerSkin( playerid , 106 );
  1146.     Esconder( playerid );
  1147.     }
  1148.     if( Equipo[playerid] == TEAM_BALLAS )
  1149.     {
  1150.     PlayerSkin( playerid , 103 );
  1151.     Esconder( playerid );
  1152.     }
  1153.     if( Equipo[playerid] == TEAM_VAGOS )
  1154.     {
  1155.     PlayerSkin( playerid , 109 );
  1156.     Esconder( playerid );
  1157.     }
  1158.     if( Equipo[playerid] == TEAM_AZTECAZ )
  1159.     {
  1160.     PlayerSkin( playerid , 115 );
  1161.     Esconder( playerid );
  1162.     }
  1163.     }
  1164.  
  1165.     if(playertextid == TextDrawInfo[playerid][Textdraw_c])
  1166.     {
  1167.     if( Equipo[playerid] == TEAM_GROOVE )
  1168.     {
  1169.     PlayerSkin( playerid , 107 );
  1170.     Esconder( playerid );
  1171.     }
  1172.     if( Equipo[playerid] == TEAM_BALLAS )
  1173.     {
  1174.     PlayerSkin( playerid , 104 );
  1175.     Esconder( playerid );
  1176.     }
  1177.     if( Equipo[playerid] == TEAM_VAGOS )
  1178.     {
  1179.     PlayerSkin( playerid , 110 );
  1180.     Esconder( playerid );
  1181.     }
  1182.     if( Equipo[playerid] == TEAM_AZTECAZ )
  1183.     {
  1184.     PlayerSkin( playerid , 116 );
  1185.     Esconder( playerid );
  1186.     }
  1187.     }
  1188.  
  1189.     return 1;
  1190. }
  1191.  
  1192. public OnPlayerSpawn(playerid)
  1193. {
  1194.     if( Seleccion[ playerid ] == 0 )
  1195.     {
  1196.     SetPlayerCameraPos(playerid, 2106.758789, 987.219055, 15.645994);
  1197.     SetPlayerCameraLookAt(playerid, 2107.028320, 992.095153, 14.573153);
  1198.     SetPlayerPosEx( playerid, 2100.5720 , 1006.2416 , 11.0033 , 231.0222 );
  1199.  
  1200.     SelectTextDraw( playerid , 0xFFFFFFAA );
  1201.  
  1202.     PlayerTextDrawSetSelectable( playerid , TextDrawInfo[playerid][Textdraw_d] , 1);
  1203.     PlayerTextDrawSetSelectable( playerid , TextDrawInfo[playerid][Textdraw_e] , 1);
  1204.     PlayerTextDrawSetSelectable( playerid , TextDrawInfo[playerid][Textdraw_f] , 1);
  1205.     PlayerTextDrawSetSelectable( playerid , TextDrawInfo[playerid][Textdraw_g] , 1);
  1206.  
  1207.     PlayerTextDrawShow( playerid , TextDrawInfo[playerid][Textdraw_d] );
  1208.     PlayerTextDrawShow( playerid , TextDrawInfo[playerid][Textdraw_e] );
  1209.     PlayerTextDrawShow( playerid , TextDrawInfo[playerid][Textdraw_f] );
  1210.     PlayerTextDrawShow( playerid , TextDrawInfo[playerid][Textdraw_g] );
  1211.     PlayerTextDrawShow( playerid , TextDrawInfo[playerid][Textdraw_h] );
  1212.     }
  1213.  
  1214.     if( Equipo[ playerid ] == TEAM_GROOVE )
  1215.     {
  1216.     SetPlayerPosEx(playerid,2495.1921,-1686.7445,13.5142,7.6413); //
  1217.     PlayerTextDrawShow( playerid , TextDrawInfo[playerid][Textdraw_i] );
  1218.     PlayerTextDrawShow( playerid , TextDrawInfo[playerid][Textdraw_j] );
  1219.     PlayerTextDrawShow( playerid , TextDrawInfo[playerid][Textdraw_k] );
  1220.     PlayerTextDrawSetString( playerid , TextDrawInfo[playerid][Textdraw_l] , "Guerra de Bandas~n~Espero que desfrutes de~n~nosso grandioso servidor");
  1221.     PlayerTextDrawShow( playerid , TextDrawInfo[playerid][Textdraw_l] );
  1222.     SetPlayerColor( playerid , MainVerde );
  1223.     }
  1224.  
  1225.     if( Equipo[ playerid ] == TEAM_BALLAS )
  1226.     {
  1227.     SetPlayerPosEx(playerid,2230.0200,-1359.6014,23.9880,85.4661); //
  1228.     PlayerTextDrawShow( playerid , TextDrawInfo[playerid][Textdraw_i] );
  1229.     PlayerTextDrawShow( playerid , TextDrawInfo[playerid][Textdraw_j] );
  1230.     PlayerTextDrawShow( playerid , TextDrawInfo[playerid][Textdraw_k] );
  1231.     PlayerTextDrawSetString( playerid , TextDrawInfo[playerid][Textdraw_l] , "Guerra de Bandas~n~Espero que desfrutes de~n~nosso grandioso servidor");
  1232.     PlayerTextDrawShow( playerid , TextDrawInfo[playerid][Textdraw_l] );
  1233.     SetPlayerColor( playerid , MainPurpura );
  1234.     }
  1235.  
  1236.     if( Equipo[ playerid ] == TEAM_VAGOS )
  1237.     {
  1238.     SetPlayerPosEx(playerid,2628.2773,-1082.5399,69.6164,269.4668); //
  1239.     PlayerTextDrawShow( playerid , TextDrawInfo[playerid][Textdraw_i] );
  1240.     PlayerTextDrawShow( playerid , TextDrawInfo[playerid][Textdraw_j] );
  1241.     PlayerTextDrawShow( playerid , TextDrawInfo[playerid][Textdraw_k] );
  1242.     PlayerTextDrawSetString( playerid , TextDrawInfo[playerid][Textdraw_l] , "Guerra de Bandas~n~Espero que desfrutes de~n~nosso grandioso servidor");
  1243.     PlayerTextDrawShow( playerid , TextDrawInfo[playerid][Textdraw_l] );
  1244.     SetPlayerColor( playerid , MainAmarillo );
  1245.     }
  1246.  
  1247.     if( Equipo[ playerid ] == TEAM_AZTECAZ )
  1248.     {
  1249.     SetPlayerPosEx(playerid,1771.1144,-1908.2556,13.5555,268.4390); //
  1250.     PlayerTextDrawShow( playerid , TextDrawInfo[playerid][Textdraw_i] );
  1251.     PlayerTextDrawShow( playerid , TextDrawInfo[playerid][Textdraw_j] );
  1252.     PlayerTextDrawShow( playerid , TextDrawInfo[playerid][Textdraw_k] );
  1253.     PlayerTextDrawSetString( playerid , TextDrawInfo[playerid][Textdraw_l] , "Guerra de Bandas~n~Espero que desfrutes de~n~nosso grandioso servidor");
  1254.     PlayerTextDrawShow( playerid , TextDrawInfo[playerid][Textdraw_l] );
  1255.     SetPlayerColor( playerid , MainCian );
  1256.     }
  1257.  
  1258.     SetPlayerInterior( playerid , 0 );
  1259.     SetPlayerSkin( playerid , PlayerInfo[playerid][pSkin]);
  1260.     for(new i=0; i<MAX_ZONES; i++)
  1261.     {
  1262.         GangZoneShowForPlayer(playerid, ZoneInfo[i][z_id], GetTeamColor(ZoneInfo[i][z_team]));
  1263.         if(ZoneTakeOverTeam[i] != -1) GangZoneFlashForPlayer(playerid, ZoneInfo[i][z_id], GetTeamColor(ZoneTakeOverTeam[i]));
  1264.     }
  1265.     return 1;
  1266. }
  1267.  
  1268.  
  1269. new Text3D:AtaudLabel[MAX_PLAYERS];
  1270. new AtaudPickup[MAX_PLAYERS] = -1;
  1271.  
  1272. public OnPlayerDeath(playerid, killerid, reason)
  1273. {
  1274.  
  1275.     OnWeaponDrop(playerid);
  1276.  
  1277.     if( killerid != INVALID_PLAYER_ID )
  1278.     {
  1279.  
  1280.     new string[256], Float:Old[3];
  1281.     format( string, sizeof string,"{00ff00}[_____R.I.P_____]\n{ff0000}Assassino{ffffff}: %s\n{0000ff}Morte{ffffff}:%s",
  1282.     Nome( killerid ), Nome( playerid ));
  1283.  
  1284.     GetPlayerPos( playerid,Old[0], Old[1], Old[2]);
  1285.    
  1286.     AtaudLabel [ playerid ] =  Create3DTextLabel( string, 0x00ff00ff, Old[0], Old[1], Old[2], 80.0, 0, 0);
  1287.     AtaudPickup[ playerid ] =  CreatePickup( 2896, 1, Old[0], Old[1], Old[2], -1);
  1288.  
  1289.     SetTimerEx("DestroysAtuds", 8000, false, "d", playerid);
  1290.     }
  1291.     return 1;
  1292. }
  1293.  
  1294. CallBack: DestroysAtuds(vehicleid)
  1295. {
  1296.     for(new i, t = GetMaxPlayers(); i < t; i++)
  1297.     {
  1298.         Delete3DTextLabel( AtaudLabel [ i ] );
  1299.         DestroyPickup    ( AtaudPickup[ i ] );
  1300.     }
  1301.     return 1;
  1302. }
  1303.  
  1304.    
  1305. public OnVehicleSpawn(vehicleid)
  1306. {
  1307.     return 1;
  1308. }
  1309.  
  1310. public OnVehicleDeath(vehicleid, killerid)
  1311. {
  1312.     return 1;
  1313. }
  1314.  
  1315. public OnPlayerText(playerid, text[])
  1316. {
  1317.     return 1;
  1318. }
  1319.  
  1320. /*                           [{(- ZCMD -)}]                                   */
  1321. /*                  [{(- OnPlayerCommandPerformed -)}]                        */
  1322.  
  1323. public OnPlayerCommandPerformed(playerid, cmdtext[], success)
  1324. {
  1325.  
  1326. if(!success)
  1327. {
  1328. new str[128];
  1329. Sonido(playerid, 1058);
  1330. format( str , sizeof ( str ) , "{ffffff}"GM"{ffd700}%s {ffffff}O Comando '{00ff00}%s{ffffff}' Não Existe Faz favor Utiliza /Cmds " , Nome(playerid) , cmdtext );
  1331. SendClientMessageEx( playerid, -1 , str );
  1332. return true;
  1333. }
  1334.  
  1335. return 1;
  1336. }
  1337.  
  1338. public OnPlayerCommandReceived(playerid, cmdtext[] )
  1339. {
  1340.  
  1341. return 1;
  1342. }
  1343.  
  1344. new Cadena[256];
  1345.  
  1346. CMD:suges(playerid,params[])
  1347. {
  1348.     if( sscanf( params, "s[256]", params[0] ) ) return SendClientMessage( playerid , -1 ,""KA""GM" Escreve /suges ( texto tua sugestão para o servidor ) **");
  1349.     suges( params[0] );
  1350.     SendClientMessage( playerid , -1 ,""KA""GM" Obrigado por sugerir novas funções e inovações para nosso servidor *");
  1351.     return 1;
  1352. }
  1353.  
  1354. CallBack: suges( string[] )
  1355. {
  1356.     new entry[256];
  1357.     format(entry, sizeof(entry), "%s\n",string);
  1358.     new File:hFile;
  1359.     hFile = fopen("suges.log", io_append);
  1360.     fwrite(hFile, entry);
  1361.     fclose(hFile);
  1362. }
  1363.  
  1364. CMD:kill(playerid,params[])
  1365. {
  1366.     SetPlayerHealth( playerid , 0.0 );
  1367.     return 1;
  1368. }
  1369.  
  1370. CMD:conquista(playerid,params[])
  1371. {
  1372.     new strons[200];
  1373.     format( strons , sizeof strons ,
  1374.     "~y~Conquista~w~: conquistar uma~n~\
  1375.      area deve ter 3~n~\
  1376.      pessoas da mesma equipe~n~\
  1377.      na conquista mesmo comecou~n~\
  1378.      em 10 segudos e~n~\
  1379.      dura 2 minutos");
  1380.     PlayerTextDrawSetString( playerid , TextDrawInfo[playerid][Textdraw_l] , strons);
  1381.     PlayerTextDrawShow( playerid , TextDrawInfo[playerid][Textdraw_l] );
  1382.     return 1;
  1383. }
  1384.  
  1385. CMD:cmds(playerid,params[])
  1386. {
  1387.     new strons[200];
  1388.     format( strons , sizeof strons ,
  1389.     "~p~Cmds~w~:~n~\
  1390.      /creditos~n~\
  1391.      /regras~n~\
  1392.      /conquista~n~\
  1393.      /reforco~n~\
  1394.      /pm~n~");
  1395.     PlayerTextDrawSetString( playerid , TextDrawInfo[playerid][Textdraw_l] , strons);
  1396.     PlayerTextDrawShow( playerid , TextDrawInfo[playerid][Textdraw_l] );
  1397.     return 1;
  1398. }
  1399.  
  1400. CMD:creditos(playerid,params[])
  1401. {
  1402.     new strons[200];
  1403.     format( strons , sizeof strons ,
  1404.     "~g~creditos~w~: este servidor~n~\
  1405.      foi feito por Parka~n~\
  1406.      Actualizado por Parka~n~\
  1407.      Inconvenientes, dúvidas,~n~\
  1408.      contratos, trabalhos~n~\
  1409.      comunicar-se com~n~\
  1410.      Skype: cesar.delgado39~n~\
  1411.     ");
  1412.     PlayerTextDrawSetString( playerid , TextDrawInfo[playerid][Textdraw_l] , strons);
  1413.     PlayerTextDrawShow( playerid , TextDrawInfo[playerid][Textdraw_l] );
  1414.     return 1;
  1415. }
  1416.  
  1417. CMD:reforco(playerid,params[])
  1418. {
  1419.     new zone[MAX_ZONE_NAME];
  1420.     GetPlayer3DZone(playerid , zone, MAX_ZONE_NAME);
  1421.     for(new i; i < MAX_PLAYERS; i++)
  1422.     {
  1423.     if( Equipo[i] == Equipo[playerid] )
  1424.     {
  1425.     if( Equipo[i] == TEAM_GROOVE )
  1426.     {
  1427.     SendClientMessageEx( i , MainVerde , "Team Groove: %s chamadas reforco perto: %s", Nome(playerid), zone );
  1428.     }
  1429.     if( Equipo[i] == TEAM_BALLAS )
  1430.     {
  1431.     SendClientMessageEx( i , MainPurpura , "Equipo Ballas: %s chamadas reforco perto: %s", Nome(playerid), zone );
  1432.     }
  1433.     if( Equipo[i] == TEAM_VAGOS )
  1434.     {
  1435.     SendClientMessageEx( i , MainAmarillo , "Equipo Vagos: %s chamadas reforco perto: %s", Nome(playerid), zone );
  1436.     }
  1437.     if( Equipo[i] == TEAM_AZTECAZ )
  1438.     {
  1439.     SendClientMessageEx( i , MainCian , "Equipo Astecaz: %s chamadas reforco perto: %s", Nome(playerid), zone );
  1440.     }
  1441.     }
  1442.     }
  1443.     return 1;
  1444. }
  1445.  
  1446. CMD:pm(playerid, params[])
  1447. {
  1448.     if(sscanf(params, "us", params[0], params[1])) return SendClientMessage(playerid, MainRojo, ""GM" Use /pm (ID) (Text)");
  1449.     if(!IsPlayerConnected(params[0])) return SendClientMessage(playerid, MainRojo, ""GM" O jogador não está conectado.!");
  1450.     if(playerid == params[0]) return SendClientMessage(playerid, MainRojo, ""GM" Você pode enviar-se pm.!");
  1451.     format(Cadena, sizeof(Cadena),""GL"[>>]PM %s[%d]: %s",Nome(params[0]), params[0], params[1]);
  1452.     SendClientMessage(playerid, -1, Cadena);
  1453.     format(Cadena, sizeof(Cadena),""GL"[<<]PM %s[%d]: %s",Nome( playerid ), playerid, params[1]);
  1454.     SendClientMessage(params[0], -1, Cadena);
  1455.     Sonido(params[0], 1058);
  1456.     Sonido(playerid, 1058);
  1457.     return 1;
  1458. }
  1459.  
  1460. public OnPlayerExitVehicle(playerid, vehicleid)
  1461. {
  1462.     return 1;
  1463. }
  1464.  
  1465. public OnPlayerStateChange(playerid, newstate, oldstate)
  1466. {
  1467.     new OldCar = GetPlayerVehicleID( playerid );
  1468.  
  1469.     if(newstate == PLAYER_STATE_DRIVER)
  1470.     {
  1471.     Veloz[playerid] = CreatePlayer3DTextLabel(playerid, "Test", -1, 0.0, -1.2, 0.0, 40.0, INVALID_PLAYER_ID, GetPlayerVehicleID(playerid) , 1);
  1472.     }
  1473.     else if(newstate == PLAYER_STATE_ONFOOT)
  1474.     {
  1475.     DeletePlayer3DTextLabel( playerid,Veloz[playerid]);
  1476.     }
  1477.  
  1478.     if( Equipo[playerid] != TEAM_GROOVE && OldCar >= 1 && OldCar <= 22 )
  1479.         return RemovePlayerFromVehicle( playerid );
  1480.  
  1481.     if( Equipo[playerid] != TEAM_BALLAS && OldCar >= 43 && OldCar <= 63 )
  1482.         return RemovePlayerFromVehicle( playerid );
  1483.  
  1484.     if( Equipo[playerid] != TEAM_VAGOS && OldCar >= 64 && OldCar <= 85 )
  1485.         return RemovePlayerFromVehicle( playerid );
  1486.  
  1487.     if( Equipo[playerid] != TEAM_AZTECAZ && OldCar >= 23 && OldCar <= 44 )
  1488.         return RemovePlayerFromVehicle( playerid );
  1489.     return 1;
  1490. }
  1491.  
  1492. public OnPlayerEnterCheckpoint(playerid)
  1493. {
  1494.     return 1;
  1495. }
  1496.  
  1497. public OnPlayerLeaveCheckpoint(playerid)
  1498. {
  1499.     return 1;
  1500. }
  1501.  
  1502. public OnPlayerEnterRaceCheckpoint(playerid)
  1503. {
  1504.     return 1;
  1505. }
  1506.  
  1507. public OnPlayerLeaveRaceCheckpoint(playerid)
  1508. {
  1509.     return 1;
  1510. }
  1511.  
  1512. public OnRconCommand(cmd[])
  1513. {
  1514.     return 1;
  1515. }
  1516.  
  1517. public OnObjectMoved(objectid)
  1518. {
  1519.     return 1;
  1520. }
  1521.  
  1522. public OnPlayerObjectMoved(playerid, objectid)
  1523. {
  1524.     return 1;
  1525. }
  1526.  
  1527. public OnPlayerPickUpPickup(playerid, pickupid)
  1528. {
  1529.  
  1530.     if( pickupid == Pickup_a)
  1531.     {
  1532.     ShowPlayerDialog( playerid , 3 , DIALOG_STYLE_LIST , "{ff0000}brasão{000000}, {00ff00}Armadura {ffff00}e mais" , "{00ff00}brasão Packs 1 ( score: 0 )\n{0000ff}brasão Packs 2 + Armadura ( score: 50 )\n{ff0000}brasão Packs 3 + Armadura ( score: 500 )", "Aceitar", "");
  1533.     }
  1534.     if( pickupid == Pickup_b)
  1535.     {
  1536.     ShowPlayerDialog( playerid , 3 , DIALOG_STYLE_LIST , "{ff0000}brasão{000000}, {00ff00}Armadura {ffff00}e mais" , "{00ff00}brasão Packs 1 ( score: 0 )\n{0000ff}brasão Packs 2 + Armadura ( score: 50 )\n{ff0000}brasão Packs 3 + Armadura ( score: 500 )", "Aceitar", "");
  1537.     }
  1538.     if( pickupid == Pickup_c)
  1539.     {
  1540.     ShowPlayerDialog( playerid , 3 , DIALOG_STYLE_LIST , "{ff0000}brasão{000000}, {00ff00}Armadura {ffff00}e mais" , "{00ff00}brasão Packs 1 ( score: 0 )\n{0000ff}brasão Packs 2 + Armadura ( score: 50 )\n{ff0000}brasão Packs 3 + Armadura ( score: 500 )", "Aceitar", "");
  1541.     }
  1542.     if( pickupid == Pickup_d)
  1543.     {
  1544.     ShowPlayerDialog( playerid , 3 , DIALOG_STYLE_LIST , "{ff0000}brasão{000000}, {00ff00}Armadura {ffff00}e mais" , "{00ff00}brasão Packs 1 ( score: 0 )\n{0000ff}brasão Packs 2 + Armadura ( score: 50 )\n{ff0000}brasão Packs 3 + Armadura ( score: 500 )", "Aceitar", "");
  1545.     }
  1546.  
  1547.     OnWeaponDropPickup(playerid, pickupid);
  1548.  
  1549.     return 1;
  1550. }
  1551.  
  1552. public OnVehicleMod(playerid, vehicleid, componentid)
  1553. {
  1554.     return 1;
  1555. }
  1556.  
  1557. public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
  1558. {
  1559.     return 1;
  1560. }
  1561.  
  1562. public OnVehicleRespray(playerid, vehicleid, color1, color2)
  1563. {
  1564.     return 1;
  1565. }
  1566.  
  1567. public OnPlayerSelectedMenuRow(playerid, row)
  1568. {
  1569.     return 1;
  1570. }
  1571.  
  1572. public OnPlayerExitedMenu(playerid)
  1573. {
  1574.     return 1;
  1575. }
  1576.  
  1577. public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
  1578. {
  1579.     return 1;
  1580. }
  1581.  
  1582. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  1583. {
  1584.         if( Tecla (  KEY_SECONDARY_ATTACK ) )
  1585.         {
  1586.         if(IsPlayerInRangeOfPoint( playerid , 1.5 , 2628.5081 , -1067.8882 , 69.6127 ))
  1587.         {
  1588.         SetPlayerPosEx( playerid , 2352.1458 , -1180.8553 , 1027.9766 , 269.5085 );
  1589.         SetPlayerInterior( playerid , 5 );
  1590.         GameTextForPlayer( playerid , "~y~Vagos HQ" , 1200 , 1 );
  1591.         }
  1592.         if(IsPlayerInRangeOfPoint( playerid , 1.5 , 2232.5061 , -1333.3407 , 23.9816 ))
  1593.         {
  1594.         SetPlayerPosEx( playerid , 286.0979 , -40.8708 , 1001.5156 , 181.7953 );
  1595.         SetPlayerInterior( playerid , 1 );
  1596.         GameTextForPlayer( playerid , "~p~Ballas HQ" , 1200 , 1 );
  1597.         }
  1598.         if(IsPlayerInRangeOfPoint( playerid , 1.5 , 2495.3494 , -1690.7244 , 14.7656 ))
  1599.         {
  1600.         SetPlayerPosEx( playerid , 2495.9336 , -1692.9189 , 1014.7422 , 359.6031 );
  1601.         SetPlayerInterior( playerid , 3 );
  1602.         GameTextForPlayer( playerid , "~g~Groove HQ" , 1200 , 1 );
  1603.         }
  1604.         if(IsPlayerInRangeOfPoint( playerid , 1.5 , 1753.3136 , -1893.2559 , 13.5572 ))
  1605.         {
  1606.         SetPlayerPosEx( playerid , 286.4053,-86.0965,1001.5229,181.4169 );
  1607.         SetPlayerInterior( playerid , 4 );
  1608.         GameTextForPlayer( playerid , "~b~~h~~h~Aztecas HQ" , 1200 , 1 );
  1609.         }
  1610.         }
  1611.        
  1612.         for( new i; i < sizeof TeleportInfo; i++ )
  1613.         {
  1614.        
  1615.         if( Tecla (  KEY_SECONDARY_ATTACK ) )
  1616.         {
  1617.         if( IsPlayerInRangeOfPoint( playerid, 1.0, TeleportInfo[ i ][ EntraceX ], TeleportInfo[ i ][ EntraceY ], TeleportInfo[ i ][ EntraceZ ]))
  1618.         {
  1619.         SetPlayerPos( playerid, TeleportInfo[ i ][ ExitX ], TeleportInfo[ i ][ ExitY ], TeleportInfo[ i ][ ExitZ ]);
  1620.         SetPlayerVirtualWorld( playerid, TeleportInfo[ i ][ World ]);
  1621.         SetPlayerInterior( playerid, TeleportInfo[ i ][ Interior ]);
  1622.         TeleporId[ playerid ] = i;
  1623.         }
  1624.        
  1625.         if( IsPlayerInRangeOfPoint( playerid, 1.0, TeleportInfo[ i ][ ExitX ], TeleportInfo[ i ][ ExitY ], TeleportInfo[ i ][ ExitZ ]))
  1626.         {
  1627.         if( TeleporId[ playerid ] == i )
  1628.         {
  1629.         SetPlayerPos( playerid, TeleportInfo[ i ][ EntraceX ], TeleportInfo[ i ][ EntraceY ], TeleportInfo[ i ][ EntraceZ ]);
  1630.         SetPlayerVirtualWorld( playerid, 0);
  1631.         SetPlayerInterior( playerid, 0);
  1632.         }
  1633.         }
  1634.         }
  1635.         }
  1636.        
  1637.         if( Tecla (  KEY_SECONDARY_ATTACK ) )
  1638.         {
  1639.         if(IsPlayerInRangeOfPoint( playerid , 1.5 , 2352.1458 , -1180.8553 , 1027.9766 ))
  1640.         {
  1641.         SetPlayerPosEx( playerid , 2628.5081 , -1067.8882 , 69.6127 , 0.0 );
  1642.         SetPlayerInterior( playerid , 0 );
  1643.         GameTextForPlayer( playerid , "~y~Vagos HQ" , 1200 , 1 );
  1644.         }
  1645.         if(IsPlayerInRangeOfPoint( playerid , 1.5 , 286.0979 , -40.8708 , 1001.5156 ))
  1646.         {
  1647.         SetPlayerPosEx( playerid , 2232.5061 , -1333.3407 , 23.9816 , 0.0 );
  1648.         SetPlayerInterior( playerid , 0 );
  1649.         GameTextForPlayer( playerid , "~p~Ballas HQ" , 1200 , 1 );
  1650.         }
  1651.         if(IsPlayerInRangeOfPoint( playerid , 1.5 , 2495.9336 , -1692.9189 , 1014.7422 ))
  1652.         {
  1653.         SetPlayerPosEx( playerid , 2495.3494 , -1690.7244 , 14.7656 , 0.0 );
  1654.         SetPlayerInterior( playerid , 0 );
  1655.         GameTextForPlayer( playerid , "~g~Groove HQ" , 1200 , 1 );
  1656.         }
  1657.         if(IsPlayerInRangeOfPoint( playerid , 1.5 , 286.4053 , -86.0965 , 1001.5229 ))
  1658.         {
  1659.         SetPlayerPosEx( playerid , 1753.3136 , -1893.2559 , 13.5572 , 0.0 );
  1660.         SetPlayerInterior( playerid , 0 );
  1661.         GameTextForPlayer( playerid , "~b~~h~~h~Aztecas HQ" , 1200 , 1 );
  1662.         }
  1663.         }
  1664.  
  1665.         if( Tecla( KEY_YES ) )
  1666.         {
  1667.         if(IsPlayerInRangeOfPoint(playerid, 0.7 , 309.0719 , -162.4290 , 999.5938 ))
  1668.         {
  1669.         if( GetPlayerMoney( playerid ) < 2000 )
  1670.         return SendClientMessage(playerid, MainRojo, ""GM" Você não tem dinheiro suficiente para comprar a arma **");
  1671.         GivePlayerMoney(playerid, -2000);
  1672.         GivePlayerWeapon(playerid, 25, AMMO_SELL);
  1673.         }
  1674.         if(IsPlayerInRangeOfPoint(playerid, 0.7 , 312.2012,-162.3321,999.5938 ))
  1675.         {
  1676.         if( GetPlayerMoney( playerid ) < 2200 )
  1677.         return SendClientMessage(playerid, MainRojo, ""GM" Você não tem dinheiro suficiente para comprar a arma **");
  1678.         GivePlayerMoney(playerid, -2200);
  1679.         GivePlayerWeapon(playerid, 31, AMMO_SELL);
  1680.         }
  1681.         if(IsPlayerInRangeOfPoint(playerid, 0.7 , 310.7312,-163.7771,999.5938 ))
  1682.         {
  1683.         if( GetPlayerMoney( playerid ) < 2500 )
  1684.         return SendClientMessage(playerid, MainRojo, ""GM" Você não tem dinheiro suficiente para comprar a arma **");
  1685.         GivePlayerMoney(playerid, -2500);
  1686.         GivePlayerWeapon(playerid, 30, AMMO_SELL);
  1687.         }
  1688.         if(IsPlayerInRangeOfPoint(playerid, 0.7 , 310.6336,-160.9112,999.5938 ))
  1689.         {
  1690.         if( GetPlayerMoney( playerid ) < 5000 )
  1691.         return SendClientMessage(playerid, MainRojo, ""GM" Você não tem dinheiro suficiente para comprar a arma **");
  1692.         GivePlayerMoney(playerid, -5000);
  1693.         GivePlayerWeapon(playerid, 34, AMMO_SELL);
  1694.         }
  1695.  
  1696.  
  1697.         if(IsPlayerInRangeOfPoint(playerid, 0.7 , 316.5230,-162.2719,999.5938 ))
  1698.         {
  1699.         if( GetPlayerMoney( playerid ) < 600 )
  1700.         return SendClientMessage(playerid, MainRojo, ""GM" Você não tem dinheiro suficiente para comprar a arma **");
  1701.         GivePlayerMoney(playerid, -600);
  1702.         GivePlayerWeapon(playerid, 22, AMMO_SELL);
  1703.         }
  1704.         if(IsPlayerInRangeOfPoint(playerid, 0.7 , 315.0421,-163.7780,999.5938 ))
  1705.         {
  1706.         if( GetPlayerMoney( playerid ) < 800 )
  1707.         return SendClientMessage(playerid, MainRojo, ""GM" Você não tem dinheiro suficiente para comprar a arma **");
  1708.         GivePlayerMoney(playerid, -800);
  1709.         GivePlayerWeapon(playerid, 23, AMMO_SELL);
  1710.         }
  1711.         if(IsPlayerInRangeOfPoint(playerid, 0.7 , 313.6808,-162.2760,999.5938 ))
  1712.         {
  1713.         if( GetPlayerMoney( playerid ) < 1200 )
  1714.         return SendClientMessage(playerid, MainRojo, ""GM" Você não tem dinheiro suficiente para comprar a arma **");
  1715.         GivePlayerMoney(playerid, -1200);
  1716.         GivePlayerWeapon(playerid, 24, AMMO_SELL);
  1717.         }
  1718.         if(IsPlayerInRangeOfPoint(playerid, 0.7 , 315.0736,-160.9113,999.5938 ))
  1719.         {
  1720.         if( GetPlayerMoney( playerid ) < 3500 )
  1721.         return SendClientMessage(playerid, MainRojo, ""GM" Você não tem dinheiro suficiente para comprar a arma **");
  1722.         GivePlayerMoney(playerid, -3500);
  1723.         GivePlayerWeapon(playerid, 33, AMMO_SELL);
  1724.         }
  1725.  
  1726.         if(IsPlayerInRangeOfPoint(playerid, 0.7 , 318.2810,-163.4189,999.6010 ))
  1727.         {
  1728.         if( GetPlayerMoney( playerid ) < 1500 )
  1729.         return SendClientMessage(playerid, MainRojo, ""GM" Você não tem dinheiro suficiente para comprar a arma **");
  1730.         GivePlayerMoney(playerid, -1500);
  1731.         GivePlayerWeapon(playerid, 28, AMMO_SELL);
  1732.         }
  1733.         if(IsPlayerInRangeOfPoint(playerid, 0.7 , 318.2810,-162.1685,999.5938 ))
  1734.         {
  1735.         if( GetPlayerMoney( playerid ) < 1600 )
  1736.         return SendClientMessage(playerid, MainRojo, ""GM" Você não tem dinheiro suficiente para comprar a arma **");
  1737.         GivePlayerMoney(playerid, -1600);
  1738.         GivePlayerWeapon(playerid, 29, AMMO_SELL);
  1739.         }
  1740.         if(IsPlayerInRangeOfPoint(playerid, 0.7 , 318.2815,-160.7358,999.5938 ))
  1741.         {
  1742.         if( GetPlayerMoney( playerid ) < 1200 )
  1743.         return SendClientMessage(playerid, MainRojo, ""GM" Você não tem dinheiro suficiente para comprar a arma **");
  1744.         GivePlayerMoney(playerid, -1200);
  1745.         GivePlayerWeapon(playerid, 32, AMMO_SELL);
  1746.         }
  1747.         if(IsPlayerInRangeOfPoint(playerid, 0.7 , 318.2815,-159.7386,999.5938 ))
  1748.         {
  1749.         if( GetPlayerMoney( playerid ) < 200 )
  1750.         return SendClientMessage(playerid, MainRojo, ""GM" Você não tem dinheiro suficiente para comprar Armadura **");
  1751.  
  1752.         new Float:Ammoid;
  1753.         if( GetPlayerArmour( playerid , Ammoid) >= 200 )
  1754.         return SendClientMessage(playerid, MainRojo, ""GM" Você tem bastante armadura não pode comprar mais **");
  1755.  
  1756.         GivePlayerMoney(playerid, -200);
  1757.         SetPlayerArmour(playerid, 100);
  1758.         }
  1759.         }
  1760.         return 1;
  1761. }
  1762.  
  1763. public OnRconLoginAttempt(ip[], password[], success)
  1764. {
  1765.     return 1;
  1766. }
  1767.  
  1768. CallBack: OnPlayerUpdateEx( )
  1769. {
  1770.     for( new playerid, t = GetMaxPlayers(); playerid < t; playerid++ )
  1771.     {
  1772.     new str[200], TXT[24] , Float:Healthv , vehicleid = GetPlayerVehicleID(playerid);
  1773.  
  1774.     new Float:X, Float:Y, Float:Z, Float:Speed;
  1775.     GetVehicleVelocity(vehicleid, X, Y, Z);
  1776.     Speed = floatmul(floatsqroot(floatadd(floatadd(floatpower(X, 2), floatpower(Y, 2)),  floatpower(Z, 2))), 100.0);
  1777.     GetVehicleHealth(vehicleid, Healthv);
  1778.  
  1779.     switch( floatround(Healthv) )
  1780.     {
  1781.     case 0   .. 400:  TXT =  "{FF0000}Crítico";
  1782.     case 401 .. 600:  TXT =  "{FFFF00}Sério";
  1783.     case 601 .. 800:  TXT =  "{0000FF}Normal";
  1784.     case 801 .. 1000: TXT = "{00FF00}Perfeito";
  1785.     }
  1786.     format(str , sizeof str ,""KA"Modelo: [%s]\n"LA"Estado: [%s"LA"]\n"LI"Speed["GL"KMH: %d "LI"/ "PT"MPH: %d"LI"]",CarName[GetVehicleModel( vehicleid ) - 400], TXT, floatround(Speed, floatround_floor), floatround(floatdiv(Speed, 1.609344), floatround_floor));
  1787.     UpdatePlayer3DTextLabelText(playerid, Veloz[playerid], -1, str);
  1788.  
  1789.    
  1790.     }
  1791.     return 1;
  1792. }
  1793.  
  1794. public OnPlayerUpdate( playerid )
  1795. {
  1796.     Informacion( playerid );
  1797.     return 1;
  1798. }
  1799.  
  1800. public OnPlayerStreamIn(playerid, forplayerid)
  1801. {
  1802.     return 1;
  1803. }
  1804.  
  1805. public OnPlayerStreamOut(playerid, forplayerid)
  1806. {
  1807.     return 1;
  1808. }
  1809.  
  1810. public OnVehicleStreamIn(vehicleid, forplayerid)
  1811. {
  1812.     return 1;
  1813. }
  1814.  
  1815. public OnVehicleStreamOut(vehicleid, forplayerid)
  1816. {
  1817.     return 1;
  1818. }
  1819.  
  1820. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  1821. {
  1822.     switch( dialogid )
  1823.     {
  1824.         case DIALOG_REGISTER:
  1825.         {
  1826.             if (!response) return Kick(playerid);
  1827.             if(response)
  1828.             {
  1829.                 if(!strlen(inputtext)) return ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT, ""PT" Registrar",""MR"Você deve digitar uma senha para jogar.\n"PT"Digite uma senha para entrar no servidor.","Aceitar","");
  1830.                 new INI:File = INI_Open(UserPath(playerid));
  1831.                 INI_SetTag(File,"data");
  1832.                 INI_WriteInt(File,"Password",udb_hash(inputtext));
  1833.                 INI_WriteInt(File,"Cash",0);
  1834.                 INI_WriteInt(File,"Admin",0);
  1835.                 INI_WriteInt(File,"Kills",0);
  1836.                 INI_WriteInt(File,"Deaths",0);
  1837.                 INI_Close(File);
  1838.  
  1839.                 SetSpawnInfo(playerid, 0, 0, 1958.33, 1343.12, 15.36, 269.15, 0, 0, 0, 0, 0, 0);
  1840.                 SpawnPlayer(playerid);
  1841.             }
  1842.         }
  1843.  
  1844.         case DIALOG_LOGIN:
  1845.         {
  1846.             if ( !response ) return Kick ( playerid );
  1847.             if( response )
  1848.             {
  1849.                 if(udb_hash(inputtext) == PlayerInfo[playerid][pPass])
  1850.                 {
  1851.                     INI_ParseFile(UserPath(playerid), "LoadUser_%s", .bExtra = true, .extra = playerid);
  1852.                 }
  1853.                 else
  1854.                 {
  1855.                     ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT,""PT"Login..",""MR"A senha está incorreta, por favor escreva o correto.\n"PT"Digite uma senha para entrar no servidor.","Aceitar","");
  1856.                 }
  1857.                 return 1;
  1858.             }
  1859.         }
  1860.     }
  1861.  
  1862.     if( dialogid == 3 )
  1863.     {
  1864.     if ( response ) {
  1865.  
  1866.     if( listitem == 0 ) {
  1867.  
  1868.     if( Equipo[playerid] == TEAM_GROOVE )   {
  1869.     ResetPlayerWeapons( playerid );
  1870.     DropWeapons( playerid , 22 , 25 , 29 , 31 , 150 );
  1871.     }
  1872.  
  1873.     if( Equipo[playerid] == TEAM_BALLAS )   {
  1874.     ResetPlayerWeapons( playerid );
  1875.     DropWeapons( playerid , 24 , 25 , 32 , 30 , 150 );
  1876.     }
  1877.  
  1878.     if( Equipo[playerid] == TEAM_VAGOS )    {
  1879.     ResetPlayerWeapons( playerid );
  1880.     DropWeapons( playerid , 24 , 27 , 29 , 31 , 150 );
  1881.     }
  1882.  
  1883.     if( Equipo[playerid] == TEAM_AZTECAZ )  {
  1884.     ResetPlayerWeapons( playerid );
  1885.     DropWeapons( playerid , 23 , 37 , 29 , 34 , 150 );
  1886.     }
  1887.  
  1888.     }
  1889.     if( listitem == 1 )
  1890.     {
  1891.     if( PlayerInfo[playerid][pScore] >= 50 )
  1892.     {
  1893.     if( Equipo[playerid] == TEAM_GROOVE )   {
  1894.     ResetPlayerWeapons( playerid );
  1895.     DropWeapons( playerid , 22 , 25 , 29 , 31 , 300 );
  1896.     SetPlayerArmour( playerid , 20 );
  1897.     }
  1898.  
  1899.     if( Equipo[playerid] == TEAM_BALLAS )   {
  1900.     ResetPlayerWeapons( playerid );
  1901.     DropWeapons( playerid , 24 , 25 , 32 , 30 , 300 );
  1902.     SetPlayerArmour( playerid , 20 );
  1903.     }
  1904.  
  1905.     if( Equipo[playerid] == TEAM_VAGOS )    {
  1906.     ResetPlayerWeapons( playerid );
  1907.     DropWeapons( playerid , 24 , 27 , 29 , 31 , 300 );
  1908.     SetPlayerArmour( playerid , 20 );
  1909.     }
  1910.  
  1911.     if( Equipo[playerid] == TEAM_AZTECAZ )  {
  1912.     ResetPlayerWeapons( playerid );
  1913.     DropWeapons( playerid , 23 , 37 , 29 , 34 , 300 );
  1914.     SetPlayerArmour( playerid , 20 );
  1915.     }
  1916.     }
  1917.     }
  1918.     if( listitem == 2 )
  1919.     {
  1920.     if( PlayerInfo[playerid][pScore] >= 500 )
  1921.     {
  1922.     if( Equipo[playerid] == TEAM_GROOVE )   {
  1923.     ResetPlayerWeapons( playerid );
  1924.     DropWeapons( playerid , 22 , 25 , 29 , 31 , 500 );
  1925.     SetPlayerArmour( playerid , 100 );
  1926.     }
  1927.  
  1928.     if( Equipo[playerid] == TEAM_BALLAS )   {
  1929.     ResetPlayerWeapons( playerid );
  1930.     DropWeapons( playerid , 24 , 25 , 32 , 30 , 500 );
  1931.     SetPlayerArmour( playerid , 100 );
  1932.     }
  1933.  
  1934.     if( Equipo[playerid] == TEAM_VAGOS )    {
  1935.     ResetPlayerWeapons( playerid );
  1936.     DropWeapons( playerid , 24 , 27 , 29 , 31 , 500 );
  1937.     SetPlayerArmour( playerid , 100 );
  1938.     }
  1939.  
  1940.     if( Equipo[playerid] == TEAM_AZTECAZ )  {
  1941.     ResetPlayerWeapons( playerid );
  1942.     DropWeapons( playerid , 23 , 37 , 29 , 34 , 500 );
  1943.     SetPlayerArmour( playerid , 100 );
  1944.     }
  1945.     }
  1946.     }
  1947.     }
  1948.     }
  1949.  
  1950.  
  1951.     return 1;
  1952. }
  1953.  
  1954. public OnPlayerClickPlayer(playerid, clickedplayerid, source)
  1955. {
  1956.     return 1;
  1957. }
  1958.  
  1959. CallBack: LoadUser_data(playerid,name[],value[])
  1960. {
  1961.     INI_Int("Password",PlayerInfo[playerid][pPass]);
  1962.     INI_Int("Cash",PlayerInfo[playerid][pCash]);
  1963.     INI_Int("Admin",PlayerInfo[playerid][pAdmin]);
  1964.     INI_Int("Score",PlayerInfo[playerid][pScore]);
  1965.     INI_Int("Kills",PlayerInfo[playerid][pKills]);
  1966.     INI_Int("Deaths",PlayerInfo[playerid][pDeaths]);
  1967.     return 1;
  1968. }
  1969.  
  1970. CallBack: Esconder( playerid )
  1971. {
  1972.     Seleccion[playerid] = 1;
  1973.     SpawnPlayer( playerid );
  1974.     SetCameraBehindPlayer( playerid );
  1975.     CancelSelectTextDraw(playerid);
  1976.     PlayerTextDrawHide( playerid , TextDrawInfo[playerid][Textdraw_a] );
  1977.     PlayerTextDrawHide( playerid , TextDrawInfo[playerid][Textdraw_b] );
  1978.     PlayerTextDrawHide( playerid , TextDrawInfo[playerid][Textdraw_c] );
  1979.     PlayerTextDrawHide( playerid , TextDrawInfo[playerid][Textdraw_d] );
  1980.     PlayerTextDrawHide( playerid , TextDrawInfo[playerid][Textdraw_e] );
  1981.     PlayerTextDrawHide( playerid , TextDrawInfo[playerid][Textdraw_f] );
  1982.     PlayerTextDrawHide( playerid , TextDrawInfo[playerid][Textdraw_g] );
  1983.     PlayerTextDrawHide( playerid , TextDrawInfo[playerid][Textdraw_h] );
  1984. }
  1985.  
  1986. CallBack: Mostrar(playerid)
  1987. {
  1988.     if( Equipo[playerid] == TEAM_GROOVE )
  1989.     {
  1990.     PlayerTextDrawSetPreviewModel( playerid , TextDrawInfo[playerid][Textdraw_a], 105);
  1991.     PlayerTextDrawSetPreviewModel( playerid , TextDrawInfo[playerid][Textdraw_b], 106);
  1992.     PlayerTextDrawSetPreviewModel( playerid , TextDrawInfo[playerid][Textdraw_c], 107);
  1993.     }
  1994.  
  1995.     if( Equipo[playerid] == TEAM_BALLAS )
  1996.     {
  1997.     PlayerTextDrawSetPreviewModel( playerid , TextDrawInfo[playerid][Textdraw_a], 102);
  1998.     PlayerTextDrawSetPreviewModel( playerid , TextDrawInfo[playerid][Textdraw_b], 103);
  1999.     PlayerTextDrawSetPreviewModel( playerid , TextDrawInfo[playerid][Textdraw_c], 104);
  2000.     }
  2001.  
  2002.     if( Equipo[playerid] == TEAM_VAGOS )
  2003.     {
  2004.     PlayerTextDrawSetPreviewModel( playerid , TextDrawInfo[playerid][Textdraw_a], 108);
  2005.     PlayerTextDrawSetPreviewModel( playerid , TextDrawInfo[playerid][Textdraw_b], 109);
  2006.     PlayerTextDrawSetPreviewModel( playerid , TextDrawInfo[playerid][Textdraw_c], 110);
  2007.     }
  2008.  
  2009.     if( Equipo[playerid] == TEAM_AZTECAZ )
  2010.     {
  2011.     PlayerTextDrawSetPreviewModel( playerid , TextDrawInfo[playerid][Textdraw_a], 114);
  2012.     PlayerTextDrawSetPreviewModel( playerid , TextDrawInfo[playerid][Textdraw_b], 115);
  2013.     PlayerTextDrawSetPreviewModel( playerid , TextDrawInfo[playerid][Textdraw_c], 116);
  2014.     }
  2015.  
  2016.     SelectTextDraw( playerid , 0xFFFFFFAA );
  2017.  
  2018.     PlayerTextDrawSetSelectable( playerid , TextDrawInfo[playerid][Textdraw_a] , 1);
  2019.     PlayerTextDrawSetSelectable( playerid , TextDrawInfo[playerid][Textdraw_b] , 1);
  2020.     PlayerTextDrawSetSelectable( playerid , TextDrawInfo[playerid][Textdraw_c] , 1);
  2021.  
  2022.     PlayerTextDrawShow( playerid , TextDrawInfo[playerid][Textdraw_a] );
  2023.     PlayerTextDrawShow( playerid , TextDrawInfo[playerid][Textdraw_b] );
  2024.     PlayerTextDrawShow( playerid , TextDrawInfo[playerid][Textdraw_c] );
  2025.  
  2026.     return 1;
  2027. }
  2028.  
  2029. CallBack: DropMoney( playerid , Cantidad )
  2030. {
  2031.     PlayerInfo[playerid][pCash] += Cantidad;
  2032.     ResetPlayerMoney( playerid );
  2033.     GivePlayerMoney( playerid , PlayerInfo[playerid][pCash] );
  2034.     return 1;
  2035. }
  2036.  
  2037. CallBack: DropScore( playerid , Cantidad )
  2038. {
  2039.     PlayerInfo[playerid][pScore] += Cantidad;
  2040.     SetPlayerScore( playerid , PlayerInfo[playerid][pScore] );
  2041.     return 1;
  2042. }
  2043.  
  2044. CallBack: DropWeapons( playerid , weaponida, weaponidb, weaponidc, weaponidd, ammo )
  2045. {
  2046.     GivePlayerWeapon( playerid , weaponida, ammo );
  2047.     GivePlayerWeapon( playerid , weaponidb, ammo );
  2048.     GivePlayerWeapon( playerid , weaponidc, ammo );
  2049.     GivePlayerWeapon( playerid , weaponidd, ammo );
  2050.     return 1;
  2051. }
  2052.  
  2053.  
  2054. CallBack: Informacion( playerid )
  2055. {
  2056.     new strons[128];
  2057.     new zone[MAX_ZONE_NAME];
  2058.     GetPlayer3DZone(playerid , zone, MAX_ZONE_NAME);
  2059.  
  2060.     format( strons , sizeof strons ,
  2061.     "~r~Kills~w~: %d~n~~n~~g~Score~w~: %d~n~~n~~y~Nome~w~: %s~n~~n~~p~Ubicacion~w~: ~n~%s",
  2062.     PlayerInfo[playerid][pKills],
  2063.     PlayerInfo[playerid][pScore],
  2064.     Nome( playerid),
  2065.     zone
  2066.     );
  2067.     PlayerTextDrawSetString( playerid , TextDrawInfo[playerid][Textdraw_k] , strons );
  2068.     return 1;
  2069. }
  2070.  
  2071. CallBack: ZoneUpdate()
  2072. {
  2073.     for(new z=0; z < MAX_ZONES; z++)
  2074.     {
  2075.         if(ZoneTakeOverTeam[z] == -1)
  2076.         {
  2077.             for(new t=0; t < MAX_TEAMS; t++)
  2078.             {
  2079.                 if(t == ZoneInfo[z][z_team]) continue;
  2080.                 if(GetMembersInZone(z, t) >= 3)
  2081.                 {
  2082.                     ZoneTakeOverTeam[z] = t;
  2083.                     GangZoneFlashForAll(ZoneInfo[z][z_id], GetTeamColor(t));
  2084.                     ZoneTakeOverTime[z] = 0;
  2085.                 }
  2086.             }
  2087.         }
  2088.         else
  2089.         {
  2090.             if(GetMembersInZone(z, ZoneTakeOverTeam[z]) > 0)
  2091.             {
  2092.                 ZoneTakeOverTime[z]++;
  2093.                 if(ZoneTakeOverTime[z] >= 20)//20
  2094.                 {
  2095.                     GangZoneStopFlashForAll(ZoneInfo[z][z_id]);
  2096.                     GangZoneShowForAll(ZoneInfo[z][z_id], GetTeamColor(ZoneTakeOverTeam[z]));
  2097.                     ZoneInfo[z][z_team] = ZoneTakeOverTeam[z];
  2098.                     for(new i=0; i<MAX_PLAYERS; i++)
  2099.                     {
  2100.                         if(IsPlayerConnected(i))
  2101.                         {
  2102.                             if(GetPlayerZone(i) == z && Equipo[i] == ZoneTakeOverTeam[z])
  2103.                             {
  2104.                                 PlayerWinZone( i );
  2105.                             }
  2106.                         }
  2107.                     }
  2108.                     ZoneTakeOverTeam[z] = -1;
  2109.                     ZoneTakeOverTime[z] = 0;
  2110.                 }
  2111.             }
  2112.             else
  2113.             {
  2114.                 ZoneTakeOverTeam[z] = -1;
  2115.                 GangZoneStopFlashForAll(ZoneInfo[z][z_id]);
  2116.                 ZoneTakeOverTime[z] = 0;
  2117.             }
  2118.         }
  2119.     }
  2120. }
  2121.  
  2122. CallBack: PlayerWinZone( playerid )
  2123. {
  2124.     GameTextForPlayer( playerid , "_~n~_~n~_~n~_~g~~h~~h~Tem conquistado esta zona~n~~y~~h~ +3 Score~n~~p~~h~ $2300", 2000 , 6 );
  2125.     DropMoney( playerid , 2300 );
  2126.     DropScore( playerid , 3 );
  2127.  
  2128.     new str[128], txt[24] ,zone[MAX_ZONE_NAME];
  2129.     switch ( Equipo[playerid] )
  2130.     {
  2131.     case 1: txt = "~g~Groove";
  2132.     case 2: txt = "~p~Ballas";
  2133.     case 3: txt = "~y~Vagos";
  2134.     case 4: txt = "~b~~h~~h~Aztecas";
  2135.     }
  2136.     GetPlayer3DZone(playerid , zone, MAX_ZONE_NAME);
  2137.     format( str , sizeof str , "~w~Team %s ~w~dominaram uma zona para perto de ~y~%s",txt , zone);
  2138.     Anuncios( str );
  2139.     return 1;
  2140. }
  2141.  
  2142. CallBack: Anuncios( text[] ) {
  2143.     if (!InformationText[0]) {
  2144.         InformationText[0] = true;
  2145.         TextDrawSetString(TextdrawGlobal[1], text);
  2146.         TextDrawShowForAll(TextdrawGlobal[1]);
  2147.         SetTimerEx("LiberarEspacio", 8000, false, "d", 0);
  2148.     }
  2149.     else if (!InformationText[1]) {
  2150.         InformationText[1] = true;
  2151.         TextDrawSetString(TextdrawGlobal[2], text);
  2152.         TextDrawShowForAll(TextdrawGlobal[2]);
  2153.         SetTimerEx("LiberarEspacio", 8000, false, "d", 1);
  2154.     }
  2155.     else if (!InformationText[2]) {
  2156.         InformationText[2] = true;
  2157.         TextDrawSetString(TextdrawGlobal[3], text);
  2158.         TextDrawShowForAll(TextdrawGlobal[3]);
  2159.         SetTimerEx("LiberarEspacio", 8000, false, "d", 2);
  2160.     }
  2161.     else if (!InformationText[3]) {
  2162.         InformationText[3] = true;
  2163.         TextDrawSetString(TextdrawGlobal[0], text);
  2164.         TextDrawShowForAll(TextdrawGlobal[0]);
  2165.         SetTimerEx("LiberarEspacio", 8000, false, "d", 3);
  2166.     }
  2167.     return 1;
  2168. }
  2169.  
  2170. CallBack: LiberarEspacio(slot) {
  2171.     InformationText[slot] = false;
  2172.     switch(slot) {
  2173.         case 0: TextDrawHideForAll(TextdrawGlobal[1]);
  2174.         case 1: TextDrawHideForAll(TextdrawGlobal[2]);
  2175.         case 2: TextDrawHideForAll(TextdrawGlobal[3]);
  2176.         case 3: TextDrawHideForAll(TextdrawGlobal[0]);
  2177.     }
  2178.     return 1;
  2179. }
  2180. ////////////////////////////////////////////////////////////////////////////////
  2181. /*                                 stock´s                                    */
  2182.  
  2183. stock PlayerSkin( playerid , skinid )
  2184. {
  2185.     PlayerInfo[playerid][pSkin] = skinid;
  2186.     SetPlayerSkin( playerid , skinid);
  2187.     return 1;
  2188. }
  2189.  
  2190. stock Sonido( playerid, sonido)
  2191. {
  2192.     PlayerPlaySound(playerid, sonido, 0.0, 0.0, 0.0);
  2193.     return sonido;
  2194. }
  2195.  
  2196. stock Nome( targerid )
  2197. {
  2198.     new Name[24];
  2199.     GetPlayerName( targerid , Name , 24 );
  2200.     return Name;
  2201. }
  2202.  
  2203. stock UserPath(playerid)
  2204. {
  2205.     new string[128];
  2206.     format( string , sizeof string , Archivo , Nome(playerid));
  2207.     return string;
  2208. }
  2209.  
  2210. stock GetPlayer3DZone(playerid, zone[], len) //Credits to Cueball, Betamaster, Mabako, and Simon (for finetuning).
  2211. {
  2212.     new Float:x, Float:y, Float:z;
  2213.     GetPlayerPos(playerid, x, y, z);
  2214.     for(new i = 0; i != sizeof(gSAZones); i++ )
  2215.     {
  2216.         if(x >= gSAZones[i][SAZONE_AREA][0] && x <= gSAZones[i][SAZONE_AREA][3] && y >= gSAZones[i][SAZONE_AREA][1] && y <= gSAZones[i][SAZONE_AREA][4] && z >= gSAZones[i][SAZONE_AREA][2] && z <= gSAZones[i][SAZONE_AREA][5])
  2217.         {
  2218.             return format(zone, len, gSAZones[i][SAZONE_NAME], 0);
  2219.         }
  2220.     }
  2221.     return 0;
  2222. }
  2223.  
  2224. stock OnWeaponDropInit()
  2225. {
  2226.     for(new i=0; i<MAX_PLAYERS; i++)
  2227.     {
  2228.         for(new a=0; a<14; a++)
  2229.         {
  2230.             WeaponDrop[i][a] = -1;
  2231.             WeaponData[i][a][0] = -1;
  2232.             WeaponData[i][a][1] = -1;
  2233.         }
  2234.         WeaponTimer[i] = -1;
  2235.     }
  2236.     return 1;
  2237. }
  2238.  
  2239. stock OnWeaponDropPickup(playerid, pickupid)
  2240. {
  2241.     for(new i=0; i<MAX_PLAYERS; i++)
  2242.     {
  2243.         for(new a=0; a<13; a++)
  2244.         {
  2245.             if(WeaponDrop[i][a] == pickupid)
  2246.             {
  2247.                 WeaponDrop[i][a] = -1;
  2248.                 DestroyPickup(pickupid);
  2249.                 GivePlayerWeapon(playerid, WeaponData[i][a][0], WeaponData[i][a][1]);
  2250.                 WeaponData[i][a][0] = -1;
  2251.                 WeaponData[i][a][1] = -1;
  2252.             }
  2253.         }
  2254.         if(WeaponDrop[i][13] == pickupid)
  2255.         {
  2256.             WeaponDrop[i][13] = -1;
  2257.             DestroyPickup(pickupid);
  2258.             GivePlayerMoney(playerid, WeaponData[i][13][0]);
  2259.             WeaponData[i][13][0] = -1;
  2260.             WeaponData[i][13][1] = -1;
  2261.         }
  2262.     }
  2263.     return 1;
  2264. }
  2265.  
  2266. stock OnWeaponDrop(playerid)
  2267. {
  2268.     RemovePickups(playerid);
  2269.     new Float:x, Float:y, Float:z, dropped;
  2270.     GetPlayerPos(playerid,x,y,z);
  2271.     for(new i=0; i<13; i++)
  2272.     {
  2273.         new weapon, ammo;
  2274.         GetPlayerWeaponData(playerid, i, weapon, ammo);
  2275.         if((ammo > 0 || weapon == 1) && weapon != 0)
  2276.         {
  2277.             new model = GetModel(weapon);
  2278.             if(model != -1)
  2279.             {
  2280.                 WeaponData[playerid][i][0] = weapon;
  2281.                 WeaponData[playerid][i][1] = ammo;
  2282.                 dropped++;
  2283.             }
  2284.         }
  2285.     }
  2286.     if(BagMoney != 0)
  2287.     {
  2288.         if(BagMoney == -1 && GetPlayerMoney(playerid) > 0)
  2289.         {
  2290.             WeaponData[playerid][13][0] = GetPlayerMoney(playerid);
  2291.             if(BagMode) GivePlayerMoney(playerid, -WeaponData[playerid][13][0]);
  2292.             WeaponDrop[playerid][13] = CreatePickup(1550, 1, x, y, z);
  2293.             if(dropped <= 0) dropped=1;
  2294.         }
  2295.         if(BagMoney > 0)
  2296.         {
  2297.             WeaponData[playerid][13][0] = BagMoney;
  2298.             if(BagMode) GivePlayerMoney(playerid, -WeaponData[playerid][13][0]);
  2299.             WeaponDrop[playerid][13] = CreatePickup(1550, 1, x, y, z);
  2300.             if(dropped <= 0) dropped=1;
  2301.         }
  2302.     }
  2303.     if(dropped > 0)
  2304.     {
  2305.         new radius;
  2306.         if(dropped < 3) radius = 1;
  2307.         if(dropped < 6) radius = 2;             /*If you want another radius, change it here.*/
  2308.         if(dropped < 9) radius = 3;
  2309.         if(dropped > 8) radius = 4;
  2310.         new Float:degree, Float:tmp;
  2311.         degree = 360.0 / (float(dropped));
  2312.         tmp = degree;
  2313.         if(WeaponTimer[playerid] != -1) KillTimer(WeaponTimer[playerid]);
  2314.         WeaponTimer[playerid] = SetTimerEx("RemovePickups", WEAPON_RESPAWN_TIME*1000, 0, "d", playerid);
  2315.         for(new i=0; i<13; i++)
  2316.         {
  2317.             if((WeaponData[playerid][i][1] > 0 || WeaponData[playerid][i][0] == 1) && WeaponData[playerid][i][0] > 0)
  2318.             {
  2319.                 new model = GetModel(WeaponData[playerid][i][0]);
  2320.                 if(model != -1)
  2321.                 {
  2322.                     WeaponDrop[playerid][i] = CreatePickup(model, 1, x+(floatsin(degree, degrees)*radius), y+(floatcos(degree, degrees)*radius), z);
  2323.                     degree = degree + tmp;
  2324.                 }
  2325.             }
  2326.         }
  2327.     }
  2328.     return 1;
  2329. }
  2330.  
  2331. stock GetModel(weaponid)
  2332. {
  2333.     for(new i=0; i<sizeof(ForbiddenWeapons); i++)
  2334.     {
  2335.         if(weaponid == ForbiddenWeapons[i])
  2336.         {
  2337.             return -1;
  2338.         }
  2339.     }
  2340.     switch(weaponid)
  2341.     {
  2342.         case 1: return 331;
  2343.         case 2: return 333;
  2344.         case 3: return 334;
  2345.         case 4: return 335;
  2346.         case 5: return 336;
  2347.         case 6: return 337;
  2348.         case 7: return 338;
  2349.         case 8: return 339;
  2350.         case 9: return 341;
  2351.         case 10: return 321;
  2352.         case 11: return 322;
  2353.         case 12: return 323;
  2354.         case 13: return 324;
  2355.         case 14: return 325;
  2356.         case 15: return 326;
  2357.         case 16: return 342;
  2358.         case 17: return 343;
  2359.         case 18: return 344;
  2360.         case 22: return 346;
  2361.         case 23: return 347;
  2362.         case 24: return 348;
  2363.         case 25: return 349;
  2364.         case 26: return 350;
  2365.         case 27: return 351;
  2366.         case 28: return 352;
  2367.         case 29: return 353;
  2368.         case 30: return 355;
  2369.         case 31: return 356;
  2370.         case 32: return 372;
  2371.         case 33: return 357;
  2372.         case 34: return 358;
  2373.         case 35: return 359;
  2374.         case 36: return 360;
  2375.         case 37: return 361;
  2376.         case 38: return 362;
  2377.         case 39: return 363;
  2378.         case 40: return 364;
  2379.         case 41: return 365;
  2380.         case 42: return 366;
  2381.         case 43: return 367;
  2382.         case 44: return 368;
  2383.         case 45: return 369;
  2384.         case 46: return 371;
  2385.         default: return -1;
  2386.     }
  2387.     return -1;
  2388. }
  2389.  
  2390. CallBack: RemovePickups(playerid)
  2391. {
  2392.     if(WeaponTimer[playerid] != -1) KillTimer(WeaponTimer[playerid]);
  2393.     WeaponTimer[playerid] = -1;
  2394.     for(new a=0; a<14; a++)
  2395.     {
  2396.         if(WeaponDrop[playerid][a] != -1)
  2397.         {
  2398.             DestroyPickup(WeaponDrop[playerid][a]);
  2399.             WeaponDrop[playerid][a] = -1;
  2400.             WeaponData[playerid][a][0] = -1;
  2401.             WeaponData[playerid][a][1] = -1;
  2402.         }
  2403.     }
  2404.     return 1;
  2405. }
  2406.  
  2407. /*Credits to Dracoblue*/
  2408. stock udb_hash(buf[]) {
  2409.     new length=strlen(buf);
  2410.     new s1 = 1;
  2411.     new s2 = 0;
  2412.     new n;
  2413.     for (n=0; n<length; n++)
  2414.     {
  2415.        s1 = (s1 + buf[n]) % 65521;
  2416.        s2 = (s2 + s1)     % 65521;
  2417.     }
  2418.     return (s2 << 16) + s1;
  2419. }
  2420.  
  2421. stock SetPlayerPosEx(playerid, Float:x, Float:y, Float:z, Float:a)
  2422. {
  2423.     SetPlayerPos(playerid, x, y, z);
  2424.     SetPlayerFacingAngle(playerid, a);
  2425.     return 1;
  2426. }
  2427.  
  2428. stock GetPlayerZone(playerid)
  2429. {
  2430.     if(GetPlayerState(playerid) != PLAYER_STATE_WASTED)
  2431.     {
  2432.         new Float:px, Float:py, Float:pz;
  2433.         GetPlayerPos(playerid, px, py, pz);
  2434.         for(new i=0; i<MAX_ZONES; i++)
  2435.         {
  2436.             if(px > ZoneInfo[i][z_minx] && py > ZoneInfo[i][z_miny] && px < ZoneInfo[i][z_maxx] && py < ZoneInfo[i][z_maxy]) return i;
  2437.         }
  2438.     }
  2439.     return -1;
  2440. }
  2441.  
  2442. GetMembersInZone(zoneid, team)
  2443. {
  2444.     new count = 0;
  2445.     new Float:px, Float:py, Float:pz;
  2446.     for(new i=0; i<MAX_PLAYERS; i++)
  2447.     {
  2448.         if(IsPlayerConnected(i))
  2449.         {
  2450.             if(GetPlayerState(i) != PLAYER_STATE_WASTED && Equipo[i] == team)
  2451.             {
  2452.                 GetPlayerPos(i, px, py, pz);
  2453.                 if(px > ZoneInfo[zoneid][z_minx] && py > ZoneInfo[zoneid][z_miny] && px < ZoneInfo[zoneid][z_maxx] && py < ZoneInfo[zoneid][z_maxy])
  2454.                 {
  2455.                     count++;
  2456.                 }
  2457.             }
  2458.         }
  2459.     }
  2460.     return count;
  2461. }
  2462.  
  2463. GetTeamColor(team)
  2464. {
  2465.     switch(team)
  2466.     {
  2467.         case TEAM_GROOVE : return COLOR_GROOVE;
  2468.         case TEAM_BALLAS : return COLOR_BALLAS;
  2469.         case TEAM_VAGOS  : return COLOR_VAGOS;
  2470.         case TEAM_AZTECAZ: return COLOR_AZTECAZ;
  2471.     }
  2472.     return 0;
  2473. }
  2474.  
  2475. CMD:voy( playerid, params[])
  2476. {
  2477. SetPlayerPos( playerid, TeleportInfo[ 0 ][ EntraceX ], TeleportInfo[ 0 ][ EntraceY ], TeleportInfo[ 0 ][ EntraceZ ]);
  2478. return 1;
  2479. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement