示例#1
0
        public void Execute(GameClients.GameClient Session, Rooms.Room Room, string[] Params)
        {
            if (Session.GetRoleplay().TexasHoldEmPlayer > 0)
            {
                Session.Shout("*Sai do Texas Hold 'Em *", 4);
                TexasHoldEmManager.RemovePlayer(Session.GetHabbo().Id);
                return;
            }

            if (Session.GetRoleplay().Game == null)
            {
                Session.SendWhisper("Você não está dentro de um evento!", 1);
                return;
            }

            if (Session.GetRoleplay().Game.IsGameStarting() && !Session.GetRoleplay().Game.HasGameStarted())
            {
                Session.SendWhisper("Você não pode deixar um jogo enquanto está começando!", 1);
                return;
            }

            if (RoleplayGameManager.RunningGames.ContainsKey(Session.GetRoleplay().Game.GetGameMode()))
            {
                if (Session.GetRoleplay().Game.GetGameMode() == GameMode.Brawl || Session.GetRoleplay().Game.GetGameMode() == GameMode.SoloQueue || Session.GetRoleplay().Game.GetGameMode() == GameMode.SoloQueueGuns)
                {
                    if (Session.GetRoomUser() != null)
                    {
                        Session.GetRoomUser().ClearMovement(true);
                    }
                    RoleplayGameManager.GetGame(Session.GetRoleplay().Game.GetGameMode()).RemovePlayerFromGame(Session);
                    RoleplayManager.SpawnChairs(Session, "es_bench");
                }
                else
                {
                    RoleplayGameManager.GetGame(Session.GetRoleplay().Game.GetGameMode()).RemovePlayerFromGame(Session);
                }

                Session.GetRoleplay().Game = null;
                Session.GetRoleplay().Team = null;
                return;
            }
            else
            {
                Session.SendWhisper("Um erro ocorreu!", 1);
                return;
            }
        }
示例#2
0
        public void Execute(GameClients.GameClient Session, Rooms.Room Room, string[] Params)
        {
            if (RoleplayGameManager.RunningGames.ContainsKey(GameMode.SoloQueue))
            {
                if (Session.GetRoleplay().Game != null && Session.GetRoleplay().Game.GetGameMode() == GameMode.SoloQueue)
                {
                    Session.SendWhisper("Você já está no evento SoloQueue!", 1);
                    return;
                }
                else
                {
                    if (RoleplayGameManager.AddPlayerToGame(RoleplayGameManager.GetGame(GameMode.SoloQueue), Session, "") != "OK")
                    {
                        return;
                    }

                    if (Session.GetRoleplay().EquippedWeapon != null)
                    {
                        Session.GetRoleplay().EquippedWeapon = null;
                    }

                    if (Session.GetRoleplay().IsWorking)
                    {
                        Session.GetRoleplay().IsWorking = false;
                    }

                    if (Session.GetRoleplay().InsideTaxi)
                    {
                        Session.GetRoleplay().InsideTaxi = false;
                    }
                }
            }
            else
            {
                return;
            }
        }
示例#3
0
        public void Execute(GameClients.GameClient Session, Rooms.Room Room, string[] Params)
        {
            if (Params.Length == 1)
            {
                Session.SendWhisper("Digite um tipo de evento: [briga] - [brigadetimes/bt] - [guerradecores/gc] - [guerrademafias/gm] - [purga]!", 1);
                return;
            }

            string Message = Params[1].ToString().ToLower();

            switch (Message)
            {
                #region Brawl
            case "brawl":
            case "briga":
            {
                if (RoleplayGameManager.RunningGames.ContainsKey(GameMode.Brawl))
                {
                    IGame Game = RoleplayGameManager.GetGame(GameMode.Brawl);
                    Game.Start();
                    Session.Shout("*Inicia um evento de brigas*", 23);
                }
                else
                {
                    Session.SendWhisper("Não há nenhum evento de briga ativo! Use ':ievento briga' para começar um.", 1);
                }
                break;
            }
                #endregion

                #region Team Brawl
            case "teambrawl":
            case "tbrawl":
            case "tb":
            case "brigatimes":
            case "brigadetimes":
            case "bt":
            {
                if (RoleplayGameManager.RunningGames.ContainsKey(GameMode.TeamBrawl))
                {
                    IGame Game = RoleplayGameManager.GetGame(GameMode.TeamBrawl);
                    Game.Start();
                    Session.Shout("*Inicia um evento de " + Game.GetName() + "*", 23);
                }
                else
                {
                    Session.SendWhisper("Não há nenhum evento Briga de Times ativo! Use ':ievento bt' para começar um.", 1);
                }
                break;
            }
                #endregion

                #region Colour Wars
            case "colorwars":
            case "colourwars":
            case "cw":
            case "guerradecores":
            case "gc":
            case "guerracores":
            {
                if (RoleplayGameManager.RunningGames.ContainsKey(GameMode.ColourWars))
                {
                    IGame Game = RoleplayGameManager.GetGame(GameMode.ColourWars);
                    Game.Start();
                    Session.Shout("*Inicia um evento de " + Game.GetName() + "*", 23);
                }
                else
                {
                    Session.SendWhisper("Não há nenhum evento Guerra de Cores ativo! Use ':ievento gc' para começar um.", 1);
                }
                break;
            }
                #endregion

                #region Mafia Wars
            case "mafiawars":
            case "mwars":
            case "mw":
            case "gm":
            case "guerramafias":
            case "guerrademafias":
            {
                if (RoleplayGameManager.RunningGames.ContainsKey(GameMode.MafiaWars))
                {
                    IGame Game = RoleplayGameManager.GetGame(GameMode.MafiaWars);
                    Game.Start();
                    Session.Shout("*Force inicia um jogo de " + Game.GetName() + "*", 23);
                }
                else
                {
                    Session.SendWhisper("Não há nenhum evento Guerra de Máfias ativo! Use ':ievento gm' para começar um.", 1);
                }
                break;
            }
                #endregion

                #region Purge

            case "purge":
            case "purga":
            {
                if (RoleplayManager.PurgeStarted)
                {
                    Session.SendWhisper("Evento de Purga já começou!");
                    break;
                }

                try
                {
                    lock (PlusEnvironment.GetGame().GetClientManager().GetClients.ToList())
                    {
                        foreach (GameClient client in PlusEnvironment.GetGame().GetClientManager().GetClients.ToList())
                        {
                            if (client == null)
                            {
                                continue;
                            }

                            if (client.GetHabbo() == null)
                            {
                                continue;
                            }

                            if (client.GetHabbo().CurrentRoom == null)
                            {
                                continue;
                            }

                            if (client.GetRoomUser() == null)
                            {
                                continue;
                            }

                            if (client.GetRoleplay() == null)
                            {
                                continue;
                            }

                            int Counter = 11;

                            new Thread(() =>
                                {
                                    while (Counter > 0)
                                    {
                                        if (client != null)
                                        {
                                            if (Counter == 11)
                                            {
                                                client.SendWhisper("O evento PURGA começará em alguns segundos!", 1);
                                            }
                                            else
                                            {
                                                client.SendWhisper("A Purga começará em " + Counter + " segundos!", 1);
                                            }
                                        }

                                        Counter--;
                                        Thread.Sleep(1000);

                                        if (Counter == 0)
                                        {
                                            client.SendWhisper("O tempo de Purga foi ativado! [TODOS CRIMES SÃO LEGAIS].", 34);
                                            RoleplayManager.WantedList.Clear();

                                            if (client.GetRoleplay().IsJailed)
                                            {
                                                client.GetRoleplay().IsJailed       = false;
                                                client.GetRoleplay().JailedTimeLeft = 0;
                                            }

                                            if (GroupManager.HasJobCommand(client, "guide"))
                                            {
                                                WorkManager.RemoveWorkerFromList(client);
                                                client.GetRoleplay().IsWorking = false;
                                                client.GetHabbo().Poof();

                                                PlusEnvironment.GetGame().GetGuideManager().RemoveGuide(client);
                                                client.SendMessage(new HelperToolConfigurationComposer(client));

                                                #region End Existing Calls
                                                if (client.GetRoleplay().GuideOtherUser != null)
                                                {
                                                    client.GetRoleplay().GuideOtherUser.SendMessage(new OnGuideSessionDetachedComposer(0));
                                                    client.GetRoleplay().GuideOtherUser.SendMessage(new OnGuideSessionDetachedComposer(1));
                                                    if (client.GetRoleplay().GuideOtherUser.GetRoleplay() != null)
                                                    {
                                                        client.GetRoleplay().GuideOtherUser.GetRoleplay().Sent911Call    = false;
                                                        client.GetRoleplay().GuideOtherUser.GetRoleplay().GuideOtherUser = null;
                                                    }

                                                    client.GetRoleplay().GuideOtherUser = null;
                                                    client.SendMessage(new OnGuideSessionDetachedComposer(0));
                                                    client.SendMessage(new OnGuideSessionDetachedComposer(1));
                                                }
                                                #endregion
                                            }
                                            RoleplayManager.PurgeStarted = true;     // let the fun begin
                                        }
                                    }
                                }).Start();
                        }
                    }
                    break;
                }
                catch (Exception e)
                {
                    lock (PlusEnvironment.GetGame().GetClientManager().GetClients.ToList())
                    {
                        foreach (var client in PlusEnvironment.GetGame().GetClientManager().GetClients.ToList())
                        {
                            if (client == null)
                            {
                                continue;
                            }

                            if (client.GetHabbo() == null)
                            {
                                continue;
                            }

                            if (client.GetHabbo().CurrentRoom == null)
                            {
                                continue;
                            }

                            if (client.GetRoomUser() == null)
                            {
                                continue;
                            }

                            client.SendWhisper("Desculpe, ocorreu um erro ao iniciar 'Tempo de Purga' - Será investigado pela equipe de técnicos do HabboRPG!");
                        }
                    }

                    Logging.LogRPGamesError("Erro em iniciar a Purga: " + e);
                    break;
                }
            }

                #endregion

            default:
            {
                Session.SendWhisper("Esse tipo de evento não existe ou está desativado!", 1);
                break;
            }
            }
        }
示例#4
0
        public void OnTrigger(GameClient Session, Item Item, int Request, bool HasRights)
        {
            if (Session == null)
            {
                return;
            }

            RoomUser User = Item.GetRoom().GetRoomUserManager().GetRoomUserByHabbo(Session.GetHabbo().Id);

            if (Item == null || User == null)
            {
                return;
            }

            if (Item.InteractingUser2 != User.UserId)
            {
                Item.InteractingUser2 = User.UserId;
            }

            if (Item.GetBaseItem().InteractionType == InteractionType.ONE_WAY_GATE)
            {
                if (Item.GetBaseItem().ItemName == "one_way_door*2")
                {
                    if (!RoleplayGameManager.RunningGames.ContainsKey(GameMode.Brawl))
                    {
                        Session.SendWhisper("Não há nenhum evento de briga no momento!", 1);
                        return;
                    }
                }
                else if (Item.GetBaseItem().ItemName == "one_way_door*5")
                {
                    if (!RoleplayGameManager.RunningGames.ContainsKey(GameMode.SoloQueue))
                    {
                        RoleplayGameManager.CreateGame("soloqueue");
                    }
                }
                else if (Item.GetBaseItem().ItemName == "one_way_door*6")
                {
                    if (!RoleplayGameManager.RunningGames.ContainsKey(GameMode.SoloQueueGuns))
                    {
                        RoleplayGameManager.CreateGame("soloqueueguns");
                    }
                }

                if (User.Coordinate != Item.SquareInFront && User.CanWalk)
                {
                    User.MoveTo(Item.SquareInFront);
                    return;
                }
                if (!Item.GetRoom().GetGameMap().ValidTile(Item.SquareBehind.X, Item.SquareBehind.Y) || !Item.GetRoom().GetGameMap().CanWalk(Item.SquareBehind.X, Item.SquareBehind.Y, false) || !Item.GetRoom().GetGameMap().SquareIsOpen(Item.SquareBehind.X, Item.SquareBehind.Y, false))
                {
                    return;
                }

                if ((User.LastInteraction - PlusEnvironment.GetUnixTimestamp() < 0) && User.InteractingGate && User.GateId == Item.Id)
                {
                    User.InteractingGate = false;
                    User.GateId          = 0;
                }

                if (!Item.GetRoom().GetGameMap().CanWalk(Item.SquareBehind.X, Item.SquareBehind.Y, User.AllowOverride))
                {
                    return;
                }

                if (Item.InteractingUser == 0)
                {
                    #region Brawl
                    if (Item.GetBaseItem().ItemName == "one_way_door*2")
                    {
                        if (RoleplayGameManager.RunningGames.ContainsKey(GameMode.Brawl))
                        {
                            if (Session.GetRoleplay().Game != null && Session.GetRoleplay().Game.GetGameMode() == GameMode.Brawl)
                            {
                                Session.SendWhisper("Você já está no evento Briga!", 1);
                                return;
                            }
                            else
                            {
                                if (Session.GetRoleplay().IsWorking)
                                {
                                    Session.GetRoleplay().IsWorking = false;
                                }

                                if (RoleplayGameManager.AddPlayerToGame(RoleplayGameManager.GetGame(GameMode.Brawl), Session, "") != "OK")
                                {
                                    return;
                                }

                                if (Session.GetRoleplay().EquippedWeapon != null)
                                {
                                    Session.GetRoleplay().EquippedWeapon = null;
                                }

                                if (Session.GetRoleplay().InsideTaxi)
                                {
                                    Session.GetRoleplay().InsideTaxi = false;
                                }
                            }
                        }
                        else
                        {
                            return;
                        }
                    }
                    #endregion

                    #region SoloQueue
                    else if (Item.GetBaseItem().ItemName == "one_way_door*5")
                    {
                        if (RoleplayGameManager.RunningGames.ContainsKey(GameMode.SoloQueue))
                        {
                            if (Session.GetRoleplay().Game != null && Session.GetRoleplay().Game.GetGameMode() == GameMode.SoloQueue)
                            {
                                Session.SendWhisper("Você já está no Evento SoloQueue!", 1);
                                return;
                            }
                            else if (Session.GetRoleplay().IsWanted)
                            {
                                Session.SendWhisper("Você não pode completar esta ação enquanto você é procurado!", 1);
                                return;
                            }
                            else
                            {
                                if (Session.GetRoleplay().IsWorking)
                                {
                                    Session.GetRoleplay().IsWorking = false;
                                }

                                if (RoleplayGameManager.AddPlayerToGame(RoleplayGameManager.GetGame(GameMode.SoloQueue), Session, "") != "OK")
                                {
                                    return;
                                }

                                if (Session.GetRoleplay().EquippedWeapon != null)
                                {
                                    Session.GetRoleplay().EquippedWeapon = null;
                                }

                                if (Session.GetRoleplay().InsideTaxi)
                                {
                                    Session.GetRoleplay().InsideTaxi = false;
                                }
                            }
                        }
                        else
                        {
                            return;
                        }
                    }
                    #endregion

                    #region SoloQueue Guns
                    else if (Item.GetBaseItem().ItemName == "one_way_door*6")
                    {
                        if (RoleplayGameManager.RunningGames.ContainsKey(GameMode.SoloQueueGuns))
                        {
                            if (Session.GetRoleplay().Game != null && Session.GetRoleplay().Game == RoleplayGameManager.GetGame(GameMode.SoloQueueGuns))
                            {
                                Session.SendWhisper("Você já está no evento SoloQueue!", 1);
                                return;
                            }
                            else if (Session.GetRoleplay().IsWanted)
                            {
                                Session.SendWhisper("Você não pode completar esta ação enquanto você é procurado!", 1);
                                return;
                            }
                            else
                            {
                                if (Session.GetRoleplay().IsWorking)
                                {
                                    Session.GetRoleplay().IsWorking = false;
                                }

                                if (RoleplayGameManager.AddPlayerToGame(RoleplayGameManager.GetGame(GameMode.SoloQueueGuns), Session, "") != "OK")
                                {
                                    return;
                                }

                                if (Session.GetRoleplay().InsideTaxi)
                                {
                                    Session.GetRoleplay().InsideTaxi = false;
                                }
                            }
                        }
                        else
                        {
                            return;
                        }
                    }
                    #endregion

                    User.InteractingGate = true;
                    User.GateId          = Item.Id;
                    Item.InteractingUser = User.HabboId;

                    User.CanWalk = false;

                    if (User.IsWalking && (User.GoalX != Item.SquareInFront.X || User.GoalY != Item.SquareInFront.Y))
                    {
                        User.ClearMovement(true);
                    }

                    User.AllowOverride = true;
                    User.MoveTo(Item.Coordinate);

                    Item.RequestUpdate(4, true);
                }
            }
        }
示例#5
0
        public void Execute(GameClients.GameClient Session, Rooms.Room Room, string[] Params)
        {
            if (Params.Length == 1 && Params[0] != "checarloteria")
            {
                Session.SendWhisper("Digite um tipo de evento!", 1);
                return;
            }

            string Message;

            if (Params[0] == "checarloteria")
            {
                Message = "lottery";
            }
            else
            {
                Message = Params[1].ToString().ToLower();
            }

            switch (Message)
            {
                #region Brawl
            case "brawl":
            case "briga":
            {
                if (!RoleplayGameManager.RunningGames.ContainsKey(GameMode.Brawl))
                {
                    Session.SendWhisper("Não há evento de Briga acontecendo!", 1);
                }
                else
                {
                    var Game = RoleplayGameManager.GetGame(GameMode.Brawl);
                    if (Game.GetPlayers().Count > 0)
                    {
                        while (Game.GetPlayers().Count > 0)
                        {
                            foreach (var player in Game.GetPlayers())
                            {
                                var Client = PlusEnvironment.GetGame().GetClientManager().GetClientByUserID(player);

                                if (Client != null)
                                {
                                    if (Client.GetRoomUser() != null)
                                    {
                                        Client.GetRoomUser().ClearMovement(true);
                                    }
                                    RoleplayManager.SpawnChairs(Client, "es_bench");
                                    Game.RemovePlayerFromGame(Client);
                                }

                                if (Game.GetPlayers().Contains(player))
                                {
                                    Game.GetPlayers().Remove(player);
                                }
                                break;
                            }

                            if (Game.GetPlayers().Count <= 0)
                            {
                                break;
                            }
                        }
                    }
                    RoleplayGameManager.StopGame(GameMode.Brawl);
                    Session.SendWhisper("Você parou o Evento de Briga!", 1);
                }
                break;
            }
                #endregion

                #region Team Brawl
            case "teambrawl":
            case "tbrawl":
            case "tb":
            case "brigatimes":
            case "bt":
            case "brigadetimes":
            {
                if (!RoleplayGameManager.RunningGames.ContainsKey(GameMode.TeamBrawl))
                {
                    Session.SendWhisper("Não há um evento de Briga de Times acontecendo!", 1);
                }
                else
                {
                    var Game = RoleplayGameManager.GetGame(GameMode.TeamBrawl);
                    if (Game.GetPlayers().Count > 0)
                    {
                        while (Game.GetPlayers().Count > 0)
                        {
                            foreach (var Player in Game.GetPlayers())
                            {
                                var Client = PlusEnvironment.GetGame().GetClientManager().GetClientByUserID(Player);

                                if (Client != null)
                                {
                                    Game.RemovePlayerFromGame(Client);
                                    RoleplayManager.SpawnChairs(Client, "es_bench");
                                }
                                if (Game.GetPlayers().Contains(Player))
                                {
                                    Game.GetPlayers().Remove(Player);
                                }
                                break;
                            }

                            if (Game.GetPlayers().Count <= 0)
                            {
                                break;
                            }
                        }
                    }
                    RoleplayGameManager.StopGame(GameMode.TeamBrawl);
                    Session.SendWhisper("Você parou o Evento Briga de Times!", 1);
                }
                break;
            }
                #endregion

                #region Colour Wars
            case "colorwars":
            case "colourwars":
            case "cw":
            case "guerradecores":
            case "guerracores":
            case "gc":
            {
                if (!RoleplayGameManager.RunningGames.ContainsKey(GameMode.ColourWars))
                {
                    Session.SendWhisper("Não há nenhum evento de Guerra de Cores acontecendo!", 1);
                }
                else
                {
                    var Game = RoleplayGameManager.GetGame(GameMode.ColourWars);
                    if (Game.GetPlayers().Count > 0)
                    {
                        while (Game.GetPlayers().Count > 0)
                        {
                            foreach (var Player in Game.GetPlayers())
                            {
                                var Client = PlusEnvironment.GetGame().GetClientManager().GetClientByUserID(Player);

                                if (Client != null)
                                {
                                    Game.RemovePlayerFromGame(Client);
                                }

                                if (Game.GetPlayers().Contains(Player))
                                {
                                    Game.GetPlayers().Remove(Player);
                                }
                                break;
                            }

                            if (Game.GetPlayers().Count <= 0)
                            {
                                break;
                            }
                        }
                    }
                    RoleplayGameManager.StopGame(GameMode.ColourWars);
                    Session.SendWhisper("Você parou o Evento Guerra de Cores!", 1);
                }
                break;
            }
                #endregion

                #region Mafia Wars
            case "mafiawars":
            case "mwars":
            case "mw":
            case "gm":
            case "guerramafia":
            case "guerrademafias":
            case "guerrademafia":
            {
                if (!RoleplayGameManager.RunningGames.ContainsKey(GameMode.MafiaWars))
                {
                    Session.SendWhisper("Não há um evento de Guerra de Máfias acontecendo!", 1);
                }
                else
                {
                    var Game = RoleplayGameManager.GetGame(GameMode.MafiaWars);
                    if (Game.GetPlayers().Count > 0)
                    {
                        while (Game.GetPlayers().Count > 0)
                        {
                            foreach (var Player in Game.GetPlayers())
                            {
                                var Client = PlusEnvironment.GetGame().GetClientManager().GetClientByUserID(Player);

                                if (Client != null)
                                {
                                    Game.RemovePlayerFromGame(Client);
                                }

                                if (Game.GetPlayers().Contains(Player))
                                {
                                    Game.GetPlayers().Remove(Player);
                                }
                                break;
                            }

                            if (Game.GetPlayers().Count <= 0)
                            {
                                break;
                            }
                        }
                    }
                    RoleplayGameManager.StopGame(GameMode.MafiaWars);
                    Session.SendWhisper("Você parou o Evento Guerra de Máfias!", 1);
                }
                break;
            }
                #endregion

                #region Purge

            case "purge":
            case "purga":
            case "tempodepurga":
            case "purg":
            {
                if (!RoleplayManager.PurgeStarted)
                {
                    Session.SendWhisper("Este não há um evento de Purga acontecendo agora!");
                    break;
                }

                try
                {
                    lock (PlusEnvironment.GetGame().GetClientManager().GetClients)
                    {
                        foreach (GameClient client in PlusEnvironment.GetGame().GetClientManager().GetClients.ToList())
                        {
                            if (client == null)
                            {
                                continue;
                            }

                            if (client.GetHabbo() == null)
                            {
                                continue;
                            }

                            client.SendWhisper("Um membro da Equipe terminou o Evento de Purga. Nós esperamos que você tenha aproveitado! ;)", 34);
                        }
                    }

                    RoleplayManager.PurgeStarted = false;
                }
                catch (Exception e)
                {
                    Logging.LogCriticalException("Erro ao parar a purga: " + e);
                }
                break;
            }

                #endregion

                #region Lottery
            case "lottery":
            case "loteria":
            {
                if (!LotteryManager.LotteryFull())
                {
                    Session.SendWhisper("Nem todos os bilhetes foram vendidos! [" + LotteryManager.LotteryTickets.Count + "/" + LotteryManager.TicketLimit + "]", 1);
                    break;
                }
                else
                {
                    int Winner = LotteryManager.GetWinner();
                    LotteryManager.GivePrize(Winner);
                    LotteryManager.ClearLottery();
                    Session.SendWhisper("A loteria foi limpa com sucesso!", 1);
                }

                break;
            }
                #endregion

            default:
            {
                Session.SendWhisper("Este tipo de evento não existe ou está desabilitado!", 1);
                break;
            }
            }
        }
示例#6
0
        public void Execute(GameClients.GameClient Session, Rooms.Room Room, string[] Params)
        {
            if (Params.Length != 4 && Params[2].ToLower() != "briga" && Params[2].ToLower() != "bg")
            {
                Session.SendWhisper("Digite o usuário, jogo e equipe (se necessário) que deseja atribuir.", 1);
                return;
            }

            GameClient TargetClient = PlusEnvironment.GetGame().GetClientManager().GetClientByUsername(Params[1]);

            if (TargetClient == null || TargetClient.GetRoleplay() == null)
            {
                Session.SendWhisper("Ocorreu um erro ao tentar encontrar esse usuário, talvez ele esteja offline.", 1);
                return;
            }

            if (TargetClient.GetRoleplay().Game != null || TargetClient.GetRoleplay().Team != null)
            {
                Session.SendWhisper("Este usuário já está dentro de um evento!", 1);
                return;
            }

            if (TargetClient.GetRoleplay().IsDead)
            {
                Session.SendWhisper("Você não pode colocar esse usuário em um evento enquanto ele está morto!", 1);
                return;
            }

            if (TargetClient.GetRoleplay().IsJailed)
            {
                Session.SendWhisper("Você não pode colocar esse usuário em um evento enquanto ele está preso!", 1);
                return;
            }

            if (TargetClient.GetRoleplay().IsNoob)
            {
                Session.SendWhisper("Você não pode atribuir esse usuário a um evento enquanto ele é novato!", 1);
                return;
            }

            string Game = Params[2].ToString().ToLower();

            List <string> ValidTeams = new List <string>();

            ValidTeams.Add("blue");
            ValidTeams.Add("green");
            ValidTeams.Add("pink");
            ValidTeams.Add("yellow");

            switch (Game)
            {
                #region Brawl

            case "brawl":
            case "br":
            case "briga":
            {
                if (!RoleplayGameManager.RunningGames.ContainsKey(GameMode.Brawl))
                {
                    Session.SendWhisper("Não há nenhum evento de Briga atualmente ativo!", 1);
                    break;
                }

                if (TargetClient.GetRoleplay().IsWorking)
                {
                    TargetClient.GetRoleplay().IsWorking = false;
                }

                if (TargetClient.GetRoleplay().EquippedWeapon != null)
                {
                    TargetClient.GetRoleplay().EquippedWeapon = null;
                }

                RoleplayGameManager.AddPlayerToGame(RoleplayGameManager.GetGame(GameMode.Brawl), TargetClient, "", true);
                Session.SendWhisper("Sucesso, você colocou " + TargetClient.GetHabbo().Username + " no evento de Briga!", 1);
                break;
            }

                #endregion

                #region Colour Wars

            case "cw":
            case "color":
            case "colourwars":
            case "colorwars":
            case "gc":
            case "guerradecores":
            case "guerracores":
            {
                if (!RoleplayGameManager.RunningGames.ContainsKey(GameMode.ColourWars))
                {
                    Session.SendWhisper("Não há nenhum evento de Guerra de Cores atualmente ativo!", 1);
                    break;
                }

                string Team = Params[3].ToString().ToLower();
                if (Params.Length != 4 || !ValidTeams.Contains(Team))
                {
                    Session.SendWhisper("Você escolheu uma equipe inválida. Aqui estão as equipes disponíveis: " + string.Join(", ", ValidTeams.ToArray()), 1);
                    break;
                }

                if (TargetClient.GetRoleplay().IsWorking)
                {
                    TargetClient.GetRoleplay().IsWorking = false;
                }

                if (TargetClient.GetRoleplay().EquippedWeapon != null)
                {
                    TargetClient.GetRoleplay().EquippedWeapon = null;
                }

                RoleplayGameManager.AddPlayerToGame(RoleplayGameManager.GetGame(GameMode.ColourWars), TargetClient, Team, true);
                Session.SendWhisper("Sucesso, você colocou " + TargetClient.GetHabbo().Username + " no evento Guerra de Cores!", 1);
                break;
            }

                #endregion

                #region Team Brawl

            case "tb":
            case "teambrawl":
            case "tbrawl":
            case "teamb":
            case "brigatimes":
            case "bt":
            case "brigatime":
            {
                if (!RoleplayGameManager.RunningGames.ContainsKey(GameMode.TeamBrawl))
                {
                    Session.SendWhisper("Não há um evento Briga de Times atualmente ativo!", 1);
                    break;
                }

                string Team = Params[3].ToString().ToLower();
                if (Params.Length != 4 || !ValidTeams.Contains(Team))
                {
                    Session.SendWhisper("Você escolheu uma equipe inválida. Aqui estão as equipes disponíveis: " + string.Join(", ", ValidTeams.ToArray()), 1);
                    break;
                }

                if (TargetClient.GetRoleplay().IsWorking)
                {
                    TargetClient.GetRoleplay().IsWorking = false;
                }

                if (TargetClient.GetRoleplay().EquippedWeapon != null)
                {
                    TargetClient.GetRoleplay().EquippedWeapon = null;
                }

                RoleplayGameManager.AddPlayerToGame(RoleplayGameManager.GetGame(GameMode.TeamBrawl), TargetClient, Team, true);
                Session.SendWhisper("Sucesso, você colocou " + TargetClient.GetHabbo().Username + " no evento Briga de Times!", 1);
                break;
            }

                #endregion

                #region Mafia Wars

            case "mw":
            case "mafia":
            case "mariawars":
            case "gm":
            case "guerramafia":
            case "guerrademafias":
            case "guerramafias":
            {
                if (!RoleplayGameManager.RunningGames.ContainsKey(GameMode.MafiaWars))
                {
                    Session.SendWhisper("Não há um evento Guerra de Máfias atualmente ativo!", 1);
                    break;
                }

                string Team = Params[3].ToString().ToLower();
                if (Params.Length != 4 || !ValidTeams.Contains(Team))
                {
                    Session.SendWhisper("Você escolheu uma equipe inválida. Aqui estão as equipes disponíveis: " + string.Join(", ", ValidTeams.ToArray()), 1);
                    break;
                }

                if (TargetClient.GetRoleplay().IsWorking)
                {
                    TargetClient.GetRoleplay().IsWorking = false;
                }

                if (TargetClient.GetRoleplay().EquippedWeapon != null)
                {
                    TargetClient.GetRoleplay().EquippedWeapon = null;
                }

                RoleplayGameManager.AddPlayerToGame(RoleplayGameManager.GetGame(GameMode.MafiaWars), TargetClient, Team, true);
                Session.SendWhisper("Sucesso, você colocou " + TargetClient.GetHabbo().Username + " no evento Guerra de Máfias!", 1);
                break;
            }

                #endregion

            default:
            {
                Session.SendWhisper("O jogo que você escolheu não existe. Aqui estão os eventos disponíveis: briga, guerradecores/gc, brigadetimes/bt, guerrademafias/gm.", 1);
                break;
            }
            }
        }