14.09.2014, 01:11
Codigo da FS
pawn Код:
//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()
{
DOF2_Exit();
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;
}