Ejemplo n.º 1
0
        private void GameCycle()
        {
            while (this._cycleActive)
            {
                this._cycleEnded = false;

                PlusEnvironment.GetGame().GetRoomManager().OnCycle();
                PlusEnvironment.GetGame().GetClientManager().OnCycle();
                RoleplayGameManager.CheckAutomaticGames();

                this._cycleEnded = true;
                Thread.Sleep(this._cycleSleepTime);
            }
        }
Ejemplo n.º 2
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;
            }
        }
Ejemplo n.º 3
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;
            }
        }
Ejemplo n.º 4
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;
            }
            }
        }
Ejemplo n.º 5
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);
                }
            }
        }
Ejemplo n.º 6
0
        public void Execute(GameClients.GameClient Session, Rooms.Room Room, string[] Params)
        {
            if (Params.Length == 1)
            {
                Session.SendWhisper("Você deve incluir uma coisa para atualizar, e.x. :atualizar catalogo", 1);
                return;
            }

            string UpdateVariable = Params[1];

            switch (UpdateVariable.ToLower())
            {
            case "cata":
            case "catalog":
            case "catalogue":
            case "catalogo":
            {
                if (!Session.GetHabbo().GetPermissions().HasCommand("command_update_catalog"))
                {
                    Session.SendWhisper("Opa, você não tem permissão em 'command_update_catalog'.", 1);
                    break;
                }

                PlusEnvironment.GetGame().GetCatalog().Init(PlusEnvironment.GetGame().GetItemManager());
                PlusEnvironment.GetGame().GetClientManager().SendMessage(new CatalogUpdatedComposer());
                Session.SendWhisper("Catálogo atualizado com sucesso.", 1);
                break;
            }

            case "items":
            case "furni":
            case "furniture":
            case "mobis":
            case "mobi":
            case "mobilias":
            {
                if (!Session.GetHabbo().GetPermissions().HasCommand("command_update_furni"))
                {
                    Session.SendWhisper("Opa, você não tem permissão em 'command_update_furni'.", 1);
                    break;
                }

                PlusEnvironment.GetGame().GetItemManager().Init();
                Session.SendWhisper("Itens/Mobis atualizados com sucesso.", 1);
                break;
            }

            case "models":
            case "modelos":
            case "model":
            case "quartos":
            {
                if (!Session.GetHabbo().GetPermissions().HasCommand("command_update_models"))
                {
                    Session.SendWhisper("Opa, você não tem permissão em 'command_update_models'.", 1);
                    break;
                }

                PlusEnvironment.GetGame().GetRoomManager().LoadModels();
                Session.SendWhisper("Modelos de quartos atualizados com sucesso.", 1);
                break;
            }

            case "promotions":
            case "promocoes":
            {
                if (!Session.GetHabbo().GetPermissions().HasCommand("command_update_promotions"))
                {
                    Session.SendWhisper("Opa, você não tem permissão em 'command_update_promotions'.", 1);
                    break;
                }

                PlusEnvironment.GetGame().GetLandingManager().LoadPromotions();
                Session.SendWhisper("Landing view promotions successfully updated.", 1);
                break;
            }

            case "youtube":
            {
                if (!Session.GetHabbo().GetPermissions().HasCommand("command_update_youtube"))
                {
                    Session.SendWhisper("Opa, você não tem permissão em 'command_update_youtube'", 1);
                    break;
                }

                PlusEnvironment.GetGame().GetTelevisionManager().Init();
                Session.SendWhisper("A lista de televisões do Youtube foi atualizada com sucesso. ", 1);
                break;
            }

            case "filter":
            case "filtro":
            case "filtros":
            {
                if (!Session.GetHabbo().GetPermissions().HasCommand("command_update_filter"))
                {
                    Session.SendWhisper("Opa, você não tem permissão em 'command_update_filter'", 1);
                    break;
                }

                PlusEnvironment.GetGame().GetChatManager().GetFilter().Init();
                Session.SendWhisper("Definições de filtro atualizadas com sucesso.", 1);
                break;
            }

            case "navigator":
            case "navegador":
            {
                if (!Session.GetHabbo().GetPermissions().HasCommand("command_update_navigator"))
                {
                    Session.SendWhisper("Opa, você não tem permissão em 'command_update_navigator'.", 1);
                    break;
                }

                PlusEnvironment.GetGame().GetNavigator().Init();
                Session.SendWhisper("Itens do navegador atualizados com sucesso.", 1);
                break;
            }

            case "ranks":
            case "rights":
            case "permissions":
            case "cargos":
            case "permissao":
            case "permissoes":
            {
                if (!Session.GetHabbo().GetPermissions().HasCommand("command_update_permissions"))
                {
                    Session.SendWhisper("Opa, você não tem permissão em 'command_update_rights'.", 1);
                    break;
                }

                PlusEnvironment.GetGame().GetPermissionManager().Init();

                foreach (GameClient Client in PlusEnvironment.GetGame().GetClientManager().GetClients.ToList())
                {
                    if (Client == null || Client.GetHabbo() == null || Client.GetHabbo().GetPermissions() == null)
                    {
                        continue;
                    }

                    Client.GetHabbo().GetPermissions().Init(Client.GetHabbo());
                }

                Session.SendWhisper("Definições de Cargo atualizadas com sucesso.", 1);
                break;
            }

            case "config":
            case "settings":
            case "configuracoes":
            {
                if (!Session.GetHabbo().GetPermissions().HasCommand("command_update_configuration"))
                {
                    Session.SendWhisper("Opa, você não tem permissão em 'command_update_configuration'.", 1);
                    break;
                }

                PlusEnvironment.ConfigData = new ConfigData();
                Session.SendWhisper("Configuração do servidor atualizada com sucesso.", 1);
                break;
            }

            case "bans":
            case "ban":
            case "banimentos":
            case "banidos":
            {
                if (!Session.GetHabbo().GetPermissions().HasCommand("command_update_bans"))
                {
                    Session.SendWhisper("Opa, você não tem permissão em 'command_update_bans'.", 1);
                    break;
                }

                PlusEnvironment.GetGame().GetModerationManager().ReCacheBans();
                Session.SendWhisper("A lista de banidos foi atualizada com sucesso.", 1);
                break;
            }

            case "quests":
            {
                if (!Session.GetHabbo().GetPermissions().HasCommand("command_update_quests"))
                {
                    Session.SendWhisper("Opa, você não tem permissão em 'command_update_quests'.", 1);
                    break;
                }

                PlusEnvironment.GetGame().GetQuestManager().Init();
                Session.SendWhisper("Definições de Tarefas atualizadas com êxito.", 1);
                break;
            }

            case "achievements":
            case "conquistas":
            case "conquista":
            {
                if (!Session.GetHabbo().GetPermissions().HasCommand("command_update_achievements"))
                {
                    Session.SendWhisper("Opa, você não tem permissão em 'command_update_achievements'.", 1);
                    break;
                }

                PlusEnvironment.GetGame().GetAchievementManager().LoadAchievements();
                Session.SendWhisper("Definições de conquistas atualizadas com êxito.", 1);
                break;
            }

            case "clothing":
            case "visuais":
            case "roupas":
            case "visual":
            case "roupa":
            {
                if (!Session.GetHabbo().GetPermissions().HasCommand("command_update_clothing"))
                {
                    Session.SendWhisper("Opa, você não tem permissão em 'command_update_clothing'.", 1);
                    break;
                }

                PlusEnvironment.GetGame().GetCatalog().GetClothingManager().Init();
                Session.SendWhisper("Mobiliário de vestuário e preços recarregados.", 1);
                break;
            }

            case "moderation":
            case "moderacao":
            case "mods":
            case "moderadores":
            {
                if (!Session.GetHabbo().GetPermissions().HasCommand("command_update_moderation"))
                {
                    Session.SendWhisper("Opa, você não tem permissão em 'command_update_moderation'.", 1);
                    break;
                }

                PlusEnvironment.GetGame().GetModerationManager().Init();
                PlusEnvironment.GetGame().GetClientManager().ModAlert("As predefinições de moderação foram atualizadas. Recarregue o cliente para ver as novas predefinições.");

                Session.SendWhisper("Configuração de moderação atualizada com sucesso.", 1);
                break;
            }

            case "tickets":
            {
                if (!Session.GetHabbo().GetPermissions().HasCommand("command_update_tickets"))
                {
                    Session.SendWhisper("Opa, você não tem permissão em 'command_update_tickets'.", 1);
                    break;
                }

                if (PlusEnvironment.GetGame().GetModerationTool().Tickets.Count > 0)
                {
                    PlusEnvironment.GetGame().GetModerationTool().Tickets.Clear();
                }

                PlusEnvironment.GetGame().GetClientManager().ModAlert("Os ingressos foram atualizados. Recarregue o cliente.");
                Session.SendWhisper("Os ingressos foram atualizados com sucesso.", 1);
                break;
            }

            case "vouchers":
            case "brindes":
            case "codigos":
            {
                if (!Session.GetHabbo().GetPermissions().HasCommand("command_update_vouchers"))
                {
                    Session.SendWhisper("Opa, você não tem permissão em 'command_update_vouchers'.", 1);
                    break;
                }

                PlusEnvironment.GetGame().GetCatalog().GetVoucherManager().Init();
                Session.SendWhisper("Vouchers/Códigos brinde atualizado com sucesso.", 1);
                break;
            }

            case "polls":
            case "perguntas":
            case "quiz":
            {
                if (!Session.GetHabbo().GetPermissions().HasCommand("command_update_polls"))
                {
                    Session.SendWhisper("Opa, você não tem permissão em 'command_update_polls'.", 1);
                    break;
                }

                int PollLoaded;
                PlusEnvironment.GetGame().GetPollManager().Init(out PollLoaded);
                Session.SendWhisper("Polls successfully updated.", 1);
                break;
            }

            case "gamecenter":
            case "centrodejogos":
            case "cjogos":
            {
                if (!Session.GetHabbo().GetPermissions().HasCommand("command_update_game_center"))
                {
                    Session.SendWhisper("Opa, você não tem permissão em 'command_update_game_center'.", 1);
                    break;
                }

                PlusEnvironment.GetGame().GetGameDataManager().Init();
                Session.SendWhisper("Cache do Centro de Jogos atualizado com sucesso.", 1);
                break;
            }

            case "pet_locale":
            case "lpet":
            case "petl":
            {
                if (!Session.GetHabbo().GetPermissions().HasCommand("command_update_pet_locale"))
                {
                    Session.SendWhisper("Opa, você não tem permissão em 'command_update_pet_locale'.", 1);
                    break;
                }

                PlusEnvironment.GetGame().GetChatManager().GetPetLocale().Init();
                Session.SendWhisper("Pet locale cache successfully updated.", 1);
                break;
            }

            case "locale":
            case "local":
            {
                if (!Session.GetHabbo().GetPermissions().HasCommand("command_update_locale"))
                {
                    Session.SendWhisper("Opa, você não tem permissão em 'command_update_locale'.", 1);
                    break;
                }

                PlusEnvironment.GetGame().GetLanguageLocale().Init();
                Session.SendWhisper("Local cache atualizado com sucesso.", 1);
                break;
            }

            case "mutant":
            case "mutante":
            case "mutantes":
            {
                if (!Session.GetHabbo().GetPermissions().HasCommand("command_update_anti_mutant"))
                {
                    Session.SendWhisper("Opa, você não tem permissão em 'command_update_anti_mutant'.", 1);
                    break;
                }

                PlusEnvironment.GetGame().GetAntiMutant().Init();
                Session.SendWhisper("Anti mutante recarregado com sucesso.", 1);
                break;
            }

            case "bots":
            case "bot":
            {
                if (!Session.GetHabbo().GetPermissions().HasCommand("command_update_bots"))
                {
                    Session.SendWhisper("Opa, você não tem permissão em 'command_update_bots'.", 1);
                    break;
                }

                PlusEnvironment.GetGame().GetBotManager().Init();
                Session.SendWhisper("O gerenciador de Bots foi recarregado com sucesso", 1);
                break;
            }

            case "bots_speech":
            case "bots speech":
            case "speech":
            case "speeches":
            case "response":
            case "responses":
            {
                if (!Session.GetHabbo().GetPermissions().HasCommand("command_update_bots"))
                {
                    Session.SendWhisper("Opa, você não tem permissão em 'command_update_bots'", 1);
                    break;
                }

                RoleplayBotManager.FetchCachedSpeeches();
                Session.SendWhisper("Bots speech and responses successfully reloaded", 1);
                break;
            }

            case "rewards":
            case "premios":
            {
                if (!Session.GetHabbo().GetPermissions().HasCommand("command_update_rewards"))
                {
                    Session.SendWhisper("Opa, você não tem permissão em 'command_update_rewards'.", 1);
                    break;
                }

                PlusEnvironment.GetGame().GetRewardManager().Reload();
                Session.SendWhisper("O Gerenciador de recompensas foi recarregado com sucesso.", 1);
                break;
            }

            case "chat_styles":
            case "echats":
            case "estilos":
            case "estilo":
            {
                if (!Session.GetHabbo().GetPermissions().HasCommand("command_update_chat_styles"))
                {
                    Session.SendWhisper("Opa, você não tem permissão em 'command_update_chat_styles'.", 1);
                    break;
                }

                PlusEnvironment.GetGame().GetChatManager().GetChatStyles().Init();
                Session.SendWhisper("Estilos de bate-papo recarregados com sucesso.", 1);
                break;
            }

            case "badges":
            case "badge_definitions":
            case "emblemas":
            {
                if (!Session.GetHabbo().GetPermissions().HasCommand("command_update_badge_definitions"))
                {
                    Session.SendWhisper("Opa, você não tem permissão em 'command_update_badge_definitions'.", 1);
                    break;
                }

                PlusEnvironment.GetGame().GetBadgeManager().Init();
                Session.SendWhisper("Definições de emblemas recarregadas com sucesso.", 1);
                break;
            }

            case "rpdata":
            case "roleplaydata":
            {
                if (!Session.GetHabbo().GetPermissions().HasCommand("command_update_roleplay_data"))
                {
                    Session.SendWhisper("Opa, você não tem permissão em 'command_update_roleplaydata'.", 1);
                    break;
                }

                RoleplayData.Initialize();
                RoleplayManager.UpdateRPData();
                Session.SendWhisper("Dados do Roleplay recarregados com sucesso.", 1);
                break;
            }

            case "blacklist":
            case "listanegra":
            case "ln":
            {
                if (!Session.GetHabbo().GetPermissions().HasCommand("command_update_blacklist"))
                {
                    Session.SendWhisper("Opa, você não tem permissão em 'command_update_blacklist'.", 1);
                    break;
                }

                BlackListManager.Initialize();
                Session.SendWhisper("Lista negra recarregada com sucesso.", 1);
                break;
            }

            case "farming":
            case "agricultura":
            case "agricolas":
            {
                if (!Session.GetHabbo().GetPermissions().HasCommand("command_update_farming"))
                {
                    Session.SendWhisper("Opa, você não tem permissão em 'command_update_farming'.", 1);
                    break;
                }

                FarmingManager.Initialize();
                Session.SendWhisper("Artigos agrícolas recarregados com sucesso.", 1);
                break;
            }

            case "events":
            case "games":
            case "jogos":
            case "eventos":
            {
                if (!Session.GetHabbo().GetPermissions().HasCommand("command_update_events"))
                {
                    Session.SendWhisper("Opa, você não tem permissão em 'command_update_events'.", 1);
                    break;
                }

                RoleplayGameManager.Initialize();
                Session.SendWhisper("Eventos recarregados com sucesso.", 1);
                break;
            }

            case "corps":
            case "jobs":
            case "corporations":
            case "gangs":
            case "gangues":
            case "empregos":
            {
                if (!Session.GetHabbo().GetPermissions().HasCommand("command_update_jobs"))
                {
                    Session.SendWhisper("Opa, você não tem permissão em 'command_update_jobs'.", 1);
                    break;
                }

                PlusEnvironment.GetGame().GetGroupManager().Initialize();
                Session.SendWhisper("Trabalhos e Gangues recarregados com sucesso.", 1);
                break;
            }

            case "turfs":
            case "turfcaptures":
            case "gangcaptures":
            case "territorio":
            case "territorios":
            {
                if (!Session.GetHabbo().GetPermissions().HasCommand("command_update_turfs"))
                {
                    Session.SendWhisper("Opa, você não tem permissão em 'command_update_turfs'.", 1);
                    break;
                }

                TurfManager.Initialize();
                Session.SendWhisper("Territórios e Zona de Captura recarregados com sucesso.", 1);
                break;
            }

            case "weapons":
            case "guns":
            case "armas":
            case "arma":
            {
                if (!Session.GetHabbo().GetPermissions().HasCommand("command_update_weapons"))
                {
                    Session.SendWhisper("Opa, você não tem permissão em 'command_update_weapons'.", 1);
                    break;
                }

                WeaponManager.Initialize();

                #region Refresh User Weapons

                lock (PlusEnvironment.GetGame().GetClientManager().GetClients)
                {
                    foreach (GameClient Client in PlusEnvironment.GetGame().GetClientManager().GetClients.ToList())
                    {
                        if (Client == null || Client.GetHabbo() == null || Client.GetRoleplay() == null)
                        {
                            continue;
                        }

                        if (Client.GetRoleplay().EquippedWeapon == null)
                        {
                            continue;
                        }

                        Client.GetRoleplay().EquippedWeapon = null;

                        Client.GetRoleplay().OwnedWeapons = null;
                        Client.GetRoleplay().OwnedWeapons = Client.GetRoleplay().LoadAndReturnWeapons();

                        Client.SendWhisper("Um administrador atualizou as armas, sua arma foi retirada, equipe de novo!", 1);
                    }
                }

                #endregion

                Session.SendWhisper("Armas recarregadas com sucesso.", 1);
                break;
            }

            case "food":
            case "drinks":
            case "bebidas":
            case "bebida":
            case "alimentos":
            {
                if (!Session.GetHabbo().GetPermissions().HasCommand("command_update_food"))
                {
                    Session.SendWhisper("Opa, você não tem permissão em 'command_update_food'.", 1);
                    break;
                }

                FoodManager.Initialize();
                Session.SendWhisper("Alimentos e bebidas recarregados com sucesso.", 1);
                break;
            }

            case "houses":
            case "house":
            case "casas":
            case "casa":
            {
                if (!Session.GetHabbo().GetPermissions().HasCommand("command_update_houses"))
                {
                    Session.SendWhisper("Opa, você não tem permissão em 'command_update_houses'.", 1);
                    break;
                }

                PlusEnvironment.GetGame().GetHouseManager().Init();
                Session.SendWhisper("Casas recarregadas com sucesso.", 1);
                break;
            }

            case "crafting":
            case "construir":
            case "construcao":
            case "craft":
            {
                if (!Session.GetHabbo().GetPermissions().HasCommand("command_update_crafting"))
                {
                    Session.SendWhisper("Opa, você não tem permissão em 'command_update_crafting'.", 1);
                    break;
                }

                CraftingManager.Initialize();
                Session.SendWhisper("Áreas de construção recarregadas com sucesso..", 1);
                break;
            }

            case "lottery":
            case "loteria":
            {
                if (!Session.GetHabbo().GetPermissions().HasCommand("command_update_lottery"))
                {
                    Session.SendWhisper("Opa, você não tem permissão em 'command_update_lottery'.", 1);
                    break;
                }

                LotteryManager.Initialize();
                Session.SendWhisper("Loteria recarregados com sucesso.", 1);
                break;
            }

            case "todo":
            case "tarefas":
            case "tarefa":
            {
                if (!Session.GetHabbo().GetPermissions().HasCommand("command_update_todo"))
                {
                    Session.SendWhisper("Opa, você não tem permissão em 'command_update_todo'.", 1);
                    break;
                }

                ToDoManager.Initialize();
                Session.SendWhisper("Lista de Tarefas recarregada com sucesso.", 1);
                break;
            }

            case "bounty":
            case "bl":
            case "bounties":
            case "recompensa":
            case "recompensas":
            {
                if (!Session.GetHabbo().GetPermissions().HasCommand("command_update_bounty"))
                {
                    Session.SendWhisper("Opa, você não tem permissão em 'command_update_bounty'.", 1);
                    break;
                }

                BountyManager.Initialize();
                Session.SendWhisper("Lista de recompensas recarregada com sucesso.", 1);
                break;
            }

            case "court":
            case "jury":
            case "juiz":
            case "politica":
            {
                if (!Session.GetHabbo().GetPermissions().HasCommand("command_update_court"))
                {
                    Session.SendWhisper("Opa, você não tem permissão em 'command_update_court'.", 1);
                    break;
                }

                RoleplayManager.CourtVoteEnabled = false;
                RoleplayManager.InnocentVotes    = 0;
                RoleplayManager.GuiltyVotes      = 0;

                RoleplayManager.CourtJuryTime        = 0;
                RoleplayManager.CourtTrialIsStarting = false;
                RoleplayManager.CourtTrialStarted    = false;
                RoleplayManager.Defendant            = null;
                RoleplayManager.InvitedUsersToJuryDuty.Clear();

                Session.SendWhisper("Juiz atualizado com sucesso.", 1);
                break;
            }

            case "chat":
            case "chats":
            case "chatroom":
            case "chatrooms":
            case "batepapos":
            case "batepapo":
            case "whatsapps":
            {
                if (!Session.GetHabbo().GetPermissions().HasCommand("command_update_websocket_chat"))
                {
                    Session.SendWhisper("Opa, você não tem permissão em 'command_update_websocket_chat'.", 1);
                    break;
                }

                HabboRoleplay.Web.Util.ChatRoom.WebSocketChatManager.Initialiaze();
                Session.SendWhisper("Salas de chat atualizadas com sucesso.", 1);
                break;
            }

            case "gambling":
            case "texash":
            case "texas":
            case "texasholdem":
            {
                if (!Session.GetHabbo().GetPermissions().HasCommand("command_update_gambling"))
                {
                    Session.SendWhisper("Opa, você não tem permissão em 'command_update_gambling'.", 1);
                    break;
                }

                TexasHoldEmManager.Initialize();
                Session.SendWhisper("Jogos do Texas Holdem atualizados com sucesso.", 1);
                break;
            }

            default:
                Session.SendWhisper("'" + UpdateVariable + "' não é uma coisa válida para recarregar.", 1);
                break;
            }
        }
Ejemplo n.º 7
0
        public Game()
        {
            this._packetManager = new PacketManager();

            this._clientManager = new GameClientManager();

            this._modManager = new ModerationManager();

            this._moderationTool = new ModerationTool();


            this._itemDataManager = new ItemDataManager();
            this._itemDataManager.Init();

            this._catalogManager = new CatalogManager();
            this._catalogManager.Init(this._itemDataManager);

            this._televisionManager = new TelevisionManager();

            this._navigatorManager = new NavigatorManager();

            this._roomManager = new RoomManager();

            this._chatManager = new ChatManager();

            this._questManager = new QuestManager();

            this._achievementManager = new AchievementManager();

            this._talentTrackManager = new TalentTrackManager();

            this._landingViewManager = new LandingViewManager();

            this._gameDataManager = new GameDataManager();

            this._globalUpdater = new ServerStatusUpdater();
            this._globalUpdater.Init();

            this._languageLocale = new LanguageLocale();

            this._antiMutant = new AntiMutant();

            this._botManager = new BotManager();

            this._cacheManager = new CacheManager();

            this._rewardManager = new RewardManager();

            this._badgeManager = new BadgeManager();
            this._badgeManager.Init();

            this._permissionManager = new PermissionManager();
            this._permissionManager.Init();

            this._subscriptionManager = new SubscriptionManager();
            this._subscriptionManager.Init();

            this._guideManager = new GuideManager();

            int pollLoaded;

            this._pollManager = new PollManager();
            this._pollManager.Init(out pollLoaded);

            #region Roleplay Section
            RoleplayData.Initialize();
            EventManager.Initialize();
            CombatManager.Initialize();
            RoleplayGameManager.Initialize();

            this._groupManager = new GroupManager();
            this._groupManager.Initialize();

            TexasHoldEmManager.Initialize();
            TurfManager.Initialize();
            WeaponManager.Initialize();
            FoodManager.Initialize();
            FarmingManager.Initialize();
            CraftingManager.Initialize();
            LotteryManager.Initialize();
            ToDoManager.Initialize();
            BlackListManager.Initialize();
            BountyManager.Initialize();
            WebSocketChatManager.Initialiaze();

            this._houseManager = new HouseManager();
            this._houseManager.Init();

            this._webEventManager = new WebEventManager();
            this._webEventManager.Init();
            #endregion
        }
Ejemplo n.º 8
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;
            }
            }
        }
Ejemplo n.º 9
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;
            }
            }
        }
Ejemplo n.º 10
0
        public void Execute(GameClients.GameClient Session, Rooms.Room Room, string[] Params)
        {
            if (Params.Length == 1)
            {
                Session.SendWhisper("Digite um tipo de evento!", 1);
                return;
            }

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

            switch (Message)
            {
                #region Brawl
            case "brawl":
            case "briga":
            {
                if (RoleplayGameManager.RunningGames.ContainsKey(GameMode.Brawl))
                {
                    Session.SendWhisper("Já existe um evento de Briga!", 1);
                }
                else
                {
                    RoleplayGameManager.CreateGame("brawl");
                    Session.SendWhisper("Você começou um evento de Briga!", 1);
                }
                break;
            }
                #endregion

                #region Team Brawl
            case "teambrawl":
            case "tbrawl":
            case "tb":
            case "bt":
            case "brigadetimes":
            case "brigatimes":
            {
                if (RoleplayGameManager.RunningGames.ContainsKey(GameMode.TeamBrawl))
                {
                    Session.SendWhisper("Já existe um evento de Briga de Times!", 1);
                }
                else
                {
                    RoleplayGameManager.CreateGame("teambrawl");
                    Session.SendWhisper("Você começou um evento de Briga de Times!", 1);
                }
                break;
            }
                #endregion

                #region Colour Wars
            case "colorwars":
            case "colourwars":
            case "cw":
            case "gc":
            case "guerradecores":
            case "guerracores":
            {
                if (RoleplayGameManager.RunningGames.ContainsKey(GameMode.ColourWars))
                {
                    Session.SendWhisper("Já existe um evento de Guerra de Cores!", 1);
                }
                else
                {
                    RoleplayGameManager.CreateGame("colourwars");
                    Session.SendWhisper("Você começou um evento de Guerra de Cores!", 1);
                }
                break;
            }
                #endregion

                #region Mafia Wars
            case "mafiawars":
            case "mwars":
            case "mw":
            case "gm":
            case "guerrademafias":
            case "guerrademafia":
            case "guerramafia":
            {
                if (RoleplayGameManager.RunningGames.ContainsKey(GameMode.MafiaWars))
                {
                    Session.SendWhisper("Já existe um evento de Guerra de Máfias!", 1);
                }
                else
                {
                    RoleplayGameManager.CreateGame("mafiawars");
                    Session.SendWhisper("Você começou um evento de Guerra de Máfias!", 1);
                }
                break;
            }
                #endregion

            default:
            {
                Session.SendWhisper("Esse tipo de evento não existe ou está desativado!", 1);
                break;
            }
            }
        }