Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <a_samp>
- new Veiculos[212][25] =
- {
- "Landstalker","Bravura","Buffalo","Linerunner","Perrenial","Sentinel","Dumper","Firetruck","Trashmaster",
- "Stretch","Manana","Infernus","Voodoo","Pony","Mule","Cheetah","Ambulance","Leviathan","Moonbeam",
- "Esperanto","Taxi","Washington","Bobcat","Mr Whoopee","BF Injection","Hunter","Premier","Enforcer",
- "Securicar","Banshee","Predator","Bus","Rhino","Barracks","Hotknife","Trailer 1","Previon","Coach",
- "Cabbie","Stallion","Rumpo","RC Bandit","Romero","Packer","Monster","Admiral","Squalo","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","Sandking","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","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 LA","Hustler","Intruder",
- "Primo","Cargobob","Tampa","Sunrise","Merit","Utility","Nevada","Yosemite","Windsor","Monster A","Monster B",
- "Uranus","Jester","Sultan","Stratum","Elegy","Raindance","RC Tiger","Flash","Tahoma","Savanna","Bandito",
- "Freight Flat","Streak Carriage","Kart","Mower","Duneride","Sweeper","Broadway","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
- 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, "/criarevento", true) == 0)
- {
- if(Evento[Criado]) return SendClientMessage(playerid, VERMELHO, "[ERRO] Já existe um Evento criado!");
- if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, VERMELHO, "[ERRO] Você deve estar logado na Rcon!");
- 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, "[INFO] O Administrador %s criou um evento! Aguarde até que o evento seja destrancado!", n);
- SendClientMessageToAll(AMARELO, String);
- Evento[Criado] = true;
- Evento[Trancado] = true;
- return 1;
- }
- if(strcmp(cmd, "/irevento", true) == 0)
- {
- if(!Evento[Criado]) return SendClientMessage(playerid, VERMELHO, "[ERRO] Não existe um evento criado!");
- if(Evento[Trancado]) return SendClientMessage(playerid, VERMELHO, "[ERRO] Evento Trancado!");
- if(TaNoEvento[playerid]) return SendClientMessage(playerid, VERMELHO, "[ERRO] 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, AMARELO, "[INFO] Você se teleportou até o Evento! Para sair do evento digite /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, "[INFO] %s Entrou no Evento!", n);
- SendClientMessage(i, AMARELO, String);
- }
- return 1;
- }
- if(strcmp(cmd, "/sairevento", true) == 0)
- {
- if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, VERMELHO, "[ERRO] Você deve estar logado na Rcon!");
- if(!Evento[Criado]) return SendClientMessage(playerid, VERMELHO, "[ERRO] Não existe um evento criado!");
- if(!TaNoEvento[playerid]) return SendClientMessage(playerid, VERMELHO, "[ERRO] 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, AMARELO, "[INFO] Você saiu do Evento !");
- for(new i, p = GetMaxPlayers(); i < p; i ++)
- {
- if(!TaNoEvento[i]) continue;
- format(String, sizeof String, "[INFO] %s Saiu do Evento!", n);
- SendClientMessage(i, AMARELO, String);
- }
- return 1;
- }
- if(strcmp(cmd, "/terminarevento", true) == 0)
- {
- if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, VERMELHO, "[ERRO] Você deve estar logado na Rcon!");
- if(!Evento[Criado]) return SendClientMessage(playerid, VERMELHO, "[ERRO] Não existe um evento criado!");
- GetPlayerName(playerid, n, MAX_PLAYER_NAME);
- Evento[Criado] = false;
- format(String, sizeof String, "[INFO] O Administrador %s Terminou o evento!", n);
- SendClientMessageToAll(VERMELHO, 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, "/trancarevento", true) == 0)
- {
- if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, VERMELHO, "[ERRO] Você deve estar logado na Rcon!");
- if(!Evento[Criado]) return SendClientMessage(playerid, VERMELHO, "[ERRO] Não existe um evento criado!");
- if(Evento[Trancado]) return SendClientMessage(playerid, VERMELHO, "[ERRO] O Evento já está trancado!");
- Evento[Trancado] = true;
- GetPlayerName(playerid, n, MAX_PLAYER_NAME);
- format(String, sizeof String, "[INFO] O Administrador %s trancou o evento! %s.", n, Check());
- SendClientMessageToAll(AMARELO, String);
- return 1;
- }
- if(strcmp(cmd, "/destrancarevento", true) == 0)
- {
- if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, VERMELHO, "[ERRO] Você deve estar logado na Rcon!");
- if(!Evento[Criado]) return SendClientMessage(playerid, VERMELHO, "[ERRO] Não existe um evento criado!");
- if(!Evento[Trancado]) return SendClientMessage(playerid, VERMELHO, "[ERRO] O Evento não está trancado!");
- Evento[Trancado] = false;
- GetPlayerName(playerid, n, MAX_PLAYER_NAME);
- format(String, sizeof String, "[INFO] O Administrador %s Destrancou o evento! Use: /irevento", n);
- SendClientMessageToAll(AMARELO, String);
- return 1;
- }
- if(strcmp(cmd, "/armarevento", true) == 0)
- {
- if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, VERMELHO, "[ERRO] Você deve estar logado na Rcon!");
- if(!Evento[Criado]) return SendClientMessage(playerid, VERMELHO, "[ERRO] Não existe um evento criado!");
- tmp = strtok(cmdtext, idx);
- if(!strlen(tmp)) return SendClientMessage(playerid, VERMELHO, "[ERRO] Use: /ArmarEvento [ID DA ARMA] [MUNIÇÃO]");
- new Arma, Municao;
- Arma = strval(tmp);
- tmp = strtok(cmdtext, idx);
- if(!strlen(tmp)) return SendClientMessage(playerid, VERMELHO, "[ERRO] Use: /ArmarEvento [ID DA ARMA] [MUNIÇÃO]");
- Municao = strval(tmp);
- if(Arma > 43) return SendClientMessage(playerid, VERMELHO, "[ERRO] ID Da arma entre 0 e 43!");
- if(Municao < 1) return SendClientMessage(playerid, VERMELHO, "[ERRO] 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, "[INFO] O Administrador %s deu a arma de id %d com %d balas para todos do evento!", n, Arma, Municao);
- SendClientMessage(i, AMARELO, String);
- }
- return 1;
- }
- if(strcmp(cmd, "/vidaevento", true) == 0)
- {
- if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, VERMELHO, "[ERRO] Você deve estar logado na Rcon!");
- if(!Evento[Criado]) return SendClientMessage(playerid, VERMELHO, "[ERRO] Não existe um evento criado!");
- tmp = strtok(cmdtext, idx);
- if(!strlen(tmp)) return SendClientMessage(playerid, VERMELHO, "[ERRO] 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, "[INFO] O Administrador %s Setou a vida de todos do Evento para %d!", n, Vida);
- SendClientMessage(i, AMARELO, String);
- }
- return 1;
- }
- if(strcmp(cmd, "/coleteevento", true) == 0)
- {
- if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, VERMELHO, "[ERRO] Você deve estar logado na Rcon!");
- if(!Evento[Criado]) return SendClientMessage(playerid, VERMELHO, "[ERRO] Não existe um evento criado!");
- tmp = strtok(cmdtext, idx);
- if(!strlen(tmp)) return SendClientMessage(playerid, VERMELHO, "[ERRO] 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, "[INFO] O Administrador %s Setou o colete de todos do Evento para %d!", n, Colete);
- SendClientMessage(i, AMARELO, String);
- }
- return 1;
- }
- if(strcmp(cmd, "/skinevento", true) == 0)
- {
- if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, VERMELHO, "[ERRO] Você deve estar logado na Rcon!");
- if(!Evento[Criado]) return SendClientMessage(playerid, VERMELHO, "[ERRO] Não existe um evento criado!");
- tmp = strtok(cmdtext, idx);
- if(!strlen(tmp)) return SendClientMessage(playerid, VERMELHO, "[ERRO] 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, "[INFO] O Administrador %s trocou a skin de todos do Evento para %d!", n, strval(tmp));
- SendClientMessage(i, AMARELO, String);
- }
- return 1;
- }
- if(strcmp(cmd, "/carevento", true) == 0)
- {
- if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, VERMELHO, "[ERRO] Você deve estar logado na Rcon!");
- if(!Evento[Criado]) return SendClientMessage(playerid, VERMELHO, "[ERRO] Não existe um evento criado!");
- tmp = strtok(cmdtext, idx);
- if(!strlen(tmp)) return SendClientMessage(playerid, VERMELHO, "[ERRO] Use: /carevento [MODELO]");
- new Modelo = strval(tmp), Float:x, Float:y, Float:z;
- if(Modelo < 400 || Modelo > 611) return SendClientMessage(playerid, VERMELHO, "[ERRO] 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, "[INFO] O Administrador %s deu o veiculo %s para todos do Evento!", n, Veiculos[Modelo-400]);
- SendClientMessage(i, AMARELO, String);
- }
- return 1;
- }
- if(strcmp(cmd, "/comandos", true) == 0)
- {
- new str[900];
- strcat(str, "\n/criarevento - Serve para criar um evento.\n");
- strcat(str, "/terminarevento - Serve para terminar um evento.\n");
- strcat(str, "/vidaevento - Serve para dar uma determinada quantidade de vida para os jogadores que estão no evento.\n");
- strcat(str, "/coleteevento - Serve para dar uma certa quantidade de colete para os jogadores que estão no evento.\n");
- strcat(str, "/armarevento - Serve para dar armas para os jogadores que estão no evento.\n");
- strcat(str, "/carevento - 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, "/trancarevento - Serve para trancar o evento.\n");
- strcat(str, "/destrancarevento - Serve para destrancar o evento.\n");
- strcat(str, "/skinevento - Serve para trocar a skin dos jogadores que estão no evento.\n\n");
- strcat(str, "\t Creditos: Shadoww5 & FreeGellsTSSA - Kings Of Samp");
- ShowPlayerDialog(playerid, 794, DIALOG_STYLE_MSGBOX, "Comandos FS 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;
- }
Add Comment
Please, Sign In to add comment