SHARE
TWEET

[COD] Codigo Concessionária Para RPGs

Chip7 Sep 19th, 2012 396 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. /*VISITE NOSSO SITE: http://www.sampknd.com/
  2.   VISITE NOSSO FACEBOOK: http://www.facebook.com/SampKnd
  3.   SAMP KND MELHOR BLOG DE SAMP DO BRASIL
  4. */  
  5.  
  6. #include <a_samp>
  7. #include <SII> //Include Obrigatoria
  8.  
  9. #define LOCAL_VEICULOS "Veiculos/"  //Pasta no ScriptFiles
  10.  
  11. #define MAX_SELLING_VEHICLES 500
  12.  
  13. #define BoxVeiculos 2012
  14.  
  15. enum vInfo
  16. {
  17.         vCriado,
  18.         Float:vPosX,
  19.         Float:vPosY,
  20.         Float:vPosZ,
  21.         Float:vRotZ,
  22.         vModelo,
  23.         vCor1,
  24.         vCor2,
  25.         vTrancado,
  26.         vDono[MAX_PLAYER_NAME],
  27.         vID
  28. }
  29. new VehicleInfo[MAX_SELLING_VEHICLES][vInfo],
  30.         QuantidadeDeVeiculosCarregados, CarregadoMaisNaoCriado;
  31.  
  32. new VehicleName[212][] = {
  33. {"Landstalker"},{"Bravura"},{"Buffalo"},{"Linerunner"},{"Perrenial"},{"Sentinel"},{"Dumper"},{"Firetruck"},
  34. {"Trashmaster"},{"Stretch"},{"Manana"},{"Infernus"},{"Voodoo"},{"Pony"},{"Mule"},{"Cheetah"},{"Ambulance"},
  35. {"Leviathan"},{"Moonbeam"},{"Esperanto"},{"Taxi"},{"Washington"},{"Bobcat"},{"Mr Whoopee"},{"BF Injection"},
  36. {"Hunter"},{"Premier"},{"Enforcer"},{"Securicar"},{"Banshee"},{"Predator"},{"Bus"},{"Rhino"},{"Barracks"},
  37. {"Hotknife"},{"Trailer 1"},{"Previon"},{"Coach"},{"Cabbie"},{"Stallion"},{"Rumpo"},{"RC Bandit"},{"Romero"},
  38. {"Packer"},{"Monster"},{"Admiral"},{"Squalo"},{"Seasparrow"},{"Pizzaboy"},{"Tram"},{"Trailer 2"},{"Turismo"},
  39. {"Speeder"},{"Reefer"},{"Tropic"},{"Flatbed"},{"Yankee"},{"Caddy"},{"Solair"},{"Berkley's RC Van"},{"Skimmer"},
  40. {"PCJ-600"},{"Faggio"},{"Freeway"},{"RC Baron"},{"RC Raider"},{"Glendale"},{"Oceanic"},{"Sanchez"},{"Sparrow"},
  41. {"Patriot"},{"Quad"},{"Coastguard"},{"Dinghy"},{"Hermes"},{"Sabre"},{"Rustler"},{"ZR-350"},{"Walton"},{"Regina"},
  42. {"Comet"},{"BMX"},{"Burrito"},{"Camper"},{"Marquis"},{"Baggage"},{"Dozer"},{"Maverick"},{"News Chopper"},{"Rancher"},
  43. {"FBI Rancher"},{"Virgo"},{"Greenwood"},{"Jetmax"},{"Hotring"},{"Sandking"},{"Blista Compact"},{"Police Maverick"},
  44. {"Boxville"},{"Benson"},{"Mesa"},{"RC Goblin"},{"Hotring Racer A"},{"Hotring Racer B"},{"Bloodring Banger"},
  45. {"Rancher"},{"Super GT"},{"Elegant"},{"Journey"},{"Bike"},{"Mountain Bike"},{"Beagle"},{"Cropdust"},{"Stunt Plane"},
  46. {"Tanker"}, {"Roadtrain"},{"Nebula"},{"Majestic"},{"Buccaneer"},{"Shamal"},{"Hydra"},{"FCR-900"},{"NRG-500"},
  47. {"HPV1000"},{"Cement Truck"},{"Tow Truck"},{"Fortune"},{"Cadrona"},{"FBI Truck"},{"Willard"},{"Forklift"},
  48. {"Tractor"},{"Combine"},{"Feltzer"},{"Remington"},{"Slamvan"},{"Blade"},{"Freight"},{"Streak"},{"Vortex"},
  49. {"Vincent"},{"Bullet"},{"Clover"},{"Sadler"},{"Firetruck LA"},{"Hustler"},{"Intruder"},{"Primo"},{"Cargobob"},
  50. {"Tampa"},{"Sunrise"},{"Merit"},{"Utility"},{"Nevada"},{"Yosemite"},{"Windsor"},{"Monster A"},{"Monster B"},
  51. {"Uranus"},{"Jester"},{"Sultan"},{"Stratum"},{"Elegy"},{"Raindance"},{"RC Tiger"},{"Flash"},{"Tahoma"},{"Savanna"},
  52. {"Bandito"},{"Freight Flat"},{"Streak Carriage"},{"Kart"},{"Mower"},{"Duneride"},{"Sweeper"},{"Broadway"},
  53. {"Tornado"},{"AT-400"},{"DFT-30"},{"Huntley"},{"Stafford"},{"BF-400"},{"Newsvan"},{"Tug"},{"Trailer 3"},{"Emperor"},
  54. {"Wayfarer"},{"Euros"},{"Hotdog"},{"Club"},{"Freight Carriage"},{"Trailer 3"},{"Andromada"},{"Dodo"},{"RC Cam"},{"Launch"},
  55. {"LSPD Car"},{"SFPD Car"},{"LVPD Car"},{"Police Ranger"},{"Picador"},{"S.W.A.T. Van"},{"Alpha"},{"Phoenix"},
  56. {"Glendale"},{"Sadler"},{"Luggage Trailer A"},{"Luggage Trailer B"},{"Stair Trailer"},{"Boxville"},{"Farm Plow"},
  57. {"Utility Trailer"}};
  58.  
  59. enum pInfo
  60. {
  61.         pNumeroVeiculo
  62. }
  63. new PlayerInfo[MAX_PLAYERS][pInfo];
  64.  
  65.  
  66. main()
  67. {
  68. }
  69.  
  70. public OnGameModeInit()
  71. {
  72.         SII_LoadVehicles();
  73.         AddPlayerClass(0, 2119.4000, -1125.9000, 25.4000, 210.0000, 0, 0, 0, 0, 0, 0);
  74.         Create3DTextLabel("Use /ComprarVeiculo", -1, 2132.0000, -1150.3000, 24.2000, 40.0, 0, 1);
  75.         return 1;
  76. }
  77.  
  78. public OnPlayerConnect(playerid)
  79. {
  80.     PlayerInfo[playerid][pNumeroVeiculo] = INVALID_VEHICLE_ID;
  81.         return 1;
  82. }
  83.  
  84. public OnPlayerSpawn(playerid)
  85. {
  86.         GivePlayerMoney(playerid, 100000);
  87.         return 1;
  88. }
  89.  
  90. public OnPlayerCommandText(playerid, cmdtext[])
  91. {
  92.         if(!strcmp("/comprarveiculo", cmdtext, true))
  93.         {
  94.             if(QuantidadeDeVeiculosCarregados >= MAX_SELLING_VEHICLES) return SendClientMessage(playerid, -1, "[Erro] O Numero Maximo de Veiculos Ja foi Atingido.");
  95.                 else if(PlayerInfo[playerid][pNumeroVeiculo] != INVALID_VEHICLE_ID) return SendClientMessage(playerid, -1, "[Erro] Você já tem um veiculo.");
  96.                 else if(!IsPlayerInRangeOfPoint(playerid, 1.5, 2132.0000, -1150.3000, 24.2000)) return SendClientMessage(playerid, -1, "[Erro] Você não está na Concessionaria.");
  97.                 else if(GetPlayerMoney(playerid) < 100000) return SendClientMessage(playerid, -1, "[Erro] Você não tem $100.000 para comprar um carro.");
  98.  
  99.                 ShowPlayerDialog(playerid, BoxVeiculos, DIALOG_STYLE_INPUT, "Veiculos", "Insira o Nome/ID Do Veiculo Desejado:", "Comprar", "Sair");
  100.             return 1;
  101.         }
  102.         else if(!strcmp("/meuveiculo", cmdtext, true))
  103.         {
  104.             if(PlayerInfo[playerid][pNumeroVeiculo] == INVALID_VEHICLE_ID) return SendClientMessage(playerid, -1, "[Erro] Você não tem um veiculo.");
  105.            
  106.             ShowPlayerDialog(playerid, BoxVeiculos+1, DIALOG_STYLE_LIST, "Meu Veiculo", ">> Estacionar\n>> Trancar\n>> Destrancar\n>> Pintar\n>> Vender", "Selecionar", "Sair");
  107.             return 1;
  108.         }
  109.         else if(strcmp("/creditos", cmdtext, true) == 0)
  110.         {
  111.             SendClientMessage(playerid, -1, "Creditos a Dr_Pawno.");
  112.                 return 1;
  113.         }
  114.         return 0;
  115. }
  116.  
  117. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  118. {
  119.         if(dialogid == BoxVeiculos)
  120.         {
  121.             if(!response) return 1;
  122.             new Id = -1;
  123.             if(!IsNumeric(inputtext))
  124.             {
  125.                     for(new i = 0; i < sizeof(VehicleName); i++)
  126.                     {
  127.                         if(!strcmp(inputtext, VehicleName[i], true))
  128.                         {
  129.                                         Id = i + 400;
  130.                                         break;
  131.                                 }
  132.                         }
  133.                         if(Id == -1) return ShowPlayerDialog(playerid, BoxVeiculos, DIALOG_STYLE_INPUT, "Veiculos", "Nome/ID Invalido. Insira um Nome/ID Valido Abaixo:", "Comprar", "Sair");
  134.                 }
  135.                 else
  136.                 {
  137.                     Id = strval(inputtext);
  138.                     if(Id < 400 || Id > 611) return ShowPlayerDialog(playerid, BoxVeiculos, DIALOG_STYLE_INPUT, "Veiculos", "Nome/ID Invalido. Insira um Nome/ID Valido Abaixo:", "Comprar", "Sair");
  139.                 }
  140.                 if(IsABoat(Id) || IsAHelicopter(Id) || IsAAirplane(Id) || IsAInvalid(Id)) return ShowPlayerDialog(playerid, BoxVeiculos, DIALOG_STYLE_INPUT, "Veiculos", "Nome/ID Bloqueado. Insira um Nome/ID Abaixo:", "Comprar", "Sair");
  141.  
  142.                 new i = ChecarNumeroMaisProximo();
  143.                        
  144.                 VehicleInfo[i][vCriado] = true;
  145.                 VehicleInfo[i][vPosX] = 2134.5500;
  146.                 VehicleInfo[i][vPosY] = -1127.1500;
  147.                 VehicleInfo[i][vPosZ] = 26.1000;
  148.                 VehicleInfo[i][vRotZ] = 90.0000;
  149.                 VehicleInfo[i][vModelo] = Id;
  150.                 VehicleInfo[i][vCor1] = 1;
  151.                 VehicleInfo[i][vCor2] = 1;
  152.                 VehicleInfo[i][vTrancado] = false;
  153.                 strmid(VehicleInfo[i][vDono], GetPlayerNameEx(playerid), 0, strlen(GetPlayerNameEx(playerid)), 255);
  154.                 VehicleInfo[i][vID] = CreateVehicle(VehicleInfo[i][vModelo], VehicleInfo[i][vPosX], VehicleInfo[i][vPosY], VehicleInfo[i][vPosZ], VehicleInfo[i][vRotZ], VehicleInfo[i][vCor1], VehicleInfo[i][vCor2], -1);
  155.                 PlayerInfo[playerid][pNumeroVeiculo] = i;
  156.                 PutPlayerInVehicle(playerid, VehicleInfo[i][vID], 0);
  157.                 QuantidadeDeVeiculosCarregados = i;
  158.                 SII_SaveVehicle(i);
  159.                 GivePlayerMoney(playerid, -100000);
  160.                 return 1;
  161.         }
  162.         else if(dialogid == BoxVeiculos+1)
  163.         {
  164.             if(!response) return 1;
  165.             new n = PlayerInfo[playerid][pNumeroVeiculo],
  166.                 i = VehicleInfo[n][vID];
  167.             switch(listitem)
  168.             {
  169.                 case 0:
  170.                 {
  171.                     if(!IsPlayerInVehicle(playerid, i))
  172.                     {
  173.                         SendClientMessage(playerid, -1, "[Erro] Você não esta no seu veiculo.");
  174.                         return ShowPlayerDialog(playerid, BoxVeiculos+1, DIALOG_STYLE_LIST, "Meu Veiculo", ">> Estacionar\n>> Trancar\n>> Destrancar\n>> Pintar\n>> Vender", "Selecionar", "Sair");
  175.                     }
  176.                    
  177.                     new Float:PosX,
  178.                         Float:PosY,
  179.                         Float:PosZ,
  180.                         Float:RotZ;
  181.  
  182.                             GetVehiclePos(i, PosX, PosY, PosZ);
  183.                             GetVehicleZAngle(i, RotZ);
  184.                                    
  185.                                 VehicleInfo[i][vPosX] = PosX;
  186.                                 VehicleInfo[i][vPosY] = PosY;
  187.                                 VehicleInfo[i][vPosZ] = PosZ;
  188.                                 VehicleInfo[i][vRotZ] = RotZ;
  189.                                 SII_SaveVehicle(n);
  190.                                 DestroyVehicle(i);
  191.                                 VehicleInfo[n][vID] = CreateVehicle(VehicleInfo[i][vModelo], VehicleInfo[i][vPosX], VehicleInfo[i][vPosY], VehicleInfo[i][vPosZ], VehicleInfo[i][vRotZ], VehicleInfo[i][vCor1], VehicleInfo[i][vCor2], -1);
  192.                                 PutPlayerInVehicle(playerid, VehicleInfo[n][vID], 0);
  193.                                
  194.                                 SendClientMessage(playerid, -1, "Veiculo Estacionado!");
  195.                                 return 1;
  196.                 }
  197.                 case 1:
  198.                 {
  199.                     if(!VehicleInfo[n][vTrancado])
  200.                     {
  201.                         TrancarVeiculo(i, true);
  202.                                         VehicleInfo[n][vTrancado] = true;
  203.                                         SendClientMessage(playerid, -1, "Veiculo Trancado!");
  204.                                         SII_SaveVehicle(n);
  205.                                         return 1;
  206.                     }
  207.                     else
  208.                     {
  209.                                         SendClientMessage(playerid, -1, "[Erro] Veiculo já Trancado.");
  210.                                         return ShowPlayerDialog(playerid, BoxVeiculos+1, DIALOG_STYLE_LIST, "Meu Veiculo", ">> Estacionar\n>> Trancar\n>> Destrancar\n>> Pintar\n>> Vender", "Selecionar", "Sair");
  211.                     }
  212.                 }
  213.                 case 2:
  214.                 {
  215.                     if(VehicleInfo[n][vTrancado])
  216.                     {
  217.                         TrancarVeiculo(i, false);
  218.                                         VehicleInfo[n][vTrancado] = false;
  219.                                         SendClientMessage(playerid, -1, "Veiculo Destrancado!");
  220.                                         SII_SaveVehicle(n);
  221.                                         return 1;
  222.                     }
  223.                     else
  224.                     {
  225.                                         SendClientMessage(playerid, -1, "[Erro] Veiculo já não esta Trancado.");
  226.                                         return ShowPlayerDialog(playerid, BoxVeiculos+1, DIALOG_STYLE_LIST, "Meu Veiculo", ">> Estacionar\n>> Trancar\n>> Destrancar\n>> Pintar\n>> Vender", "Selecionar", "Sair");
  227.                     }
  228.                 }
  229.                 case 3:
  230.                         {
  231.                             ShowPlayerDialog(playerid, BoxVeiculos-1, DIALOG_STYLE_INPUT, "Pintar", "Insira o ID da Cor 1 que você deseja:", "Pintar", "Voltar");
  232.                             return 1;
  233.                         }
  234.                 case 4:
  235.                 {
  236.                                 VehicleInfo[i][vCriado] = false;
  237.                                 VehicleInfo[i][vPosX] = 2134.5500;
  238.                                 VehicleInfo[i][vPosY] = -1127.1500;
  239.                                 VehicleInfo[i][vPosZ] = 26.1000;
  240.                                 VehicleInfo[i][vRotZ] = 90.0000;
  241.                                 VehicleInfo[i][vModelo] = 400;
  242.                                 VehicleInfo[i][vCor1] = 1;
  243.                                 VehicleInfo[i][vCor2] = 1;
  244.                                 VehicleInfo[i][vTrancado] = false;
  245.                                 strmid(VehicleInfo[i][vDono], "Ninguem", 0, strlen("Ninguem"), 255);
  246.                                 DestroyVehicle(i);
  247.                                 SII_SaveVehicle(n);
  248.                                
  249.                                 PlayerInfo[playerid][pNumeroVeiculo] = INVALID_VEHICLE_ID;
  250.                                 GivePlayerMoney(playerid, 100000);
  251.                                 SendClientMessage(playerid, -1, "Você vendeu seu veiculo.");
  252.                                 return 1;
  253.                 }
  254.                 default:
  255.                 {
  256.                     //?
  257.                 }
  258.             }
  259.         }
  260.         else if(dialogid == BoxVeiculos-1)
  261.         {
  262.             if(!response) return ShowPlayerDialog(playerid, BoxVeiculos+1, DIALOG_STYLE_LIST, "Meu Veiculo", ">> Estacionar\n>> Trancar\n>> Destrancar\n>> Pintar\n>> Vender", "Selecionar", "Sair");
  263.             else if(!strlen(inputtext)) return ShowPlayerDialog(playerid, BoxVeiculos-1, DIALOG_STYLE_INPUT, "Pintar", "Insira o ID da Cor 1 que você deseja:", "Pintar", "Voltar");
  264.             else if(!IsNumeric(inputtext)) return ShowPlayerDialog(playerid, BoxVeiculos-1, DIALOG_STYLE_INPUT, "Pintar", "Insira o ID da Cor 1 que você deseja:", "Pintar", "Voltar");
  265.  
  266.                 new Cor1 = strval(inputtext);
  267.                 if(Cor1 < 0 || Cor1 > 126 && Cor1 < 130 || Cor1 > 175) return ShowPlayerDialog(playerid, BoxVeiculos-1, DIALOG_STYLE_INPUT, "Pintar", "Insira um ID Valido:", "Pintar", "Voltar");
  268.                
  269.                
  270.             new n = PlayerInfo[playerid][pNumeroVeiculo];
  271.                
  272.                 VehicleInfo[n][vCor1] = Cor1;
  273.                 ShowPlayerDialog(playerid, BoxVeiculos-2, DIALOG_STYLE_INPUT, "Pintar", "Insira o ID da Cor 2 que você deseja:", "Pintar", "Voltar");
  274.                 return 1;
  275.         }
  276.         else if(dialogid == BoxVeiculos-2)
  277.         {
  278.             if(!response) return ShowPlayerDialog(playerid, BoxVeiculos+1, DIALOG_STYLE_LIST, "Meu Veiculo", ">> Estacionar\n>> Trancar\n>> Destrancar\n>> Pintar\n>> Vender", "Selecionar", "Sair");
  279.             else if(!strlen(inputtext)) return ShowPlayerDialog(playerid, BoxVeiculos-2, DIALOG_STYLE_INPUT, "Pintar", "Insira o ID da Cor 2 que você deseja:", "Pintar", "Voltar");
  280.             else if(!IsNumeric(inputtext)) return ShowPlayerDialog(playerid, BoxVeiculos-2, DIALOG_STYLE_INPUT, "Pintar", "Insira o ID da Cor 2 que você deseja:", "Pintar", "Voltar");
  281.  
  282.                 new Cor2 = strval(inputtext);
  283.                 if(Cor2 < 0 || Cor2 > 126 && Cor2 < 130 || Cor2 > 175) return ShowPlayerDialog(playerid, BoxVeiculos-2, DIALOG_STYLE_INPUT, "Pintar", "Insira um ID Valido:", "Pintar", "Voltar");
  284.  
  285.  
  286.             new n = PlayerInfo[playerid][pNumeroVeiculo],
  287.                 i = VehicleInfo[n][vID];
  288.  
  289.                 VehicleInfo[n][vCor2] = Cor2;
  290.                 SII_SaveVehicle(n);
  291.                 ChangeVehicleColor(i, VehicleInfo[n][vCor1], VehicleInfo[n][vCor2]);
  292.                 return 1;
  293.         }
  294.         return 1;
  295. }
  296.  
  297. //----------------------------------------------------------------------------//
  298.  
  299. stock GetPlayerNameEx(playerid)
  300. {
  301.         new pName[MAX_PLAYER_NAME];
  302.         GetPlayerName(playerid, pName, MAX_PLAYER_NAME);
  303.         return pName;
  304. }
  305.  
  306. stock ChecarNumeroMaisProximo()
  307. {
  308.         new string[64],
  309.                 Valor, i;
  310.         for(i = 0; i <= QuantidadeDeVeiculosCarregados; i++)
  311.         {
  312.             format(string, sizeof(string), "%s%d.txt", LOCAL_VEICULOS, i);
  313.             if(!fexist(string)) continue;
  314.             INI_Open(string);
  315.             Valor = INI_ReadInt("Criado");
  316.             INI_Close();
  317.             if(!Valor) break;
  318.         }
  319.         if(Valor) return QuantidadeDeVeiculosCarregados + 1;
  320.         return i;
  321. }
  322.  
  323. stock IsNumeric(const string[])
  324. {
  325.         new length = strlen(string);
  326.         if(length==0) return false;
  327.         for(new i = 0; i < length; i++)
  328.         {
  329.                 if((string[i] > '9' || string[i] < '0' && string[i] != '-' && string[i] != '+')
  330.                 || (string[i] == '-' && i != 0) || (string[i] == '+' && i !=0 )) return false;
  331.         }
  332.         if(length == 1 && (string[0] == '-' || string[0] == '+')) return false;
  333.         return true;
  334. }
  335.  
  336. stock IsABoat(model)
  337. {
  338.         if(model == 472 || model == 473 || model == 493 || model == 595 || model == 484 || model == 430 || model == 453 || model == 452 || model == 446 || model == 454) return 1;
  339.         return 0;
  340. }
  341.  
  342. stock IsAHelicopter(model)
  343. {
  344.         if(model == 548 || model == 425 || model == 417 || model == 487 || model == 488 || model == 497 || model == 563 || model == 447 || model == 469) return 1;
  345.         return 0;
  346. }
  347.  
  348. stock IsAAirplane(model)
  349. {
  350.         if(model == 592 || model == 577 || model == 511 || model == 512 || model == 593 || model == 520 || model == 553 || model == 476 || model == 519 || model == 460 || model == 513) return 1;
  351.         return 0;
  352. }
  353.  
  354. stock IsAInvalid(model)
  355. {
  356.         if(model == 538 || model == 532 || model == 406 || model == 537 || model == 588 || model == 423 || model == 574 || model == 449 || model == 539 || model == 407 || model >= 604
  357.         || model == 408 || model == 416 || model == 420 || model == 427 || model == 431 || model == 432 || model == 435 || model == 437 || model == 438 || model == 441 || model == 448
  358.         || model == 450 || model == 459 || model == 464 || model == 465 || model == 470 || model == 490 || model == 494 || model == 495 || model == 501 || model == 502 || model == 503
  359.         || model == 504 || model == 523 || model == 525 || model == 528 || model == 544 || model == 573 || model == 584 || model == 590 || model == 591 || model == 594 || model == 596
  360.         || model == 597 || model == 598 || model == 599 || model == 601) return 1;
  361.         return 0;
  362. }
  363.  
  364. stock TrancarVeiculo(vehicleid, bool:Trancar)
  365. {
  366.         new engine, lights, alarm, doors, bonnet, boot, objective;
  367.         GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
  368.         SetVehicleParamsEx(vehicleid, engine, lights, alarm, Trancar, bonnet, boot, objective);
  369.         return 1;
  370. }
  371.  
  372. //----------------------------------------------------------------------------//
  373. //SII
  374.  
  375. stock SII_SaveVehicle(Number)
  376. {
  377.         new TickCount = GetTickCount(),
  378.                 string[128];
  379.  
  380.         format(string, sizeof(string), "%s%d.txt", LOCAL_VEICULOS, Number);
  381.         INI_Open(string);
  382.         INI_WriteInt("Criado", VehicleInfo[Number][vCriado]);
  383.         INI_WriteFloat("PosX", VehicleInfo[Number][vPosX]);
  384.         INI_WriteFloat("PosY", VehicleInfo[Number][vPosY]);
  385.         INI_WriteFloat("PosZ", VehicleInfo[Number][vPosZ]);
  386.         INI_WriteFloat("RotZ", VehicleInfo[Number][vRotZ]);
  387.         INI_WriteInt("Modelo", VehicleInfo[Number][vModelo]);
  388.         INI_WriteInt("Cor1", VehicleInfo[Number][vCor1]);
  389.         INI_WriteInt("Cor2", VehicleInfo[Number][vCor2]);
  390.         INI_WriteInt("Trancado", VehicleInfo[Number][vTrancado]);
  391.         INI_WriteString("Dono", VehicleInfo[Number][vDono]);
  392.         INI_Save();
  393.         INI_Close();
  394.  
  395.     printf("[SII] Veiculo %d Salvo em %dms.", Number, GetTickCount()-TickCount);
  396.         return 1;
  397. }
  398.  
  399. stock SII_LoadVehicles()
  400. {
  401.         new TickCount = GetTickCount(),
  402.             string[128];
  403.                
  404.         for(new i = 0; i < MAX_SELLING_VEHICLES; i++)
  405.         {
  406.                 format(string, sizeof(string), "%s%d.txt", LOCAL_VEICULOS, i);
  407.                 if(fexist(string))
  408.                 {
  409.                         INI_Open(string);
  410.                         VehicleInfo[i][vCriado] = INI_ReadInt("Criado");
  411.                         VehicleInfo[i][vPosX] = INI_ReadFloat("PosX");
  412.                         VehicleInfo[i][vPosY] = INI_ReadFloat("PosY");
  413.                         VehicleInfo[i][vPosZ] = INI_ReadFloat("PosZ");
  414.                         VehicleInfo[i][vRotZ] = INI_ReadFloat("RotZ");
  415.                         VehicleInfo[i][vModelo] = INI_ReadInt("Modelo");
  416.                         VehicleInfo[i][vCor1] = INI_ReadInt("Cor1");
  417.                         VehicleInfo[i][vCor2] = INI_ReadInt("Cor2");
  418.                         VehicleInfo[i][vTrancado] = INI_ReadInt("Trancado");
  419.                         INI_ReadString("Dono", VehicleInfo[i][vDono], MAX_PLAYER_NAME);
  420.                         INI_Close();
  421.                         QuantidadeDeVeiculosCarregados ++;
  422.                         if(!VehicleInfo[i][vCriado]) CarregadoMaisNaoCriado ++;
  423.                         else
  424.                         {
  425.                                 VehicleInfo[i][vID] = CreateVehicle(VehicleInfo[i][vModelo], VehicleInfo[i][vPosX], VehicleInfo[i][vPosY], VehicleInfo[i][vPosZ], VehicleInfo[i][vRotZ], VehicleInfo[i][vCor1], VehicleInfo[i][vCor2], -1);
  426.                                 if(VehicleInfo[i][vTrancado]) TrancarVeiculo(VehicleInfo[i][vID], true);
  427.                                
  428.                         }
  429.                 }
  430.         }
  431.         printf("[SII] %d(%d)/%d Veiculos Carregados em %dms.", QuantidadeDeVeiculosCarregados, QuantidadeDeVeiculosCarregados-CarregadoMaisNaoCriado, MAX_SELLING_VEHICLES, GetTickCount()-TickCount);
  432.         return 1;
  433. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
Top