13.07.2014, 05:30
(
Последний раз редактировалось Phes2Amira; 13.07.2014 в 14:52.
)
Olб, estou usando esse fs de sistema de evento que vou postar a baixo, queria saber como faзo um comando para quando eu criar o evento dentro de um interior eu usar /congelarevento e congelar todos que estгo no interior que criei o evento e quando eu usar /descongelarevento descongelar todos do evento.
Se alguйm me ajudar agradeзo. Muito Obrigado.
Se alguйm me ajudar agradeзo. Muito Obrigado.
Quote:
#include <a_samp> new Veiculos[212][25] = { "Landstalker","Bravura","Buffalo","Linerunner","Pe rrenial","Sentinel","Dumper","Firetruck","Trashmas ter", "Stretch","Manana","Infernus","Voodoo","Pony","Mul e","Cheetah","Ambulance","Leviathan","Moonbeam" , "Esperanto","Taxi","Washington","Bobcat","Mr Whoopee","BF Injection","Hunter","Premier","Enforcer", "Securicar","Banshee","Predator","Bus","Rhino","Ba rracks","Hotknife","Trailer 1","Previon","Coach", "Cabbie","Stallion","Rumpo","RC Bandit","Romero","Packer","Monster","Admiral","Squ alo","Seasparrow", "Pizzaboy","Tram","Trailer 2","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","S andking","Blista Compact","Police Maverick","Boxville", "Benson","Mesa","RC Goblin","Hotring Racer A","Hotring Racer B","Bloodring Banger","Rancher","Super GT", "Elegant","Journey","Bike","Mountain Bike","Beagle","Cropdust","Stunt","Tanker","Roadtr ain","Nebula", "Majestic","Buccaneer","Shamal","Hydra","FCR-900","NRG-500","HPV1000","Cement Truck","Tow Truck","Fortune", "Cadrona","FBI Truck","Willard","Forklift","Tractor","Combine","F eltzer","Remington","Slamvan","Blade", "Freight","Streak","Vortex","Vincent","Bullet","Cl over","Sadler","Firetruck LA","Hustler","Intruder", "Primo","Cargobob","Tampa","Sunrise","Merit","Util ity","Nevada","Yosemite","Windsor","Monster A","Monster B", "Uranus","Jester","Sultan","Stratum","Elegy","Rain dance","RC Tiger","Flash","Tahoma","Savanna","Bandito", "Freight Flat","Streak Carriage","Kart","Mower","Duneride","Sweeper","Bro adway","Tornado","AT-400","DFT-30", "Huntley","Stafford","BF-400","Newsvan","Tug","Trailer 3","Emperor","Wayfarer","Euros","Hotdog","Club" , "Freight Carriage","Trailer 3","Andromada","Dodo","RC Cam","Launch","Police Car (LSPD)","Police Car (SFPD)", "Police Car (LVPD)","Police Ranger","Picador","S.W.A.T. Van","Alpha","Phoenix","Glendale","Sadler", "Luggage Trailer A","Luggage Trailer B","Stair Trailer","Boxville","Farm Plow","Utility Trailer" }; #define AMARELO 0xF9F900FF #define VERMELHO 0xFF0000FF #define DodgerBlue 0x1E90FFAA #define DeepPink 0xFF1493AA #define Red1 0xFF0000AA enum FreeGells { Float:X, Float:Y, Float:Z, Interior, VirtualWorld, bool:Trancado, bool:Criado, }; new Evento[FreeGells]; new Float:Pos[MAX_PLAYERS][4]; new Int[MAX_PLAYERS]; new VW[MAX_PLAYERS]; new Skin[MAX_PLAYERS]; new Cars[MAX_PLAYERS] = -1; new bool:TaNoEvento[MAX_PLAYERS]; public OnFilterScriptInit() { // print("\n--------------------------------------"); // print(" - Sistema de Evento por Freegells"); // print(" - Carregando..."); // print(" - [KoS] Kings Of Samp"); // print("--------------------------------------\n"); return 1; } public OnFilterScriptExit() { // print("\n--------------------------------------"); // print(" - Sistema de Evento por Freegells"); // print(" - Descarregando..."); // print(" - [KoS] Kings Of Samp"); // print("--------------------------------------\n"); return 1; } public OnPlayerCommandText(playerid, cmdtext[]) { new cmd[64], idx, tmp[64], String[128], n[MAX_PLAYER_NAME]; cmd = strtok(cmdtext, idx); if(strcmp(cmd, "/ccmdph", true) == 0) { if(Evento[Criado]) return SendClientMessage(playerid, VERMELHO, "[Fail] Jб existe um Evento criado!"); GetPlayerPos(playerid, Evento[X], Evento[Y], Evento[Z]); Evento[VirtualWorld] = GetPlayerVirtualWorld(playerid); Evento[Interior] = GetPlayerInterior(playerid); GetPlayerName(playerid, n, MAX_PLAYER_NAME); format(String, sizeof String, "|'EVENTO'|: O Administrador %s criou um evento! Aguarde atй que o EVENTO seja destrancado!", n); SendClientMessageToAll(DeepPink, String); Evento[Criado] = true; Evento[Trancado] = true; return 1; } if(strcmp(cmd, "/irevento", true) == 0) { if(!Evento[Criado]) return SendClientMessage(playerid, VERMELHO, "[Fail] Nгo existe um evento criado!"); if(Evento[Trancado]) return SendClientMessage(playerid, VERMELHO, "[Fail] Evento Trancado!"); if(TaNoEvento[playerid]) return SendClientMessage(playerid, VERMELHO, "[Fail] Vocк jб estб no evento!"); GetPlayerPos(playerid, Pos[playerid][0], Pos[playerid][1], Pos[playerid][2]); GetPlayerFacingAngle(playerid, Pos[playerid][3]); SetCameraBehindPlayer(playerid); Int[playerid] = GetPlayerInterior(playerid); VW[playerid] = GetPlayerVirtualWorld(playerid); Skin[playerid] = GetPlayerSkin(playerid); SendClientMessage(playerid, DeepPink, "|'EVENTO'|: Vocк Entrou no Evento! Para sair do evento digite:{1E90FF} /sairevento."); SetPlayerPos(playerid, Evento[X]+1, Evento[Y], Evento[Z]+0.5); SetPlayerInterior(playerid, Evento[Interior]); SetPlayerVirtualWorld(playerid, Evento[VirtualWorld]); GetPlayerName(playerid, n, MAX_PLAYER_NAME); TaNoEvento[playerid] = true; for(new i, p = GetMaxPlayers(); i < p; i ++) { if(!TaNoEvento[i]) continue; format(String, sizeof String, "|'EVENTO'|: %s Entrou no Evento!", n); SendClientMessage(i, DeepPink, String); } return 1; } if(strcmp(cmd, "/sairevento", true) == 0) { if(!Evento[Criado]) return SendClientMessage(playerid, VERMELHO, "[Fail] Nгo existe um evento criado!"); if(!TaNoEvento[playerid]) return SendClientMessage(playerid, VERMELHO, "[Fail] Vocк nгo estб no evento!"); GetPlayerName(playerid, n, MAX_PLAYER_NAME); SetPlayerPos(playerid, Pos[playerid][0], Pos[playerid][1], Pos[playerid][2]); SetPlayerFacingAngle(playerid, Pos[playerid][3]); SetCameraBehindPlayer(playerid); SetPlayerInterior(playerid, Int[playerid]); SetPlayerVirtualWorld(playerid, VW[playerid]); SetPlayerSkin(playerid, Skin[playerid]); TaNoEvento[playerid] = false; SendClientMessage(playerid, DeepPink, "|'EVENTO'|: Vocк saiu do Evento !"); for(new i, p = GetMaxPlayers(); i < p; i ++) { if(!TaNoEvento[i]) continue; format(String, sizeof String, "|'EVENTO'|: %s Saiu do Evento!", n); SendClientMessage(i, DeepPink, String); } return 1; } if(strcmp(cmd, "/termcmdph", true) == 0) { if(!Evento[Criado]) return SendClientMessage(playerid, VERMELHO, "[Fail] Nгo existe um evento criado!"); GetPlayerName(playerid, n, MAX_PLAYER_NAME); Evento[Criado] = false; format(String, sizeof String, "|'EVENTO'|: O Administrador %s Terminou o Evento de Hoje!", n); SendClientMessageToAll(DeepPink, String); for(new i, p = GetMaxPlayers(); i < p; i ++) { if(!TaNoEvento[i]) continue; SetPlayerPos(i, Pos[i][0], Pos[i][1], Pos[i][2]); SetPlayerFacingAngle(i, Pos[i][3]); SetCameraBehindPlayer(i); SetPlayerInterior(i, Int[i]); SetPlayerVirtualWorld(i, VW[i]); SetPlayerSkin(i, Skin[i]); TaNoEvento[i] = false; } for(new i = 0; i < sizeof Cars; i++) { DestroyVehicle(Cars[i]); } return 1; } if(strcmp(cmd, "/trancmdph", true) == 0) { if(!Evento[Criado]) return SendClientMessage(playerid, VERMELHO, "[Fail] Nгo existe um evento criado!"); if(Evento[Trancado]) return SendClientMessage(playerid, VERMELHO, "[Fail] O Evento jб estб trancado!"); Evento[Trancado] = true; GetPlayerName(playerid, n, MAX_PLAYER_NAME); format(String, sizeof String, "|'EVENTO'|: O Administrador %s trancou o evento! %s.", n, Check()); SendClientMessageToAll(DodgerBlue, String); return 1; } if(strcmp(cmd, "/destracmdph", true) == 0) { if(!Evento[Criado]) return SendClientMessage(playerid, VERMELHO, "[Fail] Nгo existe um evento criado!"); if(!Evento[Trancado]) return SendClientMessage(playerid, VERMELHO, "[Fail] O Evento nгo estб trancado!"); Evento[Trancado] = false; GetPlayerName(playerid, n, MAX_PLAYER_NAME); format(String, sizeof String, "|'EVENTO'|: O Administrador %s Destrancou o Evento! digite:{1E90FF} /irevento", n); SendClientMessageToAll(DeepPink, String); return 1; } if(strcmp(cmd, "/armacmdph", true) == 0) { if(!Evento[Criado]) return SendClientMessage(playerid, VERMELHO, "[Fail] Nгo existe um evento criado!"); tmp = strtok(cmdtext, idx); if(!strlen(tmp)) return SendClientMessage(playerid, VERMELHO, "[Fail] Use: /ArmarEvento [ID DA ARMA] [MUNIЗГO]"); new Arma, Municao; Arma = strval(tmp); tmp = strtok(cmdtext, idx); if(!strlen(tmp)) return SendClientMessage(playerid, VERMELHO, "[Fail] Use: /ArmarEvento [ID DA ARMA] [MUNIЗГO]"); Municao = strval(tmp); if(Arma > 43) return SendClientMessage(playerid, VERMELHO, "[Fail] ID Da arma entre 0 e 43!"); if(Municao < 1) return SendClientMessage(playerid, VERMELHO, "[Fail] A muniзгo deve ser maior que 0!"); GetPlayerName(playerid, n, MAX_PLAYER_NAME); for(new i, p = GetMaxPlayers(); i < p; i ++) { if(!TaNoEvento[i]) continue; GivePlayerWeapon(i, Arma, Municao); format(String, sizeof String, "|'EVENTO'|: O Administrador %s deu a arma de id %d com %d balas para todos do Evento!", n, Arma, Municao); SendClientMessage(i, DodgerBlue, String); } return 1; } if(strcmp(cmd, "/vidacmdph", true) == 0) { if(!Evento[Criado]) return SendClientMessage(playerid, VERMELHO, "[Fail] Nгo existe um evento criado!"); tmp = strtok(cmdtext, idx); if(!strlen(tmp)) return SendClientMessage(playerid, VERMELHO, "[Fail] Use: /VidaEvento [Quantia]"); new Vida = strval(tmp); for(new i, p = GetMaxPlayers(); i < p; i ++) { if(!TaNoEvento[i]) continue; SetPlayerHealth(i, Vida); GetPlayerName(playerid, n, MAX_PLAYER_NAME); format(String, sizeof String, "|'EVENTO'|: O Administrador %s Setou a vida de todos do Evento para %d!", n, Vida); SendClientMessage(i, DodgerBlue, String); } return 1; } if(strcmp(cmd, "/coletecmdph", true) == 0) { if(!Evento[Criado]) return SendClientMessage(playerid, VERMELHO, "[Fail] Nгo existe um evento criado!"); tmp = strtok(cmdtext, idx); if(!strlen(tmp)) return SendClientMessage(playerid, VERMELHO, "[Fail] Use: /ColeteEvento [Quantia]"); new Colete = strval(tmp); for(new i, p = GetMaxPlayers(); i < p; i ++) { if(!TaNoEvento[i]) continue; SetPlayerArmour(i, Colete); GetPlayerName(playerid, n, MAX_PLAYER_NAME); format(String, sizeof String, "|'EVENTO'|: O Administrador %s Setou o colete de todos do Evento para %d!", n, Colete); SendClientMessage(i, DodgerBlue, String); } return 1; } if(strcmp(cmd, "/skincmdph", true) == 0) { if(!Evento[Criado]) return SendClientMessage(playerid, VERMELHO, "[Fail] Nгo existe um evento criado!"); tmp = strtok(cmdtext, idx); if(!strlen(tmp)) return SendClientMessage(playerid, VERMELHO, "[Fail] Use: /skinEvento [Skin]"); if(strval(tmp) < 0 || strval(tmp) > 299) return SendClientMessage(playerid, VERMELHO, "A skin deve estar entre 0 e 299."); for(new i, p = GetMaxPlayers(); i < p; i ++) { if(!TaNoEvento[i]) continue; SetPlayerSkin(i, strval(tmp)); GetPlayerName(playerid, n, MAX_PLAYER_NAME); format(String, sizeof String, "|'EVENTO'|: O Administrador %s trocou a skin de todos do Evento para %d!", n, strval(tmp)); SendClientMessage(i, DodgerBlue, String); } return 1; } if(strcmp(cmd, "/carcmdph", true) == 0) { if(!Evento[Criado]) return SendClientMessage(playerid, VERMELHO, "[Fail] Nгo existe um evento criado!"); tmp = strtok(cmdtext, idx); if(!strlen(tmp)) return SendClientMessage(playerid, VERMELHO, "[Fail] Use: /carevento [MODELO]"); new Modelo = strval(tmp), Float, Float:y, Float:z; if(Modelo < 400 || Modelo > 611) return SendClientMessage(playerid, VERMELHO, "[Fail] O modelo do veiculo deve ser maior que 400 e menor que 611!"); for(new i = 0; i < sizeof Cars; i ++) { DestroyVehicle(Cars[i]); Cars[i] = -1; } GetPlayerName(playerid, n, MAX_PLAYER_NAME); for(new i, p = GetMaxPlayers(); i < p; i++) { if(!TaNoEvento[i]) continue; GetPlayerPos(i, x, y, z); Cars[i] = CreateVehicle(Modelo, x, y, z, 0, random(255), random(255), -1); PutPlayerInVehicle(i, Cars[i], 0); LinkVehicleToInterior(Cars[i], GetPlayerInterior(i)); AddVehicleComponent(Cars[i], 1010); format(String, sizeof String, "|'EVENTO'|: O Administrador %s deu o veiculo %s para todos do Evento!", n, Veiculos[Modelo-400]); SendClientMessage(i, DodgerBlue, String); } return 1; } if(strcmp(cmd, "/cmdevento9548PH", true) == 0) { new str[900]; strcat(str, "\n/ccmdph - Serve para criar um evento.\n"); strcat(str, "/termcmdph - Serve para terminar um evento.\n"); strcat(str, "/vidacmdph - Serve para dar uma determinada quantidade de vida para os jogadores que estгo no evento.\n"); strcat(str, "/coletecmdph - Serve para dar uma certa quantidade de colete para os jogadores que estгo no evento.\n"); strcat(str, "/armacmdph - Serve para dar armas para os jogadores que estгo no evento.\n"); strcat(str, "/carcmdph - Serve para dar aos jogadores que estгo no evento um veiculo.\n"); strcat(str, "/sairevento - Serve para sair do evento.\n"); strcat(str, "/irevento - Serve para entrar no evento.\n"); strcat(str, "/trancmdph - Serve para trancar o evento.\n"); strcat(str, "/destracmdph - Serve para destrancar o evento.\n"); strcat(str, "/skincmdph - Serve para trocar a skin dos jogadores que estгo no evento.\n\n"); strcat(str, "\t /cmdevento9548PH Para ver os cmd"); ShowPlayerDialog(playerid, 794, DIALOG_STYLE_MSGBOX, "Comandos BPH EVENTO.", str, "Fechar", ""); return 1; } return 0; } public OnVehicleDeath(vehicleid) { for(new i = 0; i < sizeof Cars; i ++) { if(Cars[i] == vehicleid) { DestroyVehicle(vehicleid); break; } } return 1; } public OnPlayerStateChange(playerid, newstate, oldstate) { if(oldstate == 2) { if(GetVehicleModel(Cars[playerid])) { DestroyVehicle(Cars[playerid]); } } return 1; } public OnPlayerDeath(playerid, killerid, reason) { if(TaNoEvento[playerid]) { TaNoEvento[playerid] = false; } if(GetVehicleModel(Cars[playerid])) { DestroyVehicle(Cars[playerid]); } return 1; } strtok(const string[], &index) { new length = strlen(string); while ((index < length) && (string[index] <= ' ')) { index++; } new offset = index; new result[20]; while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1))) { result[index - offset] = string[index]; index++; } result[index - offset] = EOS; return result; } stock Check() { new players, str[64]; for(new i, p = GetMaxPlayers(); i < p; i ++) { if(!IsPlayerConnected(i) || !TaNoEvento[i]) continue; players++; } if(!players) { str = "Nenhum jogador entrou"; } else if(players == 1) { str = "1 jogador entrou"; } else { format(str, sizeof str, "%d jogadores entraram", players); } return str; } stock Check2() { new players; for(new i, p = GetMaxPlayers(); i < p; i ++) { if(!IsPlayerConnected(i) || !TaNoEvento[i]) continue; players++; } return players; } |