Advertisement
garfield

[FS] SuYaNw''s Dealership system!

Oct 11th, 2011
651
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 22.07 KB | None | 0 0
  1. /*
  2.              ________________________________________
  3.             | SuYaN'ws Sistema de concessionária        |
  4.             |   - Criado por: [s]SuYaNw  Dácio      |
  5.             |   - Agradecimentos: Shickcard          |
  6.             |________________________________________|
  7.  
  8. */
  9.  
  10. #include <a_samp>
  11. #include dini
  12.  
  13.  
  14. #define PASTA                                       "Concessionaria/%s.if"
  15. #define MAX_CONCE                                   MAX_CARROS//(005)
  16. #define MAX_CARROS                                  (100)
  17. #define MAX_cNAME                                   (50)
  18. #define MAX_CARSP                                   (02) // Máximo de carros por player. ( NAO MUDAR ).
  19.  
  20.  
  21. #define DIAL_SELCOR2_CAR1                           100
  22. #define DIAL_SELCORCAR1                             200
  23. #define DIAL_SELCORCAR2                             400
  24. #define DIALOG_VENDCAR                              500
  25. #define DIALOG_CARROS                               600
  26. #define DALOG_SELECT_CAR                            700
  27. #define DALOG_SELECT_CAR_VIS                        800
  28. #define DIALOG_VEHICLE                              900
  29. #define DIAL_SELCOR                                 1000
  30. #define DIAL_SELCOR1_CAR1                           2000
  31. #define DIAL_SELCOR1_CAR2                           3000
  32. #define DIAL_SELCOR2_CAR2                           4000
  33.  
  34.  
  35. enum Concecs
  36. {
  37.     c_Veiculos[MAX_CARROS],
  38.     c_Nome[MAX_cNAME],
  39.     Float:c_PickX,
  40.     Float:c_PickY,
  41.     Float:c_PickZ,
  42.     Dono[24],
  43.     Pickup,
  44.     Carro[2],
  45.     ID
  46. };
  47.  
  48. enum carro_s
  49. {
  50.     Preco,
  51.     Modelo,
  52.     vModelo
  53. };
  54.  
  55. enum _plyaer
  56. {
  57.     bool:Comprando,
  58.     vModelo,
  59.     iModelo1,
  60.     iModelo2,
  61.     Carro1,
  62.     Carro2,
  63.     Money1,
  64.     Money2,
  65.     Cor1Car1,
  66.     Cor2Car1,
  67.     Cor1Car2,
  68.     Cor2Car2,
  69.     Float:Angulo1,
  70.     Float:Angulo2,
  71.     Float:carro1x,
  72.     Float:carro1y,
  73.     Float:carro1z,
  74.     Float:carro2x,
  75.     Float:carro2y,
  76.     Float:carro2z
  77.  
  78. };
  79.  
  80. new
  81.     VConcModelo[MAX_PLAYERS],
  82.     bool:VisualizandoModelo[MAX_PLAYERS],
  83.     pInfo[MAX_PLAYERS][_plyaer],
  84.     iCarro[MAX_CARROS][carro_s],
  85.     iConce[MAX_CONCE][Concecs],
  86.     FotherCorrent,
  87.     CurrentID,
  88.     strl[200],
  89.     vehName[][] =
  90.     {
  91.         "Landstalker","Bravura","Buffalo","Linerunner","Pereniel","Sentinel","Dumper",
  92.         "Firetruck","Trashmaster","Stretch","Manana","Infernus","Voodoo","Pony","Mule",
  93.         "Cheetah","Ambulancia","Leviathan","Moonbeam","Esperanto","Taxi","Washington",
  94.         "Bobcat","Mr Whoopee","BF Injection","Hunter","Premier","Enforcer","Securicar",
  95.         "Banshee","Predator","Bus","Rhino","Barracks","Hotknife","Trailer","Previon",
  96.         "Coach","Cabbie","Stallion","Rumpo","RC Bandit","Romero","Packer","Monster",
  97.         "Admiral","Squalo","Seasparrow","Pizzaboy","Tram","Trailer","Turismo","Speeder",
  98.         "Reefer","Tropic","Flatbed","Yankee","Caddy","Solair","Berkley's RC Van",
  99.         "Skimmer","PCJ-600","Faggio","Freeway","RC Baron","RC Raider","Glendale",
  100.         "Oceanic","Sanchez","Sparrow","Patriot","Quad","Coastguard","Dinghy","Hermes",
  101.         "Sabre","Rustler","ZR3 50","Walton","Regina","Comet","BMX","Burrito","Camper",
  102.         "Marquis","Baggage","Dozer","Maverick","News Chopper","Rancher","FBI Rancher",
  103.         "Virgo","Greenwood","Jetmax","Hotring","Sandking","Blista Compact","Maverick Policial",
  104.         "Boxville","Benson","Mesa","RC Goblin","Hotring Racer A","Hotring Racer B",
  105.         "Bloodring Banger","Rancher","Super GT","Elegant","Journey","Bike","Mountain Bike",
  106.         "Beagle","Cropdust","Stunt","Tanker","RoadTrain","Nebula","Majestic","Buccaneer",
  107.         "Shamal","Hydra","FCR-900","NRG-500","HPV1000","Cement Truck","Tow Truck","Fortune",
  108.         "Cadrona","FBI Truck","Willard","Forklift","Tractor","Combine","Feltzer","Remington",
  109.         "Slamvan","Blade","Freight","Streak","Vortex","Vincent","Bullet","Clover","Sadler",
  110.         "Firetruck","Hustler","Intruder","Primo","Cargobob","Tampa","Sunrise","Merit",
  111.         "Utility","Nevada","Yosemite","Windsor","Monster A","Monster B","Uranus","Jester",
  112.         "Sultan","Stratum","Elegy","Raindance","RC Tiger","Flash","Tahoma","Savanna",
  113.         "Bandito","Freight","Trailer","Kart","Mower","Duneride","Sweeper","Broadway",
  114.         "Tornado","AT-400","DFT-30","Huntley","Stafford","BF-400","Newsvan","Tug",
  115.         "Trailer A","Emperor","Wayfarer","Euros","Hotdog","Club","Trailer B","Trailer C",
  116.         "Andromada","Dodo","RC Cam","Launch","Carro Policial(LSPD)","Carro Policial (SFPD)",
  117.         "Carro Policial","Police Ranger","Picador","S.W.A.T. Van","Alpha","Phoenix",
  118.         "Glendale","Sadler","Luggage Trailer A","Luggage Trailer B","Stair Trailer",
  119.         "Boxville","Farm Plow","Utility Trailer"
  120. };
  121.  
  122. stock SalvarConc(playerid)
  123. {
  124.     new Nome[24], Float:Angulo;
  125.     GetPlayerName(playerid, Nome, 24);
  126.  
  127.     GetVehicleZAngle(pInfo[playerid][Carro1], Angulo);
  128.     format(strl, sizeof(strl),"Concessionaria/%s_car1.if", Nome);
  129.     if(!fexist(strl)) dini_Create(strl);
  130.     dini_IntSet(strl,"Modelo_1", pInfo[playerid][iModelo1]);
  131.     dini_FloatSet(strl, "POSX_1", pInfo[playerid][carro1x]);
  132.     dini_FloatSet(strl, "POSY_1", pInfo[playerid][carro1y]);
  133.     dini_FloatSet(strl, "POSZ_1", pInfo[playerid][carro1z]);
  134.     dini_FloatSet(strl, "Angulo", Angulo);
  135.     dini_IntSet(strl, "Cor1", pInfo[playerid][Cor1Car1]);
  136.     dini_IntSet(strl, "Cor2", pInfo[playerid][Cor2Car1]);
  137.  
  138.     GetVehicleZAngle(pInfo[playerid][Carro2], Angulo);
  139.     format(strl, sizeof(strl),"Concessionaria/%s_car2.if", Nome);
  140.     if(!fexist(strl)) dini_Create(strl);
  141.     dini_IntSet(strl, "Modelo_2", pInfo[playerid][iModelo2]);
  142.     dini_FloatSet(strl, "POSX_2", pInfo[playerid][carro2x]);
  143.     dini_FloatSet(strl, "POSY_2", pInfo[playerid][carro2y]);
  144.     dini_FloatSet(strl, "POSZ_2", pInfo[playerid][carro2z]);
  145.     dini_FloatSet(strl, "Angulo", Angulo);
  146.     dini_IntSet(strl, "Cor1", pInfo[playerid][Cor1Car2]);
  147.     dini_IntSet(strl, "Cor2", pInfo[playerid][Cor2Car2]);
  148.     return 1;
  149. }
  150. stock CarregarConc(playerid)
  151. {
  152.     new Nome[24];
  153.     GetPlayerName(playerid, Nome, 24);
  154.  
  155.     format(strl, sizeof(strl),"Concessionaria/%s_car1.if", Nome);
  156.     pInfo[playerid][iModelo1]    = dini_Int(strl,"Modelo_1");
  157.     pInfo[playerid][carro1x]     = dini_Float(strl, "POSX_1");
  158.     pInfo[playerid][carro1y]     = dini_Float(strl, "POSY_1");
  159.     pInfo[playerid][carro1z]     = dini_Float(strl, "POSZ_1");
  160.     pInfo[playerid][Angulo1]     = dini_Float(strl, "Angulo");
  161.  
  162.     format(strl, sizeof(strl),"Concessionaria/%s_car2.if", Nome);
  163.     pInfo[playerid][iModelo2]    = dini_Int(strl,"Modelo_2");
  164.     pInfo[playerid][carro2x]     = dini_Float(strl, "POSX_2");
  165.     pInfo[playerid][carro2y]     = dini_Float(strl, "POSY_2");
  166.     pInfo[playerid][carro2z]     = dini_Float(strl, "POSZ_2");
  167.     pInfo[playerid][Angulo2]     = dini_Float(strl, "Angulo");
  168.     return 1;
  169. }
  170. stock CreateConce(x_Nome[], Float:p_X, Float:p_Y, Float:p_Z)
  171. {
  172.     format(iConce[CurrentID][c_Nome],   MAX_cNAME, x_Nome);
  173.     iConce[CurrentID][c_PickX]          = p_X;
  174.     iConce[CurrentID][c_PickY]          = p_Y;
  175.     iConce[CurrentID][c_PickZ]          = p_Z;
  176.     CreatePickup(1318, 23, iConce[CurrentID][c_PickX], iConce[CurrentID][c_PickY], iConce[CurrentID][c_PickZ]);
  177.     Create3DTextLabel("Aperte F para adiquirir um veiculo", 0xFF00FFAA, p_X, p_Y, p_Z, 10.0, 50, 0);
  178.     return CurrentID++;
  179. }
  180.  
  181. stock s_AddConceVehicle(modeid, preco)
  182. {
  183.     iCarro[FotherCorrent][Preco]     = preco;
  184.     iCarro[FotherCorrent][Modelo]    = modeid;
  185.     printf("Carro Adicionado: ID:%i Fother: %i Modelo:%d Preço:%d", CurrentID, FotherCorrent, iCarro[FotherCorrent][Modelo], iCarro[FotherCorrent][Preco]);
  186.     return FotherCorrent++;
  187. }
  188.  
  189. stock StartBuying(pid)
  190.     return ShowPlayerDialog(pid, DIALOG_CARROS, DIALOG_STYLE_LIST,"~ Concessionária ~","Efetuar Compra de veiculo\nVisualizar Modelo","Proximo","Fechar");
  191.  
  192. ComprarVeiculo(playerid, vehicleid, preco);
  193. public ComprarVeiculo(playerid, vehicleid, preco)
  194. {
  195.     if(GetPlayerMoney(playerid) < preco)
  196.         return SendClientMessage(playerid, -1,"Você não grana suficiente para comprar este carro");
  197.  
  198.     if(pInfo[playerid][iModelo1] == 0)
  199.     {
  200.         pInfo[playerid][iModelo1] = vehicleid;
  201.         pInfo[playerid][Carro1] = CreateVehicle(vehicleid, 2809.5098,-1822.0376,9.7244, 86.4366, pInfo[playerid][Cor1Car1], pInfo[playerid][Cor2Car1], 999999999999996);
  202.         PutPlayerInVehicle(playerid, pInfo[playerid][Carro1], 0);
  203.         GivePlayerMoney(playerid, -preco);
  204.         pInfo[playerid][Money1] = preco;
  205.         SalvarConc(playerid);
  206.         SendClientMessage(playerid, 0xFF00FFAA,"Para ver os comandos de seu veículo digite {C9C9C9}(/v)eiculo help!");
  207.         ShowPlayerDialog(playerid, DIAL_SELCORCAR1, DIALOG_STYLE_LIST,"~ Concessionária:Cor","Mudar Cor 1 do veiculo\nMudar Cor 2 do Veiculo","Mudar","Fechar");
  208.         return 1;
  209.     }
  210.     if(pInfo[playerid][iModelo2] == 0)
  211.     {
  212.         pInfo[playerid][iModelo2] = vehicleid;
  213.         pInfo[playerid][Carro2] = CreateVehicle(vehicleid, 2809.5098,-1822.0376,9.7244, 86.4366, pInfo[playerid][Cor1Car2], pInfo[playerid][Cor2Car2], 999999999999996);
  214.         PutPlayerInVehicle(playerid, pInfo[playerid][Carro2], 0);
  215.         GivePlayerMoney(playerid, -preco);
  216.         pInfo[playerid][Money2] = preco;
  217.         SalvarConc(playerid);
  218.         SendClientMessage(playerid, 0xFF00FFAA,"Para ver os comandos de seu veículo digite {C9C9C9}(/v)eiculo help!");
  219.         ShowPlayerDialog(playerid, DIAL_SELCORCAR2, DIALOG_STYLE_LIST,"~ Concessionária: Cor","Mudar Cor 1 do veiculo\nMudar Cor 2 do Veiculo","Mudar","Fechar");
  220.         return 1;
  221.     }
  222.     SendClientMessage(playerid, -1,"Você já tem 2 carros! Venda um para depois comprar outro!");
  223.     return 1;
  224. }
  225. ////////////////////////////////////////////////////////////////////////////////
  226.  
  227. public OnPlayerConnect(playerid)
  228. {
  229.     pInfo[playerid][iModelo1] = 0;
  230.     pInfo[playerid][iModelo2] = 0;
  231.     pInfo[playerid][carro2x]  = 0.0;
  232.     pInfo[playerid][carro2y]  = 0.0;
  233.     pInfo[playerid][carro2z]  = 0.0;
  234.     pInfo[playerid][carro1x]  = 0.0;
  235.     pInfo[playerid][carro2y]  = 0.0;
  236.     pInfo[playerid][carro2z]  = 0.0;
  237.  
  238.     CarregarConc(playerid);
  239.  
  240.     if(pInfo[playerid][iModelo1] != 0)
  241.     {
  242.         pInfo[playerid][Carro1] = CreateVehicle(pInfo[playerid][iModelo1], pInfo[playerid][carro1x], pInfo[playerid][carro1y], pInfo[playerid][carro1z], pInfo[playerid][Angulo1], pInfo[playerid][Cor1Car1], pInfo[playerid][Cor2Car1], 9999999999);
  243.     }
  244.     if(pInfo[playerid][iModelo2] != 0)
  245.     {
  246.  
  247.         pInfo[playerid][Carro2] = CreateVehicle(pInfo[playerid][iModelo2], pInfo[playerid][carro2x], pInfo[playerid][carro2y], pInfo[playerid][carro2z], pInfo[playerid][Angulo2],  pInfo[playerid][Cor1Car2], pInfo[playerid][Cor2Car2], 9999999999);
  248.     }
  249.     return 1;
  250. }
  251.  
  252.  
  253. public OnFilterScriptInit()
  254. {
  255.     CreatePickup(1318, 23, 2812.8137,-1821.9536,9.9361);// 2812.8137,-1821.9536,9.9361
  256.     Create3DTextLabel("Aperte F para vender seu veiculo.",0x008080FF,2812.8137,-1821.9536,9.9361,10.0,0,0);
  257.     CreateConce("Alabamas", 2780.4939,-1812.2635,11.8438);
  258.     s_AddConceVehicle(402, 50000);
  259.     s_AddConceVehicle(404, 12000);
  260.     s_AddConceVehicle(405, 45000);
  261.     s_AddConceVehicle(409, 110000);
  262.     s_AddConceVehicle(410, 10000);
  263.     s_AddConceVehicle(412, 23000);
  264.     s_AddConceVehicle(415, 135000);
  265.     s_AddConceVehicle(418, 10000);
  266.     s_AddConceVehicle(419, 13500);
  267.     s_AddConceVehicle(421, 36000);
  268.     s_AddConceVehicle(426, 30000);
  269.     s_AddConceVehicle(429, 75000);
  270.     s_AddConceVehicle(434, 135000);
  271.     s_AddConceVehicle(436, 12000);
  272.     s_AddConceVehicle(439, 14500);
  273.     s_AddConceVehicle(442, 25000);
  274.     s_AddConceVehicle(445, 28000);
  275.     s_AddConceVehicle(451, 150000);
  276.     s_AddConceVehicle(458, 13500);
  277.     s_AddConceVehicle(466, 22500);
  278.     s_AddConceVehicle(467, 22500);
  279.     s_AddConceVehicle(474, 14500);
  280.     s_AddConceVehicle(475, 24000);
  281.     s_AddConceVehicle(477, 78000);
  282.     s_AddConceVehicle(479, 23000);
  283.     s_AddConceVehicle(480, 105000);
  284.     s_AddConceVehicle(483, 15000);
  285.     s_AddConceVehicle(491, 29000);
  286.     s_AddConceVehicle(492, 26000);
  287.     s_AddConceVehicle(496, 19000);
  288.     s_AddConceVehicle(506, 105000);
  289.     s_AddConceVehicle(507, 30000);
  290.     s_AddConceVehicle(516, 18000);
  291.     s_AddConceVehicle(517, 20000);
  292.     s_AddConceVehicle(518, 23000);
  293.     s_AddConceVehicle(526, 12000);
  294.     s_AddConceVehicle(527, 11000);
  295.     s_AddConceVehicle(529, 14000);
  296.     s_AddConceVehicle(533, 35000);
  297.     s_AddConceVehicle(534, 27000);
  298.     s_AddConceVehicle(535, 35000);
  299.     s_AddConceVehicle(536, 24000);
  300.     s_AddConceVehicle(540, 28000);
  301.     s_AddConceVehicle(541, 150000);
  302.     s_AddConceVehicle(542, 18000);
  303.     s_AddConceVehicle(545, 35000);
  304.     s_AddConceVehicle(546, 17000);
  305.     s_AddConceVehicle(547, 16000);
  306.     s_AddConceVehicle(549, 16000);
  307.     s_AddConceVehicle(550, 30000);
  308.     s_AddConceVehicle(551, 36000);
  309.     s_AddConceVehicle(555, 60000);
  310.     s_AddConceVehicle(558, 65000);
  311.     s_AddConceVehicle(559, 70000);
  312.     s_AddConceVehicle(560, 105000);
  313.     s_AddConceVehicle(561, 50000);
  314.     s_AddConceVehicle(562, 86000);
  315.     s_AddConceVehicle(565, 47000);
  316.     s_AddConceVehicle(566, 27000);
  317.     s_AddConceVehicle(567, 32000);
  318.     s_AddConceVehicle(575, 22000);
  319.     s_AddConceVehicle(576, 18500);
  320.     s_AddConceVehicle(580, 45000);
  321.     s_AddConceVehicle(585, 15500);
  322.     s_AddConceVehicle(587, 22000);
  323.     s_AddConceVehicle(589, 16500);
  324.     s_AddConceVehicle(602, 28500);
  325.     s_AddConceVehicle(603, 50000);
  326.     //CloseConce();
  327.     return 1;
  328. }
  329.  
  330. public OnPlayerSpawn(playerid)
  331. {
  332.     return 1;
  333. }
  334.  
  335. public OnPlayerCommandText(playerid,cmdtext[])
  336. {
  337.     if(strcmp("/veiculo", cmdtext, true) == 0 || strcmp("/v", cmdtext, true) == 0)
  338.     {
  339.         if(pInfo[playerid][iModelo1] == 0 && pInfo[playerid][iModelo2] == 0) return SendClientMessage(playerid, 0xFFFFFFAA, "Você não tem um veículo comprado na concessionária!");
  340.         ShowPlayerDialog(playerid, DIALOG_VEHICLE, DIALOG_STYLE_LIST, "~. Menu Veículo .~","Estacionar\nMeus Carros","Confirmar","Sair");
  341.         return 1;
  342.     }
  343.     if(!strcmp(cmdtext,"/ir_", true))
  344.     {
  345.         SetPlayerPos(playerid, 2810.0361,-1829.5409,9.9241);
  346.         return 1;
  347.     }
  348.     if(!strcmp(cmdtext,"/carro2", true))
  349.     {
  350.         SetPlayerPos(playerid, pInfo[playerid][carro2x], pInfo[playerid][carro2y], pInfo[playerid][carro2z]);
  351.     }
  352.     return 0;
  353. }
  354.  
  355. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  356. {
  357.     if(newkeys == KEY_SECONDARY_ATTACK)
  358.     {
  359.         if(VisualizandoModelo[playerid] == true)
  360.         {
  361.             SetPlayerPos(playerid, 2781.6172,-1812.4465,11.8438);
  362.             SetPlayerFacingAngle(playerid, 51.7605);
  363.             TogglePlayerControllable(playerid, 1);
  364.             DestroyVehicle(VConcModelo[playerid]);
  365.             VisualizandoModelo[playerid] = false;
  366.             SetCameraBehindPlayer(playerid);
  367.             return 1;
  368.         }
  369.     }
  370.     if(newkeys & 16)
  371.     {
  372.         if(IsPlayerInRangeOfPoint(playerid, 5.0, 2780.4939,-1812.2635,11.8438)) return StartBuying(playerid);
  373.         if(IsPlayerInRangeOfPoint(playerid, 5.0, 2812.8137,-1821.9536,9.9361)) return ShowPlayerDialog(playerid, DIALOG_VENDCAR, DIALOG_STYLE_LIST,"Qual veiculo você deseja vender?","Veículo 1\nVeículo 2", "Vender", "Cancelar");
  374.     }
  375.     return 1;
  376. }
  377. new CarColors[]=
  378. {
  379.     1,
  380.     0,
  381.     6,
  382.     24,
  383.     3,
  384.     11,
  385.     44
  386. };
  387.  
  388.  
  389. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  390. {
  391.     if(dialogid == DIAL_SELCOR2_CAR1)
  392.     {
  393.         if(!response)
  394.             return ShowPlayerDialog(playerid, DIAL_SELCOR, DIALOG_STYLE_LIST,"~ Concessionária: Cor","Mudar Cor 1 do veiculo\nMudar Cor 2 do Veiculo","Mudar","Fechar");
  395.  
  396.         pInfo[playerid][Cor1Car2] = CarColors[listitem];
  397.         ChangeVehicleColor(pInfo[playerid][Carro1], CarColors[listitem], pInfo[playerid][Cor2Car1]);
  398.     }
  399.     else if(dialogid == DIAL_SELCOR1_CAR1)
  400.     {
  401.         if(!response)
  402.             return ShowPlayerDialog(playerid, DIAL_SELCOR, DIALOG_STYLE_LIST,"~ Concessionária: Cor","Mudar Cor 1 do veiculo\nMudar Cor 2 do Veiculo","Mudar","Fechar");
  403.  
  404.         if(response)
  405.         {
  406.             pInfo[playerid][Cor1Car1] = CarColors[listitem];
  407.             ChangeVehicleColor(pInfo[playerid][Carro1], CarColors[listitem], pInfo[playerid][Cor2Car1]);
  408.         }
  409.     }
  410.     else if(dialogid == DIAL_SELCORCAR1)
  411.     {
  412.         if(response)
  413.         {
  414.             if(listitem == 0)
  415.             {
  416.                 ShowPlayerDialog(playerid, DIAL_SELCOR1_CAR1, DIALOG_STYLE_LIST,"Concessionára: Cor do carro nº1","Branco\nPreto\nAmarelo\nCinza\nVermelho\nPrata\nVerde","Mudar","Voltar");
  417.             }
  418.             if(listitem == 1)
  419.             {
  420.                 ShowPlayerDialog(playerid, DIAL_SELCOR2_CAR1, DIALOG_STYLE_LIST,"Concessionára: Cor do carro nº2","Branco\nPreto\nAmarelo\nCinza\nVermelho\nPrata\nVerde","Mudar","Voltar");
  421.             }
  422.         }
  423.     }
  424.     else if(dialogid == DIAL_SELCOR1_CAR2)
  425.     {
  426.         if(!response)
  427.             return ShowPlayerDialog(playerid, DIAL_SELCOR, DIALOG_STYLE_LIST,"~ Concessionária: Cor","Mudar Cor 1 do veiculo\nMudar Cor 2 do Veiculo","Mudar","Fechar");
  428.  
  429.         if(response)
  430.         {
  431.             pInfo[playerid][Cor1Car2] = CarColors[listitem];
  432.             ChangeVehicleColor(pInfo[playerid][Carro2], pInfo[playerid][Cor1Car2], pInfo[playerid][Cor2Car2]);
  433.         }
  434.     }
  435.     else if(dialogid == DIAL_SELCORCAR2)
  436.     {
  437.         if(response)
  438.         {
  439.             if(listitem == 0)
  440.                 return ShowPlayerDialog(playerid, DIAL_SELCOR1_CAR2, DIALOG_STYLE_LIST,"Concessionára","Branco\nPreto\nAmarelo\nCinza\nVermelho\nPrata\nVerde","Mudar","Voltar");
  441.  
  442.             if(listitem == 1)
  443.                 return ShowPlayerDialog(playerid, DIAL_SELCOR2_CAR2, DIALOG_STYLE_LIST,"Concessionára","Branco\nPreto\nAmarelo\nCinza\nVermelho\nPrata\nVerde","Mudar","Voltar");
  444.         }
  445.     }
  446.     else if(dialogid == DIALOG_VEHICLE)
  447.     {
  448.         if(!response) return SendClientMessage(playerid, 0xFFFF00AA, "Cuidado!{E31919} Seja cauteloso com o local que irá estacionar seu veículo!");
  449.         if(response)
  450.         {
  451.             if(listitem == 0)
  452.             {
  453.                 if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid,0xFFFFFFAA,"Você não está dentro de um veículo!");
  454.                 if(pInfo[playerid][iModelo1] == 0 && pInfo[playerid][iModelo2] == 0) return SendClientMessage(playerid, 0xFFFFFFAA, "Você não tem um veículo comprado na concessionária!");
  455.                 static Float:xpos,Float:ypos,Float:zpos;
  456.                 GetPlayerPos(playerid, Float:xpos, Float:ypos, Float:zpos);
  457.                 RemovePlayerFromVehicle(playerid);
  458.                 if(GetVehicleModel(GetPlayerVehicleID(playerid)) == pInfo[playerid][iModelo1])
  459.                 {
  460.                     pInfo[playerid][carro1x]    = xpos+1.1;
  461.                     pInfo[playerid][carro1y]    = ypos;
  462.                     pInfo[playerid][carro1z]    = zpos;
  463.                     SalvarConc(playerid);
  464.                     GameTextForPlayer(playerid, "~r~Veiculo estacionado", 3000, 3);
  465.                     return 1;
  466.                 }
  467.                 else if(GetVehicleModel(GetPlayerVehicleID(playerid)) == pInfo[playerid][iModelo2])
  468.                 {
  469.                     pInfo[playerid][carro2x]    =  xpos+1.1;
  470.                     pInfo[playerid][carro2y]    =  ypos;
  471.                     pInfo[playerid][carro2z]    =  zpos;
  472.                     SalvarConc(playerid);
  473.                     GameTextForPlayer(playerid, "~r~Veiculo estacionado", 3000, 3);
  474.                     return 1;
  475.                 }
  476.             }
  477.             if(listitem == 1)
  478.             {
  479.                 new ascar[128];
  480.                 if(pInfo[playerid][iModelo1] == 0 && pInfo[playerid][iModelo2] == 0)
  481.                 {
  482.                     format(ascar, sizeof(ascar),"Você tem o carro 'Nenhum'  | Modelo: 0\n\
  483.                     Você tem o carro 'Nenhum' | Modelo: 0\nVocê tem nenhum carro, compre algum!.");
  484.                 }
  485.                 if(pInfo[playerid][iModelo1] != 0 && pInfo[playerid][iModelo2] != 0)
  486.                 {
  487.                     format(ascar, sizeof(ascar),"Você tem o carro '%s'  | Modelo: %i\n\
  488.                     Você tem o carro '%s' | Modelo: %i\n", vehName[pInfo[playerid][iModelo1] - 400], pInfo[playerid][iModelo1], vehName[pInfo[playerid][iModelo2] - 400], pInfo[playerid][iModelo2]);
  489.                 }
  490.                 if(pInfo[playerid][iModelo1] != 0 && pInfo[playerid][iModelo2] == 0)
  491.                 {
  492.                     format(ascar, sizeof(ascar),"Você tem o carro '%s'  | Modelo: %i\n\
  493.                     Você tem o carro 'Nenhum' | Modelo: 0\n", vehName[pInfo[playerid][iModelo1] - 400], pInfo[playerid][iModelo1]);
  494.                 }
  495.                 if(pInfo[playerid][iModelo1] == 0 && pInfo[playerid][iModelo2] != 0)
  496.                 {
  497.                     format(ascar, sizeof(ascar),"Você tem o carro 'Nenhum'  | Modelo: 0\n\
  498.                     Você tem o carro '%s' | Modelo: %i\n", vehName[pInfo[playerid][iModelo2] - 400], pInfo[playerid][iModelo2]);
  499.                 }
  500.                 ShowPlayerDialog(playerid, 654, DIALOG_STYLE_MSGBOX,"Concessionária", ascar, "Ok","");
  501.             }
  502.         }
  503.     }
  504.     if(dialogid == DIALOG_VENDCAR)
  505.     {
  506.         if(response)
  507.         {
  508.             if(listitem == 0)
  509.             {
  510.                 if(pInfo[playerid][iModelo1] == 0)
  511.                     return SendClientMessage(playerid, -1,"Você não tem este veículo!");
  512.                 {
  513.                     DestroyVehicle(pInfo[playerid][Carro1]);
  514.                     pInfo[playerid][Carro1]     = 0;
  515.                     pInfo[playerid][iModelo1]   = 0;
  516.                     GameTextForPlayer(playerid, "~g~Veiculo Vendido", 3000, 3);
  517.                     GivePlayerMoney(playerid, pInfo[playerid][Money1]/2);
  518.                     return 1;
  519.                 }
  520.             }
  521.             else if(listitem == 1)
  522.             {
  523.                 if(pInfo[playerid][iModelo2] == 0)
  524.                     return SendClientMessage(playerid, -1,"Você não tem este veículo!");
  525.                 else
  526.                 {
  527.                     DestroyVehicle(pInfo[playerid][Carro2]);
  528.                     pInfo[playerid][Carro2]     = 0;
  529.                     pInfo[playerid][iModelo2]   = 0;
  530.                     GameTextForPlayer(playerid, "~g~Veiculo Vendido", 3000, 3);
  531.                     GivePlayerMoney(playerid, pInfo[playerid][Money2]/2);
  532.                     return 1;
  533.                 }
  534.             }
  535.         }
  536.     }
  537.     if(dialogid == DIALOG_CARROS)
  538.     {
  539.         if(response)
  540.         {
  541.             if(listitem == 0)
  542.             {
  543.                 new textdialog[3900],strlol[100];
  544.                 for(new i; i < FotherCorrent; ++i)
  545.                 {
  546.                     format(strlol, sizeof(strlol),"{FFA500}%s {FFFFFF}» Preço: {7CFC00}${00BFFF}%d\n",vehName[ iCarro[i][Modelo] - 400], iCarro[i][Preco]);
  547.                     strcat(textdialog, strlol);
  548.                     printf(strlol);
  549.                 }
  550.                 ShowPlayerDialog(playerid, DALOG_SELECT_CAR, DIALOG_STYLE_LIST,"Qual carro você deseja comprar?",textdialog,"Comprar","Cancelar");
  551.             }
  552.             if(listitem == 1)
  553.             {
  554.                 new textdialog[3900],strlol[100];
  555.                 for(new i; i < FotherCorrent; ++i)
  556.                 {
  557.                     format(strlol, sizeof(strlol),"{FFA500}%s {FFFFFF}» Preço: {7CFC00}${00BFFF}%d\n",vehName[ iCarro[i][Modelo] - 400], iCarro[i][Preco]);
  558.                     strcat(textdialog, strlol);
  559.                     printf(strlol);
  560.                 }
  561.                 ShowPlayerDialog(playerid, DALOG_SELECT_CAR_VIS, DIALOG_STYLE_LIST,"Qual carro você deseja visualizar?",textdialog,"Visualizar","Cancelar");
  562.             }
  563.         }
  564.         return 1;
  565.     }
  566.     if(dialogid == DALOG_SELECT_CAR_VIS)
  567.     {
  568.         if(response)
  569.         {
  570.             SetPlayerCameraPos(playerid, -1662.796875, 1212.473022, 21.156250);
  571.             SetPlayerCameraLookAt(playerid,  -1652.571777, 1208.198364, 20.881875);
  572.             SetPlayerPos(playerid, -1682.210815, 1211.037231, 31.671875);
  573.             TogglePlayerControllable(playerid, 0);
  574.             VConcModelo[playerid] = CreateVehicle(iCarro[listitem][Modelo], -1652.571777, 1208.198364, 20.881875, 40.5183, 1, 1, 5000);
  575.             SendClientMessage(playerid, 0xFFFFFFAA, "Para sair do modo visualizar modelo pressione {E31919}ENTER");
  576.             VisualizandoModelo[playerid] = true;
  577.         }
  578.     }
  579.     if(dialogid == DALOG_SELECT_CAR)
  580.     {
  581.         if(response)
  582.         {
  583.             CallLocalFunction("ComprarVeiculo", "iid", playerid, iCarro[listitem][Modelo], iCarro[listitem][Preco]);
  584.         }
  585.     }
  586.     return 1;
  587. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement