internal void QueueRoomKick(RoomKick kick) { lock (roomKick.SyncRoot) { roomKick.Enqueue(kick); } }
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); } }
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; } } } } }
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); }
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); }
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; } } } } }
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); } }
/// <summary> /// Queues the room kick. /// </summary> /// <param name="kick">The kick.</param> internal void QueueRoomKick(RoomKick kick) { lock (_roomKick.SyncRoot) { _roomKick.Enqueue(kick); } }