Ejemplo n.º 1
0
        public void Execute(GameClients.GameClient Session, Room Room, string[] Params)
        {
            if (Params.Length == 1)
            {
                Session.SendWhisper("Oops, debes escribir un numero de 1-199! Para ver la lista de emoji escribe :emoji lista");
                return;
            }
            string emoji = Params[1];

            if (emoji.Equals("lista"))
            {
                ServerPacket notif = new ServerPacket(ServerPacketHeader.NuxAlertMessageComposer);
                notif.WriteString("habbopages/chat/emoji/emoji.txt");
                Session.SendMessage(notif);
            }
            else
            {
                bool isNumeric = int.TryParse(emoji, out int emojiNum);
                if (isNumeric)
                {
                    switch (emojiNum)
                    {
                    default:
                        bool isValid = true;
                        if (emojiNum < 1)
                        {
                            isValid = false;
                        }

                        if (emojiNum > 199)
                        {
                            isValid = false;
                        }

                        if (isValid)
                        {
                            string   Username;
                            RoomUser TargetUser = Session.GetHabbo().CurrentRoom.GetRoomUserManager().GetRoomUserByHabbo(Session.GetHabbo().Username);
                            if (emojiNum < 10)
                            {
                                Username = "******" + emojiNum + ".png' height='20' width='20'><br>    >";
                            }
                            else
                            {
                                Username = "******" + emojiNum + ".png' height='20' width='20'><br>    >";
                            }
                            if (Room != null)
                            {
                                Room.SendMessage(new UserNameChangeComposer(Session.GetHabbo().CurrentRoomId, TargetUser.VirtualId, Username));
                            }

                            string Message = " ";
                            Room.SendMessage(new ChatComposer(TargetUser.VirtualId, Message, 0, TargetUser.LastBubble));
                            TargetUser.SendNamePacket();
                        }
                        else
                        {
                            Session.SendWhisper("Emoji invalido, debe ser numero de 1-199. Para ver la lista de emojis escribe ':emoji lista'");
                        }

                        break;
                    }
                }
                else
                {
                    Session.SendWhisper("Emoji invalido, debe ser numero de 1-199. Para ver la lista de emojis escribe ':emoji lista'");
                }
            }
        }
Ejemplo n.º 2
0
        public void Execute(GameClients.GameClient Session, Rooms.Room Room, string[] Params)
        {
            if (Params.Length == 1)
            {
                Session.SendWhisper("Oops, debes escribir un numero de 1-189! Para ver la lista de emoji escribe :emoji list");
                return;
            }
            string emoji = Params[1];

            if (emoji.Equals("list"))
            {
                Session.SendMessage(new MassEventComposer("habbopages/chat/emoji.txt"));
            }
            else
            {
                int  emojiNum;
                bool isNumeric = int.TryParse(emoji, out emojiNum);
                if (isNumeric)
                {
                    string chatcolor = Session.GetHabbo().chatHTMLColour;
                    int    chatsize  = Session.GetHabbo().chatHTMLSize;

                    Session.GetHabbo().chatHTMLColour = "";
                    Session.GetHabbo().chatHTMLSize   = 12;
                    switch (emojiNum)
                    {
                    default:
                        bool isValid = true;
                        if (emojiNum < 1)
                        {
                            isValid = false;
                        }

                        if (emojiNum > 189 && Session.GetHabbo().Rank < 6)
                        {
                            isValid = false;
                        }
                        if (isValid)
                        {
                            string   Username;
                            RoomUser TargetUser = Session.GetHabbo().CurrentRoom.GetRoomUserManager().GetRoomUserByHabbo(Session.GetHabbo().Username);
                            if (emojiNum < 10)
                            {
                                Username = "******" + emojiNum + ".png' height='20' width='20'><br>    ";
                            }
                            else
                            {
                                Username = "******" + emojiNum + ".png' height='20' width='20'><br>    ";
                            }
                            if (Room != null)
                            {
                                Room.SendMessage(new UserNameChangeComposer(Session.GetHabbo().CurrentRoomId, TargetUser.VirtualId, Username));
                            }

                            string Message = " ";
                            Room.SendMessage(new ChatComposer(TargetUser.VirtualId, Message, 0, TargetUser.LastBubble));
                            TargetUser.SendNamePacket();
                        }
                        else
                        {
                            Session.SendWhisper("Emoji invalido, debe ser numero de 1-189. Para ver la lista de emojis escribe :emoji list");
                        }

                        break;
                    }
                    Session.GetHabbo().chatHTMLColour = chatcolor;
                    Session.GetHabbo().chatHTMLSize   = chatsize;
                }
                else
                {
                    Session.SendWhisper("Emoji invalido, debe ser numero de 1-189. Para ver la lista de emojis escribe :emoji list");
                }
            }
            return;
        }
Ejemplo n.º 3
0
        public void Parse(GameClient Session, ClientPacket Packet)
        {
            if (!Session.GetHabbo().InRoom)
            {
                return;
            }

            Room Room = Session.GetHabbo().CurrentRoom;

            if (Room == null)
            {
                return;
            }

            if (!Session.GetHabbo().GetPermissions().HasRight("mod_tool") && Room.CheckMute(Session))
            {
                Session.SendWhisper("Opa, você atualmente está mudo.", 1);
                return;
            }

            if (PlusEnvironment.GetUnixTimestamp() < Session.GetHabbo().FloodTime&& Session.GetHabbo().FloodTime != 0)
            {
                return;
            }

            if (Session.LoggingOut)
            {
                return;
            }

            string[] Params = Packet.PopString().Split(' ');

            if (Params.Length < 2)
            {
                return;
            }

            string ToUser  = Params[0];
            string Message = CommandManager.MergeParams(Params, 1);

            int Colour = Packet.PopInt();

            if (Colour != 0 && !Session.GetHabbo().GetPermissions().HasRight("use_any_bubble"))
            {
                Colour = 0;
            }

            RoomUser User = Room.GetRoomUserManager().GetRoomUserByHabbo(Session.GetHabbo().Username);

            if (User == null)
            {
                return;
            }

            RoomUser User2 = Room.GetRoomUserManager().GetRoomUserByHabbo(ToUser);

            if (User2 == null)
            {
                return;
            }

            if (Session.GetHabbo().TimeMuted > 0)
            {
                Session.SendMessage(new MutedComposer(Session.GetHabbo().TimeMuted));
                return;
            }

            if (!Session.GetHabbo().GetPermissions().HasRight("word_filter_override"))
            {
                Message = PlusEnvironment.GetGame().GetChatManager().GetFilter().CheckMessage(Message);
            }

            ChatStyle Style = null;

            if (!PlusEnvironment.GetGame().GetChatManager().GetChatStyles().TryGetStyle(Colour, out Style) || (Style.RequiredRight.Length > 0 && !Session.GetHabbo().GetPermissions().HasRight(Style.RequiredRight)))
            {
                Colour = 0;
            }

            User.LastBubble = Session.GetHabbo().CustomBubbleId == 0 ? Colour : Session.GetHabbo().CustomBubbleId;

            if (!Session.GetHabbo().GetPermissions().HasRight("mod_tool"))
            {
                int MuteTime;
                if (User.IncrementAndCheckFlood(out MuteTime))
                {
                    Session.SendMessage(new FloodControlComposer(MuteTime));
                    return;
                }
            }

            if (!User2.GetClient().GetHabbo().ReceiveWhispers&& !Session.GetHabbo().GetPermissions().HasRight("room_whisper_override"))
            {
                Session.SendWhisper("Opa, este usuário desativou os sussurros!", 1);
                return;
            }

            PlusEnvironment.GetGame().GetChatManager().GetLogs().StoreChatlog(new Plus.HabboHotel.Rooms.Chat.Logs.ChatlogEntry(Session.GetHabbo().Id, Room.Id, "<Sussurro para " + ToUser + ">: " + Message, UnixTimestamp.GetNow(), Session.GetHabbo(), Room));

            if (!Session.GetHabbo().GetPermissions().HasRight("advertisement_filter_override"))
            {
                string Phrase = "";
                if (PlusEnvironment.GetGame().GetChatManager().GetFilter().CheckBannedWords(Message, out Phrase))
                {
                    Session.GetHabbo().AdvertisingStrikes++;

                    if (Session.GetHabbo().AdvertisingStrikes < 2)
                    {
                        Session.SendMessage(new RoomNotificationComposer("Perigo!", "Por favor, abstenha de anunciar outros sites que não são endossados, afiliados ou oferecidos pelo HabboRPG.Você ficará mudo se você fizer isso de novo!<br><br>Frase da Lista Negra: '" + Phrase + "'", "frank10", "ok", "event:"));
                        return;
                    }

                    if (Session.GetHabbo().AdvertisingStrikes >= 2)
                    {
                        Session.GetHabbo().TimeMuted = 3600;

                        using (var dbClient = PlusEnvironment.GetDatabaseManager().GetQueryReactor())
                        {
                            dbClient.RunQuery("UPDATE `users` SET `time_muted` = '3600' WHERE `id` = '" + Session.GetHabbo().Id + "' LIMIT 1");
                        }

                        Session.SendMessage(new RoomNotificationComposer("Você ficou mudo!", "Desculpe, mas você foi automaticamente mutado por divulgar '" + Phrase + "'.<br><br>A equipe de moderação foi notificada e ações serão tomadas dentro de sua conta!", "frank10", "ok", "event:"));

                        List <string> Messages = new List <string>();
                        Messages.Add(Message);
                        PlusEnvironment.GetGame().GetModerationTool().SendNewTicket(Session, 9, Session.GetHabbo().Id, "[Servidor] O cidadão já recebeu uma advertência " + Phrase + ".", Messages);
                        return;
                    }

                    return;
                }
            }

            if (Session.GetRoleplay() != null)
            {
                if (!Session.GetRoleplay().IsWorking)
                {
                    User.UnIdle();
                }
            }
            else
            {
                User.UnIdle();
            }

            User.SendNameColourPacket();
            if (Session.GetRoleplay() != null)
            {
                if (User.GetClient().GetRoleplay().IsWorking&& HabboHotel.Groups.GroupManager.HasJobCommand(Session, "guide"))
                {
                    if (User.GetClient().GetHabbo().Translating)
                    {
                        string LG1 = User.GetClient().GetHabbo().FromLanguage.ToLower();
                        string LG2 = User.GetClient().GetHabbo().ToLanguage.ToLower();

                        User.GetClient().SendMessage(new WhisperComposer(User.VirtualId, PlusEnvironment.TranslateText(Message, LG1 + "|" + LG2) + " [" + LG1.ToUpper() + " -> " + LG2.ToUpper() + "]", 0, 37));
                    }
                    else
                    {
                        User.GetClient().SendMessage(new WhisperComposer(User.VirtualId, Message, 0, 37));
                    }
                }
                else
                {
                    if (User.GetClient().GetHabbo().Translating)
                    {
                        string LG1 = User.GetClient().GetHabbo().FromLanguage.ToLower();
                        string LG2 = User.GetClient().GetHabbo().ToLanguage.ToLower();

                        User.GetClient().SendMessage(new WhisperComposer(User.VirtualId, PlusEnvironment.TranslateText(Message, LG1 + "|" + LG2) + " [" + LG1.ToUpper() + " -> " + LG2.ToUpper() + "]", 0, User.LastBubble));
                    }
                    else
                    {
                        User.GetClient().SendMessage(new WhisperComposer(User.VirtualId, Message, 0, User.LastBubble));
                    }
                }
            }
            else
            {
                if (User.GetClient().GetHabbo().Translating)
                {
                    string LG1 = User.GetClient().GetHabbo().FromLanguage.ToLower();
                    string LG2 = User.GetClient().GetHabbo().ToLanguage.ToLower();

                    User.GetClient().SendMessage(new WhisperComposer(User.VirtualId, PlusEnvironment.TranslateText(Message, LG1 + "|" + LG2) + " [" + LG1.ToUpper() + " -> " + LG2.ToUpper() + "]", 0, User.LastBubble));
                }
                else
                {
                    User.GetClient().SendMessage(new WhisperComposer(User.VirtualId, Message, 0, User.LastBubble));
                }
            }

            if (User2 != null && !User2.IsBot && User2.UserId != User.UserId)
            {
                if (!User2.GetClient().GetHabbo().MutedUsers.Contains(Session.GetHabbo().Id))
                {
                    if (User.GetClient().GetHabbo().Translating)
                    {
                        string LG1 = User.GetClient().GetHabbo().FromLanguage.ToLower();
                        string LG2 = User.GetClient().GetHabbo().ToLanguage.ToLower();

                        User2.GetClient().SendMessage(new WhisperComposer(User.VirtualId, PlusEnvironment.TranslateText(Message, LG1 + "|" + LG2) + " [" + LG1.ToUpper() + " -> " + LG2.ToUpper() + "]", 0, User.LastBubble));
                    }
                    else
                    {
                        User2.GetClient().SendMessage(new WhisperComposer(User.VirtualId, Message, 0, User.LastBubble));
                    }
                }
            }

            List <RoomUser> ToNotify = Room.GetRoomUserManager().GetRoomUserBySpecialRights();

            if (ToNotify.Count > 0)
            {
                foreach (RoomUser user in ToNotify)
                {
                    if (user != null && user.HabboId != User2.HabboId && user.HabboId != User.HabboId)
                    {
                        if (user.GetClient() != null && user.GetClient().GetHabbo() != null && !user.GetClient().GetHabbo().IgnorePublicWhispers)
                        {
                            if (User.GetClient().GetHabbo().Translating)
                            {
                                string LG1 = User.GetClient().GetHabbo().FromLanguage.ToLower();
                                string LG2 = User.GetClient().GetHabbo().ToLanguage.ToLower();

                                user.GetClient().SendMessage(new WhisperComposer(User.VirtualId, "[Sussurro para " + ToUser + "] " + PlusEnvironment.TranslateText(Message, LG1 + "|" + LG2) + " [" + LG1.ToUpper() + " -> " + LG2.ToUpper() + "]", 0, User.LastBubble));
                            }
                            else
                            {
                                user.GetClient().SendMessage(new WhisperComposer(User.VirtualId, "[Sussurro para " + ToUser + "] " + Message, 0, User.LastBubble));
                            }
                        }
                    }
                }
            }
            User.SendNamePacket();
        }
Ejemplo n.º 4
0
        /// <summary>
        /// Generates a shout message based on paramter session
        /// </summary>
        /// <param name="Session"></param>
        /// <param name="Speech"></param>
        /// <param name="Bubble"></param>
        public static void Shout(GameClient Session, string Speech, int Bubble = 0)
        {
            Room     Room = null;
            RoomUser User = null;

            if (Speech.StartsWith("*"))
            {
                Speech = "" + Char.ToLowerInvariant(Speech[1]) + Speech.Substring(2);
            }

            if (Session == null || Session.GetHabbo() == null || Session.GetRoleplay() == null || Session.GetRoomUser() == null)
            {
                return;
            }

            Room = Session.GetHabbo().CurrentRoom;
            User = Session.GetRoomUser();

            if (User != null)
            {
                if (User.GetClient() != null && User.GetClient().GetHabbo() != null)
                {
                    if (Room != null)
                    {
                        if (!Room.TutorialEnabled)
                        {
                            User.SendNameColourPacket();
                            User.SendMeCommandPacket();

                            foreach (RoomUser roomUser in Room.GetRoomUserManager().GetRoomUsers())
                            {
                                if (roomUser == null || roomUser.IsBot)
                                {
                                    continue;
                                }

                                if (roomUser.GetClient() == null || roomUser.GetClient().GetConnection() == null)
                                {
                                    continue;
                                }

                                if (User.GetClient().GetRoleplay().Invisible)
                                {
                                    if (User.GetClient().GetHabbo().Username != roomUser.GetClient().GetHabbo().Username&& !roomUser.GetClient().GetRoleplay().Invisible)
                                    {
                                        continue;
                                    }
                                }

                                roomUser.GetClient().SendMessage(new ShoutComposer(User.VirtualId, Speech, 0, Bubble));
                            }
                        }
                        else
                        {
                            User.SendNameColourPacket();
                            User.SendMeCommandPacket();

                            Session.SendMessage(new ShoutComposer(User.VirtualId, Speech, 0, Bubble));
                        }
                    }
                }
                User.SendNamePacket();
            }
        }
