public void Parse(HabboHotel.GameClients.GameClient Session, ClientPacket Packet)
        {
            Room Room = Session.GetHabbo().CurrentRoom;

            if (Room == null)
            {
                return;
            }

            if (((Room.WhoCanBan == 0 && !Room.CheckRights(Session, true) && Room.Group == null) || (Room.WhoCanBan == 1 && !Room.CheckRights(Session)) && Room.Group == null) || (Room.Group != null && !Room.CheckRights(Session, false, true)))
            {
                return;
            }

            int    UserId = Packet.PopInt();
            int    RoomId = Packet.PopInt();
            string R      = Packet.PopString();

            RoomUser User = Room.GetRoomUserManager().GetRoomUserByHabbo(Convert.ToInt32(UserId));

            if (User == null || User.IsBot)
            {
                return;
            }

            if (Room.OwnerId == UserId)
            {
                return;
            }

            if (User.GetClient().GetHabbo().GetPermissions().HasRight("mod_tool"))
            {
                return;
            }

            long Time = 0;

            if (R.ToLower().Contains("hour"))
            {
                Time = 3600;
            }
            else if (R.ToLower().Contains("day"))
            {
                Time = 86400;
            }
            else if (R.ToLower().Contains("perm"))
            {
                Time = 78892200;
            }

            Room.AddBan(UserId, Time);
            Room.GetRoomUserManager().RemoveUserFromRoom(User.GetClient(), true, true);

            NeonEnvironment.GetGame().GetAchievementManager().ProgressAchievement(Session, "ACH_SelfModBanSeen", 1);
        }
Example #2
0
        public void Parse(GameClient Session, ClientPacket Packet)
        {
            if (Session.GetHabbo() == null)
            {
                return;
            }

            Room room = ButterflyEnvironment.GetGame().GetRoomManager().GetRoom(Session.GetHabbo().CurrentRoomId);

            if (room == null || (room.RoomData.BanFuse != 1 || !room.CheckRights(Session)) && !room.CheckRights(Session, true))
            {
                return;
            }
            int      pId             = Packet.PopInt();
            int      num             = Packet.PopInt();
            string   str             = Packet.PopString();
            RoomUser roomUserByHabbo = room.GetRoomUserManager().GetRoomUserByHabboId(pId);
            int      Time;

            if (str.Equals("RWUAM_BAN_USER_HOUR"))
            {
                Time = 3600;
            }
            else if (str.Equals("RWUAM_BAN_USER_DAY"))
            {
                Time = 86400;
            }
            else
            {
                if (!str.Equals("RWUAM_BAN_USER_PERM"))
                {
                    return;
                }
                Time = 429496729;
            }
            if (roomUserByHabbo == null || roomUserByHabbo.IsBot || (room.CheckRights(roomUserByHabbo.GetClient(), true) || roomUserByHabbo.GetClient().GetHabbo().HasFuse("fuse_mod") || roomUserByHabbo.GetClient().GetHabbo().HasFuse("fuse_no_kick")))
            {
                return;
            }

            room.AddBan(pId, Time);
            room.GetRoomUserManager().RemoveUserFromRoom(roomUserByHabbo.GetClient(), true, true);
        }
Example #3
0
        public void ApplySanction(GameClient Session, int ReportedUser)
        {
            if (ReportedUser == 0)
            {
                return;
            }

            Habbo UserReport = ButterflyEnvironment.GetHabboById(ReportedUser);

            if (UserReport == null)
            {
                return;
            }

            Session.GetHabbo().GetMessenger().DestroyFriendship(UserReport.Id);

            ServerPacket Response = new ServerPacket(ServerPacketHeader.IgnoreStatusMessageComposer);

            Response.WriteInteger(1);
            Response.WriteString(UserReport.Username);
            Session.SendPacket(Response);

            Room room = ButterflyEnvironment.GetGame().GetRoomManager().GetRoom(Session.GetHabbo().CurrentRoomId);

            if (room == null || (room.RoomData.BanFuse != 1 || !room.CheckRights(Session)) && !room.CheckRights(Session, true))
            {
                return;
            }

            RoomUser roomUserByHabbo = room.GetRoomUserManager().GetRoomUserByHabboId(UserReport.Id);

            if (roomUserByHabbo == null || roomUserByHabbo.IsBot || (room.CheckRights(roomUserByHabbo.GetClient(), true) || roomUserByHabbo.GetClient().GetHabbo().HasFuse("fuse_mod") || roomUserByHabbo.GetClient().GetHabbo().HasFuse("fuse_no_kick")))
            {
                return;
            }

            room.AddBan(UserReport.Id, 429496729);
            room.GetRoomUserManager().RemoveUserFromRoom(roomUserByHabbo.GetClient(), true, true);
        }