Guest User

SOrg by: k2bi_YT

a guest
Sep 12th, 2020
796
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 33.87 KB | None | 0 0
  1. //##############################################################################################################
  2. //##############################################################################################################
  3. //##############################################################################################################
  4. //##############################################################################################################
  5.  
  6. //                                        DA UM CRÉDITO AE MEU IRMÃO :D ( by: K2BI_YT )
  7.  
  8. //##############################################################################################################
  9. //##############################################################################################################
  10. //##############################################################################################################
  11. //##############################################################################################################
  12.  
  13.  
  14. #include <a_samp>
  15. #include <sscanf2>
  16. #include <zcmd>
  17. #include <DOF2>
  18. #include <foreach>
  19. #include <streamer>
  20. #include <mSelection>
  21.  
  22. #define SOrg::%0(%1)         forward %0(%1);\
  23.                            public %0(%1)
  24.  
  25. #define Pasta_Orgs  "PastaOrgs/Org_%d"
  26. #define MAX_ORGS 31 //Limite Maximo ( Use sempre com adcional de +1. Ex: Limit de 31 | Será Listado 30)
  27. #define MAX_MEMBROS 31 //Limite Maximo ( Use sempre com adcional de +1. Ex: Limit de 31 | Será Listado 30)
  28. #define MAX_VEHICLESORG 21 //Limite Maximo ( Use sempre com adcional de +1. Ex: Limit de 21 | Será Listado 0)
  29.  
  30. native IsValidVehicle(vehicleid);
  31.  
  32. static veiculos[][] =
  33. {
  34.         "Landstalker", "Bravura", "Buffalo", "Linerunner", "Perrenial", "Sentinel",
  35.         "Dumper", "Firetruck", "Trashmaster", "Stretch", "Manana", "Infernus",
  36.         "Voodoo", "Pony", "Mule", "Cheetah", "Ambulance", "Leviathan", "Moonbeam",
  37.         "Esperanto", "Taxi", "Washington", "Bobcat", "Whoopee", "BF Injection",
  38.         "Hunter", "Premier", "Enforcer", "Securicar", "Banshee", "Predator", "Bus",
  39.         "Rhino", "Barracks", "Hotknife", "Trailer", "Previon", "Coach", "Cabbie",
  40.         "Stallion", "Rumpo", "RC Bandit", "Romero", "Packer", "Monster", "Admiral",
  41.         "Squalo", "Seasparrow", "Pizzaboy", "Tram", "Trailer", "Turismo", "Speeder",
  42.         "Reefer", "Tropic", "Flatbed", "Yankee", "Caddy", "Solair", "Berkley's RC Van",
  43.         "Skimmer", "PCJ-600", "Faggio", "Freeway", "RC Baron", "RC Raider", "Glendale",
  44.         "Oceanic","Sanchez", "Sparrow", "Patriot", "Quad", "Coastguard", "Dinghy",
  45.         "Hermes", "Sabre", "Rustler", "ZR-350", "Walton", "Regina", "Comet", "BMX",
  46.         "Burrito", "Camper", "Marquis", "Baggage", "Dozer", "Maverick", "News Chopper",
  47.         "Rancher", "FBI Rancher", "Virgo", "Greenwood", "Jetmax", "Hotring", "Sandking",
  48.         "Blista Compact", "Police Maverick", "Boxvillde", "Benson", "Mesa", "RC Goblin",
  49.         "Hotring Racer A", "Hotring Racer B", "Bloodring Banger", "Rancher", "Super GT",
  50.         "Elegant", "Journey", "Bike", "Mountain Bike", "Beagle", "Cropduster", "Stunt",
  51.         "Tanker", "Roadtrain", "Nebula", "Majestic", "Buccaneer", "Shamal", "Hydra",
  52.         "FCR-900", "NRG-500", "HPV1000", "Cement Truck", "Tow Truck", "Fortune",
  53.         "Cadrona", "FBI Truck", "Willard", "Forklift", "Tractor", "Combine", "Feltzer",
  54.         "Remington", "Slamvan", "Blade", "Freight", "Streak", "Vortex", "Vincent",
  55.         "Bullet", "Clover", "Sadler", "Firetruck", "Hustler", "Intruder", "Primo",
  56.         "Cargobob", "Tampa", "Sunrise", "Merit", "Utility", "Nevada", "Yosemite",
  57.         "Windsor", "Monster", "Monster", "Uranus", "Jester", "Sultan", "Stratium",
  58.         "Elegy", "Raindance", "RC Tiger", "Flash", "Tahoma", "Savanna", "Bandito",
  59.         "Freight Flat", "Streak Carriage", "Kart", "Mower", "Dune", "Sweeper",
  60.         "Broadway", "Tornado", "AT-400", "DFT-30", "Huntley", "Stafford", "BF-400",
  61.         "News Van", "Tug", "Trailer", "Emperor", "Wayfarer", "Euros", "Hotdog", "Club",
  62.         "Freight Box", "Trailer", "Andromada", "Dodo", "RC Cam", "Launch", "Police Car",
  63.         "Police Car", "Police Car", "Police Ranger", "Picador", "S.W.A.T", "Alpha",
  64.         "Phoenix", "Glendale", "Sadler", "Luggage", "Luggage", "Stairs", "Boxville",
  65.         "Tiller", "Utility Trailer"
  66. };
  67.  
  68. enum iOrg
  69. {
  70.     Float:X, // Variavel para Spawn da organização ( Onde os jogadores irá nascer )
  71.     Float:Y, // Variavel para Spawn da organização ( Onde os jogadores irá nascer )
  72.     Float:Z, // Variavel para Spawn da organização ( Onde os jogadores irá nascer )
  73.     World, // Variavel para Spawn da organização ( Onde os jogadores irá nascer )
  74.     Interior, // Variavel para Spawn da organização ( Onde os jogadores irá nascer )
  75.     Name[64], // Nome Da Organização
  76.     Dinheiro,
  77.     Armamentos, // Materiais da org para se equipar
  78.     Lider[64],
  79.     SubLider2[64],
  80.     SubLider[64],
  81.     TipoOrg,
  82.     Color[18], // Cor da Organização
  83.     Ativo, // Organização Ativa?
  84.     Float:pickupX[4], // Variavel das Pickup's ( Informações | Colete | Entrada | Saida )
  85.     Float:pickupY[4], // Variavel das Pickup's ( Informações | Colete | Entrada | Saida )
  86.     Float:pickupZ[4], // Variavel das Pickup's ( Informações | Colete | Entrada | Saida )
  87.     pickupInterior[4], // Variavel das Pickup's ( Informações | Colete | Entrada | Saida )
  88.     pickupWorld[4], // Variavel das Pickup's ( Informações | Colete | Entrada | Saida )
  89.     PickupID[4], // Variavel que Será Definido a Criação das Pickup's
  90.     VehModel, //Variavel Salvara o Modelo do Veículo
  91.     Float:VehX, //Variavel das Coordenadas dos veículos da organização
  92.     Float:VehY, //Variavel das Coordenadas dos veículos da organização
  93.     Float:VehZ, //Variavel das Coordenadas dos veículos da organização
  94.     Float:VehR, //Variavel das Coordenadas dos veículos da organização
  95.     VehColor1, // Variavel das Cores Definida dos Veículos
  96.     VehColor2, // Variavel das Cores Definida dos Veículos
  97.     VehID // Variavel que Armazenará o ID do Veículo  ( O ID do Veículo pode ser listado com /dl )
  98. };
  99.  
  100. new InfoVeh[MAX_ORGS][MAX_VEHICLESORG][iOrg];
  101. new InfoOrg[MAX_ORGS][iOrg];
  102. new InfoMembros[MAX_ORGS][MAX_MEMBROS];
  103. new SelectOrg[MAX_PLAYERS];
  104. new ListaCarrosOrg = mS_INVALID_LISTID;
  105.  
  106. public OnGameModeInit()
  107. {
  108.     ListaCarrosOrg = LoadModelSelectionMenu("CarrosOrg.ini");
  109.     CarregarOrg();
  110.     return 1;
  111. }
  112.  
  113. public OnGameModeExit()
  114. {
  115.     SalvarOrg();
  116.     DOF2_Exit();
  117.     return 1;
  118. }
  119.  
  120. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  121. {
  122.     new str[256];
  123.     if(dialogid == 2)
  124.     {
  125.         if(response)
  126.         {
  127.             if(!strlen(inputtext)) return SendClientMessage(playerid, -1, "Você deve digitar um nome para organização.");
  128.             for(new i = 1; i < MAX_ORGS; i++)
  129.             {
  130.                 if(InfoOrg[i][Ativo] == 0)
  131.                 {
  132.                     InfoOrg[i][Ativo] = 1;
  133.                     strmid(InfoOrg[i][Name], inputtext, 0, strlen(inputtext), 255);
  134.                     InfoOrg[i][Dinheiro] = 0;
  135.                     InfoOrg[i][Armamentos] = 0;
  136.                     InfoOrg[i][World] = 0;
  137.                     InfoOrg[i][Interior] = 0;
  138.                     InfoOrg[i][TipoOrg] = GetPVarInt(playerid, #VarTipo);
  139.                     strmid(InfoOrg[i][Color], "FF0000", 0, strlen("FF0000"), 255);
  140.                     InfoOrg[i][X] = 0;
  141.                     InfoOrg[i][Y] = 0;
  142.                     InfoOrg[i][Z] = 0;
  143.                     SelectOrg[playerid] = i;
  144.                     strmid(InfoOrg[i][Lider], "Ninguém", 0, strlen("Ninguém"), 255);
  145.                     strmid(InfoOrg[i][SubLider], "Ninguém", 0, strlen("Ninguém"), 255);
  146.                     strmid(InfoOrg[i][SubLider2], "Ninguém", 0, strlen("Ninguém"), 255);
  147.                     for(new m = 1; m < MAX_MEMBROS; m++)
  148.                     {
  149.                         strmid(InfoMembros[i][m], "Ninguém", 0, strlen("Ninguém"), 255);
  150.                     }
  151.                     for(new p = 0; p < 4; p++)
  152.                     {
  153.                         InfoOrg[i][pickupX][p] = 9999;
  154.                         InfoOrg[i][pickupY][p] = 9999;
  155.                         InfoOrg[i][pickupZ][p] = 9999;
  156.                         InfoOrg[i][pickupInterior][p] = 9999;
  157.                         InfoOrg[i][pickupWorld][p] = 9999;
  158.                     }
  159.                     format(str, sizeof(str), "{00FFFF}SOrg: {FFFFFF}Organização Nome: {%s}%s (%d)",InfoOrg[i][Color], InfoOrg[i][Name], i);
  160.                     SendClientMessage(playerid, 0xFFFF00AA, str);
  161.                     format(str, sizeof(str), "Editando ORG: %s (%d)", InfoOrg[i][Name], SelectOrg[playerid]);
  162.                     ShowPlayerDialog(playerid, 3, DIALOG_STYLE_LIST, str, "Alterar Nome\nAlterar Cor\nDefinir Spawn\nPos. Pickups\n{FF0000}Excluir", "Selecionar","Cancelar");
  163.                     return 1;
  164.                 }
  165.             }
  166.         }
  167.     }
  168.    
  169.     if(dialogid == 3)
  170.     {
  171.         if(response)
  172.         {
  173.             if(listitem == 0)
  174.             {
  175.                 ShowPlayerDialog(playerid, 4, DIALOG_STYLE_INPUT, "Alterar Nome Org", "{00FFFF}Digite o nome da organização", "Alterar", "Cancelar");
  176.             }
  177.             if(listitem == 1)
  178.             {
  179.                 ShowPlayerDialog(playerid, 5, DIALOG_STYLE_INPUT, "Alterar Cor", "{00FFFF}Alterar Cor Org\n\n{FF0000}Exemplo: {008000}008000 ( VERDE )", "Alterar", "Cancelar");
  180.             }
  181.             if(listitem == 2)
  182.             {
  183.                 SetPVarInt(playerid, #VarSetSpawn, 1);
  184.                 SendClientMessage(playerid, -1, "{00FFFF}SOrg: {FFFFFF}Vá até o local desejado e use {FFFF80}'Y' {FFFFFF}para confirmar o local de spawn.");
  185.             }
  186.             if(listitem == 3)
  187.             {
  188.                 ShowPlayerDialog(playerid, 6, DIALOG_STYLE_LIST, "Pickups Orgs", "Pickup Info.\nPickup Fardamento (Organizações COP)\nPickup Entrada\nPickup Saida", "Selecionar", "Cancelar");
  189.             }
  190.             if(listitem == 4)
  191.             {
  192.                 new MegaString[500];
  193.                 MegaString[0] = EOS;
  194.                 for(new veh = 0; veh < MAX_VEHICLESORG; veh++)
  195.                 {
  196.                     format(str, sizeof(str), "{FFFFFF}(%d) %s\n", veh, PegarVehicleName(InfoVeh[SelectOrg[playerid]][veh][VehID]));
  197.                     strcat(MegaString, str);
  198.                 }
  199.                 ShowPlayerDialog(playerid, 9, DIALOG_STYLE_LIST, "Veiculos Org", MegaString, "Selecionar","Cancelar");
  200.             }
  201.             if(listitem == 5)
  202.             {
  203.                 ShowPlayerDialog(playerid, 11, DIALOG_STYLE_INPUT, "Veiculo Cor 1", "{00FFFF}Digite a ID da cor desejada.", "Proximo", "Cancelar");
  204.             }
  205.             if(listitem == 6)
  206.             {
  207.                 new file[25];
  208.                 format(file, sizeof(file), Pasta_Orgs, SelectOrg[playerid]);
  209.                 if(DOF2_FileExists(file)) DOF2_RemoveFile(file);
  210.                 InfoOrg[SelectOrg[playerid]][Ativo] = 0;
  211.                 strmid(InfoOrg[SelectOrg[playerid]][Name], "----", 0, strlen("----"), 255);
  212.                 InfoOrg[SelectOrg[playerid]][Dinheiro] = 0;
  213.                 InfoOrg[SelectOrg[playerid]][Armamentos] = 0;
  214.                 InfoOrg[SelectOrg[playerid]][World] = 0;
  215.                 InfoOrg[SelectOrg[playerid]][Interior] = 0;
  216.                 InfoOrg[SelectOrg[playerid]][TipoOrg] = 0;
  217.                 strmid(InfoOrg[SelectOrg[playerid]][Color], "FF0000", 0, strlen("FF0000"), 255);
  218.                 InfoOrg[SelectOrg[playerid]][X] = 0;
  219.                 InfoOrg[SelectOrg[playerid]][Y] = 0;
  220.                 InfoOrg[SelectOrg[playerid]][Z] = 0;
  221.                 strmid(InfoOrg[SelectOrg[playerid]][Lider], "Ninguém", 0, strlen("Ninguém"), 255);
  222.                 strmid(InfoOrg[SelectOrg[playerid]][SubLider], "Ninguém", 0, strlen("Ninguém"), 255);
  223.                 strmid(InfoOrg[SelectOrg[playerid]][SubLider2], "Ninguém", 0, strlen("Ninguém"), 255);
  224.                 for(new m = 1; m < MAX_MEMBROS; m++)
  225.                 {
  226.                     strmid(InfoMembros[SelectOrg[playerid]][m], "Ninguém", 0, strlen("Ninguém"), 255);
  227.                 }
  228.                 for(new veh = 0; veh < MAX_VEHICLESORG; veh++)
  229.                 {
  230.                     if(IsValidVehicle(InfoVeh[SelectOrg[playerid]][veh][VehID])) DestroyVehicle(InfoVeh[SelectOrg[playerid]][veh][VehID]);
  231.                     InfoVeh[SelectOrg[playerid]][veh][VehModel] = 0;
  232.                     InfoVeh[SelectOrg[playerid]][veh][VehX] = 0;
  233.                     InfoVeh[SelectOrg[playerid]][veh][VehY] = 0;
  234.                     InfoVeh[SelectOrg[playerid]][veh][VehZ] = 0;
  235.                     InfoVeh[SelectOrg[playerid]][veh][VehR] = 0;
  236.                 }
  237.                 for(new p = 0; p < 4; p++)
  238.                 {
  239.                     InfoOrg[SelectOrg[playerid]][pickupX][p] = 9999;
  240.                     InfoOrg[SelectOrg[playerid]][pickupY][p] = 9999;
  241.                     InfoOrg[SelectOrg[playerid]][pickupZ][p] = 9999;
  242.                     InfoOrg[SelectOrg[playerid]][pickupInterior][p] = 9999;
  243.                     InfoOrg[SelectOrg[playerid]][pickupWorld][p] = 9999;
  244.                     DestroyDynamicPickup(InfoOrg[SelectOrg[playerid]][PickupID][p]);
  245.                 }
  246.                 SendClientMessage(playerid, -1, "{00FFFF}SOrg: {FFFFFF}Organização excluida com sucesso!");
  247.             }
  248.         }
  249.     }
  250.  
  251.     if(dialogid == 4)
  252.     {
  253.         if(response)
  254.         {
  255.             if(!strlen(inputtext)) return SendClientMessage(playerid, -1, "Você deve digitar um nome para organização.");
  256.             strmid(InfoOrg[SelectOrg[playerid]][Name], inputtext, 0, strlen(inputtext), 255);
  257.             format(str, sizeof(str), "Nome alterado para: %s", InfoOrg[SelectOrg[playerid]][Name]);
  258.             SendClientMessage(playerid, 0x00FFFFAA, str);
  259.             format(str, sizeof(str), "Editando ORG: %s (%d)", InfoOrg[SelectOrg[playerid]][Name], SelectOrg[playerid]);
  260.             ShowPlayerDialog(playerid, 3, DIALOG_STYLE_LIST, str, "Alterar Nome\nAlterar Cor\nDefinir Spawn\nPickups\n{FF0000}Excluir", "Selecionar","Cancelar");
  261.         }
  262.     }
  263.  
  264.     if(dialogid == 5)
  265.     {
  266.         if(response)
  267.         {
  268.             new hex;
  269.             if(sscanf(inputtext, "x", hex)) return SendClientMessage(playerid, -1, "A cor deve ser hexadecimal.");
  270.             if(strlen(inputtext) > 6) return SendClientMessage(playerid, -1, "A cor deve ser hexadecimal.");
  271.             strmid(InfoOrg[SelectOrg[playerid]][Color], inputtext, 0, strlen(inputtext), 255);
  272.             format(str, sizeof(str), "Cor alterado para: {%s}%s", InfoOrg[SelectOrg[playerid]][Color], InfoOrg[SelectOrg[playerid]][Name]);
  273.             SendClientMessage(playerid, 0x00FFFFAA, str);
  274.             format(str, sizeof(str), "Editando ORG: %s (%d)", InfoOrg[SelectOrg[playerid]][Name], SelectOrg[playerid]);
  275.             ShowPlayerDialog(playerid, 3, DIALOG_STYLE_LIST, str, "Alterar Nome\nAlterar Cor\nDefinir Spawn\nPickups\n{FF0000}Excluir", "Selecionar","Cancelar");
  276.         }
  277.     }
  278.  
  279.     if(dialogid == 6)
  280.     {
  281.         if(response)
  282.         {
  283.             for(new i = 0; i < 4; i++)
  284.             {
  285.                 if(i == listitem)
  286.                 {
  287.                     SetPVarInt(playerid, #VarSetP, listitem+1);
  288.                     SendClientMessage(playerid, -1, "{00FFFF}SOrg: {FFFFFF}Vá até o local desejado e use {FFFF80}'Y' {FFFFFF}para confirmar o local da Pickup.");
  289.                 }
  290.             }
  291.         }
  292.     }
  293.  
  294.     if(dialogid == 8)
  295.     {
  296.         for(new i = 1; i < MAX_ORGS; i++)
  297.         {
  298.             if(strfind(inputtext, InfoOrg[i][Name], false) != -1)
  299.             {
  300.                 SelectOrg[playerid] = i;
  301.                 format(str, sizeof(str), "Editando ORG: %s (%d)", InfoOrg[i][Name], i);
  302.                 ShowPlayerDialog(playerid, 3, DIALOG_STYLE_LIST, str, "Alterar Nome\nAlterar Cor\nDefinir Spawn\nPickups\nVeiculos\nCor Veiculos\n{FF0000}Excluir", "Selecionar","Cancelar");
  303.                 return 1;
  304.             }
  305.         }
  306.     }
  307.  
  308.     if(dialogid == 9)
  309.     {
  310.         if(response)
  311.         {
  312.             SetPVarInt(playerid, #VarEditVehOrg, listitem);
  313.            format(str, sizeof(str), "Editar Veiculo %i: %s", listitem, PegarVehicleName(InfoVeh[SelectOrg[playerid]][listitem][VehID]));
  314.             if(InfoVeh[SelectOrg[playerid]][listitem][VehModel] == 0)
  315.             {
  316.                 SetPVarInt(playerid, #VarListVeh, 2);
  317.                ShowModelSelectionMenu(playerid, ListaCarrosOrg, "Veiculos");
  318.             }
  319.             else
  320.             {
  321.                 PutPlayerInVehicle(playerid, InfoVeh[SelectOrg[playerid]][listitem][VehID], 0);
  322.                 ShowPlayerDialog(playerid, 10, DIALOG_STYLE_LIST, str, "Alterar Modelo\nPosicionar Veiculo\nDeletar Veiculo", "Selecionar","Cancelar");
  323.             }
  324.         }
  325.     }
  326.  
  327.     if(dialogid == 10)
  328.     {
  329.         if(response)
  330.         {
  331.             if(listitem == 0)
  332.             {
  333.                 SetPVarInt(playerid, #VarListVeh, 1);
  334.                 ShowModelSelectionMenu(playerid, ListaCarrosOrg, "Veiculos");
  335.             }
  336.             if(listitem == 1)
  337.             {
  338.                 SetPVarInt(playerid, #VarPosVeh, 1);
  339.                 SendClientMessage(playerid, -1, "{00FFFF}SOrg: {FFFFFF}Posicione o veículo no local desejado e use 'Y' para salvar.");
  340.             }
  341.             if(listitem == 2)
  342.             {
  343.                 new veh = GetPVarInt(playerid, #VarEditVehOrg);
  344.                 DestroyVehicle(InfoVeh[SelectOrg[playerid]][veh][VehID]);
  345.                 InfoVeh[SelectOrg[playerid]][veh][VehModel] = 0;
  346.                 InfoVeh[SelectOrg[playerid]][veh][VehX] = 0;
  347.                 InfoVeh[SelectOrg[playerid]][veh][VehY] = 0;
  348.                 InfoVeh[SelectOrg[playerid]][veh][VehZ] = 0;
  349.                 InfoVeh[SelectOrg[playerid]][veh][VehR] = 0;
  350.                 new MegaString[500];
  351.                 MegaString[0] = EOS;
  352.                 for(new i = 0; i < MAX_VEHICLESORG; i++)
  353.                 {
  354.                     format(str, sizeof(str), "{FFFFFF}(%d) %s\n", veh, PegarVehicleName(InfoVeh[SelectOrg[playerid]][i][VehID]));
  355.                     strcat(MegaString, str);
  356.                 }
  357.                 ShowPlayerDialog(playerid, 9, DIALOG_STYLE_LIST, "Veiculos Org", MegaString, "Selecionar","Cancelar");
  358.             }
  359.         }
  360.     }
  361.  
  362.     if(dialogid == 11)
  363.     {
  364.         if(response)
  365.         {
  366.             if(!strval(inputtext)) return SendClientMessage(playerid, -1, "A ID da cor deve ser apenas números.");
  367.             InfoOrg[SelectOrg[playerid]][VehColor1] = strval(inputtext);
  368.             for(new i = 0; i < MAX_VEHICLESORG; i++)
  369.             {
  370.                 ChangeVehicleColor(InfoVeh[SelectOrg[playerid]][i][VehID], InfoOrg[SelectOrg[playerid]][VehColor1], InfoOrg[SelectOrg[playerid]][VehColor2]);
  371.                 ShowPlayerDialog(playerid, 12, DIALOG_STYLE_INPUT, "Veiculo Cor 2", "{00FFFF}Digite a ID da cor desejada.", "Confirmar", "Cancelar");
  372.             }
  373.         }
  374.     }
  375.     if(dialogid == 12)
  376.     {
  377.         if(response)
  378.         {
  379.             if(!strval(inputtext)) return SendClientMessage(playerid, -1, "A ID da cor deve ser apenas números.");
  380.             InfoOrg[SelectOrg[playerid]][VehColor2] = strval(inputtext);
  381.             for(new i = 0; i < MAX_VEHICLESORG; i++)
  382.             {
  383.                 ChangeVehicleColor(InfoVeh[SelectOrg[playerid]][i][VehID], InfoOrg[SelectOrg[playerid]][VehColor1], InfoOrg[SelectOrg[playerid]][VehColor2]);
  384.             }
  385.             SendClientMessage(playerid, -1, "{00FFFF}SOrg: {FFFFFF}Cores dos veículos alterados com sucesso!");
  386.         }
  387.     }
  388.     return 1;
  389. }
  390.  
  391. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  392. {
  393.     new str[128];
  394.     if(newkeys == KEY_YES)
  395.     {
  396.         new Float:x, Float:y, Float:z, Float:r;
  397.         if(GetPVarInt(playerid, #VarPosVeh) == 1 && IsPlayerInAnyVehicle(playerid))
  398.         {
  399.             GetVehiclePos(InfoVeh[SelectOrg[playerid]][GetPVarInt(playerid, #VarEditVehOrg)][VehID], x,y,z);
  400.             GetVehicleZAngle(InfoVeh[SelectOrg[playerid]][GetPVarInt(playerid, #VarEditVehOrg)][VehID], r);
  401.             InfoVeh[SelectOrg[playerid]][GetPVarInt(playerid, #VarEditVehOrg)][VehX] = x;
  402.             InfoVeh[SelectOrg[playerid]][GetPVarInt(playerid, #VarEditVehOrg)][VehY] = y;
  403.             InfoVeh[SelectOrg[playerid]][GetPVarInt(playerid, #VarEditVehOrg)][VehZ] = z;
  404.             InfoVeh[SelectOrg[playerid]][GetPVarInt(playerid, #VarEditVehOrg)][VehR] = r;
  405.             DestroyVehicle(InfoVeh[SelectOrg[playerid]][GetPVarInt(playerid, #VarEditVehOrg)][VehID]);
  406.             InfoVeh[SelectOrg[playerid]][GetPVarInt(playerid, #VarEditVehOrg)][VehID] = AddStaticVehicle(InfoVeh[SelectOrg[playerid]][GetPVarInt(playerid, #VarEditVehOrg)][VehModel], InfoVeh[SelectOrg[playerid]][GetPVarInt(playerid, #VarEditVehOrg)][VehX],
  407.                 InfoVeh[SelectOrg[playerid]][GetPVarInt(playerid, #VarEditVehOrg)][VehY], InfoVeh[SelectOrg[playerid]][GetPVarInt(playerid, #VarEditVehOrg)][VehZ], InfoVeh[SelectOrg[playerid]][GetPVarInt(playerid, #VarEditVehOrg)][VehR], InfoOrg[SelectOrg[playerid]][VehColor1], InfoOrg[SelectOrg[playerid]][VehColor2]);
  408.             PutPlayerInVehicle(playerid, InfoVeh[SelectOrg[playerid]][GetPVarInt(playerid, #VarEditVehOrg)][VehID], 0);
  409.             new MegaString[500];
  410.             MegaString[0] = EOS;
  411.             for(new i = 0; i < MAX_VEHICLESORG; i++)
  412.             {
  413.                 format(str, sizeof(str), "{FFFFFF}(%d) %s\n", i, PegarVehicleName(InfoVeh[SelectOrg[playerid]][i][VehID]));
  414.                 strcat(MegaString, str);
  415.             }
  416.             ShowPlayerDialog(playerid, 9, DIALOG_STYLE_LIST, "Veiculos Org", MegaString, "Selecionar","Cancelar");
  417.             DeletePVar(playerid, #VarPosVeh);
  418.             SendClientMessage(playerid, -1, "{00FFFF}SOrg: {FFFFFF}Veiculo Posicionado com sucesso.");
  419.             return 1;
  420.         }
  421.  
  422.         GetPlayerPos(playerid, x,y,z);
  423.         if(GetPVarInt(playerid, #VarSetSpawn))
  424.         {
  425.             InfoOrg[SelectOrg[playerid]][X] = x;
  426.             InfoOrg[SelectOrg[playerid]][Y] = y;
  427.             InfoOrg[SelectOrg[playerid]][Z] = z;
  428.             InfoOrg[SelectOrg[playerid]][Interior] = GetPlayerInterior(playerid);
  429.             InfoOrg[SelectOrg[playerid]][World] = GetPlayerVirtualWorld(playerid);
  430.             SendClientMessage(playerid, -1, "{00FFFF}SOrg: {FFFFFF}Spawn definido com sucesso!");
  431.             DeletePVar(playerid, #VarSetSpawn);
  432.             return 1;
  433.         }
  434.         switch(GetPVarInt(playerid, #VarSetP))
  435.         {
  436.             case 1:
  437.             {
  438.                 InfoOrg[SelectOrg[playerid]][pickupX][0] = x;
  439.                 InfoOrg[SelectOrg[playerid]][pickupY][0] = y;
  440.                 InfoOrg[SelectOrg[playerid]][pickupZ][0] = z;
  441.                 InfoOrg[SelectOrg[playerid]][pickupWorld][0] = GetPlayerVirtualWorld(playerid);
  442.                 InfoOrg[SelectOrg[playerid]][pickupInterior][0] = GetPlayerInterior(playerid);
  443.                 InfoOrg[SelectOrg[playerid]][PickupID][0] = CreateDynamicPickup(1314, 23, InfoOrg[SelectOrg[playerid]][pickupX][0], InfoOrg[SelectOrg[playerid]][pickupY][0], InfoOrg[SelectOrg[playerid]][pickupZ][0],
  444.                 InfoOrg[SelectOrg[playerid]][pickupWorld][0], InfoOrg[SelectOrg[playerid]][pickupInterior][0]);
  445.                 DeletePVar(playerid, #VarSetP);
  446.                 return 1;
  447.             }
  448.             case 2:
  449.             {
  450.                 InfoOrg[SelectOrg[playerid]][pickupX][1] = x;
  451.                 InfoOrg[SelectOrg[playerid]][pickupY][1] = y;
  452.                 InfoOrg[SelectOrg[playerid]][pickupZ][1] = z;
  453.                 InfoOrg[SelectOrg[playerid]][pickupWorld][1] = GetPlayerVirtualWorld(playerid);
  454.                 InfoOrg[SelectOrg[playerid]][pickupInterior][1] = GetPlayerInterior(playerid);
  455.                 InfoOrg[SelectOrg[playerid]][PickupID][1] = CreateDynamicPickup(1242, 23, InfoOrg[SelectOrg[playerid]][pickupX][1], InfoOrg[SelectOrg[playerid]][pickupY][1], InfoOrg[SelectOrg[playerid]][pickupZ][1],
  456.                 InfoOrg[SelectOrg[playerid]][pickupWorld][1], InfoOrg[SelectOrg[playerid]][pickupInterior][1]);
  457.                 DeletePVar(playerid, #VarSetP);
  458.                 return 1;
  459.             }
  460.             case 3:
  461.             {
  462.                 InfoOrg[SelectOrg[playerid]][pickupX][2] = x;
  463.                 InfoOrg[SelectOrg[playerid]][pickupY][2] = y;
  464.                 InfoOrg[SelectOrg[playerid]][pickupZ][2] = z;
  465.                 InfoOrg[SelectOrg[playerid]][pickupWorld][2] = GetPlayerVirtualWorld(playerid);
  466.                 InfoOrg[SelectOrg[playerid]][pickupInterior][2] = GetPlayerInterior(playerid);
  467.                 InfoOrg[SelectOrg[playerid]][PickupID][2] = CreateDynamicPickup(1318, 23, InfoOrg[SelectOrg[playerid]][pickupX][2], InfoOrg[SelectOrg[playerid]][pickupY][2], InfoOrg[SelectOrg[playerid]][pickupZ][2],
  468.                 InfoOrg[SelectOrg[playerid]][pickupWorld][2], InfoOrg[SelectOrg[playerid]][pickupInterior][2]);
  469.                 DeletePVar(playerid, #VarSetP);
  470.                 return 1;
  471.             }
  472.             case 4:
  473.             {
  474.                 InfoOrg[SelectOrg[playerid]][pickupX][3] = x;
  475.                 InfoOrg[SelectOrg[playerid]][pickupY][3] = y;
  476.                 InfoOrg[SelectOrg[playerid]][pickupZ][3] = z;
  477.                 InfoOrg[SelectOrg[playerid]][pickupWorld][3] = GetPlayerVirtualWorld(playerid);
  478.                 InfoOrg[SelectOrg[playerid]][pickupInterior][3] = GetPlayerInterior(playerid);
  479.                 InfoOrg[SelectOrg[playerid]][PickupID][3] = CreateDynamicPickup(1318, 23, InfoOrg[SelectOrg[playerid]][pickupX][3], InfoOrg[SelectOrg[playerid]][pickupY][3], InfoOrg[SelectOrg[playerid]][pickupZ][3],
  480.                 InfoOrg[SelectOrg[playerid]][pickupWorld][3], InfoOrg[SelectOrg[playerid]][pickupInterior][3]);
  481.                 DeletePVar(playerid, #VarSetP);
  482.                 return 1;
  483.             }
  484.         }
  485.     }
  486.     if(newkeys == 16 && !IsPlayerInAnyVehicle(playerid))
  487.     {
  488.         for(new i = 1; i < MAX_ORGS; i++)
  489.         {
  490.             if(IsPlayerInRangeOfPoint(playerid, 2, InfoOrg[i][pickupX][2], InfoOrg[i][pickupY][2], InfoOrg[i][pickupZ][2]) && GetPlayerInterior(playerid) == InfoOrg[SelectOrg[playerid]][pickupInterior][2] &&
  491.                 GetPlayerVirtualWorld(playerid) == InfoOrg[SelectOrg[playerid]][pickupWorld][2])
  492.             {
  493.                 SetPlayerPos(playerid, InfoOrg[i][pickupX][3], InfoOrg[i][pickupY][3], InfoOrg[i][pickupZ][3]);
  494.                 SetPlayerVirtualWorld(playerid, InfoOrg[i][pickupWorld][3]);
  495.                 SetPlayerInterior(playerid, InfoOrg[i][pickupInterior][3]);
  496.                 return 1;
  497.             }
  498.             if(IsPlayerInRangeOfPoint(playerid, 2, InfoOrg[i][pickupX][3], InfoOrg[i][pickupY][3], InfoOrg[i][pickupZ][3]) && GetPlayerInterior(playerid) == InfoOrg[SelectOrg[playerid]][pickupInterior][3] &&
  499.                 GetPlayerVirtualWorld(playerid) == InfoOrg[SelectOrg[playerid]][pickupWorld][3])
  500.             {
  501.                 SetPlayerPos(playerid, InfoOrg[i][pickupX][2], InfoOrg[i][pickupY][2], InfoOrg[i][pickupZ][2]);
  502.                 SetPlayerVirtualWorld(playerid, InfoOrg[i][pickupWorld][2]);
  503.                 SetPlayerInterior(playerid, InfoOrg[i][pickupInterior][2]);
  504.                 return 1;
  505.             }
  506.             if(IsPlayerInRangeOfPoint(playerid, 2, InfoOrg[i][pickupX][0], InfoOrg[i][pickupY][0], InfoOrg[i][pickupZ][0]) && GetPlayerInterior(playerid) == InfoOrg[SelectOrg[playerid]][pickupInterior][0] &&
  507.                 GetPlayerVirtualWorld(playerid) == InfoOrg[SelectOrg[playerid]][pickupWorld][0])
  508.             {
  509.                 new string[500];
  510.                 format(str, sizeof(str), "Cofre %s", InfoOrg[i][Name]);
  511.                 format(string, sizeof(string), "{00FF00}Lider: {FFFFFF}%s\n{00FF00}Sub-Lider: {FFFFFF}%s\n{00FF00}Sub-Lider: {FFFFFF}%s\n\n{00FF00}Dinheiro: {FFFFFF}%d\n{00FF00}Armamentos: {FFFFFF}%d", InfoOrg[i][Lider], InfoOrg[i][SubLider],
  512.                     InfoOrg[i][SubLider2], InfoOrg[i][Dinheiro], InfoOrg[i][Armamentos]);
  513.                 ShowPlayerDialog(playerid, 500, DIALOG_STYLE_LIST, str, string, "Fechar", "Cancelar");
  514.                 return 1;          
  515.             }
  516.         }
  517.     }
  518.     return 1;
  519. }
  520.  
  521. SOrg::OnPlayerModelSelection(playerid, response, listid, modelid)
  522. {
  523.     new str[128];
  524.     if(listid == ListaCarrosOrg)
  525.     {
  526.         if(response)
  527.         {
  528.             new veh = GetPVarInt(playerid, #VarEditVehOrg);
  529.             if(GetPVarInt(playerid, #VarListVeh) == 1)
  530.             {
  531.                 InfoVeh[SelectOrg[playerid]][veh][VehModel] = modelid;
  532.                 DestroyVehicle(InfoVeh[SelectOrg[playerid]][veh][VehID]);
  533.                 InfoVeh[SelectOrg[playerid]][veh][VehID] = AddStaticVehicle(InfoVeh[SelectOrg[playerid]][veh][VehModel], InfoVeh[SelectOrg[playerid]][veh][VehX], InfoVeh[SelectOrg[playerid]][veh][VehY], InfoVeh[SelectOrg[playerid]][veh][VehZ], InfoVeh[SelectOrg[playerid]][veh][VehR], InfoOrg[SelectOrg[playerid]][VehColor1], InfoOrg[SelectOrg[playerid]][VehColor2]);
  534.                 PutPlayerInVehicle(playerid, InfoVeh[SelectOrg[playerid]][veh][VehID], 0);
  535.                 return 1;
  536.             }
  537.             if(GetPVarInt(playerid, #VarListVeh) == 2)
  538.             {
  539.                 new Float:x, Float:y, Float:z;
  540.                 GetPlayerPos(playerid, x,y,z);
  541.                 InfoVeh[SelectOrg[playerid]][veh][VehModel] = modelid;
  542.                 InfoVeh[SelectOrg[playerid]][veh][VehX] = x;
  543.                 InfoVeh[SelectOrg[playerid]][veh][VehY] = y;
  544.                 InfoVeh[SelectOrg[playerid]][veh][VehZ] = z;
  545.                 InfoVeh[SelectOrg[playerid]][veh][VehR] = 0;
  546.                 InfoVeh[SelectOrg[playerid]][veh][VehID] = AddStaticVehicle(InfoVeh[SelectOrg[playerid]][veh][VehModel], InfoVeh[SelectOrg[playerid]][veh][VehX], InfoVeh[SelectOrg[playerid]][veh][VehY], InfoVeh[SelectOrg[playerid]][veh][VehZ], InfoVeh[SelectOrg[playerid]][veh][VehR], InfoOrg[SelectOrg[playerid]][VehColor1], InfoOrg[SelectOrg[playerid]][VehColor2]);
  547.                 PutPlayerInVehicle(playerid, InfoVeh[SelectOrg[playerid]][veh][VehID], 0);
  548.                 new MegaString[500];
  549.                 MegaString[0] = EOS;
  550.                 for(new i = 0; i < MAX_VEHICLESORG; i++)
  551.                 {
  552.                     format(str, sizeof(str), "{FFFFFF}(%d) %s\n", veh, PegarVehicleName(InfoVeh[SelectOrg[playerid]][i][VehID]));
  553.                     strcat(MegaString, str);
  554.                 }
  555.                 ShowPlayerDialog(playerid, 9, DIALOG_STYLE_LIST, "Veiculos Org", MegaString, "Selecionar","Cancelar");
  556.             }
  557.         }
  558.     }
  559.     return 1;
  560. }
  561.  
  562. CMD:org(playerid, params[]) //Você deve estar logado na Rcon do servidor para usar essa função. Você pode apagar essa ordem retirando a linha "IsPlayerAdmin"
  563. {
  564.     if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, -1, "Você não pode usar este comando.");
  565.     if(strcmp(params, "criar", true) == 0)
  566.     {
  567.         ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT, "Nome Organização", "{00FFFF}Digite o nome da organização", "Criar", "Cancelar");
  568.         return 1;
  569.     }
  570.     if(strcmp(params, "editar", true) == 0)
  571.     {
  572.         new str[25], MegaString[600];
  573.         MegaString[0] = EOS;
  574.         for(new i = 1; i < MAX_ORGS; i++)
  575.         {
  576.             if(InfoOrg[i][Ativo])
  577.             {
  578.                 format(str, sizeof(str), "%s (%d)\n", InfoOrg[i][Name], i);
  579.                 strcat(MegaString, str);
  580.             }
  581.         }
  582.         ShowPlayerDialog(playerid, 8, DIALOG_STYLE_LIST, "Editar Organização", MegaString, "Selecionar","Cancelar");
  583.         return 1;
  584.     }
  585.     return SendClientMessage(playerid, -1, "Use: /org [ CRIAR | EDITAR ].");
  586. }
  587.  
  588. CMD:organizacao(playerid) return cmd_orgs(playerid);
  589. CMD:orgs(playerid)
  590. {
  591.     new str[128], string[500];
  592.     for(new i = 1; i < MAX_ORGS; i++)
  593.     {
  594.         if(InfoOrg[i][Ativo])
  595.         {
  596.             format(str, sizeof(str), "{FFFFFF}%d - {%s}%s {FFFFFF}- Lider: %s\n", i, InfoOrg[i][Color], InfoOrg[i][Name], InfoOrg[i][Lider]);
  597.             strcat(string, str);
  598.         }
  599.     }
  600.     ShowPlayerDialog(playerid, 500, DIALOG_STYLE_MSGBOX, "Organizações", string, "Fechar", "");
  601.     return 1;
  602. }
  603.  
  604. stock split(const strsrc[], strdest[][], delimiter)
  605. {
  606.     new i, li;
  607.     new aNum;
  608.     new len;
  609.     while(i <= strlen(strsrc))
  610.     {
  611.         if(strsrc[i]==delimiter || i==strlen(strsrc))
  612.         {
  613.             len = strmid(strdest[aNum], strsrc, li, i, 128);
  614.             strdest[aNum][len] = 0;
  615.             li = i+1;
  616.             aNum++;
  617.         }
  618.         i++;
  619.     }
  620.     return true;
  621. }
  622.  
  623. PegarVehicleName(vehicleid)
  624. {
  625.     new vehmodel = GetVehicleModel(vehicleid);
  626.     new nameVeh[75];
  627.     if (vehmodel < 400 || vehmodel > 611)
  628.     {
  629.         strcat(nameVeh, "Nenhum");
  630.         return nameVeh;
  631.     }
  632.     strcat(nameVeh, veiculos[vehmodel - 400]);
  633.     return nameVeh;
  634. }
  635.  
  636. SalvarOrg() //Esta função deve ser chamada ao reiniciar/finalizar o servidor  || OnGameModeExit ? OnFilterScriptExit?
  637. {
  638.     new file[25], str[128], key[25];
  639.     for(new i = 1; i < MAX_ORGS; i++)
  640.     {
  641.         format(file, sizeof(file), Pasta_Orgs, i);
  642.         if(!DOF2_FileExists(file)) DOF2_CreateFile(file);
  643.         DOF2_SetString(file, "Nome", InfoOrg[i][Name]);
  644.         DOF2_SetInt(file, "Ativo", InfoOrg[i][Ativo]);
  645.         DOF2_SetInt(file, "Dinheiro", InfoOrg[i][Dinheiro]);
  646.         DOF2_SetInt(file, "Armamentos", InfoOrg[i][Armamentos]);
  647.         DOF2_SetString(file, "Color", InfoOrg[i][Color]);
  648.         DOF2_SetInt(file, "VehColor1", InfoOrg[i][VehColor1]);
  649.         DOF2_SetInt(file, "VehColor2", InfoOrg[i][VehColor2]);
  650.         format(str, sizeof(str), "%f|%f|%f|%d|%d", InfoOrg[i][X], InfoOrg[i][Y], InfoOrg[i][Z], InfoOrg[i][World], InfoOrg[i][Interior]);
  651.         DOF2_SetString(file, "Spawn", str);
  652.         for(new p = 0; p < 4; p++)
  653.         {
  654.             format(str, sizeof(str), "%f|%f|%f|%d|%d", InfoOrg[i][pickupX][p], InfoOrg[i][pickupY][p], InfoOrg[i][pickupZ][p],
  655.             InfoOrg[i][pickupWorld][p], InfoOrg[i][pickupInterior][p]);
  656.             format(key, sizeof(key), "Pickup_%d", p);
  657.             DOF2_SetString(file, key, str);
  658.         }
  659.         DOF2_SetString(file, "Lider", InfoOrg[i][Lider]);
  660.         DOF2_SetString(file, "SubLider", InfoOrg[i][SubLider]);
  661.         DOF2_SetString(file, "SubLider2", InfoOrg[i][SubLider2]);
  662.         for(new m = 1; m < MAX_MEMBROS; m++)
  663.         {
  664.             format(str, sizeof(str), "Membro%d", m);
  665.             DOF2_SetString(file, str, InfoMembros[i][m]);
  666.         }
  667.         for(new veh = 0; veh < MAX_VEHICLESORG; veh++)
  668.         {
  669.             format(key, sizeof(key), "Veh_%d", veh);
  670.             format(str, sizeof(str), "%d|%f|%f|%f|%f", InfoVeh[i][veh][VehModel], InfoVeh[i][veh][VehX], InfoVeh[i][veh][VehY], InfoVeh[i][veh][VehZ], InfoVeh[i][veh][VehR]);
  671.             DOF2_SetString(file, key, str);
  672.         }
  673.         DOF2_SaveFile();
  674.     }
  675.     return 1;
  676. }
  677.  
  678. CarregarOrg() //Esta função deve ser chamada ao iniciar o servidor  || OnGameModeInit ? OnFilterScriptInt?
  679. {
  680.     new file[25],  key[500], str[64], string[24][500];
  681.     for(new i = 1; i < MAX_ORGS; i++)
  682.     {
  683.         format(file, sizeof(file), Pasta_Orgs, i);
  684.         if(!DOF2_FileExists(file)) continue;
  685.         InfoOrg[i][Ativo] = DOF2_GetInt(file, "Ativo");
  686.         if(InfoOrg[i][Ativo])
  687.         {
  688.             strmid(InfoOrg[i][Name], DOF2_GetString(file, "Nome"), 0, strlen(DOF2_GetString(file, "Nome")), 255);
  689.             InfoOrg[i][Dinheiro] = DOF2_GetInt(file, "Dinheiro");
  690.             InfoOrg[i][Armamentos] = DOF2_GetInt(file, "Armamentos");
  691.             InfoOrg[i][VehColor1] = DOF2_GetInt(file, "VehColor1");
  692.             InfoOrg[i][VehColor2] = DOF2_GetInt(file, "VehColor2");
  693.             strmid(InfoOrg[i][Color], DOF2_GetString(file, "Color"), 0, strlen(DOF2_GetString(file, "Color")), 255);
  694.             strmid(InfoOrg[i][Lider], DOF2_GetString(file, "Lider"), 0, strlen(DOF2_GetString(file, "Lider")), 255);
  695.             strmid(InfoOrg[i][SubLider], DOF2_GetString(file, "SubLider"), 0, strlen(DOF2_GetString(file, "SubLider")), 255);
  696.             strmid(InfoOrg[i][SubLider2], DOF2_GetString(file, "SubLider2"), 0, strlen(DOF2_GetString(file, "SubLider2")), 255);
  697.             for(new m = 1; m < MAX_MEMBROS; m++)
  698.             {
  699.                 format(str, sizeof(str), "Membro%d", m);
  700.                 strmid(InfoMembros[i][m], DOF2_GetString(file, str), 0, strlen(DOF2_GetString(file, str)), 255);
  701.             }
  702.             for(new p = 0; p < 4; p++)
  703.             {
  704.                 format(key, sizeof(key), "Pickup_%d", p);
  705.                 format(str, sizeof(str), DOF2_GetString(file, key));
  706.                 split(str, string, '|');
  707.                 InfoOrg[i][pickupX][p] = floatstr(string[0]);
  708.                 InfoOrg[i][pickupY][p] = floatstr(string[1]);
  709.                 InfoOrg[i][pickupZ][p] = floatstr(string[2]);
  710.                 InfoOrg[i][pickupWorld][p] = strval(string[3]);
  711.                 InfoOrg[i][pickupInterior][p] = strval(string[4]);
  712.             }
  713.             if(InfoOrg[i][pickupX][0] != 0 && InfoOrg[i][pickupY][0] != 0 && InfoOrg[i][pickupZ][0] != 0)
  714.             {
  715.                 InfoOrg[i][PickupID][0] = CreateDynamicPickup(1314, 23, InfoOrg[i][pickupX][0], InfoOrg[i][pickupY][0], InfoOrg[i][pickupZ][0],
  716.                 InfoOrg[i][pickupWorld][0], InfoOrg[i][pickupInterior][0]);
  717.             }
  718.             if(InfoOrg[i][pickupX][1] != 0 && InfoOrg[i][pickupY][1] != 0 && InfoOrg[i][pickupZ][1] != 0)
  719.             {
  720.                 InfoOrg[i][PickupID][1] = CreateDynamicPickup(1242, 23, InfoOrg[i][pickupX][1], InfoOrg[i][pickupY][1], InfoOrg[i][pickupZ][1],
  721.                 InfoOrg[i][pickupWorld][1], InfoOrg[i][pickupInterior][1]);
  722.             }
  723.             if(InfoOrg[i][pickupX][2] != 0 && InfoOrg[i][pickupY][2] != 0 && InfoOrg[i][pickupZ][2] != 0)
  724.             {
  725.                 InfoOrg[i][PickupID][2] = CreateDynamicPickup(1318, 23, InfoOrg[i][pickupX][2], InfoOrg[i][pickupY][2], InfoOrg[i][pickupZ][2],
  726.                 InfoOrg[i][pickupWorld][2], InfoOrg[i][pickupInterior][2]);
  727.             }
  728.             if(InfoOrg[i][pickupX][3] != 0 && InfoOrg[i][pickupY][3] != 0 && InfoOrg[i][pickupZ][3] != 0)
  729.             {  
  730.                 InfoOrg[i][PickupID][3] = CreateDynamicPickup(1318, 23, InfoOrg[i][pickupX][3], InfoOrg[i][pickupY][3], InfoOrg[i][pickupZ][3],
  731.                 InfoOrg[i][pickupWorld][3], InfoOrg[i][pickupInterior][3]);
  732.             }
  733.             for(new veh = 0; veh < MAX_VEHICLESORG; veh++)
  734.             {
  735.                 format(key, sizeof(key), "Veh_%d", veh);
  736.                 format(str, sizeof(str), DOF2_GetString(file, key));
  737.                 split(str, string, '|');
  738.                 InfoVeh[i][veh][VehModel] = strval(string[0]);
  739.                 InfoVeh[i][veh][VehX] = floatstr(string[1]);
  740.                 InfoVeh[i][veh][VehY] = floatstr(string[2]);
  741.                 InfoVeh[i][veh][VehZ] = strval(string[3]);
  742.                 InfoVeh[i][veh][VehR] = strval(string[4]);
  743.                 if(InfoVeh[i][veh][VehModel] != 0)
  744.                 {
  745.                     InfoVeh[i][veh][VehID] = AddStaticVehicle(InfoVeh[i][veh][VehModel], InfoVeh[i][veh][VehX], InfoVeh[i][veh][VehY], InfoVeh[i][veh][VehZ], InfoVeh[i][veh][VehR], InfoOrg[i][VehColor1], InfoOrg[i][VehColor2]);
  746.                 }
  747.             }
  748.         }
  749.     }
  750.     return 1;
  751. }
Add Comment
Please, Sign In to add comment