Ejemplo n.º 5
0
        public void Execute(GameClients.GameClient Session, Rooms.Room Room, string[] Params)
        {
            if (Params.Length == 1)
            {
                Session.SendWhisper("Opa, digite um número 1-189! Para ver a lista de gravações emoji :emoji lista");
                return;
            }
            string emoji = Params[1];

            if (emoji.Equals("lista"))
            {
                ServerPacket notif = new ServerPacket(ServerPacketHeader.NuxAlertMessageComposer);
                notif.WriteString("habbopages/chat/emoji.txt");
                Session.SendMessage(notif);
            }
            else
            {
                int  emojiNum;
                bool isNumeric = int.TryParse(emoji, out emojiNum);
                if (isNumeric)
                {
                    switch (emojiNum)
                    {
                    default:
                        bool isValid = true;
                        if (emojiNum < 1)
                        {
                            isValid = false;
                        }

                        if (emojiNum > 189 && Session.GetHabbo().Rank < 6)
                        {
                            isValid = false;
                        }

                        // Comando editaveu abaixo mais cuidado pra não faze merda
                        if (isValid)
                        {
                            string   Username;
                            RoomUser TargetUser = Session.GetHabbo().CurrentRoom.GetRoomUserManager().GetRoomUserByHabbo(Session.GetHabbo().Username);
                            if (emojiNum < 10)
                            {
                                Username = "******" + emojiNum + ".png' height='20' width='20'><br>    >";
                            }
                            else
                            {
                                Username = "******" + emojiNum + ".png' height='20' width='20'><br>    >";
                            }
                            if (Room != null)
                            {
                                Room.SendMessage(new UserNameChangeComposer(Session.GetHabbo().CurrentRoomId, TargetUser.VirtualId, Username));
                            }

                            string Message = " ";
                            Room.SendMessage(new ChatComposer(TargetUser.VirtualId, Message, 0, TargetUser.LastBubble));
                            TargetUser.SendNamePacket();
                        }
                        else
                        {
                            Session.SendWhisper("Emoji inválido, deve ser 1-189 número. Para ver a lista de digite escreve: ':emoji lista'");
                        }

                        break;
                    }
                }
                else
                {
                    Session.SendWhisper("Emoji inválido, deve ser 1-189 número. Para ver a lista de Emoji digite ':emoji lista'");
                }
            }
        }