Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <a_samp>
- #define FILTERSCRIPT
- enum EINFO{Float:P1,Float:P2,Float:P3,Float:P4,Aberto,Criado,Carro,Arma[13],Balas[13],Mundo,Interior,cde[MAX_VEHICLES]};
- new EventoInfo[EINFO];
- new Float:POS[4];
- new InEvento[MAX_PLAYERS];
- main ()
- {
- print("FS Evento By ReDKiiL");
- return 1;
- }
- public OnFilterScriptInit()
- {
- print("FS Evento By ReDKiiL");
- return 1;
- }
- public OnFilterScriptExit()
- {
- return 1;
- }
- public OnPlayerCommandText(playerid,cmdtext[])
- {
- new cmd[128],idx,tmp[128];
- cmd = strtok(cmdtext,idx);
- if(!strcmp(cmd,"/infoevento",true))
- {
- if(!IsPlayerAdmin(playerid))return SendClientMessage(playerid,0xFF0000FF,"[ERRO]: Apenas Administradores [RCON] Pode Usar Esse Comando");
- SendClientMessage(playerid,0xFF0000FF,"Comandos: /criarevento /abrirevento /fecharevento /eventodarcarro /eventodararma /terminarevento");
- SendClientMessage(playerid,0xFF0000FF,"Comandos: /tirardoevento /sairdoevento");
- SendClientMessage(playerid,0xFF0000FF,"Creditos: Criado Por ReDKiiL u=125572");
- return 1;
- }
- if(!strcmp(cmd,"/criarevento",true))
- {
- if(!IsPlayerAdmin(playerid))return SendClientMessage(playerid,0xFF0000FF,"[ERRO]: Apenas Administradores [RCON] Podem Usar Esse Comando");
- if(EventoInfo[Criado] == 1)return SendClientMessage(playerid,0xFF0000FF,"[ERRO]: Já existe um evento criado");
- GetPlayerPos(playerid,POS[0],POS[1],POS[2]); GetPlayerFacingAngle(playerid,POS[3]);
- EventoInfo[P1] = Float:POS[0];
- EventoInfo[P2] = Float:POS[1];
- EventoInfo[P3] = Float:POS[2];
- EventoInfo[P4] = Float:POS[3];
- EventoInfo[Interior] = GetPlayerInterior(playerid);
- EventoInfo[Mundo] = GetPlayerVirtualWorld(playerid);
- for(new i,k=13; i != k; ++i)
- {
- GetPlayerWeaponData(playerid,i,EventoInfo[Arma][i],EventoInfo[Balas][i]);
- }
- if(IsPlayerInAnyVehicle(playerid))
- {
- EventoInfo[Carro] = GetVehicleModel(GetPlayerVehicleID(playerid));
- }
- EventoInfo[Criado] = 1;
- EventoInfo[Aberto] = 0;
- SendClientMessage(playerid,0x00FF00FF,"[INFO]: Evento criado para abrir digite ( /abrirevento )");
- return 1;
- }
- if(!strcmp(cmd,"/abrirevento",true))
- {
- if(!IsPlayerAdmin(playerid))return SendClientMessage(playerid,0xFF0000FF,"[ERRO: Apenas Administradores [RCON] Podem Usar Esse Comando");
- if(EventoInfo[Criado] == 0)return SendClientMessage(playerid,0xFF0000FF,"[ERRO]: Não existe nenhum evento criado digite ( /criarevento ) para criar algum");
- EventoInfo[Aberto] = 1;
- SendClientMessage(playerid,0x00FF00FF,"[INFO]: Evento foi aberto com sucesso!");
- return 1;
- }
- if(!strcmp(cmd,"/fecharevento",true))
- {
- if(!IsPlayerAdmin(playerid))return SendClientMessage(playerid,0xFF0000FF,"[ERRO: Apenas Administradores [RCON] Podem Usar Esse Comando");
- if(EventoInfo[Criado] == 0)return SendClientMessage(playerid,0xFF0000FF,"[ERRO]: Não existe nenhum evento criado!");
- if(EventoInfo[Aberto] == 0)return SendClientMessage(playerid,0xFF0000FF,"[ERRO]: Evento já está fechado");
- EventoInfo[Aberto] = 0;
- SendClientMessage(playerid,0xFF00FFFF,"[INFO]: Evento foi aberto");
- return 1;
- }
- if(!strcmp(cmd,"/evento",true))
- {
- if(EventoInfo[Criado] == 0)return SendClientMessage(playerid,0xFF0000FF,"[ERRO]: Não existe nenhum evento criado!");
- if(EventoInfo[Aberto] == 0)return SendClientMessage(playerid,0xFF0000FF,"[ERRO]: Evento ainda não foi aberto");
- InEvento[playerid] = 1;
- SetPlayerPos(playerid,EventoInfo[P1],EventoInfo[P2],EventoInfo[P3]);
- SetPlayerFacingAngle(playerid,EventoInfo[P4]);
- SetPlayerInterior(playerid,EventoInfo[Interior]);
- SetPlayerVirtualWorld(playerid,EventoInfo[Mundo]);
- for(new i, k = 13; i != k; ++i)
- {
- GivePlayerWeapon(playerid,EventoInfo[Arma][i],EventoInfo[Balas][i]);
- }
- if(EventoInfo[Carro] >= 400 && EventoInfo[Carro] <= 611)
- {
- new car;
- car = CreateVehicle(EventoInfo[Carro],EventoInfo[P1],EventoInfo[P2],EventoInfo[P3]+5,EventoInfo[P4],-1,-1,-1);
- PutPlayerInVehicle(playerid,car,0);
- SetVehicleVirtualWorld(car,EventoInfo[Mundo]);
- LinkVehicleToInterior(car,EventoInfo[Interior]);
- EventoInfo[cde][car] = 1;
- }
- return 1;
- }
- if(!strcmp(cmd,"/terminarevento",true))
- {
- if(!IsPlayerAdmin(playerid))return SendClientMessage(playerid,0xFF0000FF,"[ERRO]: Apenas Administradores [RCON] Podem Usar Esse Comando");
- if(EventoInfo[Criado] == 0)return SendClientMessage(playerid,0xFF0000FF,"[ERRO]: Não existe nenhum evento criado!");
- for(new i, x = GetMaxPlayers(); i != x; ++i)
- {
- if(IsPlayerConnected(i) && InEvento[i] == 1)
- {
- SpawnPlayer(i);
- InEvento[i] = 0;
- }
- }
- for(new k, a = MAX_VEHICLES; k != a; ++k)
- {
- if(EventoInfo[cde][k] == 1)
- {
- DestroyVehicle(k);
- }
- }
- EventoInfo[Carro] = 0;
- EventoInfo[Criado] = 0;
- EventoInfo[Aberto] = 0;
- SendClientMessage(playerid,0xFF00FFFF,"[INFO]: Evento terminado");
- return 1;
- }
- if(!strcmp(cmd,"/eventodararma",true))
- {
- if(!IsPlayerAdmin(playerid))return SendClientMessage(playerid,0xFF0000FF,"[ERRO]: Apenas Administradores [RCON] Podem Usar Esse Comando");
- tmp = strtok(cmdtext,idx);
- if(!strlen(tmp))return SendClientMessage(playerid,0xFF0000FF,"Uso: /eventodararma [arma id] [balas]");
- new arma,balas;
- arma = strval(tmp);
- if(arma > 46)return SendClientMessage(playerid,0xFF0000FF,"[ERRO]: Arma invalida");
- tmp = strtok(cmdtext,idx);
- if(!strlen(tmp))return SendClientMessage(playerid,0xFF0000FF,"Uso: /eventodararma [arma id] [balas]");
- balas = strval(tmp);
- for(new i, x = GetMaxPlayers(); i != x; ++i)
- {
- if(IsPlayerConnected(i) && InEvento[i] == 1)
- {
- GivePlayerWeapon(i,arma,balas);
- }
- }
- return 1;
- }
- if(!strcmp(cmd,"/eventodarcarro",true))
- {
- if(!IsPlayerAdmin(playerid))return SendClientMessage(playerid,0xFF0000FF,"[ERRO]: Apenas Administradores [RCON] Podem Usar Esse Comando");
- tmp = strtok(cmdtext,idx);
- if(!strlen(tmp))return SendClientMessage(playerid,0xFF0000FF,"Uso: /eventodarcarro [modelo id]");
- new carro = strval(tmp);
- if(carro < 400 || carro > 611)return SendClientMessage(playerid,0xFF0000FF,"[ERRO]: Carro invalido");
- new Float:GPOS[4];
- for(new i, x = GetMaxPlayers(); i != x; ++i)
- {
- if(IsPlayerConnected(i) && InEvento[i] == 1 && GetPlayerState(playerid) != PLAYER_STATE_DRIVER)
- {
- GetPlayerPos(playerid,GPOS[0],GPOS[1],GPOS[2]);
- GetPlayerFacingAngle(playerid,GPOS[3]);
- new car = CreateVehicle(carro,GPOS[0],GPOS[1],GPOS[2]+3,GPOS[3],-1,-1,-1);
- SetVehicleVirtualWorld(car,EventoInfo[Mundo]);
- LinkVehicleToInterior(car,EventoInfo[Interior]);
- PutPlayerInVehicle(i,car,0);
- EventoInfo[cde][GetPlayerVehicleID(i)] = 1;
- }
- }
- return 1;
- }
- if(!strcmp(cmd,"/tirardoevento",true))
- {
- if(!IsPlayerAdmin(playerid))return SendClientMessage(playerid,0xFF0000FF,"[ERRO]: Apenas Administradores [RCON] Podem Usar Esse Comando");
- tmp = strtok(cmdtext,idx);
- if(!strlen(tmp))return SendClientMessage(playerid,0xFF0000FF,"Uso: /tirardoevento [id]");
- new id = strval(tmp);
- if(!IsPlayerConnected(id))return SendClientMessage(playerid,0xFF0000FF,"[ERRO]: Jogador Offline Ou ID Invalido");
- if(InEvento[id] == 0)return SendClientMessage(playerid,0xFF0000FF,"[ERRO]: o Jogador Não Está No Evento");
- InEvento[id] = 0;
- SpawnPlayer(id);
- SetPlayerVirtualWorld(id,0);
- SetPlayerInterior(id,0);
- return 1;
- }
- if(!strcmp(cmd,"/sairdoevento",true))
- {
- if(InEvento[playerid] == 0)return SendClientMessage(playerid,0xFF0000FF,"[ERRO]: Voce Não Está No Evento");
- SpawnPlayer(playerid);
- SetPlayerVirtualWorld(playerid,0);
- SetPlayerInterior(playerid,0);
- return 1;
- }
- return 0;
- }
- 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;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement