示例#1
0
		internal Trade(uint UserOneId, uint UserTwoId, uint RoomId)
		{
			this.oneId = UserOneId;
			this.twoId = UserTwoId;
			this.Users = new TradeUser[2];
			this.Users[0] = new TradeUser(UserOneId, RoomId);
			this.Users[1] = new TradeUser(UserTwoId, RoomId);
			this.TradeStage = 1;
			this.RoomId = RoomId;
			TradeUser[] users = this.Users;
			for (int i = 0; i < users.Length; i++)
			{
				TradeUser tradeUser = users[i];
				if (!tradeUser.GetRoomUser().Statusses.ContainsKey("trd"))
				{
					tradeUser.GetRoomUser().AddStatus("trd", "");
					tradeUser.GetRoomUser().UpdateNeeded = true;
				}
			}
			ServerMessage serverMessage = new ServerMessage(Outgoing.TradeStartMessageComposer);
			serverMessage.AppendUInt(UserOneId);
			serverMessage.AppendInt32(1);
			serverMessage.AppendUInt(UserTwoId);
			serverMessage.AppendInt32(1);
			this.SendMessageToUsers(serverMessage);
		}
示例#2
0
 internal ServerMessage ForumDataMessage(uint RequesterId)
 {
     ServerMessage Message = new ServerMessage(Outgoing.GroupForumDataMessageComposer);
     Message.AppendUInt(this.Id);
     Message.AppendString(this.Name);//nombre del foro
     Message.AppendString(this.Description);
     Message.AppendString(this.Badge);
     Message.AppendInt32(0);// nosé
     Message.AppendInt32(0);
     Message.AppendUInt(this.ForumMessagesCount);//Mensajes
     Message.AppendInt32(0);//Mensajes no leídos
     Message.AppendInt32(0);//mensajes?
     Message.AppendUInt(this.ForumLastPosterId);//Id de quien publicó el último mensaje
     Message.AppendString(this.ForumLastPosterName);//Quién publicó eL último mensaje.
     Message.AppendInt32(this.ForumLastPostTime);//hace cuantos segundos se publicó
     Message.AppendInt32(0);
     Message.AppendInt32(1);
     Message.AppendInt32(1);
     Message.AppendInt32(2);
     Message.AppendString(""); // (si no está vacío: Acceso denegado para ver el foro)
     Message.AppendString((this.Members.ContainsKey(RequesterId) ? "" : "not_member"));
     Message.AppendString((this.Members.ContainsKey(RequesterId) ? "" : "not_member"));
     Message.AppendString((this.Admins.ContainsKey(RequesterId) ? "" : "not_admin"));
     Message.AppendString(""); // 
     Message.AppendBoolean(false);
     Message.AppendBoolean(false);
     return Message;
 }
		internal static ServerMessage Compose(GameClient Session, Quest Quest)
		{
			int amountOfQuestsInCategory = CyberEnvironment.GetGame().GetQuestManager().GetAmountOfQuestsInCategory(Quest.Category);
			int i = (Quest == null) ? amountOfQuestsInCategory : Quest.Number;
			int i2 = (Quest == null) ? 0 : Session.GetHabbo().GetQuestProgress(Quest.Id);
			ServerMessage serverMessage = new ServerMessage(Outgoing.QuestCompletedMessageComposer);
			serverMessage.AppendString(Quest.Category);
			serverMessage.AppendInt32(i);
			serverMessage.AppendInt32(Quest.Name.Contains("xmas2012") ? 1 : amountOfQuestsInCategory);
			serverMessage.AppendInt32((Quest == null) ? 3 : Quest.RewardType);
			serverMessage.AppendUInt((Quest == null) ? 0u : Quest.Id);
			serverMessage.AppendBoolean(Quest != null && Session.GetHabbo().CurrentQuestId == Quest.Id);
			serverMessage.AppendString((Quest == null) ? string.Empty : Quest.ActionName);
			serverMessage.AppendString((Quest == null) ? string.Empty : Quest.DataBit);
			serverMessage.AppendInt32((Quest == null) ? 0 : Quest.Reward);
			serverMessage.AppendString((Quest == null) ? string.Empty : Quest.Name);
			serverMessage.AppendInt32(i2);
			serverMessage.AppendUInt((Quest == null) ? 0u : Quest.GoalData);
			serverMessage.AppendInt32((Quest == null) ? 0 : Quest.TimeUnlock);
			serverMessage.AppendString("");
			serverMessage.AppendString("");
			serverMessage.AppendBoolean(true);
			serverMessage.AppendBoolean(true);
			return serverMessage;
		}
示例#4
0
		internal static ServerMessage Compose(int PlaylistCapacity, List<SongInstance> Playlist)
		{
			ServerMessage serverMessage = new ServerMessage(Outgoing.JukeboxPlaylistMessageComposer);
			serverMessage.AppendInt32(PlaylistCapacity);
			serverMessage.AppendInt32(Playlist.Count);

			foreach (SongInstance current in Playlist)
			{
				serverMessage.AppendUInt(current.DiskItem.itemID);
				serverMessage.AppendUInt(current.SongData.Id);
			}
			return serverMessage;
		}
示例#5
0
		internal static void SerializeQuest(ServerMessage Message, GameClient Session, Quest Quest, string Category)
		{
			if (Message == null || Session == null)
			{
				return;
			}
			int amountOfQuestsInCategory = CyberEnvironment.GetGame().GetQuestManager().GetAmountOfQuestsInCategory(Category);
			checked
			{
				int num = (Quest == null) ? amountOfQuestsInCategory : (Quest.Number - 1);
				int num2 = (Quest == null) ? 0 : Session.GetHabbo().GetQuestProgress(Quest.Id);
				if (Quest != null && Quest.IsCompleted(num2))
				{
					num++;
				}
				Message.AppendString(Category);
				Message.AppendInt32((Quest == null) ? 0 : (Quest.Category.Contains("xmas2012") ? 0 : num));
				Message.AppendInt32((Quest == null) ? 0 : (Quest.Category.Contains("xmas2012") ? 0 : amountOfQuestsInCategory));
				Message.AppendInt32((Quest == null) ? 3 : Quest.RewardType);
				Message.AppendUInt((Quest == null) ? 0u : Quest.Id);
				Message.AppendBoolean(Quest != null && Session.GetHabbo().CurrentQuestId == Quest.Id);
				Message.AppendString((Quest == null) ? string.Empty : Quest.ActionName);
				Message.AppendString((Quest == null) ? string.Empty : Quest.DataBit);
				Message.AppendInt32((Quest == null) ? 0 : Quest.Reward);
				Message.AppendString((Quest == null) ? string.Empty : Quest.Name);
				Message.AppendInt32(num2);
				Message.AppendUInt((Quest == null) ? 0u : Quest.GoalData);
				Message.AppendInt32((Quest == null) ? 0 : Quest.TimeUnlock);
				Message.AppendString("");
				Message.AppendString("");
				Message.AppendBoolean(true);
			}
		}
示例#6
0
		internal void Serialize(ServerMessage Request)
		{
			Request.AppendUInt(this.FromUser);
			Request.AppendString(this.mUsername);
			Habbo habboForName = CyberEnvironment.getHabboForName(this.mUsername);
			Request.AppendString((habboForName != null) ? habboForName.Look : "");
		}
示例#7
0
		public static ServerMessage ComposePlayingComposer(uint SongId, int PlaylistItemNumber, int SyncTimestampMs)
		{
			ServerMessage serverMessage = new ServerMessage(Outgoing.JukeboxNowPlayingMessageComposer);
			if (SongId == 0)
			{
				serverMessage.AppendInt32(-1);
				serverMessage.AppendInt32(-1);
				serverMessage.AppendInt32(-1);
				serverMessage.AppendInt32(-1);
				serverMessage.AppendInt32(0);
			}
			else
			{
				serverMessage.AppendUInt(SongId);
				serverMessage.AppendInt32(PlaylistItemNumber);
				serverMessage.AppendUInt(SongId);
				serverMessage.AppendInt32(0);
				serverMessage.AppendInt32(SyncTimestampMs);
			}
			return serverMessage;
		}
示例#8
0
		internal void Searialize(ServerMessage reply)
		{
			reply.AppendUInt(this.userID);
			reply.AppendString(this.username);
			reply.AppendString(this.motto);
			bool b = CyberEnvironment.GetGame().GetClientManager().GetClient(this.userID) != null;
			reply.AppendBoolean(b);
			reply.AppendBoolean(false);
			reply.AppendString(string.Empty);
			reply.AppendInt32(0);
			reply.AppendString(this.look);
			reply.AppendString(this.last_online);
		}
示例#9
0
		internal void SerializeWall(ServerMessage Message, bool Inventory)
		{
			Message.AppendUInt(this.Id);
			Message.AppendString(this.mBaseItem.Type.ToString().ToUpper());
			Message.AppendUInt(this.Id);
			Message.AppendInt32(this.GetBaseItem().SpriteId);

			if (this.GetBaseItem().Name.Contains("a2"))
			{
				Message.AppendInt32(3);
			}
			else
			{
				if (this.GetBaseItem().Name.Contains("wallpaper"))
				{
					Message.AppendInt32(2);
				}
				else
				{
					if (this.GetBaseItem().Name.Contains("landscape"))
					{
						Message.AppendInt32(4);
					}
					else
					{
						Message.AppendInt32(1);
					}
				}
			}
			Message.AppendInt32(0);
			Message.AppendString(this.ExtraData);
			Message.AppendBoolean(this.GetBaseItem().AllowRecycle);
			Message.AppendBoolean(this.GetBaseItem().AllowTrade);
			Message.AppendBoolean(this.GetBaseItem().AllowInventoryStack);
			Message.AppendBoolean(false);
			Message.AppendInt32(-1);
			Message.AppendBoolean(true);
			Message.AppendInt32(-1);
		}
示例#10
0
		public static ServerMessage Compose(List<SongData> Songs)
		{
			ServerMessage serverMessage = new ServerMessage(Outgoing.SongsMessageComposer);
			serverMessage.AppendInt32(Songs.Count);

			foreach (SongData current in Songs)
			{
				serverMessage.AppendUInt(current.Id);
				serverMessage.AppendString(current.Codename);
				serverMessage.AppendString(current.Name);
				serverMessage.AppendString(current.Data);
				serverMessage.AppendInt32(current.LengthMiliseconds);
				serverMessage.AppendString(current.Artist);
			}
			return serverMessage;
		}
 internal static ServerMessage Compose(Achievement Achievement, int Level, int PointReward, int PixelReward)
 {
     ServerMessage serverMessage = new ServerMessage(Outgoing.UnlockAchievementMessageComposer);
     serverMessage.AppendUInt(Achievement.Id);
     serverMessage.AppendInt32(Level);
     serverMessage.AppendInt32(144);
     serverMessage.AppendString(Achievement.GroupName + Level);
     serverMessage.AppendInt32(PointReward);
     serverMessage.AppendInt32(PixelReward);
     serverMessage.AppendInt32(0);
     serverMessage.AppendInt32(10);
     serverMessage.AppendInt32(21);
     serverMessage.AppendString(Level > 1 ? Achievement.GroupName + checked(Level - 1) : string.Empty);
     serverMessage.AppendString(Achievement.Category);
     serverMessage.AppendBoolean(true);
     return serverMessage;
 }
示例#12
0
		public void Serialize(ServerMessage Message, int QuestionNumber)
		{
			Message.AppendUInt(this.Index);
			Message.AppendInt32(QuestionNumber);
			Message.AppendInt32((int)this.AType);
			Message.AppendString(this.Question);
			if (this.AType == PollQuestion.PollAnswerType.Selection || this.AType == PollQuestion.PollAnswerType.RadioSelection)
			{
				Message.AppendInt32(1);
				Message.AppendInt32(this.Answers.Count);
				foreach (string current in this.Answers)
				{
					Message.AppendString(current);
					Message.AppendString(current);
				}
			}
		}
 internal static ServerMessage Compose(Achievement Achievement, int TargetLevel, AchievementLevel TargetLevelData, int TotalLevels, UserAchievement UserData)
 {
     ServerMessage serverMessage = new ServerMessage(Outgoing.AchievementProgressMessageComposer);
     serverMessage.AppendUInt(Achievement.Id);
     serverMessage.AppendInt32(TargetLevel);
     serverMessage.AppendString(Achievement.GroupName + TargetLevel);
     serverMessage.AppendInt32(TargetLevelData.Requirement);
     serverMessage.AppendInt32(TargetLevelData.Requirement);
     serverMessage.AppendInt32(TargetLevelData.RewardPixels);
     serverMessage.AppendInt32(0);
     serverMessage.AppendInt32(UserData != null ? UserData.Progress : 0);
     serverMessage.AppendBoolean(UserData != null && UserData.Level >= TotalLevels);
     serverMessage.AppendString(Achievement.Category);
     serverMessage.AppendString(string.Empty);
     serverMessage.AppendInt32(TotalLevels);
     serverMessage.AppendInt32(0);
     return serverMessage;
 }
        internal static ServerMessage Compose(GameClient Session, List<Achievement> Achievements)
        {
            ServerMessage serverMessage = new ServerMessage(Outgoing.AchievementListMessageComposer);
            serverMessage.AppendInt32(Achievements.Count);
            foreach (Achievement achievement in Achievements)
            {
                UserAchievement achievementData = Session.GetHabbo().GetAchievementData(achievement.GroupName);
                int i = achievementData != null ? checked(achievementData.Level + 1) : 1;
                int count = achievement.Levels.Count;
                if (i > count)
                {
                    i = count;
                }
                AchievementLevel achievementLevel = achievement.Levels[i];
                AchievementLevel oldLevel = (achievement.Levels.ContainsKey(i - 1)) ? achievement.Levels[i - 1] : achievementLevel;

                serverMessage.AppendUInt(achievement.Id);
                serverMessage.AppendInt32(i);
                serverMessage.AppendString(achievement.GroupName + i);
                serverMessage.AppendInt32(oldLevel.Requirement); // Requisito Anterior
                serverMessage.AppendInt32(achievementLevel.Requirement); // Requisito Nuevo
                serverMessage.AppendInt32(achievementLevel.RewardPoints);
                serverMessage.AppendInt32(0);
                serverMessage.AppendInt32(achievementData != null ? achievementData.Progress : 0); // Progreso Total
                if (achievementData == null)
                {
                    serverMessage.AppendBoolean(false);
                }
                else if (achievementData.Level >= count)
                {
                    serverMessage.AppendBoolean(true);
                }
                else
                {
                    serverMessage.AppendBoolean(false); // Terminado
                }
                serverMessage.AppendString(achievement.Category);
                serverMessage.AppendString(string.Empty);
                serverMessage.AppendInt32(count); // Número de niveles
                serverMessage.AppendInt32(0);
            }
            serverMessage.AppendString("");
            return serverMessage;
        }
示例#15
0
		internal List<RoomItem> RemoveAllFurniture(GameClient Session)
		{
			List<RoomItem> list = new List<RoomItem>();
			RoomItem[] array = this.mFloorItems.Values.ToArray<RoomItem>();
			for (int i = 0; i < array.Length; i++)
			{
				RoomItem roomItem = array[i];
				roomItem.Interactor.OnRemove(Session, roomItem);
				ServerMessage serverMessage = new ServerMessage(Outgoing.PickUpFloorItemMessageComposer);
				serverMessage.AppendString(roomItem.Id + string.Empty);
				serverMessage.AppendBoolean(false);
				serverMessage.AppendInt32(0);
				serverMessage.AppendUInt(roomItem.UserID);
				this.room.SendMessage(serverMessage);
				list.Add(roomItem);
			}
			RoomItem[] array2 = this.mWallItems.Values.ToArray<RoomItem>();
			for (int j = 0; j < array2.Length; j++)
			{
				RoomItem roomItem2 = array2[j];
				roomItem2.Interactor.OnRemove(Session, roomItem2);
				ServerMessage serverMessage2 = new ServerMessage(Outgoing.PickUpWallItemMessageComposer);
				serverMessage2.AppendString(roomItem2.Id + string.Empty);
				serverMessage2.AppendUInt(roomItem2.UserID);
				this.room.SendMessage(serverMessage2);
				list.Add(roomItem2);
			}
			this.mWallItems.Clear();
			this.mFloorItems.Clear();
			this.mRemovedItems.Clear();
			this.mMovedItems.Clear();
			this.mAddedItems.Clear();
			this.mRollers.QueueDelegate(new onCycleDoneDelegate(this.ClearRollers));
			using (IQueryAdapter queryreactor = CyberEnvironment.GetDatabaseManager().getQueryReactor())
			{
				queryreactor.runFastQuery("UPDATE items SET room_id='0' WHERE room_id = " + this.room.RoomId);
			}
			this.room.GetGameMap().GenerateMaps(true);
            this.room.GetGameMap().lazyWalkablePoints();
			this.room.GetRoomUserManager().UpdateUserStatusses();
			return list;
		}
示例#16
0
        public bool Parse(string Input)
        {
            if (Input.StartsWith(":"))
            {
                Input = Input.Substring(1);
                string[] Params = Input.Split(new char[] { ' ' });
                switch (Params[0].ToLower())
                {
                    case "commands":
                    case "comandos":
                        if (this.Session.GetHabbo().GotCommand("commands"))
                        {
                            StringBuilder builder = new StringBuilder();
                            builder.Append("Your commands:\n");
                            foreach (DataRow row in this.Commands.Rows)
                            {
                                builder.Append(":" + Convert.ToString(row[0]) + " " + Convert.ToString(row[1]) + " - " + Convert.ToString(row[2]) + "\n");
                            }
                            this.Session.SendNotifWithScroll(builder.ToString());
                        }
                        return true;
                    case "about":
                    case "info":
                        {
                            ServerMessage Message = new ServerMessage(Outgoing.SuperNotificationMessageComposer);

                            Message.AppendString("mercury22");
                            Message.AppendInt32(4);
                            Message.AppendString("title");
                            Message.AppendString("About the server");
                            Message.AppendString("message");

                            StringBuilder info = new StringBuilder();
                            info.Append("This hotel uses an extremely-modified PlusEMU.");
                            info.Append("<br /><br />");
                            info.Append("<font color=\"#002C59\" size=\"16\"><b>Cyber Emulator" + CyberEnvironment.PrettyBuild + "</b></font><br />Developed by <b>Kessiler Rodrigues</b><br />");
                            info.Append("<br />");
                            info.Append("<b>Build:</b> " + CyberEnvironment.PrettyRelease);
                            info.Append("<br />");

                            int userCount = CyberEnvironment.GetGame().GetClientManager().clients.Count;
                            int roomsCount = CyberEnvironment.GetGame().GetRoomManager().loadedRooms.Count;
                            info.Append("<b>Users:</b> " + userCount + " in " + roomsCount + ((roomsCount == 1) ? " Room" : " Rooms") + ".<br /><br /><br />");
                            Message.AppendString(info.ToString());
                            Message.AppendString("linkUrl");
                            Message.AppendString("event:");
                            Message.AppendString("linkTitle");
                            Message.AppendString("ok");
                            this.Session.SendMessage(Message);
                        }
                        return true;

                    case "sit":
                        {
                            Room currentRoom = this.Session.GetHabbo().CurrentRoom;
                            RoomUser roomUserByHabbo = currentRoom.GetRoomUserManager().GetRoomUserByHabbo(this.Session.GetHabbo().Id);
                            if ((currentRoom != null) && (roomUserByHabbo != null))
                            {
                                if (((!roomUserByHabbo.IsLyingDown && !roomUserByHabbo.IsLyingDown) && (!roomUserByHabbo.RidingHorse && !roomUserByHabbo.IsWalking)) && !roomUserByHabbo.Statusses.ContainsKey("sit"))
                                {
                                    if ((roomUserByHabbo.RotBody % 2) != 0)
                                    {
                                        roomUserByHabbo.RotBody--;
                                    }
                                    roomUserByHabbo.Statusses.Add("sit", "0.55");
                                    roomUserByHabbo.IsSitting = true;
                                    roomUserByHabbo.UpdateNeeded = true;
                                }
                                return true;
                            }
                            return true;
                        }

                    case "lay":
                        {
                            Room currentRoom = this.Session.GetHabbo().CurrentRoom;
                            RoomUser roomUserByHabbo = currentRoom.GetRoomUserManager().GetRoomUserByHabbo(this.Session.GetHabbo().Id);
                            if ((currentRoom != null) && (roomUserByHabbo != null))
                            {
                                if (((!roomUserByHabbo.IsSitting && !roomUserByHabbo.IsSitting) && (!roomUserByHabbo.RidingHorse && !roomUserByHabbo.IsWalking)) && !roomUserByHabbo.Statusses.ContainsKey("lay"))
                                {
                                    if ((roomUserByHabbo.RotBody % 2) != 0)
                                    {
                                        roomUserByHabbo.RotBody--;
                                    }
                                    roomUserByHabbo.Statusses.Add("lay", "0.55");
                                    roomUserByHabbo.IsLyingDown = true;
                                    roomUserByHabbo.UpdateNeeded = true;
                                }
                                return true;
                            }
                            return true;
                        }

                    case "stand":
                        {
                            Room room2 = this.Session.GetHabbo().CurrentRoom;
                            RoomUser user2 = room2.GetRoomUserManager().GetRoomUserByHabbo(this.Session.GetHabbo().Id);
                            if ((room2 != null) && (user2 != null))
                            {
                                if (user2.IsSitting)
                                {
                                    user2.Statusses.Remove("sit");
                                    user2.IsSitting = false;
                                    user2.UpdateNeeded = true;
                                }
                                else if (user2.IsLyingDown)
                                {
                                    user2.Statusses.Remove("lay");
                                    user2.IsLyingDown = false;
                                    user2.UpdateNeeded = true;
                                }
                                return true;
                            }
                            return true;
                        }

                    case "ejectpets":
                    case "pickpets":
                        {
                            if (!this.Session.GetHabbo().GotCommand("pickall"))
                            {
                                return true;//1121;
                            }

                            Room room3 = this.Session.GetHabbo().CurrentRoom;
                            if (room3 == null)
                            {
                                return true;//1121;
                            }

                            foreach (Pet Pet in room3.GetRoomUserManager().GetPets())
                            {
                                if (Pet.OwnerId != Session.GetHabbo().Id)
                                {
                                    continue;
                                }
                                this.Session.GetHabbo().GetInventoryComponent().AddPet(Pet);
                                room3.GetRoomUserManager().RemoveBot(Pet.VirtualId, false);
                            }
                            this.Session.SendMessage(this.Session.GetHabbo().GetInventoryComponent().SerializePetInventory());
                            return true;
                        }

                    case "pickall":
                        {
                            if (!this.Session.GetHabbo().GotCommand("pickall"))
                            {
                                return true;//1121;
                            }
                            Room room3 = this.Session.GetHabbo().CurrentRoom;
                            if ((room3 == null) || !room3.CheckRights(this.Session, true, false))
                            {
                                this.Session.SendNotif("Ocurri\x00f3 un error.");
                                return true;//1121;
                            }
                            List<RoomItem> roomItemList = room3.GetRoomItemHandler().RemoveAllFurniture(this.Session);
                            if (this.Session.GetHabbo().GetInventoryComponent() != null)
                            {
                                this.Session.GetHabbo().GetInventoryComponent().AddItemArray(roomItemList);
                                this.Session.GetHabbo().GetInventoryComponent().UpdateItems(false);
                            }

                            return true;
                        }

                    case "unbugwalk":
                    case "unbug":
                    case "desbuggear":
                    case "desbuggearsala":
                        {
                            Room room = this.Session.GetHabbo().CurrentRoom;
                            if ((room != null) && room.CheckRights(this.Session, true))
                            {
                                room.GetRoomUserManager().ToSet.Clear();
                                foreach (RoomUser User in room.GetRoomUserManager().GetRoomUsers())
                                {
                                    User.ClearMovement(true);
                                }
                            }
                            return true;
                        }
                    case "unload":
                    case "reload":
                        if (this.Session.GetHabbo().GotCommand("reload"))
                        {
                            Room room = this.Session.GetHabbo().CurrentRoom;
                            if ((room != null) && room.CheckRights(this.Session, true, false))
                            {
                                CyberEnvironment.GetGame().GetRoomManager().UnloadRoom(room);
                                room.RequestReload();
                            }
                        }
                        return true;

                    case "setmax":
                        if (!this.Session.GetHabbo().GotCommand("setmax"))
                        {
                            return true;//1242;
                        }
                        if (Params.Length != 1)
                        {
                            try
                            {
                                int maxUsers = int.Parse(Params[1]);
                                if ((maxUsers > 100) && (this.Session.GetHabbo().Rank < 3))
                                {
                                    this.Session.SendNotif("El m\x00e1ximo es 100");
                                    return true;
                                }
                                if ((maxUsers < 10) && (this.Session.GetHabbo().Rank < 3))
                                {
                                    this.Session.SendNotif("El m\x00ednimo es 10");
                                    return true;
                                }
                                Room room5 = this.Session.GetHabbo().CurrentRoom;
                                room5.UsersMax = maxUsers;
                                room5.SetMaxUsers(maxUsers);
                            }
                            catch
                            {
                            }
                            return true;//1242;
                        }
                        SendChatMessage(this.Session, "You must enter a number to set");
                        return true;

                    case "userinfo":
                    case "ui":
                        {
                            if (!this.Session.GetHabbo().GotCommand("userinfo"))
                            {
                                return true;//1549;
                            }
                            string str = Params[1];
                            bool flag = true;
                            if (!string.IsNullOrEmpty(str))
                            {
                                GameClient clientByUsername = CyberEnvironment.GetGame().GetClientManager().GetClientByUsername(str);
                                if ((clientByUsername == null) || (clientByUsername.GetHabbo() == null))
                                {
                                    using (IQueryAdapter adapter = CyberEnvironment.GetDatabaseManager().getQueryReactor())
                                    {
                                        adapter.setQuery("SELECT username, rank, online, id, motto, credits FROM users WHERE username=@user LIMIT 1");
                                        adapter.addParameter("user", str);
                                        DataRow row2 = adapter.getRow();
                                        this.Session.SendNotif("User Info for " + str + ":\rRank: " + row2[1].ToString() + " \rUser Id: " + row2[3].ToString() + " \rMotto: " + row2[4].ToString() + " \rCredits: " + row2[5].ToString() + " \r");
                                    }
                                    return true;
                                }
                                Habbo habbo = clientByUsername.GetHabbo();
                                StringBuilder builder3 = new StringBuilder();
                                if (habbo.CurrentRoom != null)
                                {
                                    builder3.Append(" - ROOM INFORMAtiON [" + habbo.CurrentRoom.RoomId + "] - \r");
                                    builder3.Append("Owner: " + habbo.CurrentRoom.Owner + "\r");
                                    builder3.Append("Room Name: " + habbo.CurrentRoom.Name + "\r");
                                    builder3.Append(string.Concat(new object[] { "Current Users: ", habbo.CurrentRoom.UserCount, "/", habbo.CurrentRoom.UsersMax }));
                                }
                                this.Session.SendNotif(string.Concat(new object[] { 
                                "User info for: ", str, ":\rRank: ", habbo.Rank, " \rOnline: ", flag.ToString(), " \rUser Id: ", habbo.Id, " \rCurrent Room: ", habbo.CurrentRoomId, " \rMotto: ", habbo.Motto, " \rCredits: ", habbo.Credits, " \rMuted: ", habbo.Muted.ToString(), 
                                "\r\r\r", builder3.ToString()
                             }));
                                return true;
                            }
                            this.Session.SendNotif("Please enter a username");
                            return true;
                        }
                    case "disablediagonal":
                    case "disablediag":
                    case "togglediagonal":
                        if (this.Session.GetHabbo().GotCommand("disablediagonal"))
                        {
                            Room room6 = this.Session.GetHabbo().CurrentRoom;
                            room6 = this.Session.GetHabbo().CurrentRoom;
                            if ((room6 != null) && room6.CheckRights(this.Session, true, false))
                            {
                                if (!room6.GetGameMap().DiagonalEnabled)
                                {
                                    room6.GetGameMap().DiagonalEnabled = true;
                                }
                                else
                                {
                                    room6.GetGameMap().DiagonalEnabled = false;
                                }
                            }
                        }
                        return true;

                    case "freeze":
                        if (this.Session.GetHabbo().GotCommand("freeze"))
                        {
                            Room room1 = this.Session.GetHabbo().CurrentRoom;
                            RoomUser user3 = this.Session.GetHabbo().CurrentRoom.GetRoomUserManager().GetRoomUserByHabbo(Params[1]);
                            if (user3 != null)
                            {
                                user3.Frozen = true;
                            }
                        }
                        return true;

                    case "unfreeze":
                        if (this.Session.GetHabbo().GotCommand("unfreeze"))
                        {
                            Room room41 = this.Session.GetHabbo().CurrentRoom;
                            RoomUser user4 = this.Session.GetHabbo().CurrentRoom.GetRoomUserManager().GetRoomUserByHabbo(Params[1]);
                            if (user4 != null)
                            {
                                user4.Frozen = false;
                            }
                        }
                        return true;

                    case "setspeed":
                        if (this.Session.GetHabbo().GotCommand("setspeed"))
                        {
                            Room room7 = this.Session.GetHabbo().CurrentRoom;
                            room7 = this.Session.GetHabbo().CurrentRoom;
                            if ((room7 != null) && room7.CheckRights(this.Session, true, false))
                            {
                                try
                                {
                                    this.Session.GetHabbo().CurrentRoom.GetRoomItemHandler().SetSpeed(int.Parse(Params[1]));
                                }
                                catch
                                {
                                    this.Session.SendNotif("Numbers Only!");
                                }
                            }
                        }
                        return true;

                    case "regenmaps":
                    case "reloadmaps":
                    case "fixroom":
                        {
                            if (!this.Session.GetHabbo().GotCommand("regenmaps"))
                            {
                                return true;
                            }
                            Room room8 = this.Session.GetHabbo().CurrentRoom;
                            if (room8 != null)
                            {
                                if (!room8.CheckRights(this.Session, true, false))
                                {
                                    return true;
                                }
                                room8.GetGameMap().GenerateMaps(true);
                                this.Session.SendNotif("The room map has been refreshed!");
                                return true;
                            }
                            return true;
                        }

                    case "convertcredits":
                    case "redeemall":
                        if (this.Session.GetHabbo().GotCommand("redeemall"))
                        {
                            try
                            {
                                this.Session.GetHabbo().GetInventoryComponent().Redeemcredits(this.Session);
                                SendChatMessage(this.Session, "\x00a1Todos los cr\x00e9ditos fueron convertidos!");
                            }
                            catch (Exception exception)
                            {
                                Console.WriteLine(exception);
                            }
                        }
                        return true;

                    case "setvideo":
                    case "ponervideo":
                    case "colocarvideo":
                        if (this.Session.GetHabbo().GotCommand("redeemall"))
                        {
                            Room Room = this.Session.GetHabbo().CurrentRoom;
                            if (Room == null || !Room.CheckRights(Session))
                                return true;

                            if (Params.Length < 2)
                                return true;

                            string Video = Params[1].Replace("https://", "http://").Split('&')[0];

                            if (CyberEnvironment.GetGame().GetVideoManager().PlayVideoInRoom(Room, Video))
                            {
                                Session.SendNotif("Good, your custom video is being now played in all the room TVs! Double click one, wait and you'll see.");
                            }
                            else
                            {
                                Session.SendNotif("There was an error. Please, verify your video link is correct.");
                            }


                        }
                        return true;

                    case "mutebots":
                    case "mutepets":
                        if (this.Session.GetHabbo().GotCommand("mutebots") && this.Session.GetHabbo().CurrentRoom.CheckRights(this.Session, true, false))
                        {
                            Room room9 = this.Session.GetHabbo().CurrentRoom;
                            if (!room9.MutedBots)
                            {
                                room9.MutedBots = true;
                            }
                            else
                            {
                                room9.MutedBots = false;
                            }
                            SendChatMessage(this.Session, "Muted bots have been toggled");
                        }
                        return true;

                    case "dance":
                        {
                            int result = 1;
                            if ((Params.Length > 1) && int.TryParse(Params[1], out result))
                            {
                                result = 1;
                            }
                            if ((result > 4) || (result < 0))
                            {
                                this.Session.SendWhisper("The dance ID must be between 0 and 4!");
                                result = 0;
                            }
                            ServerMessage message2 = new ServerMessage();
                            message2.Init(Outgoing.DanceStatusMessageComposer);
                            message2.AppendInt32(this.Session.CurrentRoomUserID);
                            message2.AppendInt32(result);
                            this.Session.GetHabbo().CurrentRoom.SendMessage(message2);
                            return true;
                        }
                    case "deletegroup":
                        {
                            if (!this.Session.GetHabbo().GotCommand("deletegroup"))
                            {
                                return true;//1E19;
                            }
                            Room room12 = this.Session.GetHabbo().CurrentRoom;
                            if (room12.CheckRights(this.Session, true, false))
                            {
                                if ((Params.Length == 1) || (Params[1].ToLower() != "yes"))
                                {
                                    this.Session.SendNotif("Are you sure you want to delete this group?\nOnce you delete it you will never be able to get it back.\n\nTo continue, type ':deletegroup yes' (without '')");
                                    return true;
                                }
                                if (room12.Group == null)
                                {
                                    this.Session.SendNotif("This room does not have a group.");
                                    return true;
                                }
                                Guild group = room12.Group;
                                foreach (GroupUser user7 in group.Members.Values)
                                {
                                    GameClient clientByUserID = CyberEnvironment.GetGame().GetClientManager().GetClientByUserID(user7.Id);
                                    if (clientByUserID != null)
                                    {
                                        clientByUserID.GetHabbo().UserGroups.Remove(user7);
                                        if (clientByUserID.GetHabbo().FavouriteGroup == group.Id)
                                        {
                                            clientByUserID.GetHabbo().FavouriteGroup = 0;
                                        }
                                    }
                                }
                                room12.RoomData.Group = null;
                                CyberEnvironment.GetGame().GetGroupManager().DeleteGroup(group.Id);
                                CyberEnvironment.GetGame().GetRoomManager().UnloadRoom(room12);
                                return true;//1E19;
                            }
                            this.Session.SendNotif("You do not own this room!");
                            return true;
                        }
                    case "moonwalk":
                        {
                            if (!this.Session.GetHabbo().HasFuse("fuse_vip_commands") && !this.Session.GetHabbo().VIP)
                            {
                                return false;
                            }
                            Room room13 = this.Session.GetHabbo().CurrentRoom;
                            if (room13 != null)
                            {
                                RoomUser user8 = room13.GetRoomUserManager().GetRoomUserByHabbo(this.Session.GetHabbo().Id);
                                user8.IsMoonwalking = !user8.IsMoonwalking;
                                return true;
                            }
                            return true;
                        }
                    case "habnam":
                        {
                            if (!this.Session.GetHabbo().HasFuse("fuse_vip_commands") && !this.Session.GetHabbo().VIP)
                            {
                                return false;
                            }
                            Room room14 = this.Session.GetHabbo().CurrentRoom;
                            if (room14 != null)
                            {
                                RoomUser user9 = room14.GetRoomUserManager().GetRoomUserByHabbo(this.Session.GetHabbo().Id);
                                this.Session.GetHabbo().GetAvatarEffectsInventoryComponent().ActivateCustomEffect((user9.CurrentEffect != 140) ? 140 : 0);
                                return true;
                            }
                            return true;
                        }

                    case "mimic":
                    case "copy":
                    case "copylook":
                        if (this.Session.GetHabbo().HasFuse("fuse_vip_commands") || this.Session.GetHabbo().VIP)
                        {
                            string pName = Params[1];
                            RoomUser user10 = this.Session.GetHabbo().CurrentRoom.GetRoomUserManager().GetRoomUserByHabbo(pName);
                            string query = null;
                            string look = null;
                            if (user10 != null)
                            {
                                query = user10.GetClient().GetHabbo().Gender;
                                look = user10.GetClient().GetHabbo().Look;
                                this.Session.GetHabbo().Gender = query;
                                this.Session.GetHabbo().Look = look;
                                using (IQueryAdapter adapter4 = CyberEnvironment.GetDatabaseManager().getQueryReactor())
                                {
                                    adapter4.setQuery("UPDATE users SET gender = @gender, look = @look WHERE username = @username");
                                    adapter4.addParameter("gender", query);
                                    adapter4.addParameter("look", look);
                                    adapter4.addParameter("username", this.Session.GetHabbo().Username);
                                    adapter4.runQuery();
                                }
                                Room room16 = this.Session.GetHabbo().CurrentRoom;
                                if (room16 == null)
                                {
                                    return true;
                                }
                                RoomUser user11 = room16.GetRoomUserManager().GetRoomUserByHabbo(this.Session.GetHabbo().Id);
                                if (user11 == null)
                                {
                                    return true;
                                }
                                this.Session.GetMessageHandler().GetResponse().Init(Outgoing.UpdateUserDataMessageComposer);
                                this.Session.GetMessageHandler().GetResponse().AppendInt32(-1);
                                this.Session.GetMessageHandler().GetResponse().AppendString(this.Session.GetHabbo().Look);
                                this.Session.GetMessageHandler().GetResponse().AppendString(this.Session.GetHabbo().Gender.ToLower());
                                this.Session.GetMessageHandler().GetResponse().AppendString(this.Session.GetHabbo().Motto);
                                this.Session.GetMessageHandler().GetResponse().AppendInt32(this.Session.GetHabbo().AchievementPoints);
                                this.Session.GetMessageHandler().SendResponse();
                                ServerMessage message3 = new ServerMessage(Outgoing.UpdateUserDataMessageComposer);
                                message3.AppendInt32(user11.VirtualId);
                                message3.AppendString(this.Session.GetHabbo().Look);
                                message3.AppendString(this.Session.GetHabbo().Gender.ToLower());
                                message3.AppendString(this.Session.GetHabbo().Motto);
                                message3.AppendInt32(this.Session.GetHabbo().AchievementPoints);
                                room16.SendMessage(message3);
                            }
                        }
                        return true;

                    case "push":
                        {
                            if (!this.Session.GetHabbo().HasFuse("fuse_vip_commands") && !this.Session.GetHabbo().VIP)
                            {
                                return true;//256A;
                            }
                            Room room17 = CyberEnvironment.GetGame().GetRoomManager().GetRoom(this.Session.GetHabbo().CurrentRoomId);
                            if (room17 != null)
                            {
                                if (Params.Length == 1)
                                {
                                    SendChatMessage(this.Session, "Ingresa un usuario");
                                    return true;
                                }
                                RoomUser user12 = room17.GetRoomUserManager().GetRoomUserByHabbo(Convert.ToString(Params[1]));
                                if (user12 == null)
                                {
                                    SendChatMessage(this.Session, "No se pudo encontrar el user!");
                                    return true;
                                }
                                if (user12.GetUsername() == this.Session.GetHabbo().Username)
                                {
                                    SendChatMessage(this.Session, "S\x00e9 que no quieres empujarte a ti mismo");
                                    return true;
                                }
                                RoomUser user13 = room17.GetRoomUserManager().GetRoomUserByHabbo(this.Session.GetHabbo().Id);
                                if ((user13 != null) && !user12.TeleportEnabled)
                                {
                                    if ((Math.Abs((int)(user12.X - user13.X)) < 2) && (Math.Abs((int)(user12.Y - user13.Y)) < 2))
                                    {
                                        if (user13.RotBody == 4)
                                        {
                                            user12.MoveTo(user12.X, user12.Y + 1);
                                        }
                                        if (user13.RotBody == 0)
                                        {
                                            user12.MoveTo(user12.X, user12.Y - 1);
                                        }
                                        if (user13.RotBody == 6)
                                        {
                                            user12.MoveTo(user12.X - 1, user12.Y);
                                        }
                                        if (user13.RotBody == 2)
                                        {
                                            user12.MoveTo(user12.X + 1, user12.Y);
                                        }
                                        if (user13.RotBody == 3)
                                        {
                                            user12.MoveTo(user12.X + 1, user12.Y + 1);
                                        }
                                        if (user13.RotBody == 1)
                                        {
                                            user12.MoveTo(user12.X + 1, user12.Y - 1);
                                        }
                                        if (user13.RotBody == 7)
                                        {
                                            user12.MoveTo(user12.X - 1, user12.Y - 1);
                                        }
                                        if (user13.RotBody == 5)
                                        {
                                            user12.MoveTo(user12.X - 1, user12.Y + 1);
                                        }
                                        user12.UpdateNeeded = true;
                                        user13.UpdateNeeded = true;
                                        user13.SetRot(PathFinder.CalculateRotation(user13.X, user13.Y, user12.GoalX, user12.GoalY));
                                    }
                                    else
                                    {
                                        SendChatMessage(this.Session, Params[1] + " no est\x00e1 tan cerca.");
                                    }
                                    return true;//256A;
                                }
                            }
                            return true;
                        }
                    case "pull":
                        if (this.Session.GetHabbo().HasFuse("fuse_vip_commands") || this.Session.GetHabbo().VIP)
                        {
                            Room room18 = this.Session.GetHabbo().CurrentRoom;
                            if (room18 == null)
                            {
                                return true;
                            }
                            RoomUser user14 = room18.GetRoomUserManager().GetRoomUserByHabbo(this.Session.GetHabbo().Id);
                            if (user14 == null)
                            {
                                return true;
                            }
                            if (Params.Length == 1)
                            {
                                SendChatMessage(this.Session, "Unable to find the user you specified.");
                                return true;
                            }
                            GameClient client4 = CyberEnvironment.GetGame().GetClientManager().GetClientByUsername(Params[1]);
                            if (client4 == null)
                            {
                                return true;
                            }
                            if (client4.GetHabbo().Id == this.Session.GetHabbo().Id)
                            {
                                SendChatMessage(this.Session, "You can't pull yourself!");
                                return true;
                            }
                            RoomUser user15 = room18.GetRoomUserManager().GetRoomUserByHabbo(client4.GetHabbo().Id);
                            if (user15 == null)
                            {
                                return true;
                            }
                            if (user15.TeleportEnabled)
                            {
                                return true;
                            }
                            if ((Math.Abs((int)(user14.X - user15.X)) >= 3) || (Math.Abs((int)(user14.Y - user15.Y)) >= 3))
                            {
                                SendChatMessage(this.Session, "User is too far away to pull.");
                                return true;
                            }
                            if ((user14.RotBody % 2) != 0)
                            {
                                user14.RotBody--;
                            }
                            if (user14.RotBody == 0)
                            {
                                user15.MoveTo(user14.X, user14.Y - 1);
                            }
                            else if (user14.RotBody == 2)
                            {
                                user15.MoveTo(user14.X + 1, user14.Y);
                            }
                            else if (user14.RotBody == 4)
                            {
                                user15.MoveTo(user14.X, user14.Y + 1);
                            }
                            else if (user14.RotBody == 6)
                            {
                                user15.MoveTo(user14.X - 1, user14.Y);
                            }
                        }
                        return true;

                    case "enable":
                        {
                            if (!this.Session.GetHabbo().HasFuse("fuse_vip_commands") && !this.Session.GetHabbo().VIP)
                            {
                                return false;
                            }

                            if (Params.Length == 1)
                            {
                                SendChatMessage(this.Session, "Escribe un effect ID");
                                return true;
                            }
                            RoomUser user16 = this.Session.GetHabbo().CurrentRoom.GetRoomUserManager().GetRoomUserByHabbo(this.Session.GetHabbo().Username);
                            if (user16.RidingHorse)
                            {
                                SendChatMessage(this.Session, "No puedes hacer eso mientras est\x00e1s montado en un caballo!");
                                return true;
                            }
                            if (user16.team == Team.none)
                            {
                                double num6;
                                if (user16.IsLyingDown)
                                {
                                    return true;
                                }
                                string s = Params[1];
                                if (double.TryParse(s, out num6))
                                {
                                    this.Session.GetHabbo().GetAvatarEffectsInventoryComponent().ActivateCustomEffect(int.Parse(num6.ToString()));
                                    return true;
                                }
                                SendChatMessage(this.Session, "You're pretty bad at math, '" + s + "' ain't a number, n***a.");
                            }
                            return true;
                        }
                    case "handitem":
                        {
                            if (!this.Session.GetHabbo().HasFuse("fuse_vip_commands") && !this.Session.GetHabbo().VIP)
                            {
                                return false;
                            }
                            if (Params.Length == 1)
                            {
                                SendChatMessage(this.Session, "Escribe un item ID");
                                return true;
                            }
                            RoomUser user17 = this.Session.GetHabbo().CurrentRoom.GetRoomUserManager().GetRoomUserByHabbo(this.Session.GetHabbo().Username);
                            if (user17.RidingHorse)
                            {
                                SendChatMessage(this.Session, "No puedes hacer eso mientras est\x00e1s montado en un caballo!");
                                return true;
                            }
                            if (user17.team == Team.none)
                            {
                                double num7;
                                if (user17.IsLyingDown)
                                {
                                    return true;
                                }
                                string str6 = Params[1];
                                if (double.TryParse(str6, out num7))
                                {
                                    user17.CarryItem(int.Parse(num7.ToString()));
                                    return true;
                                }
                                SendChatMessage(this.Session, "\x00bfAcaso no has aprendido matem\x00e1ticas nunca? '" + str6 + "' no es un n\x00famero.");
                            }
                            return true;
                        }
                    case "empty":
                        if (this.Session.GetHabbo().GotCommand("empty"))
                        {
                            this.Session.GetHabbo().GetInventoryComponent().ClearItems();
                        }
                        return true;

                    case "emptysom":
                        if (!this.Session.GetHabbo().GotCommand("emptysom"))
                        {
                            return false;
                        }
                        if (Params.Length != 1)
                        {
                            GameClient client5 = CyberEnvironment.GetGame().GetClientManager().GetClientByUsername(Params[1]);
                            if (client5 == null || client5.GetHabbo().Rank >= this.Session.GetHabbo().Rank)
                            {
                                return true;
                            }
                            client5.GetHabbo().GetInventoryComponent().ClearItems();
                            return false;
                        }
                        return true;

                    case "hit":
                        if (this.Session.GetHabbo().HasFuse("fuse_vip_commands") || this.Session.GetHabbo().VIP)
                        {
                            Room room19 = CyberEnvironment.GetGame().GetRoomManager().GetRoom(this.Session.GetHabbo().CurrentRoomId);
                            if (room19 == null)
                            {
                                return true;
                            }
                            if (Params.Length == 1)
                            {
                                SendChatMessage(this.Session, "\x00bfUsuario?");
                                return true;
                            }
                            RoomUser user18 = room19.GetRoomUserManager().GetRoomUserByHabbo(Convert.ToString(Params[1]));
                            if (user18 == null)
                            {
                                SendChatMessage(this.Session, "El usuario no se encontr\x00f3");
                                return true;
                            }
                            if (user18.GetUsername() == this.Session.GetHabbo().Username)
                            {
                                SendChatMessage(this.Session, "\x00a1No querr\x00e1s golpearte a ti mismo!");
                                return true;
                            }
                            RoomUser user19 = room19.GetRoomUserManager().GetRoomUserByHabbo(this.Session.GetHabbo().Id);
                            if (user19 == null)
                            {
                                return true;
                            }
                            if ((Math.Abs((int)(user18.X - user19.X)) < 2) && (Math.Abs((int)(user18.Y - user19.Y)) < 2))
                            {
                                if (user19.RotBody == 4)
                                {
                                    user18.MoveTo(user18.X, user18.Y + 1);
                                }
                                if (user19.RotBody == 0)
                                {
                                    user18.MoveTo(user18.X, user18.Y - 1);
                                }
                                if (user19.RotBody == 6)
                                {
                                    user18.MoveTo(user18.X - 1, user18.Y);
                                }
                                if (user19.RotBody == 2)
                                {
                                    user18.MoveTo(user18.X + 1, user18.Y);
                                }
                                if (user19.RotBody == 3)
                                {
                                    user18.MoveTo(user18.X + 1, user18.Y);
                                    user18.MoveTo(user18.X, user18.Y + 1);
                                }
                                if (user19.RotBody == 1)
                                {
                                    user18.MoveTo(user18.X + 1, user18.Y);
                                    user18.MoveTo(user18.X, user18.Y - 1);
                                }
                                if (user19.RotBody == 7)
                                {
                                    user18.MoveTo(user18.X - 1, user18.Y);
                                    user18.MoveTo(user18.X, user18.Y - 1);
                                }
                                if (user19.RotBody == 5)
                                {
                                    user18.MoveTo(user18.X - 1, user18.Y);
                                    user18.MoveTo(user18.X, user18.Y + 1);
                                }
                                user18.UpdateNeeded = true;
                            }
                        }
                        return true;

                    case "roomalert":
                    case "alertroom":
                    case "ra":
                    case "alertarsala":
                        if (!this.Session.GetHabbo().GotCommand("alert"))
                        {
                            return false;//2D3B;
                        }
                        string Alert = MergeParams(Params, 1);

                        foreach (RoomUser user in Session.GetHabbo().CurrentRoom.GetRoomUserManager().GetRoomUsers())
                        {
                            if (user.IsBot || user.GetClient() == null)
                            {
                                continue;
                            }
                            user.GetClient().SendNotif(Alert);
                        }
                        return true;

                    case "alert":
                        if (!this.Session.GetHabbo().GotCommand("alert"))
                        {
                            return false;//2D3B;
                        }
                        if ((Params[1] != null) && (Params[2] != null))
                        {
                            string username = null;
                            GameClient client6 = null;
                            username = Params[1];
                            client6 = CyberEnvironment.GetGame().GetClientManager().GetClientByUsername(username);
                            Room room42 = client6.GetHabbo().CurrentRoom;
                            if (client6 == null)
                            {
                                this.Session.SendNotif("User could not be found.");
                                return true;
                            }
                            client6.SendNotif(Params[2] + " -" + this.Session.GetHabbo().Username);
                            return true;//2D3B;
                        }
                        this.Session.SendNotif("You left something empty.");
                        return true;

                    case "kick":
                        if (this.Session.GetHabbo().GotCommand("kick"))
                        {
                            string str8 = null;
                            GameClient session = null;
                            str8 = Params[1];
                            session = CyberEnvironment.GetGame().GetClientManager().GetClientByUsername(str8);
                            Room room20 = session.GetHabbo().CurrentRoom;
                            if (session != null)
                            {
                                if (this.Session.GetHabbo().Rank <= session.GetHabbo().Rank)
                                {
                                    this.Session.SendNotif("You are not allowed to kick that user.");
                                    return true;
                                }
                                if (session.GetHabbo().CurrentRoomId < 1)
                                {
                                    this.Session.SendNotif("That user is not in a room and can not be kicked.");
                                    return true;
                                }
                                room20 = CyberEnvironment.GetGame().GetRoomManager().GetRoom(session.GetHabbo().CurrentRoomId);
                                if (room20 != null)
                                {
                                    room20.GetRoomUserManager().RemoveUserFromRoom(session, true, false);
                                    session.CurrentRoomUserID = -1;
                                    if (Params.Length > 2)
                                    {
                                        session.SendNotif("A moderator has kicked you from the room for the following reason: " + MergeParams(Params, 2));
                                    }
                                    else
                                    {
                                        session.SendNotif("A moderator has kicked you from the room.");
                                    }
                                }
                                return true;
                            }
                            this.Session.SendNotif("User could not be found.");
                        }
                        return true;

                    case "roommute":
                        if (this.Session.GetHabbo().GotCommand("roommute") || this.Session.GetHabbo().GotCommand("roomunmute"))
                        {
                            Room room21 = this.Session.GetHabbo().CurrentRoom;
                            if (!this.Session.GetHabbo().CurrentRoom.RoomMuted)
                            {
                                this.Session.GetHabbo().CurrentRoom.RoomMuted = true;
                            }
                            string str9 = MergeParams(Params, 1);
                            ServerMessage message4 = new ServerMessage();
                            message4.Init(Outgoing.AlertNotificationMessageComposer);
                            message4.AppendString("La sala fue muteada debido a:\n" + str9);
                            message4.AppendString("");
                            room21.SendMessage(message4);
                            CyberEnvironment.GetGame().GetModerationTool().LogStaffEntry(this.Session.GetHabbo().Username, string.Empty, "Room Mute", "Room muted");
                        }
                        return true;

                    case "roomunmute":
                        if (this.Session.GetHabbo().GotCommand("roomunmute"))
                        {
                            Room room22 = this.Session.GetHabbo().CurrentRoom;
                            if (this.Session.GetHabbo().CurrentRoom.RoomMuted)
                            {
                                this.Session.GetHabbo().CurrentRoom.RoomMuted = false;
                            }
                            ServerMessage message5 = new ServerMessage();
                            message5.Init(Outgoing.AlertNotificationMessageComposer);
                            message5.AppendString("Fuiste desmuteado");
                            message5.AppendString("");
                            room22.SendMessage(message5);
                        }
                        return true;

                    case "mute":
                        {
                            if (!this.Session.GetHabbo().GotCommand("mute"))
                            {
                                return true;//308F;
                            }
                            string str10 = null;
                            GameClient client8 = null;
                            Room room43 = this.Session.GetHabbo().CurrentRoom;
                            str10 = Params[1];
                            client8 = CyberEnvironment.GetGame().GetClientManager().GetClientByUsername(str10);
                            if ((client8 != null) && (client8.GetHabbo() != null))
                            {
                                if (client8.GetHabbo().Rank >= 4)
                                {
                                    this.Session.SendNotif("You are not allowed to (un)mute that user.");
                                    return true;
                                }
                                CyberEnvironment.GetGame().GetModerationTool().LogStaffEntry(this.Session.GetHabbo().Username, client8.GetHabbo().Username, "Mute", "Muted user");
                                client8.GetHabbo().Mute();
                                return true;//308F;
                            }
                            this.Session.SendNotif("User could not be found.");
                            return true;
                        }
                    case "flood":
                        {
                            if (!this.Session.GetHabbo().GotCommand("flood"))
                            {
                                return true;//311C;
                            }
                            string str11 = null;
                            GameClient client9 = null;
                            str11 = Params[1];
                            client9 = CyberEnvironment.GetGame().GetClientManager().GetClientByUsername(str11);
                            if (Params.Length == 3)
                            {
                                client9.GetHabbo().FloodTime = CyberEnvironment.GetUnixTimestamp() + Convert.ToInt32(Params[2]);
                                ServerMessage message6 = new ServerMessage(Outgoing.FloodFilterMessageComposer);
                                message6.AppendInt32(Convert.ToInt32(Params[2]));
                                client9.SendMessage(message6);
                                return true;//311C;
                            }
                            this.Session.SendNotif("You must include a username and a time for the person you want to flood.");
                            return true;
                        }
                    case "unmute":
                        {
                            if (!this.Session.GetHabbo().GotCommand("unmute"))
                            {
                                return true;//31D7;
                            }
                            string str12 = null;
                            GameClient client10 = null;
                            Room room44 = this.Session.GetHabbo().CurrentRoom;
                            str12 = Params[1];
                            client10 = CyberEnvironment.GetGame().GetClientManager().GetClientByUsername(str12);
                            if ((client10 != null) && (client10.GetHabbo() != null))
                            {
                                if (!client10.GetHabbo().Muted)
                                {
                                    return true;
                                }
                                CyberEnvironment.GetGame().GetModerationTool().LogStaffEntry(this.Session.GetHabbo().Username, client10.GetHabbo().Username, "Mute", "Un Muted user");
                                client10.GetHabbo().Unmute();
                                return true;//31D7;
                            }
                            this.Session.SendNotif("User could not be found.");
                            return true;
                        }
                    case "summon":
                    case "traer":
                    case "come":
                        if (this.Session.GetHabbo().GotCommand("summon"))
                        {
                            if (Params.Length >= 1)
                            {
                                string str13 = Params[1];
                                if (str13.ToLower() == Session.GetHabbo().Username.ToLower())
                                {
                                    Session.SendNotif("You can't summon yourself!");
                                    return true;
                                }

                                GameClient client11 = CyberEnvironment.GetGame().GetClientManager().GetClientByUsername(str13);
                                if (client11 == null)
                                {
                                    this.Session.SendNotif("Could not find user \"" + str13 + "\"");
                                    return true;
                                }

                                if (Session.GetHabbo().CurrentRoom != null && Session.GetHabbo().CurrentRoomId != client11.GetHabbo().CurrentRoomId)
                                {
                                    client11.GetMessageHandler().PrepareRoomForUser(Session.GetHabbo().CurrentRoom.RoomId, Session.GetHabbo().CurrentRoom.Password);
                                }
                                return true;
                            }
                            this.Session.SendNotif("No use specified");
                        }
                        return true;

                    case "summonall":
                        if (this.Session.GetHabbo().GotCommand("summonall"))
                        {
                            string str14 = Input.Substring(9);
                            foreach (GameClient client12 in CyberEnvironment.GetGame().GetClientManager().clients.Values)
                            {
                                client12.SendNotif("* Todos hab\x00e9is sido atra\x00eddos por " + this.Session.GetHabbo().Username + ":\r\n" + str14);
                                CyberEnvironment.GetGame().GetRoomManager().GenerateRoomData(this.Session.GetHabbo().CurrentRoomId).SerializeRoomData(new ServerMessage(), client12.GetHabbo().CurrentRoom == null, client12, false);

                                ServerMessage roomFwd = new ServerMessage(Outgoing.RoomForwardMessageComposer);
                                roomFwd.AppendUInt(this.Session.GetHabbo().CurrentRoomId);
                                client12.SendMessage(roomFwd);
                            }
                        }
                        return true;

                    case "follow":
                    case "seguir":
                    case "stalk":
                        if (this.Session.GetHabbo().GotCommand("follow"))
                        {
                            GameClient client13 = CyberEnvironment.GetGame().GetClientManager().GetClientByUsername(Params[1]);
                            if ((client13 != null) && (client13.GetHabbo() != null))
                            {
                                if (((client13 != null) && (client13.GetHabbo().CurrentRoom != null)) && (client13.GetHabbo().CurrentRoom != this.Session.GetHabbo().CurrentRoom))
                                {
                                    ServerMessage roomFwd = new ServerMessage(Outgoing.RoomForwardMessageComposer);
                                    roomFwd.AppendUInt(client13.GetHabbo().CurrentRoom.RoomId);
                                    Session.SendMessage(roomFwd);
                                }
                                return true;
                            }
                            this.Session.SendNotif("This user could not be found");
                        }
                        return true;

                    case "roomkick":
                        if (this.Session.GetHabbo().GotCommand("roomkick"))
                        {
                            Room room23 = this.Session.GetHabbo().CurrentRoom;
                            room23 = CyberEnvironment.GetGame().GetRoomManager().GetRoom(this.Session.GetHabbo().CurrentRoomId);
                            if (room23 != null)
                            {
                                string allert = MergeParams(Params, 1);
                                RoomKick kick = new RoomKick(allert, (int)this.Session.GetHabbo().Rank);
                                CyberEnvironment.GetGame().GetModerationTool().LogStaffEntry(this.Session.GetHabbo().Username, string.Empty, "Room kick", "Kicked the whole room");
                                room23.QueueRoomKick(kick);
                                return true;
                            }
                        }
                        return true;

                    case "banear":
                    case "ban":
                        if (this.Session.GetHabbo().GotCommand("ban"))
                        {
                            GameClient user = CyberEnvironment.GetGame().GetClientManager().GetClientByUsername(Params[1]);

                            if (user != null)
                            {
                                if (user.GetHabbo().Rank >= this.Session.GetHabbo().Rank)
                                {
                                    this.Session.SendNotif("You are not allowed to ban that user.");
                                    return true;
                                }
                                int Length = int.Parse(Params[2]);
                                string Message = MergeParams(Params, 3);
                                if (string.IsNullOrWhiteSpace(Message))
                                {
                                    Message = "El moderador no ha visto necesario darte un motivo de baneo";
                                }
                                Cyber.HabboHotel.Support.ModerationTool.BanUser(Session, user.GetHabbo().Id, Length, Message);
                                CyberEnvironment.GetGame().GetModerationTool().LogStaffEntry(this.Session.GetHabbo().Username, user.GetHabbo().Username, "Ban", "User have been banned [" + Params[2] + "]");
                            }
                            this.Session.SendNotif("User could not be found.");
                            return true;
                        }
                        return true;

                    case "desbanear":
                    case "unban":
                        if (this.Session.GetHabbo().GotCommand("unban"))
                        {
                            //GameClient user = CyberEnvironment.GetGame().GetClientManager().GetClientByUsername(@params[1]);
                            Habbo user = CyberEnvironment.getHabboForName(Params[1]);

                            if (user != null)
                            {
                                if (user.Rank >= this.Session.GetHabbo().Rank)
                                {
                                    this.Session.SendNotif("You are not allowed to unban that user.");
                                    return true;
                                }
                                using (IQueryAdapter adapter = CyberEnvironment.GetDatabaseManager().getQueryReactor())
                                {
                                    adapter.setQuery("DELETE FROM bans WHERE value = '" + user.Username + "'");
                                    adapter.runQuery();
                                    CyberEnvironment.GetGame().GetModerationTool().LogStaffEntry(this.Session.GetHabbo().Username, user.Username, "Unban", "Se ha desbaneado al usuario [" + Params[2] + "]");
                                }
                            }
                            this.Session.SendNotif("User could not be found.");
                            return true;
                        }
                        return true;

                    case "superban":
                        {
                            if (!this.Session.GetHabbo().GotCommand("superban"))
                            {
                                return true;//35DC;
                            }
                            GameClient client14 = null;
                            Room room45 = this.Session.GetHabbo().CurrentRoom;
                            client14 = CyberEnvironment.GetGame().GetClientManager().GetClientByUsername(Params[1]);
                            if (client14 != null)
                            {
                                if (client14.GetHabbo().Rank >= this.Session.GetHabbo().Rank)
                                {
                                    this.Session.SendNotif("You are not allowed to ban that user.");
                                    return true;
                                }
                                CyberEnvironment.GetGame().GetModerationTool().LogStaffEntry(this.Session.GetHabbo().Username, client14.GetHabbo().Username, "Ban", "Long ban forever");
                                CyberEnvironment.GetGame().GetBanManager().BanUser(client14, this.Session.GetHabbo().Username, 788922000.0, MergeParams(Params, 2), false, false);
                                return true;//35DC;
                            }
                            this.Session.SendNotif("User could not be found.");
                            return true;
                        }
                    case "togglewhisper":
                        this.Session.GetHabbo().GotCommand("togglewhisper");
                        return true;

                    case "fastwalk":
                    case "run":
                        if (this.Session.GetHabbo().HasFuse("fuse_vip_commands") || this.Session.GetHabbo().VIP)
                        {
                            RoomUser user20 = CyberEnvironment.GetGame().GetRoomManager().GetRoom(this.Session.GetHabbo().CurrentRoomId).GetRoomUserManager().GetRoomUserByHabbo(this.Session.GetHabbo().Id);
                            if (!user20.FastWalking)
                            {
                                user20.FastWalking = true;
                            }
                            else
                            {
                                user20.FastWalking = false;
                            }
                        }
                        return true;

                    case "promoteroom":
                        if (!this.Session.GetHabbo().GotCommand("promoteroom"))
                        {
                            return true;//37B3;
                        }
                        if (Params[1] != null)
                        {
                            int num9;
                            if (!int.TryParse(Params[1], out num9))
                            {
                                this.Session.SendNotif("You need use command like :promoteroom time (time being how long to run event for in seconds).");
                                return true;
                            }
                            Room room25 = CyberEnvironment.GetGame().GetRoomManager().GetRoom(this.Session.GetHabbo().CurrentRoomId);
                            CyberEnvironment.GetGame().GetRoomEvents().AddNewEvent(room25.RoomId, "Default Name", "Default Desc", this.Session, 0x1c20);
                            return true;//37B3;
                        }
                        this.Session.SendNotif("You need to enter event name and description.");
                        return true;

                    case "massdance":
                        if (this.Session.GetHabbo().GotCommand("massdance"))
                        {
                            Room room26 = CyberEnvironment.GetGame().GetRoomManager().GetRoom(this.Session.GetHabbo().CurrentRoomId);
                            RoomUser user21 = room26.GetRoomUserManager().GetRoomUserByHabbo(this.Session.GetHabbo().Id);
                            HashSet<RoomUser> roomUsers = room26.GetRoomUserManager().GetRoomUsers();
                            int i = Convert.ToInt32(Params[1]);
                            if (i <= 4)
                            {
                                if ((i > 0) && (user21.CarryItemID > 0))
                                {
                                    user21.CarryItem(0);
                                }
                                user21.DanceId = i;
                                foreach (RoomUser user22 in roomUsers)
                                {
                                    ServerMessage message7 = new ServerMessage(Outgoing.DanceStatusMessageComposer);
                                    message7.AppendInt32(user22.VirtualId);
                                    message7.AppendInt32(i);
                                    room26.SendMessage(message7);
                                    user22.DanceId = i;
                                }
                                return true;
                            }
                            this.Session.SendNotif("That is an invalid dance ID");
                        }
                        return true;

                    case "goboom":
                        if (this.Session.GetHabbo().GotCommand("goboom"))
                        {
                            Room room27 = CyberEnvironment.GetGame().GetRoomManager().GetRoom(this.Session.GetHabbo().CurrentRoomId);
                            room27.GetRoomUserManager().GetRoomUserByHabbo(this.Session.GetHabbo().Id);
                            foreach (RoomUser user23 in room27.GetRoomUserManager().GetRoomUsers())
                            {
                                user23.ApplyEffect(0x6c);
                            }
                        }
                        return true;

                    case "massenable":
                        if (this.Session.GetHabbo().GotCommand("massenable"))
                        {
                            Room room28 = CyberEnvironment.GetGame().GetRoomManager().GetRoom(this.Session.GetHabbo().CurrentRoomId);
                            room28.GetRoomUserManager().GetRoomUserByHabbo(this.Session.GetHabbo().Id);
                            foreach (RoomUser user24 in room28.GetRoomUserManager().GetRoomUsers())
                            {
                                if (!user24.RidingHorse)
                                {
                                    user24.ApplyEffect(Convert.ToInt32(Params[1]));
                                }
                            }
                        }
                        return true;

                    case "givecredits":
                    case "credits":
                    case "coins":
                        if (this.Session.GetHabbo().GotCommand("credits"))
                        {
                            int num11;
                            GameClient client16 = null;
                            Room room47 = this.Session.GetHabbo().CurrentRoom;
                            client16 = CyberEnvironment.GetGame().GetClientManager().GetClientByUsername(Params[1]);
                            if (client16 == null)
                            {
                                this.Session.SendNotif("User could not be found.");
                                return true;
                            }
                            if (!int.TryParse(Params[2], out num11))
                            {
                                this.Session.SendNotif("Invalid numbers no, please!");
                                return true;
                            }
                            client16.GetHabbo().Credits += num11;
                            client16.GetHabbo().UpdateCreditsBalance();
                            client16.SendNotif(this.Session.GetHabbo().Username + " gave you " + num11.ToString() + " credits :3");
                            this.Session.SendNotif("You succesfully updated the user's purse!");
                        }
                        return true;

                    case "pixels":
                    case "givepixels":
                    case "duckets":
                        if (this.Session.GetHabbo().GotCommand("duckets"))
                        {
                            int num12;
                            GameClient client17 = null;
                            Room room48 = this.Session.GetHabbo().CurrentRoom;
                            client17 = CyberEnvironment.GetGame().GetClientManager().GetClientByUsername(Params[1]);
                            if (client17 == null)
                            {
                                this.Session.SendNotif("User could not be found.");
                                return true;
                            }
                            if (!int.TryParse(Params[2], out num12))
                            {
                                this.Session.SendNotif("Invalid numbers no, please!");
                                return true;
                            }
                            client17.GetHabbo().ActivityPoints += num12;
                            this.Session.GetHabbo().NotifyNewPixels(num12);
                            client17.GetHabbo().UpdateActivityPointsBalance();
                            client17.SendNotif(this.Session.GetHabbo().Username + " gave you " + num12.ToString() + " Duckets!");
                            this.Session.SendNotif("You succesfully updated the User's Duckets balance!");
                        }
                        return true;

                    case "belcredits":
                    case "diamonds":
                    case "diamantes":
                    case "givediamonds":
                    case "loyalty":
                        if (this.Session.GetHabbo().GotCommand("diamonds"))
                        {
                            int num13;
                            GameClient client18 = null;
                            Room room49 = this.Session.GetHabbo().CurrentRoom;
                            client18 = CyberEnvironment.GetGame().GetClientManager().GetClientByUsername(Params[1]);
                            if (client18 == null)
                            {
                                this.Session.SendNotif("User could not be found.");
                                return true;
                            }
                            if (!int.TryParse(Params[2], out num13))
                            {
                                this.Session.SendNotif("OMG Numbers only, please!");
                                return true;
                            }
                            client18.GetHabbo().BelCredits += num13;
                            client18.GetHabbo().UpdateSeasonalCurrencyBalance();
                            client18.SendNotif(this.Session.GetHabbo().Username + " gave you " + num13.ToString() + " Diamonds!");
                            this.Session.SendNotif("You gave him/her diamonds!");
                        }
                        return true;

                    case "oldha":
                    case "ha":
                        if (this.Session.GetHabbo().GotCommand("ha"))
                        {
                            string str16 = MergeParams(Params, 1);
                            ServerMessage message8 = new ServerMessage(Outgoing.BroadcastNotifMessageComposer);
                            message8.AppendString(str16 + "\r\n- " + this.Session.GetHabbo().Username);
                            CyberEnvironment.GetGame().GetClientManager().QueueBroadcaseMessage(message8);
                            CyberEnvironment.GetGame().GetModerationTool().LogStaffEntry(this.Session.GetHabbo().Username, string.Empty, "HotelAlert", "Hotel alert [" + str16 + "]");
                        }
                        return true;

                    case "apagar":
                    case "shutdown":
                        if (this.Session.GetHabbo().GotCommand("shutdown"))
                        {
                            new Task(new Action(CyberEnvironment.PerformShutDown)).Start();
                            CyberEnvironment.GetGame().GetModerationTool().LogStaffEntry(this.Session.GetHabbo().Username, string.Empty, "Shutdown", "Issued shutdown command");
                        }
                        return true;

                    case "disconnect":
                    case "dc":
                        {
                            if (!this.Session.GetHabbo().GotCommand("dc"))
                            {
                                return true;//3FFD;
                            }
                            GameClient client20 = null;
                            Room room51 = this.Session.GetHabbo().CurrentRoom;
                            client20 = CyberEnvironment.GetGame().GetClientManager().GetClientByUsername(Params[1]);
                            if (client20 != null)
                            {
                                if ((client20.GetHabbo().Rank >= this.Session.GetHabbo().Rank))
                                {
                                    this.Session.SendNotif("You are not allowed to disconnect that user.");
                                    return true;
                                }
                                CyberEnvironment.GetGame().GetModerationTool().LogStaffEntry(this.Session.GetHabbo().Username, client20.GetHabbo().Username, "Disconnect", "User disconnected by user");
                                client20.GetConnection().Dispose();
                                return true;//3FFD;
                            }
                            this.Session.SendNotif("User not found.");
                            return true;
                        }
                    case "superha":
                    case "supernotif":
                        {
                            if (!this.Session.GetHabbo().GotCommand("superha"))
                            {
                                return false;
                            }
                            string notice = "";
                            string picture = "alert";
                            notice = MergeParams(Params, 1);
                            CyberEnvironment.GetGame().GetClientManager().SendSuperNotif("Notificaci\x00f3n", notice, picture, this.Session, "", "", true, false);
                            return true;
                        }

                    // TODO Review this here.
                    //case "update_furnisprites":
                    //    {
                    //        if (this.Session.GetHabbo().GotCommand("ri"))
                    //        {
                    //            CyberEnvironment.GetGame().GetItemManager().UpdateFlats();
                    //        }
                    //        return true;
                    //    }

                    //case "testgccollect":
                    //    {
                    //        if (this.Session.GetHabbo().GotCommand("ri"))
                    //        {
                    //            GC.Collect();
                    //        }
                    //        return true;
                    //    }

                    case "anonha":
                        {
                            if (this.Session.GetHabbo().GotCommand("anonha"))
                            {
                                string str16 = MergeParams(Params, 1);
                                ServerMessage message8 = new ServerMessage(Outgoing.BroadcastNotifMessageComposer);
                                message8.AppendString(str16);
                                CyberEnvironment.GetGame().GetClientManager().QueueBroadcaseMessage(message8);

                            }
                            return true;
                        }
                    case "eventha":
                        {
                            if (!this.Session.GetHabbo().GotCommand("eventha"))
                            {
                                return false;
                            }
                            string str19 = MergeParams(Params, 1);
                            CyberEnvironment.GetGame().GetClientManager().SendSuperNotif("\x00a1Evento!", str19, "game_promo_small", this.Session, "event:navigator/goto/" + this.Session.GetHabbo().CurrentRoom.RoomId, "Ir para o quarto", true, true);
                            return true;
                        }
                    case "dcroom":
                        if (!this.Session.GetHabbo().GotCommand("dcroom"))
                        {
                            return false;
                        }
                        foreach (RoomUser user25 in this.Session.GetHabbo().CurrentRoom.GetRoomUserManager().UserList.Values)
                        {
                            if (((user25 != null) && (user25.GetClient() != null)) && ((this.Session.GetHabbo().Id != user25.GetClient().GetHabbo().Id) && (user25.GetClient().GetHabbo().Rank < this.Session.GetHabbo().Rank)))
                            {
                                user25.GetClient().GetConnection().Dispose();
                            }
                        }
                        return true;

                    case "dchotel":
                        if (!this.Session.GetHabbo().GotCommand("dchotel"))
                        {
                            return false;
                        }
                        foreach (GameClient client in CyberEnvironment.GetGame().GetClientManager().clients.Values)
                        {
                            if (client != null && client != Session)
                            {
                                client.GetConnection().Dispose();
                            }
                        }
                        return true;

                    case "reloadall":
                        if (this.Session.GetHabbo().GotCommand("reloadall"))
                        {
                            foreach (Room room30 in CyberEnvironment.GetGame().GetRoomManager().loadedRooms.Values)
                            {
                                if ((room30 != null) && room30.CheckRights(this.Session, true, false))
                                {
                                    CyberEnvironment.GetGame().GetRoomManager().UnloadRoom(room30);
                                    //     room30.RequestReload();
                                }
                            }
                        }
                        return false;

                    case "coord":
                    case "coords":
                    case "position":
                        {
                            if (!this.Session.GetHabbo().GotCommand("coords"))
                            {
                                return true;//436A;
                            }
                            Room room31 = this.Session.GetHabbo().CurrentRoom;
                            RoomUser user26 = null;
                            room31 = CyberEnvironment.GetGame().GetRoomManager().GetRoom(this.Session.GetHabbo().CurrentRoomId);
                            if (room31 != null)
                            {
                                user26 = room31.GetRoomUserManager().GetRoomUserByHabbo(this.Session.GetHabbo().Id);
                                if (user26 == null)
                                {
                                    return true;
                                }
                                this.Session.SendNotif(string.Concat(new object[] { "X: ", user26.X, "\n - Y: ", user26.Y, "\n - Z: ", user26.Z, "\n - Rot: ", user26.RotBody, ", sqState: ", room31.GetGameMap().GameMap[user26.X, user26.Y].ToString(), "\n\n - RoomID: ", this.Session.GetHabbo().CurrentRoomId }));
                                return true;//436A;
                            }
                            return true;
                        }
                    case "teleport":
                    case "tele":
                        {
                            if (!this.Session.GetHabbo().GotCommand("tele"))
                            {
                                return true;//4419;
                            }
                            Room room32 = this.Session.GetHabbo().CurrentRoom;
                            RoomUser user27 = null;
                            room32 = CyberEnvironment.GetGame().GetRoomManager().GetRoom(this.Session.GetHabbo().CurrentRoomId);
                            user27 = room32.GetRoomUserManager().GetRoomUserByHabbo(this.Session.GetHabbo().Id);
                            if (!user27.RidingHorse)
                            {
                                if (user27 == null)
                                {
                                    return true;
                                }
                                user27.TeleportEnabled = !user27.TeleportEnabled;
                                room32.GetGameMap().GenerateMaps(true);
                                return true;//4419;
                            }
                            SendChatMessage(this.Session, "You cannot teleport whilst riding a horse!");
                            return true;
                        }

                    case "update_youtube":
                    case "refresh_youtube":
                        if (!this.Session.GetHabbo().GotCommand("refresh_youtube"))
                        {
                            return false;
                        }
                        this.Session.SendWhisper("Please wait, updating YouTube playlists...");
                        using (IQueryAdapter adapter5 = CyberEnvironment.GetDatabaseManager().getQueryReactor())
                        {
                            CyberEnvironment.GetGame().GetVideoManager().Load(adapter5);
                        }
                        this.Session.SendWhisper("Done! YouTube playlists were reloaded.");
                        return true;

                    case "reload_polls":
                    case "refresh_polls":
                    case "update_polls":
                        if (!this.Session.GetHabbo().GotCommand("refresh_polls"))
                        {
                            return false;
                        }
                        using (IQueryAdapter adapter5 = CyberEnvironment.GetDatabaseManager().getQueryReactor())
                        {
                            CyberEnvironment.GetGame().GetPollManager().Init(adapter5);
                        }
                        return true;

                    case "update_breeds":
                    case "refresh_petbreeds":
                        if (!this.Session.GetHabbo().GotCommand("refresh_petbreeds"))
                        {
                            return false;
                        }
                        using (IQueryAdapter adapter6 = CyberEnvironment.GetDatabaseManager().getQueryReactor())
                        {
                            PetRace.Init(adapter6);
                        }
                        return true;

                    case "update_publi":
                    case "refresh_bannedhotels":
                        if (!this.Session.GetHabbo().GotCommand("refresh_bannedhotels"))
                        {
                            return false;
                        }
                        using (IQueryAdapter adapter7 = CyberEnvironment.GetDatabaseManager().getQueryReactor())
                        {
                            AntiPublicistas.Load(adapter7);
                        }
                        return true;

                    case "update_songs":
                    case "refresh_songs":
                        if (!this.Session.GetHabbo().GotCommand("refresh_songs"))
                        {
                            return false;
                        }
                        Cyber.HabboHotel.SoundMachine.SongManager.Initialize();

                        return true;

                    case "update_achievements":
                    case "refresh_achievements":
                        if (!this.Session.GetHabbo().GotCommand("refresh_achievements"))
                        {
                            return false;
                        }
                        CyberEnvironment.GetGame().GetAchievementManager().LoadAchievements(CyberEnvironment.GetDatabaseManager().getQueryReactor());

                        return true;



                    case "update_catalog":
                    case "reload_catalog":
                    case "recache_catalog":
                    case "refresh_catalog":
                    case "update_catalogue":
                    case "reload_catalogue":
                    case "recache_catalogue":
                    case "refresh_catalogue":
                    case "refreshcata":
                        if (this.Session.GetHabbo().GotCommand("refresh_catalogue"))
                        {
                            using (IQueryAdapter adapter8 = CyberEnvironment.GetDatabaseManager().getQueryReactor())
                            {
                                CyberEnvironment.GetGame().GetCatalog().Initialize(adapter8);
                            }
                            CyberEnvironment.GetGame().GetClientManager().QueueBroadcaseMessage(new ServerMessage(Outgoing.PublishShopMessageComposer));
                        }
                        return true;

                    case "refresh_promos":
                        if (this.Session.GetHabbo().GotCommand("refresh_promos"))
                        {
                            CyberEnvironment.GetGame().GetHotelView().RefreshPromoList();
                        }
                        return true;

                    case "update_items":
                    case "reload_items":
                    case "recache_items":
                    case "refresh_items":
                        if (this.Session.GetHabbo().GotCommand("refresh_items"))
                        {
                            using (IQueryAdapter adapter9 = CyberEnvironment.GetDatabaseManager().getQueryReactor())
                            {
                                CyberEnvironment.GetGame().GetItemManager().LoadItems(adapter9);
                            }
                        }
                        return true;

                    case "update_navigator":
                    case "reload_navigator":
                    case "recache_navigator":
                    case "refresh_navigator":
                        if (this.Session.GetHabbo().GotCommand("refresh_navigator"))
                        {
                            using (IQueryAdapter adapter11 = CyberEnvironment.GetDatabaseManager().getQueryReactor())
                            {
                                CyberEnvironment.GetGame().GetNavigator().Initialize(adapter11);
                            }
                            this.Session.SendNotif("The navigator has been updated!");
                        }
                        return true;

                    case "update_ranks":
                    case "reload_ranks":
                    case "recache_ranks":
                    case "refresh_ranks":
                        if (this.Session.GetHabbo().GotCommand("refresh_ranks"))
                        {
                            using (IQueryAdapter adapter12 = CyberEnvironment.GetDatabaseManager().getQueryReactor())
                            {
                                CyberEnvironment.GetGame().GetRoleManager().LoadRights(adapter12);
                            }
                            this.Session.SendNotif("Ranks have been refreshed!");
                        }
                        return true;

                    case "update_settings":
                    case "reload_settings":
                    case "recache_settings":
                    case "refresh_settings":
                        if (this.Session.GetHabbo().GotCommand("refresh_settings"))
                        {
                            using (IQueryAdapter adapter13 = CyberEnvironment.GetDatabaseManager().getQueryReactor())
                            {
                                CyberEnvironment.ConfigData = new ConfigData(adapter13);
                            }
                        }
                        return true;

                    case "update_groups":
                    case "reload_groups":
                    case "recache_groups":
                    case "refresh_groups":
                        if (this.Session.GetHabbo().GotCommand("refresh_groups"))
                        {
                            CyberEnvironment.GetGame().GetGroupManager().InitGroups();
                            this.Session.SendNotif("Groups have been successfully reloaded");
                        }
                        return true;

                    case "update_bans":
                    case "refresh_bans":
                        if (this.Session.GetHabbo().GotCommand("refresh_bans"))
                        {
                            using (IQueryAdapter adapter14 = CyberEnvironment.GetDatabaseManager().getQueryReactor())
                            {
                                CyberEnvironment.GetGame().GetBanManager().LoadBans(adapter14);
                            }
                            this.Session.SendNotif("Bans have been refreshed!");
                        }
                        return true;

                    case "update_quests":
                    case "refresh_quests":
                        if (this.Session.GetHabbo().GotCommand("refresh_quests"))
                        {
                            CyberEnvironment.GetGame().GetQuestManager().Initialize(CyberEnvironment.GetDatabaseManager().getQueryReactor());
                            this.Session.SendNotif("Quests have been successfully reloaed!");
                        }
                        return true;

                    case "spull":
                        if (this.Session.GetHabbo().HasFuse("fuse_vip_commands") || this.Session.GetHabbo().VIP)
                        {
                            Room room33 = this.Session.GetHabbo().CurrentRoom;
                            if (room33 == null)
                            {
                                return true;
                            }
                            RoomUser user28 = room33.GetRoomUserManager().GetRoomUserByHabbo(this.Session.GetHabbo().Id);
                            if (user28 == null)
                            {
                                return true;
                            }
                            if (Params.Length == 1)
                            {
                                return true;
                            }
                            GameClient client21 = CyberEnvironment.GetGame().GetClientManager().GetClientByUsername(Params[1]);
                            if (client21 == null)
                            {
                                return true;
                            }

                            RoomUser user29 = room33.GetRoomUserManager().GetRoomUserByHabbo(client21.GetHabbo().Id);
                            if (client21.GetHabbo().Id == this.Session.GetHabbo().Id)
                            {
                                SendChatMessage(this.Session, "\x00a1No puedes empujarte a ti mismo!");
                                return true;
                            }
                            if (user29.TeleportEnabled)
                            {
                                return true;
                            }
                            if ((user28.RotBody % 2) != 0)
                            {
                                user28.RotBody--;
                            }
                            if (user28.RotBody == 0)
                            {
                                user29.MoveTo(user28.X, user28.Y - 1);
                            }
                            else if (user28.RotBody == 2)
                            {
                                user29.MoveTo(user28.X + 1, user28.Y);
                            }
                            else if (user28.RotBody == 4)
                            {
                                user29.MoveTo(user28.X, user28.Y + 1);
                            }
                            else if (user28.RotBody == 6)
                            {
                                user29.MoveTo(user28.X - 1, user28.Y);
                            }
                        }
                        return true;

                    case "globalcredits":
                        if (!this.Session.GetHabbo().GotCommand("globalcredits"))
                        {
                            return true;//4A0D;
                        }
                        if (Params.Length != 1)
                        {
                            try
                            {
                                int amount = int.Parse(Params[1]);
                                using (IQueryAdapter adapter15 = CyberEnvironment.GetDatabaseManager().getQueryReactor())
                                {
                                    adapter15.runFastQuery("UPDATE users SET credits=credits+" + amount);
                                }

                                foreach (GameClient Client in CyberEnvironment.GetGame().GetClientManager().clients.Values)
                                {
                                    if (Client.GetHabbo() != null)
                                    {
                                        Client.GetHabbo().Credits += amount;
                                        Client.GetHabbo().UpdateCreditsBalance();
                                    }
                                }
                            }
                            catch
                            {
                            }
                            return true;//4A0D;
                        }
                        this.Session.SendNotif("You need to enter an amount!");
                        return true;

                    case "masscredits":
                        if (!this.Session.GetHabbo().GotCommand("masscredits"))
                        {
                            return true;//4A9D;
                        }
                        if (Params.Length != 1)
                        {
                            try
                            {
                                int num16 = int.Parse(Params[1]);
                                foreach (GameClient Client in CyberEnvironment.GetGame().GetClientManager().clients.Values)
                                {
                                    if (Client.GetHabbo() != null)
                                    {
                                        Client.GetHabbo().Credits += num16;
                                        Client.GetHabbo().UpdateCreditsBalance();
                                    }
                                }
                            }
                            catch
                            {
                            }
                            return true;//4A9D;
                        }
                        this.Session.SendNotif("You need to enter an amount!");
                        return true;

                    case "massbelcredits":
                    case "massdiamonds":
                        if (!this.Session.GetHabbo().GotCommand("masscredits"))
                        {
                            return true;//4B40;
                        }
                        if (Params.Length != 1)
                        {
                            try
                            {
                                int num17 = int.Parse(Params[1]);
                                foreach (GameClient client22 in CyberEnvironment.GetGame().GetClientManager().clients.Values)
                                {
                                    Habbo habbo4 = client22.GetHabbo();
                                    habbo4.BelCredits += num17;
                                    client22.GetHabbo().UpdateSeasonalCurrencyBalance();
                                }
                            }
                            catch
                            {
                            }
                            return true;//4B40;
                        }
                        this.Session.SendNotif("Ingresa monto.");
                        return true;

                    case "placa":
                    case "darplaca":
                    case "badge":
                    case "givebadge":
                        if (this.Session.GetHabbo().GotCommand("givebadge"))
                        {
                            if (Params.Length == 3)
                            {
                                GameClient client23 = null;
                                Room room52 = this.Session.GetHabbo().CurrentRoom;
                                client23 = CyberEnvironment.GetGame().GetClientManager().GetClientByUsername(Params[1]);
                                if (client23 != null)
                                {
                                    client23.GetHabbo().GetBadgeComponent().GiveBadge(Params[2], true, client23, false);
                                    CyberEnvironment.GetGame().GetModerationTool().LogStaffEntry(this.Session.GetHabbo().Username, client23.GetHabbo().Username, "Badge", "Badge given to user [" + Params[2] + "]");
                                    return true;
                                }
                                this.Session.SendNotif("User no se encontr\x00f3.");
                                return true;
                            }
                            this.Session.SendNotif("\x00a1Incluye c\x00f3digo de placa y User!");
                        }
                        return true;

                    case "quitarplaca":
                    case "takebadge":
                        if (this.Session.GetHabbo().GotCommand("takebadge"))
                        {
                            if (Params.Length == 3)
                            {
                                GameClient client23 = null;
                                Room room52 = this.Session.GetHabbo().CurrentRoom;
                                client23 = CyberEnvironment.GetGame().GetClientManager().GetClientByUsername(Params[1]);
                                if (client23 != null)
                                {
                                    if (client23.GetHabbo().GetBadgeComponent().HasBadge(Params[2]))
                                    {
                                        client23.GetHabbo().GetBadgeComponent().RemoveBadge(Params[2], client23);
                                        CyberEnvironment.GetGame().GetModerationTool().LogStaffEntry(this.Session.GetHabbo().Username, client23.GetHabbo().Username, "Badge Taken", "Badge taken from user [" + Params[2] + "]");
                                        return true;
                                    }
                                    else
                                    {
                                        this.Session.SendNotif("El User no tiene esa placa.");
                                        return true;
                                    }
                                }
                                this.Session.SendNotif("User no se encontr\x00f3.");
                                return true;
                            }
                            this.Session.SendNotif("\x00a1Incluye c\x00f3digo de placa y User!");
                        }
                        return true;

                    case "roombadge":
                        if (!this.Session.GetHabbo().GotCommand("roombadge"))
                        {
                            return true;//4CDC;
                        }
                        if (Params.Length != 1)
                        {
                            Room room34 = this.Session.GetHabbo().CurrentRoom;
                            if (this.Session.GetHabbo().CurrentRoom == null)
                            {
                                return true;
                            }

                            foreach (RoomUser current in room34.GetRoomUserManager().UserList.Values)
                            {
                                try
                                {
                                    if (!current.IsBot && current.GetClient() != null && current.GetClient().GetHabbo() != null)
                                    {
                                        current.GetClient().GetHabbo().GetBadgeComponent().GiveBadge(Params[1], true, current.GetClient(), false);
                                    }
                                }
                                catch
                                {
                                }
                            }

                            CyberEnvironment.GetGame().GetModerationTool().LogStaffEntry(this.Session.GetHabbo().Username, string.Empty, "Badge", string.Concat(new object[] { "Roombadge in room [", room34.RoomId, "] with badge [", Params[1], "]" }));
                            return true;//4CDC;
                        }

                        this.Session.SendNotif("You must enter a badge code!");
                        return true;

                    case "massbadge":
                        if (!this.Session.GetHabbo().GotCommand("massbadge"))
                        {
                            return true;//4D71;
                        }
                        if (Params.Length != 1)
                        {
                            Room room53 = this.Session.GetHabbo().CurrentRoom;
                            CyberEnvironment.GetGame().GetClientManager().QueueBadgeUpdate(Params[1]);
                            CyberEnvironment.GetGame().GetModerationTool().LogStaffEntry(this.Session.GetHabbo().Username, string.Empty, "Badge", "Mass badge with badge [" + Params[1] + "]");
                            new ServerMessage();
                            return true;//4D71;
                        }
                        this.Session.SendNotif("You must enter a badge code!");
                        return true;

                    case "alleyesonme":
                        {
                            if (!this.Session.GetHabbo().GotCommand("alleyesonme"))
                            {
                                return false;//4E6D;
                            }
                            Room room54 = this.Session.GetHabbo().CurrentRoom;
                            if (this.Session.GetHabbo().CurrentRoom != null)
                            {
                                Room room35 = CyberEnvironment.GetGame().GetRoomManager().GetRoom(this.Session.GetHabbo().CurrentRoomId);
                                RoomUser user30 = room35.GetRoomUserManager().GetRoomUserByHabbo(this.Session.GetHabbo().Id);
                                foreach (RoomUser user31 in room35.GetRoomUserManager().GetRoomUsers())
                                {
                                    if (this.Session.GetHabbo().Id != user31.UserID)
                                    {
                                        user31.SetRot(PathFinder.CalculateRotation(user31.X, user31.Y, user30.X, user30.Y));
                                    }
                                }
                                return true;//4E6D;
                            }
                            return true;
                        }
                    case "ipban":
                    case "banip":
                        if (this.Session.GetHabbo().GotCommand("ipban"))
                        {
                            if (Params.Length == 1)
                            {
                                this.Session.SendNotif("You must include a username and reason!");
                            }
                            GameClient client24 = CyberEnvironment.GetGame().GetClientManager().GetClientByUsername(Params[1].ToString());
                            if (client24 == null)
                            {
                                this.Session.SendNotif("An unknown error occured whilst finding this user!");
                                return true;
                            }
                            try
                            {
                                CyberEnvironment.GetGame().GetBanManager().BanUser(client24, this.Session.GetHabbo().Username, 788922000.0, MergeParams(Params, 2), true, false);
                            }
                            catch (Exception exception2)
                            {
                                Console.WriteLine(exception2);
                            }
                        }
                        return true;

                    case "machineban":
                    case "banmachine":
                    case "mban":
                        if (this.Session.GetHabbo().GotCommand("machineban"))
                        {
                            if (Params.Length == 1)
                            {
                                this.Session.SendNotif("You must include a username and reason!");
                            }
                            GameClient client25 = CyberEnvironment.GetGame().GetClientManager().GetClientByUsername(Params[1].ToString());
                            if (client25 == null)
                            {
                                this.Session.SendNotif("An unknown error occured whilst finding this user!");
                                return true;
                            }
                            if (string.IsNullOrWhiteSpace(client25.MachineId))
                            {
                                this.Session.SendNotif("Unable to ban this user, they don't have a machine ID");
                                return true;
                            }
                            try
                            {
                                CyberEnvironment.GetGame().GetBanManager().BanUser(client25, this.Session.GetHabbo().Username, 2678400.0, "You have been banned! The reason given was:\n" + MergeParams(Params, 2), false, true);
                            }
                            catch (Exception exception3)
                            {
                                Console.WriteLine(exception3);
                            }
                        }
                        return true;

                    case "mip":
                        if (this.Session.GetHabbo().GotCommand("mip"))
                        {
                            if (Params.Length == 1)
                            {
                                this.Session.SendNotif("You must include a username and reason!");
                            }
                            GameClient client26 = CyberEnvironment.GetGame().GetClientManager().GetClientByUsername(Params[1].ToString());
                            if (client26 == null)
                            {
                                this.Session.SendNotif("An unknown error occured whilst finding this user!");
                                return true;
                            }
                            try
                            {
                                if (string.IsNullOrWhiteSpace(client26.MachineId))
                                {
                                    this.Session.SendNotif("Unable to ban this user, they don't have a machine ID");
                                    return true;
                                }
                                CyberEnvironment.GetGame().GetBanManager().BanUser(client26, this.Session.GetHabbo().Username, 2678400.0, "You have been banned! The reason given was:\n" + MergeParams(Params, 2), false, true);
                                CyberEnvironment.GetGame().GetBanManager().BanUser(client26, this.Session.GetHabbo().Username, 788922000.0, MergeParams(Params, 2), true, false);
                            }
                            catch (Exception exception4)
                            {
                                Console.WriteLine(exception4);
                            }
                        }
                        return true;

                    case "allaroundme":
                        {
                            if (!this.Session.GetHabbo().GotCommand("allaroundme"))
                            {
                                return true;//5258;
                            }
                            Room room55 = this.Session.GetHabbo().CurrentRoom;
                            if (this.Session.GetHabbo().CurrentRoom != null)
                            {
                                Room room36 = CyberEnvironment.GetGame().GetRoomManager().GetRoom(this.Session.GetHabbo().CurrentRoomId);
                                RoomUser user32 = room36.GetRoomUserManager().GetRoomUserByHabbo(this.Session.GetHabbo().Id);
                                HashSet<RoomUser> list6 = room36.GetRoomUserManager().GetRoomUsers();
                                foreach (RoomUser user33 in list6)
                                {
                                    if (this.Session.GetHabbo().Id != user33.UserID)
                                    {
                                        user33.MoveTo(user32.X, user32.Y, true);
                                    }
                                }
                                if ((Params.Length == 2) && (Params[1] == "override"))
                                {
                                    foreach (RoomUser user34 in list6)
                                    {
                                        if (this.Session.GetHabbo().Id != user34.UserID)
                                        {
                                            user34.AllowOverride = true;
                                            user34.MoveTo(user32.X, user32.Y, true);
                                            user34.AllowOverride = false;
                                        }
                                    }
                                }
                                return true;//5258;
                            }
                            this.Session.SendNotif("An unknown error occured!");
                            return true;
                        }
                    case "sayall":
                        if (this.Session.GetHabbo().GotCommand("sayall"))
                        {
                            Room room37 = this.Session.GetHabbo().CurrentRoom;
                            if (room37 != null)
                            {
                                string str20 = MergeParams(Params, 1);
                                if (str20 != "")
                                {
                                    foreach (RoomUser user35 in room37.GetRoomUserManager().GetRoomUsers())
                                    {
                                        user35.Chat(user35.GetClient(), str20, false, 0, 0);
                                    }
                                }
                            }
                        }
                        return true;

                    case "hal":
                        if (this.Session.GetHabbo().GotCommand("hal"))
                        {
                            Room room56 = this.Session.GetHabbo().CurrentRoom;
                            string str21 = Params[1];
                            string str22 = MergeParams(Params, 2);
                            ServerMessage message9 = new ServerMessage(Outgoing.AlertNotificationMessageComposer);
                            message9.AppendString(str22 + "\r\n-" + this.Session.GetHabbo().Username);
                            message9.AppendString(str21);
                            CyberEnvironment.GetGame().GetClientManager().QueueBroadcaseMessage(message9);
                            CyberEnvironment.GetGame().GetModerationTool().LogStaffEntry(this.Session.GetHabbo().Username, string.Empty, "HotelAlert", "Hotel alert [" + str22 + "]");
                        }
                        return true;

                    case "sa":
                    case "sm":
                        if (this.Session.GetHabbo().GotCommand("sa"))
                        {
                            string str23 = MergeParams(Params, 1);
                            ServerMessage message10 = new ServerMessage(Outgoing.SuperNotificationMessageComposer);
                            message10.AppendString("staffcloud");
                            message10.AppendInt32(2);
                            message10.AppendString("title");
                            message10.AppendString("Mensaje entre Staff");
                            message10.AppendString("message");
                            message10.AppendString("<b><font color=\"#6E09A0\" size=\"14\">Mensaje entre Staffs:</font></b>\r\n" + str23 + "\r\n- <i>" + this.Session.GetHabbo().Username + "</i>");
                            CyberEnvironment.GetGame().GetClientManager().StaffAlert(message10, 0);
                            CyberEnvironment.GetGame().GetModerationTool().LogStaffEntry(this.Session.GetHabbo().Username, string.Empty, "StaffAlert", "Staff alert [" + str23 + "]");
                        }
                        return true;

                    case "invisible":
                    case "spec":
                    case "spectatorsmode":
                        if (this.Session.GetHabbo().GotCommand("invisible"))
                        {
                            if (this.Session.GetHabbo().SpectatorMode)
                            {
                                this.Session.GetHabbo().SpectatorMode = false;
                                this.Session.SendNotif("You are not invisible anymore.");
                            }
                            else
                            {
                                this.Session.GetHabbo().SpectatorMode = true;
                                this.Session.SendNotif("Reload the room to be invisible");
                            }
                        }
                        return true;


                    case "makepublic":
                        {
                            if (!this.Session.GetHabbo().GotCommand("makepublic"))
                            {
                                return true;//56EA;
                            }
                            Room room38 = this.Session.GetHabbo().CurrentRoom;
                            if (room38 != null)
                            {
                                using (IQueryAdapter adapter17 = CyberEnvironment.GetDatabaseManager().getQueryReactor())
                                {
                                    adapter17.runFastQuery("UPDATE rooms SET roomtype='public' WHERE id=" + room38.RoomId + " LIMIT 1");
                                }
                                room38.Type = "public";
                                room38.RoomData.Type = "public";
                                room38.RoomData.SerializeRoomData(new ServerMessage(), false, this.Session, true);
                                return true;//56EA;
                            }
                            return true;
                        }
                    case "makeprivate":
                        {
                            if (!this.Session.GetHabbo().GotCommand("makeprivate"))
                            {
                                return true;//5790
                            }
                            Room room39 = this.Session.GetHabbo().CurrentRoom;
                            if (room39 != null)
                            {
                                using (IQueryAdapter adapter18 = CyberEnvironment.GetDatabaseManager().getQueryReactor())
                                {
                                    adapter18.runFastQuery("UPDATE rooms SET roomtype='private' WHERE id=" + room39.RoomId + " LIMIT 1");
                                }
                                room39.Type = "private";
                                room39.RoomData.Type = "private";
                                room39.RoomData.SerializeRoomData(new ServerMessage(), false, this.Session, true);
                                return true;//5790;
                            }
                            return true;
                        }

                    case "roomaction":
                        if (this.Session.GetHabbo().GotCommand("roomaction"))
                        {
                            try
                            {
                                Room room40 = this.Session.GetHabbo().CurrentRoom;
                                HashSet<RoomUser> list7 = room40.GetRoomUserManager().GetRoomUsers();
                                int action = short.Parse(Params[1]);
                                new ServerMessage();
                                foreach (RoomUser user37 in list7)
                                {
                                    if (user37 != null)
                                    {
                                        ServerMessage ActionMsg = new ServerMessage();
                                        ActionMsg.Init(Outgoing.RoomUserActionMessageComposer);
                                        ActionMsg.AppendInt32(user37.VirtualId);
                                        ActionMsg.AppendInt32(action);
                                        room40.SendMessage(ActionMsg);
                                    }
                                }
                            }
                            catch
                            {
                            }
                        }
                        return true;


                }
            }
            return false;
        }
示例#17
0
		internal bool tryLogin(string AuthTicket)
		{
			try
			{
				string ip = this.GetConnection().getIp();
				byte b = 0;
				UserData userData = UserDataFactory.GetUserData(AuthTicket, ip, out b);
				bool result;
				if (b == 1)
				{
					result = false;
					return result;
				}
				if (b == 2)
				{
					result = false;
					return result;
				}
				CyberEnvironment.GetGame().GetClientManager().RegisterClient(this, userData.userID, userData.user.Username);
				this.Habbo = userData.user;
				userData.user.LoadData(userData);
				string banReason = CyberEnvironment.GetGame().GetBanManager().GetBanReason(userData.user.Username, ip, this.MachineId);
				if (!string.IsNullOrEmpty(banReason) || userData.user.Username == null)
				{
					this.SendNotifWithScroll(banReason);
					using (IQueryAdapter queryreactor = CyberEnvironment.GetDatabaseManager().getQueryReactor())
					{
						queryreactor.setQuery("SELECT ip_last FROM users WHERE id=" + this.GetHabbo().Id + " LIMIT 1");
						string @string = queryreactor.getString();
						queryreactor.setQuery("SELECT COUNT(0) FROM bans_access WHERE user_id=" + this.Habbo.Id + " LIMIT 1");
						int integer = queryreactor.getInteger();
						if (integer > 0)
						{
							queryreactor.runFastQuery(string.Concat(new object[]
							{
								"UPDATE bans_access SET attempts = attempts + 1, ip='",
								@string,
								"' WHERE user_id=",
								this.GetHabbo().Id,
								" LIMIT 1"
							}));
						}
						else
						{
							queryreactor.runFastQuery(string.Concat(new object[]
							{
								"INSERT INTO bans_access (user_id, ip) VALUES (",
								this.GetHabbo().Id,
								", '",
								@string,
								"')"
							}));
						}
					}
					result = false;
					return result;
				}
				userData.user.Init(this, userData);
				QueuedServerMessage queuedServerMessage = new QueuedServerMessage(this.Connection);
				ServerMessage serverMessage = new ServerMessage(Outgoing.UniqueMachineIDMessageComposer);
				serverMessage.AppendString(this.MachineId);
				queuedServerMessage.appendResponse(serverMessage);
				queuedServerMessage.appendResponse(new ServerMessage(Outgoing.AuthenticationOKMessageComposer));
				if (this.Habbo != null)
				{
					ServerMessage serverMessage2 = new ServerMessage(Outgoing.HomeRoomMessageComposer);
					serverMessage2.AppendUInt(this.Habbo.HomeRoom);
					serverMessage2.AppendUInt(this.Habbo.HomeRoom);
					queuedServerMessage.appendResponse(serverMessage2);
				}
				ServerMessage serverMessage3 = new ServerMessage(Outgoing.MinimailCountMessageComposer);
				serverMessage3.AppendInt32(this.Habbo.MinimailUnreadMessages);
				queuedServerMessage.appendResponse(serverMessage3);

				ServerMessage serverMessage4 = new ServerMessage(Outgoing.FavouriteRoomsMessageComposer);
				serverMessage4.AppendInt32(30);
				serverMessage4.AppendInt32(userData.user.FavoriteRooms.Count);
				object[] array = userData.user.FavoriteRooms.ToArray();
				for (int i = 0; i < array.Length; i++)
				{
					uint i2 = (uint)array[i];
					serverMessage4.AppendUInt(i2);
				}
				queuedServerMessage.appendResponse(serverMessage4);
				

                ServerMessage rightsMessage = new ServerMessage(Outgoing.UserClubRightsMessageComposer);
                rightsMessage.AppendInt32(userData.user.GetSubscriptionManager().HasSubscription ? 2 : 0);
                rightsMessage.AppendUInt(userData.user.Rank);
                rightsMessage.AppendInt32(0);


                queuedServerMessage.appendResponse(rightsMessage);
				ServerMessage serverMessage5 = new ServerMessage(Outgoing.EnableNotificationsMessageComposer);
				serverMessage5.AppendBoolean(true);
				serverMessage5.AppendBoolean(false);
				queuedServerMessage.appendResponse(serverMessage5);
				ServerMessage serverMessage6 = new ServerMessage(Outgoing.EnableTradingMessageComposer);
				serverMessage6.AppendBoolean(true);
				queuedServerMessage.appendResponse(serverMessage6);
				userData.user.UpdateCreditsBalance();
				ServerMessage serverMessage7 = new ServerMessage(Outgoing.ActivityPointsMessageComposer);
				serverMessage7.AppendInt32(2);
				serverMessage7.AppendInt32(0);
				serverMessage7.AppendInt32(userData.user.ActivityPoints);
				serverMessage7.AppendInt32(5);
				serverMessage7.AppendInt32(userData.user.BelCredits);
				queuedServerMessage.appendResponse(serverMessage7);
				if (userData.user.HasFuse("fuse_mod"))
				{
					queuedServerMessage.appendResponse(CyberEnvironment.GetGame().GetModerationTool().SerializeTool());
				}
				if (!string.IsNullOrWhiteSpace(CyberEnvironment.GetDBConfig().DBData["welcome_message"]))
				{
					this.SendBroadcastMessage(CyberEnvironment.GetDBConfig().DBData["welcome_message"]);
				}

                ServerMessage AchievementData = new ServerMessage(Outgoing.SendAchievementsRequirementsMessageComposer);

                AchievementData.AppendInt32(CyberEnvironment.GetGame().GetAchievementManager().Achievements.Count);
                foreach (Achievement Ach in CyberEnvironment.GetGame().GetAchievementManager().Achievements.Values)
                {
                    AchievementData.AppendString(Ach.GroupName.Replace("ACH_", ""));
                    AchievementData.AppendInt32(Ach.Levels.Count);

                    for (int i = 1; i < Ach.Levels.Count + 1; i++)
                    {
                        AchievementData.AppendInt32(i);
                        AchievementData.AppendInt32(Ach.Levels[i].Requirement);
                    }
                }
                AchievementData.AppendInt32(0);
                queuedServerMessage.appendResponse(AchievementData);

                if (!GetHabbo().NUXPassed && ExtraSettings.NEW_USER_GIFTS_ENABLED)
                {
                    queuedServerMessage.appendResponse(new ServerMessage(Outgoing.NuxSuggestFreeGiftsMessageComposer));
                }

                queuedServerMessage.appendResponse(this.GetHabbo().GetAvatarEffectsInventoryComponent().GetPacket());

				queuedServerMessage.sendResponse();
				result = true;
				return result;
			}
			catch (Exception ex)
			{
				Logging.LogCriticalException("Bug during user login: " + ex.Message);
			}
			return false;
		}
示例#18
0
        public bool Execute(params object[] Stuff)
        {
            RoomUser roomUser = (RoomUser)Stuff[0];
            WiredItemType item = (WiredItemType)Stuff[1];

            if (this.mBanned.Contains(item))
            {
                return false;
            }
            if (roomUser == null || roomUser.GetClient() == null || roomUser.GetClient().GetHabbo() == null)
            {
                return false;
            }

            Room Room = roomUser.GetClient().GetHabbo().CurrentRoom;

            if (Room == null)
            {
                return false;
            }

            if (String.IsNullOrWhiteSpace(mText) || String.IsNullOrWhiteSpace(mExtra))
            {
                return false;
            }

            string[] Booleans = mText.Split(',');

            if (Booleans.Length < 3)
            {
                return false;
            }


            bool ExtraData = Booleans[0] == "true";
            bool Rot = Booleans[1] == "true";
            bool Position = Booleans[2] == "true";

            foreach (string ItemData in mExtra.Split('/'))
            {
                if (String.IsNullOrWhiteSpace(ItemData))
                {
                    continue;
                }

                string[] InnerData = ItemData.Split('|');
                uint ItemId = uint.Parse(InnerData[0]);

                
                RoomItem Item = Room.GetRoomItemHandler().GetItem(ItemId);

                if (Item == null)
                {
                    continue;
                }

                string ExtraDataToSet = (ExtraData) ? InnerData[1] : Item.ExtraData;
                int RotationToSet = (Rot) ? int.Parse(InnerData[2]) : Item.Rot;

                string[] Positions = InnerData[3].Split(',');
                int XToSet = (Position) ? int.Parse(Positions[0]) : Item.GetX;
                int YToSet = (Position) ? int.Parse(Positions[1]) : Item.GetY;
                double ZToSet = (Position) ? double.Parse(Positions[2]) : Item.GetZ;

                
                ServerMessage serverMessage = new ServerMessage(Outgoing.ItemAnimationMessageComposer);
                serverMessage.AppendInt32(Item.GetX);
                serverMessage.AppendInt32(Item.GetY);
                serverMessage.AppendInt32(XToSet);
                serverMessage.AppendInt32(YToSet);
                serverMessage.AppendInt32(1);
                serverMessage.AppendUInt(Item.Id);
                serverMessage.AppendString(Item.GetZ.ToString(CyberEnvironment.cultureInfo));
                serverMessage.AppendString(ZToSet.ToString(CyberEnvironment.cultureInfo));
                serverMessage.AppendInt32(0);
                Room.SendMessage(serverMessage);

                Room.GetRoomItemHandler().SetFloorItem(roomUser.GetClient(), Item, XToSet, YToSet, RotationToSet, false, false, false, false);
                Item.ExtraData = ExtraDataToSet;
                Item.UpdateState();
            }
            return true;
        }
示例#19
0
		internal void SendNewItems(uint Id)
		{
			ServerMessage serverMessage = new ServerMessage();
			serverMessage.Init(Outgoing.NewInventoryObjectMessageComposer);
			serverMessage.AppendInt32(1);
			serverMessage.AppendInt32(1);
			serverMessage.AppendInt32(1);
			serverMessage.AppendUInt(Id);
			this.mClient.SendMessage(serverMessage);
		}
示例#20
0
		internal ServerMessage SerializeMusicDiscs()
		{
			ServerMessage serverMessage = new ServerMessage(Outgoing.SongsLibraryMessageComposer);
			serverMessage.AppendInt32(this.discs.Count);
			foreach (UserItem current in 
				from X in this.floorItems.Values.OfType<UserItem>()
				where X.GetBaseItem().InteractionType == InteractionType.musicdisc
				select X)
			{
				uint i = 0u;
				uint.TryParse(current.ExtraData, out i);
				serverMessage.AppendUInt(current.Id);
				serverMessage.AppendUInt(i);
			}
			return serverMessage;
		}
示例#21
0
		internal bool RemovePet(uint PetId)
		{
			this.isUpdated = false;
			ServerMessage serverMessage = new ServerMessage(604);
			serverMessage.AppendUInt(PetId);
			this.GetClient().SendMessage(serverMessage);
			this.InventoryPets.Remove(PetId);
			return true;
		}
示例#22
0
		internal static ServerMessage SerializeTicketChatlog(SupportTicket Ticket, RoomData RoomData, double Timestamp)
		{
			ServerMessage result;
			using (IQueryAdapter queryreactor = CyberEnvironment.GetDatabaseManager().getQueryReactor())
			{
				queryreactor.setQuery(string.Concat(new object[]
				{
					"SELECT user_id,timestamp,message FROM chatlogs WHERE room_id = ",
					RoomData.Id,
					" AND (timestamp >= ",
					Timestamp - 300.0,
					" AND timestamp <= ",
					Timestamp,
					") OR (timestamp >= ",
					Timestamp - 300.0,
					" AND timestamp = 0) ORDER BY timestamp DESC LIMIT 150"
				}));
				DataTable table = queryreactor.getTable();
				ServerMessage serverMessage = new ServerMessage(Outgoing.ModerationToolIssueChatlogMessageComposer);
				serverMessage.AppendUInt(Ticket.TicketId);
				serverMessage.AppendUInt(Ticket.SenderId);
				serverMessage.AppendUInt(Ticket.ReportedId);
				serverMessage.AppendUInt(RoomData.Id);
				serverMessage.AppendBoolean(false);
				serverMessage.AppendUInt(RoomData.Id);
				serverMessage.AppendString(RoomData.Name);
				if (table != null)
				{
					serverMessage.AppendInt32(table.Rows.Count);
					IEnumerator enumerator = table.Rows.GetEnumerator();
					try
					{
						while (enumerator.MoveNext())
						{
							DataRow dataRow = (DataRow)enumerator.Current;
							Habbo habboForId = CyberEnvironment.getHabboForId(Convert.ToUInt32(dataRow["user_id"]));
							serverMessage.AppendInt32(CyberEnvironment.UnixToDateTime(Convert.ToDouble(dataRow["timestamp"])).Minute);
							serverMessage.AppendUInt(habboForId.Id);
							serverMessage.AppendString(habboForId.Username);
							serverMessage.AppendString((string)dataRow["message"]);
						}
						goto IL_1B8;
					}
					finally
					{
						IDisposable disposable = enumerator as IDisposable;
						if (disposable != null)
						{
							disposable.Dispose();
						}
					}
				}
				serverMessage.AppendInt32(0);
				IL_1B8:
				result = serverMessage;
			}
			return result;
		}
示例#23
0
		internal static ServerMessage SerializeRoomVisits(uint UserId)
		{
			ServerMessage result;
			using (IQueryAdapter queryreactor = CyberEnvironment.GetDatabaseManager().getQueryReactor())
			{
				queryreactor.setQuery("SELECT room_id,hour,minute FROM user_roomvisits WHERE user_id = " + UserId + " ORDER BY entry_timestamp DESC LIMIT 50");
				DataTable table = queryreactor.getTable();
				ServerMessage serverMessage = new ServerMessage(Outgoing.ModerationToolRoomVisitsMessageComposer);
				serverMessage.AppendUInt(UserId);
				serverMessage.AppendString(CyberEnvironment.GetGame().GetClientManager().GetNameById(UserId));
				if (table != null)
				{
					serverMessage.AppendInt32(table.Rows.Count);
					IEnumerator enumerator = table.Rows.GetEnumerator();
					try
					{
						while (enumerator.MoveNext())
						{
							DataRow dataRow = (DataRow)enumerator.Current;
							RoomData roomData = CyberEnvironment.GetGame().GetRoomManager().GenerateNullableRoomData(Convert.ToUInt32(dataRow["room_id"]));
							serverMessage.AppendBoolean(false);
							serverMessage.AppendUInt(roomData.Id);
							serverMessage.AppendString(roomData.Name);
							serverMessage.AppendInt32((int)dataRow["hour"]);
							serverMessage.AppendInt32((int)dataRow["minute"]);
						}
						goto IL_120;
					}
					finally
					{
						IDisposable disposable = enumerator as IDisposable;
						if (disposable != null)
						{
							disposable.Dispose();
						}
					}
				}
				serverMessage.AppendInt32(0);
				IL_120:
				result = serverMessage;
			}
			return result;
		}
示例#24
0
		internal static ServerMessage SerializeRoomTool(RoomData Data)
		{
			Room room = CyberEnvironment.GetGame().GetRoomManager().GetRoom(Data.Id);
			ServerMessage serverMessage = new ServerMessage(Outgoing.ModerationRoomToolMessageComposer);
			serverMessage.AppendUInt(Data.Id);
			serverMessage.AppendInt32(Data.UsersNow);
			if (room != null)
			{
				serverMessage.AppendBoolean(room.GetRoomUserManager().GetRoomUserByHabbo(Data.Owner) != null);
			}
			else
			{
				serverMessage.AppendBoolean(false);
			}
			serverMessage.AppendInt32(room.OwnerId);
			serverMessage.AppendString(Data.Owner);
			serverMessage.AppendBoolean(room != null);
			serverMessage.AppendString(Data.Name);
			serverMessage.AppendString(Data.Description);
			serverMessage.AppendInt32(Data.TagCount);
			foreach (string current in Data.Tags)
			{
				serverMessage.AppendString(current);
			}
			serverMessage.AppendBoolean(false);
			return serverMessage;
		}
示例#25
0
		internal static ServerMessage SerializeUserInfo(uint UserId)
		{
			checked
			{
				ServerMessage result;
				using (IQueryAdapter queryreactor = CyberEnvironment.GetDatabaseManager().getQueryReactor())
				{
					queryreactor.setQuery("SELECT id, username, online, mail, ip_last, look , rank , trade_lock , trade_lock_expire FROM users WHERE id = " + UserId);
					DataRow row = queryreactor.getRow();
					queryreactor.setQuery("SELECT reg_timestamp, login_timestamp, cfhs, cfhs_abusive, cautions, bans FROM user_info WHERE user_id = " + UserId);
					DataRow row2 = queryreactor.getRow();
					if (row == null)
					{
						throw new NullReferenceException("User not found in database.");
					}
					ServerMessage serverMessage = new ServerMessage(Outgoing.ModerationToolUserToolMessageComposer);
					serverMessage.AppendUInt(Convert.ToUInt32(row["id"]));
					serverMessage.AppendString((string)row["username"]);
					serverMessage.AppendString((string)row["look"]);
					if (row2 != null)
					{
						serverMessage.AppendInt32((int)Math.Ceiling(unchecked((double)CyberEnvironment.GetUnixTimestamp() - (double)row2["reg_timestamp"]) / 60.0));
						serverMessage.AppendInt32((int)Math.Ceiling(unchecked((double)CyberEnvironment.GetUnixTimestamp() - (double)row2["login_timestamp"]) / 60.0));
					}
					else
					{
						serverMessage.AppendInt32(0);
						serverMessage.AppendInt32(0);
					}
					serverMessage.AppendBoolean(CyberEnvironment.GetGame().GetClientManager().GetClientByUserID(Convert.ToUInt32(row["id"])) != null);
					if (row2 != null)
					{
						serverMessage.AppendInt32((int)row2["cfhs"]);
						serverMessage.AppendInt32((int)row2["cfhs_abusive"]);
						serverMessage.AppendInt32((int)row2["cautions"]);
						serverMessage.AppendInt32((int)row2["bans"]);
					}
					else
					{
						serverMessage.AppendInt32(0);
						serverMessage.AppendInt32(0);
						serverMessage.AppendInt32(0);
						serverMessage.AppendInt32(0);
					}
					serverMessage.AppendInt32(0);
					serverMessage.AppendString((row["trade_lock"].ToString() == "1") ? CyberEnvironment.UnixToDateTime((double)int.Parse(row["trade_lock_expire"].ToString())).ToLongDateString() : "Not trade-locked");
					serverMessage.AppendString(((uint)row["rank"] < 6u) ? ((string)row["ip_last"]) : "127.0.0.1");
					serverMessage.AppendUInt(Convert.ToUInt32(row["id"]));
					serverMessage.AppendInt32(0);
					serverMessage.AppendString("E-Mail:         " + row["mail"].ToString());
					serverMessage.AppendString("Rank ID:        " + (uint)row["rank"]);
					result = serverMessage;
				}
				return result;
			}
		}
示例#26
0
		internal ServerMessage SerializeBotInventory()
		{
			ServerMessage serverMessage = new ServerMessage();
			serverMessage.Init(Outgoing.BotInventoryMessageComposer);
			serverMessage.AppendInt32(this.InventoryBots.Count);
			foreach (RoomBot current in this.InventoryBots.Values)
			{
				serverMessage.AppendUInt(current.BotId);
				serverMessage.AppendString(current.Name);
				serverMessage.AppendString(current.Motto);
				serverMessage.AppendString("m");
				serverMessage.AppendString(current.Look);
			}
			return serverMessage;
		}
示例#27
0
        internal static ServerMessage SerializeUserChatlog(uint UserId)
        {
            ServerMessage result;
            using (IQueryAdapter queryreactor = CyberEnvironment.GetDatabaseManager().getQueryReactor())
            {
                queryreactor.setQuery("SELECT DISTINCT room_id FROM chatlogs WHERE user_id = " + UserId + " ORDER BY timestamp DESC LIMIT 4");
                DataTable table = queryreactor.getTable();
                ServerMessage serverMessage = new ServerMessage(Outgoing.ModerationToolUserChatlogMessageComposer);
                serverMessage.AppendUInt(UserId);
                serverMessage.AppendString(CyberEnvironment.GetGame().GetClientManager().GetNameById(UserId));
                if (table != null)
                {
                    serverMessage.AppendInt32(table.Rows.Count);
                    IEnumerator enumerator = table.Rows.GetEnumerator();
                    try
                    {
                        while (enumerator.MoveNext())
                        {
                            DataRow dataRow = (DataRow)enumerator.Current;
                            queryreactor.setQuery(string.Concat(new object[]
							{
								"SELECT user_id,timestamp,message FROM chatlogs WHERE room_id = ",
								(uint)dataRow["room_id"],
								" AND user_id = ",
								UserId,
								" ORDER BY timestamp DESC LIMIT 30"
							}));
                            DataTable table2 = queryreactor.getTable();
                            RoomData roomData = CyberEnvironment.GetGame().GetRoomManager().GenerateRoomData((uint)dataRow["room_id"]);
                            if (table2 != null)
                            {
                                serverMessage.AppendByte(1);
                                serverMessage.AppendShort(2);
                                serverMessage.AppendString("roomName");
                                serverMessage.AppendByte(2);
                                if (roomData == null)
                                {
                                    serverMessage.AppendString("This room was deleted");
                                }
                                else
                                {
                                    serverMessage.AppendString(roomData.Name);
                                }
                                serverMessage.AppendString("roomId");
                                serverMessage.AppendByte(1);
                                serverMessage.AppendUInt((uint)dataRow["room_id"]);
                                serverMessage.AppendShort(table2.Rows.Count);
                                IEnumerator enumerator2 = table2.Rows.GetEnumerator();
                                try
                                {
                                    while (enumerator2.MoveNext())
                                    {
                                        DataRow dataRow2 = (DataRow)enumerator2.Current;
                                        Habbo habboForId = CyberEnvironment.getHabboForId((uint)dataRow2["user_id"]);
                                        CyberEnvironment.UnixToDateTime((double)dataRow2["timestamp"]);
                                        if (habboForId == null)
                                        {
                                            result = null;
                                            return result;
                                        }
                                        serverMessage.AppendInt32(checked((int)unchecked((double)CyberEnvironment.GetUnixTimestamp() - (double)dataRow2["timestamp"])));
                                        serverMessage.AppendUInt(habboForId.Id);
                                        serverMessage.AppendString(habboForId.Username);
                                        serverMessage.AppendString(dataRow2["message"].ToString());
                                        serverMessage.AppendBoolean(false);
                                    }
                                    continue;
                                }
                                finally
                                {
                                    IDisposable disposable = enumerator2 as IDisposable;
                                    if (disposable != null)
                                    {
                                        disposable.Dispose();
                                    }
                                }
                            }
                            serverMessage.AppendByte(1);
                            serverMessage.AppendShort(0);
                            serverMessage.AppendShort(0);
                        }
                        goto IL_29B;
                    }
                    finally
                    {
                        IDisposable disposable2 = enumerator as IDisposable;
                        if (disposable2 != null)
                        {
                            disposable2.Dispose();
                        }
                    }
                }
                serverMessage.AppendInt32(0);
            IL_29B:
                result = serverMessage;
            }
            return result;
        }
示例#28
0
		internal void SerializeClub()
		{
			GameClient client = this.GetClient();
			ServerMessage serverMessage = new ServerMessage();
			serverMessage.Init(Outgoing.SubscriptionStatusMessageComposer);
			serverMessage.AppendString("club_habbo");
			if (client.GetHabbo().GetSubscriptionManager().HasSubscription)
			{
				double num = (double)client.GetHabbo().GetSubscriptionManager().GetSubscription().ExpireTime;
				double num2 = num - (double)CyberEnvironment.GetUnixTimestamp();
				checked
				{
					int num3 = (int)Math.Ceiling(num2 / 86400.0);
					int i = (int)Math.Ceiling(unchecked((double)CyberEnvironment.GetUnixTimestamp() - (double)client.GetHabbo().GetSubscriptionManager().GetSubscription().ActivateTime) / 86400.0);
					int num4 = num3 / 31;
					if (num4 >= 1)
					{
						num4--;
					}
					serverMessage.AppendInt32(num3 - num4 * 31);
					serverMessage.AppendInt32(1);
					serverMessage.AppendInt32(num4);
					serverMessage.AppendInt32(1);
					serverMessage.AppendBoolean(true);
					serverMessage.AppendBoolean(true);
					serverMessage.AppendInt32(i);
					serverMessage.AppendInt32(i);
					serverMessage.AppendInt32(10);
				}
			}
			else
			{
				serverMessage.AppendInt32(0);
				serverMessage.AppendInt32(0);
				serverMessage.AppendInt32(0);
				serverMessage.AppendInt32(0);
				serverMessage.AppendBoolean(false);
				serverMessage.AppendBoolean(false);
				serverMessage.AppendInt32(0);
				serverMessage.AppendInt32(0);
				serverMessage.AppendInt32(0);
			}
			client.SendMessage(serverMessage);
			ServerMessage serverMessage2 = new ServerMessage(Outgoing.UserClubRightsMessageComposer);
			serverMessage2.AppendInt32(this.GetSubscriptionManager().HasSubscription ? 2 : 0);
			serverMessage2.AppendUInt(this.Rank);
			serverMessage2.AppendInt32(0);
			client.SendMessage(serverMessage2);
		}
示例#29
0
		internal static ServerMessage SerializeRoomChatlog(uint roomID)
		{
            // NEW CHATLOGS [March 2014] Coded by Finn
            // Please don't remove credits, this took me some time to do... :(
            // Credits to Itachi for the structure's "context" enigma :D

			ServerMessage Message = new ServerMessage();
            RoomData Room = CyberEnvironment.GetGame().GetRoomManager().GenerateRoomData(roomID);
			if (Room == null)
			{
                throw new NullReferenceException("No room found.");
			}

			Message.Init(Outgoing.ModerationToolRoomChatlogMessageComposer);
			Message.AppendByte(1);
			Message.AppendShort(2);
			Message.AppendString("roomName");
			Message.AppendByte(2);
			Message.AppendString(Room.Name);
			Message.AppendString("roomId");
			Message.AppendByte(1);
			Message.AppendUInt(Room.Id);


            var TempChatlogs = Room.RoomChat.Reverse().Take(60);
            Message.AppendShort(TempChatlogs.Count());
            foreach (Chatlog current in TempChatlogs)
			{
				Habbo Habbo = CyberEnvironment.getHabboForId(current.UserId);
				DateTime Date = CyberEnvironment.UnixToDateTime(current.Timestamp);
                if (Habbo == null)
                {
                    Message.AppendInt32((DateTime.Now - Date).Seconds);
                    Message.AppendUInt(current.UserId);
                    Message.AppendString("*User not found*");
                    Message.AppendString(current.Message);
                    Message.AppendBoolean(true);
                }
                else
                {
                    Message.AppendInt32((DateTime.Now - Date).Seconds);
                    Message.AppendUInt(Habbo.Id);
                    Message.AppendString(Habbo.Username);
                    Message.AppendString(current.Message);
                    Message.AppendBoolean(false); // Text is bold
                }
			}
            TempChatlogs = null;

            return Message;
		}
示例#30
0
 internal void MovePuck(RoomItem item, GameClient mover, int newX, int newY, Team team)
 {
     if (!this.room.GetGameMap().itemCanBePlacedHere(newX, newY))
         return;
     Point coordinate1 = item.Coordinate;
     double k = (double)this.room.GetGameMap().Model.SqFloorHeight[newX, newY];
     if (coordinate1.X == newX && coordinate1.Y == newY)
         return;
     item.ExtraData = ((int)team).ToString();
     item.UpdateNeeded = true;
     item.UpdateState();
     ServerMessage serverMessage1 = new ServerMessage();
     serverMessage1.Init(Outgoing.ItemAnimationMessageComposer);
     ServerMessage serverMessage2 = serverMessage1;
     Point coordinate2 = item.Coordinate;
     int x = coordinate2.X;
     serverMessage2.AppendInt32(x);
     ServerMessage serverMessage3 = serverMessage1;
     coordinate2 = item.Coordinate;
     int y = coordinate2.Y;
     serverMessage3.AppendInt32(y);
     serverMessage1.AppendInt32(newX);
     serverMessage1.AppendInt32(newY);
     serverMessage1.AppendInt32(1);
     serverMessage1.AppendUInt(item.Id);
     serverMessage1.AppendString(TextHandling.GetString(item.GetZ));
     serverMessage1.AppendString(TextHandling.GetString(k));
     serverMessage1.AppendInt32(1);
     this.room.SendMessage(serverMessage1);
     this.room.GetRoomItemHandler().SetFloorItem(mover, item, newX, newY, item.Rot, false, false, false, false);
     if (mover == null || mover.GetHabbo() == null)
         return;
     RoomUser roomUserByHabbo = mover.GetHabbo().CurrentRoom.GetRoomUserManager().GetRoomUserByHabbo(mover.GetHabbo().Id);
     if (!this.banzaiStarted)
         return;
     this.HandleBanzaiTiles(new Point(newX, newY), team, roomUserByHabbo);
 }