Advertisement
Chip7

[COD] Codigo Concessionária Para RPGs

Sep 19th, 2012
670
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 17.67 KB | None | 0 0
  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. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement