示例#1
0
        public void Parse(HabboHotel.GameClients.GameClient Session, Messages.ClientMessage Packet)
        {
            string CipherPublickey = Packet.PopFixedString();

            if (!SilverwaveEnvironment.globalCrypto.InitializeRC4ToSession(Session, CipherPublickey))
            {
                Session.SendNotif("There was an error logging you in, please try again!");
                return;
            }

            Session.SendMessage(new SecretKeyComposer(SilverwaveEnvironment.globalCrypto.PublicKey.ToString()));
        }
示例#2
0
 public void Parse(HabboHotel.GameClients.GameClient Session, Messages.ClientMessage Packet)
 {
     if (Session.GetHabbo() == null)
     {
         Session.tryLogin(Packet.PopFixedString());
         if (Session != null)
             Session.TimePingedReceived = DateTime.Now;
     }
     else
     {
         Session.SendNotif("This user is already logged in.");
     }
 }
 public void Parse(HabboHotel.GameClients.GameClient Session, Messages.ClientMessage Packet)
 {
     if (SilverwaveEnvironment.GetDBConfig().DBData["gifts_enabled"] != "1")
     {
         Session.SendNotif("The hotel managers have disabled gifting");
         return;
     }
     int PageId = Packet.PopWiredInt32();
     int ItemId = Packet.PopWiredInt32();
     string ExtraData = Packet.PopFixedString();
     string GiftUser = Packet.PopFixedString();
     string GiftMessage = Packet.PopFixedString();
     int SpriteId = Packet.PopWiredInt32();
     int Lazo = Packet.PopWiredInt32();
     int Color = Packet.PopWiredInt32();
     bool dnow = Packet.PopWiredBoolean();
     SilverwaveEnvironment.GetGame().GetCatalog().HandlePurchase(Session, PageId, ItemId, ExtraData, 1, true, GiftUser, GiftMessage, SpriteId, Lazo, Color, dnow, 0);
 }
示例#4
0
        public void Parse(HabboHotel.GameClients.GameClient Session, Messages.ClientMessage Packet)
        {
            if (!Session.GetHabbo().InRoom)
            {
                return;
            }

            Room Room = Session.GetHabbo().CurrentRoom;

            string Params = Packet.PopFixedString();
            string ToUser = Params.Split(' ')[0];
            string Message = Params.Substring(ToUser.Length + 1);
            int Bubble = Packet.PopWiredInt32();

            RoomUser User = Room.GetRoomUserManager().GetRoomUserByHabbo(Session.GetHabbo().Id);
            RoomUser User2 = Room.GetRoomUserManager().GetRoomUserByHabbo(ToUser);

            Message = LanguageLocale.FilterSwearwords(Message);

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

            if (Session.GetHabbo().Rank < 4 && Room.CheckMute(Session))
            {
                Session.SendNotif("You are unable to whisper as you are muted");
                return;
            }

            bool ContainsBanned = LanguageLocale.CheckForBannedPhrases(Message) && Session.GetHabbo().Rank < 4;
            //Room.AddChatlog(Session.GetHabbo().Id, "<Whisper to " + ToUser + ">: " + Message, ContainsBanned);

            if (ContainsBanned)
            {
                Session.GetHabbo().BannedPhraseCount++;
                if (Session.GetHabbo().BannedPhraseCount >= Convert.ToInt32(SilverwaveEnvironment.GetDBConfig().DBData["spambans.limit"]))
                {
                    if (!String.IsNullOrWhiteSpace(Message))
                    {
                        SilverwaveEnvironment.GetGame().GetBanManager().BanUser(Session, "System", 788922000, "Spamming the following: " + Message, true, false);
                        return;
                    }
                }
                return;
            }

            int Colour = 0;

            int MuteTime;
            if (User.IncrementAndCheckFlood(out MuteTime))
            {
                Session.SendMessage(new FloodControlComposer(MuteTime));
                return;
            }

            SilverwaveEnvironment.GetGame().GetQuestManager().ProgressUserQuest(Session, HabboHotel.Quests.QuestType.SOCIAL_CHAT);

            Colour = User.CheckChatColour(Bubble);

            User.UnIdle();
            User.GetClient().SendMessage(new WhisperComposer(User, Message, 0, Colour));

            if (User2 != null && !User2.IsBot && User2.userID != User.userID)
            {
                if (User2.GetClient().GetHabbo().DisableWhisper)
                {
                    User.GetClient().SendWhisper("This user does not allow whispers");
                    return;
                }
                else
                {
                    if (!User2.GetClient().GetHabbo().MutedUsers.Contains(Session.GetHabbo().Id))
                    {
                        User2.GetClient().SendMessage(new WhisperComposer(User, Message, 0, Colour));
                    }
                }
            }
            List<RoomUser> ToNotify = Room.GetRoomUserManager().GetRoomUserByRank(4);

            if (ToNotify.Count > 0)
            {
                foreach (RoomUser user in ToNotify)
                {
                    if (user != null)
                    {
                        if (user.HabboId != User2.HabboId && user.HabboId != User.HabboId)
                        {
                            if (user.GetClient() != null)
                            {
                                user.GetClient().SendMessage(new WhisperComposer(User, LanguageLocale.GetValue("moderation.whisper") + ToUser + ": " + Message, 0, Colour));
                            }
                        }
                    }
                }
            }
        }
