13.02.2014, 20:22
Й o seguinte, estou tentando usar o sistema de evento (M-Event Advanced Event System) em meu server de RPG e quando coloco /evento nгo aparece nada!
Testei ele em um GM de caminhoneiro e pegou!
No meu server de RPG tem o comando /trabalhar e tals !
Gostaria que resolvessem esse problema para mim , obrigado!
Testei ele em um GM de caminhoneiro e pegou!
No meu server de RPG tem o comando /trabalhar e tals !
Gostaria que resolvessem esse problema para mim , obrigado!
Code:
//INCLUDES #include <a_samp> #include <ZCMD> #include <DOF2> #include <sscanf2> //DEFINES #define DIALOG_EVENTO 950 #define DIALOG_ABRIREVENTO 951 #define DIALOG_NOMEEVENTO 952 #define DIALOG_PREMIO1 953 #define DIALOG_PREMIO2 954 #define DIALOG_PREMIO3 955 #define DIALOG_CARRO 956 #define DIALOG_COR1 957 #define DIALOG_COR2 958 #define DIALOG_ARMA 959 #define DIALOG_MUNICAO 960 #define DIALOG_VIDAVEICULOS 961 #define DIALOG_KICK 962 #define DIALOG_FIM1 963 #define DIALOG_FIM2 964 #define DIALOG_FIM3 965 #define DIALOG_VIDA 966 #define DIALOG_COLETE 967 #define DIALOG_SKIN 968 #define DIALOG_BAN1 969 #define DIALOG_BAN2 970 #define DIALOG_BAN3 971 #define DIALOG_DESBAN 972 #define DIALOG_DESBAN2 973 #define DIALOG_PUXAR 974 #define DIALOG_INFOBAN 975 #define CREDITOS 976 #define COR_EVENTO 0xFF8000AA #define COR_ERRO 0xB4B5B7FF #define COR_INFO 0xFFFF00AA new NomePlayer[MAX_PLAYER_NAME], Name[64], Format[150], Float:PosX, Float:PosY, Float:PosZ, Float:PosA; enum eventInfo { Float:X, Float:Y, Float:Z, Float:A, VirtualWorld, Interior, Nome[64], Criado, Aberto, Premio1, Premio2, Premio3, Carro, Cor1, Cor2, Arma, Vida, }; enum pInfo { NoEvento, Carro, Banido, }; enum bInfo { ID, Tempo, Motivo[64], DesbanID, }; //NEW new EventInfo[eventInfo]; new PlayerInfo[MAX_PLAYERS][pInfo]; new BanInfo[bInfo]; #if defined FILTERSCRIPT public OnFilterScriptInit() { print("\n----------------------------------"); print("------------M-Event System----------"); print("--By: Spark_DaSantos/Marcelo_Elite--"); print("---Todos os Direitos Reservados®---"); print("----------------------------------\n"); EventInfo[X] = 0; EventInfo[Y] = 0; EventInfo[Z] = 0; EventInfo[A] = 0; EventInfo[VirtualWorld] = 0; EventInfo[Interior] = 0; EventInfo[Criado] = 0; EventInfo[Aberto] = 0; EventInfo[Premio1] = 0; EventInfo[Premio2] = 0; EventInfo[Premio3] = 0; EventInfo[Carro] = 0; EventInfo[Cor1] = 0; EventInfo[Cor2] = 0; EventInfo[Arma] = 0; EventInfo[Vida] = 0; BanInfo[ID] = 0; BanInfo[Tempo] = 0; BanInfo[DesbanID] = 0; return 1; } public OnFilterScriptExit() { return 1; } #endif public OnPlayerConnect(playerid) { PlayerInfo[playerid][NoEvento] = 0; PlayerInfo[playerid][Carro] = 0; ChecarBan(playerid); return 1; } public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) { if(dialogid == DIALOG_EVENTO) { if(response) { switch (listitem) { case 0: { if(EventInfo[Criado] == 1) return SendClientMessage(playerid, COR_ERRO, "[ERRO] Jб existe um evento aberto, destrua-o antes de criar um novo"); if(EventInfo[X] == 0 && EventInfo[Y] == 0 && EventInfo[Z] == 0) return SendClientMessage(playerid, COR_ERRO, "[ERRO] Vocк precisa definir o local do evento antes de cria-lo!"); if(EventInfo[Premio1] == 0 || EventInfo[Premio2] == 0 || EventInfo[Premio3] == 0) return SendClientMessage(playerid, COR_ERRO, "[ERRO] Vocк precisa definir o valor dos premios!"); ShowPlayerDialog(playerid, DIALOG_NOMEEVENTO, DIALOG_STYLE_INPUT, "{FFFF00}Criaзгo de Eventos", "Digite o Nome do seu Evento:", "Continuar", ""); return 1; } case 1: { GetPlayerPos(playerid, PosX, PosY, PosZ); GetPlayerFacingAngle(playerid, PosA); EventInfo[X] = PosX; EventInfo[Y] = PosY; EventInfo[Z] = PosZ; EventInfo[A] = PosA; EventInfo[Interior] = GetPlayerInterior(playerid); EventInfo[VirtualWorld] = (GetPlayerVirtualWorld(playerid) + 1); SendClientMessage(playerid, -1, "[INFO] Posiзгo do Evento definida!"); return 1; } case 2: { if(EventInfo[Criado] == 0) return SendClientMessage(playerid, COR_ERRO, "[ERRO] Nгo existe nenhum evento criado!"); if(EventInfo[Aberto] == 0) { EventInfo[Aberto] = 1; GetPlayerName(playerid, NomePlayer, MAX_PLAYER_NAME); format(Format, sizeof(Format), "[EVENTO] O Administrador %s Abriu o Evento!", NomePlayer); SendClientMessageToAll(COR_EVENTO, Format); format(Format, sizeof(Format), "{FFFF00}Nome: {FF0000}%s {FFFF00}| Premio para o 1є Lugar: {FF0000}%d {FFFF00}| Premio para o 2є Lugar: {FF0000}%d {FFFF00}| Premio para o 3є Lugar: {FF0000}%d", EventInfo[Nome], EventInfo[Premio1], EventInfo[Premio2], EventInfo[Premio3]); SendClientMessageToAll(COR_INFO, Format); SendClientMessageToAll(COR_INFO, "Digite /irevento caso queira participar!"); return 1; } else { EventInfo[Aberto] = 0; GetPlayerName(playerid, NomePlayer, MAX_PLAYER_NAME); format(Format, sizeof(Format), "[EVENTO] O Administrador %s Fechou o Evento!", NomePlayer); SendClientMessageToAll(COR_EVENTO, Format); return 1; } } case 3: { if(EventInfo[Criado] == 1) return SendClientMessage(playerid, COR_ERRO, "[ERRO] Vocк nгo pode fazer modificaзхes em um evento em andamento!"); ShowPlayerDialog(playerid, DIALOG_PREMIO1, DIALOG_STYLE_INPUT, "{FFFF00}Definiзхes do Evento", "Digite qual serб o Premio para o 1є Colocado no Evento:", "Salvar", "Cancelar"); return 1; } case 4: { if(EventInfo[Criado] == 1) return SendClientMessage(playerid, COR_ERRO, "[ERRO] Vocк nгo pode fazer modificaзхes em um evento em andamento!"); ShowPlayerDialog(playerid, DIALOG_PREMIO2, DIALOG_STYLE_INPUT, "{FFFF00}Definiзхes do Evento", "Digite qual serб o Premio para o 2є Colocado no Evento:", "Salvar", "Cancelar"); return 1; } case 5: { if(EventInfo[Criado] == 1) return SendClientMessage(playerid, COR_ERRO, "[ERRO] Vocк nгo pode fazer modificaзхes em um evento em andamento!"); ShowPlayerDialog(playerid, DIALOG_PREMIO3, DIALOG_STYLE_INPUT, "{FFFF00}Definiзхes do Evento", "Digite qual serб o Premio para o 3є Colocado no Evento:", "Salvar", "Cancelar"); return 1; } case 6: { if(EventInfo[Criado] == 0) return SendClientMessage(playerid, COR_ERRO, "[ERRO] Nгo existe nenhum evento criado!"); ShowPlayerDialog(playerid, DIALOG_ARMA, DIALOG_STYLE_INPUT, "{FFFF00}Definiзхes do Evento", "Digite qual o ID da arma que vocк quer dar para\ntodos os Jogadores do Evento:", "Continuar", "Cancelar"); return 1; } case 7: { if(EventInfo[Criado] == 0) return SendClientMessage(playerid, COR_ERRO, "[ERRO] Nгo existe nenhum evento criado!"); ShowPlayerDialog(playerid, DIALOG_CARRO, DIALOG_STYLE_INPUT, "{FFFF00}Definiзхes do Evento", "Digite qual o ID do veiculo que vocк deseja dar para\ntodos os Jogadores do Evento:\n\n(0 = Nenhum)", "Continuar", "Cancelar"); return 1; } case 8: { if(EventInfo[Criado] == 0) return SendClientMessage(playerid, COR_ERRO, "[ERRO] Nгo existe nenhum evento criado!"); ShowPlayerDialog(playerid, DIALOG_FIM1, DIALOG_STYLE_INPUT, "{FFFF00}Definiзхes do Evento", "Digite o ID do Primeiro Colocado no Evento:", "Continuar", "Cancelar"); return 1; } case 9: { if(EventInfo[Criado] == 0) return SendClientMessage(playerid, COR_ERRO, "[ERRO] Nгo existe nenhum evento criado!"); ShowPlayerDialog(playerid, DIALOG_VIDAVEICULOS, DIALOG_STYLE_INPUT, "{FFFF00}Definiзхes do Evento", "Digite a Vida que vocк deseja Definir para os\nVeiculos do Evento:", "Definir", "Cancelar"); return 1; } case 10: { if(EventInfo[Criado] == 0) return SendClientMessage(playerid, COR_ERRO, "[ERRO] Nгo existe nenhum evento criado!"); ShowPlayerDialog(playerid, DIALOG_KICK, DIALOG_STYLE_INPUT, "{FFFF00}Definiзхes do Evento", "Digite o ID do jogador que vocк deseja Kickar do Evento:", "Kickar", "Cancelar"); return 1; } case 11: { if(EventInfo[Criado] == 0) return SendClientMessage(playerid, COR_ERRO, "[ERRO] Nгo existe nenhum evento criado!"); ShowPlayerDialog(playerid, DIALOG_VIDA, DIALOG_STYLE_INPUT, "{FFFF00}Definiзхes do Evento", "Digite a Vida que vocк deseja Definir para os\nJogadores do Evento", "Definir", "Cancelar"); return 1; } case 12: { if(EventInfo[Criado] == 0) return SendClientMessage(playerid, COR_ERRO, "[ERRO] Nгo existe nenhum evento criado!"); ShowPlayerDialog(playerid, DIALOG_SKIN, DIALOG_STYLE_INPUT, "{FFFF00}Definiзхes do Evento", "Digite o ID da skin que vocк\ndeseja aplicar nos Jogadores do Evento:", "Definir", "Cancelar"); return 1; } case 13: { if(BanInfo[Tempo] >= 1) return SendClientMessage(playerid, COR_ERRO, "Algum administrador jб esta banindo um jogador, aguarde!"); ShowPlayerDialog(playerid, DIALOG_BAN1, DIALOG_STYLE_INPUT, "{FFFF00}Definiзхes do Evento", "Digite o ID do jogador que vocк deseja Banir dos Eventos:", "Continuar", "Cancelar"); return 1; } case 14: { ShowPlayerDialog(playerid, DIALOG_DESBAN, DIALOG_STYLE_INPUT, "{FFFF00}Definiзхes do Evento", "Digite o ID do jogador que vocк deseja Desbanir dos Eventos:", "Desbanir", "Cancelar"); return 1; } case 15: { if(EventInfo[Criado] == 0) return SendClientMessage(playerid, COR_ERRO, "[ERRO] Nгo existe nenhum evento criado!"); ShowPlayerDialog(playerid, DIALOG_PUXAR, DIALOG_STYLE_INPUT, "{FFFF00}Definiзхes do Evento", "Digite o ID do jogador que vocк deseja Puxar:", "Puxar", "Cancelar"); return 1; } case 16: { ShowPlayerDialog(playerid, DIALOG_INFOBAN, DIALOG_STYLE_INPUT, "{FFFF00}Definiзхes do Evento", "Digite o ID do jogador que vocк deseja\nvisualizar informзхes do banimento:", "Continuar", "Cancelar"); return 1; } case 17: { if(EventInfo[Criado] == 0) return SendClientMessage(playerid, COR_ERRO, "[ERRO] Nгo existe nenhum evento criado!"); for(new p = 0; p < MAX_PLAYERS; p++) { if(PlayerInfo[p][NoEvento] == 1) { TogglePlayerControllable(p, 0); } } GetPlayerName(playerid, NomePlayer, MAX_PLAYER_NAME); format(Format, sizeof(Format), "[EVENTO] O Administrador %s congelou todos os jogadores do evento!", NomePlayer); SendEventMessage(COR_INFO, Format); return 1; } case 18: { if(EventInfo[Criado] == 0) return SendClientMessage(playerid, COR_ERRO, "[ERRO] Nгo existe nenhum evento criado!"); for(new p = 0; p < MAX_PLAYERS; p++) { if(PlayerInfo[p][NoEvento] == 1) { TogglePlayerControllable(p, 1); } } GetPlayerName(playerid, NomePlayer, MAX_PLAYER_NAME); format(Format, sizeof(Format), "[EVENTO] O Administrador %s descongelou todos os jogadores do evento!", NomePlayer); SendEventMessage(COR_INFO, Format); return 1; } case 19: { if(EventInfo[Criado] == 0) return SendClientMessage(playerid, COR_ERRO, "[ERRO] Nгo existe nenhum evento criado!"); for(new p = 0; p < MAX_PLAYERS; p++) { if(PlayerInfo[p][NoEvento] == 1) { ResetPlayerWeapons(p); } } EventInfo[Arma] = 0; GetPlayerName(playerid, NomePlayer, MAX_PLAYER_NAME); format(Format, sizeof(Format), "[EVENTO] O Administrador %s resetou as armas dos jogadores do evento!", NomePlayer); SendEventMessage(COR_INFO, Format); return 1; } case 20: { ShowPlayerDialog(playerid, CREDITOS, DIALOG_STYLE_MSGBOX, "{FFFF00}Creditos do Sistema de Evento", "---------------------------M-Event---------------------------\n\n\n\nAutor de todo o Sistema: Spark_DaSantos ou Marcelo_Play\n\n\n\n--------------------------------------------------------------", "OK", ""); return 1; } } } return 1; } if(dialogid == DIALOG_NOMEEVENTO) { if(response) { format(Name, sizeof(Name), "%s", inputtext); EventInfo[Nome] = Name; ShowPlayerDialog(playerid, DIALOG_ABRIREVENTO, DIALOG_STYLE_MSGBOX, "Criaзгo de Eventos", "Vocк deseja que o seu Evento seja Criado\nAberto ou Fechado?", "Aberto", "Fechado"); return 1; } return 1; } if(dialogid == DIALOG_PREMIO1) { if(response) { if(strval(inputtext) < 1 || strval(inputtext) > 100000) return SendClientMessage(playerid, COR_ERRO, "[ERRO] O premio deve ser de no minimo 1 real e maximo 100000 reais!"); EventInfo[Premio1] = strval(inputtext); SendClientMessage(playerid, -1, "[INFO] Premio para o 1є Colocado no Evento Salvo!"); return 1; } return 1; } if(dialogid == DIALOG_PREMIO2) { if(response) { if(strval(inputtext) < 1 || strval(inputtext) > 100000) return SendClientMessage(playerid, COR_ERRO, "[ERRO] O premio deve ser de no minimo 1 real e maximo 100000 reais!"); EventInfo[Premio2] = strval(inputtext); SendClientMessage(playerid, -1, "[INFO] Premio para o 2є Colocado no Evento Salvo!"); return 1; } return 1; } if(dialogid == DIALOG_PREMIO3) { if(response) { if(strval(inputtext) < 1 || strval(inputtext) > 100000) return SendClientMessage(playerid, COR_ERRO, "[ERRO] O premio deve ser de no minimo 1 real e maximo 100000 reais!"); EventInfo[Premio3] = strval(inputtext); SendClientMessage(playerid, -1, "[INFO] Premio para o 3є Colocado no Evento Salvo!"); } return 1; } if(dialogid == DIALOG_ARMA) { if(response) { if(strval(inputtext) < 1 || strval(inputtext) > 46) return SendClientMessage(playerid, COR_ERRO, "[ERRO] ID informado invalido!"); EventInfo[Arma] = strval(inputtext); ShowPlayerDialog(playerid, DIALOG_MUNICAO, DIALOG_STYLE_INPUT, "{FFFF00}Definiзхes do Evento", "Digite a Muniзгo que vocк deseja dar para os Jogadores do Evento:", "Continuar", ""); } return 1; } if(dialogid == DIALOG_MUNICAO) { if(response) { if(strval(inputtext) < 1 || strval(inputtext) > 999) return SendClientMessage(playerid, COR_ERRO, "[ERRO] O Nъmero maximo de Balas й de 999"); for(new p = 0; p < MAX_PLAYERS; p++) { if(PlayerInfo[p][NoEvento] == 1) { GivePlayerWeapon(p, EventInfo[Arma], strval(inputtext)); } } GetPlayerName(playerid, NomePlayer, MAX_PLAYER_NAME); format(Format, sizeof(Format), "[EVENTO] O Administrador %s deu a arma ID %d para todos os jogadores do evento!", NomePlayer, EventInfo[Arma]); SendEventMessage(COR_INFO, Format); } return 1; } if(dialogid == DIALOG_CARRO) { if(response) { if(strval(inputtext) < 400 && strval(inputtext) != 0 || strval(inputtext) > 611 && strval(inputtext) != 0) return SendClientMessage(playerid, COR_ERRO, "[ERRO] ID informado invalido!"); EventInfo[Carro] = strval(inputtext); if(strval(inputtext) == 0) { for(new p = 0; p < MAX_PLAYERS; p++) { if(PlayerInfo[p][NoEvento] == 1) { DestroyVehicle(PlayerInfo[p][Carro]); PlayerInfo[p][Carro] = 0; } } GetPlayerName(playerid, NomePlayer, MAX_PLAYER_NAME); format(Format, sizeof(Format), "[EVENTO] O Administrador %s retirou o veiculo de todos os jogadores do evento!", NomePlayer); SendEventMessage(COR_INFO, Format); return 1; } ShowPlayerDialog(playerid, DIALOG_COR1, DIALOG_STYLE_INPUT, "{FFFF00}Definiзхes do Evento", "Digite a Primeira Cor que vocк deseja para os Veiculos:", "Continuar", ""); } return 1; } if(dialogid == DIALOG_COR1) { if(response) { if(strval(inputtext) < 0 || strval(inputtext) > 255) return SendClientMessage(playerid, COR_ERRO, "[ERRO] ID informado invalido!"); EventInfo[Cor1] = strval(inputtext); ShowPlayerDialog(playerid, DIALOG_COR2, DIALOG_STYLE_INPUT, "{FFFF00}Definiзхes do Evento", "Digite a Segunda Cor que vocк deseja para os Veiculos:", "Continuar", ""); } return 1; } if(dialogid == DIALOG_COR2) { if(response) { if(strval(inputtext) < 0 || strval(inputtext) > 255) return SendClientMessage(playerid, COR_ERRO, "[ERRO] ID informado invalido!"); EventInfo[Cor2] = strval(inputtext); new CarID; for(new p = 0; p < MAX_PLAYERS; p++) { if(PlayerInfo[p][NoEvento] == 1) { if(PlayerInfo[p][Carro] >= 1) { DestroyVehicle(PlayerInfo[p][Carro]); PlayerInfo[p][Carro] = 0; } GetPlayerPos(p, PosX, PosY, PosZ); GetPlayerFacingAngle(p, PosA); CarID = CreateVehicle(EventInfo[Carro], PosX, PosY, PosZ, PosA, EventInfo[Cor1], EventInfo[Cor2], -1); LinkVehicleToInterior(CarID, EventInfo[Interior]); SetVehicleVirtualWorld(CarID, EventInfo[VirtualWorld]); PutPlayerInVehicle(p, CarID, 0); PlayerInfo[p][Carro] = CarID; } } GetPlayerName(playerid, NomePlayer, MAX_PLAYER_NAME); format(Format, sizeof(Format), "[EVENTO] O Administrador %s deu o veiculo ID %d para todos os jogadores do evento!", NomePlayer, EventInfo[Carro]); SendEventMessage(COR_INFO, Format); } return 1; } if(dialogid == DIALOG_VIDAVEICULOS) { if(response) { if(strval(inputtext) < 0 || strval(inputtext) > 5000) return SendClientMessage(playerid, COR_ERRO, "[ERRO] Use de 0 б 5000!"); for(new p = 0; p < MAX_PLAYERS; p++) { if(PlayerInfo[p][NoEvento] == 1) { if(PlayerInfo[p][Carro] >= 1) { SetVehicleHealth(PlayerInfo[p][Carro], strval(inputtext)); } } } GetPlayerName(playerid, NomePlayer, MAX_PLAYER_NAME); format(Format, sizeof(Format), "[EVENTO] O Administrador %s setou a vida dos veiculos do evento para %d", NomePlayer, strval(inputtext)); SendEventMessage(COR_INFO, Format); } return 1; } if(dialogid == DIALOG_KICK) { if(response) { if(!IsPlayerConnected(strval(inputtext))) return SendClientMessage(playerid, COR_ERRO, "[ERRO] O Jogador informado nгo esta conectado!"); if(PlayerInfo[strval(inputtext)][NoEvento] == 0) return SendClientMessage(playerid, COR_ERRO, "[ERRO] Nгo й possivel kickar um jogador que nгo estб no evento!"); new NomePlayer2[MAX_PLAYER_NAME]; SetPlayerVirtualWorld(strval(inputtext), 0); SetPlayerInterior(strval(inputtext), 0); SpawnPlayer(strval(inputtext)); PlayerInfo[strval(inputtext)][NoEvento] = 0; if(PlayerInfo[strval(inputtext)][Carro] >= 1) { DestroyVehicle(PlayerInfo[strval(inputtext)][Carro]); PlayerInfo[strval(inputtext)][Carro] = 0; } GetPlayerName(playerid, NomePlayer, MAX_PLAYER_NAME); GetPlayerName(strval(inputtext), NomePlayer2, MAX_PLAYER_NAME); format(Format, sizeof(Format), "[EVENTO] O Administrador %s kickou o jogador %s do evento!", NomePlayer, NomePlayer2); SendEventMessage(COR_INFO, Format); } return 1; } if(dialogid == DIALOG_FIM1) { if(response) { if(!IsPlayerConnected(strval(inputtext))) return SendClientMessage(playerid, COR_ERRO, "[ERRO] O Jogador informado nгo esta conectado!"); GivePlayerMoney(strval(inputtext), EventInfo[Premio1]); GetPlayerName(strval(inputtext), NomePlayer, MAX_PLAYER_NAME); format(Format, sizeof(Format), "[EVENTO] 1є Colocado: %s | Premio Pago [%d]", NomePlayer, EventInfo[Premio1]); SendClientMessageToAll(COR_INFO, Format); ShowPlayerDialog(playerid, DIALOG_FIM2, DIALOG_STYLE_INPUT, "{FFFF00}Definiзхes do Evento", "Digite o ID do Segundo Colocado no Evento:", "Continuar", ""); } return 1; } if(dialogid == DIALOG_FIM2) { if(response) { if(!IsPlayerConnected(strval(inputtext))) return SendClientMessage(playerid, COR_ERRO, "[ERRO] O Jogador informado nгo esta conectado!"); GivePlayerMoney(strval(inputtext), EventInfo[Premio2]); GetPlayerName(strval(inputtext), NomePlayer, MAX_PLAYER_NAME); format(Format, sizeof(Format), "[EVENTO] 2є Colocado: %s | Premio Pago [%d]", NomePlayer, EventInfo[Premio2]); SendClientMessageToAll(COR_INFO, Format); ShowPlayerDialog(playerid, DIALOG_FIM3, DIALOG_STYLE_INPUT, "{FFFF00}Definiзхes do Evento", "Digite o ID do Terceiro Colocado no Evento:", "Continuar", ""); } return 1; } if(dialogid == DIALOG_FIM3) { if(response) { if(!IsPlayerConnected(strval(inputtext))) return SendClientMessage(playerid, COR_ERRO, "[ERRO] O Jogador informado nгo esta conectado!"); GivePlayerMoney(strval(inputtext), EventInfo[Premio3]); GetPlayerName(strval(inputtext), NomePlayer, MAX_PLAYER_NAME); format(Format, sizeof(Format), "[EVENTO] 3є Colocado: %s | Premio Pago [%d]", NomePlayer, EventInfo[Premio3]); SendClientMessageToAll(COR_INFO, Format); DestruirEvento(playerid); } return 1; } if(dialogid == DIALOG_VIDA) { if(response) { if(strval(inputtext) < 0 || strval(inputtext) > 299) return SendClientMessage(playerid, COR_ERRO, "[ERRO] Use de 0 б 100!"); EventInfo[Vida] = strval(inputtext); ShowPlayerDialog(playerid, DIALOG_COLETE, DIALOG_STYLE_INPUT, "{FFFF00}Definiзхes do Evento", "Digite o Colete que vocк deseja Definir para os\nJogadores do Evento", "Definir", ""); } return 1; } if(dialogid == DIALOG_COLETE) { if(response) { if(strval(inputtext) < 0 || strval(inputtext) > 100) return SendClientMessage(playerid, COR_ERRO, "[ERRO] Use de 0 б 100!"); for(new p = 0; p < MAX_PLAYERS; p++) { if(PlayerInfo[p][NoEvento] == 1) { SetPlayerHealth(p, EventInfo[Vida]); SetPlayerArmour(p, strval(inputtext)); } } GetPlayerName(playerid, NomePlayer, MAX_PLAYER_NAME); format(Format, sizeof(Format), "[EVENTO] O Administrador %s setou a vida dos jogadores do evento para %d e o colete para %d", NomePlayer, EventInfo[Vida], strval(inputtext)); SendEventMessage(COR_INFO, Format); } return 1; } if(dialogid == DIALOG_SKIN) { if(response) { if(strval(inputtext) < 0 || strval(inputtext) > 100) return SendClientMessage(playerid, COR_ERRO, "[ERRO] Use de 0 б 100!"); for(new p = 0; p < MAX_PLAYERS; p++) { if(PlayerInfo[p][NoEvento] == 1) { SetPlayerSkin(p, strval(inputtext)); } } GetPlayerName(playerid, NomePlayer, MAX_PLAYER_NAME); format(Format, sizeof(Format), "[EVENTO] O Administrador %s setou a skin dos jogadores do evento para %d", NomePlayer, strval(inputtext)); SendEventMessage(COR_INFO, Format); } return 1; } if(dialogid == DIALOG_BAN1) { if(response) { if(!IsPlayerConnected(strval(inputtext))) return SendClientMessage(playerid, COR_ERRO, "[ERRO] O Jogador informado nгo esta conectado!"); BanInfo[ID] = strval(inputtext); ShowPlayerDialog(playerid, DIALOG_BAN2, DIALOG_STYLE_INPUT, "{FF0000}Definiзхes do Banimento", "{FFFFFF}Digite a quantidade de Dias que\nvocк deseja que o Jogador seja banido:", "Continuar", "Cancelar"); } else { BanInfo[ID] = 0; BanInfo[Tempo] = 0; } return 1; } if(dialogid == DIALOG_BAN2) { if(response) { if(strval(inputtext) < 1 || strval(inputtext) > 30) return SendClientMessage(playerid, COR_ERRO, "[ERRO] Й permitido um perнodo minimo de 1 dia e maximo de 30 dias!"); BanInfo[Tempo] = strval(inputtext); ShowPlayerDialog(playerid, DIALOG_BAN3, DIALOG_STYLE_INPUT, "{FF0000}Definiзхes do Banimento", "{FFFFFF}Digite o Motivo do Banimento:", "Continuar", "Cancelar"); } else { BanInfo[ID] = 0; BanInfo[Tempo] = 0; } return 1; } if(dialogid == DIALOG_BAN3) { if(response) { new Caminho[64], Dia, Mes, Ano, Hora, Minuto, Segundo; GetPlayerName(BanInfo[ID], Name, MAX_PLAYER_NAME); GetPlayerName(playerid, NomePlayer, MAX_PLAYER_NAME); format(Caminho, sizeof(Caminho), "/BanEvento/%s.ini", Name); if(DOF2_FileExists(Caminho)) return SendClientMessage(playerid, COR_ERRO, "[ERRO] Esse jogador jб estб banido dos eventos!"); DOF2_CreateFile(Caminho); getdate(Ano, Mes, Dia); gettime(Hora, Minuto, Segundo); DOF2_SetString(Caminho, "Administrador", NomePlayer); DOF2_SetString(Caminho, "Motivo", inputtext); DOF2_SetInt(Caminho, "Dia", Dia); DOF2_SetInt(Caminho, "Mes", Mes); DOF2_SetInt(Caminho, "Ano", Ano); DOF2_SetInt(Caminho, "Hora", Hora); DOF2_SetInt(Caminho, "Minuto", Minuto); DOF2_SetInt(Caminho, "Segundo", Segundo); DOF2_SetInt(Caminho, "Tempo (DIAS)", BanInfo[Tempo]); DOF2_SaveFile(); PlayerInfo[BanInfo[ID]][Banido] = 1; if(PlayerInfo[BanInfo[ID]][NoEvento] == 1) { SetPlayerVirtualWorld(BanInfo[ID], 0); SetPlayerInterior(BanInfo[ID], 0); SpawnPlayer(BanInfo[ID]); PlayerInfo[BanInfo[ID]][NoEvento] = 0; if(PlayerInfo[BanInfo[ID]][Carro] >= 1) { DestroyVehicle(PlayerInfo[BanInfo[ID]][Carro]); PlayerInfo[BanInfo[ID]][Carro] = 0; } } format(Format, sizeof(Format), "[EVENTO] O Administrador %s baniu o jogador %s dos eventos por %d dias | Motivo: %s", NomePlayer, Name, BanInfo[Tempo], inputtext); SendClientMessageToAll(COR_INFO, Format); BanInfo[ID] = 0; BanInfo[Tempo] = 0; } return 1; } if(dialogid == DIALOG_DESBAN) { if(response) { if(!IsPlayerConnected(strval(inputtext))) return SendClientMessage(playerid, COR_ERRO, "[ERRO] O Jogador informado nгo esta conectado!"); BanInfo[DesbanID] = strval(inputtext); ShowPlayerDialog(playerid, DIALOG_DESBAN2, DIALOG_STYLE_INPUT, "{FF0000}Definiзхes do Desbanimento", "{FFFFFF}Digite o Motivo do Desbanimento:", "Continuar", "Cancelar"); } return 1; } if(dialogid == DIALOG_DESBAN2) { if(response) { GetPlayerName(BanInfo[DesbanID], Name, MAX_PLAYER_NAME); GetPlayerName(playerid, NomePlayer, MAX_PLAYER_NAME); format(Format, sizeof(Format), "/BanEvento/%s.ini", Name); if(!DOF2_FileExists(Format)) return SendClientMessage(playerid, COR_ERRO, "[ERRO] Esse jogador nгo estб banido dos eventos!"); DOF2_RemoveFile(Format); ChecarBan(BanInfo[DesbanID]); format(Format, sizeof(Format), "[EVENTO] O Administrador %s desbaniu o Jogador %s dos eventos | Motivo: %s", NomePlayer, Name, inputtext); SendClientMessageToAll(COR_INFO, Format); } return 1; } if(dialogid == DIALOG_PUXAR) { if(response) { if(!IsPlayerConnected(strval(inputtext))) return SendClientMessage(playerid, COR_ERRO, "[ERRO] O Jogador informado nгo esta conectado!"); ChecarBan(strval(inputtext)); if(EventInfo[Criado] == 0) return SendClientMessage(playerid, COR_ERRO, "[ERRO] Nгo existe nenhum evento criado!"); if(PlayerInfo[strval(inputtext)][Banido] == 1) return SendClientMessage(playerid, COR_ERRO, "[ERRO] O Jogador informado estб banido!"); if(PlayerInfo[strval(inputtext)][NoEvento] == 1) return SendClientMessage(playerid, COR_ERRO, "[ERRO] O Jogador jб estб no Evento!"); SetPlayerVirtualWorld(strval(inputtext), EventInfo[VirtualWorld]); SetPlayerInterior(strval(inputtext), EventInfo[Interior]); SetPlayerHealth(strval(inputtext), 100); SetPlayerArmour(strval(inputtext), 100); ResetPlayerWeapons(strval(inputtext)); SetPlayerPos(strval(inputtext), EventInfo[X], EventInfo[Y], EventInfo[Z]); SetPlayerFacingAngle(strval(inputtext), EventInfo[A]); PlayerInfo[strval(inputtext)][NoEvento] = 1; } return 1; } if(dialogid == DIALOG_INFOBAN) { if(response) { if(!IsPlayerConnected(strval(inputtext))) return SendClientMessage(playerid, COR_ERRO, "O Jogador informado nгo esta conectado!"); new Caminho[64]; GetPlayerName(strval(inputtext), NomePlayer, MAX_PLAYER_NAME); format(Caminho, sizeof(Caminho), "/BanEvento/%s.ini", NomePlayer); if(!DOF2_FileExists(Caminho)) return SendClientMessage(playerid, COR_ERRO, "[ERRO] O Jogador informado nгo estб banido dos eventos!"); format(Format, sizeof(Format), "Banido pelo Administrador: %s\nDia: %d\nMes: %d\nAno: %d\nHora: %d\nMinuto: %d\nSegundos: %d\nTempo Banido(DIAS): %d\nMotivo: %s", DOF2_GetString(Caminho, "Administrador"), DOF2_GetInt(Caminho, "Dia"), DOF2_GetInt(Caminho, "Mes"), DOF2_GetInt(Caminho, "Ano"), DOF2_GetInt(Caminho, "Hora"), DOF2_GetInt(Caminho, "Minuto"), DOF2_GetInt(Caminho, "Segundo"), DOF2_GetInt(Caminho, "Tempo (DIAS)"), DOF2_GetString(Caminho, "Motivo")); ShowPlayerDialog(playerid, 1313, DIALOG_STYLE_MSGBOX, "{FFFF00}Informaзхes do Ban", Format, "Fechar", ""); } return 1; } if(dialogid == DIALOG_ABRIREVENTO) { if(response) { EventInfo[Criado] = 1; EventInfo[Aberto] = 1; SetPlayerVirtualWorld(playerid, EventInfo[VirtualWorld]); SetPlayerInterior(playerid, EventInfo[Interior]); SetPlayerHealth(playerid, 100); SetPlayerArmour(playerid, 100); PlayerInfo[playerid][NoEvento] = 1; GetPlayerName(playerid, NomePlayer, MAX_PLAYER_NAME); format(Format, sizeof(Format), "[EVENTO] O Administrador %s criou um Evento Aberto!", NomePlayer); SendClientMessageToAll(COR_EVENTO, Format); format(Format, sizeof(Format), "{FFFF00}Nome: {FF0000}%s {FFFF00}| Premio para o 1є Lugar: {FF0000}%d {FFFF00}| Premio para o 2є Lugar: {FF0000}%d", EventInfo[Nome], EventInfo[Premio1], EventInfo[Premio2]); SendClientMessageToAll(COR_INFO, Format); format(Format, sizeof(Format), "{FFFF00}Premio para o 3є Lugar: {FF0000}%d",EventInfo[Premio3]); SendClientMessageToAll(COR_INFO, Format); SendClientMessageToAll(COR_INFO, "Digite /irevento caso queira participar!"); return 1; } else { EventInfo[Criado] = 1; EventInfo[Aberto] = 0; SetPlayerVirtualWorld(playerid, EventInfo[VirtualWorld]); SetPlayerInterior(playerid, EventInfo[Interior]); SetPlayerHealth(playerid, 100); SetPlayerArmour(playerid, 100); PlayerInfo[playerid][NoEvento] = 1; GetPlayerName(playerid, NomePlayer, MAX_PLAYER_NAME); format(Format, sizeof(Format), "[EVENTO] O Administrador %s criou um Evento Fechado, aguarde atй que ele o abra!", NomePlayer); SendClientMessageToAll(COR_EVENTO, Format); format(Format, sizeof(Format), "{FFFF00}Nome: {FF0000}%s {FFFF00}| Premio para o 1є Lugar: {FF0000}%d {FFFF00}| Premio para o 2є Lugar: {FF0000}%d {FFFF00}| Premio para o 3є Lugar: {FF0000}%d", EventInfo[Nome], EventInfo[Premio1], EventInfo[Premio2], EventInfo[Premio3]); SendClientMessageToAll(COR_INFO, Format); } return 1; } return 1; } public OnPlayerDeath(playerid, killerid, reason) { if(PlayerInfo[playerid][NoEvento] >= 1) { SetPlayerVirtualWorld(playerid, 0); SetPlayerInterior(playerid, 0); PlayerInfo[playerid][NoEvento] = 0; if(PlayerInfo[playerid][Carro] >= 1) { DestroyVehicle(PlayerInfo[playerid][Carro]); PlayerInfo[playerid][Carro] = 0; } } return 1; } CMD:evento(playerid, params[]) { if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, COR_ERRO, "[ERRO] Vocк nгo estб autorizado a usar este comando!"); new Mensagem[603]; strcat(Mensagem, "Criar Evento\nSalvar Minha Posiзгo como Local do Evento\nAbrir / Fechar Evento\nDefinir Premio do 1є Colocado\n"); strcat(Mensagem, "Definir Premio do 2є Colocado\nDefinir Premio do 3є Colocado\nDar Armas para os Jogadores do Evento\nDar um Carro para os Jogador do Evento\nDestruir Evento\nSetar Vida dos Veiculos\nKickar Jogador do Evento\n"); strcat(Mensagem, "Setar Vida dos Jogadores do Evento\nTrocar Skin dos Jogadores do Evento\nBanir Jogador dos Eventos\nDesbanir Jogador\nPuxar jogador para o evento\nVisualizar informaзхes de um Jogador Banido\nCongelar Jogadores do Evento\nDescongelar Jogadores do Evento\nResetar Armas dos Jogadores do Evento\nCreditos"); ShowPlayerDialog(playerid, DIALOG_EVENTO, DIALOG_STYLE_LIST, "{FF0000}Painel de Controle do Sistema de Eventos", Mensagem, "Selecionar", "Cancelar"); return 1; } CMD:irevento(playerid, params[]) { ChecarBan(playerid); if(PlayerInfo[playerid][Banido] == 1) return SendClientMessage(playerid, COR_ERRO, "[ERRO] Vocк nгo pode entrar em um evento pois foi banido!"); if(EventInfo[Criado] == 0) return SendClientMessage(playerid, COR_ERRO, "[ERRO] Nгo existe nenhum evento criado!"); if(EventInfo[Aberto] == 0) return SendClientMessage(playerid, COR_ERRO, "[ERRO] O Evento estб fechado no momento!"); if(PlayerInfo[playerid][NoEvento] == 1) return SendClientMessage(playerid, COR_ERRO, "[ERRO] Vocк jб estб no Evento!"); SetPlayerVirtualWorld(playerid, EventInfo[VirtualWorld]); SetPlayerInterior(playerid, EventInfo[Interior]); SetPlayerHealth(playerid, 100); SetPlayerArmour(playerid, 100); ResetPlayerWeapons(playerid); SetPlayerPos(playerid, EventInfo[X], EventInfo[Y], EventInfo[Z]); SetPlayerFacingAngle(playerid, EventInfo[A]); PlayerInfo[playerid][NoEvento] = 1; return 1; } CMD:ce(playerid, params[]) { if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, COR_ERRO, "[ERRO] Vocк nгo estб autorizado a usar este comando!"); if(EventInfo[Criado] == 0) return SendClientMessage(playerid, COR_ERRO, "[ERRO] Nгo existe nenhum evento criado!"); if(PlayerInfo[playerid][NoEvento] == 0) return SendClientMessage(playerid, COR_ERRO, "[ERRO] Vocк nгo estб no Evento!"); new Mensagem[128]; if(sscanf(params, "s[128]", Mensagem)) return SendClientMessage(playerid, COR_ERRO, "[ERRO] Use /ce (Chat Evento) [Mensagem]"); GetPlayerName(playerid, NomePlayer, MAX_PLAYER_NAME); format(Format, sizeof(Format), "{FF0000}[EVENTO] %s: {FFFFFF}%s", NomePlayer, Mensagem); SendEventMessage(COR_INFO, Format); return 1; } CMD:sairevento(playerid, params[]) { if(PlayerInfo[playerid][NoEvento] == 0) return SendClientMessage(playerid, COR_ERRO, "[ERRO] Nгo й possivel sair de um Evento que vocк nгo estб!"); SetPlayerVirtualWorld(playerid, 0); SetPlayerInterior(playerid, 0); SpawnPlayer(playerid); PlayerInfo[playerid][NoEvento] = 0; if(PlayerInfo[playerid][Carro] >= 1) { DestroyVehicle(PlayerInfo[playerid][Carro]); PlayerInfo[playerid][Carro] = 0; } SendClientMessage(playerid, COR_INFO, "[INFO] Vocк saiu do Evento!"); return 1; } CMD:infoban(playerid, params[]) { new Caminho[64]; GetPlayerName(playerid, NomePlayer, MAX_PLAYER_NAME); format(Caminho, sizeof(Caminho), "/BanEvento/%s.ini", NomePlayer); if(!DOF2_FileExists(Caminho)) return SendClientMessage(playerid, COR_ERRO, "[ERRO] Vocк nгo estб banido dos eventos!"); format(Format, sizeof(Format), "Banido pelo Administrador: %s\nDia: %d\nMes: %d\nAno: %d\nHora: %d\nMinuto: %d\nSegundos: %d\nTempo Banido(DIAS): %d\nMotivo: %s", DOF2_GetString(Caminho, "Administrador"), DOF2_GetInt(Caminho, "Dia"), DOF2_GetInt(Caminho, "Mes"), DOF2_GetInt(Caminho, "Ano"), DOF2_GetInt(Caminho, "Hora"), DOF2_GetInt(Caminho, "Minuto"), DOF2_GetInt(Caminho, "Segundo"), DOF2_GetInt(Caminho, "Tempo (DIAS)"), DOF2_GetString(Caminho, "Motivo")); ShowPlayerDialog(playerid, 1313, DIALOG_STYLE_MSGBOX, "{FFFF00}Informaзхes do Ban", Format, "Fechar", ""); return 1; } stock DestruirEvento(playerid) { EventInfo[X] = 0; EventInfo[Y] = 0; EventInfo[Z] = 0; EventInfo[A] = 0; EventInfo[VirtualWorld] = 0; EventInfo[Interior] = 0; EventInfo[Criado] = 0; EventInfo[Aberto] = 0; EventInfo[Premio1] = 0; EventInfo[Premio2] = 0; EventInfo[Premio3] = 0; EventInfo[Carro] = 0; EventInfo[Cor1] = 0; EventInfo[Cor2] = 0; EventInfo[Arma] = 0; EventInfo[Vida] = 0; for(new p = 0; p < MAX_PLAYERS; p++) { if(PlayerInfo[p][NoEvento] == 1) { SetPlayerVirtualWorld(p, 0); SetPlayerInterior(p, 0); SpawnPlayer(p); PlayerInfo[p][NoEvento] = 0; if(PlayerInfo[p][Carro] >= 1) { DestroyVehicle(PlayerInfo[p][Carro]); PlayerInfo[p][Carro] = 0; } } } GetPlayerName(playerid, NomePlayer, MAX_PLAYER_NAME); format(Format, sizeof(Format), "[EVENTO] O Administrador %s destruiu o evento!", NomePlayer); SendClientMessageToAll(COR_EVENTO, Format); return 1; } stock SendEventMessage(color, string[]) { for(new p = 0; p < MAX_PLAYERS; p++) { if(IsPlayerConnected(p)) { if(PlayerInfo[p][NoEvento] == 1) { SendClientMessage(p, color, string); } } } return 1; } stock ChecarBan(playerid) { new Caminho[64], Dia, Mes, Ano, Hora, Minuto, Segundo; GetPlayerName(playerid, NomePlayer, MAX_PLAYER_NAME); format(Caminho, sizeof(Caminho), "/BanEvento/%s.ini", NomePlayer); if(!DOF2_FileExists(Caminho)) return PlayerInfo[playerid][Banido] = 0; if(DOF2_FileExists(Caminho)) { getdate(Ano, Mes, Dia); gettime(Hora, Minuto, Segundo); if(Dia >= (DOF2_GetInt(Caminho, "Dia") + DOF2_GetInt(Caminho, "Tempo (DIAS)"))) { DOF2_RemoveFile(Caminho); PlayerInfo[playerid][Banido] = 0; } else { PlayerInfo[playerid][Banido] = 1; } } return 1; }