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