[Ajuda] Dialogs Abre, Clicko e Nгo acontece nada
#1

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;
}
Reply
#2

Tenta ai
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 0;
}

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;
}
Reply
#3

Verifica se a callback OnDialogResponse do seu gamemode e outros filterscripts que usam estгo retornando 0, se nгo, defina para 0.
Reply
#4

Lacerny as partes que tem OnDialogResponse
pawn Код:
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;
    }
no return 1; Coloco return 0; ?
Reply
#5

Quote:
Originally Posted by JaackStripador
Посмотреть сообщение
Lacerny as partes que tem OnDialogResponse
pawn Код:
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;
    }
no return 1; Coloco return 0; ?
Sim.
Reply
#6

Em todos os returns ?
Reply
#7

O ъltimo return, mas no gamemode e outros filterscripts.
Reply
#8

A causa mais comum de tal problema, juntamente com o que foi citado acima, estб no uso de ID's iguais, o que causa conflitos.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)