Guest User

[GM] Mega Freeroam v0.1

a guest
Jun 24th, 2015
155
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 313.39 KB | None | 0 0
  1. /*
  2.     Mega Freeroam - Modo: Stunt/DM/Drift/Race
  3.     *        By Nic[K] e Delete_
  4.  
  5.     O gamemode foi descontinuado em 2014.
  6.     Alguns sistemas não foram finalizados.
  7.     E pode haver diversos bugs.
  8.  
  9. */
  10. AntiDeAMX()
  11. {
  12.     new a[][] =
  13.     {
  14.         "Unarmed (Fist)",
  15.         "Brass K"
  16.     };
  17.     #pragma unused a
  18. }
  19.  
  20. new const Novidades[][] =
  21. {
  22.     {"Novidades Mega Freeroam\n\n"},
  23.     {"v0.1 - Release Inicial"}
  24. };
  25.  
  26. //Dados de conexão do MySQL
  27.  
  28. #define mysql_host "localhost"
  29. #define mysql_usuario "root"
  30. #define mysql_senha ""
  31. #define mysql_db "brasilm1_stunt"
  32.  
  33. #include <a_samp>
  34. native gpci(playerid, const serial[ ], maxlen);
  35.  
  36. #include <sscanf2>
  37. #include <streamer>
  38. #include <mSelection>
  39. #include <a_mysql>
  40. #include <zcmd>
  41.  
  42.  
  43. #pragma dynamic 50000
  44.  
  45. #pragma tabsize 0
  46.  
  47. /****************************
  48.     Definções de Dialogs
  49. *****************************/
  50. #define DialogRegistrar   1
  51. #define DialogLogar       2
  52. #define DialogIntroRadio  3
  53. #define DialogTeleportLista 4
  54. #define DialogVeiculoClasse 5
  55. #define DialogComandos      6
  56. #define DialogComandosClasse 7
  57. #define DialogArenasDM       8
  58. #define DialogDescalar       9
  59. #define DialogTeleStunt      10
  60. #define DialogTelePistas    11
  61. #define DialogTeleDrift     12
  62. #define DialogTelePulos    13
  63. #define DialogTeleCorridas  14
  64. #define DialogTeleTubos     15
  65. #define DialogTeleVariado   16
  66. #define DialogTeleNormal    17
  67. #define DialogRadio         18
  68. #define DialogMudarSenha    19
  69. #define DialogNovaSenha     20
  70. #define DialogConfirmarSenha 21
  71. #define DialogPorNeon       22
  72. #define DialogRodas         23
  73. #define DialogVehCor        24
  74.  
  75. #define DialogCorridas      25
  76. #define DialogMenuCorrida 26
  77. #define DialogEditCorridaNome 27
  78. #define DialogEditCorridaPremio 28
  79. #define DialogApagarCorrida     29
  80. #define DialogEditCorridaVeiculo    30
  81. #define DialogEditCorridaMaxPlayers 31
  82. #define DialogEditCorridaTipo       32
  83. #define DialogBansSeriais           33
  84. #define DialogSerialInfo            34
  85.  
  86. #define DialogCriarGang             35
  87. #define DialogGangDescricao         36
  88. #define DialogGangCor               37
  89. #define DialogGangTAG               38
  90. #define DialogGangTerTAG            39
  91. #define DialogGangSubLider          40
  92. #define DialogGangCorP              41
  93. #define DialogGangMenu              42
  94. #define DialogGangConvidarMembro          43
  95. #define DialogGangAdcSubLider       44
  96. #define DialogDeletarGang           45
  97. #define DialogGangEditarDescricao    46
  98. #define DialogGangDeletar           47
  99. #define DialogGangMembros           48
  100. #define DialogGangAreas             49
  101. #define DialogGangAreaOpcoes        50
  102. #define DialogDemitirMembro         51
  103. #define DialogGangs                 52
  104. #define DialogInfoGang              53
  105. #define DialogGangAreaNome          54
  106. #define DialogGangAreaEditNome      55
  107.  
  108. #define DialogSemResposta 25000
  109.  
  110. /*
  111.     Outras Defines e Variaveis
  112. */
  113. #define PRESSED(%0) \
  114.     (((newkeys & (%0)) == (%0)) && ((oldkeys & (%0)) != (%0)))
  115.  
  116. //by NicK
  117.  
  118.  
  119. #define AMMO 100000
  120.  
  121. #define Versao      "v0.1"
  122. #undef MAX_PLAYERS
  123. #define MAX_PLAYERS 1001
  124.  
  125. #define MAX_CHECKPOINTS     100
  126. #define MAX_CORRIDAS        50
  127. #define MAX_GANGZONES       150
  128.  
  129. #define MAX_GANGS   100
  130. #define MAX_GANG_MEMBROS    100
  131. #define MAX_GANG_AREAS      50
  132.  
  133. #define MAX_AREAS   150
  134.  
  135. #define COR_AREA    0x80808080
  136.  
  137. #define ClasseMotos 1
  138. #define ClasseBarco 2
  139. #define ClasseConversivel 3
  140. #define ClasseHelicoptero 4
  141. #define ClasseIndustrial 5
  142. #define ClasseLowRider 6
  143. #define ClasseOffRoad 7
  144. #define ClasseAviao 8
  145. #define ClassePublico 9
  146. #define ClasseSalao 10
  147. #define ClasseSport 11
  148. #define ClasseTrailer 12
  149. #define ClasseUnicos 13
  150. #define ClasseBasicos 14
  151.  
  152. enum iVehClasse
  153. {
  154.     vNome[50],
  155.     vClasse,
  156.     vModeloID
  157. }
  158. static const ClasseVeiculo[][iVehClasse] =
  159. {
  160.     {"Admiral", ClasseSalao, 445},
  161.     {"Alpha", ClasseSport, 602},
  162.     {"Ambulance", ClassePublico, 416},
  163.     {"Andromada", ClasseAviao, 592},
  164.     {"Trailer Báu", ClasseTrailer, 591},
  165.     {"AT400", ClasseAviao, 577},
  166.     {"Baggage", ClasseUnicos, 485},
  167.     {"Baggage Trailer A", ClasseTrailer, 606},
  168.     {"Baggage Trailer B", ClasseTrailer, 607},
  169.     {"Bandito", ClasseOffRoad, 568},
  170.     {"Banshee", ClasseSport, 429},
  171.     {"Barracks", ClassePublico, 433},
  172.     {"Beagle", ClasseAviao, 511},
  173.     {"Benson", ClasseIndustrial, 499},
  174.     {"Berkley's RC Van", ClasseIndustrial, 459},
  175.     {"BF Injection", ClasseOffRoad, 424},
  176.     {"BF-400", ClasseMotos, 581},
  177.     {"Bike", ClasseMotos, 509},
  178.     {"Blade", ClasseLowRider, 536},
  179.     {"Blista Compact", ClasseSport, 496},
  180.     {"Bloodring Banger", ClasseSalao, 504},
  181.     {"BMX", ClasseMotos, 481},
  182.     {"Bobcat", ClasseIndustrial, 422},
  183.     {"Boxville 1", ClasseIndustrial, 498},
  184.     {"Boxville 2", ClasseIndustrial, 609},
  185.     {"Bravura", ClasseSalao, 401},
  186.     {"Broadway", ClasseLowRider, 575},
  187.     {"Buccaneer", ClasseSalao, 518},
  188.     {"Buffalo", ClasseSport, 402},
  189.     {"Bullet", ClasseSport, 541},
  190.     {"Burrito", ClasseIndustrial, 482},
  191.     {"Bus", ClassePublico, 431},
  192.     {"Cabbie", ClassePublico, 438},
  193.     {"Caddy", ClasseUnicos, 457},
  194.     {"Cadrona", ClasseSalao, 527},
  195.     {"Camper", ClasseUnicos, 483},
  196.     {"Trailer Baú", ClasseTrailer, 435},
  197.     {"Cargobob", ClasseHelicoptero, 548},
  198.     {"Cement Truck", ClasseIndustrial, 524},
  199.     {"Cheetah", ClasseSport, 415},
  200.     {"Clover", ClasseSalao, 542},
  201.     {"Club", ClasseSport, 589},
  202.     {"Coach", ClassePublico, 437},
  203.     {"Coastguard", ClasseBarco, 472},
  204.     {"Combine Harvester", ClasseUnicos, 532},
  205.     {"Comet", ClasseConversivel, 480},
  206.     {"Cropduster", ClasseAviao, 512},
  207.     {"DFT-30", ClasseIndustrial, 578},
  208.     {"Dinghy", ClasseBarco, 473},
  209.     {"Dodo", ClasseAviao, 593},
  210.     {"Dozer", ClasseUnicos, 486},
  211.     {"Dumper", ClasseUnicos, 406},
  212.     {"Dune", ClasseOffRoad, 573},
  213.     {"Elegant", ClasseSalao, 507},
  214.     {"Elegy", ClasseSalao, 562},
  215.     {"Emperor", ClasseSalao, 585},
  216.     {"Enforcer", ClassePublico, 427},
  217.     {"Esperanto", ClasseSalao, 419},
  218.     {"Euros", ClasseSport, 587},
  219.     {"Faggio", ClasseMotos, 462},
  220.     {"Farm Trailer", ClasseTrailer, 610},
  221.     {"FBI Rancher", ClassePublico, 490},
  222.     {"FBI Truck", ClassePublico, 528},
  223.     {"FCR-900", ClasseMotos, 521},
  224.     {"Feltzer", ClasseConversivel, 533},
  225.     {"Firetruck", ClassePublico, 407},
  226.     {"Firetruck LA", ClassePublico, 544},
  227.     {"Flash", ClasseSport, 565},
  228.     {"Flatbed", ClasseIndustrial, 455},
  229.     {"Trailer Fluídos", ClasseTrailer, 584},
  230.     {"Forklift", ClasseUnicos, 530},
  231.     {"Fortune", ClasseSalao, 526},
  232.     {"Freeway", ClasseMotos, 463},
  233.     {"Glendale", ClasseSalao, 466},
  234.     {"Glendale Shit", ClasseSalao, 604},
  235.     {"Greenwood", ClasseSalao, 492},
  236.     {"Hermes", ClasseSalao, 474},
  237.     {"Hotdog", ClasseUnicos, 588},
  238.     {"Hotknife", ClasseUnicos, 434},
  239.     {"Hotring Racer 1", ClasseSport, 494},
  240.     {"Hotring Racer 2", ClasseSport, 502},
  241.     {"Hotring Racer 3", ClasseSport, 503},
  242.     {"HPV1000", ClassePublico, 523},
  243. //  {"Hunter", ClasseHelicoptero, 425},
  244.     {"Huntley", ClasseOffRoad, 579},
  245.     {"Hustler", ClasseUnicos, 545},
  246. //  {"Hydra", ClasseAviao, 520},
  247.     {"Infernus", ClasseSport, 411},
  248.     {"Intruder", ClasseSalao, 546},
  249.     {"Jester", ClasseSport, 559},
  250.     {"Jetmax", ClasseBarco, 493},
  251.     {"Journey", ClasseUnicos, 508},
  252.     {"Kart", ClasseUnicos, 571},
  253.     {"Landstalker", ClasseOffRoad, 400},
  254.     {"Launch", ClasseBarco, 595},
  255.     {"Leviathan", ClasseHelicoptero, 417},
  256.     {"Linerunner", ClasseIndustrial, 403},
  257.     {"Majestic", ClasseSalao, 517},
  258.     {"Manana", ClasseSalao, 410},
  259.     {"Marquis", ClasseBarco, 484},
  260.     {"Maverick", ClasseHelicoptero, 487},
  261.     {"Merit", ClasseSalao, 551},
  262.     {"Mesa", ClasseOffRoad, 500},
  263.     {"Monster", ClasseOffRoad, 444},
  264.     {"Monster A", ClasseOffRoad, 556},
  265.     {"Monster B", ClasseOffRoad, 557},
  266.     {"Moonbeam", ClasseBasicos, 418},
  267.     {"Mountain Bike", ClasseMotos, 510},
  268.     {"Mower", ClasseUnicos, 572},
  269.     {"Mr Whoopee", ClasseUnicos, 423},
  270.     {"Mule", ClasseIndustrial, 414},
  271.     {"Nebula", ClasseSalao, 516},
  272.     {"Nevada", ClasseAviao, 553},
  273.     {"Newsvan", ClasseIndustrial, 582},
  274.     {"NRG-500", ClasseMotos, 522},
  275.     {"Oceanic", ClasseSalao, 467},
  276.     {"Ore Trailer", ClasseTrailer, 450},
  277.     {"Packer", ClasseIndustrial, 443},
  278.     {"Patriot", ClasseOffRoad, 470},
  279.     {"PCJ-600", ClasseMotos, 461},
  280.     {"Perenniel", ClasseBasicos, 404},
  281.     {"Phoenix", ClasseSport, 603},
  282.     {"Picador", ClasseIndustrial, 600},
  283.     {"Pizzaboy", ClasseMotos, 448},
  284.     {"Police Car (LSPD)", ClassePublico, 596},
  285.     {"Police Car (LVPD)", ClassePublico, 598},
  286.     {"Police Car (SFPD)", ClassePublico, 597},
  287.     {"Police Maverick", ClasseHelicoptero, 497},
  288.     {"Police Ranger", ClassePublico, 599},
  289.     {"Pony", ClasseIndustrial, 413},
  290.     {"Predator", ClasseBarco, 430},
  291.     {"Premier", ClasseSalao, 426},
  292.     {"Previon", ClasseSalao, 436},
  293.     {"Primo", ClasseSalao, 547},
  294.     {"Quad", ClasseMotos, 471},
  295.     {"Raindance", ClasseHelicoptero, 563},
  296.     {"Rancher 1", ClasseOffRoad, 489},
  297.     {"Rancher 2", ClasseOffRoad, 505},
  298.     {"Reefer", ClasseBarco, 453},
  299.     {"Regina", ClasseBasicos, 479},
  300.     {"Remington", ClasseLowRider, 534},
  301. //    {"Rhino", ClassePublico, 432},
  302.     {"Roadtrain", ClasseIndustrial, 515},
  303.     {"Romero", ClasseUnicos, 442},
  304.     {"Rumpo", ClasseIndustrial, 440},
  305.     {"Rustler", ClasseAviao, 476},
  306.     {"Sabre", ClasseSport, 475},
  307.     {"Sadler", ClasseIndustrial, 543},
  308.     {"Sadler Shit", ClasseIndustrial, 605},
  309.     {"SAN News Maverick", ClasseHelicoptero, 488},
  310.     {"Sanchez", ClasseMotos, 468},
  311.     {"Sandking", ClasseOffRoad, 495},
  312.     {"Savanna", ClasseLowRider, 567},
  313.     {"Seasparrow", ClasseHelicoptero, 447},
  314.     {"Securicar", ClasseUnicos, 428},
  315.     {"Sentinel", ClasseSalao, 405},
  316.     {"Shamal", ClasseAviao, 519},
  317.     {"Skimmer", ClasseAviao, 460},
  318.     {"Slamvan", ClasseLowRider, 535},
  319.     {"Solair", ClasseBasicos, 458},
  320.     {"Sparrow", ClasseHelicoptero, 469},
  321.     {"Speeder", ClasseBarco, 452},
  322.     {"Squallo", ClasseBarco, 446},
  323.     {"Stafford", ClasseSalao, 580},
  324.     {"Stallion", ClasseConversivel, 439},
  325.     {"Stratum", ClasseBasicos, 561},
  326.     {"Stretch", ClasseUnicos, 409},
  327.     {"Stuntplane", ClasseAviao, 513},
  328.     {"Sultan", ClasseSalao, 560},
  329.     {"Sunrise", ClasseSalao, 550},
  330.     {"Super GT", ClasseSport, 506},
  331.     {"S.W.A.T.", ClassePublico, 601},
  332.     {"Sweeper", ClasseUnicos, 574},
  333.     {"Tahoma", ClasseLowRider, 566},
  334.     {"Tampa", ClasseSalao, 549},
  335.     {"Tanker", ClasseIndustrial, 514},
  336.     {"Taxi", ClassePublico, 420},
  337.     {"Tornado", ClasseLowRider, 576},
  338.     {"Towtruck", ClasseUnicos, 525},
  339.     {"Tractor", ClasseIndustrial, 531},
  340.     {"Trashmaster", ClasseIndustrial, 408},
  341.     {"Tropic", ClasseBarco, 454},
  342.     {"Tug", ClasseUnicos, 583},
  343.     {"Tug Stairs Trailer", ClasseTrailer, 608},
  344.     {"Turismo", ClasseSport, 451},
  345.     {"Uranus", ClasseSport, 558},
  346.     {"Utility Trailer", ClasseTrailer, 611},
  347.     {"Utility Van", ClasseIndustrial, 552},
  348.     {"Vincent", ClasseSalao, 540},
  349.     {"Virgo", ClasseSalao, 491},
  350.     {"Voodoo", ClasseLowRider, 412},
  351.     {"Vortex", ClasseUnicos, 539},
  352.     {"Walton", ClasseIndustrial, 478},
  353.     {"Washington", ClasseSalao, 421},
  354.     {"Wayfarer", ClasseMotos, 586},
  355.     {"Willard", ClasseSalao, 529},
  356.     {"Windsor", ClasseConversivel, 555},
  357.     {"Yankee", ClasseIndustrial, 456},
  358.     {"Yosemite", ClasseIndustrial, 554},
  359.     {"ZR-350", ClasseSport, 477}
  360. };
  361. new CorNome[] =
  362. {
  363.     0xFF8C13AA,0xC715FFAA,0x20B2AAAA,0xDC143CAA,0x6495EDAA,0xf0e68cAA,0x778899AA,
  364.     0xFF1493AA,0xF4A460AA,0xEE82EEAA,0xFFD720AA,0x8b4513AA,0x4949A0AA,0x148b8bAA,
  365.     0x14ff7fAA,0x556b2fAA,0x0FD9FAAA,0x10DC29AA,0x534081AA,0x0495CDAA,0xEF6CE8AA,
  366.     0xBD34DAAA,0x247C1BAA,0x0C8E5DAA,0x635B03AA,0xCB7ED3AA,0x65ADEBAA,0x5C1ACCAA,
  367.     0xF2F853AA,0x11F891AA,0x7B39AAAA,0x53EB10AA,0x54137DAA,0x275222AA,0xF09F5BAA,
  368.     0x3D0A4FAA,0x22F767AA,0xD63034AA,0x9A6980AA,0xDFB935AA,0x3793FAAA,0x90239DAA,
  369.     0xE9AB2FAA,0xAF2FF3AA,0x057F94AA,0xB98519AA,0x388EEAAA,0x028151AA,0xA55043AA,
  370.     0x0DE018AA,0x93AB1CAA,0x95BAF0AA,0x369976AA,0x18F71FAA,0x4B8987AA,0x491B9EAA,
  371.     0x829DC7AA,0xBCE635AA,0xCEA6DFAA,0x20D4ADAA,0x2D74FDAA,0x3C1C0DAA,0x12D6D4AA,
  372.     0x48C000AA,0x2A51E2AA,0xE3AC12AA,0xFC42A8AA,0x2FC827AA,0x1A30BFAA,0xB740C2AA,
  373.     0x42ACF5AA,0x2FD9DEAA,0xFAFB71AA,0x05D1CDAA,0xC471BDAA,0x94436EAA,0xC1F7ECAA,
  374.     0xCE79EEAA,0xBD1EF2AA,0x93B7E4AA,0x3214AAAA,0x184D3BAA,0xAE4B99AA,0x7E49D7AA,
  375.     0x4C436EAA,0xFA24CCAA,0xCE76BEAA,0xA04E0AAA,0x9F945CAA,0xDCDE3DAA,0x10C9C5AA,
  376.     0x70524DAA,0x0BE472AA,0x8A2CD7AA,0x6152C2AA,0xCF72A9AA,0xE59338AA,0xEEDC2DAA,
  377.     0xD8C762AA,0x3FE65CAA,0xffff00AA,0x669933AA,0xcc3366AA,0x66ff00AA,0x339900AA,
  378.     0xcc0033AA,0x009900AA,0x6600ffAA,0x66cc33AA,0x333300AA,0x9933ffAA,0x99ff66AA,
  379.     0xcc0000AA,0x000033AA,0x33ff00AA,0x666666AA,0xccccccAA,0xff00ffAA,0xFFFF80AA,
  380.     0x006600AA,0x3300ffAA,0x009966AA,0xff9900AA,0x00ff66AA,0x00ffffAA,0x66cc00AA,
  381.     0x3300ccAA,0x669966AA,0x33cc66AA,0x00ff99AA,0x993300AA,0xccff99AA,0xff9933AA,
  382.     0x330000AA,0x333333AA,0xccff99AA,0x993399AA,0xffcc66AA,0x660066AA,0x99cc00AA,
  383.     0x0000FFAA,0xFF4500AA,0xFFDEADAA,0x8B3E2FAA,0xCDAD00AA,0x00E5EEAA,0xD2691EAA,
  384.     0xA0522DAA,0x006400AA,0xFFDEADAA,0x9ACD32AA,0x228B22AA,0x6B8E23AA,0xBDB76BAA,
  385.     0xEEE8AAAA,0xFAFAD2AA,0xFFFFE0AA,0xFFFF00AA,0xFFD700AA,0xEEDD82AA,0xDAA520AA,
  386.     0xA9A9A9AA,0x00008BAA,0x008B8BAA,0x8B008BAA,0x8B0000AA,0x90EE90AA,0xCD661DAA,
  387.     0x8B4513AA,0xCD853FAA,0x545454AA,0x77bbddAA,0xbef666AA,0xbbdd33AA,0x77ddbbAA,
  388.     0x80FF80AA,0x00FF80AA,0x80FFFFAA,0x0080FFAA,0xFF80C0AA,0xFF80FFAA,0xFF0000AA,
  389.     0xFFFF00AA,0x00FF40AA,0x80FF00AA,0x00FFFFAA,0x0080C0AA,0x8080C0AA,0xFF00FFAA,
  390.     0x804040AA,0xFF8040AA,0x00FF00AA,0x008080AA,0x004080AA,0x8080FFAA,0x800040AA,
  391.     0xFF0080AA,0x800000AA,0xFF8000AA,0x008000AA,0x008040AA,0x0000FFAA,0x0000A0AA,
  392.     0x800080AA,0x800080AA,0x8000FFAA,0x400000AA,0x804000AA,0x004000AA,0x004040AA,
  393.     0x000080AA,0x000040AA,0x400040AA,0x400080AA,0x000000AA,0x808000AA,0x808040AA,
  394.     0x808080AA,0x408080AA,0xC0C0C0AA,0x400040AA,0x400040AA,0xFFFFFFAA,0xFF8080AA
  395. };
  396. static const NomesVeiculos[][] = {
  397.     "Landstalker","Bravura","Buffalo","Linerunner","Pereniel","Sentinel","Dumper","Firetruck","Trashmaster",
  398.     "Stretch","Manana","Infernus","Voodoo","Pony","Mule","Cheetah","Ambulance","Leviathan","Moonbeam","Esperanto",
  399.     "Taxi","Washington","Bobcat","Mr Whoopee","BF Injection","Hunter","Premier","Enforcer","Securicar","Banshee",
  400.     "Predator","Bus","Rhino","Barracks","Hotknife","Trailer","Previon","Coach","Cabbie","Stallion","Rumpo",
  401.     "RC Bandit","Romero","Packer","Monster","Admiral","Squalo","Seasparrow","Pizzaboy","Tram","Trailer Minerio",
  402.     "Turismo","Speeder","Reefer","Tropic","Flatbed","Yankee","Caddy","Solair","Berkley's RC Van","Skimmer",
  403.     "PCJ-600","Faggio","Freeway","RC Baron","RC Raider","Glendale","Oceanic","Sanchez","Sparrow","Patriot",
  404.     "Quad","Coastguard","Dinghy","Hermes","Sabre","Rustler","ZR3 50","Walton","Regina","Comet","BMX",
  405.     "Burrito","Camper","Marquis","Baggage","Dozer","Maverick","News Chopper","Rancher","FBI Rancher","Virgo",
  406.     "Greenwood","Jetmax","Hotring","Sandking","Blista Compact","Police Maverick","Boxville","Benson","Mesa",
  407.     "RC Goblin","H. Racer A","H. Racer B","Bloodring Banger","Rancher","Super GT","Elegant",
  408.     "Journey","Bike","Mountain Bike","Beagle","Cropdust","Stunt","Tanker","RoadTrain","Nebula","Majestic",
  409.     "Buccaneer","Shamal","Hydra","FCR-900","NRG-500","HPV1000","Cement Truck","Tow Truck","Fortune","Cadrona",
  410.     "FBI Truck","Willard","Forklift","Tractor","Combine","Feltzer","Remington","Slamvan","Blade","Freight",
  411.     "Streak","Vortex","Vincent","Bullet","Clover","Sadler","Firetruck","Hustler","Intruder","Primo","Cargobob",
  412.     "Tampa","Sunrise","Merit","Utility","Nevada","Yosemite","Windsor","Monster A","Monster B","Uranus",
  413.     "Jester","Sultan","Stratum","Elegy","Raindance","RC Tiger","Flash","Tahoma","Savanna","Bandito","Freight",
  414.     "Trem Trailer","Kart","Mower","Duneride","Sweeper","Broadway","Tornado","AT-400","DFT-30","Huntley","Stafford",
  415.     "BF-400","Newsvan","Tug","Trailer Fluidos","Emperor","Wayfarer","Euros","Hotdog","Club","Vagao Trem","Trailer Bau",
  416.     "Andromada","Dodo","RC Cam","Launch","Police Car (LSPD)","Police Car (SFPD)","Police Car (LVPD)","Police Ranger",
  417.     "Picador","S.W.A.T. Van","Alpha","Phoenix","Glendale","Sadler","Luggage Trailer A","Luggage Trailer B",
  418.     "Stair Trailer","Boxville","Farm Plow","Utility Trailer"
  419. };
  420. enum infNeon
  421. {
  422.     NeonCor[50],
  423.     NeonID
  424. }
  425. static const Neons[][infNeon] = {
  426.     {"Nulo", 0},
  427.     {"Neon Vermelho", 18647},
  428.     {"Neon Azul", 18648},
  429.     {"Neon Verde", 18649},
  430.     {"Neon Amarelo", 18650},
  431.     {"Neon Rosa", 18651},
  432.     {"Neon Branco", 18652}
  433. };
  434. enum infRodas
  435. {
  436.     RodaNome[50],
  437.     RodaID
  438. }
  439. static const Rodas[][infRodas] = {
  440.     {"Shadow", 1073},
  441.     {"Mega", 1074},
  442.     {"Rimshine", 1075},
  443.     {"Wires", 1076},
  444.     {"Classic", 1077},
  445.     {"Twist", 1078},
  446.     {"Cutter", 1079},
  447.     {"Switch", 1080},
  448.     {"Grove", 1081},
  449.     {"Import", 1082},
  450.     {"Dollar", 1083},
  451.     {"Trance", 1084},
  452.     {"Atomic", 1085},
  453.     {"Off-Road", 1025}
  454. };
  455.  
  456. static const CoresVeiculos[] = {
  457.     0x000000FF, 0xF5F5F5FF, 0x2A77A1FF, 0x840410FF, 0x263739FF, 0x86446EFF, 0xD78E10FF, 0x4C75B7FF, 0xBDBEC6FF, 0x5E7072FF,
  458.     0x46597AFF, 0x656A79FF, 0x5D7E8DFF, 0x58595AFF, 0xD6DAD6FF, 0x9CA1A3FF, 0x335F3FFF, 0x730E1AFF, 0x7B0A2AFF, 0x9F9D94FF,
  459.     0x3B4E78FF, 0x732E3EFF, 0x691E3BFF, 0x96918CFF, 0x515459FF, 0x3F3E45FF, 0xA5A9A7FF, 0x635C5AFF, 0x3D4A68FF, 0x979592FF,
  460.     0x421F21FF, 0x5F272BFF, 0x8494ABFF, 0x767B7CFF, 0x646464FF, 0x5A5752FF, 0x252527FF, 0x2D3A35FF, 0x93A396FF, 0x6D7A88FF,
  461.     0x221918FF, 0x6F675FFF, 0x7C1C2AFF, 0x5F0A15FF, 0x193826FF, 0x5D1B20FF, 0x9D9872FF, 0x7A7560FF, 0x989586FF, 0xADB0B0FF,
  462.     0x848988FF, 0x304F45FF, 0x4D6268FF, 0x162248FF, 0x272F4BFF, 0x7D6256FF, 0x9EA4ABFF, 0x9C8D71FF, 0x6D1822FF, 0x4E6881FF,
  463.     0x9C9C98FF, 0x917347FF, 0x661C26FF, 0x949D9FFF, 0xA4A7A5FF, 0x8E8C46FF, 0x341A1EFF, 0x6A7A8CFF, 0xAAAD8EFF, 0xAB988FFF,
  464.     0x851F2EFF, 0x6F8297FF, 0x585853FF, 0x9AA790FF, 0x601A23FF, 0x20202CFF, 0xA4A096FF, 0xAA9D84FF, 0x78222BFF, 0x0E316DFF,
  465.     0x722A3FFF, 0x7B715EFF, 0x741D28FF, 0x1E2E32FF, 0x4D322FFF, 0x7C1B44FF, 0x2E5B20FF, 0x395A83FF, 0x6D2837FF, 0xA7A28FFF,
  466.     0xAFB1B1FF, 0x364155FF, 0x6D6C6EFF, 0x0F6A89FF, 0x204B6BFF, 0x2B3E57FF, 0x9B9F9DFF, 0x6C8495FF, 0x4D8495FF, 0xAE9B7FFF,
  467.     0x406C8FFF, 0x1F253BFF, 0xAB9276FF, 0x134573FF, 0x96816CFF, 0x64686AFF, 0x105082FF, 0xA19983FF, 0x385694FF, 0x525661FF,
  468.     0x7F6956FF, 0x8C929AFF, 0x596E87FF, 0x473532FF, 0x44624FFF, 0x730A27FF, 0x223457FF, 0x640D1BFF, 0xA3ADC6FF, 0x695853FF,
  469.     0x9B8B80FF, 0x620B1CFF, 0x5B5D5EFF, 0x624428FF, 0x731827FF, 0x1B376DFF, 0xEC6AAEFF, 0x000000FF,
  470.     // (0.3x)
  471.     0x177517FF, 0x210606FF, 0x125478FF, 0x452A0DFF, 0x571E1EFF, 0x010701FF, 0x25225AFF, 0x2C89AAFF, 0x8A4DBDFF, 0x35963AFF,
  472.     0xB7B7B7FF, 0x464C8DFF, 0x84888CFF, 0x817867FF, 0x817A26FF, 0x6A506FFF, 0x583E6FFF, 0x8CB972FF, 0x824F78FF, 0x6D276AFF,
  473.     0x1E1D13FF, 0x1E1306FF, 0x1F2518FF, 0x2C4531FF, 0x1E4C99FF, 0x2E5F43FF, 0x1E9948FF, 0x1E9999FF, 0x999976FF, 0x7C8499FF,
  474.     0x992E1EFF, 0x2C1E08FF, 0x142407FF, 0x993E4DFF, 0x1E4C99FF, 0x198181FF, 0x1A292AFF, 0x16616FFF, 0x1B6687FF, 0x6C3F99FF,
  475.     0x481A0EFF, 0x7A7399FF, 0x746D99FF, 0x53387EFF, 0x222407FF, 0x3E190CFF, 0x46210EFF, 0x991E1EFF, 0x8D4C8DFF, 0x805B80FF,
  476.     0x7B3E7EFF, 0x3C1737FF, 0x733517FF, 0x781818FF, 0x83341AFF, 0x8E2F1CFF, 0x7E3E53FF, 0x7C6D7CFF, 0x020C02FF, 0x072407FF,
  477.     0x163012FF, 0x16301BFF, 0x642B4FFF, 0x368452FF, 0x999590FF, 0x818D96FF, 0x99991EFF, 0x7F994CFF, 0x839292FF, 0x788222FF,
  478.     0x2B3C99FF, 0x3A3A0BFF, 0x8A794EFF, 0x0E1F49FF, 0x15371CFF, 0x15273AFF, 0x375775FF, 0x060820FF, 0x071326FF, 0x20394BFF,
  479.     0x2C5089FF, 0x15426CFF, 0x103250FF, 0x241663FF, 0x692015FF, 0x8C8D94FF, 0x516013FF, 0x090F02FF, 0x8C573AFF, 0x52888EFF,
  480.     0x995C52FF, 0x99581EFF, 0x993A63FF, 0x998F4EFF, 0x99311EFF, 0x0D1842FF, 0x521E1EFF, 0x42420DFF, 0x4C991EFF, 0x082A1DFF,
  481.     0x96821DFF, 0x197F19FF, 0x3B141FFF, 0x745217FF, 0x893F8DFF, 0x7E1A6CFF, 0x0B370BFF, 0x27450DFF, 0x071F24FF, 0x784573FF,
  482.     0x8A653AFF, 0x732617FF, 0x319490FF, 0x56941DFF, 0x59163DFF, 0x1B8A2FFF, 0x38160BFF, 0x041804FF, 0x355D8EFF, 0x2E3F5BFF,
  483.     0x561A28FF, 0x4E0E27FF, 0x706C67FF, 0x3B3E42FF, 0x2E2D33FF, 0x7B7E7DFF, 0x4A4442FF, 0x28344EFF
  484. };
  485. static const AVehicleModPrices[] =
  486. {
  487.     400, // ID 1000, Spoiler Pro                                Certain Transfender cars
  488.     550, // ID 1001, Spoiler Win                                Certain Transfender cars
  489.     200, // ID 1002, Spoiler Drag                               Certain Transfender cars
  490.     250, // ID 1003, Spoiler Alpha                              Certain Transfender cars
  491.     100, // ID 1004, Hood Champ Scoop                           Certain Transfender cars
  492.     150, // ID 1005, Hood Fury Scoop                            Certain Transfender cars
  493.     80, // ID 1006, Roof Roof Scoop                             Certain Transfender cars
  494.     500, // ID 1007, Sideskirt Right Sideskirt                  Certain Transfender cars
  495.     500, // ID 1008, Nitro 5 times                              Most cars, Most planes and Most Helicopters
  496.     200, // ID 1009, Nitro 2 times                              Most cars, Most planes and Most Helicopters
  497.     1000, // ID 1010, Nitro 10 times                            Most cars, Most planes and Most Helicopters
  498.     220, // ID 1011, Hood Race Scoop                            Certain Transfender cars
  499.     250, // ID 1012, Hood Worx Scoop                            Certain Transfender cars
  500.     100, // ID 1013, Lamps Round Fog                            Certain Transfender cars
  501.     400, // ID 1014, Spoiler Champ                              Certain Transfender cars
  502.     500, // ID 1015, Spoiler Race                               Certain Transfender cars
  503.     200, // ID 1016, Spoiler Worx                               Certain Transfender cars
  504.     500, // ID 1017, Sideskirt Left Sideskirt                   Certain Transfender cars
  505.     350, // ID 1018, Exhaust Upswept                            Most cars
  506.     300, // ID 1019, Exhaust Twin                               Most cars
  507.     250, // ID 1020, Exhaust Large                              Most cars
  508.     200, // ID 1021, Exhaust Medium                             Most cars
  509.     150, // ID 1022, Exhaust Small                              Most cars
  510.     350, // ID 1023, Spoiler Fury                               Certain Transfender cars
  511.     50, // ID 1024, Lamps Square Fog                            Certain Transfender cars
  512.     1000, // ID 1025, Wheels Offroad                            Certain Transfender cars
  513.     480, // ID 1026, Sideskirt Right Alien Sideskirt            Sultan
  514.     480, // ID 1027, Sideskirt Left Alien Sideskirt             Sultan
  515.     770, // ID 1028, Exhaust Alien                              Sultan
  516.     680, // ID 1029, Exhaust X-Flow                             Sultan
  517.     370, // ID 1030, Sideskirt Left X-Flow Sideskirt            Sultan
  518.     370, // ID 1031, Sideskirt Right X-Flow Sideskirt           Sultan
  519.     170, // ID 1032, Roof Alien Roof Vent                       Sultan
  520.     120, // ID 1033, Roof X-Flow Roof Vent                      Sultan
  521.     790, // ID 1034, Exhaust Alien                              Elegy
  522.     150, // ID 1035, Roof X-Flow Roof Vent                      Elegy
  523.     500, // ID 1036, SideSkirt Right Alien Sideskirt            Elegy
  524.     690, // ID 1037, Exhaust X-Flow                             Elegy
  525.     190, // ID 1038, Roof Alien Roof Vent                       Elegy
  526.     390, // ID 1039, SideSkirt Right X-Flow Sideskirt           Elegy
  527.     500, // ID 1040, SideSkirt Left Alien Sideskirt             Elegy
  528.     390, // ID 1041, SideSkirt Right X-Flow Sideskirt           Elegy
  529.     1000, // ID 1042, SideSkirt Right Chrome Sideskirt          Broadway
  530.     500, // ID 1043, Exhaust Slamin                             Broadway
  531.     500, // ID 1044, Exhaust Chrome                             Broadway
  532.     510, // ID 1045, Exhaust X-Flow                             Flash
  533.     710, // ID 1046, Exhaust Alien                              Flash
  534.     670, // ID 1047, SideSkirt Right Alien Sideskirt            Flash
  535.     530, // ID 1048, SideSkirt Right X-Flow Sideskirt           Flash
  536.     810, // ID 1049, Spoiler Alien                              Flash
  537.     620, // ID 1050, Spoiler X-Flow                             Flash
  538.     670, // ID 1051, SideSkirt Left Alien Sideskirt             Flash
  539.     530, // ID 1052, SideSkirt Left X-Flow Sideskirt            Flash
  540.     130, // ID 1053, Roof X-Flow                                Flash
  541.     210, // ID 1054, Roof Alien                                 Flash
  542.     230, // ID 1055, Roof Alien                                 Stratum
  543.     520, // ID 1056, Sideskirt Right Alien Sideskirt            Stratum
  544.     430, // ID 1057, Sideskirt Right X-Flow Sideskirt           Stratum
  545.     620, // ID 1058, Spoiler Alien                              Stratum
  546.     720, // ID 1059, Exhaust X-Flow                             Stratum
  547.     530, // ID 1060, Spoiler X-Flow                             Stratum
  548.     180, // ID 1061, Roof X-Flow                                Stratum
  549.     520, // ID 1062, Sideskirt Left Alien Sideskirt             Stratum
  550.     430, // ID 1063, Sideskirt Left X-Flow Sideskirt            Stratum
  551.     830, // ID 1064, Exhaust Alien                              Stratum
  552.     850, // ID 1065, Exhaust Alien                              Jester
  553.     750, // ID 1066, Exhaust X-Flow                             Jester
  554.     250, // ID 1067, Roof Alien                                 Jester
  555.     200, // ID 1068, Roof X-Flow                                Jester
  556.     550, // ID 1069, Sideskirt Right Alien Sideskirt            Jester
  557.     450, // ID 1070, Sideskirt Right X-Flow Sideskirt           Jester
  558.     550, // ID 1071, Sideskirt Left Alien Sideskirt             Jester
  559.     450, // ID 1072, Sideskirt Left X-Flow Sideskirt            Jester
  560.     1100, // ID 1073, Wheels Shadow                             Most cars
  561.     1030, // ID 1074, Wheels Mega                               Most cars
  562.     980, // ID 1075, Wheels Rimshine                            Most cars
  563.     1560, // ID 1076, Wheels Wires                              Most cars
  564.     1620, // ID 1077, Wheels Classic                            Most cars
  565.     1200, // ID 1078, Wheels Twist                              Most cars
  566.     1030, // ID 1079, Wheels Cutter                             Most cars
  567.     900, // ID 1080, Wheels Switch                              Most cars
  568.     1230, // ID 1081, Wheels Grove                              Most cars
  569.     820, // ID 1082, Wheels Import                              Most cars
  570.     1560, // ID 1083, Wheels Dollar                             Most cars
  571.     1350, // ID 1084, Wheels Trance                             Most cars
  572.     770, // ID 1085, Wheels Atomic                              Most cars
  573.     100, // ID 1086, Stereo Stereo                              Most cars
  574.     1500, // ID 1087, Hydraulics Hydraulics                     Most cars
  575.     150, // ID 1088, Roof Alien                                 Uranus
  576.     650, // ID 1089, Exhaust X-Flow                             Uranus
  577.     450, // ID 1090, Sideskirt Right Alien Sideskirt            Uranus
  578.     100, // ID 1091, Roof X-Flow                                Uranus
  579.     750, // ID 1092, Exhaust Alien                              Uranus
  580.     350, // ID 1093, Sideskirt Right X-Flow Sideskirt           Uranus
  581.     450, // ID 1094, Sideskirt Left Alien Sideskirt             Uranus
  582.     350, // ID 1095, Sideskirt Right X-Flow Sideskirt           Uranus
  583.     1000, // ID 1096, Wheels Ahab                               Most cars
  584.     620, // ID 1097, Wheels Virtual                             Most cars
  585.     1140, // ID 1098, Wheels Access                             Most cars
  586.     1000, // ID 1099, Sideskirt Left Chrome Sideskirt           Broadway
  587.     940, // ID 1100, Bullbar Chrome Grill                       Remington
  588.     780, // ID 1101, Sideskirt Left `Chrome Flames` Sideskirt   Remington
  589.     830, // ID 1102, Sideskirt Left `Chrome Strip` Sideskirt    Savanna
  590.     3250, // ID 1103, Roof Convertible                          Blade
  591.     1610, // ID 1104, Exhaust Chrome                            Blade
  592.     1540, // ID 1105, Exhaust Slamin                            Blade
  593.     780, // ID 1106, Sideskirt Right `Chrome Arches`            Remington
  594.     780, // ID 1107, Sideskirt Left `Chrome Strip` Sideskirt    Blade
  595.     780, // ID 1108, Sideskirt Right `Chrome Strip` Sideskirt   Blade
  596.     1610, // ID 1109, Rear Bullbars Chrome                      Slamvan
  597.     1540, // ID 1110, Rear Bullbars Slamin                      Slamvan
  598.     55, // ID 1111, Front Sign? Little Sign?                    Slamvan         ???
  599.     55, // ID 1112, Front Sign? Little Sign?                    Slamvan         ???
  600.     3340, // ID 1113, Exhaust Chrome                            Slamvan
  601.     3250, // ID 1114, Exhaust Slamin                            Slamvan
  602.     2130, // ID 1115, Front Bullbars Chrome                     Slamvan
  603.     2050, // ID 1116, Front Bullbars Slamin                     Slamvan
  604.     2040, // ID 1117, Front Bumper Chrome                       Slamvan
  605.     780, // ID 1118, Sideskirt Right `Chrome Trim` Sideskirt    Slamvan
  606.     940, // ID 1119, Sideskirt Right `Wheelcovers` Sideskirt    Slamvan
  607.     780, // ID 1120, Sideskirt Left `Chrome Trim` Sideskirt     Slamvan
  608.     940, // ID 1121, Sideskirt Left `Wheelcovers` Sideskirt     Slamvan
  609.     780, // ID 1122, Sideskirt Right `Chrome Flames` Sideskirt  Remington
  610.     860, // ID 1123, Bullbars Bullbar Chrome Bars               Remington
  611.     780, // ID 1124, Sideskirt Left `Chrome Arches` Sideskirt   Remington
  612.     1120, // ID 1125, Bullbars Bullbar Chrome Lights            Remington
  613.     3340, // ID 1126, Exhaust Chrome Exhaust                    Remington
  614.     3250, // ID 1127, Exhaust Slamin Exhaust                    Remington
  615.     3340, // ID 1128, Roof Vinyl Hardtop                        Blade
  616.     1650, // ID 1129, Exhaust Chrome                            Savanna
  617.     3380, // ID 1130, Roof Hardtop                              Savanna
  618.     3290, // ID 1131, Roof Softtop                              Savanna
  619.     1590, // ID 1132, Exhaust Slamin                            Savanna
  620.     830, // ID 1133, Sideskirt Right `Chrome Strip` Sideskirt   Savanna
  621.     800, // ID 1134, SideSkirt Right `Chrome Strip` Sideskirt   Tornado
  622.     1500, // ID 1135, Exhaust Slamin                            Tornado
  623.     1000, // ID 1136, Exhaust Chrome                            Tornado
  624.     800, // ID 1137, Sideskirt Left `Chrome Strip` Sideskirt    Tornado
  625.     580, // ID 1138, Spoiler Alien                              Sultan
  626.     470, // ID 1139, Spoiler X-Flow                             Sultan
  627.     870, // ID 1140, Rear Bumper X-Flow                         Sultan
  628.     980, // ID 1141, Rear Bumper Alien                          Sultan
  629.     150, // ID 1142, Vents Left Oval Vents                      Certain Transfender Cars
  630.     150, // ID 1143, Vents Right Oval Vents                     Certain Transfender Cars
  631.     100, // ID 1144, Vents Left Square Vents                    Certain Transfender Cars
  632.     100, // ID 1145, Vents Right Square Vents                   Certain Transfender Cars
  633.     490, // ID 1146, Spoiler X-Flow                             Elegy
  634.     600, // ID 1147, Spoiler Alien                              Elegy
  635.     890, // ID 1148, Rear Bumper X-Flow                         Elegy
  636.     1000, // ID 1149, Rear Bumper Alien                         Elegy
  637.     1090, // ID 1150, Rear Bumper Alien                         Flash
  638.     840, // ID 1151, Rear Bumper X-Flow                         Flash
  639.     910, // ID 1152, Front Bumper X-Flow                        Flash
  640.     1200, // ID 1153, Front Bumper Alien                        Flash
  641.     1030, // ID 1154, Rear Bumper Alien                         Stratum
  642.     1030, // ID 1155, Front Bumper Alien                        Stratum
  643.     920, // ID 1156, Rear Bumper X-Flow                         Stratum
  644.     930, // ID 1157, Front Bumper X-Flow                        Stratum
  645.     550, // ID 1158, Spoiler X-Flow                             Jester
  646.     1050, // ID 1159, Rear Bumper Alien                         Jester
  647.     1050, // ID 1160, Front Bumper Alien                        Jester
  648.     950, // ID 1161, Rear Bumper X-Flow                         Jester
  649.     650, // ID 1162, Spoiler Alien                              Jester
  650.     450, // ID 1163, Spoiler X-Flow                             Uranus
  651.     550, // ID 1164, Spoiler Alien                              Uranus
  652.     850, // ID 1165, Front Bumper X-Flow                        Uranus
  653.     950, // ID 1166, Front Bumper Alien                         Uranus
  654.     850, // ID 1167, Rear Bumper X-Flow                         Uranus
  655.     950, // ID 1168, Rear Bumper Alien                          Uranus
  656.     970, // ID 1169, Front Bumper Alien                         Sultan
  657.     880, // ID 1170, Front Bumper X-Flow                        Sultan
  658.     990, // ID 1171, Front Bumper Alien                         Elegy
  659.     900, // ID 1172, Front Bumper X-Flow                        Elegy
  660.     950, // ID 1173, Front Bumper X-Flow                        Jester
  661.     1000, // ID 1174, Front Bumper Chrome                       Broadway
  662.     900, // ID 1175, Front Bumper Slamin                        Broadway
  663.     1000, // ID 1176, Rear Bumper Chrome                        Broadway
  664.     900, // ID 1177, Rear Bumper Slamin                         Broadway
  665.     2050, // ID 1178, Rear Bumper Slamin                        Remington
  666.     2150, // ID 1179, Front Bumper Chrome                       Remington
  667.     2130, // ID 1180, Rear Bumper Chrome                        Remington
  668.     2050, // ID 1181, Front Bumper Slamin                       Blade
  669.     2130, // ID 1182, Front Bumper Chrome                       Blade
  670.     2040, // ID 1183, Rear Bumper Slamin                        Blade
  671.     2150, // ID 1184, Rear Bumper Chrome                        Blade
  672.     2040, // ID 1185, Front Bumper Slamin                       Remington
  673.     2095, // ID 1186, Rear Bumper Slamin                        Savanna
  674.     2175, // ID 1187, Rear Bumper Chrome                        Savanna
  675.     2080, // ID 1188, Front Bumper Slamin                       Savanna
  676.     2200, // ID 1189, Front Bumper Chrome                       Savanna
  677.     1200, // ID 1190, Front Bumper Slamin                       Tornado
  678.     1040, // ID 1191, Front Bumper Chrome                       Tornado
  679.     940, // ID 1192, Rear Bumper Chrome                         Tornado
  680.     1100, // ID 1193 Rear Bumper Slamin                         Tornado
  681. };
  682.  
  683. #define cmd_conta 1
  684. #define cmd_geral 2
  685. #define cmd_veiculo 3
  686. #define cmd_admin 4
  687. enum infoCmds
  688. {
  689.     ComandoLevel,
  690.     ComandoClasse,
  691.     ComandoNome[128],
  692.     ComandoInfo[128],
  693. }
  694. static const Cmds[][infoCmds] =
  695. {
  696.     {0, cmd_veiculo, "/cor",        "Muda a cor de seu veículo"},
  697.     {0, cmd_veiculo, "/rodas",      "Põe uma roda personalzada em seu veículo"},
  698.     {0, cmd_veiculo, "/nos",        "Adiciona nitro em seu veículo"},
  699.     {0, cmd_veiculo, "/suspensao", "Adicione uma suspensão hydraulica em seu carro!"},
  700.     {0, cmd_veiculo, "/meuveh",    "Pega o ultimo veículo criado por você (/v)"},
  701.     {0, cmd_conta, "/email [seu e-mail]",        "Definir o mudar o e-mail definido, para recuperar a senha"},
  702.     {0, cmd_conta, "/mudarsenha",  "Mudar a senha"},
  703.     {0, cmd_geral, "/admins", "visualiza os admins on-line"},
  704.     {0, cmd_geral, "/arenas", "arenas para dm"},
  705.     {0, cmd_geral, "/v", "cria algum veículo"},
  706.     {0, cmd_geral, "/teles", "teleportes disponíveis"},
  707.     {0, cmd_conta, "/pagar [id/nome] [quantia]", "paga em dinheiro algum jogador"},
  708.     {0, cmd_geral, "/mp [id/nome] [mensagem]", "envia uma mensagem para outro player"},
  709.     {0, cmd_geral, "/eu [mensagem]", "anuncia algo no servidor"},
  710.     {0, cmd_geral, "/relato [id/nome] [mensagem]", "relata um jogador para administração"},
  711.     {0, cmd_veiculo, "/teclas", "teclas (atalhos para funções em seu veículo)"},
  712.     {0, cmd_geral, "/armas", "seleção de armas"},
  713.     {0, cmd_conta, "/mudarnick [novo nick]", "muda o nick-name"},
  714.     {0, cmd_geral, "/vida", "restaura a vida"},
  715.     {0, cmd_conta, "/afk", "fica ausente"},
  716.     {0, cmd_conta, "/sairafk", "sai do modo afk"},
  717.     {0, cmd_geral, "/jogadoresafk", "visualiza todos os jogadores afk"},
  718.     {0, cmd_geral, "/colete", "põe um colete"},
  719.     {0, cmd_conta, "/skin", "altera a skin"},
  720.     {0, cmd_geral, "/morrer", "morre, não irá contar no número de mortes"},
  721.     {1, cmd_admin, "/a [texto]", "chat de admin"},
  722.     {1, cmd_admin, "/tapa [id/nome]", "dá um tapa"},
  723.     {1, cmd_admin, "/veh [modelo id]", "cria um veículo pelo id"},
  724.     {1, cmd_admin, "/ir [id/nome]", "vai até um jogador"},
  725.     {1, cmd_admin, "/trazer [id/nome]", "puxa um jogador"},
  726.     {1, cmd_admin, "/irpara [x] [y] [z]", "vai até uma posição xyz"},
  727.     {1, cmd_admin, "/ann [mensagem]", "anuncia algo no servidor."},
  728.     {1, cmd_admin, "/kick [id/nome] [motivo]", "kicka um jogador do servidor"},
  729.     {1, cmd_admin, "/banip [id/nome] [motivo]", "bane um jogador por ip do servidor"},
  730.     {2, cmd_admin, "/cnn [mensagem]", "outro anuncio"},
  731.     {2, cmd_admin, "/delveh [id]", "deleta um veículo por id"},
  732.     {3, cmd_admin, "/criardinheiro [quantidade]", "Cria uma quantidade em dinheiro"},
  733.     {4, cmd_admin, "/setgold [id] [golds]", "Seta os golds de alguém"},
  734.     {4, cmd_admin, "/setinfos [id] [mortes] [matou]", "Seta informações de alguém"},
  735.     {4, cmd_admin, "/setscore [id] [scores]", "Seta informações"},
  736.     {5, cmd_admin, "/forcarcmd [id/nome] [comando] [parametros extras]", "Força um jogador a usar um comando."},
  737.     {5, cmd_admin, "/daradmin [id/nome] [level]", "seta o level admin de um player"}
  738. };
  739. /*
  740.     mSelection (ID's)
  741. */
  742. new SKIN_LISTA;
  743. new ARMA_LISTA;
  744.  
  745. #define LISTA_VEICULOS 1
  746. /*
  747.     Variaveis
  748. */
  749.  
  750.  
  751. enum iWebRadios
  752. {
  753.     NomeWebRadio[100],
  754.     ipWebRadio[128]
  755. }
  756. new WebRadios[][iWebRadios] =
  757. {
  758.     {"{ffff00}Rádio Brasil Mega Trucker", "http://radio.brasilmegatrucker.com:10698"},
  759.     {"Sound Pop", "http://173.193.202.68:7460/"},
  760.     {"Total Dance", "http://74.222.2.146:9358/"},
  761.     {"Rádio Fusion", "http://65.60.34.34:8000/"},
  762.     {"All Hits Station", "http://199.195.192.234:9998/"},
  763.     {"Mega Som", "http://174.142.196.188:8048/"},
  764.     {"Rádio Dance", "http://173.193.201.100:8068/"},
  765.     {"Radio Hunter", "http://live.hunterfm.com/live"},
  766.     {"Rap 181 FM", "http://108.61.73.117:8054/"},
  767.     {"Flow 103", "http://173.245.71.186:80/"},
  768.     {"Dance Hits Chicago", "http://wms-21.streamsrus.com:10025/"},
  769.     {"Forró", "http://64.15.147.220:7120/"},
  770.     {"Som Sertanejo", "http://64.15.147.221:12016/"},
  771.     {"Funk Neurótico", "http://64.56.64.76:16506/"},
  772.     {"Radio Mandela Digital", "http://184.154.37.136:12842/"},
  773.     {"Rádio Rock", "http://suaradio1.dyndns.ws:10584/stream"},
  774.     {"Reggaeton 24/7", "http://192.81.248.32:8160/"},
  775.     {"Hot Hits", "http://206.217.213.235:8290/"}
  776. };
  777. enum iContagem
  778. {
  779.     Text:DrawContagem,
  780.     TextoContagem[128],
  781.     ContagemSegundos
  782. }
  783. new Contagem[iContagem];
  784.  
  785. enum pInfo
  786. {
  787.     pNome[MAX_PLAYER_NAME],
  788.     pSenha[50],
  789.     pLevel,
  790.     pDinheiro,
  791.     pScore,
  792.     pGold,
  793.    
  794.     pRegistroDia[50],
  795.     pUltimoLogin,
  796.     //Veiculo
  797.     pVeh,
  798.     VehModelo,
  799.     VehComponentes[14],
  800.     VehCores[2],
  801.     VehPintura,
  802.     NeonID,
  803.     //Outros
  804.     pAvisos,
  805.     //Sistema DM
  806.     pMorreu,
  807.     pMatou,
  808.     //Status
  809.     pTempoBan,
  810.     pBans,
  811.     pTempoJogado,
  812.     pTempoLogado,
  813.     // Sistemas Corrida
  814.     pCorridas,
  815.     bool:EmCorrida,
  816.     pCorridaCheckpoint,
  817.     PlayerText:CorridaPosInfo,
  818.     pCorridaPos,
  819.     pCorridaVeh,
  820.     CorridaID, //ID da corrida
  821.     //Sistema Drift'
  822.     pDriftPontos,
  823.     pDriftBonus,
  824.     pDriftPontosTotal,
  825.     PlayerText:DriftDraw[2],
  826.     ModoDrift,
  827.  
  828.     pEmail[128],
  829.     bool:Logado,
  830.     Mudo,
  831.     bool:Morrer,
  832.     ArenaID,
  833.     bool:EmArena,
  834.     pEspiando,
  835.     pErrosSenha, //Erros da Senha
  836.     pRelatoTempo,
  837.     PlayerText:DrawInfo,
  838.     PlayerText:Velocimetro,
  839.     PlayerText:InfoMatador[2],
  840.     PlayerText:DrawStatus[11],
  841.     PlayerText:PlayerDano[9],
  842.     bool:MostrarDano,
  843.     bool:AFK,
  844.     pAvisoPing,
  845.     bool:pCameraConnect,
  846.     bool:Teclas,
  847.    
  848.     pGang, //ID da Gang no MySQL
  849.     pConviteGang, //Tal gang convidando-o
  850.    
  851.     //FPS
  852.     pFPS,
  853.     pDLevel,
  854.  
  855.     pMySQL_ID, //id do mysql
  856.     ORM:OrmID //Sistemas de ORM do MySQL
  857. }
  858. new PlayerInfo[MAX_PLAYERS][pInfo];
  859. new mysql; //conexão mysql
  860.  
  861.  
  862. enum vehInfos
  863. {
  864.     vehModelo,
  865.     vehCores[2],
  866.     vehPintura,
  867.     //Interior,
  868.     //Mundo,
  869.     NeonEsquerdo,
  870.     NeonDireito,
  871.     NeonID,
  872.     vehComponentes[14],
  873.    
  874.     DonoID //ID do Player que é Dono.
  875. }
  876. new VehInfo[MAX_VEHICLES][vehInfos];
  877.  
  878. #define CORRIDA_TERRESTRE  1
  879. #define CORRIDA_AEREA       2
  880.  
  881. enum sisCorrida
  882. {
  883.     CorridaNome[128],
  884.     Float:CheckpointX[MAX_CHECKPOINTS],
  885.     Float:CheckpointY[MAX_CHECKPOINTS],
  886.     Float:CheckpointZ[MAX_CHECKPOINTS],
  887.  
  888.     MaxCheckpoints,
  889.     Float:InicioPos[3],
  890.     CorridaPremio,
  891. //  CorridaVoltas,
  892.     CorridaTipo,
  893.     CorridaPosicao[MAX_CHECKPOINTS],
  894.     CorridaRecord,
  895.     RecordBy,
  896.     CorridaTempo, //No caso quando a corrida for iniciada
  897.     CorridaContagemSegundos, //Iniciar a contagem!
  898.     CorridaMaxParticipantes,
  899.  
  900.     CorridaTimerContagem,
  901.     CorridaTimerIniciar,
  902.  
  903.     CorridaVeiculo,
  904.     CorridaID, //ID do MYSQL
  905.     Text:CorridaDraws[4],
  906.    
  907.     bool:Iniciada,
  908.     bool:Carregada,
  909.     bool:EmProjeto,
  910.     bool:InicioDefinido,
  911.     bool:Trancada
  912. }
  913. new Corridas[MAX_CORRIDAS][sisCorrida];
  914. /*
  915.     O MAX_CORRIDAS serve para definir máximo de corridas simutâneas.
  916.    
  917.     O Sistema, irá funcionar com corridas de diferentes tipos.
  918.  
  919.     O próprio player deve estar com seu devido veículo.
  920.     Também, o veículo pode ser estipulado pelo criador/editor da corrida.
  921.    
  922.     Players não podem editar uma corrida. Apenas, abrir uma corrida, e esperar o número máximo de participantes na corrida.
  923.     Apenas, administradores, podem criar e editar corridas.
  924. */
  925.  
  926.  
  927. //TextDraws
  928. new Text:Draws[12];
  929. new Text:DrawAnuncio;
  930.  
  931. static const Float:SpawnLocais[][4] = {
  932.     {-2347.14, -1621.67, 483.66, 298.83}, //Chiliad
  933.     {422.75, 2529.62, 16.63, 150.0}, //Aero Abandonado
  934.     {1872.46, -2526.36, 13.54, 90.0},  //Aeroporto LS
  935.     {1990.85, 1547.87, 12.0, 132.15},  //Barco Pirata LV
  936.     {-2595.37, 1389.59, 7.0, 366.20}, //SF - Bayside
  937.     {-1361.26, -227.83, 13.87, 366.0}, //Aeroporto SF
  938.     {1295.24, 1399.25, 10.82, 289.71}, //Aeroporto LV
  939.     {-37.13, -91.06, 3.11, 266.93} //Fazenda EasterBoard
  940. };
  941.  
  942. #define Tele_Stunt 0
  943. #define Tele_Pistas 1
  944. #define Tele_Drift 2
  945. #define Tele_Pulos 3
  946. #define Tele_Corrida 4
  947. #define Tele_Tubos 5
  948. #define Tele_Variados 6
  949. #define Tele_Normal 7
  950.  
  951. new TeleTipo[][] =
  952. {
  953.     {"Stunt (/stunts)"},
  954.     {"Pistas (/pistas)"},
  955.     {"Drift (/drift)"},
  956.     {"Pulos (/pulos)"},
  957.     {"Corridas (/corridas)"},
  958.     {"Tubos (/tubos)"},
  959.     {"Variados (/varios)"},
  960.     {"Normais (/tlnormal)"},
  961.     {"Arenas DM (/arenas)"}
  962. };
  963. enum teleportInfo
  964. {
  965.     teleportNome[128],
  966.     TeleCmd[32],
  967.     teleTipo,
  968.     Float:tX,
  969.     Float:tY,
  970.     Float:tZ,
  971.     Float:tRot,
  972.     bool:tCarregar
  973. }
  974. static const Teleportes[][teleportInfo] =
  975. {
  976.     {"Chilliad", "chiliad", Tele_Stunt, -2347.14, -1621.67, 483.66, 298.83, false},
  977.     {"Aero Abandonado", "aeroabandonado", Tele_Stunt, 422.75, 2529.62, 16.63, 150.0, false},
  978.     {"Represa", "represa", Tele_Stunt, -485.26, 2255.93, 50.86, 132.41, false},
  979.     {"Aeroporto LS", "aerols", Tele_Stunt, 1872.46, -2526.36, 13.54, 90.0, false},
  980.     {"Praia Santa Maria", "praiasm", Tele_Stunt, 338.02, -1761.70, 5.22, 193.49, false},
  981.     {"LV - Piratas Stunt", "pirataslv", Tele_Stunt, 1990.85, 1547.87, 12.0, 132.15, false},
  982.     {"Fazenda EasterBoard", "easterboard", Tele_Stunt, -37.13, -91.06, 3.11, 266.93, false},
  983.     {"San Fierro", "sfstunt", Tele_Stunt, -2595.37, 1389.59, 7.0, 238.0, false},
  984.     {"Aeroporto SF", "aerosf", Tele_Stunt, -1361.26, -227.83, 13.87, 366.0, false},
  985.     {"Aeroporto LV", "aerolv", Tele_Stunt, 1295.24, 1399.25, 10.82, 289.71, false},
  986.     {"Drop 1", "drop1", Tele_Pistas, 849.8343,-2622.8064,798.7162, 0.0, false},
  987.     {"Drop 2", "drop2", Tele_Pistas, 3849.5476,-1059.3527,930.3063, 90.0, false},
  988.     {"Drop 3", "drop3", Tele_Pistas, 978.82, 1739.84, 1012.84, 90.0, true},
  989.     {"Drop 4", "drop4", Tele_Pistas, 1250.09, 2800.61, 1555.12, 180.0, false},
  990.     {"Twister", "twister", Tele_Pistas, 684.7673,442.7378,620.7108,293.0, false},
  991.     {"Tubo Água", "tuboagua", Tele_Tubos, -306.93, 371.07, -35.24, 107.0, false},
  992.     {"Pulo Insano", "puloinsano", Tele_Pulos, 2446.29, -1005.70, 960.30, 260.0, false},
  993.     {"Loop", "loop", Tele_Pistas, 3351.33, -2540.65, 736.50, 17.50, false},
  994.     {"Loop 2", "loop2", Tele_Pistas, -227.09, 980.19, 1312.80, 269.42, false},
  995.     {"Espiral", "espiral", Tele_Tubos, 248.87, 841.87, 362.70, 51.99, false},
  996.     {"Insano", "insano1", Tele_Pistas, -2520.12, 157.85, 3231.90, 0.0, false},
  997.     {"Insano 2", "insano2", Tele_Pistas, 886.52, 874.84, 936.11, 359.33, false},
  998.     {"Insano 3", "insano3", Tele_Pistas, -1611.91, -719.59, 1527.79, 103.64, false},
  999.     {"Big Tunel", "bigtunel", Tele_Pulos, 2226.05, 1500.28, 3864.46, 120.88, false},
  1000.     {"Trampolim", "trampolim", Tele_Variados, 973.25, 1246.26, 410.0, 359.33, false},
  1001.     {"Tubo SF", "tubosf", Tele_Tubos, -1422.95, 998.31, 7.18, 89.25, false},
  1002.     {"Drift", "driff1", Tele_Drift, -295.22, 1536.13, 75.56, 177.28, false},
  1003.     {"Drag", "drag", Tele_Corrida, 2557.99, -252.52, 71.27, 52.57, false},
  1004.     {"Nascar", "nascar", Tele_Corrida, 1782.13, -2347.31, 486.40, 184.32, false},
  1005.     {"Circuito LV", "circuitolv", Tele_Corrida, 3296.49, 1234.61, 18.15, 50.98, false},
  1006.     {"Super Rampa", "superrampa", Tele_Pulos, 1463.5081,-2443.6111,1122.5062, 345.0, false},
  1007.     {"Los Santos", "lossantos", Tele_Normal, 1855.14, -1290.57, 13.04, 0.0, false},
  1008.     {"Los Santos - Transfender", "lstransfender", Tele_Normal, 1065.06, -1032.01, 31.72, 90.0, false},
  1009.     {"Los Santos - Low'Riders", "lslow", Tele_Normal, 2637.79, -2002.55,13.21, 235.12, false},
  1010.     {"San Fierro", "sanfierro", Tele_Normal, -1976.40, 544.83, 34.67, 90.0, false},
  1011.     {"San Fierro - Transfender", "sftransfender", Tele_Normal, -1917.05, 277.81, 40.70, 206.02, false},
  1012.     {"San Fierro - Street Racing (Tunning)", "sftunning", Tele_Normal, -2712.75, 230.53, 3.98, 179.20, false},
  1013.     {"Las Venturas", "lasventuras", Tele_Normal, 2074.66, 1246.14, 10.33, 0.0, false},
  1014.     {"Las Venturas - Transfender", "lvtransfender", Tele_Normal, 2392.83, 987.43, 10.47, 1.0, false},
  1015.     {"Bay Side", "bayside", Tele_Normal, -2482.62, 2225.10, 4.50, 359.72, false},
  1016.     {"Angel Pine", "angelpine", Tele_Normal, -2112.53, -2425.24, 30.28, 146.36, false},
  1017.     {"El Quebrados", "elquebrados", Tele_Normal, -1411.67, 2640.81, 55.34, 88.27, false},
  1018.     {"Las Barrancas", "lasbarrancas", Tele_Normal, -859.74, 1546.95, 22.84, 231.23, false},
  1019.     {"Forte Carson", "fortcarson", Tele_Normal, -153.50, 1090.02, 19.40, 58.57, false},
  1020.     {"Blueberry", "blueberry", Tele_Normal, 219.40, -157.24, 1.23, 292.72, false},
  1021.     {"Dillimore", "dillimore", Tele_Normal, 661.46, -586.25, 15.99, 215.82, false},
  1022.     {"Palomino Creek", "palomino", Tele_Normal, 2279.75, -84.24, 26.17, 193.99, false},
  1023.     {"Montgomery", "montgomery", Tele_Normal, 1373.78, 272.75, 19.19, 13.03, false}
  1024. };
  1025. enum iAreas
  1026. {
  1027.     ArenaNome[128],
  1028.     ArenaCmd[32],
  1029.     Float:ax[3],
  1030.     Float:ay[3],
  1031.     Float:az[3],
  1032.     Float:aRot[3],
  1033.     ArenaInterior,
  1034.     ArenaArmas[14]
  1035. }
  1036. static const ArenasDM[][iAreas] =
  1037. {
  1038.     {"Minigun", "/minigun", {-975.975708,-1131.34},{1060.983032,1057.89},{1345.671875,1346.41}, {90.0,266.25}, 10, {38}},
  1039.     {"Combate AK-47", "/ak47", {2558.80, 2534.86,2545.04}, {-1283.43,-1286.54,-1303.41}, {1031.42,1031.42,1031.42}, {139.73,245.28,177.91}, 2, {30}}
  1040. //    {"1 Soco", 484.2756,1363.2179,353.1300,
  1041. //  {"Vulcão", 343.7978,362.5833,10.8930
  1042. };
  1043.  
  1044. static const FrasesRandomicas[][] =
  1045. {
  1046.     {"{48D1CC}Encontrou problemas no servidor? Relate-os para a administração para que seja solucionado."},
  1047.     {"{48D1CC}Não nos responsabilizamos por contas hackeadas, não use senhas iguais de outros servidores."},
  1048.     {"{48D1CC}Veja as novidades de nosso servidor usando /novidades."},
  1049.     {"{48D1CC}Você pode ouvir rádios online diretamente de nosso servidor, use /radios."},
  1050.     {"{48D1CC}Nós disponibilizamos coisas especiais em veículos, use /teclas e saiba mais."},
  1051.     {"{48D1CC}Mega Freeroam: Stunt, DM, Corridas, Drift, e outros! Obrigado por jogar em nosso servidor!"},
  1052.     {"{48D1CC}Suspeita que alguém use cheater em nosso servidor? Use /relato [id infrator] [justificativa] para que nossa administração resolva!"},
  1053.     {"{48D1CC}Não peça cargo em nosso servidor, você poderá ser banido."},
  1054.     {"{48D1CC}Não divulgue o nosso servidor, em outros servidores. Não queremos conflitos com outros servidores."}
  1055. };
  1056. new Frase_Randomica;
  1057. //new GangZones[9]; //IDs das GangZones.
  1058. static const CargosAdmin[][] =
  1059. {
  1060.     {"Civil"},
  1061.     {"Organizador"},
  1062.     {"Moderador"},
  1063.     {"Gerenciador"},
  1064.     {"Beta-Tester"},
  1065.     {"Desenvolvedor"}
  1066. };
  1067. static const AnimesComandos[][] = {
  1068.     "/push","/carkick", "/lowbodypush", "/spray", "/headbutt", "/medic", "/koface",
  1069.     "/kostomach", "/lifejump", "/cansado", "/leftslap", "/rolar", "/carlock", "/rcarjack1", "/lcarjack1",
  1070.     "/rcarjack2", "/lcarjack2", "/hoodfrisked", "/lightcig", "/calma", "/bat", "/box", "/lay2", "/chant",
  1071.     "/finger", "/gritar", "/cop", "/cutuvelada", "/kneekick", "/fstance", "/gpunch", "/airkick", "/gkick",
  1072.     "/lowthrow", "/highthrow", "/dealstance", "/dancar [1-4]", "/dj [1-4]", "/sup [1-3]", "/basket [1-6]",
  1073.     "/knife [1-4]", "/beijar", "/stop", "/punheta", "/handsup", "/ligar", "/desligar", "/bebado", "/bomba",
  1074.     "/apontar", "/merda", "/marcararse", "/roubar", "/cruzarb", "/deitar", "/abaixar", "/vomitar", "/comer",
  1075.     "/rap", "/passaramao", "/cobrar", "/oberdose", "/fumar", "/fumar2", "/sentar", "/conversar", "/fodase",
  1076.     "/taichi", "/observar"
  1077. };
  1078.  
  1079.  
  1080. enum iGang
  1081. {
  1082.     GangNome[128],
  1083.     GangDescricao[128],
  1084.     Lider, //ID da conta do Lider
  1085.     SubLider, //ID da conta do Sub-Lider
  1086.     GangCor,
  1087.     ID_MySQL,
  1088.     GangTag[5],
  1089.     GangMembros[MAX_GANG_MEMBROS],
  1090.     GangAreas[MAX_GANG_AREAS],
  1091.     bool:Valida
  1092. }
  1093. new Gangs[MAX_GANGS][iGang];
  1094.  
  1095.  
  1096.  
  1097. enum iArea
  1098. {
  1099.     AreaNome[128],
  1100.     AreaGang, //ID DA GANG
  1101.     Float:LocPos[4],
  1102.     Float:LocCentro[3],
  1103.     bool:Dominada,
  1104.     bool:EmAtaque,
  1105.     bool:Valida, //Pra checar se é existente ou não
  1106.     TempoAtaque,
  1107.  
  1108.     ID_MySQL,
  1109.     GangZoneID,
  1110.     AreaID,
  1111.     Text3D:AreaText
  1112. }
  1113. new Areas[MAX_AREAS][iArea];
  1114.  
  1115.  
  1116. /*
  1117.     Hooks (By NicK)
  1118. */
  1119. stock Ex_GivePlayerMoney(playerid, money) {
  1120.     PlayerInfo[playerid][pDinheiro] += money;
  1121.     return GivePlayerMoney(playerid, money);
  1122. }
  1123. #if defined _ALS_GivePlayerMoney
  1124.     #undef GivePlayerMoney
  1125. #else
  1126.     #define _ALS_GivePlayerMoney
  1127. #endif
  1128. #define GivePlayerMoney Ex_GivePlayerMoney
  1129. stock Ex_CriarVeiculo(modelo, Float:x, Float:y, Float:z, Float:rot, cor1, cor2, respawnar) {
  1130.     new vid = CreateVehicle(modelo, x, y, z, rot, cor1, cor2, respawnar);
  1131.     if(vid == INVALID_VEHICLE_ID) return INVALID_VEHICLE_ID;
  1132.     SetVehicleNumberPlate(vid, "M. Freeroam");
  1133.     VehInfo[vid][vehModelo] = modelo;
  1134.     VehInfo[vid][vehCores][0] = cor1;
  1135.     VehInfo[vid][vehCores][1] = cor2;
  1136.     for(new i; i < 14; i++)
  1137.         VehInfo[vid][vehComponentes][i] = 0;
  1138.     VehInfo[vid][NeonID] = 0;
  1139.     //VehInfo[vid][DonoID] = INVALID_PLAYER_ID;
  1140.     return vid;
  1141. }
  1142. #if defined _ALS_CreateVehicle
  1143.     #undef CreateVehicle
  1144. #else
  1145.     #define _ALS_CreateVehicle
  1146. #endif
  1147. #define CreateVehicle Ex_CriarVeiculo
  1148.  
  1149. stock Ex_CriarVeiculoEstatico(modelo, Float:x, Float:y, Float:z, Float:rot, cor1, cor2) {
  1150.     new vid = AddStaticVehicle(modelo, x, y, z, rot, cor1, cor2);
  1151.     if(vid == INVALID_VEHICLE_ID) return INVALID_VEHICLE_ID;
  1152.     SetVehicleNumberPlate(vid, "M. Freeroam");
  1153.     VehInfo[vid][vehModelo] = modelo;
  1154.     VehInfo[vid][vehCores][0] = cor1;
  1155.     VehInfo[vid][vehCores][1] = cor2;
  1156.     for(new i; i < 14; i++)
  1157.         VehInfo[vid][vehComponentes][i] = 0;
  1158.     VehInfo[vid][NeonID] = 0;
  1159.     VehInfo[vid][DonoID] = INVALID_PLAYER_ID;
  1160.     return vid;
  1161. }
  1162. #if defined _ALS_AddStaticVehicle
  1163.     #undef AddStaticVehicle
  1164. #else
  1165.     #define _ALS_AddStaticVehicle
  1166. #endif
  1167. #define AddStaticVehicle Ex_CriarVeiculoEstatico
  1168.  
  1169. stock Ex_DestruirVeiculo(vid) {
  1170.     for(new i; i < 14; i++)
  1171.         VehInfo[vid][vehComponentes][i] = 0;
  1172.     VehInfo[vid][vehModelo] = 0;
  1173.     VehInfo[vid][NeonID] = 0;
  1174.     for(new i; i < 2; i++)
  1175.         VehInfo[vid][vehCores][i] = 0;
  1176.     if(VehInfo[vid][NeonEsquerdo] != 0) {
  1177.         DestroyDynamicObject(VehInfo[vid][NeonEsquerdo]);
  1178.         DestroyDynamicObject(VehInfo[vid][NeonDireito]);
  1179.         VehInfo[vid][NeonEsquerdo] = 0;
  1180.         VehInfo[vid][NeonDireito] = 0;
  1181.     }
  1182.     /*if(VehInfo[vid][DonoID] != INVALID_PLAYER_ID) {
  1183.         new playerid = VehInfo[vid][DonoID];
  1184.         PlayerInfo[playerid][NeonID] = 0;
  1185.         PlayerInfo[playerid][VehModelo] = 0;
  1186.         PlayerInfo[playerid][VehPintura] = 0;
  1187.         for(new i; i < 14; i++)
  1188.             PlayerInfo[playerid][VehComponentes][i] = 0;
  1189.         for(new i; i < 2; i++)
  1190.             PlayerInfo[playerid][VehCores][i] = 0;
  1191.     }
  1192.     VehInfo[vid][DonoID] = INVALID_PLAYER_ID; */
  1193.     return DestroyVehicle(vid);
  1194. }
  1195. #if defined _ALS_DestroyVehicle
  1196.     #undef DestroyVehicle
  1197. #else
  1198.     #define _ALS_DestroyVehicle
  1199. #endif
  1200. #define DestroyVehicle Ex_DestruirVeiculo
  1201.  
  1202. stock Ex_AdicionarComponente(vid, componentid) {
  1203.     VehInfo[vid][vehComponentes][GetVehicleComponentType(componentid)] = componentid;
  1204.     if(VehInfo[vid][DonoID] != INVALID_PLAYER_ID)
  1205.         PlayerInfo[VehInfo[vid][DonoID]][VehComponentes][GetVehicleComponentType(componentid)] = componentid;
  1206.     return AddVehicleComponent(vid, componentid);
  1207. }
  1208. #if defined _ALS_AddVehicleComponent
  1209.     #undef AddVehicleComponent
  1210. #else
  1211.     #define _ALS_AddVehicleComponent
  1212. #endif
  1213. #define AddVehicleComponent Ex_AdicionarComponente
  1214.  
  1215. stock Ex_RemoverComponente(vid, componentid) {
  1216.     VehInfo[vid][vehComponentes][GetVehicleComponentType(componentid)] = 0;
  1217.     if(VehInfo[vid][DonoID] != INVALID_PLAYER_ID)
  1218.         PlayerInfo[VehInfo[vid][DonoID]][VehComponentes][GetVehicleComponentType(componentid)] = 0;
  1219.     return RemoveVehicleComponent(vid, componentid);
  1220. }
  1221. #if defined _ALS_RemoveVehicleComponent
  1222.     #undef RemoveVehicleComponent
  1223. #else
  1224.     #define _ALS_RemoveVehicleComponent
  1225. #endif
  1226. #define RemoveVehicleComponent Ex_RemoverComponente
  1227.  
  1228. stock Ex_ChangeVehicleColor(vid, cor1, cor2) {
  1229.     VehInfo[vid][vehCores][0] = cor1;
  1230.     VehInfo[vid][vehCores][1] = cor2;
  1231.     if(VehInfo[vid][DonoID] != INVALID_PLAYER_ID) {
  1232.         PlayerInfo[VehInfo[vid][DonoID]][VehCores][0] = cor1;
  1233.         PlayerInfo[VehInfo[vid][DonoID]][VehCores][1] = cor2;
  1234.     }
  1235.     return ChangeVehicleColor(vid, cor1, cor2);
  1236. }
  1237.  
  1238. #if defined _ALS_ChangeVehicleColor
  1239.     #undef ChangeVehicleColor
  1240. #else
  1241.     #define _ALS_ChangeVehicleColor
  1242. #endif
  1243. #define ChangeVehicleColor Ex_ChangeVehicleColor
  1244.  
  1245. stock Ex_SetPlayerPos(playerid, Float:x, Float:y, Float:z) {
  1246.     CallRemoteFunction("Drift_SetPos", "dfff", playerid, x, y, z);
  1247.     return SetPlayerPos(playerid, x, y, z);
  1248. }
  1249.  
  1250. #if defined _ALS_SetPlayerPos
  1251.     #undef SetPlayerPos
  1252. #else
  1253.     #define _ALS_SetPlayerPos
  1254. #endif
  1255. #define SetPlayerPos Ex_SetPlayerPos
  1256.  
  1257.  
  1258. /*
  1259.     Callbacks SA-MP e Outras (by NicK)
  1260. */
  1261.  
  1262. main()
  1263. {
  1264.     print("\n----------------------------------");
  1265.     print("Mega Freeroam - Stunt/DM/Drift/Race");
  1266.     print("----------------------------------\n");
  1267. }
  1268.  
  1269. public OnGameModeInit()
  1270. {
  1271.     AntiDeAMX();
  1272.     //MySQL
  1273.     mysql = mysql_connect(mysql_host, mysql_usuario, mysql_db, mysql_senha);
  1274.     if(mysql_errno(mysql)) return print("Problema de conexão no MySQL"), SendRconCommand("exit");
  1275.     print("MySQL conectado");
  1276.     UsePlayerPedAnims();
  1277.     //DisableInteriorEnterExits();
  1278.     ShowPlayerMarkers(1);
  1279.     ShowNameTags(1);
  1280.     EnableStuntBonusForAll(1);
  1281.     SetGameModeText("Stunt/DM/Drift/Race "Versao"");
  1282.     //Skins
  1283.     AddPlayerClass(29,  2000.71, 1522.77, 17.06, 179.80, 0, 0, 0, 0, 0, 0);
  1284.     AddPlayerClass(2,  2000.71, 1522.77, 17.06, 179.80, 0, 0, 0, 0, 0, 0);
  1285.     AddPlayerClass(96,  2000.71, 1522.77, 17.06, 179.80, 0, 0, 0, 0, 0, 0);
  1286.     AddPlayerClass(30,  2000.71, 1522.77, 17.06, 179.80, 0, 0, 0, 0, 0, 0);
  1287.     AddPlayerClass(23,  2000.71, 1522.77, 17.06, 179.80, 0, 0, 0, 0, 0, 0);
  1288.     AddPlayerClass(169,  2000.71, 1522.77, 17.06, 179.80, 0, 0, 0, 0, 0, 0);
  1289.     AddPlayerClass(170,  2000.71, 1522.77, 17.06, 179.80, 0, 0, 0, 0, 0, 0);
  1290.     AddPlayerClass(15,  2000.71, 1522.77, 17.06, 179.80, 0, 0, 0, 0, 0, 0);
  1291.     AddPlayerClass(20,  2000.71, 1522.77, 17.06, 179.80, 0, 0, 0, 0, 0, 0);
  1292.     AddPlayerClass(59,  2000.71, 1522.77, 17.06, 179.80, 0, 0, 0, 0, 0, 0);
  1293.     AddPlayerClass(163,  2000.71, 1522.77, 17.06, 179.80, 0, 0, 0, 0, 0, 0);
  1294.     AddPlayerClass(147,  2000.71, 1522.77, 17.06, 179.80, 0, 0, 0, 0, 0, 0);
  1295.     AddPlayerClass(82,  2000.71, 1522.77, 17.06, 179.80, 0, 0, 0, 0, 0, 0);
  1296.     AddPlayerClass(188,  2000.71, 1522.77, 17.06, 179.80, 0, 0, 0, 0, 0, 0);
  1297.     AddPlayerClass(76,  2000.71, 1522.77, 17.06, 179.80, 0, 0, 0, 0, 0, 0);
  1298.     AddPlayerClass(45,  2000.71, 1522.77, 17.06, 179.80, 0, 0, 0, 0, 0, 0);
  1299.     AddPlayerClass(100,  2000.71, 1522.77, 17.06, 179.80, 0, 0, 0, 0, 0, 0);
  1300.     AddPlayerClass(101,  2000.71, 1522.77, 17.06, 179.80, 0, 0, 0, 0, 0, 0);
  1301.     AddPlayerClass(91,  2000.71, 1522.77, 17.06, 179.80, 0, 0, 0, 0, 0, 0);
  1302.     AddPlayerClass(137,  2000.71, 1522.77, 17.06, 179.80, 0, 0, 0, 0, 0, 0);
  1303.     AddPlayerClass(66,  2000.71, 1522.77, 17.06, 179.80, 0, 0, 0, 0, 0, 0);
  1304.     AddPlayerClass(60,  2000.71, 1522.77, 17.06, 179.80, 0, 0, 0, 0, 0, 0);
  1305.     AddPlayerClass(72,  2000.71, 1522.77, 17.06, 179.80, 0, 0, 0, 0, 0, 0);
  1306.     AddPlayerClass(191,  2000.71, 1522.77, 17.06, 179.80, 0, 0, 0, 0, 0, 0);
  1307.     AddPlayerClass(117,  2000.71, 1522.77, 17.06, 179.80, 0, 0, 0, 0, 0, 0);
  1308.     AddPlayerClass(192,  2000.71, 1522.77, 17.06, 179.80, 0, 0, 0, 0, 0, 0);
  1309.     AddPlayerClass(184,  2000.71, 1522.77, 17.06, 179.80, 0, 0, 0, 0, 0, 0);
  1310.     AddPlayerClass(264,  2000.71, 1522.77, 17.06, 179.80, 0, 0, 0, 0, 0, 0);
  1311.     AddPlayerClass(179,  2000.71, 1522.77, 17.06, 179.80, 0, 0, 0, 0, 0, 0);
  1312.     AddPlayerClass(261,  2000.71, 1522.77, 17.06, 179.80, 0, 0, 0, 0, 0, 0);
  1313.     AddPlayerClass(115,  2000.71, 1522.77, 17.06, 179.80, 0, 0, 0, 0, 0, 0);
  1314.     AddPlayerClass(193,  2000.71, 1522.77, 17.06, 179.80, 0, 0, 0, 0, 0, 0);
  1315.     AddPlayerClass(126,  2000.71, 1522.77, 17.06, 179.80, 0, 0, 0, 0, 0, 0);
  1316.     AddPlayerClass(270,  2000.71, 1522.77, 17.06, 179.80, 0, 0, 0, 0, 0, 0);
  1317.     AddPlayerClass(173,  2000.71, 1522.77, 17.06, 179.80, 0, 0, 0, 0, 0, 0);
  1318.     AddPlayerClass(194,  2000.71, 1522.77, 17.06, 179.80, 0, 0, 0, 0, 0, 0);
  1319.     AddPlayerClass(289,  2000.71, 1522.77, 17.06, 179.80, 0, 0, 0, 0, 0, 0);
  1320.     AddPlayerClass(273,  2000.71, 1522.77, 17.06, 179.80, 0, 0, 0, 0, 0, 0);
  1321.     AddPlayerClass(250,  2000.71, 1522.77, 17.06, 179.80, 0, 0, 0, 0, 0, 0);
  1322.     AddPlayerClass(299,  2000.71, 1522.77, 17.06, 179.80, 0, 0, 0, 0, 0, 0);
  1323.     AddPlayerClass(248,  2000.71, 1522.77, 17.06, 179.80, 0, 0, 0, 0, 0, 0);
  1324.     AddPlayerClass(230,  2000.71, 1522.77, 17.06, 179.80, 0, 0, 0, 0, 0, 0);
  1325.     AddPlayerClass(240,  2000.71, 1522.77, 17.06, 179.80, 0, 0, 0, 0, 0, 0);
  1326.  
  1327.     //mSelection
  1328.     SKIN_LISTA = LoadModelSelectionMenu("skins.txt");
  1329.     ARMA_LISTA = LoadModelSelectionMenu("armas.txt");
  1330.  
  1331.     /* Text Draws Globais */
  1332.     Draws[0] = TextDrawCreate(565.000000, 80.000000, " ");
  1333.     TextDrawAlignment(Draws[0], 2);
  1334.     TextDrawBackgroundColor(Draws[0], 0x00000000);
  1335.     TextDrawFont(Draws[0], 5);
  1336.     TextDrawLetterSize(Draws[0], -0.949999, -12.100000);
  1337.     TextDrawColor(Draws[0], -1);
  1338.     TextDrawSetOutline(Draws[0], 0);
  1339.     TextDrawSetProportional(Draws[0], 1);
  1340.     TextDrawSetShadow(Draws[0], 0);
  1341.     TextDrawUseBox(Draws[0], 1);
  1342.     TextDrawBoxColor(Draws[0], 0);
  1343.     TextDrawTextSize(Draws[0], 54.000000, 68.000000);
  1344.     TextDrawSetPreviewModel(Draws[0], 415);
  1345.     TextDrawSetPreviewRot(Draws[0], -10.000000, -2.000000, 30.000000, 0.899999);
  1346.     TextDrawSetSelectable(Draws[0], 0);
  1347.  
  1348.     Draws[1] = TextDrawCreate(488.000000, 80.000000, " ");
  1349.     TextDrawAlignment(Draws[1], 2);
  1350.     TextDrawBackgroundColor(Draws[1], 0x00000000);
  1351.     TextDrawFont(Draws[1], 5);
  1352.     TextDrawLetterSize(Draws[1], -0.949999, -12.100000);
  1353.     TextDrawColor(Draws[1], -1);
  1354.     TextDrawSetOutline(Draws[1], 0);
  1355.     TextDrawSetProportional(Draws[1], 1);
  1356.     TextDrawSetShadow(Draws[1], 0);
  1357.     TextDrawUseBox(Draws[1], 1);
  1358.     TextDrawBoxColor(Draws[1], 0);
  1359.     TextDrawTextSize(Draws[1], 54.000000, 68.000000);
  1360.     TextDrawSetPreviewModel(Draws[1], 402);
  1361.     TextDrawSetPreviewRot(Draws[1], -10.000000, -2.000000, -20.000000, 0.899999);
  1362.     TextDrawSetSelectable(Draws[1], 0);
  1363.  
  1364.     Draws[2] = TextDrawCreate(523.000000, 80.000000, " ");
  1365.     TextDrawAlignment(Draws[2], 2);
  1366.     TextDrawBackgroundColor(Draws[2], 0x00000000);
  1367.     TextDrawFont(Draws[2], 5);
  1368.     TextDrawLetterSize(Draws[2], -0.949999, -12.100000);
  1369.     TextDrawColor(Draws[2], -1);
  1370.     TextDrawSetOutline(Draws[2], 0);
  1371.     TextDrawSetProportional(Draws[2], 1);
  1372.     TextDrawSetShadow(Draws[2], 0);
  1373.     TextDrawUseBox(Draws[2], 1);
  1374.     TextDrawBoxColor(Draws[2], 0);
  1375.     TextDrawTextSize(Draws[2], 54.000000, 68.000000);
  1376.     TextDrawSetPreviewModel(Draws[2], 411);
  1377.     TextDrawSetPreviewRot(Draws[2], -10.000000, -2.000000, 0.000000, 0.800000);
  1378.     TextDrawSetSelectable(Draws[2], 0);
  1379.  
  1380.     Draws[3] = TextDrawCreate(548.000000, 90.000000, " ");
  1381.     TextDrawAlignment(Draws[3], 2);
  1382.     TextDrawBackgroundColor(Draws[3], 0x00000000);
  1383.     TextDrawFont(Draws[3], 5);
  1384.     TextDrawLetterSize(Draws[3], -0.949999, -12.100000);
  1385.     TextDrawColor(Draws[3], -1);
  1386.     TextDrawSetOutline(Draws[3], 0);
  1387.     TextDrawSetProportional(Draws[3], 1);
  1388.     TextDrawSetShadow(Draws[3], 0);
  1389.     TextDrawUseBox(Draws[3], 1);
  1390.     TextDrawBoxColor(Draws[3], 0);
  1391.     TextDrawTextSize(Draws[3], 54.000000, 68.000000);
  1392.     TextDrawSetPreviewModel(Draws[3], 522);
  1393.     TextDrawSetPreviewRot(Draws[3], -10.000000, -2.000000, 15.000000, 1.100000);
  1394.     TextDrawSetSelectable(Draws[3], 0);
  1395.  
  1396.     Draws[4] = TextDrawCreate(499.000000, 90.000000, " ");
  1397.     TextDrawAlignment(Draws[4], 2);
  1398.     TextDrawBackgroundColor(Draws[4], 0x00000000);
  1399.     TextDrawFont(Draws[4], 5);
  1400.     TextDrawLetterSize(Draws[4], -0.949999, -12.100000);
  1401.     TextDrawColor(Draws[4], -1);
  1402.     TextDrawSetOutline(Draws[4], 0);
  1403.     TextDrawSetProportional(Draws[4], 1);
  1404.     TextDrawSetShadow(Draws[4], 0);
  1405.     TextDrawUseBox(Draws[4], 1);
  1406.     TextDrawBoxColor(Draws[4], 0);
  1407.     TextDrawTextSize(Draws[4], 54.000000, 68.000000);
  1408.     TextDrawSetPreviewModel(Draws[4], 522);
  1409.     TextDrawSetPreviewRot(Draws[4], -10.000000, -2.000000, -15.000000, 1.100000);
  1410.     TextDrawSetSelectable(Draws[4], 0);
  1411.  
  1412.     Draws[5] = TextDrawCreate(566.000000, 92.000000, ".");
  1413.     TextDrawAlignment(Draws[5], 2);
  1414.     TextDrawBackgroundColor(Draws[5], 255);
  1415.     TextDrawFont(Draws[5], 1);
  1416.     TextDrawLetterSize(Draws[5], 13.420015, 1.000000);
  1417.     TextDrawColor(Draws[5], -1);
  1418.     TextDrawSetOutline(Draws[5], 0);
  1419.     TextDrawSetProportional(Draws[5], 1);
  1420.     TextDrawSetShadow(Draws[5], 0);
  1421.     TextDrawSetSelectable(Draws[5], 0);
  1422.  
  1423.     Draws[6] = TextDrawCreate(557.000000, 97.000000, "Mega Freeroam");
  1424.     TextDrawAlignment(Draws[6], 2);
  1425.     TextDrawBackgroundColor(Draws[6], 255);
  1426.     TextDrawFont(Draws[6], 2);
  1427.     TextDrawLetterSize(Draws[6], 0.280000, 1.800000);
  1428.     TextDrawColor(Draws[6], -1);
  1429.     TextDrawSetOutline(Draws[6], 0);
  1430.     TextDrawSetProportional(Draws[6], 1);
  1431.     TextDrawSetShadow(Draws[6], 1);
  1432.     TextDrawSetSelectable(Draws[6], 0);
  1433.  
  1434.     Draws[7] = TextDrawCreate(551.000000, 21.000000, "--:--");
  1435.     TextDrawBackgroundColor(Draws[7], 255);
  1436.     TextDrawFont(Draws[7], 3);
  1437.     TextDrawLetterSize(Draws[7], 0.509999, 2.399999);
  1438.     TextDrawColor(Draws[7], -1);
  1439.     TextDrawSetOutline(Draws[7], 1);
  1440.     TextDrawSetProportional(Draws[7], 1);
  1441.     TextDrawSetSelectable(Draws[7], 0);
  1442.  
  1443.     Draws[8] = TextDrawCreate(615.000000, 109.000000, Versao);
  1444.     TextDrawBackgroundColor(Draws[8], 255);
  1445.     TextDrawFont(Draws[8], 2);
  1446.     TextDrawLetterSize(Draws[8], 0.220000, 1.200000);
  1447.     TextDrawColor(Draws[8], -1);
  1448.     TextDrawSetOutline(Draws[8], 0);
  1449.     TextDrawSetProportional(Draws[8], 1);
  1450.     TextDrawSetShadow(Draws[8], 1);
  1451.     TextDrawSetSelectable(Draws[8], 0);
  1452.  
  1453.     Draws[9] = TextDrawCreate(383.000000, 431.000000, "~b~/cmds ~w~- Comandos ~b~/teles ~w~- Teleportes ~b~/v ~w~- Veiculos");
  1454.     TextDrawAlignment(Draws[9], 2);
  1455.     TextDrawBackgroundColor(Draws[9], 255);
  1456.     TextDrawFont(Draws[9], 2);
  1457.     TextDrawLetterSize(Draws[9], 0.340000, 1.600000);
  1458.     TextDrawColor(Draws[9], -1);
  1459.     TextDrawSetOutline(Draws[9], 1);
  1460.     TextDrawSetProportional(Draws[9], 1);
  1461.     TextDrawUseBox(Draws[9], 1);
  1462.     TextDrawBoxColor(Draws[9], 16);
  1463.     TextDrawTextSize(Draws[9], 0.000000, 405.000000);
  1464.     TextDrawSetSelectable(Draws[9], 0);
  1465.  
  1466.     Draws[10] = TextDrawCreate(616.500000, 431.000000, "0/150");
  1467.     TextDrawAlignment(Draws[10], 2);
  1468.     TextDrawBackgroundColor(Draws[10], 255);
  1469.     TextDrawFont(Draws[10], 2);
  1470.     TextDrawLetterSize(Draws[10], 0.270000, 1.600000);
  1471.     TextDrawColor(Draws[10], -1);
  1472.     TextDrawSetOutline(Draws[10], 1);
  1473.     TextDrawSetProportional(Draws[10], 1);
  1474.     TextDrawUseBox(Draws[10], 1);
  1475.     TextDrawBoxColor(Draws[10], 16);
  1476.     TextDrawTextSize(Draws[10], 0.000000, 55.000000);
  1477.     TextDrawSetSelectable(Draws[10], 0);
  1478.    
  1479.     Draws[11] = TextDrawCreate(609.000000, 30.000000, ":--");
  1480.     TextDrawAlignment(Draws[11], 2);
  1481.     TextDrawBackgroundColor(Draws[11], 255);
  1482.     TextDrawFont(Draws[11], 3);
  1483.     TextDrawLetterSize(Draws[11], 0.270000, 1.200000);
  1484.     TextDrawColor(Draws[11], -1);
  1485.     TextDrawSetOutline(Draws[11], 1);
  1486.     TextDrawSetProportional(Draws[11], 1);
  1487.     TextDrawSetSelectable(Draws[11], 0);
  1488.  
  1489.     DrawAnuncio = TextDrawCreate(386.000000, 357.000000, " ");
  1490.     TextDrawAlignment(DrawAnuncio, 2);
  1491.     TextDrawBackgroundColor(DrawAnuncio, 255);
  1492.     TextDrawFont(DrawAnuncio, 1);
  1493.     TextDrawLetterSize(DrawAnuncio, 0.430000, 1.500000);
  1494.     TextDrawColor(DrawAnuncio, -1);
  1495.     TextDrawSetOutline(DrawAnuncio, 0);
  1496.     TextDrawSetProportional(DrawAnuncio, 1);
  1497.     TextDrawSetShadow(DrawAnuncio, 1);
  1498.     TextDrawUseBox(DrawAnuncio, 1);
  1499.     TextDrawBoxColor(DrawAnuncio, 0x00000000);
  1500.     TextDrawTextSize(DrawAnuncio, 0.000000, 472.000000);
  1501.     TextDrawSetSelectable(DrawAnuncio, 0);
  1502.  
  1503.  
  1504.     Contagem[DrawContagem] = TextDrawCreate(321.000000, 126.000000, " ");
  1505.     TextDrawAlignment(Contagem[DrawContagem], 2);
  1506.     TextDrawBackgroundColor(Contagem[DrawContagem], 255);
  1507.     TextDrawFont(Contagem[DrawContagem], 2);
  1508.     TextDrawLetterSize(Contagem[DrawContagem], 0.720000, 3.700001);
  1509.     TextDrawColor(Contagem[DrawContagem], -1);
  1510.     TextDrawSetOutline(Contagem[DrawContagem], 1);
  1511.     TextDrawSetProportional(Contagem[DrawContagem], 1);
  1512.     TextDrawSetSelectable(Contagem[DrawContagem], 0);
  1513.  
  1514. //    Mapas();
  1515.     Veiculos();
  1516.     SendRconCommand("reloadfs Objetos");
  1517.     SendRconCommand("reloadfs driftpoints"); // Implantado
  1518.     SetTimer("Global", 1000, true);
  1519.     SetTimer("Frases", 1000 * 60 * 5, true);
  1520.     SetTimer("CorridaAleatoria", 1000 * 60 * 25, true);
  1521.    
  1522.     CarregarGangs();
  1523.     CarregarAreas();
  1524.     for(new i; i < CountDynamicObjects(); i++) {
  1525.         if(!IsValidDynamicObject(i)) continue;
  1526.         Streamer_SetFloatData(STREAMER_TYPE_OBJECT, i, E_STREAMER_STREAM_DISTANCE, 300.0);
  1527.     }
  1528.  
  1529.     return 1;
  1530. }
  1531. stock CarregarGangs() {
  1532.     new Cache:G = mysql_query(mysql, "SELECT * FROM gangs", true);
  1533.     if(cache_num_rows(mysql) > 0) {
  1534.         new gangid, string[200];
  1535.         for(new i; i < cache_num_rows(mysql); i++)
  1536.         {
  1537.             gangid++;
  1538.             if(gangid >= MAX_GANGS) break;
  1539.             Gangs[gangid][ID_MySQL] = cache_get_field_content_int(i, "id", mysql);
  1540.             Gangs[gangid][Lider] = cache_get_field_content_int(i, "Lider", mysql);
  1541.             Gangs[gangid][SubLider] = cache_get_field_content_int(i, "SubLider", mysql);
  1542.             Gangs[gangid][GangCor] = cache_get_field_content_int(i, "Cor", mysql);
  1543.             cache_get_field_content(i, "Membros", string, mysql, sizeof(string));
  1544.             unformat(string, "p<,>a<i>["#MAX_GANG_MEMBROS"]", Gangs[gangid][GangMembros]);
  1545.             cache_get_field_content(i, "Areas", string, mysql, sizeof(string));
  1546.             unformat(string, "p<,>a<i>["#MAX_GANG_AREAS"]", Gangs[gangid][GangAreas]);
  1547.             cache_get_field_content(i, "Nome", Gangs[gangid][GangNome], mysql, 128);
  1548.             cache_get_field_content(i, "Descricao", Gangs[gangid][GangDescricao], mysql, 128);
  1549.             cache_get_field_content(i, "TAG", Gangs[gangid][GangTag], mysql, 5);
  1550.             Gangs[gangid][Valida] = true;
  1551.         }
  1552.         printf("%i gangs carregadas!", gangid);
  1553.     }
  1554.     cache_delete(G, mysql);
  1555.     return 1;
  1556. }
  1557.  
  1558. stock CarregarAreas() {
  1559.     new Cache:A = mysql_query(mysql, "SELECT * FROM areas", true);
  1560.     if(cache_num_rows(mysql) > 0) {
  1561.         new areaid, string[200];
  1562.         for(new i; i < cache_num_rows(mysql); i++) {
  1563.             areaid++;
  1564.             if(areaid >= MAX_AREAS) break;
  1565.             Areas[areaid][ID_MySQL] = cache_get_field_content_int(i, "id", mysql);
  1566.             Areas[areaid][AreaGang] = cache_get_field_content_int(i, "Gang", mysql);
  1567.             cache_get_field_content(i, "Nome", Areas[areaid][AreaNome], mysql, 128);
  1568.             cache_get_field_content(i, "Localizacao", string, mysql, 200);
  1569.             unformat(string, "p<,>a<f>[4]", Areas[areaid][LocPos]);
  1570.             cache_get_field_content(i, "Centro", string, mysql, 200);
  1571.             unformat(string, "p<,>a<f>[3]", Areas[areaid][LocCentro]);
  1572.             Areas[areaid][Dominada] = (Areas[areaid][AreaGang] == 0) ? (false) : (true);
  1573.             Areas[areaid][EmAtaque] = false;
  1574.             Areas[areaid][Valida] = true;
  1575.             Areas[areaid][GangZoneID] = GangZoneCreate(Areas[areaid][LocPos][0],Areas[areaid][LocPos][1],Areas[areaid][LocPos][2],Areas[areaid][LocPos][3]);
  1576.             GangZoneShowForAll(Areas[areaid][GangZoneID], (Areas[areaid][AreaGang] == 0) ? (COR_AREA) : (Gangs[Areas[areaid][AreaGang]][GangCor]));
  1577.             Areas[areaid][AreaID] = CreateDynamicRectangle(Areas[areaid][LocPos][0],Areas[areaid][LocPos][1],Areas[areaid][LocPos][2],Areas[areaid][LocPos][3]);
  1578.             if(Areas[areaid][Dominada] == true)
  1579.                 format(string, 200, "Gang: %s\nDescrição: %s\nNome Área: %s", Gangs[Areas[areaid][AreaGang]][GangNome], Gangs[Areas[areaid][AreaGang]][GangDescricao],Areas[areaid][AreaNome]);
  1580.             else
  1581.                 format(string, 200, "Área Neutra");
  1582.             Areas[areaid][AreaText] = CreateDynamic3DTextLabel(string, (Areas[areaid][AreaGang] == 0) ? (COR_AREA) : (Gangs[Areas[areaid][AreaGang]][GangCor]), Areas[areaid][LocCentro][0], Areas[areaid][LocCentro][1], Areas[areaid][LocCentro][2], 20.0);
  1583.         }
  1584.         printf("%i areas carregadas!", areaid);
  1585.     }
  1586.     cache_delete(A, mysql);
  1587.     return 1;
  1588. }
  1589.  
  1590. public OnGameModeExit()
  1591. {
  1592.     mysql_close(mysql);
  1593.     return 1;
  1594. }
  1595.  
  1596. public OnPlayerRequestClass(playerid, classid)
  1597. {
  1598.     if(PlayerInfo[playerid][pCameraConnect] == true) {
  1599.         SetPlayerPos(playerid, -1858.5479,4468.7563,6.6136);
  1600.         SetPlayerFacingAngle(playerid, 15.0);
  1601.         InterpolateCameraPos(playerid, -1898.57, 4600.78, 14.78, -1860.41, 4472.30, 5.69, 10000, CAMERA_CUT);
  1602.         InterpolateCameraLookAt(playerid, -1849.26, 4431.16, 22.96, -1858.5479,4468.7563,6.6136, 12000, CAMERA_CUT);
  1603.         PlayerInfo[playerid][pCameraConnect] = false;
  1604.         /*SetPlayerCameraPos(playerid, 1997.41, 1520.09, 17.06);
  1605.         SetPlayerCameraLookAt(playerid, 2000.71, 1522.77, 17.06, CAMERA_MOVE); */
  1606.     }
  1607.     return 1;
  1608. }
  1609.  
  1610. public OnPlayerRequestSpawn(playerid)
  1611. {
  1612.     if(PlayerInfo[playerid][Logado] == false) return false;
  1613.     new spawn = random(sizeof(SpawnLocais));
  1614.     SetSpawnInfo(playerid, NO_TEAM, GetPlayerSkin(playerid), SpawnLocais[spawn][0], SpawnLocais[spawn][1], SpawnLocais[spawn][2], SpawnLocais[spawn][3], 22, 99999, 28, 99999, 31, 99999);
  1615.     SpawnPlayer(playerid);
  1616.     return 1;
  1617. }
  1618.  
  1619. public OnPlayerConnect(playerid)
  1620. {
  1621.     new samp[50];
  1622.     GetPlayerVersion(playerid, samp, 50);
  1623.     if(!strcmp(samp, "unknown", true)) return BanEx(playerid, "bot unknown");
  1624.  
  1625.     SetPlayerColor(playerid, CorNome[random(sizeof(CorNome))]);
  1626.     GetPlayerName(playerid, PlayerInfo[playerid][pNome], MAX_PLAYER_NAME);
  1627.  
  1628.     new string[256], Serial[128], Cache:BanGPCI;
  1629.     gpci(playerid, Serial, sizeof(Serial));
  1630.     mysql_format(mysql, string, sizeof(string), "SELECT * FROM gpci WHERE Serial='%e' AND DesbanAuto > %i", Serial, gettime());
  1631.     BanGPCI = mysql_query(mysql, string, true);
  1632.     if(cache_num_rows(mysql) > 0) {
  1633.         new Dialog[400], Motivo[128], NomeBan[24], DataBan[50], IPBan[16], Ignore[100], Ignore_List[200], bool:BanIgnorado = false, ID = cache_get_field_content_int(0, "ID", mysql);
  1634.         cache_get_field_content(0, "Ignorar", Ignore_List, mysql);
  1635.         cache_get_field_content(0, "Motivo", Motivo, mysql);
  1636.         cache_get_field_content(0, "IP", IPBan, mysql);
  1637.         cache_get_field_content(0, "Nome", NomeBan, mysql);
  1638.         cache_get_field_content(0, "Data", DataBan,mysql);
  1639.         if(strlen(Ignore_List) > 0) {
  1640.             unformat(Ignore_List, "p<,>a<i>[100]", Ignore);
  1641.             new Cache:PegarID, PlayerID;
  1642.             mysql_format(mysql, string, sizeof(string), "SELECT id FROM usuarios WHERE Nome='%s' LIMIT 1", PlayerInfo[playerid][pNome]);
  1643.             PegarID = mysql_query(mysql, string, true);
  1644.             if(cache_num_rows(mysql) > 0) {
  1645.                 PlayerID = cache_get_field_content_int(0, "id", mysql);
  1646.                 for(new i; i < 100; i++) {
  1647.                     if(Ignore[i] == 0) continue;
  1648.                     if(Ignore[i] == PlayerID)
  1649.                     {
  1650.                         BanIgnorado = true;
  1651.                         break;
  1652.                     }
  1653.                 }
  1654.             }
  1655.             cache_delete(PegarID, mysql);
  1656.         }
  1657.         if(BanIgnorado == false) {
  1658.             format(Dialog,sizeof(Dialog), "Olá %s.\n\nInfelismente, você está banido pelo sistema de banimento por serial do servidor.\n\nID do Banimento: %i (Necessário)\nSerial: %s\nIP: %s\nUsuário banido: %s\nData do banimento: %s\nMotivo: %s\n\n",
  1659.                 PlayerInfo[playerid][pNome], ID, Serial, IPBan, NomeBan, DataBan, Motivo);
  1660.             ShowPlayerDialog(playerid, DialogSemResposta, DIALOG_STYLE_MSGBOX, "{ff0000}# {ffffff}Banido permanentemente!", Dialog, "Fechar", "");
  1661.             cache_delete(BanGPCI, mysql);
  1662.             Kick(playerid);
  1663.             return 1;
  1664.         }
  1665.     }
  1666.     cache_delete(BanGPCI, mysql);
  1667.  
  1668.     new ORM:ormid = orm_create("usuarios", mysql);
  1669.    
  1670.     orm_addvar_string(ormid, PlayerInfo[playerid][pNome], 24, "Nome");
  1671.     orm_addvar_string(ormid, PlayerInfo[playerid][pSenha], 50, "Senha");
  1672.     orm_addvar_int(ormid, PlayerInfo[playerid][pMySQL_ID], "id");
  1673.     orm_addvar_int(ormid, PlayerInfo[playerid][pLevel], "Level");
  1674.     orm_addvar_int(ormid, PlayerInfo[playerid][pMorreu], "Morreu");
  1675.     orm_addvar_int(ormid, PlayerInfo[playerid][pMatou], "Matou");
  1676.     orm_addvar_int(ormid, PlayerInfo[playerid][pDinheiro], "Dinheiro");
  1677.     orm_addvar_int(ormid, PlayerInfo[playerid][pScore], "Score");
  1678.     orm_addvar_int(ormid, PlayerInfo[playerid][pGold], "Gold");
  1679.     orm_addvar_int(ormid, PlayerInfo[playerid][pCorridas], "Corridas");
  1680.     orm_addvar_int(ormid, PlayerInfo[playerid][pDriftPontosTotal], "PontosDrift");
  1681.     orm_addvar_int(ormid, PlayerInfo[playerid][ModoDrift], "ModoDrift");
  1682.     orm_addvar_string(ormid, PlayerInfo[playerid][pRegistroDia], 50, "Registrado");
  1683.     orm_addvar_int(ormid, PlayerInfo[playerid][pUltimoLogin], "UltimoLogin");
  1684.     orm_addvar_int(ormid, PlayerInfo[playerid][pTempoJogado], "TempoJogado");
  1685.     orm_addvar_int(ormid, PlayerInfo[playerid][Teclas], "Teclas");
  1686.     orm_addvar_int(ormid, PlayerInfo[playerid][Mudo], "Mudo");
  1687.     orm_addvar_int(ormid, PlayerInfo[playerid][MostrarDano], "ExibirDano");
  1688.     orm_addvar_int(ormid, PlayerInfo[playerid][pGang], "Gang");
  1689.     //Salvamento de Veículo
  1690.     orm_addvar_int(ormid, PlayerInfo[playerid][VehModelo], "VeiculoModelo");
  1691.     orm_addvar_int(ormid, PlayerInfo[playerid][VehCores][0], "VeiculoCor1");
  1692.     orm_addvar_int(ormid, PlayerInfo[playerid][VehCores][1], "VeiculoCor2");
  1693.     orm_addvar_int(ormid, PlayerInfo[playerid][NeonID], "Neon");
  1694.     orm_addvar_int(ormid, PlayerInfo[playerid][VehPintura], "VeiculoPintura");
  1695.     orm_addvar_int(ormid, PlayerInfo[playerid][VehComponentes][0], "Aerofolio");
  1696.     orm_addvar_int(ormid, PlayerInfo[playerid][VehComponentes][1], "Capô");
  1697.     orm_addvar_int(ormid, PlayerInfo[playerid][VehComponentes][2], "Teto");
  1698.     orm_addvar_int(ormid, PlayerInfo[playerid][VehComponentes][3], "SaiasLaterais");
  1699.     orm_addvar_int(ormid, PlayerInfo[playerid][VehComponentes][4], "Farois");
  1700.     orm_addvar_int(ormid, PlayerInfo[playerid][VehComponentes][5], "Nitro");
  1701.     orm_addvar_int(ormid, PlayerInfo[playerid][VehComponentes][6], "Descarga");
  1702.     orm_addvar_int(ormid, PlayerInfo[playerid][VehComponentes][7], "Rodas");
  1703.     orm_addvar_int(ormid, PlayerInfo[playerid][VehComponentes][8], "Stereo");
  1704.     orm_addvar_int(ormid, PlayerInfo[playerid][VehComponentes][9], "Hidraulica");
  1705.     orm_addvar_int(ormid, PlayerInfo[playerid][VehComponentes][10], "SaiaDianteira");
  1706.     orm_addvar_int(ormid, PlayerInfo[playerid][VehComponentes][11], "SaiaTrazeira");
  1707.     orm_addvar_int(ormid, PlayerInfo[playerid][VehComponentes][12], "VentDireito");
  1708.     orm_addvar_int(ormid, PlayerInfo[playerid][VehComponentes][13], "VentEsquerdo");
  1709.     orm_setkey(ormid, "Nome");
  1710.     orm_select(ormid, "OnPlayerLogin", "d", playerid);
  1711.     PlayerInfo[playerid][OrmID] = ormid;
  1712.    
  1713.     SendClientMessage(playerid, -1, "{FFD700}Seja bem vindo ao Mega Freeroam. Escolha uma skin.");
  1714.  
  1715.     PlayerInfo[playerid][Logado] = false;
  1716.     PlayerInfo[playerid][pDLevel] = 0;
  1717.     PlayerInfo[playerid][pFPS] = 0;
  1718.  
  1719.     // Text Draw de informações do Player.
  1720.     PlayerInfo[playerid][DrawInfo] = CreatePlayerTextDraw(playerid, 89.5000000, 427.000000, " ");
  1721.     PlayerTextDrawAlignment(playerid, PlayerInfo[playerid][DrawInfo], 2);
  1722.     PlayerTextDrawBackgroundColor(playerid, PlayerInfo[playerid][DrawInfo], 255);
  1723.     PlayerTextDrawFont(playerid, PlayerInfo[playerid][DrawInfo], 2);
  1724.     PlayerTextDrawLetterSize(playerid, PlayerInfo[playerid][DrawInfo], 0.170000, 1.100000);
  1725.     PlayerTextDrawColor(playerid, PlayerInfo[playerid][DrawInfo], -1);
  1726.     PlayerTextDrawSetOutline(playerid, PlayerInfo[playerid][DrawInfo], 0);
  1727.     PlayerTextDrawSetProportional(playerid, PlayerInfo[playerid][DrawInfo], 1);
  1728.     PlayerTextDrawSetShadow(playerid, PlayerInfo[playerid][DrawInfo], 0);
  1729.     PlayerTextDrawUseBox(playerid, PlayerInfo[playerid][DrawInfo], 1);
  1730.     PlayerTextDrawBoxColor(playerid, PlayerInfo[playerid][DrawInfo], 16);
  1731.     PlayerTextDrawTextSize(playerid, PlayerInfo[playerid][DrawInfo], 11.000000, 175.000000);
  1732.     PlayerTextDrawSetSelectable(playerid, PlayerInfo[playerid][DrawInfo], 0);
  1733.  
  1734.     PlayerInfo[playerid][InfoMatador][0] = CreatePlayerTextDraw(playerid,88.000000, 269.000000, "");
  1735.     PlayerTextDrawAlignment(playerid,PlayerInfo[playerid][InfoMatador][0], 2);
  1736.     PlayerTextDrawBackgroundColor(playerid,PlayerInfo[playerid][InfoMatador][0], 255);
  1737.     PlayerTextDrawFont(playerid,PlayerInfo[playerid][InfoMatador][0], 1);
  1738.     PlayerTextDrawLetterSize(playerid,PlayerInfo[playerid][InfoMatador][0], 0.319999, 1.500000);
  1739.     PlayerTextDrawColor(playerid,PlayerInfo[playerid][InfoMatador][0], -16776961);
  1740.     PlayerTextDrawSetOutline(playerid,PlayerInfo[playerid][InfoMatador][0], 1);
  1741.     PlayerTextDrawSetProportional(playerid,PlayerInfo[playerid][InfoMatador][0], 1);
  1742.     PlayerTextDrawUseBox(playerid,PlayerInfo[playerid][InfoMatador][0], 1);
  1743.     PlayerTextDrawBoxColor(playerid,PlayerInfo[playerid][InfoMatador][0], 48);
  1744.     PlayerTextDrawTextSize(playerid,PlayerInfo[playerid][InfoMatador][0], 0.000000, 140.000000);
  1745.     PlayerTextDrawSetSelectable(playerid,PlayerInfo[playerid][InfoMatador][0], 0);
  1746.  
  1747.     PlayerInfo[playerid][InfoMatador][1] = CreatePlayerTextDraw(playerid,88.000000, 287.000000, "");
  1748.     PlayerTextDrawAlignment(playerid,PlayerInfo[playerid][InfoMatador][1], 2);
  1749.     PlayerTextDrawBackgroundColor(playerid,PlayerInfo[playerid][InfoMatador][1], 255);
  1750.     PlayerTextDrawFont(playerid,PlayerInfo[playerid][InfoMatador][1], 1);
  1751.     PlayerTextDrawLetterSize(playerid,PlayerInfo[playerid][InfoMatador][1], 0.319999, 1.299999);
  1752.     PlayerTextDrawColor(playerid,PlayerInfo[playerid][InfoMatador][1], -1);
  1753.     PlayerTextDrawSetOutline(playerid,PlayerInfo[playerid][InfoMatador][1], 0);
  1754.     PlayerTextDrawSetProportional(playerid,PlayerInfo[playerid][InfoMatador][1], 1);
  1755.     PlayerTextDrawSetShadow(playerid,PlayerInfo[playerid][InfoMatador][1], 0);
  1756.     PlayerTextDrawUseBox(playerid,PlayerInfo[playerid][InfoMatador][1], 1);
  1757.     PlayerTextDrawBoxColor(playerid,PlayerInfo[playerid][InfoMatador][1], 32);
  1758.     PlayerTextDrawTextSize(playerid,PlayerInfo[playerid][InfoMatador][1], -24.000000, 140.000000);
  1759.     PlayerTextDrawSetSelectable(playerid,PlayerInfo[playerid][InfoMatador][1], 0);
  1760.  
  1761.     PlayerInfo[playerid][Velocimetro] = CreatePlayerTextDraw(playerid,598.000000, 411.000000, " ");
  1762.     PlayerTextDrawAlignment(playerid,PlayerInfo[playerid][Velocimetro], 2);
  1763.     PlayerTextDrawBackgroundColor(playerid,PlayerInfo[playerid][Velocimetro], 255);
  1764.     PlayerTextDrawFont(playerid,PlayerInfo[playerid][Velocimetro], 3);
  1765.     PlayerTextDrawLetterSize(playerid,PlayerInfo[playerid][Velocimetro], 0.340000, 1.700000);
  1766.     PlayerTextDrawColor(playerid,PlayerInfo[playerid][Velocimetro], -1);
  1767.     PlayerTextDrawSetOutline(playerid,PlayerInfo[playerid][Velocimetro], 1);
  1768.     PlayerTextDrawSetProportional(playerid,PlayerInfo[playerid][Velocimetro], 1);
  1769.     PlayerTextDrawUseBox(playerid,PlayerInfo[playerid][Velocimetro], 1);
  1770.     PlayerTextDrawBoxColor(playerid,PlayerInfo[playerid][Velocimetro], 16);
  1771.     PlayerTextDrawTextSize(playerid,PlayerInfo[playerid][Velocimetro], 0.000000, 74.000000);
  1772.     PlayerTextDrawSetSelectable(playerid,PlayerInfo[playerid][Velocimetro], 0);
  1773.  
  1774.     PlayerInfo[playerid][pCameraConnect] = true;
  1775.  
  1776.     for(new i; i < 11; i++)
  1777.         PlayerInfo[playerid][DrawStatus][i] = PlayerText:INVALID_TEXT_DRAW;
  1778.  
  1779.     PlayerInfo[playerid][DriftDraw][0] = CreatePlayerTextDraw(playerid,592.000000, 384.000000, "~w~1000~n~X: ~g~1");
  1780.     PlayerTextDrawAlignment(playerid,PlayerInfo[playerid][DriftDraw][0], 2);
  1781.     PlayerTextDrawBackgroundColor(playerid,PlayerInfo[playerid][DriftDraw][0], 255);
  1782.     PlayerTextDrawFont(playerid,PlayerInfo[playerid][DriftDraw][0], 3);
  1783.     PlayerTextDrawLetterSize(playerid,PlayerInfo[playerid][DriftDraw][0], 0.330000, 1.400000);
  1784.     PlayerTextDrawColor(playerid,PlayerInfo[playerid][DriftDraw][0], -1);
  1785.     PlayerTextDrawSetOutline(playerid,PlayerInfo[playerid][DriftDraw][0], 1);
  1786.     PlayerTextDrawSetProportional(playerid,PlayerInfo[playerid][DriftDraw][0], 1);
  1787.     PlayerTextDrawSetSelectable(playerid,PlayerInfo[playerid][DriftDraw][0], 0);
  1788.  
  1789.     PlayerInfo[playerid][DriftDraw][1] = CreatePlayerTextDraw(playerid,590.000000, 371.000000, "Drift");
  1790.     PlayerTextDrawAlignment(playerid,PlayerInfo[playerid][DriftDraw][1], 2);
  1791.     PlayerTextDrawBackgroundColor(playerid,PlayerInfo[playerid][DriftDraw][1], 255);
  1792.     PlayerTextDrawFont(playerid,PlayerInfo[playerid][DriftDraw][1], 0);
  1793.     PlayerTextDrawLetterSize(playerid,PlayerInfo[playerid][DriftDraw][1], 0.549999, 1.300000);
  1794.     PlayerTextDrawColor(playerid,PlayerInfo[playerid][DriftDraw][1], -1);
  1795.     PlayerTextDrawSetOutline(playerid,PlayerInfo[playerid][DriftDraw][1], 1);
  1796.     PlayerTextDrawSetProportional(playerid,PlayerInfo[playerid][DriftDraw][1], 1);
  1797.     PlayerTextDrawSetSelectable(playerid,PlayerInfo[playerid][DriftDraw][1], 0);
  1798.    
  1799.     PlayerInfo[playerid][PlayerDano][0] = CreatePlayerTextDraw(playerid,165.000000, 355.000000, "dano");
  1800.     PlayerTextDrawAlignment(playerid,PlayerInfo[playerid][PlayerDano][0], 2);
  1801.     PlayerTextDrawBackgroundColor(playerid,PlayerInfo[playerid][PlayerDano][0], 255);
  1802.     PlayerTextDrawFont(playerid,PlayerInfo[playerid][PlayerDano][0], 2);
  1803.     PlayerTextDrawLetterSize(playerid,PlayerInfo[playerid][PlayerDano][0], 0.380000, 1.400000);
  1804.     PlayerTextDrawColor(playerid,PlayerInfo[playerid][PlayerDano][0], -1);
  1805.     PlayerTextDrawSetOutline(playerid,PlayerInfo[playerid][PlayerDano][0], 1);
  1806.     PlayerTextDrawSetProportional(playerid,PlayerInfo[playerid][PlayerDano][0], 1);
  1807.     PlayerTextDrawSetSelectable(playerid,PlayerInfo[playerid][PlayerDano][0], 0);
  1808.  
  1809.     PlayerInfo[playerid][PlayerDano][1] = CreatePlayerTextDraw(playerid,121.000000, 362.000000, "-Skin-");
  1810.     PlayerTextDrawAlignment(playerid,PlayerInfo[playerid][PlayerDano][1], 2);
  1811.     PlayerTextDrawBackgroundColor(playerid,PlayerInfo[playerid][PlayerDano][1], 0);
  1812.     PlayerTextDrawFont(playerid,PlayerInfo[playerid][PlayerDano][1], 5);
  1813.     PlayerTextDrawLetterSize(playerid,PlayerInfo[playerid][PlayerDano][1], 0.500000, 1.000000);
  1814.     PlayerTextDrawColor(playerid,PlayerInfo[playerid][PlayerDano][1], -1);
  1815.     PlayerTextDrawSetOutline(playerid,PlayerInfo[playerid][PlayerDano][1], 0);
  1816.     PlayerTextDrawSetProportional(playerid,PlayerInfo[playerid][PlayerDano][1], 1);
  1817.     PlayerTextDrawSetShadow(playerid,PlayerInfo[playerid][PlayerDano][1], 1);
  1818.     PlayerTextDrawUseBox(playerid,PlayerInfo[playerid][PlayerDano][1], 1);
  1819.     PlayerTextDrawBoxColor(playerid,PlayerInfo[playerid][PlayerDano][1], 0);
  1820.     PlayerTextDrawTextSize(playerid,PlayerInfo[playerid][PlayerDano][1], 74.000000, 70.000000);
  1821.     PlayerTextDrawSetPreviewModel(playerid, PlayerInfo[playerid][PlayerDano][1], 0);
  1822.     PlayerTextDrawSetPreviewRot(playerid, PlayerInfo[playerid][PlayerDano][1], -16.000000, 0.000000, 0.000000, 1.000000);
  1823.     PlayerTextDrawSetSelectable(playerid,PlayerInfo[playerid][PlayerDano][1], 0);
  1824.  
  1825.     //Cabeça
  1826.     PlayerInfo[playerid][PlayerDano][2] = CreatePlayerTextDraw(playerid,158.000000, 365.000000, "_");
  1827.     PlayerTextDrawAlignment(playerid,PlayerInfo[playerid][PlayerDano][2], 2);
  1828.     PlayerTextDrawBackgroundColor(playerid,PlayerInfo[playerid][PlayerDano][2], 255);
  1829.     PlayerTextDrawFont(playerid,PlayerInfo[playerid][PlayerDano][2], 1);
  1830.     PlayerTextDrawLetterSize(playerid,PlayerInfo[playerid][PlayerDano][2], 0.500000, 1.000000);
  1831.     PlayerTextDrawColor(playerid,PlayerInfo[playerid][PlayerDano][2], -1);
  1832.     PlayerTextDrawSetOutline(playerid,PlayerInfo[playerid][PlayerDano][2], 0);
  1833.     PlayerTextDrawSetProportional(playerid,PlayerInfo[playerid][PlayerDano][2], 1);
  1834.     PlayerTextDrawSetShadow(playerid,PlayerInfo[playerid][PlayerDano][2], 1);
  1835.     PlayerTextDrawUseBox(playerid,PlayerInfo[playerid][PlayerDano][2], 1);
  1836.     PlayerTextDrawBoxColor(playerid,PlayerInfo[playerid][PlayerDano][2], -16777120);
  1837.     PlayerTextDrawTextSize(playerid,PlayerInfo[playerid][PlayerDano][2], 10.000000, 4.000000);
  1838.     PlayerTextDrawSetSelectable(playerid,PlayerInfo[playerid][PlayerDano][2], 0);
  1839.  
  1840.     //Tronco
  1841.     PlayerInfo[playerid][PlayerDano][3] = CreatePlayerTextDraw(playerid,159.000000, 378.000000, "_");
  1842.     PlayerTextDrawAlignment(playerid,PlayerInfo[playerid][PlayerDano][3], 2);
  1843.     PlayerTextDrawBackgroundColor(playerid,PlayerInfo[playerid][PlayerDano][3], 255);
  1844.     PlayerTextDrawFont(playerid,PlayerInfo[playerid][PlayerDano][3], 1);
  1845.     PlayerTextDrawLetterSize(playerid,PlayerInfo[playerid][PlayerDano][3], 0.519999, 1.700000);
  1846.     PlayerTextDrawColor(playerid,PlayerInfo[playerid][PlayerDano][3], -1);
  1847.     PlayerTextDrawSetOutline(playerid,PlayerInfo[playerid][PlayerDano][3], 0);
  1848.     PlayerTextDrawSetProportional(playerid,PlayerInfo[playerid][PlayerDano][3], 1);
  1849.     PlayerTextDrawSetShadow(playerid,PlayerInfo[playerid][PlayerDano][3], 1);
  1850.     PlayerTextDrawUseBox(playerid,PlayerInfo[playerid][PlayerDano][3], 1);
  1851.     PlayerTextDrawBoxColor(playerid,PlayerInfo[playerid][PlayerDano][3], -16777120);
  1852.     PlayerTextDrawTextSize(playerid,PlayerInfo[playerid][PlayerDano][3], 4.000000, 14.000000);
  1853.     PlayerTextDrawSetSelectable(playerid,PlayerInfo[playerid][PlayerDano][3], 0);
  1854.  
  1855.     //Braço Esquerdo
  1856.     PlayerInfo[playerid][PlayerDano][4] = CreatePlayerTextDraw(playerid,167.000000, 385.000000, "_");
  1857.     PlayerTextDrawAlignment(playerid,PlayerInfo[playerid][PlayerDano][4], 2);
  1858.     PlayerTextDrawBackgroundColor(playerid,PlayerInfo[playerid][PlayerDano][4], 255);
  1859.     PlayerTextDrawFont(playerid,PlayerInfo[playerid][PlayerDano][4], 1);
  1860.     PlayerTextDrawLetterSize(playerid,PlayerInfo[playerid][PlayerDano][4], 0.500000, 1.300000);
  1861.     PlayerTextDrawColor(playerid,PlayerInfo[playerid][PlayerDano][4], -1);
  1862.     PlayerTextDrawSetOutline(playerid,PlayerInfo[playerid][PlayerDano][4], 0);
  1863.     PlayerTextDrawSetProportional(playerid,PlayerInfo[playerid][PlayerDano][4], 1);
  1864.     PlayerTextDrawSetShadow(playerid,PlayerInfo[playerid][PlayerDano][4], 1);
  1865.     PlayerTextDrawUseBox(playerid,PlayerInfo[playerid][PlayerDano][4], 1);
  1866.     PlayerTextDrawBoxColor(playerid,PlayerInfo[playerid][PlayerDano][4], -16777120);
  1867.     PlayerTextDrawTextSize(playerid,PlayerInfo[playerid][PlayerDano][4], -3.000000, 2.000000);
  1868.     PlayerTextDrawSetSelectable(playerid,PlayerInfo[playerid][PlayerDano][4], 0);
  1869.  
  1870.     //Braço Direito
  1871.     PlayerInfo[playerid][PlayerDano][5] = CreatePlayerTextDraw(playerid,150.000000, 385.000000, "_");
  1872.     PlayerTextDrawAlignment(playerid,PlayerInfo[playerid][PlayerDano][5], 2);
  1873.     PlayerTextDrawBackgroundColor(playerid,PlayerInfo[playerid][PlayerDano][5], 255);
  1874.     PlayerTextDrawFont(playerid,PlayerInfo[playerid][PlayerDano][5], 1);
  1875.     PlayerTextDrawLetterSize(playerid,PlayerInfo[playerid][PlayerDano][5], 0.500000, 1.300000);
  1876.     PlayerTextDrawColor(playerid,PlayerInfo[playerid][PlayerDano][5], -1);
  1877.     PlayerTextDrawSetOutline(playerid,PlayerInfo[playerid][PlayerDano][5], 0);
  1878.     PlayerTextDrawSetProportional(playerid,PlayerInfo[playerid][PlayerDano][5], 1);
  1879.     PlayerTextDrawSetShadow(playerid,PlayerInfo[playerid][PlayerDano][5], 1);
  1880.     PlayerTextDrawUseBox(playerid,PlayerInfo[playerid][PlayerDano][5], 1);
  1881.     PlayerTextDrawBoxColor(playerid,PlayerInfo[playerid][PlayerDano][5], -16777120);
  1882.     PlayerTextDrawTextSize(playerid,PlayerInfo[playerid][PlayerDano][5], -3.000000, 2.000000);
  1883.     PlayerTextDrawSetSelectable(playerid,PlayerInfo[playerid][PlayerDano][5], 0);
  1884.  
  1885.     //Minhas bolas
  1886.     PlayerInfo[playerid][PlayerDano][6] = CreatePlayerTextDraw(playerid,158.000000, 398.000000, "_");
  1887.     PlayerTextDrawAlignment(playerid,PlayerInfo[playerid][PlayerDano][6], 2);
  1888.     PlayerTextDrawBackgroundColor(playerid,PlayerInfo[playerid][PlayerDano][6], 255);
  1889.     PlayerTextDrawFont(playerid,PlayerInfo[playerid][PlayerDano][6], 1);
  1890.     PlayerTextDrawLetterSize(playerid,PlayerInfo[playerid][PlayerDano][6], 0.500000, 0.299999);
  1891.     PlayerTextDrawColor(playerid,PlayerInfo[playerid][PlayerDano][6], -1);
  1892.     PlayerTextDrawSetOutline(playerid,PlayerInfo[playerid][PlayerDano][6], 0);
  1893.     PlayerTextDrawSetProportional(playerid,PlayerInfo[playerid][PlayerDano][6], 1);
  1894.     PlayerTextDrawSetShadow(playerid,PlayerInfo[playerid][PlayerDano][6], 1);
  1895.     PlayerTextDrawUseBox(playerid,PlayerInfo[playerid][PlayerDano][6], 1);
  1896.     PlayerTextDrawBoxColor(playerid,PlayerInfo[playerid][PlayerDano][6], -16777120);
  1897.     PlayerTextDrawTextSize(playerid,PlayerInfo[playerid][PlayerDano][6], -3.000000, 2.000000);
  1898.     PlayerTextDrawSetSelectable(playerid,PlayerInfo[playerid][PlayerDano][6], 0);
  1899.  
  1900.     //Perna Esquerda
  1901.     PlayerInfo[playerid][PlayerDano][7] = CreatePlayerTextDraw(playerid,164.000000, 398.000000, "_");
  1902.     PlayerTextDrawAlignment(playerid,PlayerInfo[playerid][PlayerDano][7], 2);
  1903.     PlayerTextDrawBackgroundColor(playerid,PlayerInfo[playerid][PlayerDano][7], 255);
  1904.     PlayerTextDrawFont(playerid,PlayerInfo[playerid][PlayerDano][7], 1);
  1905.     PlayerTextDrawLetterSize(playerid,PlayerInfo[playerid][PlayerDano][7], 0.500000, 2.799999);
  1906.     PlayerTextDrawColor(playerid,PlayerInfo[playerid][PlayerDano][7], -1);
  1907.     PlayerTextDrawSetOutline(playerid,PlayerInfo[playerid][PlayerDano][7], 0);
  1908.     PlayerTextDrawSetProportional(playerid,PlayerInfo[playerid][PlayerDano][7], 1);
  1909.     PlayerTextDrawSetShadow(playerid,PlayerInfo[playerid][PlayerDano][7], 1);
  1910.     PlayerTextDrawUseBox(playerid,PlayerInfo[playerid][PlayerDano][7], 1);
  1911.     PlayerTextDrawBoxColor(playerid,PlayerInfo[playerid][PlayerDano][7], -16777120);
  1912.     PlayerTextDrawTextSize(playerid,PlayerInfo[playerid][PlayerDano][7], -3.000000, 5.000000);
  1913.     PlayerTextDrawSetSelectable(playerid,PlayerInfo[playerid][PlayerDano][7], 0);
  1914.  
  1915.     //Perna Direita
  1916.     PlayerInfo[playerid][PlayerDano][8] = CreatePlayerTextDraw(playerid,155.000000, 398.000000, "_");
  1917.     PlayerTextDrawAlignment(playerid,PlayerInfo[playerid][PlayerDano][8], 2);
  1918.     PlayerTextDrawBackgroundColor(playerid,PlayerInfo[playerid][PlayerDano][8], 255);
  1919.     PlayerTextDrawFont(playerid,PlayerInfo[playerid][PlayerDano][8], 1);
  1920.     PlayerTextDrawLetterSize(playerid,PlayerInfo[playerid][PlayerDano][8], 0.500000, 2.799999);
  1921.     PlayerTextDrawColor(playerid,PlayerInfo[playerid][PlayerDano][8], -1);
  1922.     PlayerTextDrawSetOutline(playerid,PlayerInfo[playerid][PlayerDano][8], 0);
  1923.     PlayerTextDrawSetProportional(playerid,PlayerInfo[playerid][PlayerDano][8], 1);
  1924.     PlayerTextDrawSetShadow(playerid,PlayerInfo[playerid][PlayerDano][8], 1);
  1925.     PlayerTextDrawUseBox(playerid,PlayerInfo[playerid][PlayerDano][8], 1);
  1926.     PlayerTextDrawBoxColor(playerid,PlayerInfo[playerid][PlayerDano][8], -16777120);
  1927.     PlayerTextDrawTextSize(playerid,PlayerInfo[playerid][PlayerDano][8], -3.000000, 5.000000);
  1928.     PlayerTextDrawSetSelectable(playerid,PlayerInfo[playerid][PlayerDano][8], 0);
  1929.    
  1930.     PlayerInfo[playerid][pEspiando] = INVALID_PLAYER_ID;
  1931.     return 1;
  1932. }
  1933. forward OnPlayerLogin(playerid);
  1934. public OnPlayerLogin(playerid) {
  1935.     new Dialog[500];
  1936.     switch(orm_errno(PlayerInfo[playerid][OrmID])) {
  1937.         case ERROR_OK: {
  1938.             GivePlayerMoney(playerid, PlayerInfo[playerid][pDinheiro]);
  1939.             format(Dialog, sizeof(Dialog), "{ffffff}Olá {%06x}%s{ffffff}, efetue login digitando sua senha abaixo:\n", GetPlayerColor(playerid) >>> 8, PlayerInfo[playerid][pNome]);
  1940.             ShowPlayerDialog(playerid, DialogLogar, DIALOG_STYLE_PASSWORD, "{ff0000}# {ffffff}Login", Dialog, "Login", "Cancelar");
  1941.         }
  1942.         case ERROR_NO_DATA: {
  1943.             format(Dialog, sizeof(Dialog), "{ffffff}Olá {ff0000}%s{ffffff}, você não está registrado em nosso servidor.\nPor favor, digite uma senha abaixo para se registrar:", PlayerInfo[playerid][pNome]);
  1944.             ShowPlayerDialog(playerid, DialogRegistrar, DIALOG_STYLE_INPUT, "{ff0000}# {ffffff}Registro", Dialog, "Registrar", "Cancelar");
  1945.         }
  1946.     }
  1947.     orm_setkey(PlayerInfo[playerid][OrmID], "id");
  1948.     return 1;
  1949. }
  1950. public OnPlayerDisconnect(playerid, reason)
  1951. {
  1952.     if(PlayerInfo[playerid][Logado] == true) {
  1953.         SalvarConta(playerid);
  1954.         new Msg[144];
  1955.         format(Msg, sizeof(Msg), "{EE0000}%s (id: %i) saiu do servidor. %s", PlayerInfo[playerid][pNome], playerid, (reason == 1) ? ("") : ((reason == 0) ? ("[Perda de conexão]") : (reason == 2) ? ("[Kick/Ban]") : ("")));
  1956.         SendClientMessageToAll(-1, Msg);
  1957.     }
  1958.     for(new i; i < GetMaxPlayers(); i++)
  1959.         if(IsPlayerConnected(i))
  1960.             if(PlayerInfo[i][pEspiando] == playerid) {
  1961.                 TogglePlayerSpectating(i, false);
  1962.                 PlayerInfo[i][pEspiando] = INVALID_PLAYER_ID;
  1963.             }
  1964.            
  1965.     orm_destroy(PlayerInfo[playerid][OrmID]);
  1966.     if(PlayerInfo[playerid][pVeh] != 0)
  1967.         DestroyVehicle(PlayerInfo[playerid][pVeh]);
  1968.     PlayerInfo[playerid][pSenha] = 0;
  1969.     PlayerInfo[playerid][pLevel] = 0;
  1970.     PlayerInfo[playerid][pScore] = 0;
  1971.     PlayerInfo[playerid][pDinheiro] = 0;
  1972.     PlayerInfo[playerid][pGold] = 0;
  1973.     PlayerInfo[playerid][pMatou] = 0;
  1974.     PlayerInfo[playerid][pMorreu] = 0;
  1975.     PlayerInfo[playerid][Logado] = false;
  1976.     PlayerInfo[playerid][pNome] = 0;
  1977.     PlayerInfo[playerid][pTempoJogado] = 0;
  1978.     PlayerInfo[playerid][pTempoLogado] = 0;
  1979.     PlayerInfo[playerid][pCorridas] = 0;
  1980.     if(PlayerInfo[playerid][EmCorrida] == true) {
  1981.         PlayerInfo[playerid][CorridaID] = 0;
  1982.         PlayerInfo[playerid][pCorridaCheckpoint] = 0;
  1983.         PlayerInfo[playerid][pCorridaPos] = 0;
  1984.         if(PlayerInfo[playerid][pCorridaVeh] != 0)
  1985.         {
  1986.             DestroyVehicle(PlayerInfo[playerid][pCorridaVeh]);
  1987.             PlayerInfo[playerid][pCorridaVeh] = 0;
  1988.         }
  1989.         PlayerInfo[playerid][EmCorrida] = false;
  1990.     }
  1991.     PlayerInfo[playerid][pDriftPontosTotal] = 0;
  1992.     PlayerInfo[playerid][VehModelo] = 0;
  1993.     for(new i; i < 2; i++)
  1994.         PlayerInfo[playerid][VehCores][i] = 0;
  1995.     for(new i; i < 14; i++)
  1996.         PlayerInfo[playerid][VehComponentes][i] = 0;
  1997.     PlayerInfo[playerid][pVeh] = 0;
  1998.     PlayerInfo[playerid][AFK] = false;
  1999.     PlayerInfo[playerid][Mudo] = 0;
  2000.     PlayerInfo[playerid][pEspiando] = INVALID_PLAYER_ID;
  2001.     PlayerInfo[playerid][pRelatoTempo] = 0;
  2002.     PlayerInfo[playerid][pErrosSenha] = 0;
  2003.     PlayerInfo[playerid][ArenaID] = 0;
  2004.     PlayerInfo[playerid][EmArena] = false;
  2005.     PlayerInfo[playerid][pBans] = 0;
  2006.     PlayerInfo[playerid][pTempoBan] = 0;
  2007.     PlayerInfo[playerid][pCameraConnect] = false;
  2008.     PlayerInfo[playerid][ModoDrift] = 0;
  2009.     PlayerInfo[playerid][pEmail] = 0;
  2010.     PlayerInfo[playerid][pUltimoLogin] = 0;
  2011.     PlayerInfo[playerid][pRegistroDia] = 0;
  2012.     PlayerInfo[playerid][Teclas] = false;
  2013.     PlayerInfo[playerid][pEspiando] = INVALID_PLAYER_ID;
  2014.     return 1;
  2015. }
  2016.  
  2017. public OnPlayerSpawn(playerid)
  2018. {
  2019.     SetPlayerHealth(playerid, 99999);
  2020.     SetTimerEx("SpawnKill", 5000, false, "d", playerid);
  2021.     SetPlayerInterior(playerid, 0);
  2022.     SetPlayerVirtualWorld(playerid, 0);
  2023.     PlayerInfo[playerid][Morrer] = false;
  2024.     PlayerTextDrawShow(playerid, PlayerInfo[playerid][DrawInfo]);
  2025.     for(new i; i < sizeof(Draws); i++)
  2026.         TextDrawShowForPlayer(playerid, Draws[i]);
  2027.     TextDrawShowForPlayer(playerid, DrawAnuncio);
  2028.     TextDrawShowForPlayer(playerid, Contagem[DrawContagem]);
  2029.     if(PlayerInfo[playerid][EmArena] == true) {
  2030.         new spawn = PlayerInfo[playerid][ArenaID];
  2031.         new sr = random(3);
  2032.         if(ArenasDM[spawn][ax][sr] == 0)
  2033.             sr = random(2);
  2034.         if(ArenasDM[spawn][ax][sr] == 0)
  2035.             sr = random(1);
  2036.         if(ArenasDM[spawn][ax][sr] == 0)
  2037.             sr = 0;
  2038.  
  2039.         SetPlayerPos(playerid, ArenasDM[spawn][ax][sr], ArenasDM[spawn][ay][sr], ArenasDM[spawn][az][sr]);
  2040.         SetPlayerFacingAngle(playerid, ArenasDM[spawn][aRot][sr]);
  2041.         SetPlayerInterior(playerid, ArenasDM[spawn][ArenaInterior]);
  2042.         ResetPlayerWeapons(playerid);
  2043.         for(new i; i < 14; i++)
  2044.             GivePlayerWeapon(playerid, ArenasDM[spawn][ArenaArmas][i], 99999);
  2045.         SendClientMessage(playerid, -1, "{B3EE3A}# Para sair da arena, use /sairarena.");
  2046.     }
  2047.     PlayerInfo[playerid][pCameraConnect] = true;
  2048.     if(PlayerInfo[playerid][MostrarDano] == true)
  2049.     {
  2050.         PlayerTextDrawSetPreviewModel(playerid, PlayerInfo[playerid][PlayerDano][1], GetPlayerSkin(playerid));
  2051.         for(new i; i < 2; i++)
  2052.             PlayerTextDrawShow(playerid, PlayerInfo[playerid][PlayerDano][i]);
  2053.     }
  2054.     for(new i; i < MAX_AREAS; i++)
  2055.         if(Areas[i][Valida] == true)
  2056.             GangZoneShowForPlayer(playerid, Areas[i][GangZoneID], (Areas[i][AreaGang] == 0) ? (0x80808080) : (Gangs[Areas[i][AreaGang]][GangCor]));
  2057.     return 1;
  2058. }
  2059.  
  2060.  
  2061. public OnPlayerDeath(playerid, killerid, reason)
  2062. {
  2063.     if(PlayerInfo[playerid][EmCorrida] == true) {
  2064.         DisablePlayerCheckpoint(playerid);
  2065.         DisablePlayerRaceCheckpoint(playerid);
  2066.         SetPlayerVirtualWorld(playerid, 0);
  2067.         if(GetPlayerVehicleID(playerid) != 0)
  2068.             SetVehicleVirtualWorld(GetPlayerVehicleID(playerid), 0);
  2069.         if(PlayerInfo[playerid][pCorridaVeh] != 0)
  2070.         {
  2071.             DestroyVehicle(PlayerInfo[playerid][pCorridaVeh]);
  2072.             PlayerInfo[playerid][pCorridaVeh] = 0;
  2073.         }
  2074.         PlayerTextDrawDestroy(playerid, PlayerInfo[playerid][CorridaPosInfo]);
  2075.         PlayerInfo[playerid][pCorridaPos] = 0;
  2076.         for(new i; i < 4; i++)
  2077.             TextDrawHideForPlayer(playerid, Corridas[PlayerInfo[playerid][CorridaID]][CorridaDraws][i]);
  2078.         PlayerInfo[playerid][EmCorrida] = false;
  2079.         PlayerInfo[playerid][CorridaID] = 0;
  2080.     }
  2081.     PlayerInfo[playerid][pCameraConnect] = true;
  2082.     PlayerTextDrawHide(playerid, PlayerInfo[playerid][Velocimetro]);
  2083.     PlayerTextDrawHide(playerid, PlayerInfo[playerid][DrawInfo]);
  2084.     for(new i; i < sizeof(Draws); i++)
  2085.         TextDrawHideForPlayer(playerid, Draws[i]);
  2086.     new spawn = random(sizeof(SpawnLocais));
  2087.     SetSpawnInfo(playerid, NO_TEAM, GetPlayerSkin(playerid), SpawnLocais[spawn][0], SpawnLocais[spawn][1], SpawnLocais[spawn][2], SpawnLocais[spawn][3], 22, 9999, 28, 9999, 0, 0);
  2088.     if(PlayerInfo[playerid][Morrer] == true) return 1;
  2089.     PlayerInfo[playerid][pMorreu]++;
  2090.     if(killerid != INVALID_PLAYER_ID) {
  2091.         if(GetPVarInt(playerid, "fake_kill") > gettime()) return BanEx(playerid, "fake kill");
  2092.         if(killerid == playerid) return BanEx(playerid, "fake kill");
  2093.         SetPVarInt(playerid, "fake_kill", gettime() + 2);
  2094.         SendDeathMessage(killerid, playerid, reason);
  2095.         new Msg[144];
  2096.         if(PlayerInfo[playerid][pScore] > 0)
  2097.             PlayerInfo[playerid][pScore]--;
  2098.         PlayerInfo[killerid][pScore]++;
  2099.         PlayerInfo[killerid][pMatou]++;
  2100.         GivePlayerMoney(killerid, 1500);
  2101.         format(Msg, sizeof(Msg), "{a9c4e4}Você matou {ffffff}%s{a9c4e4} e ganhou +1 score e {00ff00}R${ffffff}1500", PlayerInfo[playerid][pNome]);
  2102.         SendClientMessage(killerid, -1, Msg);
  2103.         format(Msg, sizeof(Msg), "_~n~_~n~_~n~_~r~Voce foi morto ~n~por ~w~%s", PlayerInfo[killerid][pNome]);
  2104.         GameTextForPlayer(playerid, Msg, 5000, 6);
  2105.         SetPlayerMarkerForPlayer(playerid, killerid, 0xff0000ff);
  2106.         SetPlayerMarkerForPlayer(killerid, playerid, GetPlayerColor(playerid));
  2107.         TogglePlayerSpectating(playerid, true);
  2108.         PlayerSpectatePlayer(playerid, killerid);
  2109.         format(Msg, sizeof(Msg), "~w~Mortes: ~r~%i~n~~w~Matou: ~g~%i~n~~w~Scores: ~b~%i~n~~w~Golds: ~y~%i", PlayerInfo[killerid][pMorreu], PlayerInfo[killerid][pMatou], PlayerInfo[killerid][pScore], PlayerInfo[killerid][pGold]);
  2110.         PlayerTextDrawSetString(playerid, PlayerInfo[playerid][InfoMatador][1], Msg);
  2111.         PlayerTextDrawSetString(playerid, PlayerInfo[playerid][InfoMatador][0], PlayerInfo[killerid][pNome]);
  2112.         for(new i; i < 2; i++)
  2113.             PlayerTextDrawShow(playerid, PlayerInfo[playerid][InfoMatador][i]);
  2114.         SetTimerEx("TVMatador", 10000, false, "d", playerid);
  2115.         SalvarConta(killerid);
  2116.     }
  2117.     else
  2118.         GameTextForPlayer(playerid, "~r~se fodeu", 5000, 0);
  2119.     SalvarConta(playerid);
  2120.     return 1;
  2121. }
  2122.  
  2123. public OnVehicleSpawn(vehicleid)
  2124. {
  2125.     SetVehicleNumberPlate(vehicleid, "M. Freeroam");
  2126.     for(new i; i < 14; i++) {
  2127.         if(VehInfo[vehicleid][vehComponentes][i] == 0) continue;
  2128.         AddVehicleComponent(vehicleid, VehInfo[vehicleid][vehComponentes][i]);
  2129.     }
  2130.     if(VehInfo[vehicleid][vehPintura] > 0) {
  2131.         ChangeVehiclePaintjob(vehicleid, VehInfo[vehicleid][vehPintura]-1);
  2132.     }
  2133.     return 1;
  2134. }
  2135.  
  2136. public OnVehicleDeath(vehicleid, killerid)
  2137. {
  2138.     return 1;
  2139. }
  2140.  
  2141. public OnUnoccupiedVehicleUpdate(vehicleid, playerid, passenger_seat, Float:new_x, Float:new_y, Float:new_z)
  2142. {
  2143.     return 1;
  2144. }
  2145. public OnPlayerText(playerid, text[])
  2146. {
  2147.     if(PlayerInfo[playerid][Logado] == false) return SendClientMessage(playerid, -1, "{ff0000}Você não pode falar nada no chat sem estar logado."), 0;
  2148.     if(PlayerInfo[playerid][Mudo] == 1) return SendClientMessage(playerid, -1, "{ff0000}Você está calado."), 0;
  2149.     new Msg[144];
  2150.     if(text[0] == ';') {
  2151.         new Float:pT[3];
  2152.         GetPlayerPos(playerid, pT[0], pT[1], pT[2]);
  2153.         format(Msg, sizeof(Msg),"{6495ED}* [PRÓX] %s: %s", PlayerInfo[playerid][pNome], text[1]);
  2154.         for(new i; i <= GetMaxPlayers(); i++) {
  2155.             if(IsPlayerInRangeOfPoint(i, 50.0, pT[0], pT[1], pT[2]))
  2156.                 SendClientMessage(i, -1, Msg);
  2157.         }
  2158.         return 0;
  2159.     }
  2160.     format(Msg, 144, "%s{%06x}%s (%i): {ffffff}%s", (PlayerInfo[playerid][pLevel] > 0) ? ("ADMIN ") : (""), GetPlayerColor(playerid) >>> 8, PlayerInfo[playerid][pNome], playerid, text);
  2161.     SendClientMessageToAll(-1, Msg);
  2162.     SetPlayerChatBubble(playerid, text, 0xEEEED180, 30.0, 10000);
  2163.     return 0;
  2164. }
  2165.  
  2166. public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
  2167. {
  2168.     return 1;
  2169. }
  2170.  
  2171. public OnPlayerExitVehicle(playerid, vehicleid)
  2172. {
  2173.     return 1;
  2174. }
  2175.  
  2176. public OnPlayerStateChange(playerid, newstate, oldstate)
  2177. {
  2178.     switch(newstate)
  2179.     {
  2180.         case PLAYER_STATE_DRIVER, PLAYER_STATE_PASSENGER: PlayerTextDrawShow(playerid, PlayerInfo[playerid][Velocimetro]);
  2181.         case PLAYER_STATE_ONFOOT: PlayerTextDrawHide(playerid, PlayerInfo[playerid][Velocimetro]);
  2182.     }
  2183.     return 1;
  2184. }
  2185.  
  2186. public OnPlayerEnterCheckpoint(playerid)
  2187. {
  2188.     return 1;
  2189. }
  2190.  
  2191. public OnPlayerLeaveCheckpoint(playerid)
  2192. {
  2193.     return 1;
  2194. }
  2195.  
  2196. public OnPlayerEnterRaceCheckpoint(playerid)
  2197. {
  2198.     if(PlayerInfo[playerid][EmCorrida] == true)
  2199.     {
  2200.         if(Corridas[PlayerInfo[playerid][CorridaID]][Iniciada] == true)
  2201.         {
  2202.             new Msg[144], Premio;
  2203.             DisablePlayerCheckpoint(playerid);
  2204.             DisablePlayerRaceCheckpoint(playerid);
  2205.             PlayerInfo[playerid][pCorridaCheckpoint]++;
  2206.             Corridas[PlayerInfo[playerid][CorridaID]][CorridaPosicao][PlayerInfo[playerid][pCorridaCheckpoint]]++;
  2207.             PlayerInfo[playerid][pCorridaPos] = Corridas[PlayerInfo[playerid][CorridaID]][CorridaPosicao][PlayerInfo[playerid][pCorridaCheckpoint]];
  2208.             if(PlayerInfo[playerid][pCorridaCheckpoint] >= Corridas[PlayerInfo[playerid][CorridaID]][MaxCheckpoints])
  2209.             {
  2210.                 PlayerInfo[playerid][pCorridas]++;
  2211.                 if(PlayerInfo[playerid][pCorridaPos] <= 3)
  2212.                     PlayerInfo[playerid][pScore]++;
  2213.                 Premio = Corridas[PlayerInfo[playerid][CorridaID]][CorridaPremio] / PlayerInfo[playerid][pCorridaPos];
  2214.                 format(Msg, 144, "{ffff00}[CORRIDA] %s chegou em %iº lugar na corrida e ganhou R$%i", PlayerInfo[playerid][pNome],PlayerInfo[playerid][pCorridaPos], Premio);
  2215.                 SendClientMessageToAll(-1, Msg);
  2216.                 GivePlayerMoney(playerid, Premio);
  2217.                 if(PlayerInfo[playerid][pCorridaPos] == GetPlayersCorrida(PlayerInfo[playerid][CorridaID]))
  2218.                 {
  2219.                     new corridaid =PlayerInfo[playerid][CorridaID];
  2220.                     for(new i; i <= GetMaxPlayers(); i++)
  2221.                     {
  2222.                         if(IsPlayerConnected(i) && PlayerInfo[i][CorridaID] == PlayerInfo[playerid][CorridaID])
  2223.                         {
  2224.                             if(GetPlayerVehicleID(i) != 0)
  2225.                                 SetVehicleVirtualWorld(GetPlayerVehicleID(i), 0);
  2226.                             if(PlayerInfo[i][pCorridaVeh] != 0) {
  2227.                                 DestroyVehicle(PlayerInfo[i][pCorridaVeh]);
  2228.                                 PlayerInfo[i][pCorridaVeh] = 0;
  2229.                             }
  2230.                             SetPlayerVirtualWorld(i, 0);
  2231.                             PlayerInfo[i][CorridaID] = 0;
  2232.                             PlayerInfo[i][EmCorrida] = false;
  2233.                             PlayerTextDrawDestroy(i, PlayerInfo[i][CorridaPosInfo]);
  2234.                         }
  2235.                     }
  2236.                     format(Msg, 144, "{ffff00}[CORRIDA] * Corrida %s terminada!", Corridas[corridaid][CorridaNome]);
  2237.                     SendClientMessageToAll(-1, Msg);
  2238.                     TerminarCorrida(corridaid);
  2239.                 }
  2240.             }
  2241.             else
  2242.             {
  2243.                 new c = PlayerInfo[playerid][CorridaID];
  2244.                 new p = PlayerInfo[playerid][pCorridaCheckpoint];
  2245.                 new t = Corridas[c][CorridaTipo];
  2246.                 if(p+1 < Corridas[c][MaxCheckpoints])
  2247.                 {
  2248.                     SetPlayerRaceCheckpoint(playerid, (t == CORRIDA_TERRESTRE) ? (0) : (3), Corridas[c][CheckpointX][p],Corridas[c][CheckpointY][p],Corridas[c][CheckpointZ][p], Corridas[c][CheckpointX][p+1], Corridas[c][CheckpointY][p+1], Corridas[c][CheckpointZ][p+1], 25.0);
  2249.                 }
  2250.                 else
  2251.                 {
  2252.                     SetPlayerRaceCheckpoint(playerid, (t == CORRIDA_TERRESTRE) ? (1) : (4), Corridas[c][CheckpointX][p],Corridas[c][CheckpointY][p],Corridas[c][CheckpointZ][p]+5.0, Corridas[c][CheckpointX][p+1], Corridas[c][CheckpointY][p+1], Corridas[c][CheckpointZ][p+1], 40.0);
  2253.                 }
  2254.                 PlayerPlaySound(playerid, 1058, 0.0, 0.0, 0.0);
  2255.             }
  2256.             return 1;
  2257.         }
  2258.     }
  2259.     return 1;
  2260. }
  2261.  
  2262. public OnPlayerLeaveRaceCheckpoint(playerid)
  2263. {
  2264.     return 1;
  2265. }
  2266.  
  2267. public OnPlayerPickUpPickup(playerid, pickupid)
  2268. {
  2269.     return 1;
  2270. }
  2271.  
  2272. public OnVehicleMod(playerid, vehicleid, componentid)
  2273. {
  2274.     GivePlayerMoney(playerid, (-AVehicleModPrices[componentid - 1000]));
  2275.     VehInfo[vehicleid][vehComponentes][GetVehicleComponentType(componentid)] = componentid;
  2276.     if(vehicleid == PlayerInfo[playerid][pVeh])
  2277.         PlayerInfo[playerid][VehComponentes][GetVehicleComponentType(componentid)] = componentid;
  2278.     return 1;
  2279. }
  2280.  
  2281. public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
  2282. {
  2283.     VehInfo[vehicleid][vehPintura] = paintjobid+1;
  2284.     if(vehicleid == PlayerInfo[playerid][pVeh])
  2285.         PlayerInfo[playerid][VehPintura] = paintjobid+1;
  2286.     return 1;
  2287. }
  2288.  
  2289. public OnVehicleRespray(playerid, vehicleid, color1, color2)
  2290. {
  2291.     VehInfo[vehicleid][vehCores][0] = color1;
  2292.     VehInfo[vehicleid][vehCores][1] = color2;
  2293.     if(vehicleid == PlayerInfo[playerid][pVeh]) {
  2294.         PlayerInfo[playerid][VehCores][0] = color1;
  2295.         PlayerInfo[playerid][VehCores][1] = color2;
  2296.     }
  2297.     GivePlayerMoney(playerid, -100);
  2298.     return 1;
  2299. }
  2300.  
  2301. public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
  2302. {
  2303.     return 1;
  2304. }
  2305.  
  2306. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  2307. {
  2308.     if(GetPlayerVehicleSeat(playerid) == 0 && PlayerInfo[playerid][Teclas] == true)
  2309.     {
  2310.         if (PRESSED(KEY_CROUCH)) {
  2311.             new Float:Velocity[3];
  2312.             GetVehicleVelocity(GetPlayerVehicleID(playerid), Velocity[0], Velocity[1], Velocity[2]);
  2313.             SetVehicleVelocity(GetPlayerVehicleID(playerid), Velocity[0], Velocity[1], Velocity[2]+0.2);
  2314.         }
  2315.         if (PRESSED(KEY_YES)) {
  2316.             new Float:Velocity[3], Float:zAng;
  2317.             GetVehicleZAngle( GetPlayerVehicleID( playerid ), zAng );
  2318.             SetVehicleZAngle( GetPlayerVehicleID( playerid ), zAng );
  2319.             GetVehicleVelocity(GetPlayerVehicleID(playerid), Velocity[0], Velocity[1], Velocity[2]);
  2320.             SetVehicleVelocity(GetPlayerVehicleID(playerid), 0.0, 0.0, 0.1);
  2321.         }
  2322.         if(PRESSED(KEY_NO)) {
  2323.             new Float:Velocity[3];
  2324.             GetVehicleVelocity(GetPlayerVehicleID(playerid), Velocity[0], Velocity[1], Velocity[2]);
  2325.             SetVehicleVelocity(GetPlayerVehicleID(playerid), Velocity[0]*1.8, Velocity[1]*1.8, Velocity[2]*1.8);
  2326.         }
  2327.     }
  2328.     if(GetPlayerVehicleSeat(playerid) == 0 && PRESSED(KEY_ACTION))
  2329.     {
  2330.         if(GetVehicleComponentInSlot(GetPlayerVehicleID(playerid), GetVehicleComponentType(1010)) == 1010)
  2331.         {
  2332.             RemoveVehicleComponent(GetPlayerVehicleID(playerid), 1010);
  2333.             AddVehicleComponent(GetPlayerVehicleID(playerid), 1010);
  2334.             GameTextForPlayer(playerid, "~b~Nitro~w~!", 5000, 4);
  2335.         }
  2336.     }
  2337.     return 1;
  2338. }
  2339.  
  2340. public OnRconLoginAttempt(ip[], password[], success)
  2341. {
  2342.     return 1;
  2343. }
  2344.  
  2345. public OnPlayerUpdate(playerid)
  2346. {
  2347.     SetPlayerScore(playerid, PlayerInfo[playerid][pScore]);
  2348.     /*ResetPlayerMoney(playerid);
  2349.     GivePlayerMoney(playerid, PlayerInfo[playerid][pDinheiro]);*/
  2350.     PlayerInfo[playerid][pDinheiro] = GetPlayerMoney(playerid);
  2351.     if(GetPlayerVehicleID(playerid) != 0){
  2352.         new v[50];
  2353.         format(v, sizeof(v), "%d Km/h", GetPlayerSpeed(playerid));
  2354.         PlayerTextDrawSetString(playerid, PlayerInfo[playerid][Velocimetro], v);
  2355.     }
  2356.     else
  2357.         PlayerTextDrawSetString(playerid, PlayerInfo[playerid][Velocimetro], "");
  2358.     new drunknew = GetPlayerDrunkLevel(playerid);
  2359.     if(drunknew < 100) return SetPlayerDrunkLevel(playerid, 2000);
  2360.     else
  2361.     {
  2362.         if (PlayerInfo[playerid][pDLevel] != drunknew)
  2363.         {
  2364.             new wfps = PlayerInfo[playerid][pDLevel] - drunknew;
  2365.             if ((wfps > 0) && (wfps < 200)) PlayerInfo[playerid][pFPS] = wfps;
  2366.             PlayerInfo[playerid][pDLevel] = drunknew;
  2367.         }
  2368.     }
  2369.     if(CallRemoteFunction("FazendoDrift", "d", playerid) == 1 && PlayerInfo[playerid][ModoDrift] == 1) {
  2370.         new str[128];
  2371.         format(str, sizeof(str), "~w~%i~n~X: ~g~%i", CallRemoteFunction("PontosFeitos", "d", playerid), CallRemoteFunction("BonusFeitos", "d", playerid));
  2372.         PlayerTextDrawSetString(playerid, PlayerInfo[playerid][DriftDraw][0], str);
  2373.         for(new i; i < 2; i++)
  2374.             PlayerTextDrawShow(playerid, PlayerInfo[playerid][DriftDraw][i]);
  2375.     }
  2376.     return 1;
  2377. }
  2378.  
  2379. public OnPlayerStreamIn(playerid, forplayerid)
  2380. {
  2381.     return 1;
  2382. }
  2383.  
  2384. public OnPlayerStreamOut(playerid, forplayerid)
  2385. {
  2386.     return 1;
  2387. }
  2388.  
  2389. public OnVehicleStreamIn(vehicleid, forplayerid)
  2390. {
  2391.     return 1;
  2392. }
  2393.  
  2394. public OnVehicleStreamOut(vehicleid, forplayerid)
  2395. {
  2396.     return 1;
  2397. }
  2398.  
  2399. public OnPlayerTakeDamage(playerid, issuerid, Float: amount, weaponid, bodypart)
  2400. {
  2401.     if(issuerid == INVALID_PLAYER_ID) return 1;
  2402.     if(PlayerInfo[playerid][MostrarDano] == true)
  2403.     {
  2404.         switch(bodypart)
  2405.         {
  2406.             case 3: PlayerTextDrawShow(playerid, PlayerInfo[playerid][PlayerDano][3]);
  2407.             case 9: PlayerTextDrawShow(playerid, PlayerInfo[playerid][PlayerDano][2]);
  2408.             case 4: PlayerTextDrawShow(playerid, PlayerInfo[playerid][PlayerDano][6]);
  2409.             case 5: PlayerTextDrawShow(playerid, PlayerInfo[playerid][PlayerDano][4]);
  2410.             case 6: PlayerTextDrawShow(playerid, PlayerInfo[playerid][PlayerDano][5]);
  2411.             case 7: PlayerTextDrawShow(playerid, PlayerInfo[playerid][PlayerDano][7]);
  2412.             case 8: PlayerTextDrawShow(playerid, PlayerInfo[playerid][PlayerDano][8]);
  2413.             default: return 1;
  2414.         }
  2415.         SetPVarInt(playerid, "info_dano", gettime() + 10);
  2416.         SetTimerEx("TirarDrawDano", 10000, false, "d", playerid);
  2417.     }
  2418.     return 1;
  2419. }
  2420.  
  2421. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  2422. {
  2423.     switch(dialogid) {
  2424.         case DialogBansSeriais: {
  2425.             if(!response) return 1;
  2426.             new Cache:Seriais = mysql_query(mysql, "SELECT * FROM gpci ORDER BY ID DESC LIMIT 100", true);
  2427.             if(cache_num_rows(mysql) > 0 && (listitem < cache_num_rows(mysql))) {
  2428.                 new ID = cache_get_field_content_int(listitem, "ID", mysql), Nome[24], DataBan[50], Motivo[128], Serial[128], Ip[16], Info[500];
  2429.                 cache_get_field_content(listitem, "Nome", Nome, mysql, sizeof(Nome));
  2430.                 cache_get_field_content(listitem, "Motivo", Motivo, mysql, sizeof(Motivo));
  2431.                 cache_get_field_content(listitem, "Serial", Serial, mysql, sizeof(Serial));
  2432.                 cache_get_field_content(listitem, "IP", Ip, mysql, sizeof(Ip));
  2433.                 cache_get_field_content(listitem, "Data", DataBan, mysql, sizeof(DataBan));
  2434.                 format(Info, sizeof(Info), "Informações do banimento id %i\n\nSerial: %s\nNome: %s\nIP: %s\nData: %s\nMotivo: %s\n\nUse o ID para remover um banimento por serial.", ID, Serial, Nome, Ip, DataBan, Motivo);
  2435.                 ShowPlayerDialog(playerid, DialogSerialInfo, DIALOG_STYLE_MSGBOX, "{ff0000}# {ffffff}Informações de Banimento", Info, "Ok", "");
  2436.             }
  2437.             else
  2438.                 SendClientMessage(playerid, -1, "{ff0000}Nenhum banimento..");
  2439.             cache_delete(Seriais, mysql);
  2440.             return 1;
  2441.         }
  2442.         case DialogSerialInfo: return cmd_seriaisbans(playerid, "");
  2443.         case DialogCriarGang:
  2444.         {
  2445.             if(!response || strlen(inputtext) == 0) return 1;
  2446.             new gangid;
  2447.             for(gangid = 1; gangid < MAX_GANGS; gangid++)
  2448.                 if(Gangs[gangid][Valida] == false) break;
  2449.             if(gangid == MAX_GANGS) return SendClientMessage(playerid, -1, "{ff0000}Máximo de gangs atingido!");
  2450.             PlayerInfo[playerid][pGang] = gangid;
  2451.             Gangs[gangid][Valida] = true;
  2452.             format(Gangs[gangid][GangNome], 128, inputtext);
  2453.             Gangs[gangid][Lider] = PlayerInfo[playerid][pMySQL_ID];
  2454.             ShowPlayerDialog(playerid, DialogGangDescricao, DIALOG_STYLE_INPUT, "{ff0000}# {ffffff}MF - Descrição de sua gang!", "Digite a descrição de sua gang:", "Ok", "");
  2455.             return 1;
  2456.         }
  2457.         case DialogGangDescricao: {
  2458.             if(!response || strlen(inputtext) == 0) return ShowPlayerDialog(playerid, DialogGangDescricao, DIALOG_STYLE_INPUT, "{ff0000}# {ffffff}MF - Descrição de sua gang!", "Você não digitou a descrição!\nDigite a descrição de sua gang:", "Ok", "");
  2459.             format(Gangs[PlayerInfo[playerid][pGang]][GangDescricao], 128, inputtext);
  2460.             ShowPlayerDialog(playerid, DialogGangCor, DIALOG_STYLE_LIST, "{ff0000}# {ffffff}MF - Escolha a cor de sua gang:", "Verde\r\nAzul\r\nAmarelo\r\nRoxo\r\nRosa\r\nVermelho Escuro\r\nVerde Escuro\r\n{ffff00}Cor personalizada (hexadecimal)", "Escolher", "");
  2461.             return 1;
  2462.         }
  2463.         case DialogGangCor: {
  2464.             if(!response) return SendClientMessage(playerid, -1, "{ff0000}Você não pode cancelar agora, escolha uma cor!"), ShowPlayerDialog(playerid, DialogGangCor, DIALOG_STYLE_LIST, "{ff0000}# {ffffff}MF - Escolha a cor de sua gang:", "Verde\r\nAzul\r\nAmarelo\r\nRoxo\r\nRosa\r\nVermelho Escuro\r\nVerde Escuro\r\n{ffff00}Cor personalizada (hexadecimal)", "Escolher", "");
  2465.             switch(listitem)
  2466.             {
  2467.                 case 1: Gangs[PlayerInfo[playerid][pGang]][GangCor] = 0x0000FF40; //Azul
  2468.                 case 0: Gangs[PlayerInfo[playerid][pGang]][GangCor] = 0x00640040; //Verde
  2469.                 case 2: Gangs[PlayerInfo[playerid][pGang]][GangCor] = 0xFFFF0040; //Amarelo
  2470.                 case 3: Gangs[PlayerInfo[playerid][pGang]][GangCor] = 0xA020F040; //Roxo ui
  2471.                 case 5: Gangs[PlayerInfo[playerid][pGang]][GangCor] = 0xB2222240; //Vermelho Escuro
  2472.                 case 4: Gangs[PlayerInfo[playerid][pGang]][GangCor] = 0xFF69B440; //Rosa UI
  2473.                 case 6: Gangs[PlayerInfo[playerid][pGang]][GangCor] = 0x228B2240;
  2474.                 default: return ShowPlayerDialog(playerid, DialogGangCorP, DIALOG_STYLE_INPUT, "{ff0000}# {ffffff}MF - Digite a cor em hexadecimal", "Digite a cor abaixo:", "Ok","");
  2475.             }
  2476.             ShowPlayerDialog(playerid, DialogGangTerTAG, DIALOG_STYLE_MSGBOX, "{ff0000}# {FFFFFF}MF - TAG", "Você deseja criar uma TAG para sua Gang?", "Sim", "Não");
  2477.             return 1;
  2478.         }
  2479.         case DialogGangTerTAG: {
  2480.             if(!response) return CriarGang(PlayerInfo[playerid][pGang]);
  2481.             return ShowPlayerDialog(playerid, DialogGangTAG, DIALOG_STYLE_INPUT, "{ff0000}# {FFFFFF}MF - Digite a TAG!", "Digite a tag desejada!\nMáximo de letras: 5", "Ok", "");
  2482.         }
  2483.         case DialogGangTAG: {
  2484.             if(!response || strlen(inputtext) == 0 || strlen(inputtext) >= 5) return ShowPlayerDialog(playerid, DialogGangTAG, DIALOG_STYLE_INPUT, "{ff0000}# {FFFFFF}MF - Digite a TAG!", "Digite a tag desejada!\nMáximo de letras: 5", "Ok", "");
  2485.             format(Gangs[PlayerInfo[playerid][pGang]][GangTag], 5, inputtext);
  2486.             CriarGang(PlayerInfo[playerid][pGang]);
  2487.             SendClientMessage(playerid, -1, "{ffff00}Parabéns! Sua gang foi criada!");
  2488.             MenuGang(playerid);
  2489.             SalvarConta(playerid);
  2490.             return 1;
  2491.         }
  2492.         case DialogGangMenu: {
  2493.             if(!response) return 1;
  2494.             switch(listitem) {
  2495.                 case 0: {
  2496.                     if(Gangs[PlayerInfo[playerid][pGang]][SubLider] != 0) return SendClientMessage(playerid, -1, "{ff0000}A Gang já possui um Sub-Líder!"), MenuGang(playerid);
  2497.                     ShowPlayerDialog(playerid, DialogGangAdcSubLider, DIALOG_STYLE_INPUT, "{00ff00}# {ffffff}Gang - Adicionar Sub-Lider:", "Digite o nome do jogador que você deseja adicionar como sub-líder!", "Adicionar", "Cancelar");
  2498.                 }
  2499.                 case 1: ShowPlayerDialog(playerid, DialogGangConvidarMembro, DIALOG_STYLE_INPUT, "{00ff00}# {ffffff}Gang - Convidar Membro", "Digite o nome do jogador que deseja convidar:", "Convidar", "Cancelar");
  2500.                 case 2: MembrosGang(playerid);
  2501.                 case 3: AreasGang(playerid);
  2502.                 case 4: {
  2503.                     new Msg[200];
  2504.                     format(Msg, sizeof(Msg), "%s\nAdicione a nova descrição de sua gang!", Gangs[PlayerInfo[playerid][pGang]][GangDescricao]);
  2505.                     ShowPlayerDialog(playerid, DialogGangEditarDescricao, DIALOG_STYLE_INPUT, "{ff0000}# {ffffff}Gang - Editar descrição:", Msg, "Editar", "Cancelar");
  2506.                 }
  2507.                 case 5: ShowPlayerDialog(playerid, DialogDeletarGang, DIALOG_STYLE_MSGBOX, "{ff0000}#{ffffff} Gang", "Você deseja mesmo deletar sua gang?", "Sim", "Não");
  2508.             }
  2509.             return 1;
  2510.         }
  2511.         case DialogGangAdcSubLider: {
  2512.             if(!response) return MenuGang(playerid);
  2513.             new Query[350], Cache:A, Msg[144];
  2514.             mysql_format(mysql, Query, sizeof(Query), "SELECT id FROM usuarios WHERE Nome='%e' AND Gang=0", inputtext);
  2515.             A = mysql_query(mysql, Query, true);
  2516.             if(cache_num_rows(mysql) > 0)
  2517.             {
  2518.                 new ID = cache_get_field_content_int(0, "id", mysql);
  2519.                 Gangs[PlayerInfo[playerid][pGang]][SubLider] = cache_get_field_content_int(0, "id", mysql);
  2520.                 format(Query, sizeof(Query), "UPDATE usuarios SET Gang=%i WHERE id=%i",PlayerInfo[playerid][pGang], ID);
  2521.                 mysql_query(mysql, Query, false);
  2522.                
  2523.                 format(Query, sizeof(Query), "UPDATE gangs SET SubLider=%i WHERE id=%i", ID,Gangs[PlayerInfo[playerid][pGang]][ID_MySQL]);
  2524.                 mysql_query(mysql, Query, false);
  2525.                
  2526.                 format(Msg, 144, "{ffff00}Você adicionou o sub-lider %s a sua gang!", inputtext);
  2527.                 SendClientMessage(playerid, -1, Msg);
  2528.                 new pID;
  2529.                 sscanf(inputtext, "u", pID);
  2530.                 if(IsPlayerConnected(pID))
  2531.                 {
  2532.                     PlayerInfo[pID][pGang] = PlayerInfo[playerid][pGang];
  2533.                     format(Msg, 144, "{ffff00}O jogador %s te pois como sub-lider da gang dele!", PlayerInfo[playerid][pNome]);
  2534.                     SendClientMessage(pID, -1, Msg);
  2535.                     SalvarConta(pID);
  2536.                 }
  2537.             }
  2538.             else
  2539.                 SendClientMessage(playerid, -1, "{ff0000}Erro!");
  2540.             cache_delete(A, mysql);
  2541.             MenuGang(playerid);
  2542.             return 1;
  2543.         }
  2544.         case DialogGangConvidarMembro: {
  2545.             if(!response || strlen(inputtext) == 0) return MenuGang(playerid);
  2546.             new pID, Msg[144];
  2547.             sscanf(inputtext, "u", pID);
  2548.             if(!IsPlayerConnected(pID)) return SendClientMessage(playerid, -1, "{ff0000}Jogador desconectado!"), MenuGang(playerid);
  2549.             if(PlayerInfo[pID][pGang] != 0) return SendClientMessage(playerid, -1, "{ff0000}Este jogador já está em uma gang!"), MenuGang(playerid);
  2550.             if(PlayerInfo[pID][pConviteGang] != 0) return SendClientMessage(playerid, -1, "{ff0000}Este jogador já foi convidado por uma gang!"), MenuGang(playerid);
  2551.             PlayerInfo[pID][pConviteGang] = PlayerInfo[playerid][pGang];
  2552.             format(Msg, 144, "{ffff00}A Gang %s está lhe convidando para ser membro, use /aceitargang ou /recusargang!", Gangs[PlayerInfo[playerid][pGang]][GangNome]);
  2553.             SendClientMessage(pID, -1, Msg);
  2554.             format(Msg, 144, "{ffff00}Você convidou %s para sua gang!", PlayerInfo[pID][pNome]);
  2555.             SendClientMessage(playerid, -1, Msg);
  2556.             return 1;
  2557.         }
  2558.         case DialogGangEditarDescricao: {
  2559.             if(!response) return MenuGang(playerid);
  2560.             new Msg[144], Query[250];
  2561.             format(Msg, 144, "{ffff00}Descrição atualizada: %s", inputtext);
  2562.             SendClientMessage(playerid, -1, Msg);
  2563.             mysql_format(mysql, Query, sizeof(Query), "UPDATE gangs SET Descricao='%e' WHERE id=%i", inputtext, Gangs[PlayerInfo[playerid][pGang]][ID_MySQL]);
  2564.             mysql_query(mysql, Query, false);
  2565.             MenuGang(playerid);
  2566.             return 1;
  2567.         }
  2568.         case DialogDeletarGang: {
  2569.             if(!response) return MenuGang(playerid);
  2570.             new Query[128];
  2571.             format(Query, sizeof(Query), "DELETE FROM gangs WHERE id=%i", Gangs[PlayerInfo[playerid][pGang]][ID_MySQL]);
  2572.             mysql_query(mysql, Query, false);
  2573.             for(new iGang:i; i < iGang; ++i)
  2574.                 Gangs[PlayerInfo[playerid][pGang]][i] = 0;
  2575.             Gangs[PlayerInfo[playerid][pGang]][Valida] = false;
  2576.             PlayerInfo[playerid][pGang] = 0;
  2577.             SendClientMessage(playerid, -1, "{ffff00}Gang deletada!");
  2578.             SalvarConta(playerid);
  2579.             return 1;
  2580.         }
  2581.         case DialogGangMembros: {
  2582.             if(!response) return MenuGang(playerid);
  2583.             new Membro = Gangs[PlayerInfo[playerid][pGang]][GangMembros][listitem];
  2584.             new Query[128], Nome[24], Cache:M, Msg[200];
  2585.             mysql_format(mysql, Query, sizeof(Query), "SELECT Nome FROM usuarios WHERE id=%i", Membro);
  2586.             M = mysql_query(mysql, Query, true);
  2587.             if(cache_num_rows(mysql) > 0) {
  2588.                 cache_get_field_content(0, "Nome", Nome, mysql, sizeof(Nome));
  2589.                 format(Msg, 200, "{a9c4e4}Você deseja demitir o membro {ffffff}%s{a9c4e4}?", Nome);
  2590.                 ShowPlayerDialog(playerid, DialogDemitirMembro, DIALOG_STYLE_MSGBOX, "{ff0000}# {ffffff}Demitir membro", Msg, "Sim", "Não");
  2591.                 SetPVarInt(playerid, "demitir_membro", Membro);
  2592.             }
  2593.             else {
  2594.                 SendClientMessage(playerid, -1, "{ff0000}Erro!");
  2595.                 MenuGang(playerid);
  2596.             }
  2597.             cache_delete(M, mysql);
  2598.             return 1;
  2599.         }
  2600.         case DialogDemitirMembro:
  2601.         {
  2602.             if(!response) return MembrosGang(playerid), DeletePVar(playerid, "demtir_membro");
  2603.             new Query[300], LM[200], bool:pOn = false, Membro = GetPVarInt(playerid, "demitir_membro");
  2604.             for(new i; i < MAX_GANG_MEMBROS; i++)
  2605.                 if(Gangs[PlayerInfo[playerid][pGang]][GangMembros][i] == Membro)
  2606.                 {
  2607.                     Gangs[PlayerInfo[playerid][pGang]][GangMembros][i] = 0;
  2608.                     break;
  2609.                 }
  2610.             for(new i; i < MAX_GANG_MEMBROS; i++) {
  2611.                 if(Gangs[PlayerInfo[playerid][pGang]][GangMembros][i] == 0) continue;
  2612.                 format(LM, sizeof(LM), "%s%i,",LM, Gangs[PlayerInfo[playerid][pGang]][GangMembros][i]);
  2613.             }
  2614.             format(Query, sizeof(Query), "UPDATE gangs SET Membros='%s' WHERE id=%i", LM, Gangs[PlayerInfo[playerid][pGang]][ID_MySQL]);
  2615.             mysql_query(mysql, Query, false);
  2616.             unformat(LM, "p<,>a<i>["#MAX_GANG_MEMBROS"]",Gangs[PlayerInfo[playerid][pGang]][GangMembros]);
  2617.             for(new i; i <= GetMaxPlayers(); i++) {
  2618.                 if(!IsPlayerConnected(i)) continue;
  2619.                 if(PlayerInfo[i][pMySQL_ID] == Membro) {
  2620.                     PlayerInfo[i][pGang] = 0;
  2621.                     SalvarConta(i);
  2622.                     SendClientMessage(i, -1, "{ff0000}Você foi demitido de sua gang!");
  2623.                     pOn = true;
  2624.                     break;
  2625.                 }
  2626.             }
  2627.             if(pOn == false) {
  2628.                 format(Query, sizeof(Query), "UPDATE usuarios SET Gang=0 WHERE id=%i", Membro);
  2629.                 mysql_query(mysql, Query, false);
  2630.             }
  2631.             DeletePVar(playerid, "demitir_membro");
  2632.             SendClientMessage(playerid, -1, "{ffff00}Membro demitido da gang com sucesso!");
  2633.             MembrosGang(playerid);
  2634.             return 1;
  2635.         }
  2636.         case DialogGangAreas: {
  2637.             if(!response) return MenuGang(playerid);
  2638.             new A, areaid, List[200], Topo[128];
  2639.             for(new i; i < MAX_GANG_AREAS; i++) {
  2640.                 if(Gangs[PlayerInfo[playerid][pGang]][GangAreas][i] == 0) continue;
  2641.                 if(listitem == A) { areaid=Gangs[PlayerInfo[playerid][pGang]][GangAreas][i]; break; }
  2642.                 A++;
  2643.             }
  2644.             format(Topo, 128, "{ff0000}# {ffffff}Área: %s", Areas[areaid][AreaNome]);
  2645.             strcat(List, "Alterar nome da área\r\nIr até a área\r\nDeixar área neutra\r\n");
  2646.             ShowPlayerDialog(playerid, DialogGangAreaOpcoes, DIALOG_STYLE_LIST, Topo, List, "Selecionar", "Cancelar");
  2647.             SetPVarInt(playerid, "gang_area", areaid);
  2648.             return 1;
  2649.         }
  2650.         case DialogGangAreaOpcoes:
  2651.         {
  2652.             if(!response) return AreasGang(playerid), DeletePVar(playerid, "gang_area");
  2653.             new areaid = GetPVarInt(playerid, "gang_area");
  2654.             switch(listitem) {
  2655.                 case 0: /*Alterar nome da área */ShowPlayerDialog(playerid, DialogGangAreaEditNome, DIALOG_STYLE_INPUT, "{ff0000}# {ffffff}Alterar nome da área!", "Digite o novo nome da área:", "Pronto", "Cancelar");
  2656.                 case 1: /*Ir até a área */SetPlayerPos(playerid, Areas[areaid][LocCentro][0],Areas[areaid][LocCentro][1],Areas[areaid][LocCentro][2]), DeletePVar(playerid, "gang_area");
  2657.                 case 2: { //Deixar área neutra
  2658.                     new gangid = Areas[areaid][AreaGang], Query[200];
  2659.                     for(new i; i < MAX_GANG_AREAS; i++) {
  2660.                         if(Gangs[gangid][GangAreas][i] == areaid) {
  2661.                             Gangs[gangid][GangAreas][i] = 0;
  2662.                             Areas[areaid][AreaGang] = 0;
  2663.                             break;
  2664.                         }
  2665.                     }
  2666.                     UpdateDynamic3DTextLabelText(Areas[areaid][AreaText], COR_AREA, "Área Neutra");
  2667.                     GangZoneShowForAll(Areas[areaid][GangZoneID], COR_AREA);
  2668.                     format(Areas[areaid][AreaNome], 128, "");
  2669.                     Areas[areaid][Dominada] = false;
  2670.                     mysql_format(mysql, Query, sizeof(Query), "UPDATE areas SET Gang=0,Nome='' WHERE id=%i", Areas[areaid][ID_MySQL]);
  2671.                     mysql_query(mysql, Query, false);
  2672.                     new str[200];
  2673.                     for(new i; i < MAX_GANG_AREAS; i++) {
  2674.                         if(Gangs[gangid][GangAreas][i] == 0) continue;
  2675.                         format(str, sizeof(str), "%s%i,", str,Gangs[gangid][GangAreas][i]);
  2676.                     }
  2677.                     mysql_format(mysql, Query, sizeof(Query), "UPDATE gangs SET Areas='%s' WHERE id=%i", str, Gangs[gangid][ID_MySQL]);
  2678.                     mysql_query(mysql, Query, false);
  2679.                     SendClientMessage(playerid, -1, "{ffff00}Agora esta área é uma área neutra!");
  2680.                     DeletePVar(playerid, "gang_area");
  2681.                 }
  2682.             }
  2683.             return 1;
  2684.         }
  2685.         case DialogGangAreaNome: {
  2686.             if(!response || strlen(inputtext) == 0) return 1;
  2687.             new areaid=GetPVarInt(playerid, "dominar_area"), string[200];
  2688.             format(Areas[areaid][AreaNome], 128, inputtext);
  2689.             format(string, 200, "Gang: %s\nDescrição: %s\nNome da área: %s\n",Gangs[Areas[areaid][AreaGang]][GangNome], Gangs[Areas[areaid][AreaGang]][GangDescricao], inputtext);
  2690.             UpdateDynamic3DTextLabelText(Areas[areaid][AreaText], Gangs[Areas[areaid][AreaGang]][GangCor], string);
  2691.             SendClientMessage(playerid, -1, "{ffff00}Nome da área atualizado!");
  2692.             mysql_format(mysql, string, sizeof(string), "UPDATE areas SET Nome='%e' WHERE id=%i", inputtext, Areas[areaid][ID_MySQL]);
  2693.             mysql_query(mysql, string, false);
  2694.             DeletePVar(playerid, "dominar_area");
  2695.             return 1;
  2696.         }
  2697.         case DialogGangAreaEditNome: {
  2698.             if(!response || strlen(inputtext) == 0) return 1;
  2699.             new areaid=GetPVarInt(playerid, "gang_area"), string[200];
  2700.             format(Areas[areaid][AreaNome], 128, inputtext);
  2701.             format(string, 200, "Gang: %s\nDescrição: %s\nNome da área: %s\n",Gangs[Areas[areaid][AreaGang]][GangNome], Gangs[Areas[areaid][AreaGang]][GangDescricao], inputtext);
  2702.             UpdateDynamic3DTextLabelText(Areas[areaid][AreaText], Gangs[Areas[areaid][AreaGang]][GangCor], string);
  2703.             SendClientMessage(playerid, -1, "{ffff00}Nome da área atualizado!");
  2704.             mysql_format(mysql, string, sizeof(string), "UPDATE areas SET Nome='%e' WHERE id=%i", inputtext, Areas[areaid][ID_MySQL]);
  2705.             mysql_query(mysql, string, false);
  2706.             DeletePVar(playerid, "gang_area");
  2707.             return 1;
  2708.         }
  2709.         case DialogGangs:
  2710.         {
  2711.             if(!response) return 1;
  2712.             new Cache:G, Query[128], Info[300];
  2713.             format(Query, sizeof(Query), "SELECT * FROM gangs ORDER BY id DESC LIMIT %i,50", GetPVarInt(playerid, "pag_gangs"));
  2714.             G = mysql_query(mysql, Query, true);
  2715.             if(!cache_num_rows(mysql)) return cache_delete(G, mysql), SendClientMessage(playerid, -1, "{ff0000}Erro!"), DeletePVar(playerid, "pag_gangs");
  2716.             switch(listitem) {
  2717.                 case 0..49: {
  2718.                     new Nome[128], ID[2], Cache:T, Li[24], Sub[24], Desc[128];
  2719.                     cache_get_field_content(listitem, "Nome", Nome, mysql, 128);
  2720.                     cache_get_field_content(listitem, "Descricao", Desc, mysql, 128);
  2721.                     ID[0] = cache_get_field_content_int(listitem, "Lider", mysql);
  2722.                     ID[1] = cache_get_field_content_int(listitem, "SubLider", mysql);
  2723.                     format(Query, sizeof(Query), "SELECT Nome FROM usuarios WHERE ID=%i", ID[0]);
  2724.                     T = mysql_query(mysql, Query, true);
  2725.                     if(cache_num_rows(mysql) > 0)
  2726.                         cache_get_field_content(0, "Nome", Li, mysql, 24);
  2727.                     cache_delete(T, mysql);
  2728.                     format(Query, sizeof(Query), "SELECT Nome FROM usuarios WHERE ID=%i", ID[1]);
  2729.                     T = mysql_query(mysql, Query, true);
  2730.                     if(cache_num_rows(mysql) > 0)
  2731.                         cache_get_field_content(0, "Nome", Sub, mysql, 24);
  2732.                     cache_delete(T, mysql);
  2733.                     format(Info, sizeof(Info), "Informações da Gang: %s\nDescrição: %s\n\nLíder: %s\nSub Líder: %s\n", Nome, Desc, Li, Sub);
  2734.                     ShowPlayerDialog(playerid, DialogInfoGang, DIALOG_STYLE_MSGBOX, "{ff0000}# {ffffff}Info Gang", Info, "Ok", "");
  2735.                 }
  2736.                 default: {
  2737.                     SetPVarInt(playerid, "pag_gangs", (GetPVarInt(playerid, "pag_gangs") + 50));
  2738.                     TodasGangs(playerid);
  2739.                 }
  2740.             }
  2741.             cache_delete(G, mysql);
  2742.             return 1;
  2743.         }
  2744.         case DialogInfoGang: return TodasGangs(playerid);
  2745.         case DialogRegistrar: {
  2746.             if(!response) return KickMsg(playerid, "Kickado por não querer se registrar!");
  2747.             if(strlen(inputtext) < 4) return SendClientMessage(playerid, -1, "{ff0000}Mínimo de caracteres é 4, tente novamente."), RegistroDialog(playerid, "{ff0000}Ponha uma senha com mais de 4 caracteres.");
  2748.             if(strlen(inputtext) > 50) return SendClientMessage(playerid, -1, "{ff0000}Máximo de caracteres é 50. Tente novamente!"), RegistroDialog(playerid, "{ff0000}Ponha uma senha com menos de 50 caracteres.");
  2749.             PlayerInfo[playerid][Logado] = true;
  2750.             new Msg[144]; //query[256];
  2751.             format(Msg, 144, "{ffff00}Obrigado por se registrar em nosso servidor {ffffff}%s{ffff00}!", PlayerInfo[playerid][pNome]);
  2752.             SendClientMessage(playerid, -1, Msg);
  2753.             format(PlayerInfo[playerid][pSenha], 50, Encriptar(inputtext));
  2754.             PlayerInfo[playerid][pUltimoLogin] = gettime();
  2755.             new Dia, Mes, Ano, Horas, Min;
  2756.             getdate(Ano, Mes, Dia);
  2757.             gettime(Horas, Min);
  2758.             format(PlayerInfo[playerid][pRegistroDia], 50, "%02d/%02d/%d %02d:%02d", Dia, Mes, Ano, Horas, Min);
  2759.             orm_insert(PlayerInfo[playerid][OrmID]);
  2760.             format(Msg, sizeof(Msg), "{FF8C00}%s (id: %i) se registrou no servidor. [%i/%i]", PlayerInfo[playerid][pNome], playerid, GetPlayers(), GetMaxPlayers());
  2761.             SendClientMessageToAll(-1, Msg);
  2762.             PlayerInfo[playerid][pErrosSenha] = 0;
  2763.             return 1;
  2764.         }
  2765.         case DialogLogar: {
  2766.             if(!response) return KickMsg(playerid, "Kickado por não logar.");
  2767.             new Msg[144];
  2768.             if(strlen(inputtext) <= 1) {
  2769.                 if(PlayerInfo[playerid][pErrosSenha] > 3) return SendClientMessage(playerid, -1, "{EECFA1}Lamentamos, esgotou-se as tentativas para login.");
  2770.                 SendClientMessage(playerid, -1, "{ff0000}Você precisa digitar uma senha!");
  2771.                 PlayerInfo[playerid][pErrosSenha]++;
  2772.                 format(Msg, 144, "{ff0000}Você tem ainda {ffffff}%i{ff0000} tentativas para logar.", (3 - PlayerInfo[playerid][pErrosSenha]));
  2773.                 LoginDialog(playerid, Msg);
  2774.                 return 1;
  2775.             }
  2776.             if(strcmp(Descriptar(PlayerInfo[playerid][pSenha]), inputtext, false) != 0) {
  2777.                 if(PlayerInfo[playerid][pErrosSenha] > 3) {
  2778.                     if(strlen(PlayerInfo[playerid][pEmail]) > 3) {
  2779.                         //
  2780.                     }
  2781.                     KickMsg(playerid, "{ff0000}Você não conseguiu logar com sucesso em nosso servidor.");
  2782.                     return 1;
  2783.                 }
  2784.                 SendClientMessage(playerid, -1, "{ff0000}Senha incorreta!");
  2785.                 PlayerInfo[playerid][pErrosSenha]++;
  2786.                 format(Msg, 144, "{ff0000}Você tem ainda {ffffff}%i {ff0000}tentativas para logar.", (3 - PlayerInfo[playerid][pErrosSenha]));
  2787.                 LoginDialog(playerid, Msg);
  2788.                 return 1;
  2789.             }
  2790.             //Login
  2791.             PlayerInfo[playerid][pTempoLogado] = gettime();
  2792.             PlayerInfo[playerid][Logado] = true;
  2793.             new tempoUltimoLogin = gettime() - PlayerInfo[playerid][pUltimoLogin], strUT[20];
  2794.             if(tempoUltimoLogin > (60*60*24)) {
  2795.                 tempoUltimoLogin = tempoUltimoLogin / (60*60*24);
  2796.                 format(strUT, sizeof(strUT), "%i dia%s", tempoUltimoLogin, (tempoUltimoLogin > 1) ? ("s") : (""));
  2797.             }
  2798.             else if(tempoUltimoLogin > (60*60)) {
  2799.                 tempoUltimoLogin = tempoUltimoLogin / (60*60);
  2800.                 format(strUT, sizeof(strUT), "%i hora%s", tempoUltimoLogin, (tempoUltimoLogin > 1) ? ("s") : (""));
  2801.             }
  2802.             else if(tempoUltimoLogin > 60) {
  2803.                 tempoUltimoLogin = tempoUltimoLogin / 60;
  2804.                 format(strUT, sizeof(strUT), "%i minuto%s", tempoUltimoLogin, (tempoUltimoLogin > 1) ? ("s") : (""));
  2805.             }
  2806.             else
  2807.                 format(strUT, sizeof(strUT), "%i segundo%s", tempoUltimoLogin, (tempoUltimoLogin > 1) ? ("s") : (""));
  2808.             format(Msg, 144, "{ffff00}Logado com sucesso {ffffff}%s{ffff00}! Ultimo login feito á %s!", PlayerInfo[playerid][pNome], strUT);
  2809.             SendClientMessage(playerid, -1, Msg);
  2810.             format(Msg, sizeof(Msg), "{FF8C00}%s (id: %i) conectou-se no servidor. [%i/%i]", PlayerInfo[playerid][pNome], playerid, GetPlayers(), GetMaxPlayers());
  2811.             SendClientMessageToAll(-1, Msg);
  2812.             PlayerInfo[playerid][pErrosSenha] = 0;
  2813.             PlayerInfo[playerid][pUltimoLogin] = gettime();
  2814.             return 1;
  2815.         }
  2816.         case DialogCorridas: {
  2817.             if(!response) return 1;
  2818.             new Msg[300], Cache:TCorridas = mysql_query(mysql, "SELECT * FROM corridas ORDER BY ID DESC", true);
  2819.             if(cache_num_rows(mysql) > 0 && listitem < cache_num_rows(mysql)) {
  2820.                 new Nome[128];
  2821.                 SetPVarInt(playerid, "corrida_id", cache_get_field_content_int(listitem, "ID", mysql));
  2822.                 cache_get_field_content(listitem, "CorridaNome", Nome, mysql, 128);
  2823.                 format(Msg, 300, "{0000ff}# {ffffff}%s", Nome);
  2824.                 ShowPlayerDialog(playerid, DialogMenuCorrida, DIALOG_STYLE_LIST, Msg, "Carregar corrida\r\nEditar nome da corrida\r\nEditar prêmio da corrida\r\nEditar veículo da corrida\r\nEditar máximo de participantes\r\nAlterar tipo de corrida\r\n{ffff00}Apagar corrida", "Selecionar", "Cancelar");
  2825.             }
  2826.             else
  2827.                 SendClientMessage(playerid, -1, "{ff0000}* Erro! Não foi possível ver as corridas criadas! :/");
  2828.             cache_delete(TCorridas, mysql);
  2829.             return 1;
  2830.         }
  2831.         case DialogMenuCorrida: {
  2832.             if(!response) return DeletePVar(playerid, "corrida_id");
  2833.             new Msg[300], Query[300], Cache:ECorrida;
  2834.             switch(listitem) {
  2835.                 case 0: {//Carregar corrida
  2836.                     format(Query, sizeof(Query), "SELECT * FROM corridas WHERE ID=%i", GetPVarInt(playerid, "corrida_id"));
  2837.                     mysql_tquery(mysql, Query, "MySQL_CarregarCorrida", "");
  2838.                     DeletePVar(playerid, "corrida_id");
  2839.                     SendClientMessage(playerid, -1, "{ffff00}* Corrida carregada!");
  2840.                 }
  2841.                 case 1: {//Editar nome
  2842.                     format(Query, sizeof(Query), "SELECT CorridaNome FROM corridas WHERE ID=%i", GetPVarInt(playerid, "corrida_id"));
  2843.                     ECorrida = mysql_query(mysql, Query, true);
  2844.                     if(cache_num_rows(mysql) > 0) {
  2845.                         new Nome[128]; cache_get_field_content(0, "CorridaNome", Nome, mysql, 128);
  2846.                         format(Msg, sizeof(Msg), "Nome atual da corrida: %s\nDigite o novo nome desejado abaixo:",Nome);
  2847.                         ShowPlayerDialog(playerid, DialogEditCorridaNome, DIALOG_STYLE_INPUT, "{ff0000}# {ffffff}Editar nome da corrida", Msg, "Editar", "Cancelar");
  2848.                     }
  2849.                     cache_delete(ECorrida, mysql);
  2850.                 }
  2851.                 case 2: { //Editar prêmio
  2852.                     format(Query, sizeof(Query), "SELECT CorridaPremio FROM corridas WHERE ID=%i", GetPVarInt(playerid, "corrida_id"));
  2853.                     ECorrida = mysql_query(mysql, Query, true);
  2854.                     if(cache_num_rows(mysql) > 0) {
  2855.                         format(Msg, sizeof(Msg), "Prêmio atual da corrida: R$%i\nDigite o valor desejado abaixo:", cache_get_field_content_int(0, "CorridaPremio", mysql));
  2856.                         ShowPlayerDialog(playerid, DialogEditCorridaPremio, DIALOG_STYLE_INPUT, "{ff0000}# {ffffff}Editar prêmio da corrida", Msg, "Editar", "Cancelar");
  2857.                     }
  2858.                     cache_delete(ECorrida, mysql);
  2859.                 }
  2860.                 case 3: { //Editar veiculo
  2861.                     format(Query, sizeof(Query), "SELECT Veiculo FROM corridas WHERE ID=%i", GetPVarInt(playerid, "corrida_id"));
  2862.                     ECorrida = mysql_query(mysql, Query, true);
  2863.                     if(cache_num_rows(mysql) > 0) {
  2864.                         format(Msg, sizeof(Msg), "Modelo do veículo da corrida: %i %s\nDigite o ID do Veículo desejado:", cache_get_field_content_int(0, "Veiculo", mysql), (cache_get_field_content_int(0, "Veiculo", mysql) == 0) ? ("(Nenhum)") : (NomesVeiculos[cache_get_field_content_int(0, "Veiculo", mysql)-400]));
  2865.                         ShowPlayerDialog(playerid, DialogEditCorridaVeiculo, DIALOG_STYLE_INPUT, "{ff0000}# {ffffff}Editar veículo da corrida", Msg, "Editar", "Cancelar");
  2866.                     }
  2867.                     cache_delete(ECorrida, mysql);
  2868.                 }
  2869.                 case 4: { //Editar máximo de participantes
  2870.                     format(Query, sizeof(Query), "SELECT MaximoParticipantes FROM corridas WHERE ID=%i", GetPVarInt(playerid, "corrida_id"));
  2871.                     ECorrida = mysql_query(mysql, Query, true);
  2872.                     if(cache_num_rows(mysql) > 0) {
  2873.                         format(Msg, sizeof(Msg), "Número máximo de participantes: %i\nDigite abaixo o valor desejado:", cache_get_field_content_int(0, "MaximoParticipantes", mysql));
  2874.                         ShowPlayerDialog(playerid, DialogEditCorridaMaxPlayers, DIALOG_STYLE_INPUT, "{ff0000}# {ffffff}Editar máximo de participantes", Msg, "Editar", "Cancelar");
  2875.                     }
  2876.                     cache_delete(ECorrida, mysql);
  2877.                 }
  2878.                 case 5: {   //Alterar TIPO
  2879.                     format(Query, sizeof(Query), "SELECT CorridaTipo FROM corridas WHERE ID=%i", GetPVarInt(playerid, "corrida_id"));
  2880.                     ECorrida = mysql_query(mysql, Query, true);
  2881.                     if(cache_num_rows(mysql) > 0) {
  2882.                         format(Msg, sizeof(Msg), "{ff0000}# {ffffff}Alterar tipo (Atual: %s)", (cache_get_field_content_int(0, "CorridaTipo", mysql) == CORRIDA_TERRESTRE) ? ("Terrestre") : ("Aérea"));
  2883.                         ShowPlayerDialog(playerid, DialogEditCorridaTipo, DIALOG_STYLE_LIST, Msg, "Terrestre\r\nAérea\r\n", "Selecionar", "Cancelar");
  2884.                     }
  2885.                     cache_delete(ECorrida, mysql);
  2886.                 }
  2887.                 case 6: { //Apagar
  2888.                     format(Query, sizeof(Query), "DELETE FROM corridas WHERE ID=%i", GetPVarInt(playerid, "corrida_id"));
  2889.                     mysql_query(mysql, Query, false);
  2890.                     DeletePVar(playerid, "corrida_id");
  2891.                     SendClientMessage(playerid, -1, "{ffff00}* Corrida apagada!");
  2892.                     cmd_carregarcorrida(playerid, "");
  2893.                 }
  2894.             }
  2895.             return 1;
  2896.         }
  2897.         case DialogEditCorridaNome: {
  2898.             if(!response || strlen(inputtext) == 0) return DeletePVar(playerid, "corrida_id"), cmd_carregarcorrida(playerid, "");
  2899.             new Query[300], Msg[144];
  2900.             mysql_format(mysql, Query, sizeof(Query), "UPDATE contas SET CorridaNome='%e' WHERE ID=%i", inputtext, GetPVarInt(playerid, "corrida_id"));
  2901.             mysql_query(mysql, Query, false);
  2902.             format(Msg, sizeof(Msg), "{ffff00}* Nome da corrida atualizado para %s", inputtext);
  2903.             SendClientMessage(playerid, -1, Msg);
  2904.             DeletePVar(playerid, "corrida_id");
  2905.             return 1;
  2906.         }
  2907.         case DialogEditCorridaPremio: {
  2908.             if(!response || strlen(inputtext) == 0) return DeletePVar(playerid, "corrida_id"), cmd_carregarcorrida(playerid, "");
  2909.             new Query[300], Msg[144];
  2910.             mysql_format(mysql, Query, sizeof(Query), "UPDATE contas SET CorridaPremio=%i WHERE ID=%i", strval(inputtext), GetPVarInt(playerid, "corrida_id"));
  2911.             mysql_query(mysql, Query, false);
  2912.             format(Msg, sizeof(Msg), "{ffff00}* Prêmio da corrida atualizado para R$%i", strval(inputtext));
  2913.             SendClientMessage(playerid, -1, Msg);
  2914.             DeletePVar(playerid, "corrida_id");
  2915.             return 1;
  2916.         }
  2917.         case DialogEditCorridaMaxPlayers: {
  2918.             if(!response || strlen(inputtext) == 0) return DeletePVar(playerid, "corrida_id"), cmd_carregarcorrida(playerid, "");
  2919.             new Query[300], Msg[144];
  2920.             mysql_format(mysql, Query, sizeof(Query), "UPDATE contas SET MaximoParticipantes=%i WHERE ID=%i", strval(inputtext), GetPVarInt(playerid, "corrida_id"));
  2921.             mysql_query(mysql, Query, false);
  2922.             format(Msg, sizeof(Msg), "{ffff00}* Máximo de participantes da corrida atualizado para %i", strval(inputtext));
  2923.             SendClientMessage(playerid, -1, Msg);
  2924.             DeletePVar(playerid, "corrida_id");
  2925.             return 1;
  2926.         }
  2927.         case DialogEditCorridaVeiculo: {
  2928.             if(!response || strlen(inputtext) == 0) return DeletePVar(playerid, "corrida_id"), cmd_carregarcorrida(playerid, "");
  2929.             new Query[300], Msg[144];
  2930.             mysql_format(mysql, Query, sizeof(Query), "UPDATE contas SET Veiculo=%i WHERE ID=%i", strval(inputtext), GetPVarInt(playerid, "corrida_id"));
  2931.             mysql_query(mysql, Query, false);
  2932.             format(Msg, sizeof(Msg), "{ffff00}* Veiculo da corrida atualizado para %i (%s)", strval(inputtext), (strval(inputtext) == 0) ? ("Nenhum") : (NomesVeiculos[strval(inputtext)-400]));
  2933.             SendClientMessage(playerid, -1, Msg);
  2934.             DeletePVar(playerid, "corrida_id");
  2935.             return 1;
  2936.         }
  2937.         case DialogEditCorridaTipo: {
  2938.             if(!response) return DeletePVar(playerid, "corrida_id"), cmd_carregarcorrida(playerid, "");
  2939.             new Query[300], Msg[144], Tipo;
  2940.             switch(listitem) {
  2941.                 case 0: Tipo = CORRIDA_TERRESTRE;
  2942.                 case 1: Tipo = CORRIDA_AEREA;
  2943.             }
  2944.             format(Query, sizeof(Query), "UPDATE contas SET CorridaTipo=%i WHERE ID=%i", Tipo, GetPVarInt(playerid, "corrida_id"));
  2945.             mysql_query(mysql, Query, false);
  2946.             format(Msg, sizeof(Msg), "{ffff00}* Tipo de corrida alterado para: %s", (Tipo == CORRIDA_TERRESTRE) ? ("Terrestre") : ("Aerea"));
  2947.             SendClientMessage(playerid, -1, Msg);
  2948.             DeletePVar(playerid, "corrida_id");
  2949.             return 1;
  2950.         }
  2951.         case DialogVeiculoClasse: {
  2952.             if(!response) return 1;
  2953.             new Classe = listitem + 1;
  2954.             new nomeClasse[100], veiculos[sizeof(ClasseVeiculo)];
  2955.             switch(Classe) {
  2956.                 case ClasseMotos: format(nomeClasse, sizeof(nomeClasse), "Motos");
  2957.                 case ClasseBarco: format(nomeClasse, sizeof(nomeClasse), "Barcos");
  2958.                 case ClasseConversivel: format(nomeClasse, sizeof(nomeClasse), "Conversiveis");
  2959.                 case ClasseHelicoptero: format(nomeClasse, sizeof(nomeClasse), "Helicopteros");
  2960.                 case ClasseIndustrial: format(nomeClasse, sizeof(nomeClasse), "Industriais");
  2961.                 case ClasseLowRider: format(nomeClasse, sizeof(nomeClasse), "Low-Rider's");
  2962.                 case ClasseOffRoad: format(nomeClasse, sizeof(nomeClasse), "Off-Road");
  2963.                 case ClasseAviao: format(nomeClasse, sizeof(nomeClasse), "Avioes");
  2964.                 case ClassePublico: format(nomeClasse, sizeof(nomeClasse), "Publicos");
  2965.                 case ClasseSalao: format(nomeClasse, sizeof(nomeClasse), "Carros de Salao");
  2966.                 case ClasseSport: format(nomeClasse, sizeof(nomeClasse), "Carros Sport");
  2967.                 case ClasseTrailer: format(nomeClasse, sizeof(nomeClasse), "Trailers");
  2968.                 case ClasseUnicos: format(nomeClasse, sizeof(nomeClasse), "Carros Unicos");
  2969.                 case ClasseBasicos: format(nomeClasse, sizeof(nomeClasse), "Carros Basicos");
  2970.             }
  2971.             new v = 0;
  2972.             for(new i = 0; i < sizeof(ClasseVeiculo); i++) {
  2973.                 if(ClasseVeiculo[i][vClasse] == Classe) {
  2974.                     veiculos[v] = ClasseVeiculo[i][vModeloID];
  2975.                     v++;
  2976.                 }
  2977.             }
  2978.             ShowModelSelectionMenuEx(playerid, veiculos, v, nomeClasse, LISTA_VEICULOS, -17.0, 2.0, 30.0, 0.85);
  2979.             return 1;
  2980.         }
  2981.         case DialogTeleportLista: {
  2982.             if(!response) return 1;
  2983.             if(PlayerInfo[playerid][EmArena] == true) return SendClientMessage(playerid, -1, "{32CD32}* Você deve sair primeiramente de uma arena, use /sairarena.");
  2984.             switch(listitem) {
  2985.                 case 0: return cmd_stunts(playerid, "");
  2986.                 case 1: return cmd_pistas(playerid, "");
  2987.                 case 2: return cmd_drift(playerid, "");
  2988.                 case 3: return cmd_pulos(playerid, "");
  2989.                 case 4: return cmd_corridas(playerid, "");
  2990.                 case 5: return cmd_tubos(playerid, "");
  2991.                 case 6: return cmd_varios(playerid, "");
  2992.                 case 7: return cmd_tlnormal(playerid, "");
  2993.                 case 8: return cmd_arenas(playerid, "");
  2994.  
  2995.             }
  2996.             return 1;
  2997.         }
  2998.         case DialogTeleStunt: {
  2999.             if(!response) return 1;
  3000.             if(PlayerInfo[playerid][EmArena] == true) return SendClientMessage(playerid, -1, "{32CD32}* Você deve sair primeiramente de uma arena, use /sairarena.");
  3001.             new Teles, Msg[144];
  3002.             for(new i; i < sizeof(Teleportes); i++) {
  3003.                 if(Teleportes[i][teleTipo] != Tele_Stunt) continue;
  3004.                 if(listitem != Teles) {
  3005.                     Teles++;
  3006.                     continue;
  3007.                 }
  3008.                 if(GetPlayerVehicleSeat(playerid) == 0) {
  3009.                     SetVehiclePos(GetPlayerVehicleID(playerid), Teleportes[i][tX], Teleportes[i][tY], Teleportes[i][tZ] + 1.0);
  3010.                     SetVehicleZAngle(GetPlayerVehicleID(playerid), Teleportes[i][tRot]);
  3011.                 }
  3012.                 else {
  3013.                     SetPlayerPos(playerid, Teleportes[i][tX], Teleportes[i][tY], Teleportes[i][tZ]);
  3014.                     SetPlayerFacingAngle(playerid, Teleportes[i][tRot]);
  3015.                 }
  3016.                 if(Teleportes[i][tCarregar] == true) {
  3017.                     GameTextForPlayer(playerid, "~w~Carregando...", 3000, 4);
  3018.                     TogglePlayerControllable(playerid, false);
  3019.                     SetTimerEx("Descongelar", 3000, false, "d", playerid);
  3020.                 }
  3021.                 format(Msg, 144, "%s foi para %s ( /%s )", PlayerInfo[playerid][pNome], Teleportes[i][teleportNome], Teleportes[i][TeleCmd]);
  3022.                 SendClientMessageToAll(0xFFD700FF, Msg);
  3023.                 break;
  3024.             }
  3025.             return 1;
  3026.         }
  3027.         case DialogTelePistas: {
  3028.             if(!response) return 1;
  3029.             if(PlayerInfo[playerid][EmArena] == true) return SendClientMessage(playerid, -1, "{32CD32}* Você deve sair primeiramente de uma arena, use /sairarena.");            
  3030.             new Teles, Msg[144];
  3031.             for(new i; i < sizeof(Teleportes); i++) {
  3032.                 if(Teleportes[i][teleTipo] != Tele_Pistas) continue;
  3033.                 if(listitem != Teles) {
  3034.                     Teles++;
  3035.                     continue;
  3036.                 }
  3037.                 if(GetPlayerVehicleSeat(playerid) == 0) {
  3038.                     SetVehiclePos(GetPlayerVehicleID(playerid), Teleportes[i][tX], Teleportes[i][tY], Teleportes[i][tZ] + 1.0);
  3039.                     SetVehicleZAngle(GetPlayerVehicleID(playerid), Teleportes[i][tRot]);
  3040.                 }
  3041.                 else {
  3042.                     SetPlayerPos(playerid, Teleportes[i][tX], Teleportes[i][tY], Teleportes[i][tZ]);
  3043.                     SetPlayerFacingAngle(playerid, Teleportes[i][tRot]);
  3044.                 }
  3045.                 if(Teleportes[i][tCarregar] == true) {
  3046.                     GameTextForPlayer(playerid, "~w~Carregando...", 3000, 4);
  3047.                     TogglePlayerControllable(playerid, false);
  3048.                     SetTimerEx("Descongelar", 3000, false, "d", playerid);
  3049.                 }
  3050.                 format(Msg, 144, "%s foi para %s ( /%s )", PlayerInfo[playerid][pNome], Teleportes[i][teleportNome], Teleportes[i][TeleCmd]);
  3051.                 SendClientMessageToAll(0xFFD700FF, Msg);
  3052.                 break;
  3053.             }
  3054.             return 1;
  3055.         }
  3056.         case DialogTeleDrift: {
  3057.             if(!response) return 1;
  3058.             if(PlayerInfo[playerid][EmArena] == true) return SendClientMessage(playerid, -1, "{32CD32}* Você deve sair primeiramente de uma arena, use /sairarena.");
  3059.             new Teles, Msg[144];
  3060.             for(new i; i < sizeof(Teleportes); i++) {
  3061.                 if(Teleportes[i][teleTipo] != Tele_Drift) continue;
  3062.                 if(listitem != Teles) {
  3063.                     Teles++;
  3064.                     continue;
  3065.                 }
  3066.                 if(GetPlayerVehicleSeat(playerid) == 0) {
  3067.                     SetVehiclePos(GetPlayerVehicleID(playerid), Teleportes[i][tX], Teleportes[i][tY], Teleportes[i][tZ] + 1.0);
  3068.                     SetVehicleZAngle(GetPlayerVehicleID(playerid), Teleportes[i][tRot]);
  3069.                 }
  3070.                 else {
  3071.                     SetPlayerPos(playerid, Teleportes[i][tX], Teleportes[i][tY], Teleportes[i][tZ]);
  3072.                     SetPlayerFacingAngle(playerid, Teleportes[i][tRot]);
  3073.                 }
  3074.                 if(Teleportes[i][tCarregar] == true) {
  3075.                     GameTextForPlayer(playerid, "~w~Carregando...", 3000, 4);
  3076.                     TogglePlayerControllable(playerid, false);
  3077.                     SetTimerEx("Descongelar", 3000, false, "d", playerid);
  3078.                 }
  3079.                 format(Msg, 144, "%s foi para %s ( /%s )", PlayerInfo[playerid][pNome], Teleportes[i][teleportNome], Teleportes[i][TeleCmd]);
  3080.                 SendClientMessageToAll(0xFFD700FF, Msg);
  3081.                 break;
  3082.             }
  3083.             return 1;
  3084.         }
  3085.         case DialogTelePulos: {
  3086.             if(!response) return 1;
  3087.             if(PlayerInfo[playerid][EmArena] == true) return SendClientMessage(playerid, -1, "{32CD32}* Você deve sair primeiramente de uma arena, use /sairarena.");          
  3088.             new Teles, Msg[144];
  3089.             for(new i; i < sizeof(Teleportes); i++) {
  3090.                 if(Teleportes[i][teleTipo] != Tele_Pulos) continue;
  3091.                 if(listitem != Teles) {
  3092.                     Teles++;
  3093.                     continue;
  3094.                 }
  3095.                 if(GetPlayerVehicleSeat(playerid) == 0) {
  3096.                     SetVehiclePos(GetPlayerVehicleID(playerid), Teleportes[i][tX], Teleportes[i][tY], Teleportes[i][tZ] + 1.0);
  3097.                     SetVehicleZAngle(GetPlayerVehicleID(playerid), Teleportes[i][tRot]);
  3098.                 }
  3099.                 else {
  3100.                     SetPlayerPos(playerid, Teleportes[i][tX], Teleportes[i][tY], Teleportes[i][tZ]);
  3101.                     SetPlayerFacingAngle(playerid, Teleportes[i][tRot]);
  3102.                 }
  3103.                 if(Teleportes[i][tCarregar] == true) {
  3104.                     GameTextForPlayer(playerid, "~w~Carregando...", 3000, 4);
  3105.                     TogglePlayerControllable(playerid, false);
  3106.                     SetTimerEx("Descongelar", 3000, false, "d", playerid);
  3107.                 }
  3108.                 format(Msg, 144, "%s foi para %s ( /%s )", PlayerInfo[playerid][pNome], Teleportes[i][teleportNome], Teleportes[i][TeleCmd]);
  3109.                 SendClientMessageToAll(0xFFD700FF, Msg);
  3110.                 break;
  3111.             }
  3112.             return 1;
  3113.         }
  3114.         case DialogTeleCorridas: {
  3115.             if(!response) return 1;
  3116.             if(PlayerInfo[playerid][EmArena] == true) return SendClientMessage(playerid, -1, "{32CD32}* Você deve sair primeiramente de uma arena, use /sairarena.");        
  3117.             new Teles, Msg[144];
  3118.             for(new i; i < sizeof(Teleportes); i++) {
  3119.                 if(Teleportes[i][teleTipo] != Tele_Corrida) continue;
  3120.                 if(listitem != Teles) {
  3121.                     Teles++;
  3122.                     continue;
  3123.                 }
  3124.                 if(GetPlayerVehicleSeat(playerid) == 0) {
  3125.                     SetVehiclePos(GetPlayerVehicleID(playerid), Teleportes[i][tX], Teleportes[i][tY], Teleportes[i][tZ] + 1.0);
  3126.                     SetVehicleZAngle(GetPlayerVehicleID(playerid), Teleportes[i][tRot]);
  3127.                 }
  3128.                 else {
  3129.                     SetPlayerPos(playerid, Teleportes[i][tX], Teleportes[i][tY], Teleportes[i][tZ]);
  3130.                     SetPlayerFacingAngle(playerid, Teleportes[i][tRot]);
  3131.                 }
  3132.                 if(Teleportes[i][tCarregar] == true) {
  3133.                     GameTextForPlayer(playerid, "~w~Carregando...", 3000, 4);
  3134.                     TogglePlayerControllable(playerid, false);
  3135.                     SetTimerEx("Descongelar", 3000, false, "d", playerid);
  3136.                 }
  3137.                 format(Msg, 144, "%s foi para %s ( /%s )", PlayerInfo[playerid][pNome], Teleportes[i][teleportNome], Teleportes[i][TeleCmd]);
  3138.                 SendClientMessageToAll(0xFFD700FF, Msg);
  3139.                 break;
  3140.             }
  3141.             return 1;
  3142.         }
  3143.         case DialogTeleTubos: {
  3144.             if(!response) return 1;
  3145.             if(PlayerInfo[playerid][EmArena] == true) return SendClientMessage(playerid, -1, "{32CD32}* Você deve sair primeiramente de uma arena, use /sairarena.");          
  3146.             new Teles, Msg[144];
  3147.             for(new i; i < sizeof(Teleportes); i++) {
  3148.                 if(Teleportes[i][teleTipo] != Tele_Tubos) continue;
  3149.                 if(listitem != Teles) {
  3150.                     Teles++;
  3151.                     continue;
  3152.                 }
  3153.                 if(GetPlayerVehicleSeat(playerid) == 0) {
  3154.                     SetVehiclePos(GetPlayerVehicleID(playerid), Teleportes[i][tX], Teleportes[i][tY], Teleportes[i][tZ] + 1.0);
  3155.                     SetVehicleZAngle(GetPlayerVehicleID(playerid), Teleportes[i][tRot]);
  3156.                 }
  3157.                 else {
  3158.                     SetPlayerPos(playerid, Teleportes[i][tX], Teleportes[i][tY], Teleportes[i][tZ]);
  3159.                     SetPlayerFacingAngle(playerid, Teleportes[i][tRot]);
  3160.                 }
  3161.                 if(Teleportes[i][tCarregar] == true) {
  3162.                     GameTextForPlayer(playerid, "~w~Carregando...", 3000, 4);
  3163.                     TogglePlayerControllable(playerid, false);
  3164.                     SetTimerEx("Descongelar", 3000, false, "d", playerid);
  3165.                 }
  3166.                 format(Msg, 144, "%s foi para %s ( /%s )", PlayerInfo[playerid][pNome], Teleportes[i][teleportNome], Teleportes[i][TeleCmd]);
  3167.                 SendClientMessageToAll(0xFFD700FF, Msg);
  3168.                 break;
  3169.             }
  3170.             return 1;
  3171.         }
  3172.         case DialogTeleVariado: {
  3173.             if(!response) return 1;
  3174.             if(PlayerInfo[playerid][EmArena] == true) return SendClientMessage(playerid, -1, "{32CD32}* Você deve sair primeiramente de uma arena, use /sairarena.");            
  3175.             new Teles, Msg[144];
  3176.             for(new i; i < sizeof(Teleportes); i++) {
  3177.                 if(Teleportes[i][teleTipo] != Tele_Variados) continue;
  3178.                 if(listitem != Teles) {
  3179.                     Teles++;
  3180.                     continue;
  3181.                 }
  3182.                 if(GetPlayerVehicleSeat(playerid) == 0) {
  3183.                     SetVehiclePos(GetPlayerVehicleID(playerid), Teleportes[i][tX], Teleportes[i][tY], Teleportes[i][tZ] + 1.0);
  3184.                     SetVehicleZAngle(GetPlayerVehicleID(playerid), Teleportes[i][tRot]);
  3185.                 }
  3186.                 else {
  3187.                     SetPlayerPos(playerid, Teleportes[i][tX], Teleportes[i][tY], Teleportes[i][tZ]);
  3188.                     SetPlayerFacingAngle(playerid, Teleportes[i][tRot]);
  3189.                 }
  3190.                 if(Teleportes[i][tCarregar] == true) {
  3191.                     GameTextForPlayer(playerid, "~w~Carregando...", 3000, 4);
  3192.                     TogglePlayerControllable(playerid, false);
  3193.                     SetTimerEx("Descongelar", 3000, false, "d", playerid);
  3194.                 }
  3195.                 format(Msg, 144, "%s foi para %s ( /%s )", PlayerInfo[playerid][pNome], Teleportes[i][teleportNome], Teleportes[i][TeleCmd]);
  3196.                 SendClientMessageToAll(0xFFD700FF, Msg);
  3197.                 break;
  3198.             }
  3199.             return 1;
  3200.         }
  3201.         case DialogTeleNormal: {
  3202.             if(!response) return 1;
  3203.             if(PlayerInfo[playerid][EmArena] == true) return SendClientMessage(playerid, -1, "{32CD32}* Você deve sair primeiramente de uma arena, use /sairarena.");          
  3204.             new Teles, Msg[144];
  3205.             for(new i; i < sizeof(Teleportes); i++) {
  3206.                 if(Teleportes[i][teleTipo] != Tele_Normal) continue;
  3207.                 if(listitem != Teles) {
  3208.                     Teles++;
  3209.                     continue;
  3210.                 }
  3211.                 if(GetPlayerVehicleSeat(playerid) == 0) {
  3212.                     SetVehiclePos(GetPlayerVehicleID(playerid), Teleportes[i][tX], Teleportes[i][tY], Teleportes[i][tZ] + 1.0);
  3213.                     SetVehicleZAngle(GetPlayerVehicleID(playerid), Teleportes[i][tRot]);
  3214.                 }
  3215.                 else {
  3216.                     SetPlayerPos(playerid, Teleportes[i][tX], Teleportes[i][tY], Teleportes[i][tZ]);
  3217.                     SetPlayerFacingAngle(playerid, Teleportes[i][tRot]);
  3218.                 }
  3219.                 format(Msg, 144, "%s foi para %s ( /%s )", PlayerInfo[playerid][pNome], Teleportes[i][teleportNome], Teleportes[i][TeleCmd]);
  3220.                 SendClientMessageToAll(0xFFD700FF, Msg);
  3221.                 break;
  3222.             }
  3223.             return 1;
  3224.         }
  3225.         case DialogComandosClasse: {
  3226.             if(!response) return 1;
  3227.             SetPVarInt(playerid, "cmd_lista", 0);
  3228.             new cmdClasse = listitem + 1;
  3229.             SetPVarInt(playerid, "cmd_classe", cmdClasse);
  3230.             new Dialog[2000], comandos;
  3231.             for(new i = 0; i < sizeof(Cmds); i++) {
  3232.                 if(Cmds[i][ComandoClasse] == cmdClasse) {
  3233.                     if(comandos > 30) break;
  3234.                     if(Cmds[i][ComandoLevel] <= 0)
  3235.                         format(Dialog, sizeof(Dialog), "%s- %s\t%s\n", Dialog, Cmds[i][ComandoNome], Cmds[i][ComandoInfo]);
  3236.                     else {
  3237.                         if(PlayerInfo[playerid][pLevel] >= Cmds[i][ComandoLevel])
  3238.                             format(Dialog, sizeof(Dialog), "%sLevel %i - %s\t - \t%s\n", Dialog, Cmds[i][ComandoLevel], Cmds[i][ComandoNome], Cmds[i][ComandoInfo]);
  3239.                     }
  3240.                     comandos++;
  3241.                     SetPVarInt(playerid, "cmd_lista", i+1);
  3242.                 }
  3243.             }
  3244.             if(comandos == 0) return SendClientMessage(playerid, -1, "{ff0000}Não há comandos nesta opção!"), cmd_cmds(playerid, "");
  3245.             ShowPlayerDialog(playerid, DialogComandos, DIALOG_STYLE_MSGBOX, "{ff0000}# {ffffff}Página de Comandos", Dialog, "Ok", "Voltar");
  3246.             return 1;
  3247.         }
  3248.         case DialogComandos: {
  3249.             if(!response) return cmd_cmds(playerid, "");
  3250.             new cmdClasse = GetPVarInt(playerid, "cmd_classe");
  3251.             new Dialog[2000], comandos;
  3252.             for(new i = GetPVarInt(playerid, "cmd_lista"); i < sizeof(Cmds); i++) {
  3253.                 if(Cmds[i][ComandoClasse] == cmdClasse) {
  3254.                     if(comandos > 30) break;
  3255.                     if(Cmds[i][ComandoLevel] <= 0)
  3256.                         format(Dialog, sizeof(Dialog), "%s- %s\t%s\n", Dialog, Cmds[i][ComandoNome], Cmds[i][ComandoInfo]);
  3257.                     else {
  3258.                         if(PlayerInfo[playerid][pLevel] >= Cmds[i][ComandoLevel])
  3259.                             format(Dialog, sizeof(Dialog), "%sLevel %i - %s\t - \t%s\n", Dialog, Cmds[i][ComandoLevel], Cmds[i][ComandoNome], Cmds[i][ComandoInfo]);
  3260.                     }
  3261.                     comandos++;
  3262.                     SetPVarInt(playerid, "cmd_lista", i + 1);
  3263.                 }
  3264.             }
  3265.             if(comandos == 0) return SendClientMessage(playerid, -1, "{ff0000}Nada encontrado!"), cmd_cmds(playerid, "");
  3266.             ShowPlayerDialog(playerid, DialogComandos, DIALOG_STYLE_MSGBOX, "{ff0000}# {ffffff}Página de Comandos", Dialog, "Ok", "Voltar");
  3267.             return 1;
  3268.         }
  3269.         case DialogArenasDM: {
  3270.             if(!response) return 1;
  3271.             new Msg[144], spawn;
  3272.             spawn = random(3);
  3273.             if(ArenasDM[listitem][ax][spawn] == 0)
  3274.                 spawn = random(2);
  3275.             if(ArenasDM[listitem][ax][spawn] == 0)
  3276.                 spawn = random(1);
  3277.             if(ArenasDM[listitem][ax][spawn] == 0)
  3278.                 spawn = 0;
  3279.             SetPlayerPos(playerid, ArenasDM[listitem][ax][spawn], ArenasDM[listitem][ay][spawn], ArenasDM[listitem][az][spawn]);
  3280.             SetPlayerFacingAngle(playerid, ArenasDM[listitem][aRot][spawn]);
  3281.             SetPlayerInterior(playerid, ArenasDM[listitem][ArenaInterior]);
  3282.             ResetPlayerWeapons(playerid);
  3283.             for(new i; i < 14; i++)
  3284.                 GivePlayerWeapon(playerid, ArenasDM[listitem][ArenaArmas][i], 99999);
  3285.             format(Msg, 144, "{483D8B}* %s foi até a arena %s (%s)", PlayerInfo[playerid][pNome], ArenasDM[listitem][ArenaNome], ArenasDM[listitem][ArenaCmd]);
  3286.             SendClientMessageToAll(-1, Msg);
  3287.             PlayerInfo[playerid][ArenaID] = listitem;
  3288.             PlayerInfo[playerid][EmArena] = true;
  3289.             GameTextForPlayer(playerid, "~w~Para sair da arena, use ~r~/sairarena~w~.", 5000, 4);
  3290.             return 1;
  3291.         }
  3292.         case DialogDescalar: {
  3293.             if(!response) return 1;
  3294.             return cmd_descalar(playerid, inputtext);
  3295.         }
  3296.         case DialogRadio: {
  3297.             if(!response) return 1;
  3298.             new radio = listitem;
  3299.             if(radio < sizeof(WebRadios) && strlen(WebRadios[radio][NomeWebRadio]) > 0)
  3300.             {
  3301.                 new Msg[144];
  3302.                 PlayAudioStreamForPlayer(playerid, WebRadios[radio][ipWebRadio]);
  3303.                 format(Msg, 144, "{a9c4e4}Você está ouvindo: {ffffff}%s{a9c4e4}.", WebRadios[radio][NomeWebRadio]);
  3304.                 SendClientMessage(playerid, -1, Msg);
  3305.             }
  3306.             else
  3307.             {
  3308.                 StopAudioStreamForPlayer(playerid);
  3309.                 SendClientMessage(playerid, -1, "{a9c4e4}Som {ffffff}parado!");
  3310.             }
  3311.             return 1;
  3312.         }
  3313.         case DialogMudarSenha: {
  3314.             if(!response || strlen(inputtext) <= 1) return 1;
  3315.             if(!strcmp(Descriptar(PlayerInfo[playerid][pSenha]), inputtext, false)) {
  3316.                 return ShowPlayerDialog(playerid, DialogNovaSenha, DIALOG_STYLE_PASSWORD, "{ff0000}# {ffffff}Digite a nova senha", "Você digitou corretamente sua senha antiga, agora digite a nova senha", "Ok", "");
  3317.             }
  3318.             else
  3319.                 SendClientMessage(playerid, -1, "{ff0000}Senha inválida ou incorreta.");
  3320.             return 1;
  3321.         }
  3322.         case DialogNovaSenha: {
  3323.             if(!response || strlen(inputtext) <= 1) return 1;
  3324.             if(!strcmp(inputtext, Descriptar(PlayerInfo[playerid][pSenha]), false)) return SendClientMessage(playerid, -1, "{ff0000}Sua nova senha não pode ser igual a antiga.");
  3325.             SetPVarString(playerid, "nova_senha", inputtext);
  3326.             ShowPlayerDialog(playerid, DialogConfirmarSenha, DIALOG_STYLE_PASSWORD, "{ff0000}# {ffffff}Confirmar nova senha", "Digite novamente sua nova senha:", "Ok", "");
  3327.             return 1;
  3328.         }
  3329.         case DialogConfirmarSenha: {
  3330.             if(!response || strlen(inputtext) <= 1) return 1;
  3331.             if(!strcmp(inputtext, Descriptar(PlayerInfo[playerid][pSenha]), false)) return SendClientMessage(playerid, -1, "{ff0000}Sua nova senha não pode ser igual a antiga.");
  3332.             new SenhaDigitada[50];
  3333.             GetPVarString(playerid, "nova_senha", SenhaDigitada, 50);
  3334.             if(strcmp(inputtext, SenhaDigitada, false) != 0) return SendClientMessage(playerid, -1, "{ff0000}Você não havia digitado esta senha anteriormente."), DeletePVar(playerid, "nova_senha");
  3335.             format(PlayerInfo[playerid][pSenha], 50, Encriptar(inputtext));
  3336.             ShowPlayerDialog(playerid, DialogSemResposta, DIALOG_STYLE_MSGBOX, "{ffff00}# {ffffff}Senha alterada!", "Sua senha foi alterada com sucesso!\nNão se esqueça de sua senha para logar novamente!", "Ok", "");
  3337.             return 1;
  3338.         }
  3339.         case DialogPorNeon: {
  3340.             if(!response) return 1;
  3341.             new Neon = listitem + 1;
  3342.             new vid = GetPlayerVehicleID(playerid);
  3343.             if(VehInfo[vid][NeonDireito] != 0) {
  3344.                 DestroyDynamicObject(VehInfo[vid][NeonDireito]);
  3345.                 VehInfo[vid][NeonDireito] = 0;
  3346.                 DestroyDynamicObject(VehInfo[vid][NeonEsquerdo]);
  3347.                 VehInfo[vid][NeonEsquerdo] = 0;
  3348.             }
  3349.             if(Neon < sizeof(Neons)) {
  3350.                 VehInfo[vid][NeonDireito] = CreateDynamicObject(Neons[Neon][NeonID],0,0,0,0,0,0);
  3351.                 VehInfo[vid][NeonEsquerdo] = CreateDynamicObject(Neons[Neon][NeonID],0,0,0,0,0,0);
  3352.                 AttachDynamicObjectToVehicle(VehInfo[vid][NeonEsquerdo], vid, -0.8, 0.0, -0.70, 0.0, 0.0, 0.0);
  3353.                 AttachDynamicObjectToVehicle(VehInfo[vid][NeonDireito], vid, 0.8, 0.0, -0.70, 0.0, 0.0, 0.0);
  3354.                 VehInfo[vid][NeonID] = Neon;
  3355.             }
  3356.             else
  3357.                 VehInfo[vid][NeonID] = 0;
  3358.             if(vid == PlayerInfo[playerid][pVeh])
  3359.                 PlayerInfo[playerid][NeonID] = VehInfo[vid][NeonID];
  3360.             Streamer_Update(playerid);
  3361.             SalvarConta(playerid);
  3362.             return 1;
  3363.         }
  3364.         case DialogRodas: {
  3365.             if(!response) return 1;
  3366.             new Msg[128];
  3367.             if(listitem < sizeof(Rodas)) {
  3368.                 AddVehicleComponent(GetPlayerVehicleID(playerid), Rodas[listitem][RodaID]);
  3369.                 format(Msg, 128, "~y~%s~n~~w~inserida!", Rodas[listitem][RodaNome]);
  3370.                 GameTextForPlayer(playerid, Msg, 5000, 4);
  3371.             }
  3372.             else {
  3373.                 RemoveVehicleComponent(GetPlayerVehicleID(playerid), VehInfo[GetPlayerVehicleID(playerid)][vehComponentes][7]);
  3374.                 GameTextForPlayer(playerid, "~w~Roda restaurada!", 5000, 4);
  3375.             }
  3376.             return 1;
  3377.         }
  3378.         case DialogVehCor: {
  3379.             if(!response || strlen(inputtext) == 0) return DeletePVar(playerid, "Cor_pag");
  3380.             if((strfind(inputtext, "Próxima", true) > -1) || (strfind(inputtext, "Prox", true) > -1)) return SetPVarInt(playerid, "Cor_pag", GetPVarInt(playerid, "Cor_pag") + 100), cmd_cor(playerid, "");
  3381.             DeletePVar(playerid, "Cor_pag");
  3382.             new Cores[2];
  3383.             sscanf(inputtext, "p<,>a<i>[2]", Cores);
  3384.             return ChangeVehicleColor(GetPlayerVehicleID(playerid), Cores[0], Cores[1]);
  3385.         }
  3386.     }
  3387.     return 0;
  3388. }
  3389.  
  3390. public OnPlayerClickPlayer(playerid, clickedplayerid, source)
  3391. {
  3392.     if(PlayerInfo[playerid][pLevel] == 0) return 1;
  3393.     if(playerid == clickedplayerid) return 1;
  3394.     new Float:pos[3];
  3395.     GetPlayerPos(clickedplayerid, pos[0], pos[1], pos[2]);
  3396.     SetPlayerPos(playerid, pos[0], pos[1], pos[2]+1.0);
  3397.     return 1;
  3398. }
  3399. public OnVehicleDamageStatusUpdate(vehicleid, playerid)
  3400. {
  3401.     return RepairVehicle(vehicleid);
  3402. }
  3403. public OnPlayerClickPlayerTextDraw(playerid, PlayerText:playertextid)
  3404. {
  3405.     if(playertextid == PlayerInfo[playerid][DrawStatus][4]) {
  3406.         for(new i; i < 11; i++) {
  3407.             if(PlayerInfo[playerid][DrawStatus][i] == PlayerText:INVALID_TEXT_DRAW) continue;
  3408.             PlayerTextDrawDestroy(playerid, PlayerInfo[playerid][DrawStatus][i]);
  3409.             PlayerInfo[playerid][DrawStatus][i] = PlayerText:INVALID_TEXT_DRAW;
  3410.         }
  3411.         CancelSelectTextDraw(playerid);
  3412.         return 1;
  3413.     }
  3414.     return 0;
  3415. }
  3416. public OnPlayerClickMap(playerid, Float:fX, Float:fY, Float:fZ) {
  3417.     SetPlayerPosFindZ(playerid, fX, fY, fZ);
  3418.     return 1;
  3419. }
  3420. public OnPlayerClickTextDraw(playerid, Text:clickedid)
  3421. {
  3422.     if(clickedid == Text:INVALID_TEXT_DRAW) { // Pressionar Esc
  3423.         if(PlayerInfo[playerid][DrawStatus][0] != PlayerText:INVALID_TEXT_DRAW) {
  3424.             for(new i; i < 11; i++) {
  3425.                 if(PlayerInfo[playerid][DrawStatus][i] == PlayerText:INVALID_TEXT_DRAW) continue;
  3426.                 PlayerTextDrawDestroy(playerid, PlayerInfo[playerid][DrawStatus][i]);
  3427.                 PlayerInfo[playerid][DrawStatus][i] = PlayerText:INVALID_TEXT_DRAW;
  3428.             }
  3429.             return 1;
  3430.         }
  3431.     }
  3432.     return 0;
  3433. }
  3434. //0.3z
  3435. public OnPlayerWeaponShot(playerid, weaponid, hittype, hitid, Float:fX, Float:fY, Float:fZ) {
  3436.     return 1;
  3437. }
  3438. // mSelection
  3439. public OnPlayerModelSelection(playerid, response, listid, modelid)
  3440. {
  3441.     if (listid == SKIN_LISTA) {
  3442.         if(!response) return 1;
  3443.         return SetPlayerSkin(playerid, modelid), PlayerTextDrawSetPreviewModel(playerid, PlayerInfo[playerid][PlayerDano][1], modelid), PlayerTextDrawShow(playerid, PlayerInfo[playerid][PlayerDano][1]);
  3444.     }
  3445.     if(listid == ARMA_LISTA) {
  3446.         if(!response) return 1;
  3447.         switch (modelid) {
  3448.             case 331: GivePlayerWeapon(playerid, 1, AMMO); // Brass Knuckles
  3449.             case 333: GivePlayerWeapon(playerid, 2, AMMO); // Golf Club
  3450.             case 334: GivePlayerWeapon(playerid, 3, AMMO); // Nightstick
  3451.             case 335: GivePlayerWeapon(playerid, 4, AMMO); // Knife
  3452.             case 336: GivePlayerWeapon(playerid, 5, AMMO); // Baseball Bat
  3453.             case 337: GivePlayerWeapon(playerid, 6, AMMO); // Shovel
  3454.             case 338: GivePlayerWeapon(playerid, 7, AMMO); // Pool Cue
  3455.             case 339: GivePlayerWeapon(playerid, 8, AMMO); // Katana
  3456.             case 341: GivePlayerWeapon(playerid, 9, AMMO); // Chainsaw
  3457.             case 321: GivePlayerWeapon(playerid, 10, AMMO); // Double-ended Dildo
  3458.             case 325: GivePlayerWeapon(playerid, 14, AMMO); // Flowers
  3459.             case 326: GivePlayerWeapon(playerid, 15, AMMO); // Cane
  3460.             case 342: GivePlayerWeapon(playerid, 16, AMMO); // Grenade
  3461.             case 343: GivePlayerWeapon(playerid, 17, AMMO); // Tear Gas
  3462.             case 344: GivePlayerWeapon(playerid, 18, AMMO); // Molotov Cocktail
  3463.             case 346: GivePlayerWeapon(playerid, 22, AMMO); // 9mm
  3464.             case 347: GivePlayerWeapon(playerid, 23, AMMO); // Silenced 9mm
  3465.             case 348: GivePlayerWeapon(playerid, 24, AMMO); // Desert Eagle
  3466.             case 349: GivePlayerWeapon(playerid, 25, AMMO); // Shotgun
  3467.             case 350: GivePlayerWeapon(playerid, 26, AMMO); // Sawnoff
  3468.             case 351: GivePlayerWeapon(playerid, 27, AMMO); // Combat Shotgun
  3469.             case 352: GivePlayerWeapon(playerid, 28, AMMO); // Micro SMG/Uzi
  3470.             case 353: GivePlayerWeapon(playerid, 29, AMMO); // MP5
  3471.             case 355: GivePlayerWeapon(playerid, 30, AMMO); // AK-47
  3472.             case 356: GivePlayerWeapon(playerid, 31, AMMO); // M4
  3473.             case 372: GivePlayerWeapon(playerid, 32, AMMO); // Tec-9
  3474.             case 357: GivePlayerWeapon(playerid, 33, AMMO); // Country Rifle
  3475.             case 358: GivePlayerWeapon(playerid, 34, AMMO); // Sniper Rifle
  3476.             case 359: GivePlayerWeapon(playerid, 35, AMMO); // RPG
  3477.             case 360: GivePlayerWeapon(playerid, 36, AMMO); // HS Rocket
  3478.             case 361: GivePlayerWeapon(playerid, 37, AMMO); // Flamethrower
  3479.             case 362: GivePlayerWeapon(playerid, 38, AMMO); // Minigun
  3480.             case 363: { GivePlayerWeapon(playerid, 39, AMMO); GivePlayerWeapon(playerid, 40, 1); }// Satchel Charge + Detonator
  3481.             case 365: GivePlayerWeapon(playerid, 41, AMMO); // Spraycan
  3482.             case 366: GivePlayerWeapon(playerid, 42, AMMO); // Fire Extinguisher
  3483.         }
  3484.         return 1;
  3485.     }
  3486.     return 1;
  3487. }
  3488. public OnPlayerModelSelectionEx(playerid, response, extraid, modelid)
  3489. {
  3490.     switch(extraid) {
  3491.         case LISTA_VEICULOS: {
  3492.             if(!response) return cmd_v(playerid, "");
  3493.             new Float:p[4], vid, Msg[144], Cores[2]; GetPlayerPos(playerid, p[0], p[1], p[2]);
  3494.             GetPlayerFacingAngle(playerid, p[3]);
  3495.             Cores[0] = random(255);
  3496.             Cores[1] = random(255);
  3497.             vid = CreateVehicle(modelid, p[0], p[1], p[2], p[3], Cores[0], Cores[1], 120);
  3498.             if(vid == INVALID_VEHICLE_ID) return SendClientMessage(playerid, -1, "{ffff00}Lamentamos, seu veículo não foi criado por causa do exesso de veículos no servidor.");
  3499.             if(GetPlayerVehicleID(playerid) != 0 && GetPlayerVehicleID(playerid) != PlayerInfo[playerid][pVeh])
  3500.                 SetVehicleToRespawn(GetPlayerVehicleID(playerid));
  3501.             if(PlayerInfo[playerid][pVeh] != 0 && PlayerInfo[playerid][pVeh] != vid) {
  3502.                 DestroyVehicle(PlayerInfo[playerid][pVeh]);
  3503.             }
  3504.             PlayerInfo[playerid][pVeh] = vid;
  3505.             PlayerInfo[playerid][VehModelo] = modelid;
  3506.             for(new i; i < 2; i++)
  3507.                 PlayerInfo[playerid][VehCores][i] = Cores[i];
  3508.             for(new i; i < 14; i++)
  3509.                 PlayerInfo[playerid][VehComponentes][i] = 0;
  3510.             LinkVehicleToInterior(vid, GetPlayerInterior(playerid));
  3511.             SetVehicleVirtualWorld(vid, GetPlayerVirtualWorld(playerid));
  3512.             PutPlayerInVehicle(playerid, vid, 0);
  3513.             VehInfo[vid][DonoID] = playerid;
  3514.             format(Msg, sizeof(Msg), "{ffff00}%s criou um %s", PlayerInfo[playerid][pNome], NomesVeiculos[modelid - 400]);
  3515.             SendClientMessageToAll(-1, Msg);
  3516.             SalvarConta(playerid);
  3517.             return 1;
  3518.         }
  3519.     }
  3520.     return 1;
  3521. }
  3522.  
  3523. public OnPlayerCommandReceived(playerid, cmdtext[]) {
  3524.     if(PlayerInfo[playerid][Logado] == false) return SendClientMessage(playerid, -1, "{ff0000}Você não pode usar comandos sem estar logado!"), 0;
  3525.     return 1;
  3526. }
  3527. public OnPlayerCommandPerformed(playerid, cmdtext[], success) {
  3528.     if(!success) {
  3529.         new Msg[128];
  3530.         for(new i; i < strlen(cmdtext); i++)
  3531.             if(cmdtext[i] == '~')
  3532.                 strdel(cmdtext, i, i+1);
  3533.         format(Msg, 128, "~w~comando ~r~%s~w~ nao existe!", cmdtext);
  3534.         GameTextForPlayer(playerid, Msg, 5000, 4);
  3535.         return 1;
  3536.     }
  3537.     else
  3538.     {
  3539.         printf("[%s] [id: %i]: %s", PlayerInfo[playerid][pNome], playerid, cmdtext);
  3540.     }
  3541.     return 1;
  3542. }
  3543. /*
  3544.     Stocks e Outras
  3545. */
  3546. stock TodasGangs(playerid) {
  3547.     new Cache:G, Nome[128], Query[128], Lista[2000];
  3548.     format(Query, sizeof(Query), "SELECT Nome FROM gangs ORDER BY id DESC LIMIT %i,50", GetPVarInt(playerid, "pag_gangs"));
  3549.     G = mysql_query(mysql, Query, true);
  3550.     if(!cache_num_rows(mysql)) SendClientMessage(playerid, -1, "{ff0000}Erro!");
  3551.     else {
  3552.         for(new i; i < cache_num_rows(mysql); i++) {
  3553.             cache_get_field_content(0, "Nome", Nome, mysql, 128);
  3554.             format(Lista, sizeof(Lista), "%s%s\r\n", Lista, Nome);
  3555.         }
  3556.         if(cache_num_rows(mysql) >= 50)
  3557.             strcat(Lista, "\r\n\r\n{ffff00}Próxima página");
  3558.         ShowPlayerDialog(playerid, DialogGangs, DIALOG_STYLE_LIST, "{ffff00}# {ffffff}Gangs", Lista, "Selecionar", "Cancelar");
  3559.     }
  3560.     cache_delete(G, mysql);
  3561.     return 1;
  3562. }
  3563. stock CriarGang(gangid)
  3564. {
  3565.     new Query[500], Cache:C;
  3566.     mysql_format(mysql, Query, sizeof(Query), "INSERT INTO gangs (Nome,Lider,Cor,TAG,Descricao) VALUES ('%e',%i,%x,'%e','%e')", Gangs[gangid][GangNome], Gangs[gangid][Lider], Gangs[gangid][GangCor], Gangs[gangid][GangTag], Gangs[gangid][GangDescricao]);
  3567.     C = mysql_query(mysql, Query, true);
  3568.     Gangs[gangid][ID_MySQL] = cache_insert_id(mysql);
  3569.     cache_delete(C, mysql);
  3570.     return 1;
  3571. }
  3572.  
  3573. stock MenuGang(playerid)
  3574. {
  3575.     if(Gangs[PlayerInfo[playerid][pGang]][Lider] == PlayerInfo[playerid][pMySQL_ID] || Gangs[PlayerInfo[playerid][pGang]][SubLider] == PlayerInfo[playerid][pMySQL_ID])
  3576.     {
  3577.         new NicK[200];
  3578.         strcat(NicK, "Adicionar Sub-Lider\r\n");
  3579.         strcat(NicK, "Convidar membro\r\n");
  3580.         strcat(NicK, "Administrar membros\r\n");
  3581.         strcat(NicK, "Ver áreas dominadas\r\n");
  3582.         strcat(NicK, "Editar descrição da Gang\r\n");
  3583.         strcat(NicK, "Deletar Gang\r\n");
  3584.         ShowPlayerDialog(playerid, DialogGangMenu, DIALOG_STYLE_LIST, "{0000ff}# {ffffff}Menu da Gang", NicK, "Selecionar", "Cancelar");
  3585.     }
  3586.     else
  3587.         SendClientMessage(playerid, -1, "{ff0000}Você não é o lider da gang e não pode acessar o menu!");
  3588.     return 1;
  3589.  
  3590. }
  3591. stock MembrosGang(playerid) {
  3592.     new Query[128], Cache:M, Nome[24], Msg[2000], Topo[128], Total;
  3593.     for(new i; i < MAX_GANG_MEMBROS; i++)
  3594.     {
  3595.         if(Gangs[PlayerInfo[playerid][pGang]][GangMembros][i] == 0) continue;
  3596.         mysql_format(mysql, Query,sizeof(Query), "SELECT Nome FROM usuarios WHERE id=%i",Gangs[PlayerInfo[playerid][pGang]][GangMembros][i]);
  3597.         M = mysql_query(mysql, Query, true);
  3598.         if(cache_num_rows(mysql) > 0)
  3599.         {
  3600.             cache_get_field_content(0, "Nome", Nome, mysql, 24);
  3601.             format(Msg, sizeof(Msg), "%s%s\r\n", Msg, Nome);
  3602.             Total++;
  3603.         }
  3604.         cache_delete(M, mysql);
  3605.     }
  3606.     if(Total == 0) return SendClientMessage(playerid, -1, "{ff0000}Nenhum membro em sua gang!"), MenuGang(playerid);
  3607.     format(Topo, 128, "{0000ff}# {ffffff}Sua gang possui %i membros", Total);
  3608.     ShowPlayerDialog(playerid, DialogGangMembros, DIALOG_STYLE_LIST, Topo, Msg, "Selecionar", "Cancelar");
  3609.     return 1;
  3610. }
  3611. stock AreasGang(playerid) {
  3612.     new Msg[2000], Topo[128], Total;
  3613.     for(new i; i < MAX_GANG_AREAS; i++) {
  3614.         if(Gangs[PlayerInfo[playerid][pGang]][GangAreas][i] == 0) continue;
  3615.         format(Msg, sizeof(Msg), "%s%s\r\n", Msg, Areas[Gangs[PlayerInfo[playerid][pGang]][GangAreas][i]][AreaNome]);
  3616.         Total++;
  3617.     }
  3618.     if(Total == 0) return SendClientMessage(playerid, -1, "{ff0000}Nenhuma area de sua gang!"), MenuGang(playerid);
  3619.     format(Topo, 128, "{ff0000}# {ffffff}Sua gang possui %i areas", Total);
  3620.     ShowPlayerDialog(playerid, DialogGangAreas, DIALOG_STYLE_LIST, Topo, Msg, "Selecionar", "Cancelar");
  3621.     return 1;
  3622. }
  3623. stock GetWeaponSlot(weaponid)
  3624. {
  3625.     switch(weaponid)
  3626.     {
  3627.         case 0,1: return 0;
  3628.         case 2 .. 9: return 1;
  3629.         case 10 .. 15: return 10;
  3630.         case 16 .. 18, 39: return 8;
  3631.         case 22 .. 24:  return 2;
  3632.         case 25 .. 27: return 3;
  3633.         case 28, 29, 32: return 4;
  3634.         case 30, 31: return 5;
  3635.         case 33, 34: return 6;
  3636.         case 35 .. 38: return 7;
  3637.         case 40: return 12;
  3638.         case 41 .. 43: return 9;
  3639.         case 44 .. 46: return 11;
  3640.     }
  3641.     return 0;
  3642. }
  3643. forward TirarDrawDano(playerid);
  3644. public TirarDrawDano(playerid) {
  3645.     if(GetPVarInt(playerid, "info_dano") > gettime()) return SetTimerEx("TirarDrawDano", 1000, false, "d", playerid);
  3646.     for(new i = 2; i < 9; i++)
  3647.         PlayerTextDrawHide(playerid, PlayerInfo[playerid][PlayerDano][i]);
  3648.     return 1;
  3649. }
  3650. forward ModoDriftAtivo(playerid);
  3651. public ModoDriftAtivo(playerid) return (PlayerInfo[playerid][ModoDrift] == 1) ? (1) : (0);
  3652. forward AtualizarPontosDrift(playerid, pontos);
  3653. public AtualizarPontosDrift(playerid, pontos) {
  3654.     if(PlayerInfo[playerid][ModoDrift] == 0) return 0;
  3655.     PlayerInfo[playerid][pDriftPontosTotal] += pontos;
  3656.     for(new i; i < 2; i++)
  3657.         PlayerTextDrawHide(playerid, PlayerInfo[playerid][DriftDraw][i]);
  3658.     return 1;
  3659. }
  3660. stock IsVehicleInUse(vid) { // by NicK
  3661.     for(new i; i <= GetMaxPlayers(); i++) {
  3662.         if(!IsPlayerConnected(i)) continue;
  3663.         if(GetPlayerVehicleID(i) == 0) continue;
  3664.         if(GetPlayerVehicleID(i) == vid) return 1; // Valor verdadero - Alguém usando.
  3665.         if(GetVehicleTrailer(GetPlayerVehicleID(i)) == vid) return 1; //Alguém usando
  3666.     }
  3667.     return 0; //Valor falso - Ninguém usando
  3668. }
  3669. stock KickMsg(playerid, msgKick[]) {
  3670.     SendClientMessage(playerid, 0xFF0000FF, msgKick);
  3671.     SetTimerEx("Kickar", 300, false, "d", playerid);
  3672.     return 1;
  3673. }
  3674. forward Kickar(playerid); public Kickar(playerid) return Kick(playerid);
  3675. forward Global();
  3676. public Global() {
  3677.     new str[256], hora, minutos, seg;
  3678.     gettime(hora, minutos, seg);
  3679.     format(str, sizeof(str), "%02d:%02d", hora, minutos);
  3680.     TextDrawSetString(Draws[7], str);
  3681.     format(str, sizeof(str), "%i/%i", GetPlayers(), GetMaxPlayers());
  3682.     TextDrawSetString(Draws[10], str);
  3683.     format(str, sizeof(str), ":%02d", seg);
  3684.     TextDrawSetString(Draws[11], str);
  3685.     for(new playerid; playerid < GetMaxPlayers(); playerid++) {
  3686.         if(!IsPlayerConnected(playerid)) continue;
  3687.         if(IsPlayerNPC(playerid)) continue;
  3688.         format(str, sizeof(str), "~w~Mortes: ~r~%i ~w~- Matou: ~g~%i~w~ - Scores: ~b~%i ~w~- Corridas: ~g~~h~%i~n~~w~Golds: ~y~%i ~w~- Drift: ~b~~h~%i ~w~- Ping: ~g~%i ~w~- FPS: ~y~%i", PlayerInfo[playerid][pMorreu], PlayerInfo[playerid][pMatou], PlayerInfo[playerid][pScore], PlayerInfo[playerid][pCorridas], PlayerInfo[playerid][pGold], PlayerInfo[playerid][pDriftPontosTotal], GetPlayerPing(playerid), PlayerInfo[playerid][pFPS]);
  3689.         PlayerTextDrawSetString(playerid, PlayerInfo[playerid][DrawInfo], str);
  3690.         if(PlayerInfo[playerid][EmCorrida] == true && Corridas[PlayerInfo[playerid][CorridaID]][Iniciada] == true) {
  3691.             format(str, sizeof(str), "%i", PlayerInfo[playerid][pCorridaPos]);
  3692.             PlayerTextDrawSetString(playerid, PlayerInfo[playerid][CorridaPosInfo], str);
  3693.         }
  3694.     }
  3695.     for(new corridaid = 1; corridaid < MAX_CORRIDAS; corridaid++)
  3696.     {
  3697.         if(Corridas[corridaid][Carregada] == false) continue;
  3698.         format(str, sizeof(str), "%i", GetPlayersCorrida(corridaid));
  3699.         TextDrawSetString(Corridas[corridaid][CorridaDraws][3], str);
  3700.     }
  3701.     return 1;
  3702. }
  3703. stock GetPlayers() {
  3704.     new p;
  3705.     for(new i = 0; i <= GetMaxPlayers(); i++) {
  3706.         if(!IsPlayerConnected(i)) continue;
  3707.         if(IsPlayerNPC(i)) continue;
  3708.         p++;
  3709.     }
  3710.     return p;
  3711. }
  3712. stock SalvarConta(playerid) {
  3713.     PlayerInfo[playerid][pTempoJogado] += (gettime() - PlayerInfo[playerid][pTempoLogado]);
  3714.     orm_update(PlayerInfo[playerid][OrmID]);
  3715.     return 1;
  3716. }
  3717. stock RegistroDialog(playerid, Aviso[] = "") {
  3718.     new Dialog[300];
  3719.     format(Dialog, sizeof(Dialog), "{ffffff}Olá {76EE00}%s{ffffff}, seja bem vindo.\nPara se registrar, digite uma senha abaixo!\n\n%s", PlayerInfo[playerid][pNome], Aviso);
  3720.     return ShowPlayerDialog(playerid, DialogRegistrar, DIALOG_STYLE_PASSWORD, "{76EE00}# {ffffff}Registre-se no servidor.", Dialog, "Registrar", "Cancelar");
  3721. }
  3722. stock LoginDialog(playerid, Aviso[] = "") {
  3723.     new Dialog[300];
  3724.     format(Dialog, sizeof(Dialog), "{ffffff}Seja bem vindo de volta {FF4500}%s{ffffff}.\nPara fazer o login, digite a sua senha abaixo.\n\n%s", PlayerInfo[playerid][pNome], Aviso);
  3725.     return ShowPlayerDialog(playerid, DialogLogar, DIALOG_STYLE_PASSWORD, "{FF4500}# {ffffff}Faça login", Dialog, "Logar", "Cancelar");
  3726. }
  3727. forward Frases(); public Frases() {
  3728.     SendClientMessageToAll(-1, FrasesRandomicas[Frase_Randomica]);
  3729.     Frase_Randomica++;
  3730.     if(Frase_Randomica >= sizeof(FrasesRandomicas))
  3731.         Frase_Randomica=0;
  3732.     return 1;
  3733. }
  3734.  
  3735. forward Descongelar(playerid);
  3736. public Descongelar(playerid) { return TogglePlayerControllable(playerid, true); }
  3737.  
  3738. stock nick_DrawsStatus(playerid) {
  3739.     new string[500];
  3740.     PlayerInfo[playerid][DrawStatus][0] = CreatePlayerTextDraw(playerid,300.000000, 141.000000, "~r~# ~w~Status");
  3741.     PlayerTextDrawAlignment(playerid,PlayerInfo[playerid][DrawStatus][0], 2);
  3742.     PlayerTextDrawBackgroundColor(playerid,PlayerInfo[playerid][DrawStatus][0], 255);
  3743.     PlayerTextDrawFont(playerid,PlayerInfo[playerid][DrawStatus][0], 1);
  3744.     PlayerTextDrawLetterSize(playerid,PlayerInfo[playerid][DrawStatus][0], 0.380000, 1.500000);
  3745.     PlayerTextDrawColor(playerid,PlayerInfo[playerid][DrawStatus][0], -1);
  3746.     PlayerTextDrawSetOutline(playerid,PlayerInfo[playerid][DrawStatus][0], 0);
  3747.     PlayerTextDrawSetProportional(playerid,PlayerInfo[playerid][DrawStatus][0], 1);
  3748.     PlayerTextDrawSetShadow(playerid,PlayerInfo[playerid][DrawStatus][0], 0);
  3749.     PlayerTextDrawUseBox(playerid,PlayerInfo[playerid][DrawStatus][0], 1);
  3750.     PlayerTextDrawBoxColor(playerid,PlayerInfo[playerid][DrawStatus][0], 96);
  3751.     PlayerTextDrawTextSize(playerid,PlayerInfo[playerid][DrawStatus][0], 60.000000, 251.000000);
  3752.     PlayerTextDrawSetSelectable(playerid,PlayerInfo[playerid][DrawStatus][0], 0);
  3753.  
  3754.     PlayerInfo[playerid][DrawStatus][1] = CreatePlayerTextDraw(playerid,300.000000, 159.000000, "_");
  3755.     PlayerTextDrawAlignment(playerid,PlayerInfo[playerid][DrawStatus][1], 2);
  3756.     PlayerTextDrawBackgroundColor(playerid,PlayerInfo[playerid][DrawStatus][1], 255);
  3757.     PlayerTextDrawFont(playerid,PlayerInfo[playerid][DrawStatus][1], 1);
  3758.     PlayerTextDrawLetterSize(playerid,PlayerInfo[playerid][DrawStatus][1], 0.500000, 19.100000);
  3759.     PlayerTextDrawColor(playerid,PlayerInfo[playerid][DrawStatus][1], -1);
  3760.     PlayerTextDrawSetOutline(playerid,PlayerInfo[playerid][DrawStatus][1], 0);
  3761.     PlayerTextDrawSetProportional(playerid,PlayerInfo[playerid][DrawStatus][1], 1);
  3762.     PlayerTextDrawSetShadow(playerid,PlayerInfo[playerid][DrawStatus][1], 1);
  3763.     PlayerTextDrawUseBox(playerid,PlayerInfo[playerid][DrawStatus][1], 1);
  3764.     PlayerTextDrawBoxColor(playerid,PlayerInfo[playerid][DrawStatus][1], 53);
  3765.     PlayerTextDrawTextSize(playerid,PlayerInfo[playerid][DrawStatus][1], 0.000000, 251.000000);
  3766.     PlayerTextDrawSetSelectable(playerid,PlayerInfo[playerid][DrawStatus][1], 0);
  3767.  
  3768.     PlayerInfo[playerid][DrawStatus][2] = CreatePlayerTextDraw(playerid,381.000000, 159.000000, "Ranking");
  3769.     PlayerTextDrawAlignment(playerid,PlayerInfo[playerid][DrawStatus][2], 2);
  3770.     PlayerTextDrawBackgroundColor(playerid,PlayerInfo[playerid][DrawStatus][2], 255);
  3771.     PlayerTextDrawFont(playerid,PlayerInfo[playerid][DrawStatus][2], 2);
  3772.     PlayerTextDrawLetterSize(playerid,PlayerInfo[playerid][DrawStatus][2], 0.300000, 1.300000);
  3773.     PlayerTextDrawColor(playerid,PlayerInfo[playerid][DrawStatus][2], -1);
  3774.     PlayerTextDrawSetOutline(playerid,PlayerInfo[playerid][DrawStatus][2], 0);
  3775.     PlayerTextDrawSetProportional(playerid,PlayerInfo[playerid][DrawStatus][2], 1);
  3776.     PlayerTextDrawSetShadow(playerid,PlayerInfo[playerid][DrawStatus][2], 0);
  3777.     PlayerTextDrawUseBox(playerid,PlayerInfo[playerid][DrawStatus][2], 1);
  3778.     PlayerTextDrawBoxColor(playerid,PlayerInfo[playerid][DrawStatus][2], 204576);
  3779.     PlayerTextDrawTextSize(playerid,PlayerInfo[playerid][DrawStatus][2], 15.000000, 88.000000);
  3780.     PlayerTextDrawSetSelectable(playerid,PlayerInfo[playerid][DrawStatus][2], 0);
  3781.  
  3782.     PlayerInfo[playerid][DrawStatus][3] = CreatePlayerTextDraw(playerid,216.000000, 159.000000, "Informacoes");
  3783.     PlayerTextDrawAlignment(playerid,PlayerInfo[playerid][DrawStatus][3], 2);
  3784.     PlayerTextDrawBackgroundColor(playerid,PlayerInfo[playerid][DrawStatus][3], 255);
  3785.     PlayerTextDrawFont(playerid,PlayerInfo[playerid][DrawStatus][3], 2);
  3786.     PlayerTextDrawLetterSize(playerid,PlayerInfo[playerid][DrawStatus][3], 0.300000, 1.300000);
  3787.     PlayerTextDrawColor(playerid,PlayerInfo[playerid][DrawStatus][3], -1);
  3788.     PlayerTextDrawSetOutline(playerid,PlayerInfo[playerid][DrawStatus][3], 0);
  3789.     PlayerTextDrawSetProportional(playerid,PlayerInfo[playerid][DrawStatus][3], 1);
  3790.     PlayerTextDrawSetShadow(playerid,PlayerInfo[playerid][DrawStatus][3], 0);
  3791.     PlayerTextDrawUseBox(playerid,PlayerInfo[playerid][DrawStatus][3], 1);
  3792.     PlayerTextDrawBoxColor(playerid,PlayerInfo[playerid][DrawStatus][3], 204576);
  3793.     PlayerTextDrawTextSize(playerid,PlayerInfo[playerid][DrawStatus][3], 15.000000, 82.000000);
  3794.     PlayerTextDrawSetSelectable(playerid,PlayerInfo[playerid][DrawStatus][3], 0);
  3795.  
  3796.     PlayerInfo[playerid][DrawStatus][4] = CreatePlayerTextDraw(playerid,306.000000, 318.000000, "Fechar");
  3797.     PlayerTextDrawAlignment(playerid,PlayerInfo[playerid][DrawStatus][4], 2);
  3798.     PlayerTextDrawBackgroundColor(playerid,PlayerInfo[playerid][DrawStatus][4], 255);
  3799.     PlayerTextDrawFont(playerid,PlayerInfo[playerid][DrawStatus][4], 2);
  3800.     PlayerTextDrawLetterSize(playerid,PlayerInfo[playerid][DrawStatus][4], 0.330000, 1.500000);
  3801.     PlayerTextDrawColor(playerid,PlayerInfo[playerid][DrawStatus][4], -1);
  3802.     PlayerTextDrawSetOutline(playerid,PlayerInfo[playerid][DrawStatus][4], 0);
  3803.     PlayerTextDrawSetProportional(playerid,PlayerInfo[playerid][DrawStatus][4], 1);
  3804.     PlayerTextDrawSetShadow(playerid,PlayerInfo[playerid][DrawStatus][4], 0);
  3805.     PlayerTextDrawUseBox(playerid,PlayerInfo[playerid][DrawStatus][4], 1);
  3806.     PlayerTextDrawBoxColor(playerid,PlayerInfo[playerid][DrawStatus][4], 520093760);
  3807.     PlayerTextDrawTextSize(playerid,PlayerInfo[playerid][DrawStatus][4], 15.000000, 54.000000);
  3808.     PlayerTextDrawSetSelectable(playerid,PlayerInfo[playerid][DrawStatus][4], 1);
  3809.  
  3810.     format(string, sizeof(string), "Scores: %i~n~Golds: %i~n~~g~R$~w~%i", PlayerInfo[playerid][pScore], PlayerInfo[playerid][pGold], PlayerInfo[playerid][pDinheiro]);
  3811.     PlayerInfo[playerid][DrawStatus][5] = CreatePlayerTextDraw(playerid,178.000000, 180.000000, string);
  3812.     PlayerTextDrawBackgroundColor(playerid,PlayerInfo[playerid][DrawStatus][5], 255);
  3813.     PlayerTextDrawFont(playerid,PlayerInfo[playerid][DrawStatus][5], 1);
  3814.     PlayerTextDrawLetterSize(playerid,PlayerInfo[playerid][DrawStatus][5], 0.300000, 1.300000);
  3815.     PlayerTextDrawColor(playerid,PlayerInfo[playerid][DrawStatus][5], -1);
  3816.     PlayerTextDrawSetOutline(playerid,PlayerInfo[playerid][DrawStatus][5], 1);
  3817.     PlayerTextDrawSetProportional(playerid,PlayerInfo[playerid][DrawStatus][5], 1);
  3818.     PlayerTextDrawSetSelectable(playerid,PlayerInfo[playerid][DrawStatus][5], 0);
  3819.  
  3820.     format(string, sizeof(string), "Mortes: %i~n~Matou: %i", PlayerInfo[playerid][pMorreu], PlayerInfo[playerid][pMatou]);
  3821.     PlayerInfo[playerid][DrawStatus][6] = CreatePlayerTextDraw(playerid,352.000000, 180.000000, string);
  3822.     PlayerTextDrawBackgroundColor(playerid,PlayerInfo[playerid][DrawStatus][6], 255);
  3823.     PlayerTextDrawFont(playerid,PlayerInfo[playerid][DrawStatus][6], 1);
  3824.     PlayerTextDrawLetterSize(playerid,PlayerInfo[playerid][DrawStatus][6], 0.300000, 1.300000);
  3825.     PlayerTextDrawColor(playerid,PlayerInfo[playerid][DrawStatus][6], -1);
  3826.     PlayerTextDrawSetOutline(playerid,PlayerInfo[playerid][DrawStatus][6], 1);
  3827.     PlayerTextDrawSetProportional(playerid,PlayerInfo[playerid][DrawStatus][6], 1);
  3828.     PlayerTextDrawSetSelectable(playerid,PlayerInfo[playerid][DrawStatus][6], 0);
  3829.  
  3830.     new tempo, total;
  3831.     tempo = gettime() - PlayerInfo[playerid][pTempoLogado];
  3832.     strdel(string, 0, strlen(string));
  3833.     if(tempo >= (60*60)) {
  3834.         tempo = tempo / (60*60);
  3835.         format(string, sizeof(string), "Tempo Log.: %i hrs", tempo);
  3836.     }
  3837.     else if(tempo >= 60) {
  3838.         tempo = tempo / 60;
  3839.         format(string, sizeof(string), "Tempo Log.: %i min", tempo);
  3840.     }
  3841.     else
  3842.         format(string, sizeof(string), "Tempo Log.: %i seg", tempo);
  3843.  
  3844.     total = PlayerInfo[playerid][pTempoJogado] + (gettime() - PlayerInfo[playerid][pTempoLogado]);
  3845.     new d, h, m; //DIA, HORAS, MIN
  3846.     if(total >= (60*60*24)) {
  3847.         d = total / (60*60*24);
  3848.         total = total - (d * (60*60*24));
  3849.     }
  3850.     if(total >= (60*60)) {
  3851.         h = total / (60*60);
  3852.         total = total - (h * (60*60));
  3853.     }
  3854.     if(total >= 60) {
  3855.         m = total / 60;
  3856.         total = total - (m * 60);
  3857.     }
  3858.     if(d > 0 && h > 0 && m > 0)
  3859.         format(string, sizeof(string), "%s~n~Total jogado: %i dia%s, %i hr, %i min", string, d, (d > 1) ? ("s") : (""), h, m);
  3860.  
  3861.     PlayerInfo[playerid][DrawStatus][7] = CreatePlayerTextDraw(playerid,178.000000, 218.000000, string);
  3862.     PlayerTextDrawBackgroundColor(playerid,PlayerInfo[playerid][DrawStatus][7], 255);
  3863.     PlayerTextDrawFont(playerid,PlayerInfo[playerid][DrawStatus][7], 1);
  3864.     PlayerTextDrawLetterSize(playerid,PlayerInfo[playerid][DrawStatus][7], 0.230000, 1.200000);
  3865.     PlayerTextDrawColor(playerid,PlayerInfo[playerid][DrawStatus][7], -1);
  3866.     PlayerTextDrawSetOutline(playerid,PlayerInfo[playerid][DrawStatus][7], 1);
  3867.     PlayerTextDrawSetProportional(playerid,PlayerInfo[playerid][DrawStatus][7], 1);
  3868.     PlayerTextDrawSetSelectable(playerid,PlayerInfo[playerid][DrawStatus][7], 0);
  3869.  
  3870.     PlayerInfo[playerid][DrawStatus][8] = CreatePlayerTextDraw(playerid,129.000000, 236.000000, "Skin");
  3871.     PlayerTextDrawAlignment(playerid,PlayerInfo[playerid][DrawStatus][8], 2);
  3872.     PlayerTextDrawBackgroundColor(playerid,PlayerInfo[playerid][DrawStatus][8], 0x00000000);
  3873.     PlayerTextDrawFont(playerid,PlayerInfo[playerid][DrawStatus][8], 5);
  3874.     PlayerTextDrawLetterSize(playerid,PlayerInfo[playerid][DrawStatus][8], 0.399999, -3.200000);
  3875.     PlayerTextDrawColor(playerid,PlayerInfo[playerid][DrawStatus][8], -1);
  3876.     PlayerTextDrawSetOutline(playerid,PlayerInfo[playerid][DrawStatus][8], 0);
  3877.     PlayerTextDrawSetProportional(playerid,PlayerInfo[playerid][DrawStatus][8], 1);
  3878.     PlayerTextDrawSetShadow(playerid,PlayerInfo[playerid][DrawStatus][8], 1);
  3879.     PlayerTextDrawUseBox(playerid,PlayerInfo[playerid][DrawStatus][8], 1);
  3880.     PlayerTextDrawBoxColor(playerid,PlayerInfo[playerid][DrawStatus][8], 0);
  3881.     PlayerTextDrawTextSize(playerid,PlayerInfo[playerid][DrawStatus][8], 125.000000, 97.000000);
  3882.     PlayerTextDrawSetPreviewModel(playerid, PlayerInfo[playerid][DrawStatus][8], GetPlayerSkin(playerid));
  3883.     PlayerTextDrawSetPreviewRot(playerid, PlayerInfo[playerid][DrawStatus][8], -16.000000, 0.000000, 20.000000, 1.000000);
  3884.     PlayerTextDrawSetSelectable(playerid,PlayerInfo[playerid][DrawStatus][8], 0);
  3885.  
  3886.     if(PlayerInfo[playerid][VehModelo] != 0) {
  3887.         PlayerInfo[playerid][DrawStatus][9] = CreatePlayerTextDraw(playerid,381.000000, 234.000000, "Veiculo");
  3888.         PlayerTextDrawAlignment(playerid,PlayerInfo[playerid][DrawStatus][9], 2);
  3889.         PlayerTextDrawBackgroundColor(playerid,PlayerInfo[playerid][DrawStatus][9], 255);
  3890.         PlayerTextDrawFont(playerid,PlayerInfo[playerid][DrawStatus][9], 2);
  3891.         PlayerTextDrawLetterSize(playerid,PlayerInfo[playerid][DrawStatus][9], 0.300000, 1.300000);
  3892.         PlayerTextDrawColor(playerid,PlayerInfo[playerid][DrawStatus][9], -1);
  3893.         PlayerTextDrawSetOutline(playerid,PlayerInfo[playerid][DrawStatus][9], 0);
  3894.         PlayerTextDrawSetProportional(playerid,PlayerInfo[playerid][DrawStatus][9], 1);
  3895.         PlayerTextDrawSetShadow(playerid,PlayerInfo[playerid][DrawStatus][9], 0);
  3896.         PlayerTextDrawUseBox(playerid,PlayerInfo[playerid][DrawStatus][9], 1);
  3897.         PlayerTextDrawBoxColor(playerid,PlayerInfo[playerid][DrawStatus][9], 204576);
  3898.         PlayerTextDrawTextSize(playerid,PlayerInfo[playerid][DrawStatus][9], 15.000000, 88.000000);
  3899.         PlayerTextDrawSetSelectable(playerid,PlayerInfo[playerid][DrawStatus][9], 0);
  3900.  
  3901.         PlayerInfo[playerid][DrawStatus][10] = CreatePlayerTextDraw(playerid,329.000000, 236.000000, "Veiculo");
  3902.         PlayerTextDrawAlignment(playerid,PlayerInfo[playerid][DrawStatus][10], 2);
  3903.         PlayerTextDrawBackgroundColor(playerid,PlayerInfo[playerid][DrawStatus][10], 0x00000000);
  3904.         PlayerTextDrawFont(playerid,PlayerInfo[playerid][DrawStatus][10], 5);
  3905.         PlayerTextDrawLetterSize(playerid,PlayerInfo[playerid][DrawStatus][10], 0.399999, -3.200000);
  3906.         PlayerTextDrawColor(playerid,PlayerInfo[playerid][DrawStatus][10], -1);
  3907.         PlayerTextDrawSetOutline(playerid,PlayerInfo[playerid][DrawStatus][10], 0);
  3908.         PlayerTextDrawSetProportional(playerid,PlayerInfo[playerid][DrawStatus][10], 1);
  3909.         PlayerTextDrawSetShadow(playerid,PlayerInfo[playerid][DrawStatus][10], 1);
  3910.         PlayerTextDrawUseBox(playerid,PlayerInfo[playerid][DrawStatus][10], 1);
  3911.         PlayerTextDrawBoxColor(playerid,PlayerInfo[playerid][DrawStatus][10], 0);
  3912.         PlayerTextDrawTextSize(playerid,PlayerInfo[playerid][DrawStatus][10], 125.000000, 97.000000);
  3913.         PlayerTextDrawSetPreviewModel(playerid, PlayerInfo[playerid][DrawStatus][10], PlayerInfo[playerid][VehModelo]);
  3914.         PlayerTextDrawSetPreviewRot(playerid, PlayerInfo[playerid][DrawStatus][10], -16.000000, 0.000000, -30.000000, 1.000000);
  3915.         PlayerTextDrawSetSelectable(playerid,PlayerInfo[playerid][DrawStatus][10], 0);
  3916.         PlayerTextDrawSetPreviewVehCol(playerid, PlayerInfo[playerid][DrawStatus][10], PlayerInfo[playerid][VehCores][0], PlayerInfo[playerid][VehCores][1]);
  3917.  
  3918.     }
  3919.  
  3920.     for(new i; i < 11; i++) {
  3921.         if(PlayerInfo[playerid][DrawStatus][i] == PlayerText:INVALID_TEXT_DRAW) continue;
  3922.         PlayerTextDrawShow(playerid, PlayerInfo[playerid][DrawStatus][i]);
  3923.     }
  3924.     SelectTextDraw(playerid, 0xffff0090);
  3925.     return 1;
  3926. }
  3927. /* Anti Spawn Kill */
  3928. forward SpawnKill(playerid); public SpawnKill(playerid) { return SetPlayerHealth(playerid, 100.0); }
  3929.  
  3930. forward TVMatador(playerid);
  3931. public TVMatador(playerid) {
  3932.     TogglePlayerSpectating(playerid, false);
  3933.     for(new i; i < 2; i++) {
  3934.         PlayerTextDrawSetString(playerid, PlayerInfo[playerid][InfoMatador][i], "");
  3935.         PlayerTextDrawHide(playerid, PlayerInfo[playerid][InfoMatador][i]);
  3936.     }
  3937.     return 1;
  3938. }
  3939. stock GetPlayerSpeed(playerid)
  3940. {
  3941.     new Float:ST[4];
  3942.     if(IsPlayerInAnyVehicle(playerid))
  3943.     GetVehicleVelocity(GetPlayerVehicleID(playerid),ST[0],ST[1],ST[2]);
  3944.     else GetPlayerVelocity(playerid,ST[0],ST[1],ST[2]);
  3945.     ST[3] = floatsqroot(floatpower(floatabs(ST[0]), 2.0) + floatpower(floatabs(ST[1]), 2.0) + floatpower(floatabs(ST[2]), 2.0)) * 155.0;
  3946.     return floatround(ST[3]);
  3947. }
  3948. forward LimparAnuncio(); public LimparAnuncio() { return TextDrawSetString(DrawAnuncio, ""); }
  3949. forward Contando();
  3950. public Contando() {
  3951.     new Msg[256];
  3952.     if(Contagem[ContagemSegundos] > 0) {
  3953.         format(Msg, sizeof(Msg), "%i", Contagem[ContagemSegundos]);
  3954.         TextDrawSetString(Contagem[DrawContagem], Msg);
  3955.         for(new i; i <= GetMaxPlayers(); i++) {
  3956.             if(!IsPlayerConnected(i)) continue;
  3957.             PlayerPlaySound(i, 1056, 0.0, 0.0, 0.0);
  3958.         }
  3959.     }
  3960.     else if(Contagem[ContagemSegundos] == 0) {
  3961.         format(Msg, sizeof(Msg), "%s", Contagem[TextoContagem]);
  3962.         TextDrawSetString(Contagem[DrawContagem], Msg);
  3963.         for(new i; i <= GetMaxPlayers(); i++) {
  3964.             if(!IsPlayerConnected(i)) continue;
  3965.             PlayerPlaySound(i, 3200, 0.0, 0.0, 0.0);
  3966.         }
  3967.     }
  3968.     else if(Contagem[ContagemSegundos] <= (-3)){
  3969.         TextDrawSetString(Contagem[DrawContagem], "");
  3970.         //KillTimer(Contagem[TempoContagem]);
  3971.         Contagem[ContagemSegundos] = 0;
  3972.         return 1;
  3973.     }
  3974.     Contagem[ContagemSegundos]--;
  3975.     SetTimer("Contando", 1000, false);
  3976.     return 1;
  3977. }
  3978.  
  3979. stock Encriptar(const string[]) {
  3980.     new str[50];
  3981.     for(new i; i < strlen(string); i++) {
  3982.         str[i] = (string[i] + 2);
  3983.     }
  3984.     return str;
  3985. }
  3986. stock Descriptar(const string[]) {
  3987.     new str[50];
  3988.     for(new i; i < strlen(string); i++) {
  3989.         str[i] = (string[i] - 2);
  3990.     }
  3991.     return str;
  3992. }
  3993. //Sistema de Corridas - NicK
  3994. forward CorridaAleatoria();
  3995. public CorridaAleatoria()
  3996. {
  3997.     if(GetPlayers() < 10) return 1;
  3998.     new Cache:corridas = mysql_query(mysql, "SELECT * FROM corridas ORDER BY ID DESC LIMIT 10", true);
  3999.     if(cache_num_rows(mysql) > 0) {
  4000.         new corridaid, str[200], Msg[144], ca = random(cache_num_rows(mysql));
  4001.         for(corridaid = 1; corridaid < MAX_CORRIDAS; corridaid++) {
  4002.             if(Corridas[corridaid][EmProjeto] == true) continue;
  4003.             if(Corridas[corridaid][Carregada] == true) continue;
  4004.             break; //no caso, se não houver carregadas nem em projeto.
  4005.         }
  4006.         if(corridaid == MAX_CORRIDAS) return cache_delete(corridas, mysql), 1;
  4007.         Corridas[corridaid][CorridaID] = cache_get_field_content_int(ca, "ID", mysql);
  4008.         cache_get_field_content(ca, "CorridaNome", Corridas[corridaid][CorridaNome], mysql, 128);
  4009.         Corridas[corridaid][CorridaTipo] = cache_get_field_content_int(ca, "CorridaTipo", mysql);
  4010.         Corridas[corridaid][CorridaPremio] = cache_get_field_content_int(ca, "CorridaPremio", mysql);
  4011.         Corridas[corridaid][CorridaMaxParticipantes] = cache_get_field_content_int(ca, "MaximoParticipantes", mysql);
  4012.         Corridas[corridaid][CorridaVeiculo] = cache_get_field_content_int(ca, "Veiculo", mysql);
  4013.         Corridas[corridaid][MaxCheckpoints] = cache_get_field_content_int(ca, "MaxCheckpoints", mysql);
  4014.         Corridas[corridaid][CorridaRecord] = cache_get_field_content_int(ca, "CorridaRecord", mysql);
  4015.         Corridas[corridaid][RecordBy] = cache_get_field_content_int(ca, "RecordBy", mysql);
  4016.         Corridas[corridaid][InicioPos][0] = cache_get_field_content_float(ca, "InicioX", mysql);
  4017.         Corridas[corridaid][InicioPos][1] = cache_get_field_content_float(ca, "InicioY", mysql);
  4018.         Corridas[corridaid][InicioPos][2] = cache_get_field_content_float(ca, "InicioZ", mysql);
  4019.         cache_get_field_content(ca, "CheckpointsX", str, mysql, 200); unformat(str, "p<,>a<f>["#MAX_CHECKPOINTS"]", Corridas[corridaid][CheckpointX]);
  4020.         cache_get_field_content(ca, "CheckpointsY", str, mysql, 200); unformat(str, "p<,>a<f>["#MAX_CHECKPOINTS"]", Corridas[corridaid][CheckpointY]);
  4021.         cache_get_field_content(ca, "CheckpointsZ", str, mysql, 200); unformat(str, "p<,>a<f>["#MAX_CHECKPOINTS"]", Corridas[corridaid][CheckpointZ]);
  4022.         format(Msg, 144, "{ffff00}[CORRIDA AUTOMATICA] Use o comando {ffffff}/ircorrida %i {ffff00}para ir na corrida {ffffff}%s{ffff00}!", corridaid, Corridas[corridaid][CorridaNome]);
  4023.         SendClientMessageToAll(-1, Msg);
  4024.         Corridas[corridaid][Carregada] = true;
  4025.         Corridas[corridaid][Iniciada] = false;
  4026.         Corridas[corridaid][Trancada] = false;
  4027.         CriarDrawsCorrida(corridaid);
  4028.         Corridas[corridaid][CorridaTimerIniciar] = SetTimerEx("IniciarCorrida", 30000, false, "d", corridaid);
  4029.     }
  4030.     cache_delete(corridas, mysql);
  4031.     return 1;
  4032. }
  4033. forward MySQL_CarregarCorrida();
  4034. public MySQL_CarregarCorrida() {
  4035.     if(cache_num_rows(mysql) == 0) return 1;
  4036.     new corridaid, str[300], Msg[144];
  4037.     for(corridaid = 1; corridaid < MAX_CORRIDAS; corridaid++) {
  4038.         if(Corridas[corridaid][EmProjeto] == true) continue;
  4039.         if(Corridas[corridaid][Carregada] == true) continue;
  4040.         break; //no caso, se não houver carregadas nem em projeto.
  4041.     }
  4042.     if(corridaid == MAX_CORRIDAS) return 1;
  4043.     Corridas[corridaid][CorridaID] = cache_get_field_content_int(0, "ID", mysql);
  4044.     cache_get_field_content(0, "CorridaNome", Corridas[corridaid][CorridaNome], mysql, 128);
  4045.     Corridas[corridaid][CorridaTipo] = cache_get_field_content_int(0, "CorridaTipo", mysql);
  4046.     Corridas[corridaid][CorridaPremio] = cache_get_field_content_int(0, "CorridaPremio", mysql);
  4047.     Corridas[corridaid][CorridaMaxParticipantes] = cache_get_field_content_int(0, "MaximoParticipantes", mysql);
  4048.     Corridas[corridaid][CorridaVeiculo] = cache_get_field_content_int(0, "Veiculo", mysql);
  4049.     Corridas[corridaid][MaxCheckpoints] = cache_get_field_content_int(0, "MaxCheckpoints", mysql);
  4050.     Corridas[corridaid][CorridaRecord] = cache_get_field_content_int(0, "CorridaRecord", mysql);
  4051.     Corridas[corridaid][RecordBy] = cache_get_field_content_int(0, "RecordBy", mysql);
  4052.     Corridas[corridaid][InicioPos][0] = cache_get_field_content_float(0, "InicioX", mysql);
  4053.     Corridas[corridaid][InicioPos][1] = cache_get_field_content_float(0, "InicioY", mysql);
  4054.     Corridas[corridaid][InicioPos][2] = cache_get_field_content_float(0, "InicioZ", mysql);
  4055.     cache_get_field_content(0, "CheckpointsX", str, mysql, sizeof(str)); unformat(str, "p<,>a<f>["#MAX_CHECKPOINTS"]", Corridas[corridaid][CheckpointX]);
  4056.     cache_get_field_content(0, "CheckpointsY", str, mysql, sizeof(str)); unformat(str, "p<,>a<f>["#MAX_CHECKPOINTS"]", Corridas[corridaid][CheckpointY]);
  4057.     cache_get_field_content(0, "CheckpointsZ", str, mysql, sizeof(str)); unformat(str, "p<,>a<f>["#MAX_CHECKPOINTS"]", Corridas[corridaid][CheckpointZ]);
  4058.     format(Msg, 144, "{ffff00}[CORRIDA CARREGADAA] Use o comando {ffffff}/ircorrida %i {ffff00}para ir na corrida {ffffff}%s{ffff00}!", corridaid, Corridas[corridaid][CorridaNome]);
  4059.     SendClientMessageToAll(-1, Msg);
  4060.     Corridas[corridaid][Carregada] = true;
  4061.     Corridas[corridaid][Iniciada] = false;
  4062.     Corridas[corridaid][Trancada] = false;
  4063.     CriarDrawsCorrida(corridaid);
  4064.     SetTimerEx("IniciarCorrida", 30000, false, "d", corridaid);
  4065.     return 1;
  4066. }
  4067. stock CriarDrawsCorridaParaPlayer(playerid) {
  4068.     PlayerInfo[playerid][CorridaPosInfo] = CreatePlayerTextDraw(playerid, 132.000000, 281.000000, "0"); //Posição do player, no caso isso deve ser Playertextdraw para poucos bugs.
  4069.     PlayerTextDrawBackgroundColor(playerid, PlayerInfo[playerid][CorridaPosInfo], 255);
  4070.     PlayerTextDrawFont(playerid, PlayerInfo[playerid][CorridaPosInfo], 2);
  4071.     PlayerTextDrawLetterSize(playerid, PlayerInfo[playerid][CorridaPosInfo], 0.310000, 1.500000);
  4072.     PlayerTextDrawColor(playerid, PlayerInfo[playerid][CorridaPosInfo], -1);
  4073.     PlayerTextDrawSetOutline(playerid, PlayerInfo[playerid][CorridaPosInfo], 0);
  4074.     PlayerTextDrawSetProportional(playerid, PlayerInfo[playerid][CorridaPosInfo], 1);
  4075.     PlayerTextDrawSetShadow(playerid, PlayerInfo[playerid][CorridaPosInfo], 1);
  4076.     PlayerTextDrawSetSelectable(playerid, PlayerInfo[playerid][CorridaPosInfo], 0);
  4077.     return PlayerTextDrawShow(playerid, PlayerInfo[playerid][CorridaPosInfo]);
  4078. }
  4079. stock CriarDrawsCorrida(corridaid) {
  4080.     new str[100];
  4081.     Corridas[corridaid][CorridaDraws][0] = TextDrawCreate(83.000000, 261.000000, Corridas[corridaid][CorridaNome]);
  4082.     TextDrawAlignment(Corridas[corridaid][CorridaDraws][0], 2);
  4083.     TextDrawBackgroundColor(Corridas[corridaid][CorridaDraws][0], 255);
  4084.     TextDrawFont(Corridas[corridaid][CorridaDraws][0], 1);
  4085.     TextDrawLetterSize(Corridas[corridaid][CorridaDraws][0], 0.250000, 1.400000);
  4086.     TextDrawColor(Corridas[corridaid][CorridaDraws][0], -1);
  4087.     TextDrawSetOutline(Corridas[corridaid][CorridaDraws][0], 1);
  4088.     TextDrawSetProportional(Corridas[corridaid][CorridaDraws][0], 1);
  4089.     TextDrawUseBox(Corridas[corridaid][CorridaDraws][0], 1);
  4090.     TextDrawBoxColor(Corridas[corridaid][CorridaDraws][0], 64);
  4091.     TextDrawTextSize(Corridas[corridaid][CorridaDraws][0], 0.000000, 160.000000);
  4092.     TextDrawSetSelectable(Corridas[corridaid][CorridaDraws][0], 0);
  4093.  
  4094.     Corridas[corridaid][CorridaDraws][1] = TextDrawCreate(83.000000, 278.000000, "_");
  4095.     TextDrawAlignment(Corridas[corridaid][CorridaDraws][1], 2);
  4096.     TextDrawBackgroundColor(Corridas[corridaid][CorridaDraws][1], 255);
  4097.     TextDrawFont(Corridas[corridaid][CorridaDraws][1], 1);
  4098.     TextDrawLetterSize(Corridas[corridaid][CorridaDraws][1], 0.190000, 6.599999);
  4099.     TextDrawColor(Corridas[corridaid][CorridaDraws][1], -1);
  4100.     TextDrawSetOutline(Corridas[corridaid][CorridaDraws][1], 0);
  4101.     TextDrawSetProportional(Corridas[corridaid][CorridaDraws][1], 1);
  4102.     TextDrawSetShadow(Corridas[corridaid][CorridaDraws][1], 1);
  4103.     TextDrawUseBox(Corridas[corridaid][CorridaDraws][1], 1);
  4104.     TextDrawBoxColor(Corridas[corridaid][CorridaDraws][1], 96);
  4105.     TextDrawTextSize(Corridas[corridaid][CorridaDraws][1], 10.000000, 160.000000);
  4106.     TextDrawSetSelectable(Corridas[corridaid][CorridaDraws][1], 0);
  4107.  
  4108.     format(str, sizeof(str), "~w~Corrida Premio: ~g~R$~w~%i", Corridas[corridaid][CorridaPremio]);
  4109.     Corridas[corridaid][CorridaDraws][2] = TextDrawCreate(24.000000, 317.000000, str);
  4110.     TextDrawBackgroundColor(Corridas[corridaid][CorridaDraws][2], 255);
  4111.     TextDrawFont(Corridas[corridaid][CorridaDraws][2], 2);
  4112.     TextDrawLetterSize(Corridas[corridaid][CorridaDraws][2], 0.210000, 1.100000);
  4113.     TextDrawColor(Corridas[corridaid][CorridaDraws][2], -1);
  4114.     TextDrawSetOutline(Corridas[corridaid][CorridaDraws][2], 0);
  4115.     TextDrawSetProportional(Corridas[corridaid][CorridaDraws][2], 1);
  4116.     TextDrawSetShadow(Corridas[corridaid][CorridaDraws][2], 1);
  4117.     TextDrawSetSelectable(Corridas[corridaid][CorridaDraws][2], 0);
  4118.  
  4119.     Corridas[corridaid][CorridaDraws][3] = TextDrawCreate(140.000000, 287.000000, "0");
  4120.     TextDrawBackgroundColor(Corridas[corridaid][CorridaDraws][3], 255);
  4121.     TextDrawFont(Corridas[corridaid][CorridaDraws][3], 2);
  4122.     TextDrawLetterSize(Corridas[corridaid][CorridaDraws][3], 0.509999, 1.900000);
  4123.     TextDrawColor(Corridas[corridaid][CorridaDraws][3], -1);
  4124.     TextDrawSetOutline(Corridas[corridaid][CorridaDraws][3], 0);
  4125.     TextDrawSetProportional(Corridas[corridaid][CorridaDraws][3], 1);
  4126.     TextDrawSetShadow(Corridas[corridaid][CorridaDraws][3], 1);
  4127.     TextDrawSetSelectable(Corridas[corridaid][CorridaDraws][3], 0);
  4128.     return 1;
  4129. }
  4130. stock TerminarCorrida(corridaid) {
  4131.     for(new i; i < 4; i++)
  4132.         TextDrawDestroy(Corridas[corridaid][CorridaDraws][i]);
  4133.     for(new i; i < 3; i++)
  4134.         Corridas[corridaid][InicioPos][i] = 0.0;
  4135.     for(new i; i < MAX_CHECKPOINTS; i++) {
  4136.         Corridas[corridaid][CheckpointX][i] = 0.0;
  4137.         Corridas[corridaid][CheckpointY][i] = 0.0;
  4138.         Corridas[corridaid][CheckpointZ][i] = 0.0;
  4139.         Corridas[corridaid][CorridaPosicao][i] = 0;
  4140.     }
  4141.     Corridas[corridaid][CorridaNome] = 0;
  4142.     Corridas[corridaid][CorridaTipo] = 0;
  4143.     Corridas[corridaid][CorridaPremio] = 0;
  4144.     Corridas[corridaid][CorridaID] = 0;
  4145.     Corridas[corridaid][CorridaRecord] = 0;
  4146.     Corridas[corridaid][CorridaVeiculo] = 0;
  4147.     Corridas[corridaid][MaxCheckpoints] = 0;
  4148.     Corridas[corridaid][CorridaMaxParticipantes] = 0;
  4149.     Corridas[corridaid][RecordBy] = 0;
  4150.     Corridas[corridaid][Iniciada] = false;
  4151.     Corridas[corridaid][Carregada] = false;
  4152.     Corridas[corridaid][EmProjeto] = false;
  4153.     Corridas[corridaid][InicioDefinido] = false;
  4154.     Corridas[corridaid][Trancada] = false;
  4155.     return 1;
  4156. }
  4157. stock GetPlayersCorrida(corridaid) {
  4158.     new Players = 0;
  4159.     for(new i; i <= GetMaxPlayers(); i++)
  4160.         if(IsPlayerConnected(i) && PlayerInfo[i][CorridaID] == corridaid && PlayerInfo[i][EmCorrida] == true)
  4161.             Players++;
  4162.     return Players;
  4163. }
  4164. forward IniciarCorrida(corridaid);
  4165. public IniciarCorrida(corridaid) {
  4166.     if(Corridas[corridaid][Carregada] == false) return 0;
  4167.     if(GetPlayersCorrida(corridaid) < 2) return Corridas[corridaid][CorridaTimerIniciar] = SetTimerEx("IniciarCorrida", 15000, false, "d", corridaid);
  4168.     Corridas[corridaid][Trancada] = true;
  4169.     for(new i; i <= GetMaxPlayers(); i++) {
  4170.         if(!IsPlayerConnected(i)) continue;
  4171.         if(PlayerInfo[i][CorridaID] == corridaid) {
  4172.             PlayerInfo[i][pCorridaPos] = 0;
  4173.             PlayerInfo[i][pCorridaCheckpoint] = 0;
  4174.             new c = corridaid;
  4175.             new p = 0;
  4176.             new t = Corridas[corridaid][CorridaTipo];
  4177.             if(p+1 < Corridas[c][MaxCheckpoints])
  4178.                 SetPlayerRaceCheckpoint(i, (t == CORRIDA_TERRESTRE) ? (0) : (3), Corridas[c][CheckpointX][p],Corridas[c][CheckpointY][p],Corridas[c][CheckpointZ][p], Corridas[c][CheckpointX][p+1], Corridas[c][CheckpointY][p+1], Corridas[c][CheckpointZ][p+1], 25.0);
  4179.             else
  4180.                 SetPlayerRaceCheckpoint(i, (t == CORRIDA_TERRESTRE) ? (1) : (4), Corridas[c][CheckpointX][p],Corridas[c][CheckpointY][p],Corridas[c][CheckpointZ][p]+5.0, Corridas[c][CheckpointX][p+1], Corridas[c][CheckpointY][p+1], Corridas[c][CheckpointZ][p+1], 40.0);
  4181.             SetCameraBehindPlayer(i);
  4182.             TogglePlayerControllable(i, false);
  4183.             if(Corridas[corridaid][CorridaContagemSegundos] == 0)
  4184.             {
  4185.                 Corridas[corridaid][CorridaContagemSegundos] = 3;
  4186.                 Corridas[corridaid][CorridaTimerContagem] = SetTimerEx("IniciarCorrida_Contagem", 1000, true, "d", corridaid);
  4187.             }
  4188.             KillTimer(Corridas[corridaid][CorridaTimerIniciar]);
  4189.         }
  4190.     }
  4191.     return 1;
  4192. }
  4193. forward IniciarCorrida_Contagem(corridaid);
  4194. public IniciarCorrida_Contagem(corridaid) {
  4195.     new Msg[128];
  4196.     if(Corridas[corridaid][CorridaContagemSegundos] >= 1) {
  4197.         format(Msg, 128, "~w~%i",Corridas[corridaid][CorridaContagemSegundos]);
  4198.         for(new i; i <= GetMaxPlayers(); i++)
  4199.             if(IsPlayerConnected(i) && PlayerInfo[i][CorridaID] == corridaid) {
  4200.                 GameTextForPlayer(i, Msg, 5000, 4);
  4201.                 PlayerPlaySound(i, 1056, 0.0, 0.0, 0.0);
  4202.             }
  4203.         Corridas[corridaid][CorridaContagemSegundos] = Corridas[corridaid][CorridaContagemSegundos] - 1;
  4204.         return 1;
  4205.     }
  4206.     else {
  4207.         for(new i; i <= GetMaxPlayers(); i++)
  4208.             if(IsPlayerConnected(i) && PlayerInfo[i][CorridaID] == corridaid) {
  4209.                 TogglePlayerControllable(i, true);
  4210.                 GameTextForPlayer(i, "~g~VAO!!", 5000, 4);
  4211.                 PlayerPlaySound(i, 3200, 0.0, 0.0, 0.0);
  4212.             }
  4213.         Corridas[corridaid][Iniciada] = true;
  4214.     }
  4215.     KillTimer(Corridas[corridaid][CorridaTimerContagem]);
  4216.     return 1;
  4217. }
  4218. /********************************
  4219.             Comandos
  4220. *********************************/
  4221. CMD:espiar(playerid, params[]) {
  4222.     if(PlayerInfo[playerid][pLevel] < 1) return 0;
  4223.     new pID, Msg[144];
  4224.     if(sscanf(params, "u", pID)) return SendClientMessage(playerid, -1, "{ff0000}Use: /espiar [id/nome]");
  4225.     if(!IsPlayerConnected(pID)) return SendClientMessage(playerid, -1, "{ff0000}Off!");
  4226.     TogglePlayerSpectating(playerid, true);
  4227.     PlayerSpectatePlayer(playerid, pID);
  4228.     PlayerInfo[playerid][pEspiando] = pID;
  4229.     format(Msg, 144, "{00ff00}* Você está espiando %s", PlayerInfo[pID][pNome]);
  4230.     SendClientMessage(playerid, -1, Msg);
  4231.     return 1;
  4232. }
  4233. CMD:pararespiar(playerid, params[]) {
  4234.     if(PlayerInfo[playerid][pLevel] < 1) return 0;
  4235.     if(PlayerInfo[playerid][pEspiando] == INVALID_PLAYER_ID) return SendClientMessage(playerid, -1, "{ff0000}Você não está espiando ninguém!");
  4236.     TogglePlayerSpectating(playerid, false);
  4237.     return 1;
  4238. }
  4239. CMD:criararea(playerid, params[]) {
  4240.     if(PlayerInfo[playerid][pLevel] < 4) return 0;
  4241.     new Msg[144], Float:Gz[4], Float:Ac[3], areaid, Query[300];
  4242.     if(sscanf(params, "p<,>fffffff", Gz[0], Gz[1], Gz[2], Gz[3], Ac[0], Ac[1], Ac[2])) return SendClientMessage(playerid, -1, "{ff0000}Use: /criararea [min x] [min y] [max x] [max y] [centro x] [centro y] [centro z]"), SendClientMessage(playerid, -1, "{ff0000}Você pode separar por vírgulas! ;)");
  4243.     for(areaid = 1; areaid < MAX_AREAS; areaid++)
  4244.         if(Areas[areaid][Valida] == false) break; //Se não for válida, irá usar-la
  4245.     if(areaid >= MAX_AREAS) return SendClientMessage(playerid, -1, "{ff0000}Máximo de áreas atingido!");
  4246.     Areas[areaid][Valida] = true;
  4247.     Areas[areaid][GangZoneID] = GangZoneCreate(Gz[0], Gz[1], Gz[2], Gz[3]);
  4248.     GangZoneShowForAll(Areas[areaid][GangZoneID], COR_AREA);
  4249.     Areas[areaid][AreaID] = CreateDynamicRectangle(Gz[0], Gz[1], Gz[2], Gz[3]);
  4250.     Areas[areaid][Dominada] = false;
  4251.     Areas[areaid][EmAtaque] = false;
  4252.     format(Areas[areaid][AreaNome], 128, "");
  4253.     Areas[areaid][AreaGang] = 0;
  4254.     for(new i; i < 4; i++)
  4255.         Areas[areaid][LocPos][i] = Gz[i];
  4256.     for(new i; i < 3; i++)
  4257.         Areas[areaid][LocCentro][i] = Ac[i];
  4258.     Areas[areaid][AreaText] = CreateDynamic3DTextLabel("Área Neutra", COR_AREA, Ac[0], Ac[1], Ac[2], 20.0);
  4259.     format(Msg, 144, "{ffff00}Área %i criada!", areaid);
  4260.     SendClientMessage(playerid, -1, Msg);
  4261.     mysql_format(mysql, Query, sizeof(Query), "INSERT INTO areas (Localizacao,Centro) VALUES ('%4.2f,%4.2f,%4.2f,%4.2f','%4.2f,%4.2f,%4.2f')",Gz[0], Gz[1], Gz[2], Gz[3], Ac[0], Ac[1], Ac[2]);
  4262.     new Cache:Q = mysql_query(mysql, Query, true);
  4263.     Areas[areaid][ID_MySQL] = cache_insert_id(mysql);
  4264.     printf("Area %i registrada, id mysql %i", areaid,cache_insert_id(mysql));
  4265.     cache_delete(Q, mysql);
  4266.     return 1;
  4267. }
  4268. CMD:deletararea(playerid, params[])
  4269. {
  4270.     if(PlayerInfo[playerid][pLevel] < 4) return 0;
  4271.     new Msg[144], areaid, Query[200];
  4272.     if(sscanf(params, "i", areaid)) return SendClientMessage(playerid, -1, "{ff0000}Use: /deletararea [area id]");
  4273.     if(areaid <= 0 || areaid >= MAX_AREAS) return SendClientMessage(playerid, -1, "{ff0000}Área inválida!");
  4274.     if(Areas[areaid][Valida] != true) return SendClientMessage(playerid, -1, "{ff0000}Àrea inválida!");
  4275.     Areas[areaid][Valida] = false;
  4276.     GangZoneDestroy(Areas[areaid][GangZoneID]);
  4277.     DestroyDynamicArea(Areas[areaid][AreaID]);
  4278.     Areas[areaid][Dominada] = false;
  4279.     Areas[areaid][EmAtaque] = false;
  4280.     format(Areas[areaid][AreaNome], 128, "");
  4281.     Areas[areaid][AreaGang] = 0;
  4282.     for(new i; i < 4; i++)
  4283.         Areas[areaid][LocPos][i] = 0.0;
  4284.     for(new i; i < 3; i++)
  4285.         Areas[areaid][LocCentro][i] = 0.0;
  4286.     mysql_format(mysql, Query, sizeof(Query), "DELETE FROM areas WHERE id=%i", Areas[areaid][ID_MySQL]);
  4287.     mysql_query(mysql, Query, false);
  4288.     format(Msg, 144, "{ffff00}Àrea %i deletada com sucesso!", areaid);
  4289.     SendClientMessage(playerid, -1, Msg);
  4290.     return 1;
  4291. }
  4292.  
  4293. CMD:criargang(playerid, params[]) {
  4294.     if(PlayerInfo[playerid][pGang] != 0) return SendClientMessage(playerid, -1, "{ff0000}Você já faz parte de uma gang!");
  4295.     return ShowPlayerDialog(playerid, DialogCriarGang, DIALOG_STYLE_INPUT, "{ff0000}# {ffffff}MF - Crie sua gang!", "{ffffff}Digite o nome de sua gang:", "Ok", "Cancelar");
  4296. }
  4297. CMD:gangmenu(playerid, parmas[]) {
  4298.     if(PlayerInfo[playerid][pGang] == 0) return SendClientMessage(playerid, -1, "{ff0000}Você não faz parte de alguma gang!");
  4299.     return MenuGang(playerid);
  4300. }
  4301. CMD:menugang(playerid, params[]) return cmd_gangmenu(playerid, params);
  4302.  
  4303. CMD:aceitargang(playerid, params[]) {
  4304.     if(PlayerInfo[playerid][pGang] != 0) return SendClientMessage(playerid, -1, "{ff0000}Você já faz parte de uma gang!");
  4305.     if(PlayerInfo[playerid][pConviteGang] == 0) return SendClientMessage(playerid, -1, "{ff0000}Você não foi convidado para uma gang!");
  4306.     PlayerInfo[playerid][pGang] = PlayerInfo[playerid][pConviteGang];
  4307.     SendClientMessage(playerid, -1, "{ffff00}Você entrou na gang!");
  4308.     SalvarConta(playerid);
  4309.     PlayerInfo[playerid][pConviteGang] = 0;
  4310.     for(new i; i < MAX_GANG_MEMBROS; i++) {
  4311.         if(Gangs[PlayerInfo[playerid][pGang]][GangMembros][i] == 0) {
  4312.             Gangs[PlayerInfo[playerid][pGang]][GangMembros][i] = PlayerInfo[playerid][pMySQL_ID];
  4313.             break;
  4314.         }
  4315.     }
  4316.     new Query[300], LM[200];
  4317.     for(new i; i < MAX_GANG_MEMBROS; i++) {
  4318.         if(Gangs[PlayerInfo[playerid][pGang]][GangMembros][i] == 0) continue;
  4319.         format(LM, sizeof(LM), "%s%i,", LM,Gangs[PlayerInfo[playerid][pGang]][GangMembros][i]);
  4320.     }
  4321.     format(Query, sizeof(Query), "UPDATE gangs SET Membros='%s' WHERE id=%i", LM, Gangs[PlayerInfo[playerid][pGang]][ID_MySQL]);
  4322.     mysql_query(mysql, Query, false);
  4323.     return 1;
  4324. }
  4325. CMD:recusargang(playerid, params[]) {
  4326.     if(PlayerInfo[playerid][pGang] != 0) return SendClientMessage(playerid, -1, "{ff0000}Você já faz parte de uma gang!");
  4327.     if(PlayerInfo[playerid][pConviteGang] == 0) return SendClientMessage(playerid, -1, "{ff0000}Você não foi convidado para uma gang!");
  4328.     PlayerInfo[playerid][pConviteGang] = 0;
  4329.     SendClientMessage(playerid, -1, "{ff0000}Você recusou o convite da gang!");
  4330.     return 1;
  4331. }
  4332. CMD:gangs(playerid, params[]) {
  4333.     TodasGangs(playerid);
  4334.     return 1;
  4335. }
  4336. CMD:dominar(playerid, parmas[]) {
  4337.     if(PlayerInfo[playerid][pGang] == 0) return SendClientMessage(playerid, -1, "{ff0000}Você não faz parte de nenhuma gang!");
  4338.     if(GetPVarInt(playerid, "dominar_area") != 0) return SendClientMessage(playerid, -1, "{ff0000}Você está dominando uma área!");
  4339.     new areaid;
  4340.     for(areaid = 1; areaid < MAX_AREAS; areaid++) {
  4341.         if(Areas[areaid][Valida] == false) continue;
  4342.         if(!IsPlayerInDynamicArea(playerid, Areas[areaid][AreaID], true)) continue;
  4343.         if(Areas[areaid][AreaGang] == PlayerInfo[playerid][pGang]) continue;
  4344.         SetPVarInt(playerid, "dominar_area", areaid);
  4345.         SetPVarInt(playerid, "tempo_dominacao", 30);
  4346.         SetTimerEx("DominandoArea", 1000, false, "d", playerid);
  4347.         Areas[areaid][EmAtaque] = true;
  4348.         GangZoneFlashForAll(Areas[areaid][GangZoneID], Gangs[PlayerInfo[playerid][pGang]][GangCor]);
  4349.         return SendClientMessage(playerid, -1, "{ff0000}Você está dominando a área!");
  4350.     }
  4351.     SendClientMessage(playerid, -1, "{ff0000}Você não está em uma área!");
  4352.     return 1;
  4353. }
  4354. forward DominandoArea(playerid);
  4355. public DominandoArea(playerid) {
  4356.     new areaid = GetPVarInt(playerid, "dominar_area"), string[200];
  4357.     if(GetPVarInt(playerid, "dominar_area") == 0) return 1;
  4358.     if(Areas[areaid][AreaGang] == PlayerInfo[playerid][pGang]) {
  4359.         DeletePVar(playerid, "tempo_dominacao");
  4360.         DeletePVar(playerid, "dominar_area");
  4361.         SendClientMessage(playerid, -1, "{ff0000}Esta área já é de sua gang!");
  4362.         GangZoneStopFlashForAll(Areas[areaid][GangZoneID]);
  4363.         Areas[areaid][EmAtaque] = false;
  4364.         return 1;
  4365.     }
  4366.     if(GetPVarInt(playerid, "tempo_dominacao") > 0) {
  4367.         Areas[areaid][EmAtaque] = true;
  4368.         format(string, sizeof(string), "~w~Tempo restante: ~r~%i", GetPVarInt(playerid, "tempo_dominacao"));
  4369.         GameTextForPlayer(playerid, string, 5000, 3);
  4370.         SetPVarInt(playerid, "tempo_dominacao",GetPVarInt(playerid, "tempo_dominacao")-1);
  4371.         SetTimerEx("DominandoArea", 1000, false, "d", playerid);
  4372.     }
  4373.     else {
  4374.         Areas[areaid][EmAtaque] = false;
  4375.         Areas[areaid][Dominada] = true;
  4376.         Areas[areaid][AreaGang] = PlayerInfo[playerid][pGang];
  4377.         for(new i = 0; i < MAX_GANG_AREAS; i++) {
  4378.             if(Gangs[PlayerInfo[playerid][pGang]][GangAreas][i] != 0) continue;
  4379.             Gangs[PlayerInfo[playerid][pGang]][GangAreas][i] = areaid;
  4380.             break;
  4381.         }
  4382.         GameTextForPlayer(playerid, "~g~Area dominada!", 5000, 3);
  4383.         new Query[300];
  4384.         for(new i; i < MAX_GANG_AREAS; i++) {
  4385.             if(Gangs[PlayerInfo[playerid][pGang]][GangAreas][i] == 0) continue;
  4386.             format(string, sizeof(string), "%s%i,", string,Gangs[PlayerInfo[playerid][pGang]][GangAreas][i]);
  4387.         }
  4388.         mysql_format(mysql, Query, sizeof(Query), "UPDATE gangs SET Areas='%s' WHERE id=%i", string, Gangs[PlayerInfo[playerid][pGang]][ID_MySQL]);
  4389.         mysql_query(mysql, Query, false);
  4390.         mysql_format(mysql, Query, sizeof(Query), "UPDATE areas SET Gang=%i WHERE id=%i", PlayerInfo[playerid][pGang], Areas[areaid][ID_MySQL]);
  4391.         mysql_query(mysql, Query, false);
  4392.         GangZoneStopFlashForAll(Areas[areaid][GangZoneID]);
  4393.         GangZoneShowForAll(Areas[areaid][GangZoneID], Gangs[PlayerInfo[playerid][pGang]][GangCor]);
  4394.         ShowPlayerDialog(playerid, DialogGangAreaNome, DIALOG_STYLE_INPUT, "{ff0000}# {ffffff}Nome da área!", "Digite o nome da área", "Definir", "");
  4395.         DeletePVar(playerid, "tempo_dominacao");
  4396.         format(string, sizeof(string), "Gang: %s\nDescrição: %s\n", Gangs[PlayerInfo[playerid][pGang]][GangNome], Gangs[PlayerInfo[playerid][pGang]][GangDescricao]);
  4397.         UpdateDynamic3DTextLabelText(Areas[areaid][AreaText], Gangs[PlayerInfo[playerid][pGang]][GangCor], string);
  4398.     }
  4399.     return 1;
  4400. }
  4401. CMD:mostrardano(playerid, params[]) {
  4402.     PlayerInfo[playerid][MostrarDano] = (PlayerInfo[playerid][MostrarDano] == true) ? (false) : (true);
  4403.     SendClientMessage(playerid, -1, (PlayerInfo[playerid][MostrarDano] == true) ? ("{ffff00}Seu dano agora será exibido no canto da tela!") : ("{ff0000}Você desabilitou a exibição de dano!"));
  4404.     if(PlayerInfo[playerid][MostrarDano] == false)
  4405.     {
  4406.         for(new i; i < 9; i++)
  4407.             PlayerTextDrawHide(playerid, PlayerInfo[playerid][PlayerDano][i]);
  4408.     }
  4409.     else
  4410.     {
  4411.         PlayerTextDrawSetPreviewModel(playerid, PlayerInfo[playerid][PlayerDano][1], GetPlayerSkin(playerid));
  4412.         for(new i; i < 2; i++)
  4413.             PlayerTextDrawShow(playerid, PlayerInfo[playerid][PlayerDano][i]);
  4414.     }
  4415.     return 1;
  4416. }
  4417. CMD:carregarcorrida(playerid, params[]) {
  4418.     if(PlayerInfo[playerid][pLevel] < 3) return SendClientMessage(playerid, -1, "{EE00EE}* Você não tem level suficiente para isso!");
  4419.     new Dialog[2000], Cache:TCorridas = mysql_query(mysql, "SELECT * FROM corridas ORDER BY ID DESC", true);
  4420.     if(cache_num_rows(mysql) > 0) {
  4421.         for(new i; i < cache_num_rows(mysql); i++) {
  4422.             new NomeCorrida[128], Premio = cache_get_field_content_int(i, "CorridaPremio", mysql);
  4423.             cache_get_field_content(i, "CorridaNome", NomeCorrida, mysql, 128);
  4424.             format(Dialog, sizeof(Dialog), "%s%s - R$%i\r\n", Dialog, NomeCorrida, Premio);
  4425.         }
  4426.         ShowPlayerDialog(playerid, DialogCorridas, DIALOG_STYLE_LIST, "{ff0000}# {ffffff}Corridas!", Dialog, "Selecionar", "Cancelar");
  4427.     }
  4428.     else
  4429.         SendClientMessage(playerid, -1, "{ff0000}Nenhuma corrida encontrada!");
  4430.     cache_delete(TCorridas, mysql);
  4431.     return 1;
  4432. }
  4433. CMD:criarcorrida(playerid, params[]) {
  4434.     if(PlayerInfo[playerid][pLevel] < 3) return SendClientMessage(playerid, -1, "{EE00EE}* Você não tem level suficiente para isso!");
  4435.     new Nome[128], Premio, Veiculo, Tipo, MaxParticipantes, Msg[144], corridaid;
  4436.     if(sscanf(params, "iiiis[128]", Premio, Veiculo, MaxParticipantes, Tipo, Nome)) return SendClientMessage(playerid, -1, "{ff0000}* Use: /criarcorrida [premio] [veiculo (0 para variado)] [maximo de participantes] [tipo (1 = TERRESTE | 2 = AEREA)] [nome da corrida]");
  4437.     if(Tipo != CORRIDA_AEREA && Tipo != CORRIDA_TERRESTRE) return SendClientMessage(playerid, -1, "{ff0000}Tipo de corrida inválido!");
  4438.     for(corridaid = 1; corridaid < MAX_CORRIDAS; corridaid++) {
  4439.         if(Corridas[corridaid][EmProjeto] == true) continue;
  4440.         if(Corridas[corridaid][Carregada] == true) continue;
  4441.         break; //no caso, se não houver carregadas nem em projeto.
  4442.     }
  4443.     if(corridaid == MAX_CORRIDAS) return SendClientMessage(playerid, -1, "{ff0000}Máximo de corridas atingido!");
  4444.     Corridas[corridaid][EmProjeto] = true;
  4445.     Corridas[corridaid][Trancada] = true;
  4446.     Corridas[corridaid][Carregada] = false;
  4447.     Corridas[corridaid][InicioDefinido] = false;
  4448.     Corridas[corridaid][CorridaTipo] = Tipo;
  4449.     Corridas[corridaid][CorridaPremio] = Premio;
  4450.     Corridas[corridaid][CorridaVeiculo] = Veiculo;
  4451.     Corridas[corridaid][CorridaMaxParticipantes] = MaxParticipantes;
  4452.     format(Corridas[corridaid][CorridaNome], 128, Nome);
  4453.     format(Msg, 144, "{ffff00}* [CORRIDA] Projeto %s iniciado! Use /criarcheckpoint para criar checkpoints e /corridainicio para definir o incio da corrida!", Nome);
  4454.     SendClientMessage(playerid, -1, Msg);
  4455.     SetPlayerVirtualWorld(playerid, corridaid + 10);
  4456.     PlayerInfo[playerid][CorridaID] = corridaid;
  4457.     PlayerInfo[playerid][EmCorrida] = true;
  4458.     if(Veiculo != 0 && Veiculo != GetVehicleModel(GetPlayerVehicleID(playerid))) {
  4459.         new Float:Pos[4], vid;
  4460.         GetPlayerPos(playerid, Pos[0], Pos[1], Pos[2]);
  4461.         GetPlayerFacingAngle(playerid, Pos[3]);
  4462.         vid = PlayerInfo[playerid][pCorridaVeh] = CreateVehicle(Veiculo, Pos[0], Pos[1], Pos[2], Pos[3], random(255), random(255), 60);
  4463.         SetVehicleVirtualWorld(vid, corridaid + 10);
  4464.         PutPlayerInVehicle(playerid, vid, 0);
  4465.     }
  4466.     else {
  4467.         if(GetPlayerVehicleSeat(playerid) == 0)
  4468.             SetVehicleVirtualWorld(GetPlayerVehicleID(playerid), corridaid+10);
  4469.     }
  4470.     return 1;
  4471. }
  4472. CMD:corridainicio(playerid, params[]) {
  4473.     if(PlayerInfo[playerid][pLevel] < 3) return SendClientMessage(playerid, -1, "{EE00EE}* Você não tem level suficiente para isso!");
  4474.     if(PlayerInfo[playerid][CorridaID] == 0) return SendClientMessage(playerid, -1, "{ff0000}* Você deve estar em uma corrida em projeto!");
  4475.     if(Corridas[PlayerInfo[playerid][CorridaID]][EmProjeto] == false) return SendClientMessage(playerid, -1, "{ff0000}Esta corrida não está em projeto!");
  4476.     new Float:Pos[3];
  4477.     if(GetPlayerVehicleID(playerid) == 0)
  4478.         GetPlayerPos(playerid, Pos[0], Pos[1], Pos[2]);
  4479.     else
  4480.         GetVehiclePos(GetPlayerVehicleID(playerid), Pos[0], Pos[1], Pos[2]);
  4481.     Corridas[PlayerInfo[playerid][CorridaID]][InicioDefinido] = true;
  4482.     for(new i; i < 3; i++)
  4483.         Corridas[PlayerInfo[playerid][CorridaID]][InicioPos][i] = Pos[i];
  4484.     SendClientMessage(playerid, -1, "{ffff00}* Início da corrida definido!");
  4485.     return 1;
  4486. }
  4487. CMD:criarcheckpoint(playerid, params[])
  4488. {
  4489.     if(PlayerInfo[playerid][pLevel] < 3) return SendClientMessage(playerid, -1, "{EE00EE}* Você não tem level suficiente para isso!");
  4490.     if(PlayerInfo[playerid][CorridaID] == 0) return SendClientMessage(playerid, -1, "{ff0000}* Você deve estar em uma corrida em projeto!");
  4491.     if(Corridas[PlayerInfo[playerid][CorridaID]][EmProjeto] == false) return SendClientMessage(playerid, -1, "{ff0000}Esta corrida não está em projeto!");
  4492.     if(Corridas[PlayerInfo[playerid][CorridaID]][InicioDefinido] == false) return SendClientMessage(playerid, -1, "{ff0000}Você deve definir o início da corrida!");
  4493.     if(Corridas[PlayerInfo[playerid][CorridaID]][MaxCheckpoints] >= MAX_CHECKPOINTS) return SendClientMessage(playerid, -1, "{ff0000}Máximo de checkpoints atingido!");
  4494.     new Float:Pos[3], Msg[144], Checkpoint = Corridas[PlayerInfo[playerid][CorridaID]][MaxCheckpoints];
  4495.     if(GetPlayerVehicleID(playerid) == 0)
  4496.         GetPlayerPos(playerid, Pos[0], Pos[1], Pos[2]);
  4497.     else
  4498.         GetVehiclePos(GetPlayerVehicleID(playerid), Pos[0], Pos[1], Pos[2]);
  4499.     Corridas[PlayerInfo[playerid][CorridaID]][CheckpointX][Checkpoint] = Pos[0];
  4500.     Corridas[PlayerInfo[playerid][CorridaID]][CheckpointY][Checkpoint] = Pos[1];
  4501.     Corridas[PlayerInfo[playerid][CorridaID]][CheckpointZ][Checkpoint] = Pos[2];
  4502.     Corridas[PlayerInfo[playerid][CorridaID]][MaxCheckpoints]++;
  4503.     format(Msg, 144, "{ffff00}* Checkpoint criado! %i/%i", Checkpoint+1, MAX_CHECKPOINTS);
  4504.     SendClientMessage(playerid, -1, Msg);
  4505.     return 1;
  4506. }
  4507. CMD:terminarcorrida(playerid, params[]) {
  4508.     if(PlayerInfo[playerid][pLevel] >= 3 && PlayerInfo[playerid][CorridaID] != 0 && Corridas[PlayerInfo[playerid][CorridaID]][EmProjeto] == true) {
  4509.         if(Corridas[PlayerInfo[playerid][CorridaID]][InicioDefinido] == false) return SendClientMessage(playerid, -1, "{ff0000}Você não definiu o início da corrida!");
  4510.         new Query[2000], CX[300], CY[300], CZ[300], corridaid = PlayerInfo[playerid][CorridaID];
  4511.         for(new i; i < Corridas[corridaid][MaxCheckpoints]; i++)
  4512.         {
  4513.             format(CX, sizeof(CX), "%s%4.2f,", CX, Corridas[corridaid][CheckpointX][i]);
  4514.             format(CY, sizeof(CY), "%s%4.2f,", CY, Corridas[corridaid][CheckpointY][i]);
  4515.             format(CZ, sizeof(CZ), "%s%4.2f,", CZ, Corridas[corridaid][CheckpointZ][i]);
  4516.         }
  4517.         mysql_format(mysql, Query, sizeof(Query),"INSERT INTO corridas (CorridaNome,CorridaTipo,CorridaPremio,CheckpointsX,CheckpointsY,CheckpointsZ,InicioX,InicioY,InicioZ,MaximoParticipantes,Veiculo,MaxCheckpoints) VALUES ('%e',%i,%i,'%s','%s','%s',%4.2f,%4.2f,%4.2f,%i,%i,%i)", Corridas[corridaid][CorridaNome], Corridas[corridaid][CorridaTipo],
  4518.         Corridas[corridaid][CorridaPremio],CX,CY,CZ,Corridas[corridaid][InicioPos][0],Corridas[corridaid][InicioPos][1],Corridas[corridaid][InicioPos][2],Corridas[corridaid][CorridaMaxParticipantes],Corridas[corridaid][CorridaVeiculo],Corridas[corridaid][MaxCheckpoints]);
  4519.         mysql_query(mysql, Query, false);
  4520.  
  4521.         SetPlayerVirtualWorld(playerid, 0);
  4522.         if(GetPlayerVehicleSeat(playerid) == 0)
  4523.             SetVehicleVirtualWorld(GetPlayerVehicleID(playerid), 0);
  4524.         PlayerInfo[playerid][CorridaID] = 0;
  4525.         PlayerInfo[playerid][EmCorrida] = false;
  4526.         if(PlayerInfo[playerid][pCorridaVeh] != 0) {
  4527.             DestroyVehicle(PlayerInfo[playerid][pCorridaVeh]);
  4528.             PlayerInfo[playerid][pCorridaVeh] = 0;
  4529.         }
  4530.         for(new i; i < MAX_CHECKPOINTS; i++) {
  4531.             Corridas[corridaid][CheckpointX][i] = 0.0;
  4532.             Corridas[corridaid][CheckpointY][i] = 0.0;
  4533.             Corridas[corridaid][CheckpointZ][i] = 0.0;
  4534.         }
  4535.         Corridas[corridaid][MaxCheckpoints] = 0;
  4536.         Corridas[corridaid][CorridaPremio] = 0;
  4537.         Corridas[corridaid][CorridaVeiculo] = 0;
  4538.         Corridas[corridaid][CorridaNome] = 0;
  4539.         Corridas[corridaid][CorridaMaxParticipantes] = 0;
  4540.         for(new i; i < 3; i++)
  4541.             Corridas[corridaid][InicioPos][i] = 0.0;
  4542.         Corridas[corridaid][EmProjeto] = false;
  4543.         Corridas[corridaid][Trancada] = false;
  4544.         Corridas[corridaid][InicioDefinido] = false;
  4545.         Corridas[corridaid][Carregada] = false;
  4546.         Corridas[corridaid][CorridaTipo] = 0;
  4547.         SendClientMessage(playerid, -1, "{ffff00}Projeto salvo!");
  4548.         return 1; //Aqui é para finalizar um projeto de corrida.
  4549.     }
  4550.     new corridaid, Msg[144];
  4551.     if(sscanf(params, "i", corridaid)) return SendClientMessage(playerid, -1, "{ff0000}Use: /terminarcorrida [corrida id]");
  4552.     if(corridaid <= 0 || corridaid >= MAX_CORRIDAS) return SendClientMessage(playerid, -1, "{ff0000}Corrida inválida!");
  4553.     if(Corridas[corridaid][EmProjeto] == true) return SendClientMessage(playerid, -1, "{ff0000}Esta corrida está em projeto, apenas quem estiver criando pode termina-la!");
  4554.     if(Corridas[corridaid][Carregada] == false) return SendClientMessage(playerid, -1, "{ff0000}Esta corrida não foi carregada!");
  4555.     for(new i; i <= GetMaxPlayers(); i++)
  4556.     {
  4557.         if(!IsPlayerConnected(i)) continue;
  4558.         if(PlayerInfo[i][EmCorrida] == true && PlayerInfo[i][CorridaID] == corridaid)
  4559.         {
  4560.             DisablePlayerCheckpoint(i);
  4561.             DisablePlayerRaceCheckpoint(i);
  4562.             PlayerInfo[i][EmCorrida] = false;
  4563.             PlayerInfo[i][CorridaID] = 0;
  4564.             SetPlayerVirtualWorld(i, 0);
  4565.             PlayerTextDrawDestroy(i, PlayerInfo[i][CorridaPosInfo]);
  4566.             if(GetPlayerVehicleSeat(i) == 0)
  4567.                 SetVehicleVirtualWorld(GetPlayerVehicleID(i), 0);
  4568.             if(PlayerInfo[i][pCorridaVeh] != 0)
  4569.             {
  4570.                 DestroyVehicle(PlayerInfo[i][pCorridaVeh]);
  4571.                 PlayerInfo[i][pCorridaVeh] = 0;
  4572.             }
  4573.         }
  4574.     }
  4575.     format(Msg, 144, "{ffff00}[CORRIDA] * %s terminou a corrida %s", PlayerInfo[playerid][pNome], Corridas[corridaid][CorridaNome]);
  4576.     SendClientMessageToAll(-1, Msg);
  4577.     TerminarCorrida(corridaid);
  4578.     return 1;
  4579. }
  4580. CMD:ircorrida(playerid, params[]) {
  4581.     if(PlayerInfo[playerid][EmCorrida] == true) return SendClientMessage(playerid, -1, "{EE00EE}* Você já está em uma corrida!");
  4582.     new corridaid, Msg[144];
  4583.     if(sscanf(params, "i", corridaid)) return SendClientMessage(playerid, -1, "{ff0000}* Use: /ircorrida [id da corrida desejada]");
  4584.     if(corridaid <= 0 || corridaid >= MAX_CORRIDAS) return SendClientMessage(playerid, -1, "{ff0000}* Corrida inválida!");
  4585.     if(Corridas[corridaid][Carregada] == false) return SendClientMessage(playerid, -1, "{ff0000}Corrida não carregada!");
  4586.     if(Corridas[corridaid][Trancada] == true || Corridas[corridaid][Iniciada]) return SendClientMessage(playerid, -1, "{ff0000}Você não pode entrar mais entrar nesta corrida!");
  4587.     if(GetPlayerVehicleID(playerid) == 0 && Corridas[corridaid][CorridaVeiculo] == 0) return SendClientMessage(playerid, -1, "{ff0000}Nesta corrida é necessária você estar com um veículo!");
  4588.     if(GetPlayersCorrida(corridaid) >= Corridas[corridaid][CorridaMaxParticipantes]) return SendClientMessage(playerid, -1, "{ff0000}Esta corrida já está em seu limite de participantes!");
  4589.     CriarDrawsCorridaParaPlayer(playerid);
  4590.     for(new i; i < 4; i++)
  4591.         TextDrawShowForPlayer(playerid, Corridas[corridaid][CorridaDraws][i]);
  4592.     PlayerInfo[playerid][CorridaID] = corridaid;
  4593.     PlayerInfo[playerid][EmCorrida] = true;
  4594.     new vehicleid = GetPlayerVehicleID(playerid);
  4595.     SetPlayerVirtualWorld(playerid, corridaid + 10);
  4596.     SetPlayerPos(playerid,Corridas[corridaid][InicioPos][0],Corridas[corridaid][InicioPos][1],Corridas[corridaid][InicioPos][2]+2.0);
  4597.     if(GetPlayerVehicleSeat(playerid) == 0) {
  4598.         if(Corridas[corridaid][CorridaVeiculo] == GetVehicleModel(GetPlayerVehicleID(playerid)) && Corridas[corridaid][CorridaVeiculo] != 0) {
  4599.             SetVehicleVirtualWorld(vehicleid, corridaid+10);
  4600.             SetVehiclePos(vehicleid, Corridas[corridaid][InicioPos][0],Corridas[corridaid][InicioPos][1],Corridas[corridaid][InicioPos][2]);
  4601.             PutPlayerInVehicle(playerid, vehicleid, 0);
  4602.         }
  4603.         else if(Corridas[corridaid][CorridaVeiculo] == 0){
  4604.             SetVehicleVirtualWorld(vehicleid, corridaid+10);
  4605.             SetVehiclePos(vehicleid, Corridas[corridaid][InicioPos][0],Corridas[corridaid][InicioPos][1],Corridas[corridaid][InicioPos][2]);
  4606.             PutPlayerInVehicle(playerid, vehicleid, 0);
  4607.         }
  4608.     } else if(Corridas[corridaid][CorridaVeiculo] != 0) {
  4609.         new vid = CreateVehicle(Corridas[corridaid][CorridaVeiculo], Corridas[corridaid][InicioPos][0],Corridas[corridaid][InicioPos][1],Corridas[corridaid][InicioPos][2], 90.0, random(255), random(255), 60);
  4610.         SetVehicleVirtualWorld(vid, corridaid + 10);
  4611.         PutPlayerInVehicle(playerid, vid, 0);
  4612.         SetVehicleParamsEx(vid, 1, 1, 0, 1, 0, 0, 0);
  4613.         PlayerInfo[playerid][pCorridaVeh] = vid;
  4614.     }
  4615.     format(Msg, 144, "{ffff00}[CORRIDA] * %s foi a corrida %s", PlayerInfo[playerid][pNome], Corridas[corridaid][CorridaNome]);
  4616.     SendClientMessageToAll(-1, Msg);
  4617.     return 1;
  4618. }
  4619. CMD:saircorrida(playerid, params[]) {
  4620.     if(PlayerInfo[playerid][EmCorrida] == false) return SendClientMessage(playerid, -1, "{EE00EE}* Você não está em uma corrida!");
  4621.     TogglePlayerControllable(playerid, true);
  4622.     DisablePlayerCheckpoint(playerid);
  4623.     DisablePlayerRaceCheckpoint(playerid);
  4624.     SetPlayerVirtualWorld(playerid, 0);
  4625.     if(GetPlayerVehicleID(playerid) != 0)
  4626.         SetVehicleVirtualWorld(GetPlayerVehicleID(playerid), 0);
  4627.     if(PlayerInfo[playerid][pCorridaVeh] != 0)
  4628.     {
  4629.         DestroyVehicle(PlayerInfo[playerid][pCorridaVeh]);
  4630.         PlayerInfo[playerid][pCorridaVeh] = 0;
  4631.     }
  4632.     PlayerTextDrawDestroy(playerid, PlayerInfo[playerid][CorridaPosInfo]);
  4633.     PlayerInfo[playerid][pCorridaPos] = 0;
  4634.     for(new i; i < 4; i++)
  4635.         TextDrawHideForPlayer(playerid, Corridas[PlayerInfo[playerid][CorridaID]][CorridaDraws][i]);
  4636.     PlayerInfo[playerid][EmCorrida] = false;
  4637.     PlayerInfo[playerid][CorridaID] = 0;
  4638.     SendClientMessage(playerid, -1, "{ff0000}* Você saiu da corrida! :/");
  4639.     return 1;
  4640. }
  4641.  
  4642.  
  4643. CMD:teles(playerid, params[]) {
  4644.     if(PlayerInfo[playerid][EmArena] == true) return SendClientMessage(playerid, -1, "{EE00EE}* Não é possivel teleportar em uma arena, use /sairarena.");
  4645.     new Dialog[2000];
  4646.     for(new i; i < sizeof(TeleTipo); i++) {
  4647.         format(Dialog, sizeof(Dialog), "%s%s\r\n", Dialog, TeleTipo[i]);
  4648.     }
  4649.     ShowPlayerDialog(playerid, DialogTeleportLista, DIALOG_STYLE_LIST, "{ff0000}# {ffffff}Teleportes", Dialog, "Escolher", "Cancelar");
  4650.     return 1;
  4651. }
  4652. CMD:stunts(playerid, params[]) {
  4653.     if(PlayerInfo[playerid][EmArena] == true) return SendClientMessage(playerid, -1, "{7B68EE}* Você está em uma arena, use /sairarena.");
  4654.     new Msg1[2000], Msg2[128], Disponiveis;
  4655.     for(new i; i < sizeof(Teleportes); i++) {
  4656.         if(Teleportes[i][teleTipo] != Tele_Stunt) continue;
  4657.         Disponiveis++;
  4658.         format(Msg1, sizeof(Msg1), "%s%s (/%s)\r\n", Msg1, Teleportes[i][teleportNome], Teleportes[i][TeleCmd]);
  4659.     }
  4660.     format(Msg2, sizeof(Msg2), "{ff0000}# {ffffff}%i Teleportes de Stunt", Disponiveis);
  4661.     ShowPlayerDialog(playerid, DialogTeleStunt, DIALOG_STYLE_LIST, Msg2, Msg1, "Escolher", "Cancelar");
  4662.     return 1;
  4663. }
  4664. CMD:reparar(playerid, params[]) {
  4665.     if(GetPlayerVehicleSeat(playerid) != 0) return SendClientMessage(playerid, -1, "{ff0000}Você deve estar conduzindo um veículo!");
  4666.     RepairVehicle(GetPlayerVehicleID(playerid));
  4667.     return GameTextForPlayer(playerid, "~r~Reparado~w~!", 5000, 3);
  4668. }
  4669. CMD:pistas(playerid, params[]) {
  4670.     if(PlayerInfo[playerid][EmArena] == true) return SendClientMessage(playerid, -1, "{7B68EE}* Você está em uma arena, use /sairarena.");
  4671.     new Msg1[2000], Msg2[128], Disponiveis;
  4672.     for(new i; i < sizeof(Teleportes); i++) {
  4673.         if(Teleportes[i][teleTipo] != Tele_Pistas) continue;
  4674.         Disponiveis++;
  4675.         format(Msg1, sizeof(Msg1), "%s%s (/%s)\r\n", Msg1, Teleportes[i][teleportNome], Teleportes[i][TeleCmd]);
  4676.     }
  4677.     format(Msg2, sizeof(Msg2), "{ff0000}# {ffffff}%i Teleportes", Disponiveis);
  4678.     ShowPlayerDialog(playerid, DialogTelePistas, DIALOG_STYLE_LIST, Msg2, Msg1, "Escolher", "Cancelar");
  4679.     return 1;
  4680. }
  4681. CMD:drift(playerid, params[]) {
  4682.     if(PlayerInfo[playerid][EmArena] == true) return SendClientMessage(playerid, -1, "{7B68EE}* Você está em uma arena, use /sairarena.");
  4683.     new Msg1[2000], Msg2[128], Disponiveis;
  4684.     for(new i; i < sizeof(Teleportes); i++) {
  4685.         if(Teleportes[i][teleTipo] != Tele_Drift) continue;
  4686.         Disponiveis++;
  4687.         format(Msg1, sizeof(Msg1), "%s%s (/%s)\r\n", Msg1, Teleportes[i][teleportNome], Teleportes[i][TeleCmd]);
  4688.     }
  4689.     format(Msg2, sizeof(Msg2), "{ff0000}# {ffffff}%i Teleportes de Drift", Disponiveis);
  4690.     ShowPlayerDialog(playerid, DialogTeleDrift, DIALOG_STYLE_LIST, Msg2, Msg1, "Escolher", "Cancelar");
  4691.     return 1;
  4692. }
  4693. CMD:pulos(playerid, params[]) {
  4694.     if(PlayerInfo[playerid][EmArena] == true) return SendClientMessage(playerid, -1, "{7B68EE}* Você está em uma arena, use /sairarena.");
  4695.     new Msg1[2000], Msg2[128], Disponiveis;
  4696.     for(new i; i < sizeof(Teleportes); i++) {
  4697.         if(Teleportes[i][teleTipo] != Tele_Pulos) continue;
  4698.         Disponiveis++;
  4699.         format(Msg1, sizeof(Msg1), "%s%s (/%s)\r\n", Msg1, Teleportes[i][teleportNome], Teleportes[i][TeleCmd]);
  4700.     }
  4701.     format(Msg2, sizeof(Msg2), "{ff0000}# {ffffff}%i Teleportes", Disponiveis);
  4702.     ShowPlayerDialog(playerid, DialogTelePulos, DIALOG_STYLE_LIST, Msg2, Msg1, "Escolher", "Cancelar");
  4703.     return 1;
  4704. }
  4705. CMD:corridas(playerid, params[]) {
  4706.     if(PlayerInfo[playerid][EmArena] == true) return SendClientMessage(playerid, -1, "{7B68EE}* Você está em uma arena, use /sairarena.");
  4707.     new Msg1[2000], Msg2[128], Disponiveis;
  4708.     for(new i; i < sizeof(Teleportes); i++) {
  4709.         if(Teleportes[i][teleTipo] != Tele_Corrida) continue;
  4710.         Disponiveis++;
  4711.         format(Msg1, sizeof(Msg1), "%s%s (/%s)\r\n", Msg1, Teleportes[i][teleportNome], Teleportes[i][TeleCmd]);
  4712.     }
  4713.     format(Msg2, sizeof(Msg2), "{ff0000}# {ffffff}%i Corridas", Disponiveis);
  4714.     ShowPlayerDialog(playerid, DialogTeleCorridas, DIALOG_STYLE_LIST, Msg2, Msg1, "Escolher", "Cancelar");
  4715.     return 1;
  4716. }
  4717. CMD:tubos(playerid, params[]) {
  4718.     if(PlayerInfo[playerid][EmArena] == true) return SendClientMessage(playerid, -1, "{7B68EE}* Você está em uma arena, use /sairarena.");
  4719.     new Msg1[2000], Msg2[128], Disponiveis;
  4720.     for(new i; i < sizeof(Teleportes); i++) {
  4721.         if(Teleportes[i][teleTipo] != Tele_Tubos) continue;
  4722.         Disponiveis++;
  4723.         format(Msg1, sizeof(Msg1), "%s%s (/%s)\r\n", Msg1, Teleportes[i][teleportNome], Teleportes[i][TeleCmd]);
  4724.     }
  4725.     format(Msg2, sizeof(Msg2), "{ff0000}# {ffffff}%i Teleportes", Disponiveis);
  4726.     ShowPlayerDialog(playerid, DialogTeleTubos, DIALOG_STYLE_LIST, Msg2, Msg1, "Escolher", "Cancelar");
  4727.     return 1;
  4728. }
  4729. CMD:varios(playerid, params[]) {
  4730.     if(PlayerInfo[playerid][EmArena] == true) return SendClientMessage(playerid, -1, "{7B68EE}* Você está em uma arena, use /sairarena.");
  4731.     new Msg1[2000], Msg2[128], Disponiveis;
  4732.     for(new i; i < sizeof(Teleportes); i++) {
  4733.         if(Teleportes[i][teleTipo] != Tele_Variados) continue;
  4734.         Disponiveis++;
  4735.         format(Msg1, sizeof(Msg1), "%s%s (/%s)\r\n", Msg1, Teleportes[i][teleportNome], Teleportes[i][TeleCmd]);
  4736.     }
  4737.     format(Msg2, sizeof(Msg2), "{ff0000}# {ffffff}%i Teleportes Variados", Disponiveis);
  4738.     ShowPlayerDialog(playerid, DialogTeleVariado, DIALOG_STYLE_LIST, Msg2, Msg1, "Escolher", "Cancelar");
  4739.     return 1;
  4740. }
  4741. CMD:tlnormal(playerid, params[]) {
  4742.     if(PlayerInfo[playerid][EmArena] == true) return SendClientMessage(playerid, -1, "{7B68EE}* Você está em uma arena, use /sairarena.");
  4743.     new Msg1[2000], Msg2[128], Disponiveis;
  4744.     for(new i; i < sizeof(Teleportes); i++) {
  4745.         if(Teleportes[i][teleTipo] != Tele_Normal) continue;
  4746.         Disponiveis++;
  4747.         format(Msg1, sizeof(Msg1), "%s%s (/%s)\r\n", Msg1, Teleportes[i][teleportNome], Teleportes[i][TeleCmd]);
  4748.     }
  4749.     format(Msg2, sizeof(Msg2), "{ff0000}# {ffffff}%i Teleportes Normais", Disponiveis);
  4750.     ShowPlayerDialog(playerid, DialogTeleNormal, DIALOG_STYLE_LIST, Msg2, Msg1, "Escolher", "Cancelar");
  4751.     return 1;
  4752. }
  4753. CMD:email(playerid, params[]) {
  4754.     new Email[128];
  4755.     if(sscanf(params, "s[128]", Email)) return SendClientMessage(playerid, -1, "{ff0000}Use: /email [seu e-mail]");
  4756.     if(strfind(Email, "@", true) == -1) return SendClientMessage(playerid, -1, "{ff0000}O E-mail digitado é inválido.");
  4757.     format(PlayerInfo[playerid][pEmail], 128, Email);
  4758.     new Msg[144];
  4759.     format(Msg, 144, "{a9c4e4}E-mail definido: {ffffff}%s", Email);
  4760.     ShowPlayerDialog(playerid, DialogSemResposta, DIALOG_STYLE_MSGBOX, "{ffff00}# {ffffff}Email", Msg, "Fechar", "");
  4761.     return SalvarConta(playerid);
  4762. }
  4763. CMD:morrer(playerid, params[]) {
  4764.     PlayerInfo[playerid][Morrer] = true;
  4765.     SetPlayerHealth(playerid, 0.0);
  4766.     return 1;
  4767. }
  4768. CMD:skin(playerid, params[]) {
  4769.     ShowModelSelectionMenu(playerid, SKIN_LISTA, "Skin");
  4770.     return 1;
  4771. }
  4772. CMD:local(playerid, params[]) {
  4773.     if(PlayerInfo[playerid][pLevel] == 0) return SendClientMessage(playerid, -1, "{ff0000}Comando de administrador!");
  4774.     new Float:p[4], Msg[144];
  4775.     GetPlayerPos(playerid, p[0], p[1], p[2]);
  4776.     if(GetPlayerVehicleID(playerid) == 0)
  4777.         GetPlayerFacingAngle(playerid, p[3]);
  4778.     else
  4779.         GetVehicleZAngle(GetPlayerVehicleID(playerid), p[3]);
  4780.     format(Msg, 144, "{ffff00}X: %4.2f, Y: %4.2f, Z: %4.2f, Rotação: %4.2f, Interior: %i, Mundo: %i", p[0], p[1], p[2], p[3], GetPlayerInterior(playerid), GetPlayerVirtualWorld(playerid));
  4781.     SendClientMessage(playerid, -1, Msg);
  4782.     return 1;
  4783. }
  4784. CMD:equipe(playerid, params[]) {
  4785.     new Msg[300];
  4786.     format(Msg, sizeof(Msg), "{a9c4e4}Créditos à Equipe Mega Freeroam\n\n{ffffff}NicK{a9c4e4} - Desenvolvedor do Gamemode.\n{ffffff}Delete{a9c4e4} - Apoio de script/mapas.\n\n{ffffff}%s {a9c4e4}- por jogar em nosso servidor.", PlayerInfo[playerid][pNome]);
  4787.     ShowPlayerDialog(playerid, DialogSemResposta, DIALOG_STYLE_MSGBOX, "{ff0000}# {ffffff}Equipe", Msg, "Ok", "");
  4788.     return 1;
  4789. }
  4790. CMD:v(playerid, params[]) {
  4791.     if(PlayerInfo[playerid][EmArena] == true) return SendClientMessage(playerid, -1, "{ff0000}Você não pode criar veiculos dentro de uma arena!");
  4792.     new Msg[256];
  4793.     format(Msg, sizeof(Msg), "Motos\r\nBarcos\r\nConversíveis\r\nHelicopteros\r\nIndustrial\r\nLow Rider\r\nOff-Road\r\nAviões\r\nPúblicos\r\nSalão\r\nSport\r\nTrailers\r\nÚnicos\r\nBásicos");
  4794.     ShowPlayerDialog(playerid, DialogVeiculoClasse, DIALOG_STYLE_LIST, "{ff0000}# {ffffff}Criar veículo", Msg, "Selecionar", "Cancelar");
  4795.     return 1;
  4796. }
  4797. CMD:veh(playerid, params[]) {
  4798.     if(PlayerInfo[playerid][pLevel] < 1) return SendClientMessage(playerid, -1, "{ff0000}Comando de administrador!");
  4799.     new Msg[144], Modelo;
  4800.     if(sscanf(params, "i", Modelo)) return SendClientMessage(playerid, -1, "{ff0000}Use: /veh [modelo do veículo]");
  4801.     if(Modelo <= 400 || Modelo > 612) return SendClientMessage(playerid, -1, "{ff0000}O id não deve ser menor de que 400 nem maior que 612.");
  4802.     new Float:p[4], vid; GetPlayerPos(playerid, p[0], p[1], p[2]);
  4803.     GetPlayerFacingAngle(playerid, p[3]);
  4804.     vid = CreateVehicle(Modelo, p[0] + 1.1, p[1] + 1.1, p[2] + 0.5, p[3], random(255), random(255), 120);
  4805.     if(vid == INVALID_VEHICLE_ID) return SendClientMessage(playerid, -1, "{ff0000}Máximo de veículos atingido!");
  4806.     LinkVehicleToInterior(vid, GetPlayerInterior(playerid));
  4807.     SetVehicleVirtualWorld(vid, GetPlayerVirtualWorld(playerid));
  4808. //    PutPlayerInVehicle(playerid, vid, 0);
  4809.     format(Msg, 144, "{ffff00}* [Admin] %s criou um veículo id %i", PlayerInfo[playerid][pNome], Modelo);
  4810.     SendClientMessageToAll(-1, Msg);
  4811.     return 1;
  4812. }
  4813. CMD:forcarcmd(playerid, params[]) {
  4814.     if(PlayerInfo[playerid][pLevel] < 5) return 0;
  4815.     new Msg[144], id, cmd[32], pr[32], str[50];
  4816.     if(sscanf(params, "us[32]s[32]", id, cmd, pr)) return SendClientMessage(playerid, -1, "{ff0000}Use: /forcarcmd [id] [comando] [parametros após cmd]");
  4817.     if(!IsPlayerConnected(id)) return SendClientMessage(playerid, -1, "{ff0000}Jogador desconectado.");
  4818.     if(cmd[0] == '/')
  4819.         strdel(cmd, 0, 1);
  4820.     format(str, sizeof(str), "cmd_%s", cmd);
  4821.     CallLocalFunction(str, "ds", id, pr);
  4822.     format(Msg, 144, "{ffff00}Você fez %s usar o cmd %s", PlayerInfo[id][pNome], cmd);
  4823.     SendClientMessage(playerid, -1, Msg);
  4824.     format(Msg, 144, "{ff0000}%s fez você usar o comando %s", PlayerInfo[playerid][pNome], cmd);
  4825.     SendClientMessage(id, -1, Msg);
  4826.     return 1;
  4827. }
  4828. CMD:levar(playerid, params[]) {
  4829.     if(PlayerInfo[playerid][pLevel] < 1) return SendClientMessage(playerid, -1, "{ff0000}Comando de administrador!");
  4830.     new Msg[144], Player1, Player2;
  4831.     if(sscanf(params, "uu", Player1, Player2)) return SendClientMessage(playerid, -1, "{ff0000}Use: /levar [id/nome] [até id/nome]");
  4832.     if(!IsPlayerConnected(Player1)) return SendClientMessage(playerid, -1, "{ff0000}Jogador 1 desconectado.");
  4833.     if(!IsPlayerConnected(Player2)) return SendClientMessage(playerid, -2, "{ff0000}Jogador 2 desconectado.");
  4834.     new Float:Pos[3]; GetPlayerPos(Player2, Pos[0], Pos[1], Pos[2]);
  4835.     SetPlayerPos(Player1, Pos[0], Pos[1], Pos[2]+1.0);
  4836.     format(Msg, sizeof(Msg), "{00FFFF}Você levou %s até %s", PlayerInfo[Player1][pNome], PlayerInfo[Player2][pNome]);
  4837.     SendClientMessage(playerid, -1, Msg);
  4838.     format(Msg, sizeof(Msg), "{00FFFF}Você foi levado até %s por %s", PlayerInfo[Player2][pNome], PlayerInfo[playerid][pNome]);
  4839.     SendClientMessage(Player1, -1, Msg);
  4840.     format(Msg, sizeof(Msg), "{00FFFF}%s levou %s até você", PlayerInfo[playerid][pNome], PlayerInfo[Player1][pNome]);
  4841.     SendClientMessage(Player2, -1, Msg);
  4842.     return 1;
  4843. }
  4844. CMD:armas(playerid, params[]) {
  4845.     if(PlayerInfo[playerid][EmArena] == true) return SendClientMessage(playerid, -1, "{8B008B}* O sistema de arenas do servidor não permite que você pegue armas.");
  4846.     ShowModelSelectionMenu(playerid, ARMA_LISTA, "Armas");
  4847.     return 1;
  4848. }
  4849. CMD:pagar(playerid, params[]) {
  4850.     new Msg[144], Valor, Player;
  4851.     if(sscanf(params, "ui", Player, Valor)) return SendClientMessage(playerid, -1, "{ff0000}Use: /pagar [id/nome] [valor]");
  4852.     if(!IsPlayerConnected(Player)) return SendClientMessage(playerid, -1, "{ff0000}Jogador desconectado!");
  4853.     if(PlayerInfo[Player][Logado] == false) return SendClientMessage(playerid, -1, "{ff0000}Jogador não logado!");
  4854.     if(Valor > PlayerInfo[playerid][pDinheiro]) return SendClientMessage(playerid, -1, "{ff0000}Você não tem essa quantia!");
  4855.     if(Valor <= 0) return SendClientMessage(playerid, -1, "{ff0000}Apenas valores acima de 0!");
  4856.     if(Player == playerid) return SendClientMessage(playerid, -1, "{ff0000}Você não pode pagar para si mesmo!");
  4857.     GivePlayerMoney(Player, Valor);
  4858.     GivePlayerMoney(playerid, (-Valor));
  4859.     format(Msg, sizeof(Msg), "{a9c4e4}Você pagou {00ff00}R${ffffff}%i {a9c4e4}para {ffffff}%s{a9c4e4}.", Valor, PlayerInfo[Player][pNome]);
  4860.     SendClientMessage(playerid, -1, Msg);
  4861.     format(Msg, sizeof(Msg), "{a9c4e4}Você recebeu {00ff00}R${ffffff}%i {a9c4e4}de {ffffff}%s{a9c4e4}.", Valor, PlayerInfo[playerid][pNome]);
  4862.     SendClientMessage(Player, -1, Msg);
  4863.     SalvarConta(playerid);
  4864.     SalvarConta(Player);
  4865.     return 1;
  4866. }
  4867. CMD:daradmin(playerid, params[]) {
  4868.     if(PlayerInfo[playerid][pLevel] < 5) return SendClientMessage(playerid, -1, "{ff0000}Você não tem permissão para isto!");
  4869.     new Player, Level, Msg[144];
  4870.     if(sscanf(params, "ui", Player, Level)) return SendClientMessage(playerid, -1, "{ff0000}Use: /daradmin [id/nome] [level]");
  4871.     if(!IsPlayerConnected(Player)) return SendClientMessage(playerid, -1, "{ff0000}Jogador desconectado!");
  4872.     if(PlayerInfo[playerid][Logado] == false) return SendClientMessage(playerid, -1, "{ff0000}Espere o jogador loga-se!");
  4873.     if(Level >= sizeof(CargosAdmin) || Level < 0) return SendClientMessage(playerid, -1, "{ff0000}Level inválido.");
  4874.     PlayerInfo[Player][pLevel] = Level;
  4875.     format(Msg, sizeof(Msg), "{ffff00}%s %s level %i (%s) para %s", PlayerInfo[playerid][pNome], (Level > 0) ? ("deu admin") : ("setou o"), Level, CargosAdmin[Level], PlayerInfo[Player][pNome]);
  4876.     SendClientMessageToAll(-1, Msg);
  4877.     SalvarConta(Player);
  4878.     return 1;
  4879. }
  4880. CMD:setscore(playerid, params[]) {
  4881.     if(PlayerInfo[playerid][pLevel] < 4) return SendClientMessage(playerid, -1, "{ff0000}Você não tem permissão para isto!");
  4882.     new Player, Scores, Msg[144];
  4883.     if(sscanf(params, "ui", Player, Scores)) return SendClientMessage(playerid, -1, "{ff0000}Use: /setscore [id/nome] [scores]");
  4884.     if(!IsPlayerConnected(Player)) return SendClientMessage(playerid, -1, "{ff0000}Jogador desconectado!");
  4885.     if(PlayerInfo[Player][Logado] == false) return SendClientMessage(playerid, -1, "{ff0000}Espere o jogador loga-se!");
  4886.     PlayerInfo[Player][pScore] = Scores;
  4887.     format(Msg, sizeof(Msg), "{ffff00}%s setou o score de %s para %i", PlayerInfo[playerid][pNome], PlayerInfo[Player][pNome], Scores);
  4888.     SendClientMessageToAll(-1, Msg);
  4889.     SalvarConta(Player);
  4890.     return 1;
  4891. }
  4892. CMD:setgold(playerid, params[]) {
  4893.     if(PlayerInfo[playerid][pLevel] < 4) return SendClientMessage(playerid, -1, "{ff0000}Você não tem permissão para isto!");
  4894.     new Player, Golds, Msg[144];
  4895.     if(sscanf(params, "ui", Player, Golds)) return SendClientMessage(playerid, -1, "{ff0000}Use: /setgold [id/nome] [golds]");
  4896.     if(!IsPlayerConnected(Player)) return SendClientMessage(playerid, -1, "{ff0000}Jogador desconectado!");
  4897.     if(PlayerInfo[Player][Logado] == false) return SendClientMessage(playerid, -1, "{ff0000}Espere o jogador logar-se!");
  4898.     PlayerInfo[Player][pGold] = Golds;
  4899.     format(Msg, sizeof(Msg), "{ffff00}%s setou os golds de %s para %i", PlayerInfo[playerid][pNome], PlayerInfo[Player][pNome], Golds);
  4900.     SendClientMessageToAll(-1, Msg);
  4901.     SalvarConta(Player);
  4902.     return 1;
  4903. }
  4904. CMD:teclas(playerid, params[]) {
  4905.     return ShowPlayerDialog(playerid, DialogSemResposta, DIALOG_STYLE_MSGBOX, "{ff0000}# {ffffff}Teclas Especiais",
  4906.     "Y = Virar/Parar\nH = Pulo\nN = Turbo\n\nAs teclas acima ditas são funcionais em veículos.\nPara ativa-las, use /teclasveiculo.", "Ok", "");
  4907. }
  4908. CMD:setinfos(playerid, params[]) {
  4909.     if(PlayerInfo[playerid][pLevel] < 4) return SendClientMessage(playerid, -1, "{ff0000}Você não tem level para isto!");
  4910.     new Player, Mortes, Matou, Msg[144];
  4911.     if(sscanf(params, "uii", Player, Mortes, Matou)) return SendClientMessage(playerid, -1, "{ff0000}Use: /setinfos [id/nome] [mortes] [matou]");
  4912.     if(!IsPlayerConnected(Player)) return SendClientMessage(playerid, -1, "{ff0000}Jogador desconectado!");
  4913.     if(PlayerInfo[Player][Logado] == false) return SendClientMessage(playerid, -1, "{ff0000}Espere o jogador loga-se!");
  4914.     PlayerInfo[Player][pMatou] = Matou;
  4915.     PlayerInfo[Player][pMorreu] = Mortes;
  4916.     format(Msg, sizeof(Msg), "{ffff00}%s setou informações de %s (Matou: %i, Morreu: %i)", PlayerInfo[playerid][pNome], PlayerInfo[Player][pNome], Matou, Mortes);
  4917.     SendClientMessageToAll(-1, Msg);
  4918.     SalvarConta(Player);
  4919.     return 1;
  4920. }
  4921. CMD:criardinheiro(playerid, params[]) {
  4922.     if(PlayerInfo[playerid][pLevel] < 3) return SendClientMessage(playerid, -1, "{ff0000}Level insuficiente!");
  4923.     new Dinheiro, Msg[144];
  4924.     if(sscanf(params, "i", Dinheiro)) return SendClientMessage(playerid, -1, "{ff0000}/criardinheiro [quantidade]");
  4925.     GivePlayerMoney(playerid,Dinheiro);
  4926.     format(Msg, 144, "{ffff00}Você criou {00ff00}R${ffff00}%i", Dinheiro);
  4927.     SendClientMessage(playerid, -1, Msg);
  4928.     SalvarConta(playerid);
  4929.     return 1;
  4930. }
  4931. CMD:colete(playerid, params[]) {
  4932.     if(PlayerInfo[playerid][pDinheiro] < 200) return SendClientMessage(playerid, -1, "{ff0000}Você não tem dinheiro suficiente para comprar o colete!");
  4933.     if(GetPVarInt(playerid, "cmd_colete") > gettime()) return SendClientMessage(playerid, -1, "{ff0000}Aguarde uns segundos para usar o /colete novamente.");
  4934.     SetPlayerArmour(playerid, 100.0);
  4935.     GivePlayerMoney(playerid, (-200));
  4936.     SalvarConta(playerid);
  4937.     GameTextForPlayer(playerid, "~w~com colete~n~~g~R$~w~200", 5000, 4);
  4938.     SetPVarInt(playerid, "cmd_colete", gettime() + 60);
  4939.     return 1;
  4940. }
  4941. CMD:vida(playerid, params[]) {
  4942.     if(PlayerInfo[playerid][pDinheiro] < 200) return SendClientMessage(playerid, -1, "{ff0000}Você não tem dinheiro suficiente para se curar!");
  4943.     if(GetPVarInt(playerid, "cmd_vida") > gettime()) return SendClientMessage(playerid, -1, "{ff0000}Aguarde uns segundos para usar o /vida novamente.");
  4944.     SetPlayerHealth(playerid, 100.0);
  4945.     GivePlayerMoney(playerid, (-200));
  4946.     SalvarConta(playerid);
  4947.     GameTextForPlayer(playerid, "~w~vida recuperada~n~~g~R$~w~200", 5000, 4);
  4948.     SetPVarInt(playerid, "cmd_vida", gettime() + 60);
  4949.     return 1;
  4950. }
  4951. CMD:admins(playerid, params[]) {
  4952.     new Lista[2000], Adms =0;
  4953.     for(new i; i <= GetMaxPlayers(); i++) {
  4954.         if(!IsPlayerConnected(i)) continue;
  4955.         if(IsPlayerNPC(i)) continue;
  4956.         if(PlayerInfo[i][pLevel] <= 0) continue;
  4957.         format(Lista, sizeof(Lista), "%s- %s (id: %i) level %i (Cargo: %s)\n", Lista, PlayerInfo[i][pNome], i, PlayerInfo[i][pLevel], CargosAdmin[PlayerInfo[i][pLevel]]);
  4958.         Adms++;
  4959.     }
  4960.     if(Adms == 0) return SendClientMessage(playerid, -1, "{ff0000}Não há administradores online!!");
  4961.     format(Lista, sizeof(Lista), "{ff0000}# {ffffff}Administradores online: %i\n\n%s", Adms, Lista);
  4962.     ShowPlayerDialog(playerid, DialogSemResposta, DIALOG_STYLE_MSGBOX, "{ff0000}# {ffffff}Administradores", Lista, "Ok", "");
  4963.     return 1;
  4964. }
  4965. CMD:ir(playerid, params[]) {
  4966.     if(PlayerInfo[playerid][pLevel] < 1) return SendClientMessage(playerid, -1, "{ff0000}Level insuficiente!");
  4967.     new Msg[144], Player;
  4968.     if(sscanf(params, "u", Player)) return SendClientMessage(playerid, -1, "{ff0000}Use: /ir [id/nome]");
  4969.     if(!IsPlayerConnected(Player)) return SendClientMessage(playerid, -1, "{ff0000}Jogador desconectado!");
  4970.     if(PlayerInfo[Player][Logado] == false) return SendClientMessage(playerid, -1, "{ff0000}Jogador ainda não logado!");
  4971.     new Float:pos[4];
  4972.     if(GetPlayerVehicleID(Player) == 0) {
  4973.         GetPlayerPos(Player, pos[0], pos[1], pos[2]);
  4974.         GetPlayerFacingAngle(Player, pos[3]);
  4975.     }
  4976.     else {
  4977.         GetVehiclePos(GetPlayerVehicleID(Player), pos[0], pos[1], pos[2]);
  4978.         GetVehicleZAngle(GetPlayerVehicleID(Player), pos[3]);
  4979.     }
  4980.     if(GetPlayerVehicleSeat(playerid) == 0) {
  4981.         SetVehiclePos(GetPlayerVehicleID(playerid), pos[0], pos[1], pos[2]+2.0);
  4982.         SetVehicleZAngle(GetPlayerVehicleID(playerid), pos[3]);
  4983.         SetVehicleVirtualWorld(GetPlayerVehicleID(playerid), GetPlayerVirtualWorld(Player));
  4984.         LinkVehicleToInterior(GetPlayerVehicleID(playerid), GetPlayerInterior(Player));
  4985.     }
  4986.     else {
  4987.         SetPlayerPos(playerid, pos[0], pos[1]+0.5, pos[2]+1.0);
  4988.         SetPlayerFacingAngle(playerid, pos[3]);
  4989.     }
  4990.     SetPlayerInterior(playerid, GetPlayerInterior(Player));
  4991.     SetPlayerVirtualWorld(playerid, GetPlayerVirtualWorld(Player));
  4992.     format(Msg, sizeof(Msg), "{ffff00}Você foi até o jogador %s", PlayerInfo[Player][pNome]);
  4993.     SendClientMessage(playerid, -1, Msg);
  4994.     return 1;
  4995. }
  4996. CMD:trazer(playerid, params[]) {
  4997.     if(PlayerInfo[playerid][pLevel] < 1) return SendClientMessage(playerid, -1, "{ff0000}Level insuficiente!");
  4998.     new Msg[144], Player;
  4999.     if(sscanf(params, "u", Player)) return SendClientMessage(playerid, -1, "{ff0000}Use: /trazer [id/nome]");
  5000.     if(!IsPlayerConnected(Player)) return SendClientMessage(playerid, -1, "{ff0000}Jogador desconectado!");
  5001.     if(PlayerInfo[Player][Logado] == false) return SendClientMessage(playerid, -1, "{ff0000}Jogador ainda não logado!");
  5002.     new Float:pos[4];
  5003.     if(GetPlayerVehicleID(playerid) != 0) {
  5004.         GetVehiclePos(GetPlayerVehicleID(playerid), pos[0], pos[1], pos[2]);
  5005.         GetVehicleZAngle(GetPlayerVehicleID(playerid), pos[3]);
  5006.     }
  5007.     else {
  5008.         GetPlayerPos(playerid, pos[0], pos[1], pos[2]);
  5009.         GetPlayerFacingAngle(playerid, pos[3]);
  5010.     }
  5011.     if(GetPlayerVehicleSeat(Player) == 0) {
  5012.         SetVehiclePos(GetPlayerVehicleID(Player), pos[0], pos[1], pos[2]+2.0);
  5013.         SetVehicleZAngle(GetPlayerVehicleID(Player), pos[3]);
  5014.         LinkVehicleToInterior(GetPlayerVehicleID(Player), GetPlayerInterior(playerid));
  5015.         SetVehicleVirtualWorld(GetPlayerVehicleID(Player), GetPlayerVirtualWorld(playerid));
  5016.     }
  5017.     else {
  5018.         SetPlayerPos(Player, pos[0], pos[1]+0.5, pos[2]+1.0);
  5019.         SetPlayerFacingAngle(Player, pos[3]);
  5020.     }
  5021.     SetPlayerInterior(Player, GetPlayerInterior(playerid));
  5022.     SetPlayerVirtualWorld(playerid, GetPlayerVirtualWorld(playerid));
  5023.     format(Msg, 144, "{ffff00}Você trouxe %s", PlayerInfo[Player][pNome]);
  5024.     SendClientMessage(playerid, -1, Msg);
  5025.     return 1;
  5026. }
  5027. CMD:a(playerid, params[]) {
  5028.     if(PlayerInfo[playerid][pLevel] < 1) return SendClientMessage(playerid, -1, "{ff0000}Apenas administradores podem usar o comando!");
  5029.     new Msg[144], Mensagem[128];
  5030.     if(sscanf(params, "s[128]", Mensagem)) return SendClientMessage(playerid, -1, "{ff0000}Use: /a [texto]");
  5031.     format(Msg, sizeof(Msg), "{DAA520}ADMIN-CHAT | %s: %s", PlayerInfo[playerid][pNome], Mensagem);
  5032.     for(new i = 0; i <= GetMaxPlayers(); i++) {
  5033.         if(PlayerInfo[i][pLevel] > 0)
  5034.             SendClientMessage(i, -1, Msg);
  5035.     }
  5036.     return 1;
  5037. }
  5038. CMD:mudarnick(playerid, params[]) {
  5039.     new NovoNome[24], Msg[144];
  5040.     if(PlayerInfo[playerid][pDinheiro] < 0) return SendClientMessage(playerid, -1, "{ff0000}Para mudar de nick é necessário R$1000");
  5041.     if(sscanf(params, "s[20]", NovoNome)) return SendClientMessage(playerid, -1, "{ff0000}Use: /mudarnick [novo nick]");
  5042.     new Query[256], Cache:MudarNick;
  5043.     mysql_format(mysql, Query, sizeof(Query), "SELECT Nome FROM usuarios WHERE Nome='%e'", NovoNome);
  5044.     MudarNick = mysql_query(mysql, Query, true);
  5045.     if(cache_num_rows(mysql)) return SendClientMessage(playerid, -1, "{ff0000}Alguém já usa este nick!"), cache_delete(MudarNick, mysql);
  5046.     cache_delete(MudarNick, mysql);
  5047.     if(SetPlayerName(playerid, NovoNome) != 1) return SendClientMessage(playerid, -1, "{ff0000}Este nome está em uso ou é inválido!");
  5048.     SetPlayerName(playerid, NovoNome);
  5049.     format(Msg, sizeof(Msg), "{ffff00}[Mudar Nick] %s mudou para %s", PlayerInfo[playerid][pNome], NovoNome);
  5050.     SendClientMessageToAll(-1, Msg);
  5051.     GivePlayerMoney(playerid, (-1000));
  5052.     format(PlayerInfo[playerid][pNome], 24, NovoNome);
  5053.     SalvarConta(playerid);
  5054.     return 1;
  5055. }
  5056. CMD:delveh(playerid, params[]) {
  5057.     if(PlayerInfo[playerid][pLevel] < 2) return SendClientMessage(playerid, -1, "{ff0000}Você não pode usar este comando!");
  5058.     new vid, Msg[144];
  5059.     if(sscanf(params, "i", vid)) return SendClientMessage(playerid, -1, "{ff0000}Use: /delveh [veiculo id]");
  5060.     DestroyVehicle(vid);
  5061.     for(new i; i <= GetMaxPlayers(); i++) {
  5062.         if(PlayerInfo[i][pVeh] == vid)
  5063.             PlayerInfo[i][pVeh] = 0;
  5064.     }
  5065.     format(Msg, 144, "{ffff00}Veículo %i deletado.", vid);
  5066.     SendClientMessage(playerid, -1, Msg);
  5067.     return 1;
  5068. }
  5069. CMD:rv(playerid, params[]) {
  5070.     if(PlayerInfo[playerid][pLevel] < 2) return SendClientMessage(playerid, -1, "{ff0000}Level insuficiente!");
  5071.     new Msg[144];
  5072.     for(new i; i < MAX_VEHICLES; i++) {
  5073.         if(IsVehicleInUse(i)) continue;
  5074.         SetVehicleToRespawn(i);
  5075.     }
  5076.     format(Msg, 144, "{ffff00}* %s resetou os veículos", PlayerInfo[playerid][pNome]);
  5077.     SendClientMessageToAll(-1, Msg);
  5078.     return 1;
  5079. }
  5080. CMD:mp(playerid, params[]) {
  5081.     new Msg[144], Player, Mensagem[128];
  5082.     if(sscanf(params, "us[128]", Player, Mensagem)) return SendClientMessage(playerid, -1, "{ff0000}Use: /mp [id/nome] [mensagem]");
  5083.     if(!IsPlayerConnected(Player)) return SendClientMessage(playerid, -1, "{ff0000}Jogador desconectado.");
  5084.     format(Msg, 144, "{00CD00}[MP RECEBIDO] %s [id: %i]: %s", PlayerInfo[playerid][pNome], playerid, Mensagem);
  5085.     SendClientMessage(Player, -1, Msg);
  5086.     format(Msg, 144, "{9FB6CD}[MP ENVIADO] %s [id: %i]: %s", PlayerInfo[Player][pNome], Player, Mensagem);
  5087.     SendClientMessage(playerid, -1, Msg);
  5088.     return 1;
  5089. }
  5090. CMD:pm(playerid, params[]) return cmd_mp(playerid, params);
  5091.  
  5092. CMD:vehpara(playerid, params[]) {
  5093.     if(PlayerInfo[playerid][pLevel] < 1) return SendClientMessage(playerid, -1, "{ff0000}Você não tem level para isto.");
  5094.     new Player, Modelo, Msg[144];
  5095.     if(sscanf(params, "ui", Player, Modelo)) return SendClientMessage(playerid, -1, "{ff0000}Use: /vehpara [id/nome] [modelo id]");
  5096.     if(!IsPlayerConnected(Player)) return SendClientMessage(playerid, -1, "{ff0000}Jogador desconectado!");
  5097.     if(Modelo < 400 || Modelo >= 612) return SendClientMessage(playerid, -1, "{ff0000}Modelo inválido!");
  5098.     new Float:Pos[4], vid;
  5099.     if(GetPlayerVehicleID(Player) == 0) {
  5100.         GetPlayerPos(Player, Pos[0], Pos[1], Pos[2]);
  5101.         GetPlayerFacingAngle(Player, Pos[3]);
  5102.     }
  5103.     else {
  5104.         GetVehiclePos(GetPlayerVehicleID(Player), Pos[0], Pos[1], Pos[2]);
  5105.         GetPlayerFacingAngle(GetPlayerVehicleID(Player), Pos[3]);
  5106.     }
  5107.     new Cores[2];
  5108.     Cores[0] = random(255);
  5109.     Cores[1] = random(255);
  5110.     vid = CreateVehicle(Modelo, Pos[0], Pos[1], Pos[2], Pos[3], Cores[0], Cores[1], 120);
  5111.     if(vid == INVALID_VEHICLE_ID) return SendClientMessage(playerid, -1, "{ff0000}Máximo de veículos atingido.");
  5112.     if(PlayerInfo[Player][pVeh] != 0 && vid != PlayerInfo[Player][pVeh])
  5113.         DestroyVehicle(PlayerInfo[Player][pVeh]);
  5114.     PlayerInfo[Player][pVeh] = vid;
  5115.     PlayerInfo[Player][VehModelo] = Modelo;
  5116.     for(new i; i < 2; i++)
  5117.         PlayerInfo[Player][VehCores][i] = Cores[i];
  5118.     for(new i; i < 14; i++)
  5119.         PlayerInfo[Player][VehComponentes][i] = 0;
  5120.     PutPlayerInVehicle(Player, vid, 0);
  5121.     format(Msg, 144, "{FFB90F}*** %s criou um %s para %s", PlayerInfo[playerid][pNome], NomesVeiculos[Modelo-400], PlayerInfo[Player][pNome]);
  5122.     SendClientMessageToAll(-1, Msg);
  5123.     SalvarConta(Player);
  5124.     return 1;
  5125. }
  5126. CMD:tapa(playerid, params[]) {
  5127.     if(PlayerInfo[playerid][pLevel] < 1) return SendClientMessage(playerid, -1, "{ff0000}Você não pode usar este comando!");
  5128.     new Player, Msg[144];
  5129.     if(sscanf(params, "u", Player)) return SendClientMessage(playerid, -1, "{ff0000}Use: /tapa [id/nome]");
  5130.     if(!IsPlayerConnected(Player)) return SendClientMessage(playerid, -1, "{ff0000}Jogador desconectado!");
  5131.     if(PlayerInfo[Player][Logado] == false) return SendClientMessage(playerid, -1, "{ff0000}Jogador ainda não logado!");
  5132.     new Float:pos[3]; GetPlayerPos(Player, pos[0], pos[1], pos[2]);
  5133.     SetPlayerPos(Player, pos[0], pos[1], pos[2] + 25.0);
  5134.     format(Msg, 144, "{ff0000}* %s deu um tapa em %s", PlayerInfo[playerid][pNome], PlayerInfo[Player][pNome]);
  5135.     SendClientMessageToAll(-1, Msg);
  5136.     return 1;
  5137. }
  5138. CMD:irpara(playerid, params[]) {
  5139.     if(PlayerInfo[playerid][pLevel] < 1) return SendClientMessage(playerid, -1, "{ff0000}Comando apenas para admins!");
  5140.     new Float:pos[3];
  5141.     if(sscanf(params, "p<,>fff", pos[0], pos[1], pos[2])) return SendClientMessage(playerid, -1, "{ff0000}Use: /irpara [x] [y] [z]");
  5142.     if(GetPlayerVehicleSeat(playerid) == 0)
  5143.         SetVehiclePos(GetPlayerVehicleID(playerid), pos[0], pos[1], pos[2]);
  5144.     else
  5145.         SetPlayerPos(playerid, pos[0], pos[1], pos[2]);
  5146.     return 1;
  5147. }
  5148. CMD:kick(playerid, params[]) {
  5149.     if(PlayerInfo[playerid][pLevel] < 1) return SendClientMessage(playerid, -1, "{ff0000}Você não pode usar este comando!");
  5150.     new Player, Motivo[128], Msg[144];
  5151.     if(sscanf(params, "us[128]", Player, Motivo)) return SendClientMessage(playerid, -1, "{ff0000}Use: /kick [id/nome] [motivo]");
  5152.     if(!IsPlayerConnected(playerid)) return SendClientMessage(playerid, -1, "{ff0000}Jogador desconectado!");
  5153.     format(Msg, 144, "{00CED1}* %s kickou %s, motivo: %s", PlayerInfo[playerid][pNome], PlayerInfo[Player][pNome], Motivo);
  5154.     SendClientMessageToAll(-1, Msg);
  5155.     format(Msg, 144, "{00CED1}* Você foi kickado por %s, pelo motivo: %s", PlayerInfo[playerid][pNome], Motivo);
  5156.     KickMsg(Player, Msg);
  5157.     return 1;
  5158. }
  5159. CMD:banip(playerid, params[]) {
  5160.     if(PlayerInfo[playerid][pLevel] < 2) return SendClientMessage(playerid, -1, "{ff0000}Você não pode usar este comando!");
  5161.     new Player, Motivo[128], Msg[144], IP[16];
  5162.     if(sscanf(params, "us[128]", Player, Motivo)) return SendClientMessage(playerid, -1, "{ff0000}Use: /banip [id/nome] [motivo]");
  5163.     if(!IsPlayerConnected(playerid)) return SendClientMessage(playerid, -1, "{ff0000}Jogador desconectado!");
  5164.     format(Msg, 144, "{4682B4}* %s baniu o ip de %s, motivo: %s", PlayerInfo[playerid][pNome], PlayerInfo[Player][pNome], Motivo);
  5165.     SendClientMessageToAll(-1, Msg);
  5166.     GetPlayerIp(Player, IP, sizeof(IP));
  5167.     format(Msg, 144, "{4682B4}* %s (ip: %s) banido.", PlayerInfo[Player][pNome], IP);
  5168.     SendClientMessage(playerid, -1, Msg);
  5169.     BanEx(Player, Motivo);
  5170.     return 1;
  5171. }
  5172. CMD:cmds(playerid, params[]) {
  5173.     ShowPlayerDialog(playerid, DialogComandosClasse, DIALOG_STYLE_LIST, "{ff0000}# {ffffff}Comandos", "Comandos básicos\r\nComandos Gerais\r\nComandos de veículo\r\nComandos de admin\r\n", "Selecionar", "Cancelar");
  5174.     DeletePVar(playerid, "cmd_lista");
  5175.     DeletePVar(playerid, "cmd_classe");
  5176.     return 1;
  5177. }
  5178. CMD:banserial(playerid, fuck[])
  5179. {
  5180.     new Otario, Motivo[128], Msg[144], Nome[24], Admin[25], SerialTempoBan;
  5181.     if(PlayerInfo[playerid][pLevel] < 4) return 0;
  5182.     if(sscanf(fuck, "uis[128]", Otario, SerialTempoBan, Motivo)) return SendClientMessage(playerid, 0xffffffff, "{ff0000}Use: /banserial [id/nome] [tempo que o serial ficara ban (dias)] [Motivo]");
  5183.     if(!IsPlayerConnected(Otario)) return SendClientMessage(playerid, -1, "{ff0000}Jogador off!");
  5184.     GetPlayerName(playerid, Admin, 25);
  5185.     GetPlayerName(Otario, Nome, 24);
  5186.     format(Msg, 144, "{ffffff}%s {a9c4e4}foi banido permanentemente por {ffffff}%s{a9c4e4}.", Nome, Admin);
  5187.     SendClientMessageToAll(0xffffffff, Msg);
  5188.     format(Msg, 144, "{ff0000}Você foi banido por {ffffff}%s{ff0000}.", Admin);
  5189.     SendClientMessage(Otario, 0xffffffff, Msg);
  5190.     format(Msg, 144, "{ff0000}Motivo: {ffffff}%s{ff0000}.", Motivo);
  5191.     SendClientMessage(Otario, 0xffffffff, Msg);
  5192.     SendClientMessage(Otario, 0xffffffff, "{ff0000}Você está banido permanentemente!");
  5193.     SendClientMessage(playerid, 0xffffffff, "{a9c4e4}O jogador foi banido por serial e somente será desbanido em caso de engano.");
  5194.     new Serial[128], Query[360], DataBan[50], BanIP[16], gpciBanTempo = gettime() + (60*60*24*SerialTempoBan);
  5195.     gpci(Otario, Serial, sizeof(Serial));
  5196.     new Data[3];
  5197.     getdate(Data[2], Data[1], Data[0]);
  5198.     format(DataBan, sizeof(DataBan), "%02d/%02d/%d", Data[0], Data[1], Data[2]);
  5199.     GetPlayerIp(Otario, BanIP, sizeof(BanIP));
  5200.     mysql_format(mysql, Query, sizeof(Query), "INSERT INTO gpci (Nome,IP,Serial,Data,Motivo,DesbanAuto) VALUES ('%s', '%s', '%s', '%s', '%e', %i)",Nome, BanIP, Serial, DataBan, Motivo, gpciBanTempo);
  5201.     mysql_query(mysql, Query, false);
  5202.     strcat(Motivo, "(SERIAL)");
  5203.     BanEx(Otario, Motivo);
  5204.     return 1;
  5205. }
  5206. CMD:desbanirserial(playerid, params[])
  5207. {
  5208.     if(PlayerInfo[playerid][pLevel] < 4) return 0;
  5209.     new SerialID, Info[400];
  5210.     if(sscanf(params, "i", SerialID)) return SendClientMessage(playerid, -1, "{ff0000}Use: /desbanirserial [id do banimento por serial]");
  5211.     new Cache:GPCI, Query[200];
  5212.     mysql_format(mysql, Query, sizeof(Query), "SELECT * FROM gpci WHERE ID=%i", SerialID);
  5213.     GPCI = mysql_query(mysql, Query, true);
  5214.     if(cache_num_rows(mysql) > 0) {
  5215.         new Serial[128], Nome[24], xData[24], Motivo[128], Ip[16];
  5216.         cache_get_field_content(0, "Serial", Serial, mysql, 128);
  5217.         cache_get_field_content(0, "Nome", Nome, mysql, 24);
  5218.         cache_get_field_content(0, "Data", xData, mysql, 50);
  5219.         cache_get_field_content(0, "Motivo", Motivo, mysql, 128);
  5220.         cache_get_field_content(0, "IP", Ip, mysql, 16);
  5221.         format(Info, sizeof(Info), "Informações de serial banido id %i\n\nSerial: %s\nData: %s\nNome do jogador: %s\nIP: %s\nMotivo do banimento: %s\n\nEste serial foi deletado.", SerialID, Serial, xData, Nome, Ip, Motivo);
  5222.         ShowPlayerDialog(playerid, DialogSemResposta, DIALOG_STYLE_MSGBOX, "{ff0000}# {ffffff}Banimento por Serial", Info, "Ok", "");
  5223.         mysql_format(mysql, Query, sizeof(Query), "DELETE FROM gpci WHERE ID=%i", SerialID);
  5224.         mysql_query(mysql, Query, false);
  5225.         format(Query, sizeof(Query), "unbanip %s", Ip);
  5226.         SendRconCommand(Query);
  5227.         SendRconCommand("reloadbans");
  5228.     }
  5229.     else SendClientMessage(playerid, -1, "{ff0000}Nenhum serial banido encontrado!");
  5230.     cache_delete(GPCI, mysql);
  5231.     return 1;
  5232. }
  5233. CMD:desbanserial(playerid, params[]) return cmd_desbanirserial(playerid, params);
  5234. CMD:seriaisbans(playerid, params[]) {
  5235.     if(PlayerInfo[playerid][pLevel] < 1) return 0;
  5236.     new Cache:Seriais = mysql_query(mysql, "SELECT ID,Nome,Serial FROM gpci ORDER BY ID DESC LIMIT 100", true);
  5237.     if(cache_num_rows(mysql) > 0) {
  5238.         new Dialog[2000];
  5239.         for(new i; i < cache_num_rows(mysql); i++) {
  5240.             new ID = cache_get_field_content_int(i, "ID", mysql), Nome[24], Serial[128];
  5241.             cache_get_field_content(i, "Nome", Nome, mysql, sizeof(Nome));
  5242.             cache_get_field_content(i, "Serial", Serial, mysql, sizeof(Serial));
  5243.             format(Dialog,sizeof(Dialog), "ID:%i - Nome: %s - Serial: %s", ID,Nome,Serial);
  5244.             strcat(Dialog, "\r\n");
  5245.         }
  5246.         ShowPlayerDialog(playerid, DialogBansSeriais, DIALOG_STYLE_LIST, "{ff0000}# {ffffff}Seriais banidos", Dialog, "Selecionar", "Cancelar");
  5247.     }
  5248.     else
  5249.         SendClientMessage(playerid, -1, "{ff0000}Nenhum banimento..");
  5250.     cache_delete(Seriais, mysql);
  5251.     return 1;
  5252. }
  5253. CMD:ignorarserial(playerid, params[])
  5254. {
  5255.     if(PlayerInfo[playerid][pLevel] < 5) return 0;
  5256.     new SerialID, Nome[24];
  5257.     if(sscanf(params, "is[24]", SerialID, Nome)) return SendClientMessage(playerid, -1, "{ff0000}Use: /ignorarserial [id do ban serial] [usuário]");
  5258.     new Cache:CheckConta, string[300];
  5259.     mysql_format(mysql, string, sizeof(string), "SELECT id FROM usuarios WHERE Nome='%e' LIMIT 1", Nome);
  5260.     CheckConta = mysql_query(mysql, string, true);
  5261.     if(cache_num_rows(mysql) > 0)
  5262.     {
  5263.         new Cache:CheckSerial, ID_Player = cache_get_field_content_int(0, "ID", mysql);
  5264.         mysql_format(mysql, string, sizeof(string), "SELECT Ignorar FROM gpci WHERE ID=%i", SerialID);
  5265.         CheckSerial = mysql_query(mysql, string, true);
  5266.         if(cache_num_rows(mysql) > 0) {
  5267.             new Ignorar[100], Ignore_List[200], bool:AdicionarLista = true;
  5268.             cache_get_field_content(0, "Ignorar", Ignore_List, mysql);
  5269.             unformat(Ignore_List, "p<,>a<i>[100]", Ignorar);
  5270.             for(new i; i < 100; i++) {
  5271.                 if(Ignorar[i] == ID_Player && Ignorar[i] != 0) {
  5272.                     Ignorar[i] = 0;
  5273.                     AdicionarLista = false;
  5274.                     break;
  5275.                 }
  5276.                 if(Ignorar[i] == 0 && AdicionarLista == true) {
  5277.                     Ignorar[i] = ID_Player;
  5278.                     break;
  5279.                 }
  5280.             }
  5281.             new Msg[144], st[200];
  5282.             for(new i; i < 100; i++) {
  5283.                 if(Ignorar[i] == 0) continue;
  5284.                 format(st, sizeof(st), "%s%i,", st, Ignorar[i]);
  5285.             }
  5286.             mysql_format(mysql, string, sizeof(string), "UPDATE gpci SET Ignorar='%s' WHERE ID=%i", st, SerialID);
  5287.             mysql_query(mysql, string, false);
  5288.             if(AdicionarLista == true)
  5289.                 format(Msg, 144, "{ffff00}Adicionado a lista de ban ignorado do banimento por serial id %i a conta %s!", SerialID, Nome);
  5290.             else
  5291.                 format(Msg, 144, "{ffff00}Removida a conta %s da lista de ban ignorado do banimento por serial id %i!", Nome, SerialID);
  5292.             SendClientMessage(playerid, -1, Msg);
  5293.         }
  5294.         else
  5295.             SendClientMessage(playerid, -1, "{ff0000}Banimento por serial não encontrado!");
  5296.         cache_delete(CheckSerial, mysql);
  5297.     }
  5298.     else
  5299.         SendClientMessage(playerid, -1, "{ff0000}Nenhuma conta encontrada!");
  5300.     cache_delete(CheckConta, mysql);
  5301.     return 1;
  5302. }
  5303. CMD:ann(playerid, params[]) {
  5304.     if(PlayerInfo[playerid][pLevel] < 1) return SendClientMessage(playerid, -1, "{ff0000}Este anuncio é de admin, você não tem permissão!");
  5305.     new Msg[144], Mensagem[128];
  5306.     if(sscanf(params, "s[128]", Mensagem)) return SendClientMessage(playerid, -1, "{ff0000}Use: /ann [anuncio]");
  5307.     format(Msg, 144, "{00ff00}* [ADMIN] %s: %s", PlayerInfo[playerid][pNome], Mensagem);
  5308.     SendClientMessageToAll(-1, Msg);
  5309.     return 1;
  5310. }
  5311. CMD:cnn(playerid, params[]) {
  5312.     if(PlayerInfo[playerid][pLevel] < 2) return SendClientMessage(playerid, -1, "{ff0000}Este comando não está liberado para você.");
  5313.     new Msg[256], Mensagem[144];
  5314.     if(sscanf(params, "s[144]", Mensagem)) return SendClientMessage(playerid, -1, "{ff0000}Use: /cnn [texto]");
  5315.     format(Msg, sizeof(Msg), "~g~%s: ~w~%s", PlayerInfo[playerid][pNome], Mensagem);
  5316.     TextDrawSetString(DrawAnuncio, Msg);
  5317.     SetTimer("LimparAnuncio", 10000, false);
  5318.     return 1;
  5319. }
  5320.  
  5321. CMD:eu(playerid, params[]) {
  5322.     if(GetPVarInt(playerid, "tempo_anuncio") > gettime()) return SendClientMessage(playerid, -1, "{ff0000}Espere uns segundos para usar novamente!");
  5323.     new Msg[144], Mensagem[128];
  5324.     if(sscanf(params, "s[128]", Mensagem)) return SendClientMessage(playerid, -1, "{ff0000}Use: /eu [texto]");
  5325.     format(Msg, 144, "{B452CD}* %s: %s", PlayerInfo[playerid][pNome], Mensagem);
  5326.     SendClientMessageToAll(-1, Msg);
  5327.     SetPVarInt(playerid, "tempo_anuncio", gettime() + 30);
  5328.     return 1;
  5329. }
  5330. CMD:dia(playerid, params[]) {
  5331.     if(PlayerInfo[playerid][pLevel] < 1) return SendClientMessage(playerid, -1, "{ff0000}Você não pode usar este comando!");
  5332.     SetWorldTime(12);
  5333.     new Msg[144]; format(Msg, sizeof(Msg), "{ffff00}- %s deixou o servidor de dia", PlayerInfo[playerid][pNome]);
  5334.     SendClientMessageToAll(-1, Msg);
  5335.     return 1;
  5336. }
  5337.  
  5338. CMD:tarde(playerid, params[]) {
  5339.     if(PlayerInfo[playerid][pLevel] < 1) return SendClientMessage(playerid, -1, "{ff0000}Você não pode usar este comando!");
  5340.     SetWorldTime(19);
  5341.     new Msg[144]; format(Msg, sizeof(Msg), "{ffff00}- %s deixou o servidor de tarde", PlayerInfo[playerid][pNome]);
  5342.     SendClientMessageToAll(-1, Msg);
  5343.     return 1;
  5344. }
  5345. CMD:noite(playerid, params[]) {
  5346.     if(PlayerInfo[playerid][pLevel] < 1) return SendClientMessage(playerid, -1, "{ff0000}Você não pode usar este comando!");
  5347.     SetWorldTime(0);
  5348.     new Msg[144]; format(Msg, sizeof(Msg), "{ffff00}- %s deixou o servidor de noite", PlayerInfo[playerid][pNome]);
  5349.     SendClientMessageToAll(-1, Msg);
  5350.     return 1;
  5351. }
  5352. CMD:arenas(playerid, params[]) {
  5353.     new Dialog[2000];
  5354.     for(new i; i < sizeof(ArenasDM); i++) {
  5355.         format(Dialog, sizeof(Dialog), "%s%s\r\n", Dialog, ArenasDM[i][ArenaNome]);
  5356.     }
  5357.     ShowPlayerDialog(playerid, DialogArenasDM, DIALOG_STYLE_LIST, "{ff0000}# {ffffff}Arenas", Dialog, "Selecionar", "Cancelar");
  5358.     return 1;
  5359. }
  5360. CMD:sairarena(playerid, params[]) {
  5361.     if(PlayerInfo[playerid][EmArena] == false) return SendClientMessage(playerid, -1, "{ff0000}Você não está em uma arena.");
  5362.     new Msg[144];
  5363.     format(Msg, 144, "{EEAD0E}* %s saiu da arena.", PlayerInfo[playerid][pNome]);
  5364.     for(new i; i <= GetMaxPlayers(); i++)
  5365.         if(IsPlayerConnected(i) && PlayerInfo[i][ArenaID] == PlayerInfo[playerid][ArenaID] && PlayerInfo[i][EmArena] == true)
  5366.             SendClientMessage(i, -1, Msg);
  5367.     ResetPlayerWeapons(playerid);
  5368.     PlayerInfo[playerid][EmArena] = false;
  5369.     PlayerInfo[playerid][ArenaID] = 0;
  5370.     SetPlayerInterior(playerid, 0);
  5371.     SetPlayerVirtualWorld(playerid, 0);
  5372.     SpawnPlayer(playerid);
  5373.     SendClientMessage(playerid, -1, "{7A378B}Você saiu da arena!");
  5374.     return 1;
  5375. }
  5376. CMD:afk(playerid, params[]) {
  5377.     if(PlayerInfo[playerid][AFK] == true) return SendClientMessage(playerid, -1, "{ff0000}Você já está AFK!");
  5378.     new Msg[144];
  5379.     TogglePlayerControllable(playerid, false);
  5380.     PlayerInfo[playerid][AFK] = true;
  5381.     format(Msg, 144, "{7A378B}* %s está afk.", PlayerInfo[playerid][pNome]);
  5382.     SendClientMessageToAll(-1, Msg);
  5383.     return 1;
  5384. }
  5385. CMD:sairafk(playerid, params[]) {
  5386.     if(PlayerInfo[playerid][AFK] == false) return SendClientMessage(playerid, -1, "{ff0000}Você não está AFK!");
  5387.     new Msg[144];
  5388.     TogglePlayerControllable(playerid, true);
  5389.     PlayerInfo[playerid][AFK] = false;
  5390.     format(Msg, 144, "{EEAD0E}* %s saiu do modo afk.", PlayerInfo[playerid][pNome]);
  5391.     SendClientMessageToAll(-1, Msg);
  5392.     return 1;
  5393. }
  5394. CMD:jogadoresafk(playerid, params[]) {
  5395.     new Dialog[2000], pafk, Linha;
  5396.     for(new i; i <= GetMaxPlayers(); i++) {
  5397.         if(!IsPlayerConnected(i)) continue;
  5398.         if(IsPlayerNPC(i)) continue;
  5399.         if(PlayerInfo[i][AFK] == false) continue;
  5400.         format(Dialog, sizeof(Dialog), "%s- %s (id: %i)", Dialog, PlayerInfo[i][pNome], i);
  5401.         pafk++;
  5402.         Linha++;
  5403.         if(Linha >= 4) {
  5404.             Linha = 0;
  5405.             format(Dialog, sizeof(Dialog), "%s\n", Dialog);
  5406.         }
  5407.         else
  5408.             format(Dialog, sizeof(Dialog), "%s\t", Dialog);
  5409.     }
  5410.     if(pafk == 0) return SendClientMessage(playerid, -1, "{ff0000}Não há jogadores ausentes.");
  5411.     format(Dialog, sizeof(Dialog), "{FF7F50}# {ffffff}Jogadores ausentes: %i\n\n%s", pafk, Dialog);
  5412.     ShowPlayerDialog(playerid, DialogSemResposta, DIALOG_STYLE_MSGBOX, "{FF7F50}# {ffffff}Jogadores afk", Dialog, "Fechar", "");
  5413.     return 1;
  5414. }
  5415. CMD:jetpack(playerid, params[]) {
  5416.     if(PlayerInfo[playerid][pDinheiro] < 10000) return SendClientMessage(playerid, -1, "{ff0000}Você não tem dinheiro suficiente!");
  5417.     GivePlayerMoney(playerid, (-10000));
  5418.     SetPlayerSpecialAction(playerid, SPECIAL_ACTION_USEJETPACK);
  5419.     return 1;
  5420. }
  5421. CMD:setint(playerid, params[]) {
  5422.     if(PlayerInfo[playerid][pLevel] < 1) return SendClientMessage(playerid, -1, "{ff0000}Level insuficiente.");
  5423.     new Interior, Player, Msg[144];
  5424.     if(sscanf(params, "ui", Player, Interior)) return SendClientMessage(playerid, -1, "{ff0000}Use: /setint [id/nome] [interior]");
  5425.     if(!IsPlayerConnected(Player)) return SendClientMessage(playerid, -1, "Jogador desconectado");
  5426.     SetPlayerInterior(Player, Interior);
  5427.     format(Msg, 144, "{912CEE}* Você setou o interior de %s para %i", PlayerInfo[Player][pNome], Interior);
  5428.     SendClientMessage(playerid, -1, Msg);
  5429.     format(Msg, 144, "{912CEE}* %s setou seu interior para %i", PlayerInfo[playerid][pNome], Interior);
  5430.     SendClientMessage(Player, -1, Msg);
  5431.     return 1;
  5432. }
  5433. CMD:calar(playerid, params[]) {
  5434.     if(PlayerInfo[playerid][pLevel] < 1) return SendClientMessage(playerid, -1, "{ff0000}Você não pode usar este comando!");
  5435.     new Player, Motivo[128];
  5436.     if(sscanf(params, "us[128]", Player, Motivo)) return SendClientMessage(playerid, -1, "{ff0000}Use: /calar [id/nome] [motivo]");
  5437.     if(!IsPlayerConnected(Player)) return SendClientMessage(playerid, -1, "{ff0000}Jogador desconectado!");
  5438.     if(PlayerInfo[Player][Mudo] == 1) return SendClientMessage(playerid, -1, "{ff0000}Jogador já está calado!");
  5439.     new Msg[144];
  5440.     PlayerInfo[Player][Mudo] = 1;
  5441.     format(Msg, 144, "{32CD32}* %s calou %s, motivo: %s", PlayerInfo[playerid][pNome], PlayerInfo[Player][pNome], Motivo);
  5442.     SendClientMessageToAll(-1, Msg);
  5443.     SalvarConta(Player);
  5444.     return 1;
  5445. }
  5446. CMD:descalar(playerid, params[]) {
  5447.     if(PlayerInfo[playerid][pLevel] < 1) return SendClientMessage(playerid, -1, "{ff0000}Você não pode usar este comando!");
  5448.     new Player;
  5449.     if(sscanf(params, "u", Player)) return SendClientMessage(playerid, -1, "{ff0000}Use: /descalar [id/nome]");
  5450.     if(!IsPlayerConnected(Player)) return SendClientMessage(playerid, -1, "{ff0000}Jogador desconectado!");
  5451.     if(PlayerInfo[Player][Mudo] == 0) return SendClientMessage(playerid, -1, "{ff0000}Jogador não está mudo!");
  5452.     new Msg[144];
  5453.     PlayerInfo[Player][Mudo] = 0;
  5454.     format(Msg, 144, "{32CD32}* %s descalou %s", PlayerInfo[playerid][pNome], PlayerInfo[Player][pNome]);
  5455.     SendClientMessageToAll(-1, Msg);
  5456.     SalvarConta(Player);
  5457.     return 1;
  5458. }
  5459. CMD:mudos(playerid, params[]) {
  5460.     if(PlayerInfo[playerid][pLevel] < 1) return SendClientMessage(playerid, -1, "{ff0000}Você não pode usar este comando!");
  5461.     new Dialog[2000], Players, Linha;
  5462.     for(new i; i <= GetMaxPlayers(); i++) {
  5463.         if(!IsPlayerConnected(i)) continue;
  5464.         if(IsPlayerNPC(i)) continue;
  5465.         if(PlayerInfo[i][Mudo] == 0) continue;
  5466.         Players++;
  5467.         format(Dialog, sizeof(Dialog), "%s- %s (id: %i)", Dialog, PlayerInfo[i][pNome], i);
  5468.         Linha++;
  5469.         if(Linha >= 4) {
  5470.             format(Dialog, sizeof(Dialog), "%s\n", Dialog);
  5471.             Linha=0;
  5472.         }
  5473.         else
  5474.             format(Dialog, sizeof(Dialog), "%s\t", Dialog);
  5475.     }
  5476.     ShowPlayerDialog(playerid, DialogDescalar, DIALOG_STYLE_INPUT, "{ff0000}# {ffffff}Jogadores mudos", Dialog, "Descalar", "Cancelar");
  5477.     return 1;
  5478. }
  5479.  
  5480. CMD:relato(playerid, params[]) {
  5481.     new Player, Motivo[128], Msg[144];
  5482.     if(sscanf(params, "us[128]", Player, Motivo)) return SendClientMessage(playerid, -1, "{ff0000}Use: /relato [id/nome] [motivo]");
  5483.     if(!IsPlayerConnected(Player)) return SendClientMessage(playerid, -1, "{ff0000}Este jogador está desconectado do servidor.");
  5484.     if(PlayerInfo[Player][Logado] == false) return SendClientMessage(playerid, -1, "{ff0000}Este jogador está conectado mas não logado, aguarde o mesmo logar-se.");
  5485.     if(PlayerInfo[Player][pRelatoTempo] > gettime()) return SendClientMessage(playerid, -1, "{8A2BE2}Este jogador já foi relatado recentemente.");
  5486.     PlayerInfo[Player][pRelatoTempo] = gettime() + 30;
  5487.     format(Msg, 144, "{6495ED}Você relatou {ffffff}%s{6495ED} para administração do servidor.", PlayerInfo[Player][pNome]);
  5488.     SendClientMessage(playerid, -1, Msg);
  5489.     format(Msg, 144, "{43CD80}** %s relatou %s, motivo: %s", PlayerInfo[playerid][pNome], PlayerInfo[Player][pNome], Motivo);
  5490.     for(new i; i <= GetMaxPlayers(); i++) {
  5491.         if(!IsPlayerConnected(i)) continue;
  5492.         if(PlayerInfo[i][pLevel] <= 0) continue;
  5493.         SendClientMessage(i, -1, Msg);
  5494.     }
  5495.     return 1;
  5496. }
  5497. CMD:limparchat(playerid, params[]) {
  5498.     if(PlayerInfo[playerid][pLevel] < 1) return SendClientMessage(playerid, -1, "{ff0000}Você não tem permissão para isto.");
  5499.     for(new i; i < 100; i++)
  5500.         SendClientMessageToAll(-1, " ");
  5501.     return 1;
  5502. }
  5503. CMD:lc(playerid, params[]) return cmd_limparchat(playerid, params);
  5504.  
  5505. CMD:contagem(playerid, params[]) {
  5506.     if(PlayerInfo[playerid][pLevel] < 2) return SendClientMessage(playerid, -1, "{ff0000}Você não pode usar o comando.");
  5507.     new cx, MsgFinal[128];
  5508.     if(Contagem[ContagemSegundos] != 0) return SendClientMessage(playerid, -1, "{ff0000}Há uma contagem em execução no momento.");
  5509.     if(sscanf(params, "is[128]", cx, MsgFinal)) return SendClientMessage(playerid, -1, "{ff0000}Use: /contagem [segundos] [mensagem final]");
  5510.     Contagem[ContagemSegundos] = cx;
  5511.     format(Contagem[TextoContagem], 128, MsgFinal);
  5512.     SetTimer("Contando", 1000, false);
  5513.     return 1;
  5514. }
  5515.  
  5516. CMD:radios(playerid, params[])
  5517. {
  5518.     new Radios[2000];
  5519.     for(new i; i < sizeof(WebRadios); i++)
  5520.         if(strlen(WebRadios[i][NomeWebRadio]) > 0)
  5521.             format(Radios, sizeof(Radios), "%s%s\r\n", Radios,WebRadios[i][NomeWebRadio]);
  5522.     format(Radios, sizeof(Radios), "%s{ff0000}Desligar rádio\r\n", Radios);
  5523.     ShowPlayerDialog(playerid, DialogRadio, DIALOG_STYLE_LIST, "Web Rádios", Radios, "Escolher", "Cancelar");
  5524.     return 1;
  5525. }
  5526. CMD:surdo(playerid, params[]) return StopAudioStreamForPlayer(playerid);
  5527. CMD:s(playerid, params[]) return cmd_surdo(playerid, params);
  5528. CMD:animes(playerid, params[]) {
  5529.     new Dialog[2000], Linha, Animes;
  5530.     for(new i; i < sizeof(AnimesComandos); i++) {
  5531.         format(Dialog, sizeof(Dialog), "%s%s - ", Dialog, AnimesComandos[i]);
  5532.         Linha++;
  5533.         Animes++;
  5534.         if(Linha >= 6) {
  5535.             format(Dialog, sizeof(Dialog),"%s\n", Dialog);
  5536.             Linha=0;
  5537.         }
  5538.     }
  5539.     format(Dialog, sizeof(Dialog), "{ffffff}O servidor tem %i animes disponíveis (para parar uma animação use /pararanim):\n\n%s", Animes, Dialog);
  5540.     return ShowPlayerDialog(playerid, DialogSemResposta, DIALOG_STYLE_MSGBOX, "{ff0000}# {ffffff}Animes", Dialog, "Ok", "");
  5541. }
  5542. CMD:mudarsenha(playerid, params[])  return ShowPlayerDialog(playerid, DialogMudarSenha, DIALOG_STYLE_PASSWORD, "{00ff00}# {ffffff}Mudar senha", "Digite sua antiga senha:", "Ok", "");
  5543.  
  5544. CMD:novidades(playerid, params[]) {
  5545.     new Dialog[3000];
  5546.     for(new i; i < sizeof(Novidades); i++)
  5547.     {
  5548.         format(Dialog, sizeof(Dialog), "%s%s\n", Dialog, Novidades[i]);
  5549.     }
  5550.     return ShowPlayerDialog(playerid, DialogSemResposta, DIALOG_STYLE_MSGBOX, "{ff0000}# {ffffff}Novidades", Dialog, "Ok", "");
  5551. }
  5552. CMD:meuveh(playerid, params[]) {
  5553.     if(PlayerInfo[playerid][EmArena] == true) return SendClientMessage(playerid, -1, "{ff0000}Você não pode criar veiculos dentro de uma arena!");
  5554.     if(PlayerInfo[playerid][VehModelo] == 0) return SendClientMessage(playerid, -1, "{ff0000}Você não tem um veículo criado..");
  5555.     if(GetPlayerVehicleID(playerid) != 0 && GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pVeh]) return SendClientMessage(playerid, -1, "{ff0000}Você já está dentro de seu veículo!");
  5556.     new vid, Float:pos[4], antes = (GetPlayerVehicleSeat(playerid) == 0) ? (GetPlayerVehicleID(playerid)) : (0);
  5557.     if(GetPlayerVehicleID(playerid) == 0) {
  5558.         GetPlayerPos(playerid, pos[0], pos[1], pos[2]);
  5559.         GetPlayerFacingAngle(playerid, pos[3]);
  5560.     }
  5561.     else {
  5562.         GetVehiclePos(GetPlayerVehicleID(playerid), pos[0], pos[1], pos[2]);
  5563.         GetVehicleZAngle(GetPlayerVehicleID(playerid), pos[3]);
  5564.     }
  5565.     vid = PlayerInfo[playerid][pVeh];
  5566.     if(vid == 0) {
  5567.         vid = CreateVehicle(PlayerInfo[playerid][VehModelo], pos[0],pos[1], pos[2], pos[3], PlayerInfo[playerid][VehCores][0],PlayerInfo[playerid][VehCores][1], 120);
  5568.         if(vid == INVALID_VEHICLE_ID) return SendClientMessage(playerid, -1, "{ff0000}Limite de veículos do servidor atingido!");
  5569.         VehInfo[vid][DonoID] = playerid;
  5570.         PlayerInfo[playerid][pVeh] = vid;
  5571.         if(PlayerInfo[playerid][VehPintura] > 0)
  5572.             ChangeVehiclePaintjob(vid, PlayerInfo[playerid][VehPintura]-1);
  5573.         for(new i; i < 14; i++) {
  5574.             if(PlayerInfo[playerid][VehComponentes][i] == 0) continue;
  5575.             AddVehicleComponent(vid, PlayerInfo[playerid][VehComponentes][i]);
  5576.         }
  5577.         if(PlayerInfo[playerid][NeonID] != 0) {
  5578.             if(VehInfo[vid][NeonDireito] != 0) {
  5579.                 DestroyDynamicObject(VehInfo[vid][NeonDireito]);
  5580.                 DestroyDynamicObject(VehInfo[vid][NeonEsquerdo]);
  5581.             }
  5582.             new Neon = PlayerInfo[playerid][NeonID];
  5583.             VehInfo[vid][NeonDireito] = CreateDynamicObject(Neons[Neon][NeonID],0,0,0,0,0,0);
  5584.             VehInfo[vid][NeonEsquerdo] = CreateDynamicObject(Neons[Neon][NeonID],0,0,0,0,0,0);
  5585.             AttachDynamicObjectToVehicle(VehInfo[vid][NeonEsquerdo], vid, -0.8, 0.0, -0.70, 0.0, 0.0, 0.0);
  5586.             AttachDynamicObjectToVehicle(VehInfo[vid][NeonDireito], vid, 0.8, 0.0, -0.70, 0.0, 0.0, 0.0);
  5587.         }
  5588.     }
  5589.     else {
  5590.         SetVehiclePos(vid, pos[0], pos[1], pos[2]);
  5591.         SetVehicleZAngle(vid, pos[3]);
  5592.     }
  5593.     PutPlayerInVehicle(playerid, vid, 0);
  5594.     LinkVehicleToInterior(vid, GetPlayerInterior(playerid));
  5595.     SetVehicleVirtualWorld(vid, GetPlayerVirtualWorld(playerid));
  5596.     if(antes != 0)
  5597.         SetVehicleToRespawn(antes);
  5598.     return 1;
  5599. }
  5600. CMD:neon(playerid, params[]) {
  5601.     new Dialog[500];
  5602.     for(new i = 1; i < sizeof(Neons); i++) {
  5603.         strcat(Dialog, Neons[i][NeonCor]);
  5604.         strcat(Dialog, "\r\n");
  5605.     }
  5606.     strcat(Dialog, "Remover Neon\r\n");
  5607.     ShowPlayerDialog(playerid, DialogPorNeon,DIALOG_STYLE_LIST, "{ff0000}# {ffffff}Neon's", Dialog, "Escolher", "Cancelar");
  5608.     return 1;
  5609. }
  5610. CMD:rodas(playerid, params[]) {
  5611.     if(GetPlayerVehicleSeat(playerid) != 0) return SendClientMessage(playerid, -1, "{ff0000}Esteja pilotando um veículo!");
  5612.     new Dialog[300];
  5613.     for(new i; i < sizeof(Rodas); i++) {
  5614.         strcat(Dialog, Rodas[i][RodaNome]);
  5615.         strcat(Dialog, "\r\n");
  5616.     }
  5617.     strcat(Dialog, "{ffff00}Roda padrão");
  5618.     ShowPlayerDialog(playerid, DialogRodas, DIALOG_STYLE_LIST, "{ff0000}# {ffffff}Rodas", Dialog, "Selecionar", "Cancelar");
  5619.     return 1;
  5620. }
  5621. CMD:nos(playerid, params[]) {
  5622.     if(GetPlayerVehicleSeat(playerid) != 0) return SendClientMessage(playerid, -1, "{ff0000}Esteja pilotando um veículo!");
  5623.     return AddVehicleComponent(GetPlayerVehicleID(playerid), 1010);
  5624. }
  5625. CMD:suspensao(playerid, params[]) {
  5626.     if(GetPlayerVehicleSeat(playerid) != 0) return SendClientMessage(playerid, -1, "{ff0000}Esteja pilotando um veículo!");
  5627.     return AddVehicleComponent(GetPlayerVehicleID(playerid), 1087);
  5628. }
  5629. CMD:cor(playerid, params[]) {
  5630.     if(GetPlayerVehicleSeat(playerid) != 0) return SendClientMessage(playerid, -1, "{ff0000}Esteja pilotando um veículo!");
  5631.     new Dialog[4500], Linha, Total;
  5632.     for(new i = GetPVarInt(playerid, "Cor_pag"); i < sizeof(CoresVeiculos); i++) {
  5633.         if(Total >= 100) {
  5634.             strcat(Dialog, "\n\nDigite \"próxima\".");
  5635.             break;
  5636.         }
  5637.         format(Dialog, sizeof(Dialog), "%s{ffffff}%i - {%06x}Cor", Dialog, i, CoresVeiculos[i] >>> 8);
  5638.         Linha++;
  5639.         Total++;
  5640.         if(Linha >= 12) {
  5641.             strcat(Dialog, "\n");
  5642.             Linha=0;
  5643.         }
  5644.         else {
  5645.             strcat(Dialog, " {ffffff}| ");
  5646.         }
  5647.     }
  5648.     return ShowPlayerDialog(playerid, DialogVehCor, DIALOG_STYLE_INPUT, "{ff0000}# {ffffff}Cor - Use: cor1,cor2", Dialog, "Ok", "Cancelar");
  5649. }
  5650. CMD:minhacor(playerid, params[]) {
  5651.     new cor;
  5652.     if(sscanf(params, "x", cor)) return SendClientMessage(playerid, -1,"{ff0000}Use: /minhacor [cor em hexadecimal]");
  5653.     SetPlayerColor(playerid, cor);
  5654.     new Msg[144];
  5655.     format(Msg, 144, "{a9c4e4}A Cor de seu nome agora: {%06x}%s", cor >>> 8, PlayerInfo[playerid][pNome]);
  5656.     return SendClientMessage(playerid, -1, Msg);
  5657. }
  5658. CMD:prevercor(playerid, params[]) {
  5659.     new cor, Msg[144];
  5660.     if(sscanf(params, "x", cor)) return SendClientMessage(playerid, -1,"{ff0000}Use: /prevercor [cor em hexadecimal]");
  5661.     format(Msg, 144, "{a9c4e4}Prevendo cor: {%06x}%x", cor >>> 8, cor);
  5662.     return SendClientMessage(playerid, -1, Msg);
  5663. }
  5664. CMD:mododrift(playerid, params[]) {
  5665.     if(PlayerInfo[playerid][ModoDrift] == 1) {
  5666.         PlayerInfo[playerid][ModoDrift] = 0;
  5667.         return SendClientMessage(playerid, -1, "{ff0000}Modo drift desabilitado!"), SalvarConta(playerid);
  5668.     }
  5669.     PlayerInfo[playerid][ModoDrift] = 1;
  5670.     return SendClientMessage(playerid, -1, "{ffff00}Modo drift habilitado!"), SalvarConta(playerid);
  5671. }
  5672. //Animes by Delete
  5673. CMD:push(playerid, params[]) return ApplyAnimation(playerid,"GANGS","shake_cara",4.0,0,0,0,0,0);
  5674. CMD:cakick(playerid, params[]) return ApplyAnimation(playerid,"POLICE","Door_Kick",4.0,0,0,0,0,0);
  5675. CMD:lowbodypush(playerid, params[]) return ApplyAnimation(playerid,"GANGS","shake_carSH",4.0,0,0,0,0,0);
  5676. CMD:spray(playerid, params[]) return ApplyAnimation(playerid,"SPRAYCAN","spraycan_full",4.0,0,0,0,0,0);
  5677. CMD:headbutt(playerid, params[]) return ApplyAnimation(playerid,"WAYFARER","WF_Fwd",4.0,0,0,0,0,0);
  5678. CMD:medic(playerid, params[]) return ApplyAnimation(playerid,"MEDIC","CPR",4.0,0,0,0,0,0);
  5679. CMD:koface(playerid, params[]) return ApplyAnimation(playerid,"PED","KO_shot_face",4.0,0,1,1,1,0);
  5680. CMD:kostomach(playerid, params[]) return ApplyAnimation(playerid,"PED","KO_shot_stom",4.0,0,1,1,1,0);
  5681. CMD:lifejump(playerid, params[]) return ApplyAnimation(playerid,"PED","EV_dive",4.0,0,1,1,1,0);
  5682. CMD:cansado(playerid, params[]) return ApplyAnimation(playerid,"PED","IDLE_tired",3.0,1,0,0,0,0);
  5683. CMD:leftslap(playerid, params[]) return ApplyAnimation(playerid,"PED","BIKE_elbowL",4.0,0,0,0,0,0);
  5684. CMD:rolar(playerid, params[]) return ApplyAnimation(playerid,"PED","BIKE_fallR",4.0,0,1,1,1,0);
  5685. CMD:carlock(playerid, params[]) return ApplyAnimation(playerid,"PED","CAR_doorlocked_LHS",4.0,0,0,0,0,0);
  5686. CMD:rcarjack1(playerid, params[]) return ApplyAnimation(playerid,"PED","CAR_pulloutL_LHS",4.0,0,0,0,0,0);
  5687. CMD:lcarjack1(playerid, params[]) return ApplyAnimation(playerid,"PED","CAR_pulloutL_RHS",4.0,0,0,0,0,0);
  5688. CMD:rcarjack2(playerid, params[]) return ApplyAnimation(playerid,"PED","CAR_pullout_LHS",4.0,0,0,0,0,0);
  5689. CMD:lcarjack2(playerid, params[]) return ApplyAnimation(playerid,"PED","CAR_pullout_RHS",4.0,0,0,0,0,0);
  5690. CMD:hoodfrisked(playerid, params[]) return ApplyAnimation(playerid,"POLICE","crm_drgbst_01",4.0,0,1,1,1,0);
  5691. CMD:lightcig(playerid, params[]) return ApplyAnimation(playerid,"SMOKING","M_smk_in",3.0,0,0,0,0,0);
  5692. CMD:calma(playerid, params[]) return ApplyAnimation(playerid,"SMOKING","M_smk_tap",3.0,0,0,0,0,0);
  5693. CMD:bat(playerid, params[]) return ApplyAnimation(playerid,"BASEBALL","Bat_IDLE",4.0,1,1,1,1,0);
  5694. CMD:box(playerid, params[]) return ApplyAnimation(playerid,"GYMNASIUM","GYMshadowbox",4.0,1,1,1,1,0);
  5695. CMD:lay2(playerid, params[]) return ApplyAnimation(playerid,"SUNBATHE","Lay_Bac_in",3.0,0,1,1,1,0);
  5696. CMD:chant(playerid, params[]) return ApplyAnimation(playerid,"RIOT","RIOT_CHANT",4.0,1,1,1,1,0);
  5697. CMD:finger(playerid, params[]) return ApplyAnimation(playerid,"RIOT","RIOT_FUKU",2.0,0,0,0,0,0);
  5698. CMD:gritar(playerid, params[]) return ApplyAnimation(playerid,"RIOT","RIOT_shout",4.0,1,0,0,0,0);
  5699. CMD:cop(playerid, params[]) return ApplyAnimation(playerid,"SWORD","sword_block",50.0,0,1,1,1,1);
  5700. CMD:cutuvelada(playerid, params[]) return ApplyAnimation(playerid,"FIGHT_D","FightD_3",4.0,0,1,1,0,0);
  5701. CMD:kneekick(playerid, params[]) return ApplyAnimation(playerid,"FIGHT_D","FightD_2",4.0,0,1,1,0,0);
  5702. CMD:fstance(playerid, params[]) return ApplyAnimation(playerid,"FIGHT_D","FightD_IDLE",4.0,1,1,1,1,0);
  5703. CMD:gpunch(playerid, params[]) return ApplyAnimation(playerid,"FIGHT_B","FightB_G",4.0,0,0,0,0,0);
  5704. CMD:airkick(playerid, params[]) return ApplyAnimation(playerid,"FIGHT_C","FightC_M",4.0,0,1,1,0,0);
  5705. CMD:gkick(playerid, params[]) return ApplyAnimation(playerid,"FIGHT_D","FightD_G",4.0,0,0,0,0,0);
  5706. CMD:lowthrow(playerid, params[]) return ApplyAnimation(playerid,"GRENADE","WEAPON_throwu",3.0,0,0,0,0,0);
  5707. CMD:highthrow(playerid, params[]) return ApplyAnimation(playerid,"GRENADE","WEAPON_throw",4.0,0,0,0,0,0);
  5708. CMD:dealstance(playerid, params[]) return ApplyAnimation(playerid,"DEALER","DEALER_IDLE",4.0,1,0,0,0,0);
  5709. CMD:dancar(playerid, params[])
  5710. {
  5711.     new animid;
  5712.     if(sscanf(params,"d",animid)) return SendClientMessage(playerid, -1,"{FFFF00}/dancar [1-4]");
  5713.     switch(animid) {
  5714.         case 1: SetPlayerSpecialAction(playerid, 5);
  5715.         case 2: SetPlayerSpecialAction(playerid, 6);
  5716.         case 3: SetPlayerSpecialAction(playerid, 7);
  5717.         case 4: SetPlayerSpecialAction(playerid, 8);
  5718.         default: SendClientMessage(playerid, -1,"{FFFF00}/dance [stilo 1-4]");
  5719.     }
  5720.     return 1;
  5721. }
  5722. CMD:dj(playerid, params[])
  5723. {
  5724.     new animid;
  5725.     if(sscanf(params,"d",animid)) return SendClientMessage(playerid, -1,"{FFFF00}/dj [1-4]");
  5726.     switch(animid) {
  5727.         case 1: ApplyAnimation(playerid, "SCRATCHING", "scdldlp", 4.0, 1, 0, 0, 0, 0);
  5728.         case 2: ApplyAnimation(playerid, "SCRATCHING", "scdlulp", 4.0, 1, 0, 0, 0, 0);
  5729.         case 3: ApplyAnimation(playerid, "SCRATCHING", "scdrdlp", 4.0, 1, 0, 0, 0, 0);
  5730.         case 4: ApplyAnimation(playerid, "SCRATCHING", "scdrulp", 4.0, 1, 0, 0, 0, 0);
  5731.         default: SendClientMessage(playerid, -1,"{FFFF00}/dj [1-4]");
  5732.     }
  5733.     return 1;
  5734. }
  5735.  
  5736. CMD:sup(playerid, params[])
  5737. {
  5738.     new animid;
  5739.     if(sscanf(params,"d",animid)) return SendClientMessage(playerid, -1,"{FFFF00}/sup [1-3]");
  5740.     switch(animid) {
  5741.         case 1: ApplyAnimation(playerid,"GANGS","hndshkba",4.0,0,0,0,0,0);
  5742.         case 2: ApplyAnimation(playerid,"GANGS","hndshkda",4.0,0,0,0,0,0);
  5743.         case 3: ApplyAnimation(playerid,"GANGS","hndshkfa_swt",4.0,0,0,0,0,0);
  5744.         default: SendClientMessage(playerid, -1,"{FFFF00}/sup [1-3]");
  5745.     }
  5746.     return 1;
  5747. }
  5748.  
  5749. CMD:basket(playerid, params[])
  5750. {
  5751.     new animid;
  5752.     if(sscanf(params,"d",animid)) return SendClientMessage(playerid, -1,"{FFFF00}/basket [1-6]");
  5753.     switch(animid) {
  5754.         case 1: ApplyAnimation(playerid,"BSKTBALL","BBALL_idleloop",4.0,1,0,0,0,0);
  5755.         case 2: ApplyAnimation(playerid,"BSKTBALL","BBALL_Jump_Shot",4.0,0,0,0,0,0);
  5756.         case 3: ApplyAnimation(playerid,"BSKTBALL","BBALL_pickup",4.0,0,0,0,0,0);
  5757.         case 4: ApplyAnimation(playerid,"BSKTBALL","BBALL_run",4.1,1,1,1,1,1);
  5758.         case 5: ApplyAnimation(playerid,"BSKTBALL","BBALL_def_loop",4.0,1,0,0,0,0);
  5759.         case 6: ApplyAnimation(playerid,"BSKTBALL","BBALL_Dnk",4.0,1,0,0,0,0);
  5760.         default: SendClientMessage(playerid, -1,"{FFFF00}/basket [1-6]");
  5761.     }
  5762.     return 1;
  5763. }
  5764.  
  5765. CMD:knife(playerid, params[])
  5766. {
  5767.     new animid;
  5768.     if(sscanf(params,"d",animid)) return SendClientMessage(playerid, -1,"{FFFF00}/knife [1-4]");
  5769.     switch(animid) {
  5770.         case 1: ApplyAnimation(playerid,"KNIFE","KILL_Knife_Ped_Damage",4.0,0,1,1,1,0);
  5771.         case 2: ApplyAnimation(playerid,"KNIFE","KILL_Knife_Ped_Die",4.0,0,1,1,1,0);
  5772.         case 3: ApplyAnimation(playerid,"KNIFE","KILL_Knife_Player",4.0,0,0,0,0,0);
  5773.         case 4: ApplyAnimation(playerid,"KNIFE","KILL_Partial",4.0,0,1,1,1,1);
  5774.         default: SendClientMessage(playerid, -1,"{FFFF00}/knife [1-4]");
  5775.     }
  5776.     return 1;
  5777. }
  5778.  
  5779. CMD:beijar(playerid, params[]){ApplyAnimation(playerid,"KISSING", "Grlfrd_Kiss_02", 1.800001, 1, 0, 0, 1, 600);SendClientMessage(playerid, -1, "(Info) Use /Pararanim para parar a animação");return 1;}
  5780. CMD:stop(playerid, params[]){ApplyAnimation(playerid, "PED", "endchat_01", 4.0, 0, 0, 0, 0, 0);SendClientMessage(playerid, -1, "(Info) Use /Pararanim para parar a animação");return 1;}
  5781. CMD:punheta(playerid, params[]){ApplyAnimation(playerid, "PAULNMAC", "wank_out", 4.0, 0, 0, 0, 0, 0);SendClientMessage(playerid, -1, "(Info) Use /Pararanim para parar a animação");return 1;}
  5782. CMD:handsup(playerid, params[]){SetPlayerSpecialAction(playerid, SPECIAL_ACTION_HANDSUP);SendClientMessage(playerid, -1, "(Info) Use /Pararanim para parar a animação");return 1;}
  5783. CMD:ligar(playerid, params[]){SetPlayerSpecialAction(playerid, 11);SendClientMessage(playerid, -1, "(Info) Use /Pararanim para parar a animação");return 1;}
  5784. CMD:desligar(playerid, params[]){SetPlayerSpecialAction(playerid, 13);SendClientMessage(playerid, -1, "(Info) Use /Pararanim para parar a animação");return 1;}
  5785. CMD:bebado(playerid, params[]){ApplyAnimation(playerid, "PED", "WALK_DRUNK", 4.0, 1, 1, 1, 1, 0);SendClientMessage(playerid, -1, "(Info) Use /Pararanim para parar a animação");return 1;}
  5786. CMD:bomba(playerid, params[]){ClearAnimations(playerid);ApplyAnimation(playerid, "BOMBER", "BOM_Plant", 4.0, 0, 0, 0, 0, 0);SendClientMessage(playerid, -1, "(Info) Use /Pararanim para parar a animação");return 1;}
  5787. CMD:apontar(playerid, params[]){ApplyAnimation(playerid, "ped", "ARRESTgun", 4.0, 0, 1, 1, 1, -1);SendClientMessage(playerid, -1, "(Info) Use /Pararanim para parar a animação");return 1;}
  5788. CMD:merda(playerid, params[]){ApplyAnimation(playerid, "RAPPING", "Laugh_01", 4.0, 0, 0, 0, 0, 0);SendClientMessage(playerid, -1, "(Info) Use /Pararanim para parar a animação");return 1;}
  5789. CMD:marcararse(playerid, params[]){ApplyAnimation(playerid, "SHOP", "ROB_Shifty", 4.0, 0, 0, 0, 0, 0);SendClientMessage(playerid, -1, "(Info) Use /Pararanim para parar a animação");return 1;}
  5790. CMD:roubar(playerid, params[]){ApplyAnimation(playerid, "SHOP", "ROB_Loop_Threat", 4.0, 1, 0, 0, 0, 0);SendClientMessage(playerid, -1, "(Info) Use /Pararanim para parar a animação");return 1;}
  5791. CMD:cruzarb(playerid, params[]){ApplyAnimation(playerid, "COP_AMBIENT", "Coplook_loop", 4.0, 0, 1, 1, 1, -1);SendClientMessage(playerid, -1, "(Info) Use /Pararanim para parar a animação");return 1;}
  5792. CMD:deitar(playerid, params[]){ApplyAnimation(playerid, "BEACH", "bather", 4.0, 1, 0, 0, 0, 0);SendClientMessage(playerid, -1, "(Info) Use /Pararanim para parar a animação");return 1;}
  5793. CMD:abaixar(playerid, params[]){ApplyAnimation(playerid, "ped", "cower", 3.0, 1, 0, 0, 0, 0);SendClientMessage(playerid, -1, "(Info) Use /Pararanim para parar a animação");return 1;}
  5794. CMD:vomitar(playerid, params[]){ApplyAnimation(playerid, "FOOD", "EAT_Vomit_P", 3.0, 0, 0, 0, 0, 0);SendClientMessage(playerid, -1, "(Info) Use /Pararanim para parar a animação");return 1;}
  5795. CMD:comer(playerid, params[]){ApplyAnimation(playerid, "FOOD", "EAT_Burger", 3.0, 0, 0, 0, 0, 0);SendClientMessage(playerid, -1, "(Info) Use /Pararanim para parar a animação");return 1;}
  5796. CMD:rap(playerid, params[]){ApplyAnimation(playerid, "ON_LOOKERS", "wave_loop", 4.0, 1, 0, 0, 0, 0);SendClientMessage(playerid, -1, "(Info) Use /Pararanim para parar a animação");return 1;}
  5797. CMD:passaramao(playerid, params[]){ApplyAnimation(playerid, "SWEET", "sweet_ass_slap", 4.0, 0, 0, 0, 0, 0);SendClientMessage(playerid, -1, "(Info) Use /Pararanim para parar a animação");return 1;}
  5798. CMD:cobrar(playerid, params[]){ApplyAnimation(playerid, "DEALER", "DEALER_DEAL", 4.0, 0, 0, 0, 0, 0);SendClientMessage(playerid, -1, "(Info) Use /Pararanim para parar a animação");return 1;}
  5799. CMD:oberdose(playerid, params[]){ApplyAnimation(playerid, "CRACK", "crckdeth2", 4.0, 1, 0, 0, 0, 0);SendClientMessage(playerid, -1, "(Info) Use /Pararanim para parar a animação");return 1;}
  5800. CMD:fumar(playerid, params[]){ApplyAnimation(playerid, "SMOKING", "M_smklean_loop", 4.0, 1, 0, 0, 0, 0);SendClientMessage(playerid, -1, "(Info) Use /Pararanim para parar a animação");return 1;}
  5801. CMD:fumar2(playerid, params[]){ApplyAnimation(playerid, "SMOKING", "F_smklean_loop", 4.0, 1, 0, 0, 0, 0);SendClientMessage(playerid, -1, "(Info) Use /Pararanim para parar a animação");return 1;}
  5802. CMD:sentar(playerid, params[]){ApplyAnimation(playerid, "BEACH", "ParkSit_M_loop", 4.0, 1, 0, 0, 0, 0);SendClientMessage(playerid, -1, "(Info) Use /Pararanim para parar a animação");return 1;}
  5803. CMD:conversar(playerid, params[]){ApplyAnimation(playerid, "PED", "IDLE_CHAT", 4.0, 0, 0, 0, 0, 0);SendClientMessage(playerid, -1, "(Info) Use /Pararanim para parar a animação");return 1;}
  5804. CMD:fodase(playerid, params[]){ApplyAnimation(playerid, "PED", "fucku", 4.0, 0, 0, 0, 0, 0);SendClientMessage(playerid, -1, "(Info) Use /Pararanim para parar a animação");return 1;}
  5805. CMD:taichi(playerid, params[]){ApplyAnimation(playerid, "PARK", "Tai_Chi_Loop", 4.0, 1, 0, 0, 0, 0);SendClientMessage(playerid, -1, "(Info) Use /Pararanim para parar a animação");return 1;}
  5806. CMD:observar(playerid, params[]){ApplyAnimation(playerid, "BAR", "dnk_stndF_loop", 4.0, 1, 0, 0, 0, 0);SendClientMessage(playerid, -1, "(Info) Use /Pararanim para parar a animação");return 1;}
  5807. CMD:pararanim(playerid, params[]){ClearAnimations(playerid);SendClientMessage(playerid, -1, "(Info) animação foi parada com sucesso");return 1;}
  5808. /* Animes by Delete ^ */
  5809.  
  5810.  
  5811.  
  5812. CMD:status(playerid, params[]) {
  5813.     for(new i; i < 11; i++) {
  5814.         if(PlayerInfo[playerid][DrawStatus][i] == PlayerText:INVALID_TEXT_DRAW) continue;
  5815.         PlayerTextDrawDestroy(playerid, PlayerInfo[playerid][DrawStatus][i]);
  5816.         PlayerInfo[playerid][DrawStatus][i] = PlayerText:INVALID_TEXT_DRAW;
  5817.     }
  5818.     return nick_DrawsStatus(playerid);
  5819. }
  5820. CMD:teclasveiculo(playerid, params[]) {
  5821.     PlayerInfo[playerid][Teclas] = (PlayerInfo[playerid][Teclas] == true) ? (false) : (true);
  5822.     SendClientMessage(playerid, -1, (PlayerInfo[playerid][Teclas] == true) ? ("{ffff00}Teclas do veículo ativas!") : ("{ff0000}Teclas do veículo desativadas!"));
  5823.     return 1;
  5824. }
  5825. /*********************************
  5826.     Teleportes (comandos)
  5827. **********************************/
  5828. //Stunts
  5829. CMD:chiliad(playerid, params[]) return OnDialogResponse(playerid, DialogTeleStunt, 1, 0, "");
  5830. CMD:aeroabandonado(playerid, params[]) return OnDialogResponse(playerid, DialogTeleStunt, 1, 1, "");
  5831. CMD:represa(playerid, params[]) return OnDialogResponse(playerid, DialogTeleStunt, 1, 2, "");
  5832. CMD:aerols(playerid, params[]) return OnDialogResponse(playerid, DialogTeleStunt, 1, 3, "");
  5833. CMD:praiasm(playerid, params[]) return OnDialogResponse(playerid, DialogTeleStunt, 1, 4, "");
  5834. CMD:pirataslv(playerid, params[]) return OnDialogResponse(playerid, DialogTeleStunt, 1, 5, "");
  5835. CMD:easterboard(playerid, params[]) return OnDialogResponse(playerid, DialogTeleStunt, 1, 6, "");
  5836. CMD:sfstunt(playerid, params[]) return OnDialogResponse(playerid, DialogTeleStunt, 1, 7, "");
  5837. CMD:aerosf(playerid, params[]) return OnDialogResponse(playerid, DialogTeleStunt, 1, 8, "");
  5838. CMD:aerolv(playerid, params[]) return OnDialogResponse(playerid, DialogTeleStunt, 1, 9, "");
  5839. //Pistas
  5840. CMD:drop1(playerid, params[]) return OnDialogResponse(playerid, DialogTelePistas, 1, 0, "");
  5841. CMD:drop2(playerid, params[]) return OnDialogResponse(playerid, DialogTelePistas, 1, 1, "");
  5842. CMD:drop3(playerid, params[]) return OnDialogResponse(playerid, DialogTelePistas, 1, 2, "");
  5843. CMD:drop4(playerid, params[]) return OnDialogResponse(playerid, DialogTelePistas, 1, 3, "");
  5844. CMD:twister(playerid, params[]) return OnDialogResponse(playerid, DialogTelePistas, 1, 4, "");
  5845. CMD:loop(playerid, params[]) return OnDialogResponse(playerid, DialogTelePistas, 1, 5, "");
  5846. CMD:loop2(playerid, params[]) return OnDialogResponse(playerid, DialogTelePistas, 1, 6, "");
  5847. CMD:insano1(playerid, params[]) return OnDialogResponse(playerid, DialogTelePistas, 1, 7, "");
  5848. CMD:insano2(playerid, params[]) return OnDialogResponse(playerid, DialogTelePistas, 1, 8, "");
  5849. CMD:insano3(playerid, params[]) return OnDialogResponse(playerid, DialogTelePistas, 1, 9, "");
  5850. //Normais
  5851. CMD:lossantos(playerid, params[]) return OnDialogResponse(playerid, DialogTeleNormal, 1, 0, "");
  5852. CMD:lstransfender(playerid, params[]) return OnDialogResponse(playerid, DialogTeleNormal, 1, 1, "");
  5853. CMD:lslow(playerid, params[]) return OnDialogResponse(playerid, DialogTeleNormal, 1, 2, "");
  5854. CMD:sanfierro(playerid, params[]) return OnDialogResponse(playerid, DialogTeleNormal, 1, 3, "");
  5855. CMD:sftransfender(playerid, params[]) return OnDialogResponse(playerid, DialogTeleNormal, 1, 4, "");
  5856. CMD:sftunning(playerid, params[]) return OnDialogResponse(playerid, DialogTeleNormal, 1, 5, "");
  5857. CMD:lasventuras(playerid, params[]) return OnDialogResponse(playerid, DialogTeleNormal, 1, 6, "");
  5858. CMD:lvtransfender(playerid, params[]) return OnDialogResponse(playerid, DialogTeleNormal, 1, 7, "");
  5859. CMD:bayside(playerid, params[]) return OnDialogResponse(playerid, DialogTeleNormal, 1, 8, "");
  5860. CMD:angelpine(playerid, params[]) return OnDialogResponse(playerid, DialogTeleNormal, 1, 9, "");
  5861. CMD:elquebrados(playerid, params[]) return OnDialogResponse(playerid, DialogTeleNormal, 1, 10, "");
  5862. CMD:lasbarrancas(playerid, params[]) return OnDialogResponse(playerid, DialogTeleNormal, 1, 11, "");
  5863. CMD:fortcarson(playerid, params[]) return OnDialogResponse(playerid, DialogTeleNormal, 1, 12, "");
  5864. CMD:blueberry(playerid, params[]) return OnDialogResponse(playerid, DialogTeleNormal, 1, 13, "");
  5865. CMD:dillimore(playerid, params[]) return OnDialogResponse(playerid, DialogTeleNormal, 1, 14, "");
  5866. CMD:palomino(playerid, params[]) return OnDialogResponse(playerid, DialogTeleNormal, 1, 15, "");
  5867. CMD:montgomery(playerid, params[]) return OnDialogResponse(playerid, DialogTeleNormal, 1, 16, "");
  5868. //Drift
  5869. CMD:drift1(playerid, params[]) return OnDialogResponse(playerid, DialogTeleDrift, 1, 0, "");
  5870. //Pulos
  5871. CMD:puloinsano(playerid, params[]) return OnDialogResponse(playerid, DialogTelePulos, 1, 0, "");
  5872. CMD:bigtunel(playerid, params[]) return OnDialogResponse(playerid, DialogTelePulos, 1, 1, "");
  5873. CMD:superrampa(playerid, params[]) return OnDialogResponse(playerid, DialogTelePulos, 1, 2, "");
  5874. //Corridas
  5875. CMD:nascar(playerid, params[]) return OnDialogResponse(playerid, DialogTeleCorridas, 1, 1, "");
  5876. CMD:drag(playerid, params[]) return OnDialogResponse(playerid, DialogTeleCorridas, 1, 0, "");
  5877. CMD:circuitolv(playerid, params[]) return OnDialogResponse(playerid, DialogTeleCorridas, 1, 2, "");
  5878. //Tubos
  5879. CMD:tuboagua(playerid, params[]) return OnDialogResponse(playerid, DialogTeleTubos, 1, 0, "");
  5880. CMD:espiral(playerid, params[]) return OnDialogResponse(playerid, DialogTeleTubos, 1, 1, "");
  5881. CMD:tubosf(playerid, params[]) return OnDialogResponse(playerid, DialogTeleTubos, 1, 2, "");
  5882. //Variados
  5883. CMD:trampolim(playerid, params[]) return OnDialogResponse(playerid, DialogTeleVariado, 1, 0, "");
  5884. //Arenas
  5885. CMD:minigun(playerid, params[]) return OnDialogResponse(playerid, DialogArenasDM, 1, 0, "");
  5886. CMD:ak47(playerid, params[]) return OnDialogResponse(playerid, DialogArenasDM, 1, 1, "");
  5887.  
  5888.  
  5889. /*********************************
  5890.             Veiculos
  5891. **********************************/
  5892.  
  5893. stock Veiculos() {
  5894.     //Delete
  5895.     //circuito lv
  5896.     AddStaticVehicle(502,3257.50000000,1207.90002441,18.10000038,11.75000000,-1,-1); //Hotring Racer A
  5897.     AddStaticVehicle(502,3265.60009766,1210.09997559,18.10000038,11.74987793,-1,-1); //Hotring Racer A
  5898.     AddStaticVehicle(502,3273.89990234,1212.30004883,18.10000038,11.74987793,-1,-1); //Hotring Racer A
  5899.     AddStaticVehicle(502,3283.10009766,1214.19995117,18.10000038,11.74987793,-1,-1); //Hotring Racer A
  5900.     AddStaticVehicle(502,3292.30004883,1215.80004883,18.10000038,11.74987793,-1,-1); //Hotring Racer A
  5901.     AddStaticVehicle(502,3304.80004883,1218.50000000,18.10000038,11.74987793,-1,-1); //Hotring Racer A
  5902.  
  5903.     //fazenda stuntings
  5904.     AddStaticVehicle(522,-16.5111,15.1283,2.6780,339.8763,39,106); // spawn fazenda
  5905.     AddStaticVehicle(522,-14.6987,14.4642,2.6838,339.8743,39,106); // spawn fazenda
  5906.     AddStaticVehicle(522,-12.9142,13.8103,2.6838,339.8743,39,106); // spawn fazenda
  5907.     AddStaticVehicle(522,-11.4165,13.2614,2.6838,339.8743,39,106); // spawn fazenda
  5908.     AddStaticVehicle(522,-9.7104,12.6362,2.6838,339.8743,39,106); // spawn fazenda
  5909.     AddStaticVehicle(522,-8.1566,12.0668,2.6838,339.8743,39,106); // spawn fazenda
  5910.  
  5911.     //insano
  5912.     AddStaticVehicle(411,-2524.4468,146.4595,3230.6370,359.8078,64,1); // insano veiculos
  5913.     AddStaticVehicle(411,-2515.7087,146.4205,3230.6499,359.8078,64,1); // insano veiculos
  5914.     AddStaticVehicle(411,-2535.2263,146.4722,3230.6643,359.8078,64,1); // insano veiculos
  5915.     AddStaticVehicle(411,-2544.5007,146.5179,3230.6777,359.8078,64,1); // insano veiculos
  5916.  
  5917.     //nascar
  5918.     AddStaticVehicle(411,1799.09997559,-2382.80004883,486.00000000,94.25000000,-1,-1); //Infernus
  5919.     AddStaticVehicle(411,1798.80004883,-2376.60009766,486.00000000,94.24621582,-1,-1); //Infernus
  5920.     AddStaticVehicle(411,1798.50000000,-2370.19995117,486.00000000,94.24621582,-1,-1); //Infernus
  5921.     AddStaticVehicle(411,1797.80004883,-2363.89990234,486.00000000,94.24621582,-1,-1); //Infernus
  5922.     AddStaticVehicle(411,1797.59997559,-2357.39990234,486.00000000,94.24621582,-1,-1); //Infernus
  5923.     AddStaticVehicle(411,1797.19995117,-2351.00000000,486.00000000,94.24621582,-1,-1); //Infernus
  5924.     AddStaticVehicle(411,1796.90002441,-2344.60009766,486.00000000,94.24621582,-1,-1); //Infernus
  5925.  
  5926.     //drag
  5927.     AddStaticVehicle(411,2547.50000000,-230.89999390,71.00000000,80.00000000,-1,-1); //Infernus
  5928.     AddStaticVehicle(411,2555.10009766,-234.80000305,71.00000000,79.99694824,-1,-1); //Infernus
  5929.     AddStaticVehicle(411,2557.80004883,-240.19999695,71.00000000,79.99694824,-1,-1); //Infernus
  5930.     AddStaticVehicle(411,2557.80004883,-247.60000610,71.00000000,79.99694824,-1,-1); //Infernus
  5931.     AddStaticVehicle(411,2553.10009766,-255.30000305,71.00000000,79.99694824,-1,-1); //Infernus
  5932.     AddStaticVehicle(411,2543.10009766,-256.79998779,71.00000000,79.99694824,-1,-1); //Infernus
  5933.  
  5934.     //espiral
  5935.     AddStaticVehicle(495,223.1265,860.6835,363.0637,0.2217,119,122); // espiral
  5936.     AddStaticVehicle(495,248.6065,860.1947,363.0511,359.4057,119,122); // espiral
  5937.     AddStaticVehicle(495,263.8384,842.1574,363.0563,91.0103,119,122); // espiral
  5938.     AddStaticVehicle(495,202.5332,841.7902,363.0602,269.7198,119,122); // espiral
  5939.  
  5940.     //superrampa
  5941.     AddStaticVehicle(411,1453.80004883,-2405.30004883,1122.09997559,262.00000000,-1,-1); //Infernus
  5942.     AddStaticVehicle(411,1452.90002441,-2411.80004883,1122.09997559,261.99645996,-1,-1); //Infernus
  5943.     AddStaticVehicle(415,1451.59997559,-2421.10009766,1122.19995117,259.75000000,-1,-1); //Cheetah
  5944.     AddStaticVehicle(411,1451.50000000,-2427.69995117,1122.09997559,261.99645996,-1,-1); //Infernus
  5945.     AddStaticVehicle(411,1450.40002441,-2433.89990234,1122.09997559,261.99645996,-1,-1); //Infernus
  5946.  
  5947.     //loop
  5948.     AddStaticVehicle(411,3324.10009766,-2505.00000000,736.09997559,289.00000000,-1,-1); //Infernus
  5949.     AddStaticVehicle(411,3326.10009766,-2511.00000000,736.09997559,288.99536133,-1,-1); //Infernus
  5950.     AddStaticVehicle(411,3327.89990234,-2517.30004883,736.09997559,288.99536133,-1,-1); //Infernus
  5951.     AddStaticVehicle(411,3330.10009766,-2523.30004883,736.09997559,288.99536133,-1,-1); //Infernus
  5952.     AddStaticVehicle(411,3332.30004883,-2529.30004883,736.09997559,288.99536133,-1,-1); //Infernus
  5953.  
  5954.     //loop2
  5955.     AddStaticVehicle(411,-182.89999390,995.09997559,1312.40002441,180.25000000,-1,-1); //Infernus
  5956.     AddStaticVehicle(411,-189.10000610,995.50000000,1312.40002441,180.24719238,-1,-1); //Infernus
  5957.     AddStaticVehicle(411,-195.69999695,995.50000000,1312.40002441,180.24719238,-1,-1); //Infernus
  5958.     AddStaticVehicle(411,-202.00000000,995.50000000,1312.40002441,180.24719238,-1,-1); //Infernus
  5959.     AddStaticVehicle(411,-208.50000000,995.50000000,1312.40002441,180.24719238,-1,-1); //Infernus
  5960.     AddStaticVehicle(411,-215.00000000,995.40002441,1312.40002441,180.24719238,-1,-1); //Infernus
  5961.  
  5962.     //drift1
  5963.     AddStaticVehicle(562,-327.29998779,1515.80004883,75.09999847,0.00000000,-1,-1); //Elegy
  5964.     AddStaticVehicle(562,-342.89941406,1515.69921875,75.09999847,0.00000000,-1,-1); //Elegy
  5965.     AddStaticVehicle(562,-339.69921875,1515.69921875,75.09999847,0.00000000,-1,-1); //Elegy
  5966.     AddStaticVehicle(562,-336.69921875,1515.59960938,75.09999847,0.00000000,-1,-1); //Elegy
  5967.     AddStaticVehicle(562,-333.59960938,1515.69921875,75.09999847,0.00000000,-1,-1); //Elegy
  5968.     AddStaticVehicle(562,-330.29980469,1515.69921875,75.09999847,0.00000000,-1,-1); //Elegy
  5969.     AddStaticVehicle(562,-302.70001221,1579.80004883,75.09999847,136.00000000,-1,-1); //Elegy
  5970.     AddStaticVehicle(562,-300.00000000,1577.09997559,75.09999847,135.99975586,-1,-1); //Elegy
  5971.     AddStaticVehicle(562,-297.60000610,1574.90002441,75.09999847,135.99975586,-1,-1); //Elegy
  5972.     AddStaticVehicle(562,-295.10000610,1572.50000000,75.09999847,135.99975586,-1,-1); //Elegy
  5973.  
  5974.     //praia
  5975.  
  5976.     AddStaticVehicle(522,324.7022,-1787.3041,4.3564,178.3763,51,118); // veícuos praia
  5977.     AddStaticVehicle(522,321.3780,-1788.1775,4.3057,178.6476,51,118); // veícuos praia
  5978.     AddStaticVehicle(522,318.3364,-1788.2188,4.2527,179.7327,51,118); // veícuos praia
  5979.     AddStaticVehicle(522,315.0172,-1787.8624,4.2047,180.5475,51,118); // veícuos praia
  5980.     AddStaticVehicle(522,311.5652,-1787.5649,4.1532,179.1864,51,118); // veícuos praia
  5981.  
  5982.     //aquatubo
  5983.  
  5984.     AddStaticVehicle(411,-272.5742,375.9751,-35.5151,77.8616,123,1); // aquatubo
  5985.     AddStaticVehicle(411,-274.5762,370.4649,-35.5151,79.7328,123,1); // aquatubo
  5986.     AddStaticVehicle(411,-275.3676,367.0325,-35.5151,81.3952,123,1); // aquatubo
  5987.     AddStaticVehicle(411,-286.5009,308.9572,-35.5175,351.7867,123,1); // aquatubo
  5988.     AddStaticVehicle(411,-291.7205,309.3366,-35.5175,350.8400,123,1); // aquatubo
  5989.     AddStaticVehicle(411,-318.2276,328.0358,-35.5151,80.2177,123,1); // aquatubo
  5990.  
  5991.     //drop
  5992.  
  5993.     AddStaticVehicle(411,833.09997559,-2586.19995117,798.40002441,272.00000000,-1,-1); //Infernus
  5994.     AddStaticVehicle(411,833.09997559,-2593.00000000,798.40002441,271.99951172,-1,-1); //Infernus
  5995.     AddStaticVehicle(411,833.09997559,-2599.30004883,798.40002441,271.99951172,-1,-1); //Infernus
  5996.     AddStaticVehicle(411,833.29998779,-2605.60009766,798.40002441,271.99951172,-1,-1); //Infernus
  5997.     AddStaticVehicle(411,833.90002441,-2611.89990234,798.40002441,271.99951172,-1,-1); //Infernus
  5998.     AddStaticVehicle(411,833.90002441,-2618.69995117,798.40002441,271.99951172,-1,-1); //Infernus
  5999.  
  6000.     //drop2
  6001.  
  6002.     AddStaticVehicle(411,3830.30004883,-1073.80004883,929.90002441,0.00000000,-1,-1); //Infernus
  6003.     AddStaticVehicle(411,3836.69995117,-1073.90002441,929.90002441,0.00000000,-1,-1); //Infernus
  6004.     AddStaticVehicle(411,3824.09960938,-1074.00000000,929.90002441,0.00000000,-1,-1); //Infernus
  6005.     AddStaticVehicle(411,3843.00000000,-1073.30004883,929.90002441,0.00000000,-1,-1); //Infernus
  6006.     AddStaticVehicle(411,3849.50000000,-1073.50000000,929.90002441,0.00000000,-1,-1); //Infernus
  6007.     AddStaticVehicle(411,3865.60009766,-1073.40002441,929.90002441,0.00000000,-1,-1); //Infernus
  6008.  
  6009.     //drop3
  6010.     AddStaticVehicle(411,977.09997559,1736.69995117,1012.29998779,88.50000000,-1,-1); //Infernus
  6011.     AddStaticVehicle(411,977.50000000,1742.59997559,1012.29998779,88.49487305,-1,-1); //Infernus
  6012.     AddStaticVehicle(411,968.70001221,1742.59997559,1012.29998779,88.49487305,-1,-1); //Infernus
  6013.     AddStaticVehicle(411,968.70001221,1736.80004883,1012.29998779,88.49487305,-1,-1); //Infernus
  6014.     AddStaticVehicle(411,960.59997559,1736.90002441,1012.29998779,88.49487305,-1,-1); //Infernus
  6015.     AddStaticVehicle(411,960.70001221,1742.90002441,1012.29998779,88.49487305,-1,-1); //Infernus
  6016.  
  6017.     //drop4
  6018.     AddStaticVehicle(411,1264.6095,2756.8838,1554.6814,89.4813,64,1); // drop4
  6019.     AddStaticVehicle(411,1264.4979,2763.3962,1554.6814,89.7153,64,1); // drop4
  6020.     AddStaticVehicle(411,1264.4875,2769.8015,1554.6813,90.2916,64,1); // drop4
  6021.     AddStaticVehicle(411,1264.2904,2776.1975,1554.6815,89.4880,64,1); // drop4
  6022.     AddStaticVehicle(411,1264.1796,2788.8767,1554.6815,90.9055,64,1); // drop4
  6023.  
  6024.     //jizzy
  6025.     AddStaticVehicle(522,-2616.69995117,1378.40002441,6.80000019,182.00000000,-1,-1); //NRG-500
  6026.     AddStaticVehicle(522,-2618.60009766,1378.19995117,6.80000019,181.99951172,-1,-1); //NRG-500
  6027.     AddStaticVehicle(522,-2620.50000000,1378.00000000,6.80000019,181.99951172,-1,-1); //NRG-500
  6028.     AddStaticVehicle(522,-2622.60009766,1377.90002441,6.80000019,181.99951172,-1,-1); //NRG-500
  6029.     AddStaticVehicle(522,-2624.19995117,1377.80004883,6.80000019,181.99951172,-1,-1); //NRG-500
  6030.     AddStaticVehicle(522,-2626.00000000,1377.80004883,6.80000019,181.99951172,-1,-1); //NRG-500
  6031.     AddStaticVehicle(522,-2627.60009766,1377.80004883,6.80000019,181.99951172,-1,-1); //NRG-500
  6032.     //aerolv
  6033.     AddStaticVehicle(522,1290.59997559,1371.19995117,10.50000000,266.00000000,-1,-1); //NRG-500
  6034.     AddStaticVehicle(522,1290.50000000,1368.69995117,10.50000000,265.99548340,-1,-1); //NRG-500
  6035.     AddStaticVehicle(522,1290.40002441,1365.90002441,10.50000000,265.99548340,-1,-1); //NRG-500
  6036.     AddStaticVehicle(522,1290.59997559,1362.90002441,10.50000000,265.99548340,-1,-1); //NRG-500
  6037.     AddStaticVehicle(522,1290.80004883,1360.09997559,10.50000000,265.99548340,-1,-1); //NRG-500
  6038.     AddStaticVehicle(522,1290.50000000,1356.90002441,10.50000000,265.99548340,-1,-1); //NRG-500
  6039.     //aerosf
  6040.     AddStaticVehicle(522,-1424.90002441,-124.40000153,13.80000019,344.00000000,-1,-1); //NRG-500
  6041.     AddStaticVehicle(522,-1422.40002441,-124.69999695,13.80000019,343.99841309,-1,-1); //NRG-500
  6042.     AddStaticVehicle(522,-1420.09997559,-125.69999695,13.80000019,343.99841309,-1,-1); //NRG-500
  6043.     AddStaticVehicle(522,-1417.69995117,-126.50000000,13.80000019,343.99841309,-1,-1); //NRG-500
  6044.     AddStaticVehicle(522,-1415.40002441,-127.50000000,13.80000019,343.99841309,-1,-1); //NRG-500
  6045.     AddStaticVehicle(522,-1413.00000000,-128.00000000,13.80000019,343.99841309,-1,-1); //NRG-500
  6046.     //barrage
  6047.     AddStaticVehicle(522,-458.50000000,2229.19995117,43.00000000,122.00000000,-1,-1); //NRG-500
  6048.     AddStaticVehicle(522,-459.60000610,2230.89990234,43.00000000,121.99768066,-1,-1); //NRG-500
  6049.     AddStaticVehicle(522,-461.00000000,2233.00000000,43.00000000,121.99768066,-1,-1); //NRG-500
  6050.     AddStaticVehicle(522,-462.50000000,2235.30004883,43.00000000,121.99768066,-1,-1); //NRG-500
  6051.     AddStaticVehicle(522,-463.60000610,2237.60009766,43.79999924,121.99768066,-1,-1); //NRG-500
  6052.     AddStaticVehicle(522,-464.39999390,2239.60009766,44.20000076,121.99768066,-1,-1); //NRG-500
  6053.     //aeroabandonado
  6054.     AddStaticVehicle(522,402.48140000,2530.22750000,16.13910000,177.84100000,3,8); //NRG-500
  6055.     AddStaticVehicle(522,400.33420000,2529.89280000,16.12650000,181.70090000,3,8); //NRG-500
  6056.     AddStaticVehicle(522,397.56880000,2530.26880000,16.12540000,178.65880000,3,8); //NRG-500
  6057.     AddStaticVehicle(522,395.37600000,2530.55540000,16.10690000,178.55900000,3,8); //NRG-500
  6058.     AddStaticVehicle(522,392.68360000,2529.99950000,16.11930000,179.18370000,3,8); //NRG-500
  6059.     AddStaticVehicle(522,390.48500000,2529.98440000,16.11370000,177.53730000,3,8); //NRG-500
  6060.     //bayside
  6061.     AddStaticVehicle(522,-2251.3503,2294.0190,4.3710,87.1628,7,79); // bayside
  6062.     AddStaticVehicle(522,-2251.6069,2297.1360,4.3804,95.5798,7,79); // bayside
  6063.     AddStaticVehicle(522,-2251.3018,2300.0413,4.3829,89.9709,7,79); // bayside
  6064.     AddStaticVehicle(522,-2251.1250,2302.8745,4.3825,90.9840,7,79); // bayside
  6065.     AddStaticVehicle(522,-2251.3787,2305.9006,4.3808,91.5309,7,79); // bayside
  6066.  
  6067.     //barco pirata
  6068.     AddStaticVehicle(522,1986.6515,1461.7920,10.3913,1.0002,36,105); // barco
  6069.     AddStaticVehicle(522,1984.5958,1461.7690,10.3797,358.3215,36,105); // barco
  6070.     AddStaticVehicle(522,1981.8933,1461.6594,10.3816,1.2725,36,105); // barco
  6071.     AddStaticVehicle(522,1979.1884,1461.6415,10.3898,0.1700,36,105); // barco
  6072.     AddStaticVehicle(522,1974.6509,1461.4113,10.3883,358.4709,36,105); // barco
  6073.  
  6074.     //trampolim
  6075.     AddStaticVehicle(573,979.7058,1225.9103,410.6503,42.4122,115,43); // trampolim
  6076.     AddStaticVehicle(573,985.1293,1230.4868,410.6504,39.4075,115,43); // trampolim
  6077.     AddStaticVehicle(573,988.7131,1232.6423,410.6504,41.5853,115,43); // trampolim
  6078.     AddStaticVehicle(573,991.6682,1235.1875,410.6503,40.4154,115,43); // trampolim
  6079.     AddStaticVehicle(573,994.2393,1237.8129,410.6504,40.2649,115,43); // trampolim
  6080.     AddStaticVehicle(573,997.2834,1240.4061,410.6505,41.1547,115,43); // trampolim
  6081.  
  6082.     //insano 2
  6083.     AddStaticVehicle(411,891.6823,875.0927,934.8451,1.5995,116,1); // insano 2
  6084.     AddStaticVehicle(411,881.5996,874.6905,934.8652,355.4582,112,1); // insano 2
  6085.  
  6086.     AddStaticVehicle(522,-1606.4841,-725.1211,1527.3544,87.7146,7,79); // insano3 motos
  6087.     AddStaticVehicle(522,-1606.6803,-728.2292,1527.3579,92.9512,7,79); // insano3 motos
  6088.     AddStaticVehicle(522,-1606.3787,-731.3755,1527.3563,89.9688,7,79); // insano3 motos
  6089.     AddStaticVehicle(522,-1606.5819,-734.3317,1527.3545,89.3513,7,79); // insano3 motos
  6090.     AddStaticVehicle(522,-1606.7711,-737.3712,1527.3552,92.2349,7,79); // insano3 motos
  6091.     AddStaticVehicle(411,-1615.3507,-748.1603,1527.5114,358.3741,123,1); // insano3 carros
  6092.     AddStaticVehicle(411,-1618.4652,-748.2435,1527.5116,359.5027,123,1); // insano3 carros
  6093.     AddStaticVehicle(411,-1621.6663,-748.1735,1527.5116,358.1227,123,1); // insano3 carros
  6094.     AddStaticVehicle(411,-1624.9395,-748.1094,1527.5116,357.5916,123,1); // insano3 carros
  6095.     AddStaticVehicle(411,-1628.0664,-748.3564,1527.5115,0.4689,123,1); // insano3 carros
  6096.  
  6097.     //bigtunel
  6098.     AddStaticVehicle(402,2202.19995117,1518.00000000,3864.39990234,182.00000000,-1,-1); //Buffalo
  6099.     AddStaticVehicle(601,2207.19995117,1525.30004883,3864.39990234,180.00000000,-1,-1); //S.W.A.T. Van
  6100.     AddStaticVehicle(599,2212.69995117,1523.50000000,3864.80004883,180.00000000,-1,-1); //Police Ranger
  6101.     AddStaticVehicle(544,2219.60009766,1519.69995117,3864.80004883,176.00000000,-1,-1); //Firetruck LA
  6102.     AddStaticVehicle(528,2225.80004883,1513.19995117,3864.30004883,170.00000000,-1,-1); //FBI Truck
  6103.     AddStaticVehicle(455,2221.39990234,1505.00000000,3865.10009766,160.00000000,-1,-1); //Flatbed
  6104.     AddStaticVehicle(406,2207.10009766,1507.00000000,3865.30004883,180.00000000,-1,-1); //Dumper
  6105.     return 1;
  6106. }
Add Comment
Please, Sign In to add comment