Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //##############################################################################################################
- //##############################################################################################################
- //##############################################################################################################
- //##############################################################################################################
- // DA UM CRÉDITO AE MEU IRMÃO :D ( by: K2BI_YT )
- //##############################################################################################################
- //##############################################################################################################
- //##############################################################################################################
- //##############################################################################################################
- #include <a_samp>
- #include <sscanf2>
- #include <zcmd>
- #include <DOF2>
- #include <foreach>
- #include <streamer>
- #include <mSelection>
- #define SOrg::%0(%1) forward %0(%1);\
- public %0(%1)
- #define Pasta_Orgs "PastaOrgs/Org_%d"
- #define MAX_ORGS 31 //Limite Maximo ( Use sempre com adcional de +1. Ex: Limit de 31 | Será Listado 30)
- #define MAX_MEMBROS 31 //Limite Maximo ( Use sempre com adcional de +1. Ex: Limit de 31 | Será Listado 30)
- #define MAX_VEHICLESORG 21 //Limite Maximo ( Use sempre com adcional de +1. Ex: Limit de 21 | Será Listado 0)
- native IsValidVehicle(vehicleid);
- static veiculos[][] =
- {
- "Landstalker", "Bravura", "Buffalo", "Linerunner", "Perrenial", "Sentinel",
- "Dumper", "Firetruck", "Trashmaster", "Stretch", "Manana", "Infernus",
- "Voodoo", "Pony", "Mule", "Cheetah", "Ambulance", "Leviathan", "Moonbeam",
- "Esperanto", "Taxi", "Washington", "Bobcat", "Whoopee", "BF Injection",
- "Hunter", "Premier", "Enforcer", "Securicar", "Banshee", "Predator", "Bus",
- "Rhino", "Barracks", "Hotknife", "Trailer", "Previon", "Coach", "Cabbie",
- "Stallion", "Rumpo", "RC Bandit", "Romero", "Packer", "Monster", "Admiral",
- "Squalo", "Seasparrow", "Pizzaboy", "Tram", "Trailer", "Turismo", "Speeder",
- "Reefer", "Tropic", "Flatbed", "Yankee", "Caddy", "Solair", "Berkley's RC Van",
- "Skimmer", "PCJ-600", "Faggio", "Freeway", "RC Baron", "RC Raider", "Glendale",
- "Oceanic","Sanchez", "Sparrow", "Patriot", "Quad", "Coastguard", "Dinghy",
- "Hermes", "Sabre", "Rustler", "ZR-350", "Walton", "Regina", "Comet", "BMX",
- "Burrito", "Camper", "Marquis", "Baggage", "Dozer", "Maverick", "News Chopper",
- "Rancher", "FBI Rancher", "Virgo", "Greenwood", "Jetmax", "Hotring", "Sandking",
- "Blista Compact", "Police Maverick", "Boxvillde", "Benson", "Mesa", "RC Goblin",
- "Hotring Racer A", "Hotring Racer B", "Bloodring Banger", "Rancher", "Super GT",
- "Elegant", "Journey", "Bike", "Mountain Bike", "Beagle", "Cropduster", "Stunt",
- "Tanker", "Roadtrain", "Nebula", "Majestic", "Buccaneer", "Shamal", "Hydra",
- "FCR-900", "NRG-500", "HPV1000", "Cement Truck", "Tow Truck", "Fortune",
- "Cadrona", "FBI Truck", "Willard", "Forklift", "Tractor", "Combine", "Feltzer",
- "Remington", "Slamvan", "Blade", "Freight", "Streak", "Vortex", "Vincent",
- "Bullet", "Clover", "Sadler", "Firetruck", "Hustler", "Intruder", "Primo",
- "Cargobob", "Tampa", "Sunrise", "Merit", "Utility", "Nevada", "Yosemite",
- "Windsor", "Monster", "Monster", "Uranus", "Jester", "Sultan", "Stratium",
- "Elegy", "Raindance", "RC Tiger", "Flash", "Tahoma", "Savanna", "Bandito",
- "Freight Flat", "Streak Carriage", "Kart", "Mower", "Dune", "Sweeper",
- "Broadway", "Tornado", "AT-400", "DFT-30", "Huntley", "Stafford", "BF-400",
- "News Van", "Tug", "Trailer", "Emperor", "Wayfarer", "Euros", "Hotdog", "Club",
- "Freight Box", "Trailer", "Andromada", "Dodo", "RC Cam", "Launch", "Police Car",
- "Police Car", "Police Car", "Police Ranger", "Picador", "S.W.A.T", "Alpha",
- "Phoenix", "Glendale", "Sadler", "Luggage", "Luggage", "Stairs", "Boxville",
- "Tiller", "Utility Trailer"
- };
- enum iOrg
- {
- Float:X, // Variavel para Spawn da organização ( Onde os jogadores irá nascer )
- Float:Y, // Variavel para Spawn da organização ( Onde os jogadores irá nascer )
- Float:Z, // Variavel para Spawn da organização ( Onde os jogadores irá nascer )
- World, // Variavel para Spawn da organização ( Onde os jogadores irá nascer )
- Interior, // Variavel para Spawn da organização ( Onde os jogadores irá nascer )
- Name[64], // Nome Da Organização
- Dinheiro,
- Armamentos, // Materiais da org para se equipar
- Lider[64],
- SubLider2[64],
- SubLider[64],
- TipoOrg,
- Color[18], // Cor da Organização
- Ativo, // Organização Ativa?
- Float:pickupX[4], // Variavel das Pickup's ( Informações | Colete | Entrada | Saida )
- Float:pickupY[4], // Variavel das Pickup's ( Informações | Colete | Entrada | Saida )
- Float:pickupZ[4], // Variavel das Pickup's ( Informações | Colete | Entrada | Saida )
- pickupInterior[4], // Variavel das Pickup's ( Informações | Colete | Entrada | Saida )
- pickupWorld[4], // Variavel das Pickup's ( Informações | Colete | Entrada | Saida )
- PickupID[4], // Variavel que Será Definido a Criação das Pickup's
- VehModel, //Variavel Salvara o Modelo do Veículo
- Float:VehX, //Variavel das Coordenadas dos veículos da organização
- Float:VehY, //Variavel das Coordenadas dos veículos da organização
- Float:VehZ, //Variavel das Coordenadas dos veículos da organização
- Float:VehR, //Variavel das Coordenadas dos veículos da organização
- VehColor1, // Variavel das Cores Definida dos Veículos
- VehColor2, // Variavel das Cores Definida dos Veículos
- VehID // Variavel que Armazenará o ID do Veículo ( O ID do Veículo pode ser listado com /dl )
- };
- new InfoVeh[MAX_ORGS][MAX_VEHICLESORG][iOrg];
- new InfoOrg[MAX_ORGS][iOrg];
- new InfoMembros[MAX_ORGS][MAX_MEMBROS];
- new SelectOrg[MAX_PLAYERS];
- new ListaCarrosOrg = mS_INVALID_LISTID;
- public OnGameModeInit()
- {
- ListaCarrosOrg = LoadModelSelectionMenu("CarrosOrg.ini");
- CarregarOrg();
- return 1;
- }
- public OnGameModeExit()
- {
- SalvarOrg();
- DOF2_Exit();
- return 1;
- }
- public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
- {
- new str[256];
- if(dialogid == 2)
- {
- if(response)
- {
- if(!strlen(inputtext)) return SendClientMessage(playerid, -1, "Você deve digitar um nome para organização.");
- for(new i = 1; i < MAX_ORGS; i++)
- {
- if(InfoOrg[i][Ativo] == 0)
- {
- InfoOrg[i][Ativo] = 1;
- strmid(InfoOrg[i][Name], inputtext, 0, strlen(inputtext), 255);
- InfoOrg[i][Dinheiro] = 0;
- InfoOrg[i][Armamentos] = 0;
- InfoOrg[i][World] = 0;
- InfoOrg[i][Interior] = 0;
- InfoOrg[i][TipoOrg] = GetPVarInt(playerid, #VarTipo);
- strmid(InfoOrg[i][Color], "FF0000", 0, strlen("FF0000"), 255);
- InfoOrg[i][X] = 0;
- InfoOrg[i][Y] = 0;
- InfoOrg[i][Z] = 0;
- SelectOrg[playerid] = i;
- strmid(InfoOrg[i][Lider], "Ninguém", 0, strlen("Ninguém"), 255);
- strmid(InfoOrg[i][SubLider], "Ninguém", 0, strlen("Ninguém"), 255);
- strmid(InfoOrg[i][SubLider2], "Ninguém", 0, strlen("Ninguém"), 255);
- for(new m = 1; m < MAX_MEMBROS; m++)
- {
- strmid(InfoMembros[i][m], "Ninguém", 0, strlen("Ninguém"), 255);
- }
- for(new p = 0; p < 4; p++)
- {
- InfoOrg[i][pickupX][p] = 9999;
- InfoOrg[i][pickupY][p] = 9999;
- InfoOrg[i][pickupZ][p] = 9999;
- InfoOrg[i][pickupInterior][p] = 9999;
- InfoOrg[i][pickupWorld][p] = 9999;
- }
- format(str, sizeof(str), "{00FFFF}SOrg: {FFFFFF}Organização Nome: {%s}%s (%d)",InfoOrg[i][Color], InfoOrg[i][Name], i);
- SendClientMessage(playerid, 0xFFFF00AA, str);
- format(str, sizeof(str), "Editando ORG: %s (%d)", InfoOrg[i][Name], SelectOrg[playerid]);
- ShowPlayerDialog(playerid, 3, DIALOG_STYLE_LIST, str, "Alterar Nome\nAlterar Cor\nDefinir Spawn\nPos. Pickups\n{FF0000}Excluir", "Selecionar","Cancelar");
- return 1;
- }
- }
- }
- }
- if(dialogid == 3)
- {
- if(response)
- {
- if(listitem == 0)
- {
- ShowPlayerDialog(playerid, 4, DIALOG_STYLE_INPUT, "Alterar Nome Org", "{00FFFF}Digite o nome da organização", "Alterar", "Cancelar");
- }
- if(listitem == 1)
- {
- ShowPlayerDialog(playerid, 5, DIALOG_STYLE_INPUT, "Alterar Cor", "{00FFFF}Alterar Cor Org\n\n{FF0000}Exemplo: {008000}008000 ( VERDE )", "Alterar", "Cancelar");
- }
- if(listitem == 2)
- {
- SetPVarInt(playerid, #VarSetSpawn, 1);
- SendClientMessage(playerid, -1, "{00FFFF}SOrg: {FFFFFF}Vá até o local desejado e use {FFFF80}'Y' {FFFFFF}para confirmar o local de spawn.");
- }
- if(listitem == 3)
- {
- ShowPlayerDialog(playerid, 6, DIALOG_STYLE_LIST, "Pickups Orgs", "Pickup Info.\nPickup Fardamento (Organizações COP)\nPickup Entrada\nPickup Saida", "Selecionar", "Cancelar");
- }
- if(listitem == 4)
- {
- new MegaString[500];
- MegaString[0] = EOS;
- for(new veh = 0; veh < MAX_VEHICLESORG; veh++)
- {
- format(str, sizeof(str), "{FFFFFF}(%d) %s\n", veh, PegarVehicleName(InfoVeh[SelectOrg[playerid]][veh][VehID]));
- strcat(MegaString, str);
- }
- ShowPlayerDialog(playerid, 9, DIALOG_STYLE_LIST, "Veiculos Org", MegaString, "Selecionar","Cancelar");
- }
- if(listitem == 5)
- {
- ShowPlayerDialog(playerid, 11, DIALOG_STYLE_INPUT, "Veiculo Cor 1", "{00FFFF}Digite a ID da cor desejada.", "Proximo", "Cancelar");
- }
- if(listitem == 6)
- {
- new file[25];
- format(file, sizeof(file), Pasta_Orgs, SelectOrg[playerid]);
- if(DOF2_FileExists(file)) DOF2_RemoveFile(file);
- InfoOrg[SelectOrg[playerid]][Ativo] = 0;
- strmid(InfoOrg[SelectOrg[playerid]][Name], "----", 0, strlen("----"), 255);
- InfoOrg[SelectOrg[playerid]][Dinheiro] = 0;
- InfoOrg[SelectOrg[playerid]][Armamentos] = 0;
- InfoOrg[SelectOrg[playerid]][World] = 0;
- InfoOrg[SelectOrg[playerid]][Interior] = 0;
- InfoOrg[SelectOrg[playerid]][TipoOrg] = 0;
- strmid(InfoOrg[SelectOrg[playerid]][Color], "FF0000", 0, strlen("FF0000"), 255);
- InfoOrg[SelectOrg[playerid]][X] = 0;
- InfoOrg[SelectOrg[playerid]][Y] = 0;
- InfoOrg[SelectOrg[playerid]][Z] = 0;
- strmid(InfoOrg[SelectOrg[playerid]][Lider], "Ninguém", 0, strlen("Ninguém"), 255);
- strmid(InfoOrg[SelectOrg[playerid]][SubLider], "Ninguém", 0, strlen("Ninguém"), 255);
- strmid(InfoOrg[SelectOrg[playerid]][SubLider2], "Ninguém", 0, strlen("Ninguém"), 255);
- for(new m = 1; m < MAX_MEMBROS; m++)
- {
- strmid(InfoMembros[SelectOrg[playerid]][m], "Ninguém", 0, strlen("Ninguém"), 255);
- }
- for(new veh = 0; veh < MAX_VEHICLESORG; veh++)
- {
- if(IsValidVehicle(InfoVeh[SelectOrg[playerid]][veh][VehID])) DestroyVehicle(InfoVeh[SelectOrg[playerid]][veh][VehID]);
- InfoVeh[SelectOrg[playerid]][veh][VehModel] = 0;
- InfoVeh[SelectOrg[playerid]][veh][VehX] = 0;
- InfoVeh[SelectOrg[playerid]][veh][VehY] = 0;
- InfoVeh[SelectOrg[playerid]][veh][VehZ] = 0;
- InfoVeh[SelectOrg[playerid]][veh][VehR] = 0;
- }
- for(new p = 0; p < 4; p++)
- {
- InfoOrg[SelectOrg[playerid]][pickupX][p] = 9999;
- InfoOrg[SelectOrg[playerid]][pickupY][p] = 9999;
- InfoOrg[SelectOrg[playerid]][pickupZ][p] = 9999;
- InfoOrg[SelectOrg[playerid]][pickupInterior][p] = 9999;
- InfoOrg[SelectOrg[playerid]][pickupWorld][p] = 9999;
- DestroyDynamicPickup(InfoOrg[SelectOrg[playerid]][PickupID][p]);
- }
- SendClientMessage(playerid, -1, "{00FFFF}SOrg: {FFFFFF}Organização excluida com sucesso!");
- }
- }
- }
- if(dialogid == 4)
- {
- if(response)
- {
- if(!strlen(inputtext)) return SendClientMessage(playerid, -1, "Você deve digitar um nome para organização.");
- strmid(InfoOrg[SelectOrg[playerid]][Name], inputtext, 0, strlen(inputtext), 255);
- format(str, sizeof(str), "Nome alterado para: %s", InfoOrg[SelectOrg[playerid]][Name]);
- SendClientMessage(playerid, 0x00FFFFAA, str);
- format(str, sizeof(str), "Editando ORG: %s (%d)", InfoOrg[SelectOrg[playerid]][Name], SelectOrg[playerid]);
- ShowPlayerDialog(playerid, 3, DIALOG_STYLE_LIST, str, "Alterar Nome\nAlterar Cor\nDefinir Spawn\nPickups\n{FF0000}Excluir", "Selecionar","Cancelar");
- }
- }
- if(dialogid == 5)
- {
- if(response)
- {
- new hex;
- if(sscanf(inputtext, "x", hex)) return SendClientMessage(playerid, -1, "A cor deve ser hexadecimal.");
- if(strlen(inputtext) > 6) return SendClientMessage(playerid, -1, "A cor deve ser hexadecimal.");
- strmid(InfoOrg[SelectOrg[playerid]][Color], inputtext, 0, strlen(inputtext), 255);
- format(str, sizeof(str), "Cor alterado para: {%s}%s", InfoOrg[SelectOrg[playerid]][Color], InfoOrg[SelectOrg[playerid]][Name]);
- SendClientMessage(playerid, 0x00FFFFAA, str);
- format(str, sizeof(str), "Editando ORG: %s (%d)", InfoOrg[SelectOrg[playerid]][Name], SelectOrg[playerid]);
- ShowPlayerDialog(playerid, 3, DIALOG_STYLE_LIST, str, "Alterar Nome\nAlterar Cor\nDefinir Spawn\nPickups\n{FF0000}Excluir", "Selecionar","Cancelar");
- }
- }
- if(dialogid == 6)
- {
- if(response)
- {
- for(new i = 0; i < 4; i++)
- {
- if(i == listitem)
- {
- SetPVarInt(playerid, #VarSetP, listitem+1);
- SendClientMessage(playerid, -1, "{00FFFF}SOrg: {FFFFFF}Vá até o local desejado e use {FFFF80}'Y' {FFFFFF}para confirmar o local da Pickup.");
- }
- }
- }
- }
- if(dialogid == 8)
- {
- for(new i = 1; i < MAX_ORGS; i++)
- {
- if(strfind(inputtext, InfoOrg[i][Name], false) != -1)
- {
- SelectOrg[playerid] = i;
- format(str, sizeof(str), "Editando ORG: %s (%d)", InfoOrg[i][Name], i);
- ShowPlayerDialog(playerid, 3, DIALOG_STYLE_LIST, str, "Alterar Nome\nAlterar Cor\nDefinir Spawn\nPickups\nVeiculos\nCor Veiculos\n{FF0000}Excluir", "Selecionar","Cancelar");
- return 1;
- }
- }
- }
- if(dialogid == 9)
- {
- if(response)
- {
- SetPVarInt(playerid, #VarEditVehOrg, listitem);
- format(str, sizeof(str), "Editar Veiculo %i: %s", listitem, PegarVehicleName(InfoVeh[SelectOrg[playerid]][listitem][VehID]));
- if(InfoVeh[SelectOrg[playerid]][listitem][VehModel] == 0)
- {
- SetPVarInt(playerid, #VarListVeh, 2);
- ShowModelSelectionMenu(playerid, ListaCarrosOrg, "Veiculos");
- }
- else
- {
- PutPlayerInVehicle(playerid, InfoVeh[SelectOrg[playerid]][listitem][VehID], 0);
- ShowPlayerDialog(playerid, 10, DIALOG_STYLE_LIST, str, "Alterar Modelo\nPosicionar Veiculo\nDeletar Veiculo", "Selecionar","Cancelar");
- }
- }
- }
- if(dialogid == 10)
- {
- if(response)
- {
- if(listitem == 0)
- {
- SetPVarInt(playerid, #VarListVeh, 1);
- ShowModelSelectionMenu(playerid, ListaCarrosOrg, "Veiculos");
- }
- if(listitem == 1)
- {
- SetPVarInt(playerid, #VarPosVeh, 1);
- SendClientMessage(playerid, -1, "{00FFFF}SOrg: {FFFFFF}Posicione o veículo no local desejado e use 'Y' para salvar.");
- }
- if(listitem == 2)
- {
- new veh = GetPVarInt(playerid, #VarEditVehOrg);
- DestroyVehicle(InfoVeh[SelectOrg[playerid]][veh][VehID]);
- InfoVeh[SelectOrg[playerid]][veh][VehModel] = 0;
- InfoVeh[SelectOrg[playerid]][veh][VehX] = 0;
- InfoVeh[SelectOrg[playerid]][veh][VehY] = 0;
- InfoVeh[SelectOrg[playerid]][veh][VehZ] = 0;
- InfoVeh[SelectOrg[playerid]][veh][VehR] = 0;
- new MegaString[500];
- MegaString[0] = EOS;
- for(new i = 0; i < MAX_VEHICLESORG; i++)
- {
- format(str, sizeof(str), "{FFFFFF}(%d) %s\n", veh, PegarVehicleName(InfoVeh[SelectOrg[playerid]][i][VehID]));
- strcat(MegaString, str);
- }
- ShowPlayerDialog(playerid, 9, DIALOG_STYLE_LIST, "Veiculos Org", MegaString, "Selecionar","Cancelar");
- }
- }
- }
- if(dialogid == 11)
- {
- if(response)
- {
- if(!strval(inputtext)) return SendClientMessage(playerid, -1, "A ID da cor deve ser apenas números.");
- InfoOrg[SelectOrg[playerid]][VehColor1] = strval(inputtext);
- for(new i = 0; i < MAX_VEHICLESORG; i++)
- {
- ChangeVehicleColor(InfoVeh[SelectOrg[playerid]][i][VehID], InfoOrg[SelectOrg[playerid]][VehColor1], InfoOrg[SelectOrg[playerid]][VehColor2]);
- ShowPlayerDialog(playerid, 12, DIALOG_STYLE_INPUT, "Veiculo Cor 2", "{00FFFF}Digite a ID da cor desejada.", "Confirmar", "Cancelar");
- }
- }
- }
- if(dialogid == 12)
- {
- if(response)
- {
- if(!strval(inputtext)) return SendClientMessage(playerid, -1, "A ID da cor deve ser apenas números.");
- InfoOrg[SelectOrg[playerid]][VehColor2] = strval(inputtext);
- for(new i = 0; i < MAX_VEHICLESORG; i++)
- {
- ChangeVehicleColor(InfoVeh[SelectOrg[playerid]][i][VehID], InfoOrg[SelectOrg[playerid]][VehColor1], InfoOrg[SelectOrg[playerid]][VehColor2]);
- }
- SendClientMessage(playerid, -1, "{00FFFF}SOrg: {FFFFFF}Cores dos veículos alterados com sucesso!");
- }
- }
- return 1;
- }
- public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
- {
- new str[128];
- if(newkeys == KEY_YES)
- {
- new Float:x, Float:y, Float:z, Float:r;
- if(GetPVarInt(playerid, #VarPosVeh) == 1 && IsPlayerInAnyVehicle(playerid))
- {
- GetVehiclePos(InfoVeh[SelectOrg[playerid]][GetPVarInt(playerid, #VarEditVehOrg)][VehID], x,y,z);
- GetVehicleZAngle(InfoVeh[SelectOrg[playerid]][GetPVarInt(playerid, #VarEditVehOrg)][VehID], r);
- InfoVeh[SelectOrg[playerid]][GetPVarInt(playerid, #VarEditVehOrg)][VehX] = x;
- InfoVeh[SelectOrg[playerid]][GetPVarInt(playerid, #VarEditVehOrg)][VehY] = y;
- InfoVeh[SelectOrg[playerid]][GetPVarInt(playerid, #VarEditVehOrg)][VehZ] = z;
- InfoVeh[SelectOrg[playerid]][GetPVarInt(playerid, #VarEditVehOrg)][VehR] = r;
- DestroyVehicle(InfoVeh[SelectOrg[playerid]][GetPVarInt(playerid, #VarEditVehOrg)][VehID]);
- InfoVeh[SelectOrg[playerid]][GetPVarInt(playerid, #VarEditVehOrg)][VehID] = AddStaticVehicle(InfoVeh[SelectOrg[playerid]][GetPVarInt(playerid, #VarEditVehOrg)][VehModel], InfoVeh[SelectOrg[playerid]][GetPVarInt(playerid, #VarEditVehOrg)][VehX],
- 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]);
- PutPlayerInVehicle(playerid, InfoVeh[SelectOrg[playerid]][GetPVarInt(playerid, #VarEditVehOrg)][VehID], 0);
- new MegaString[500];
- MegaString[0] = EOS;
- for(new i = 0; i < MAX_VEHICLESORG; i++)
- {
- format(str, sizeof(str), "{FFFFFF}(%d) %s\n", i, PegarVehicleName(InfoVeh[SelectOrg[playerid]][i][VehID]));
- strcat(MegaString, str);
- }
- ShowPlayerDialog(playerid, 9, DIALOG_STYLE_LIST, "Veiculos Org", MegaString, "Selecionar","Cancelar");
- DeletePVar(playerid, #VarPosVeh);
- SendClientMessage(playerid, -1, "{00FFFF}SOrg: {FFFFFF}Veiculo Posicionado com sucesso.");
- return 1;
- }
- GetPlayerPos(playerid, x,y,z);
- if(GetPVarInt(playerid, #VarSetSpawn))
- {
- InfoOrg[SelectOrg[playerid]][X] = x;
- InfoOrg[SelectOrg[playerid]][Y] = y;
- InfoOrg[SelectOrg[playerid]][Z] = z;
- InfoOrg[SelectOrg[playerid]][Interior] = GetPlayerInterior(playerid);
- InfoOrg[SelectOrg[playerid]][World] = GetPlayerVirtualWorld(playerid);
- SendClientMessage(playerid, -1, "{00FFFF}SOrg: {FFFFFF}Spawn definido com sucesso!");
- DeletePVar(playerid, #VarSetSpawn);
- return 1;
- }
- switch(GetPVarInt(playerid, #VarSetP))
- {
- case 1:
- {
- InfoOrg[SelectOrg[playerid]][pickupX][0] = x;
- InfoOrg[SelectOrg[playerid]][pickupY][0] = y;
- InfoOrg[SelectOrg[playerid]][pickupZ][0] = z;
- InfoOrg[SelectOrg[playerid]][pickupWorld][0] = GetPlayerVirtualWorld(playerid);
- InfoOrg[SelectOrg[playerid]][pickupInterior][0] = GetPlayerInterior(playerid);
- InfoOrg[SelectOrg[playerid]][PickupID][0] = CreateDynamicPickup(1314, 23, InfoOrg[SelectOrg[playerid]][pickupX][0], InfoOrg[SelectOrg[playerid]][pickupY][0], InfoOrg[SelectOrg[playerid]][pickupZ][0],
- InfoOrg[SelectOrg[playerid]][pickupWorld][0], InfoOrg[SelectOrg[playerid]][pickupInterior][0]);
- DeletePVar(playerid, #VarSetP);
- return 1;
- }
- case 2:
- {
- InfoOrg[SelectOrg[playerid]][pickupX][1] = x;
- InfoOrg[SelectOrg[playerid]][pickupY][1] = y;
- InfoOrg[SelectOrg[playerid]][pickupZ][1] = z;
- InfoOrg[SelectOrg[playerid]][pickupWorld][1] = GetPlayerVirtualWorld(playerid);
- InfoOrg[SelectOrg[playerid]][pickupInterior][1] = GetPlayerInterior(playerid);
- InfoOrg[SelectOrg[playerid]][PickupID][1] = CreateDynamicPickup(1242, 23, InfoOrg[SelectOrg[playerid]][pickupX][1], InfoOrg[SelectOrg[playerid]][pickupY][1], InfoOrg[SelectOrg[playerid]][pickupZ][1],
- InfoOrg[SelectOrg[playerid]][pickupWorld][1], InfoOrg[SelectOrg[playerid]][pickupInterior][1]);
- DeletePVar(playerid, #VarSetP);
- return 1;
- }
- case 3:
- {
- InfoOrg[SelectOrg[playerid]][pickupX][2] = x;
- InfoOrg[SelectOrg[playerid]][pickupY][2] = y;
- InfoOrg[SelectOrg[playerid]][pickupZ][2] = z;
- InfoOrg[SelectOrg[playerid]][pickupWorld][2] = GetPlayerVirtualWorld(playerid);
- InfoOrg[SelectOrg[playerid]][pickupInterior][2] = GetPlayerInterior(playerid);
- InfoOrg[SelectOrg[playerid]][PickupID][2] = CreateDynamicPickup(1318, 23, InfoOrg[SelectOrg[playerid]][pickupX][2], InfoOrg[SelectOrg[playerid]][pickupY][2], InfoOrg[SelectOrg[playerid]][pickupZ][2],
- InfoOrg[SelectOrg[playerid]][pickupWorld][2], InfoOrg[SelectOrg[playerid]][pickupInterior][2]);
- DeletePVar(playerid, #VarSetP);
- return 1;
- }
- case 4:
- {
- InfoOrg[SelectOrg[playerid]][pickupX][3] = x;
- InfoOrg[SelectOrg[playerid]][pickupY][3] = y;
- InfoOrg[SelectOrg[playerid]][pickupZ][3] = z;
- InfoOrg[SelectOrg[playerid]][pickupWorld][3] = GetPlayerVirtualWorld(playerid);
- InfoOrg[SelectOrg[playerid]][pickupInterior][3] = GetPlayerInterior(playerid);
- InfoOrg[SelectOrg[playerid]][PickupID][3] = CreateDynamicPickup(1318, 23, InfoOrg[SelectOrg[playerid]][pickupX][3], InfoOrg[SelectOrg[playerid]][pickupY][3], InfoOrg[SelectOrg[playerid]][pickupZ][3],
- InfoOrg[SelectOrg[playerid]][pickupWorld][3], InfoOrg[SelectOrg[playerid]][pickupInterior][3]);
- DeletePVar(playerid, #VarSetP);
- return 1;
- }
- }
- }
- if(newkeys == 16 && !IsPlayerInAnyVehicle(playerid))
- {
- for(new i = 1; i < MAX_ORGS; i++)
- {
- if(IsPlayerInRangeOfPoint(playerid, 2, InfoOrg[i][pickupX][2], InfoOrg[i][pickupY][2], InfoOrg[i][pickupZ][2]) && GetPlayerInterior(playerid) == InfoOrg[SelectOrg[playerid]][pickupInterior][2] &&
- GetPlayerVirtualWorld(playerid) == InfoOrg[SelectOrg[playerid]][pickupWorld][2])
- {
- SetPlayerPos(playerid, InfoOrg[i][pickupX][3], InfoOrg[i][pickupY][3], InfoOrg[i][pickupZ][3]);
- SetPlayerVirtualWorld(playerid, InfoOrg[i][pickupWorld][3]);
- SetPlayerInterior(playerid, InfoOrg[i][pickupInterior][3]);
- return 1;
- }
- if(IsPlayerInRangeOfPoint(playerid, 2, InfoOrg[i][pickupX][3], InfoOrg[i][pickupY][3], InfoOrg[i][pickupZ][3]) && GetPlayerInterior(playerid) == InfoOrg[SelectOrg[playerid]][pickupInterior][3] &&
- GetPlayerVirtualWorld(playerid) == InfoOrg[SelectOrg[playerid]][pickupWorld][3])
- {
- SetPlayerPos(playerid, InfoOrg[i][pickupX][2], InfoOrg[i][pickupY][2], InfoOrg[i][pickupZ][2]);
- SetPlayerVirtualWorld(playerid, InfoOrg[i][pickupWorld][2]);
- SetPlayerInterior(playerid, InfoOrg[i][pickupInterior][2]);
- return 1;
- }
- if(IsPlayerInRangeOfPoint(playerid, 2, InfoOrg[i][pickupX][0], InfoOrg[i][pickupY][0], InfoOrg[i][pickupZ][0]) && GetPlayerInterior(playerid) == InfoOrg[SelectOrg[playerid]][pickupInterior][0] &&
- GetPlayerVirtualWorld(playerid) == InfoOrg[SelectOrg[playerid]][pickupWorld][0])
- {
- new string[500];
- format(str, sizeof(str), "Cofre %s", InfoOrg[i][Name]);
- 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],
- InfoOrg[i][SubLider2], InfoOrg[i][Dinheiro], InfoOrg[i][Armamentos]);
- ShowPlayerDialog(playerid, 500, DIALOG_STYLE_LIST, str, string, "Fechar", "Cancelar");
- return 1;
- }
- }
- }
- return 1;
- }
- SOrg::OnPlayerModelSelection(playerid, response, listid, modelid)
- {
- new str[128];
- if(listid == ListaCarrosOrg)
- {
- if(response)
- {
- new veh = GetPVarInt(playerid, #VarEditVehOrg);
- if(GetPVarInt(playerid, #VarListVeh) == 1)
- {
- InfoVeh[SelectOrg[playerid]][veh][VehModel] = modelid;
- DestroyVehicle(InfoVeh[SelectOrg[playerid]][veh][VehID]);
- 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]);
- PutPlayerInVehicle(playerid, InfoVeh[SelectOrg[playerid]][veh][VehID], 0);
- return 1;
- }
- if(GetPVarInt(playerid, #VarListVeh) == 2)
- {
- new Float:x, Float:y, Float:z;
- GetPlayerPos(playerid, x,y,z);
- InfoVeh[SelectOrg[playerid]][veh][VehModel] = modelid;
- InfoVeh[SelectOrg[playerid]][veh][VehX] = x;
- InfoVeh[SelectOrg[playerid]][veh][VehY] = y;
- InfoVeh[SelectOrg[playerid]][veh][VehZ] = z;
- InfoVeh[SelectOrg[playerid]][veh][VehR] = 0;
- 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]);
- PutPlayerInVehicle(playerid, InfoVeh[SelectOrg[playerid]][veh][VehID], 0);
- new MegaString[500];
- MegaString[0] = EOS;
- for(new i = 0; i < MAX_VEHICLESORG; i++)
- {
- format(str, sizeof(str), "{FFFFFF}(%d) %s\n", veh, PegarVehicleName(InfoVeh[SelectOrg[playerid]][i][VehID]));
- strcat(MegaString, str);
- }
- ShowPlayerDialog(playerid, 9, DIALOG_STYLE_LIST, "Veiculos Org", MegaString, "Selecionar","Cancelar");
- }
- }
- }
- return 1;
- }
- 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"
- {
- if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, -1, "Você não pode usar este comando.");
- if(strcmp(params, "criar", true) == 0)
- {
- ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT, "Nome Organização", "{00FFFF}Digite o nome da organização", "Criar", "Cancelar");
- return 1;
- }
- if(strcmp(params, "editar", true) == 0)
- {
- new str[25], MegaString[600];
- MegaString[0] = EOS;
- for(new i = 1; i < MAX_ORGS; i++)
- {
- if(InfoOrg[i][Ativo])
- {
- format(str, sizeof(str), "%s (%d)\n", InfoOrg[i][Name], i);
- strcat(MegaString, str);
- }
- }
- ShowPlayerDialog(playerid, 8, DIALOG_STYLE_LIST, "Editar Organização", MegaString, "Selecionar","Cancelar");
- return 1;
- }
- return SendClientMessage(playerid, -1, "Use: /org [ CRIAR | EDITAR ].");
- }
- CMD:organizacao(playerid) return cmd_orgs(playerid);
- CMD:orgs(playerid)
- {
- new str[128], string[500];
- for(new i = 1; i < MAX_ORGS; i++)
- {
- if(InfoOrg[i][Ativo])
- {
- format(str, sizeof(str), "{FFFFFF}%d - {%s}%s {FFFFFF}- Lider: %s\n", i, InfoOrg[i][Color], InfoOrg[i][Name], InfoOrg[i][Lider]);
- strcat(string, str);
- }
- }
- ShowPlayerDialog(playerid, 500, DIALOG_STYLE_MSGBOX, "Organizações", string, "Fechar", "");
- return 1;
- }
- stock split(const strsrc[], strdest[][], delimiter)
- {
- new i, li;
- new aNum;
- new len;
- while(i <= strlen(strsrc))
- {
- if(strsrc[i]==delimiter || i==strlen(strsrc))
- {
- len = strmid(strdest[aNum], strsrc, li, i, 128);
- strdest[aNum][len] = 0;
- li = i+1;
- aNum++;
- }
- i++;
- }
- return true;
- }
- PegarVehicleName(vehicleid)
- {
- new vehmodel = GetVehicleModel(vehicleid);
- new nameVeh[75];
- if (vehmodel < 400 || vehmodel > 611)
- {
- strcat(nameVeh, "Nenhum");
- return nameVeh;
- }
- strcat(nameVeh, veiculos[vehmodel - 400]);
- return nameVeh;
- }
- SalvarOrg() //Esta função deve ser chamada ao reiniciar/finalizar o servidor || OnGameModeExit ? OnFilterScriptExit?
- {
- new file[25], str[128], key[25];
- for(new i = 1; i < MAX_ORGS; i++)
- {
- format(file, sizeof(file), Pasta_Orgs, i);
- if(!DOF2_FileExists(file)) DOF2_CreateFile(file);
- DOF2_SetString(file, "Nome", InfoOrg[i][Name]);
- DOF2_SetInt(file, "Ativo", InfoOrg[i][Ativo]);
- DOF2_SetInt(file, "Dinheiro", InfoOrg[i][Dinheiro]);
- DOF2_SetInt(file, "Armamentos", InfoOrg[i][Armamentos]);
- DOF2_SetString(file, "Color", InfoOrg[i][Color]);
- DOF2_SetInt(file, "VehColor1", InfoOrg[i][VehColor1]);
- DOF2_SetInt(file, "VehColor2", InfoOrg[i][VehColor2]);
- format(str, sizeof(str), "%f|%f|%f|%d|%d", InfoOrg[i][X], InfoOrg[i][Y], InfoOrg[i][Z], InfoOrg[i][World], InfoOrg[i][Interior]);
- DOF2_SetString(file, "Spawn", str);
- for(new p = 0; p < 4; p++)
- {
- format(str, sizeof(str), "%f|%f|%f|%d|%d", InfoOrg[i][pickupX][p], InfoOrg[i][pickupY][p], InfoOrg[i][pickupZ][p],
- InfoOrg[i][pickupWorld][p], InfoOrg[i][pickupInterior][p]);
- format(key, sizeof(key), "Pickup_%d", p);
- DOF2_SetString(file, key, str);
- }
- DOF2_SetString(file, "Lider", InfoOrg[i][Lider]);
- DOF2_SetString(file, "SubLider", InfoOrg[i][SubLider]);
- DOF2_SetString(file, "SubLider2", InfoOrg[i][SubLider2]);
- for(new m = 1; m < MAX_MEMBROS; m++)
- {
- format(str, sizeof(str), "Membro%d", m);
- DOF2_SetString(file, str, InfoMembros[i][m]);
- }
- for(new veh = 0; veh < MAX_VEHICLESORG; veh++)
- {
- format(key, sizeof(key), "Veh_%d", veh);
- 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]);
- DOF2_SetString(file, key, str);
- }
- DOF2_SaveFile();
- }
- return 1;
- }
- CarregarOrg() //Esta função deve ser chamada ao iniciar o servidor || OnGameModeInit ? OnFilterScriptInt?
- {
- new file[25], key[500], str[64], string[24][500];
- for(new i = 1; i < MAX_ORGS; i++)
- {
- format(file, sizeof(file), Pasta_Orgs, i);
- if(!DOF2_FileExists(file)) continue;
- InfoOrg[i][Ativo] = DOF2_GetInt(file, "Ativo");
- if(InfoOrg[i][Ativo])
- {
- strmid(InfoOrg[i][Name], DOF2_GetString(file, "Nome"), 0, strlen(DOF2_GetString(file, "Nome")), 255);
- InfoOrg[i][Dinheiro] = DOF2_GetInt(file, "Dinheiro");
- InfoOrg[i][Armamentos] = DOF2_GetInt(file, "Armamentos");
- InfoOrg[i][VehColor1] = DOF2_GetInt(file, "VehColor1");
- InfoOrg[i][VehColor2] = DOF2_GetInt(file, "VehColor2");
- strmid(InfoOrg[i][Color], DOF2_GetString(file, "Color"), 0, strlen(DOF2_GetString(file, "Color")), 255);
- strmid(InfoOrg[i][Lider], DOF2_GetString(file, "Lider"), 0, strlen(DOF2_GetString(file, "Lider")), 255);
- strmid(InfoOrg[i][SubLider], DOF2_GetString(file, "SubLider"), 0, strlen(DOF2_GetString(file, "SubLider")), 255);
- strmid(InfoOrg[i][SubLider2], DOF2_GetString(file, "SubLider2"), 0, strlen(DOF2_GetString(file, "SubLider2")), 255);
- for(new m = 1; m < MAX_MEMBROS; m++)
- {
- format(str, sizeof(str), "Membro%d", m);
- strmid(InfoMembros[i][m], DOF2_GetString(file, str), 0, strlen(DOF2_GetString(file, str)), 255);
- }
- for(new p = 0; p < 4; p++)
- {
- format(key, sizeof(key), "Pickup_%d", p);
- format(str, sizeof(str), DOF2_GetString(file, key));
- split(str, string, '|');
- InfoOrg[i][pickupX][p] = floatstr(string[0]);
- InfoOrg[i][pickupY][p] = floatstr(string[1]);
- InfoOrg[i][pickupZ][p] = floatstr(string[2]);
- InfoOrg[i][pickupWorld][p] = strval(string[3]);
- InfoOrg[i][pickupInterior][p] = strval(string[4]);
- }
- if(InfoOrg[i][pickupX][0] != 0 && InfoOrg[i][pickupY][0] != 0 && InfoOrg[i][pickupZ][0] != 0)
- {
- InfoOrg[i][PickupID][0] = CreateDynamicPickup(1314, 23, InfoOrg[i][pickupX][0], InfoOrg[i][pickupY][0], InfoOrg[i][pickupZ][0],
- InfoOrg[i][pickupWorld][0], InfoOrg[i][pickupInterior][0]);
- }
- if(InfoOrg[i][pickupX][1] != 0 && InfoOrg[i][pickupY][1] != 0 && InfoOrg[i][pickupZ][1] != 0)
- {
- InfoOrg[i][PickupID][1] = CreateDynamicPickup(1242, 23, InfoOrg[i][pickupX][1], InfoOrg[i][pickupY][1], InfoOrg[i][pickupZ][1],
- InfoOrg[i][pickupWorld][1], InfoOrg[i][pickupInterior][1]);
- }
- if(InfoOrg[i][pickupX][2] != 0 && InfoOrg[i][pickupY][2] != 0 && InfoOrg[i][pickupZ][2] != 0)
- {
- InfoOrg[i][PickupID][2] = CreateDynamicPickup(1318, 23, InfoOrg[i][pickupX][2], InfoOrg[i][pickupY][2], InfoOrg[i][pickupZ][2],
- InfoOrg[i][pickupWorld][2], InfoOrg[i][pickupInterior][2]);
- }
- if(InfoOrg[i][pickupX][3] != 0 && InfoOrg[i][pickupY][3] != 0 && InfoOrg[i][pickupZ][3] != 0)
- {
- InfoOrg[i][PickupID][3] = CreateDynamicPickup(1318, 23, InfoOrg[i][pickupX][3], InfoOrg[i][pickupY][3], InfoOrg[i][pickupZ][3],
- InfoOrg[i][pickupWorld][3], InfoOrg[i][pickupInterior][3]);
- }
- for(new veh = 0; veh < MAX_VEHICLESORG; veh++)
- {
- format(key, sizeof(key), "Veh_%d", veh);
- format(str, sizeof(str), DOF2_GetString(file, key));
- split(str, string, '|');
- InfoVeh[i][veh][VehModel] = strval(string[0]);
- InfoVeh[i][veh][VehX] = floatstr(string[1]);
- InfoVeh[i][veh][VehY] = floatstr(string[2]);
- InfoVeh[i][veh][VehZ] = strval(string[3]);
- InfoVeh[i][veh][VehR] = strval(string[4]);
- if(InfoVeh[i][veh][VehModel] != 0)
- {
- 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]);
- }
- }
- }
- }
- return 1;
- }
Add Comment
Please, Sign In to add comment