Esempio n. 1
0
 internal void QueueRoomKick(RoomKick kick)
 {
     lock (roomKick.SyncRoot)
     {
         roomKick.Enqueue(kick);
     }
 }
Esempio n. 2
0
        public void Execute(GameClient Session, Room Room, RoomUser UserRoom, string[] Params)
        {
            Room currentRoom = Session.GetHabbo().CurrentRoom;
            Room room        = ButterflyEnvironment.GetGame().GetRoomManager().GetRoom(Session.GetHabbo().CurrentRoomId);

            if (room == null)
            {
                return;
            }
            RoomKick        kick    = new RoomKick("Tu as été exclu de cet appart.", Session.GetHabbo().Id);
            List <RoomUser> local_1 = new List <RoomUser>();

            foreach (RoomUser user in room.GetRoomUserManager().GetUserList().ToList())
            {
                if (!user.IsBot && !user.GetClient().GetHabbo().HasFuse("fuse_no_kick") && kick.SaufId != user.GetClient().GetHabbo().Id)
                {
                    if (kick.allert.Length > 0)
                    {
                        user.GetClient().SendNotification(kick.allert);
                    }
                    local_1.Add(user);
                }
            }
            foreach (RoomUser item_1 in local_1)
            {
                if (item_1 == null || item_1.GetClient() == null)
                {
                    continue;
                }
                room.GetRoomUserManager().RemoveUserFromRoom(item_1.GetClient(), true, false);
            }
        }
Esempio n. 3
0
 private void WorkRoomKickQueue()
 {
     if (this.roomKick.Count > 0)
     {
         lock (this.roomKick.SyncRoot)
         {
             while (this.roomKick.Count > 0)
             {
                 RoomKick        roomKick = (RoomKick)this.roomKick.Dequeue();
                 List <RoomUser> list     = new List <RoomUser>();
                 foreach (RoomUser current in this.roomUserManager.UserList.Values)
                 {
                     if (!current.IsBot && (ulong)current.GetClient().GetHabbo().Rank < (ulong)((long)roomKick.minrank))
                     {
                         if (roomKick.allert.Length > 0)
                         {
                             current.GetClient().SendNotif("You have been kicked by an moderator: " + roomKick.allert);
                         }
                         list.Add(current);
                     }
                 }
                 foreach (RoomUser current2 in list)
                 {
                     this.GetRoomUserManager().RemoveUserFromRoom(current2.GetClient(), true, false);
                     current2.GetClient().CurrentRoomUserID = -1;
                 }
             }
         }
     }
 }
Esempio n. 4
0
        public override void Execute(GameClient session, string[] pms)
        {
            var room = session.GetHabbo().CurrentRoom;

            var alert = string.Join(" ", pms);
            var kick = new RoomKick(alert, (int)session.GetHabbo().Rank);
            AzureEmulator.GetGame()
                .GetModerationTool().LogStaffEntry(session.GetHabbo().UserName, string.Empty,
                    "Room kick", "Kicked the whole room");
            room.QueueRoomKick(kick);
        }
Esempio n. 5
0
        public override bool Execute(GameClient session, string[] pms)
        {
            Room room = session.GetHabbo().CurrentRoom;

            string   alert = string.Join(" ", pms);
            RoomKick kick  = new RoomKick(alert, (int)session.GetHabbo().Rank);

            Yupi.GetGame()
            .GetModerationTool().LogStaffEntry(session.GetHabbo().UserName, string.Empty,
                                               "Room kick", "Kicked the whole room");
            room.QueueRoomKick(kick);

            return(true);
        }
Esempio n. 6
0
        private void WorkRoomKickQueue()
        {
            if (roomKick.Count > 0)
            {
                lock (roomKick.SyncRoot)
                {
                    while (roomKick.Count > 0)
                    {
                        RoomKick kick = (RoomKick)roomKick.Dequeue();


                        List <RoomUser> roomUsersToRemove = new List <RoomUser>();
                        foreach (RoomUser RoomUser in roomUserManager.UserList.Values)
                        {
                            if (RoomUser.IsBot)
                            {
                                continue;
                            }
                            if (RoomUser.GetClient().GetHabbo().Rank >= kick.minrank)
                            {
                                continue;
                            }
                            if (kick.allert.Length > 0)
                            {
                                RoomUser.GetClient().SendNotif(LanguageLocale.GetValue("roomkick.allert") + kick.allert);
                            }

                            roomUsersToRemove.Add(RoomUser);
                        }

                        foreach (RoomUser user in roomUsersToRemove)
                        {
                            GetRoomUserManager().RemoveUserFromRoom(user.GetClient(), true, false);
                            user.GetClient().CurrentRoomUserID = -1;
                        }
                    }
                }
            }
        }
Esempio n. 7
0
        public void Execute(GameClient Session, Room Room, RoomUser UserRoom, string[] Params)
        {
            Room currentRoom = Session.GetHabbo().CurrentRoom;
            Room room        = ButterflyEnvironment.GetGame().GetRoomManager().GetRoom(Session.GetHabbo().CurrentRoomId);

            if (room == null)
            {
                return;
            }
            string message = CommandManager.MergeParams(Params, 1);

            if (Session.Antipub(message, "<CMD>"))
            {
                return;
            }
            RoomKick        kick    = new RoomKick(message, 0);
            List <RoomUser> local_1 = new List <RoomUser>();

            foreach (RoomUser item_0 in currentRoom.GetRoomUserManager().GetUserList().ToList())
            {
                if (item_0 != null && !item_0.IsBot && !item_0.GetClient().GetHabbo().HasFuse("fuse_no_kick") && kick.SaufId != item_0.GetClient().GetHabbo().Id)
                {
                    if (kick.allert.Length > 0)
                    {
                        item_0.GetClient().SendNotification(kick.allert);
                    }
                    local_1.Add(item_0);
                }
            }
            foreach (RoomUser item_1 in local_1)
            {
                if (item_1 == null || item_1.GetClient() == null)
                {
                    continue;
                }
                currentRoom.GetRoomUserManager().RemoveUserFromRoom(item_1.GetClient(), true, false);
            }
        }
Esempio n. 8
0
 /// <summary>
 ///     Queues the room kick.
 /// </summary>
 /// <param name="kick">The kick.</param>
 internal void QueueRoomKick(RoomKick kick)
 {
     lock (_roomKick.SyncRoot)
     {
         _roomKick.Enqueue(kick);
     }
 }