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); }
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; }
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; }
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); } }
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 : ""); }
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; }
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); }
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); }
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; }
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; }
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; }
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; }
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; }
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; }
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); }
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; }
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; }
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; }
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; }
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; }
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; } }
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; }
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; }
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); }
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; }
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); }