[Ajuda] Add comando no sistema de evento
#1

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.

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;
}

Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)