using System; using System.Collections.Generic; using System.Text; using Uber.HabboHotel.Items; using Uber.HabboHotel.GameClients; using Uber.Messages; using Uber.HabboHotel.Rooms; namespace Uber.HabboHotel.Misc { class ChatCommandHandler { public static Boolean Parse(GameClient Session, string Input) { string[] Params = Input.Split(' '); string TargetUser = null; GameClient TargetClient = null; Room TargetRoom = null; RoomUser TargetRoomUser = null; try { switch (Params[0].ToLower()) { #region Debugging/Development case "update_inventory": if (Session.GetHabbo().HasFuse("fuse_admin")) { Session.GetHabbo().GetInventoryComponent().UpdateItems(true); return true; } return false; case "update_bots": if (Session.GetHabbo().HasFuse("fuse_admin")) { UberEnvironment.GetGame().GetBotManager().LoadBots(); return true; } return false; case "update_catalog": if (Session.GetHabbo().HasFuse("fuse_admin")) { UberEnvironment.GetGame().GetCatalog().Initialize(); UberEnvironment.GetGame().GetClientManager().BroadcastMessage(new ServerMessage(441)); return true; } return false; case "idletime": if (Session.GetHabbo().HasFuse("fuse_admin")) { TargetRoom = UberEnvironment.GetGame().GetRoomManager().GetRoom(Session.GetHabbo().CurrentRoomId); TargetRoomUser = TargetRoom.GetRoomUserByHabbo(Session.GetHabbo().Id); TargetRoomUser.IdleTime = 600; return true; } return false; case "t": if (Session.GetHabbo().HasFuse("fuse_admin")) { TargetRoom = UberEnvironment.GetGame().GetRoomManager().GetRoom(Session.GetHabbo().CurrentRoomId); if (TargetRoom == null) { return false; } TargetRoomUser = TargetRoom.GetRoomUserByHabbo(Session.GetHabbo().Id); if (TargetRoomUser == null) { return false; } Session.SendNotif("X: " + TargetRoomUser.X + " - Y: " + TargetRoomUser.Y + " - Z: " + TargetRoomUser.Z + " - Rot: " + TargetRoomUser.RotBody); return true; } return false; case "override": if (Session.GetHabbo().HasFuse("fuse_admin")) { TargetRoom = UberEnvironment.GetGame().GetRoomManager().GetRoom(Session.GetHabbo().CurrentRoomId); if (TargetRoom == null) { return false; } TargetRoomUser = TargetRoom.GetRoomUserByHabbo(Session.GetHabbo().Id); if (TargetRoomUser == null) { return false; } if (TargetRoomUser.AllowOverride) { TargetRoomUser.AllowOverride = false; Session.SendNotif("Walking override disabled."); } else { TargetRoomUser.AllowOverride = true; Session.SendNotif("Walking override enabled."); } return true; } return false; case "drink": if (Session.GetHabbo().HasFuse("fuse_admin")) { TargetRoom = UberEnvironment.GetGame().GetRoomManager().GetRoom(Session.GetHabbo().CurrentRoomId); if (TargetRoom == null) { return false; } TargetRoomUser = TargetRoom.GetRoomUserByHabbo(Session.GetHabbo().Id); if (TargetRoomUser == null) { return false; } try { TargetRoomUser.CarryItem(int.Parse(Params[1])); } catch (Exception) { } return true; } return false; case "update_defs": if (Session.GetHabbo().HasFuse("fuse_admin")) { UberEnvironment.GetGame().GetItemManager().LoadItems(); Session.SendNotif("Item defenitions reloaded successfully."); return true; } return false; #endregion #region General Commands case "pickall": TargetRoom = UberEnvironment.GetGame().GetRoomManager().GetRoom(Session.GetHabbo().CurrentRoomId); if (TargetRoom != null && TargetRoom.CheckRights(Session, true)) { List ToRemove = new List(); lock (TargetRoom.Items) { ToRemove.AddRange(TargetRoom.Items); } foreach (RoomItem Item in ToRemove) { TargetRoom.RemoveFurniture(Session, Item.Id); Session.GetHabbo().GetInventoryComponent().AddItem(Item.Id, Item.BaseItem, Item.ExtraData); } Session.GetHabbo().GetInventoryComponent().UpdateItems(true); return true; } return false; case "commands": String allowedCommands = "Your Commands:\r"; if (Session.GetHabbo().Rank >= 7) { allowedCommands += ":update_inventory\r" + ":update_bots\r" + ":update_catalog\r" + ":idletime - Lag?\r" + ":t - Debugging\r" + ":refresh_publics\r" + ":unload \r" + ":coins/:credits \r" + ":update_defs\r" + ":givebadge \r" + ":bustest - For teh lulz\r"; } if (Session.GetHabbo().Rank >= 6) { allowedCommands += ":override - Walking Override\r" + ":handitem/:food/:eat/:drink \r" + ":ha \r" + ":superban \r" + ":roomkick \r"; } if (Session.GetHabbo().Rank >= 5) { allowedCommands += ":ban