示例#5
0
        public void Parse(HabboHotel.GameClients.GameClient Session, Messages.ClientMessage Packet)
        {
            if (!Session.GetHabbo().InRoom)
            {
                return;
            }

            Room Room = Session.GetHabbo().CurrentRoom;
            RoomUser User = Room.GetRoomUserManager().GetRoomUserByHabbo(Session.GetHabbo().Id);
            string Message = Packet.PopFixedString();
            int Colour = Packet.PopWiredInt32();
            int CountUselessSulakeStuff = Packet.PopWiredInt32();

            if (User == null)
            {
                return;
            }

            if (Session.GetHabbo().Rank < 4 && Room.CheckMute(Session))
            {
                Session.SendNotif("You are unable to talk as you are muted");
                return;
            }

            if (Message.StartsWith(":"))
            {
                Colour = User.LastBubble;
            }
            else
            {
                User.LastBubble = Colour;
            }

            if (Message.StartsWith(":") && ChatCommandHandler.Parse(Session, Message))
            {
                return;
            }

            bool ContainsBanned = LanguageLocale.CheckForBannedPhrases(Message) && Session.GetHabbo().Rank < 4;
            //Room.AddChatlog(Session.GetHabbo().Id, Message, ContainsBanned);

            if (ContainsBanned)
            {
                Session.GetHabbo().BannedPhraseCount++;
                if (Session.GetHabbo().BannedPhraseCount >= Convert.ToInt32(SilverwaveEnvironment.GetDBConfig().DBData["spambans.limit"]))
                {
                    if (!String.IsNullOrWhiteSpace(Message))
                    {
                            SilverwaveEnvironment.GetGame().GetBanManager().BanUser(Session, "System", 788922000, "Spamming the following: " + Message, true, false);
                            return;
                    }
                }
                return;
            }

            Message = LanguageLocale.FilterSwearwords(Message);
            int MuteTime;
            if (User.IncrementAndCheckFlood(out MuteTime))
            {
                Session.SendMessage(new FloodControlComposer(MuteTime));
                return;
            }

            SilverwaveEnvironment.GetGame().GetQuestManager().ProgressUserQuest(Session, HabboHotel.Quests.QuestType.SOCIAL_CHAT);

            User.UnIdle();
            //User.OnChat(Colour, Message, false);
            User.Chat(Session, Message, false,CountUselessSulakeStuff,Colour);
        }