public static string SpecialReplace(string baseMessage, RoomUser user) { string message = baseMessage.ToString(); Room room = OtanixEnvironment.GetGame().GetRoomManager().GetRoom(user.RoomId); string tempoprisao = OtanixEnvironment.UnixTimeStampToDateTime(user.GetTempoPreso()).ToString(); message = message.Replace("%username%", user.GetUsername()); message = message.Replace("%name%", user.GetUsername()); message = message.Replace("%userid%", user.HabboId.ToString()); if (user.GetTempoPreso() > OtanixEnvironment.GetUnixTimestamp()) { message = message.Replace("%tempoprisao%", tempoprisao); } else { message = message.Replace("%tempoprisao%", ""); } message = message.Replace("%usersonline%", OtanixEnvironment.GetGame().GetClientManager().connectionCount.ToString()); message = message.Replace("%roomname%", room.RoomData.Name); message = message.Replace("%roomid%", room.RoomData.Id.ToString()); message = message.Replace("%user_count%", room.RoomData.UsersNow.ToString()); message = message.Replace("%floor_item_count%", room.GetRoomItemHandler().mFloorItems.Count.ToString()); message = message.Replace("%wall_item_count%", room.GetRoomItemHandler().mWallItems.Count.ToString()); message = message.Replace("%roomowner%", room.RoomData.Owner); message = message.Replace("%owner%", room.RoomData.Owner); message = message.Replace("%item_count%", (room.GetRoomItemHandler().mFloorItems.Count + room.GetRoomItemHandler().mWallItems.Count).ToString()); return(message); }
internal Habbo(uint Id, string Username, string RealName, uint Rank, string Motto, double Created, string Look, string Gender, uint Diamonds, string MachineId, uint achievementPoints, double LastOnline, uint FavoriteGroup, bool blocknewfriends, bool blocktrade, bool ignoreRoomInvitations, bool dontfocususers, bool preferoldchat, uint coins_purchased) { this.Id = Id; this.Username = Username; this.RealName = RealName; this.Rank = Rank; this.Motto = Motto; this.Created = OtanixEnvironment.UnixTimeStampToDateTime(Created); this.Look = OtanixEnvironment.FilterFigure(Look.ToLower()); this.Gender = Gender.ToLower(); this.Diamonds = Diamonds; this.MachineId = MachineId; this.LastOnline = LastOnline; this.AchievementPoints = achievementPoints; this.FavoriteGroup = FavoriteGroup; this.HasFriendRequestsDisabled = blocknewfriends; this.BlockTrade = blocktrade; this.IgnoreRoomInvitations = ignoreRoomInvitations; this.DontFocusUser = dontfocususers; this.preferOldChat = preferoldchat; this.alertasAtivados = true; this.RoomsVisited = new LinkedList <RoomVisits>(); this.mygroups = new List <uint>(); this.CoinsPurchased = coins_purchased; }
internal static ServerMessage SerializeStatistics(int junk, uint SpriteId) { DateTime dt = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day); double UnixActualDay = OtanixEnvironment.DateTimeToUnixTimestamp(dt); double Unix30DaysAgo = UnixActualDay - (86400 * 30); uint ItemId = OtanixEnvironment.GetGame().GetItemManager().GetBaseIdFromSpriteId(SpriteId); uint Average = 0; uint Count = 0; GetAverageAndCountFromBaseId(ItemId, out Average, out Count); DataTable dTable = null; ServerMessage Message = new ServerMessage(Outgoing.MarketSpriteItemStatics); Message.AppendUInt(Average); // average Message.AppendUInt(Count); // count (Número de ofertas) Message.AppendInt32(30); // days (Precio medio de venta en los últimos X días) using (IQueryAdapter dbClient = OtanixEnvironment.GetDatabaseManager().getQueryreactor()) { dbClient.setQuery("SELECT date, price_avg, trade_count FROM catalog_marketplace_statistics WHERE item_id = '" + ItemId + "' AND date > '" + Unix30DaysAgo + "'"); dTable = dbClient.getTable(); } Message.AppendInt32(dTable.Rows.Count); // foreach foreach (DataRow dRow in dTable.Rows) { DateTime rowTime = OtanixEnvironment.UnixTimeStampToDateTime((double)dRow["date"]); Message.AppendInt32((rowTime - dt).Days); // day(-29, -28... 0) Message.AppendUInt(Convert.ToUInt32(dRow["price_avg"])); // Evolución de los precios Message.AppendUInt(Convert.ToUInt32(dRow["trade_count"])); // Volumen de tradeos } Message.AppendInt32(junk); Message.AppendUInt(SpriteId); return(Message); }
internal static void MuteUser(GameClient ModSession, Habbo Client, int Length, String Message) { if (OtanixEnvironment.GetGame().GetMuteManager().UserIsMuted(Client.Id)) { if (ModSession != null) { ModSession.SendNotif("El usuario ya está muteado."); } return; } OtanixEnvironment.GetGame().GetMuteManager().AddUserMute(Client.Id, Length); if (Client.GetClient() != null) { DateTime newDateTime = OtanixEnvironment.UnixTimeStampToDateTime(OtanixEnvironment.GetGame().GetMuteManager().UsersMuted[Client.Id].ExpireTime); ServerMessage nMessage = new ServerMessage(Outgoing.SendLinkNotif); nMessage.AppendString("Tu keko no podrá hablar hasta " + newDateTime.ToString() + " Eh, levanta el pie. Tú también puedes hacer que tod@s pasen un rato agradable en " + EmuSettings.HOTEL_LINK + ". ¡Respeto sí! ¡Bullyng no! Vale, vale, ¡tiempo muerto! No vendría mal releer la Manera " + EmuSettings.HOTEL_LINK + " y los Términos de Servicio."); nMessage.AppendString("http://www." + EmuSettings.HOTEL_LINK + "/legal/terms-of-service"); Client.GetClient().SendMessage(nMessage); } }
internal static ServerMessage SerializeUserInfo(uint UserId) { using (var dbClient = OtanixEnvironment.GetDatabaseManager().getQueryreactor()) { dbClient.setQuery("SELECT id, username, mail, look, last_purchase, last_online, account_created FROM users WHERE id = " + UserId + ""); var User = dbClient.getRow(); dbClient.setQuery("SELECT cfhs, cfhs_abusive, cautions, bans FROM user_info WHERE user_id = " + UserId + ""); var Info = dbClient.getRow(); if (User == null) { throw new NullReferenceException("No user found in database"); } double lastOnlinetimer = 0; double.TryParse((Convert.ToDouble(User["last_online"])).ToString(), out lastOnlinetimer); double LastLoginMinutes = OtanixEnvironment.GetUnixTimestamp() - lastOnlinetimer; int RegisterTimer = (DateTime.Now - OtanixEnvironment.UnixTimeStampToDateTime(Convert.ToUInt32(User["account_created"]))).Minutes; string LastPurchase = ""; if (OtanixEnvironment.GetGame().GetClientManager().GetClientByUserID(Convert.ToUInt32(User["id"])) != null) { Habbo habbo = OtanixEnvironment.GetGame().GetClientManager().GetClientByUserID(Convert.ToUInt32(User["id"])).GetHabbo(); if (habbo != null) { LastLoginMinutes = OtanixEnvironment.GetUnixTimestamp() - habbo.LastOnline; LastPurchase = habbo.LastPurchase; } } var Message = new ServerMessage(Outgoing.UserTool); Message.AppendUInt(Convert.ToUInt32(User["id"])); Message.AppendString((string)User["username"]); Message.AppendString((string)User["look"]); Message.AppendInt32(RegisterTimer); Message.AppendInt32((Int32)LastLoginMinutes); Message.AppendBoolean(OtanixEnvironment.GetGame().GetClientManager().GetClientByUserID(Convert.ToUInt32(User["id"])) != null); if (Info != null) { Message.AppendInt32((int)Info["cfhs"]); Message.AppendInt32((int)Info["cfhs_abusive"]); Message.AppendInt32((int)Info["cautions"]); Message.AppendInt32((int)Info["bans"]); Message.AppendInt32(0); // Added on RELEASE20140108 } else { Message.AppendInt32(0); // cfhs Message.AppendInt32(0); // abusive cfhs Message.AppendInt32(0); // cautions Message.AppendInt32(0); // bans Message.AppendInt32(0); // Added on RELEASE20140108 } Message.AppendString(""); // trading_lock_expiry_txt Message.AppendString(LastPurchase == "" ? (string)User["last_purchase"] : LastPurchase); // last_purchase_txt Message.AppendInt32(0); // identityinformationtool.url + this Message.AppendInt32(0); // id_bans_txt Message.AppendString((string)User["mail"]); // email_address_txt Message.AppendString(""); // user_classification return(Message); } }
internal bool tryLogin(string AuthTicket) { try { if (GetConnection() == null) { return(false); } var userData = UserDataFactory.GetUserData(AuthTicket); if (userData == null) { this.Disconnect(); return(false); } OtanixEnvironment.GetGame().GetClientManager().RegisterClient(this, userData.user.Id, userData.user.Username); Habbo = userData.user; if (userData.user.Username == null || GetHabbo() == null) { SendBanMessage("Você não possui um nome."); return(false); } userData.user.Init(userData); Habbo.MachineId = MachineId; var response = new QueuedServerMessage(Connection); var authok = new ServerMessage(Outgoing.AuthenticationOK); response.appendResponse(authok); var HomeRoom = new ServerMessage(Outgoing.HomeRoom); HomeRoom.AppendUInt((OtanixEnvironment.GetGame().GetPrisaoManager().estaPreso(GetHabbo().Id)) ? OtanixEnvironment.prisaoId() : GetHabbo().HomeRoom); // first home HomeRoom.AppendUInt((OtanixEnvironment.GetGame().GetPrisaoManager().estaPreso(GetHabbo().Id)) ? OtanixEnvironment.prisaoId() : GetHabbo().HomeRoom); // current home response.appendResponse(HomeRoom); var FavouriteRooms = new ServerMessage(Outgoing.FavouriteRooms); FavouriteRooms.AppendInt32(30); // max rooms FavouriteRooms.AppendInt32(userData.user.FavoriteRooms.Count); foreach (var Id in userData.user.FavoriteRooms.ToArray()) { FavouriteRooms.AppendUInt(Id); } response.appendResponse(FavouriteRooms); var sendClub = new ServerMessage(Outgoing.SerializeClub); sendClub.AppendString("club_habbo"); sendClub.AppendInt32(0); // days left sendClub.AppendInt32(0); // days multiplier sendClub.AppendInt32(0); // months left sendClub.AppendInt32(0); // ??? sendClub.AppendBoolean(true); // HC PRIVILEGE sendClub.AppendBoolean(true); // VIP PRIVILEGE sendClub.AppendInt32(0); // days i have on hc sendClub.AppendInt32(0); // days i've purchased sendClub.AppendInt32(495); // value 4 groups response.appendResponse(sendClub); var roomAccessConfig = new ServerMessage(Outgoing.RoomAccessConfig); roomAccessConfig.AppendBoolean(true); // isOpen roomAccessConfig.AppendBoolean(false); roomAccessConfig.AppendBoolean(true); response.appendResponse(roomAccessConfig); var fuserights = new ServerMessage(Outgoing.Fuserights); fuserights.AppendInt32(2); // normal|hc|vip fuserights.AppendUInt(GetHabbo().Rank); fuserights.AppendBoolean(GetHabbo().HasFuse("fuse_ambassador")); // embajador ? // fuserights.AppendInt32(0); // New Identity (1 == 1 min and Alert!) response.appendResponse(fuserights); var newidentity = new ServerMessage(Outgoing.SendNewIdentityState); newidentity.AppendInt32(GetHabbo().NewIdentity); response.appendResponse(newidentity); var HabboInformation = new ServerMessage(Outgoing.HabboInfomation); HabboInformation.AppendUInt(GetHabbo().Id); HabboInformation.AppendString(GetHabbo().Username); HabboInformation.AppendString(GetHabbo().Look); HabboInformation.AppendString(GetHabbo().Gender.ToUpper()); HabboInformation.AppendString(GetHabbo().Motto); HabboInformation.AppendString(GetHabbo().RealName); HabboInformation.AppendBoolean(false); HabboInformation.AppendUInt(GetHabbo().Respect); HabboInformation.AppendUInt(GetHabbo().DailyRespectPoints); // respect to give away HabboInformation.AppendUInt(GetHabbo().DailyPetRespectPoints); HabboInformation.AppendBoolean(true); HabboInformation.AppendString(OtanixEnvironment.UnixTimeStampToDateTime(GetHabbo().LastOnline).ToString()); HabboInformation.AppendBoolean(GetHabbo().NameChanges < EmuSettings.MAX_NAME_CHANGES); // CHANGENAME - HabboInformation.AppendBoolean((this.GetHabbo().Diamonds<=0||this.GetHabbo().NameChanges>=ButterflyEnvironment.maxNameChanges)?false:true); HabboInformation.AppendBoolean(false); response.appendResponse(HabboInformation); var IsGuide = (Habbo.Rank > 1) ? true : false; var VoteInCompetitions = false; var Trade = true; var Citizien = (Habbo.CitizenshipLevel >= 4) ? true : false; var JudgeChat = (Habbo.Rank > 2) ? true : false; var NavigatorThumbailCamera = false; var navigatorphaseTwo = true; var Camera = true; var CallHelpers = true; var BuilderAtWork = true; var MouseZoom = false; var Allows = new ServerMessage(Outgoing.PerkAllowancesMessageParser); Allows.AppendInt32(11); // count Allows.AppendString("TRADE"); Allows.AppendString((!Trade) ? "requirement.unfulfilled.citizenship_level_3" : ""); Allows.AppendBoolean(Trade); Allows.AppendString("NAVIGATOR_ROOM_THUMBNAIL_CAMERA"); Allows.AppendString((!NavigatorThumbailCamera) ? "" : ""); Allows.AppendBoolean(NavigatorThumbailCamera); Allows.AppendString("NAVIGATOR_PHASE_TWO_2014"); Allows.AppendString((!navigatorphaseTwo) ? "requirement.unfulfilled.feature_disabled" : ""); Allows.AppendBoolean(navigatorphaseTwo); Allows.AppendString("VOTE_IN_COMPETITIONS"); Allows.AppendString((!VoteInCompetitions) ? "requirement.unfulfilled.helper_level_2" : ""); Allows.AppendBoolean(VoteInCompetitions); Allows.AppendString("BUILDER_AT_WORK"); Allows.AppendString((!BuilderAtWork) ? "requirement.unfulfilled.group_membership" : ""); Allows.AppendBoolean(BuilderAtWork); Allows.AppendString("MOUSE_ZOOM"); Allows.AppendString((!MouseZoom) ? "requirement.unfulfilled.feature_disabled" : ""); Allows.AppendBoolean(MouseZoom); Allows.AppendString("CAMERA"); Allows.AppendString((!Camera) ? "requirement.unfulfilled.feature_disabled" : ""); Allows.AppendBoolean(Camera); Allows.AppendString("CALL_ON_HELPERS"); Allows.AppendString((!CallHelpers) ? "requirement.unfulfilled.citizenship_level_1" : ""); Allows.AppendBoolean(CallHelpers); Allows.AppendString("CITIZEN"); Allows.AppendString((!Citizien) ? "requirement.unfulfilled.citizenship_level_3" : ""); Allows.AppendBoolean(Citizien); Allows.AppendString("USE_GUIDE_TOOL"); Allows.AppendString((!IsGuide) ? "requirement.unfulfilled.helper_level_4" : ""); Allows.AppendBoolean(IsGuide); Allows.AppendString("JUDGE_CHAT_REVIEWS"); Allows.AppendString((!JudgeChat) ? "requirement.unfulfilled.citizenship_level_6" : ""); Allows.AppendBoolean(JudgeChat); response.appendResponse(Allows); var enabledBuilderClub = new ServerMessage(Outgoing.EnableBuilderClub); enabledBuilderClub.AppendInt32(GetHabbo().IsPremium() ? GetHabbo().GetPremiumManager().GetRemainingTime() : 0); // Tiempo restante de Constructor (2678400 = 1 mes entero (s)) enabledBuilderClub.AppendUInt(GetHabbo().IsPremium() ? GetHabbo().GetPremiumManager().GetMaxItems() : 50); // Furnis que puedo alquilar enabledBuilderClub.AppendInt32(20000); // Se puede ampliar la alquilación hasta.. enabledBuilderClub.AppendInt32(0); response.appendResponse(enabledBuilderClub); response.appendResponse(GetHabbo().GetUserClothingManager().SerializeClothes()); var achivPoints = new ServerMessage(Outgoing.AchievementPoints); achivPoints.AppendUInt(GetHabbo().AchievementPoints); response.appendResponse(achivPoints); var loadVolumen = new ServerMessage(Outgoing.LoadVolumen); loadVolumen.AppendInt32(int.Parse(GetHabbo().volumenSystem.Split(';')[0])); loadVolumen.AppendInt32(int.Parse(GetHabbo().volumenSystem.Split(';')[1])); loadVolumen.AppendInt32(int.Parse(GetHabbo().volumenSystem.Split(';')[2])); loadVolumen.AppendBoolean(GetHabbo().preferOldChat); loadVolumen.AppendBoolean(GetHabbo().IgnoreRoomInvitations); loadVolumen.AppendBoolean(GetHabbo().DontFocusUser); // fcus user loadVolumen.AppendInt32(0); // loadVolumen.AppendInt32(0); // freeFlowChat response.appendResponse(loadVolumen); var muteUsers = new ServerMessage(Outgoing.SerializeMuteUsers); muteUsers.AppendInt32(GetHabbo().MutedUsers.Count); foreach (string IgnoreName in GetHabbo().MutedUsers) { muteUsers.AppendString(IgnoreName); } response.appendResponse(muteUsers); TargetedOffer to = OtanixEnvironment.GetGame().GetTargetedOfferManager().GetRandomStaticTargetedOffer(); if (to != null) { if (!GetHabbo().TargetedOffers.ContainsKey(to.Id) || GetHabbo().TargetedOffers[to.Id] < to.PurchaseLimit) { response.appendResponse(OtanixEnvironment.GetGame().GetTargetedOfferManager().SerializeTargetedOffer(to)); } } /*var giftOptions = new ServerMessage(Outgoing.NewUserExperienceGiftOfferParser); * giftOptions.AppendInt32(1); // foreach * { * giftOptions.AppendInt32(0); * giftOptions.AppendInt32(0); * giftOptions.AppendInt32(1); // foreach (items?) * { * giftOptions.AppendString("Testeando"); // itemName ?? * giftOptions.AppendInt32(1); // foreach * { * giftOptions.AppendString("a1_kumiankka"); // item 1 * giftOptions.AppendString(""); // item 2 (if is empty == null) * } * } * } * response.appendResponse(giftOptions);*/ response.appendResponse(OtanixEnvironment.GetGame().GetAchievementManager().AchievementPrede); if (GetHabbo().HomeRoom <= 0) { var homeRoom = new ServerMessage(Outgoing.OutOfRoom); response.appendResponse(homeRoom); } else { Room room = OtanixEnvironment.GetGame().GetRoomManager().GetRoom(GetHabbo().HomeRoom); if (room != null) { this.GetMessageHandler().enterOnRoom3(room); } } response.sendResponse(); // Verifica a conta staff if (GetHabbo().Rank > 5) { ServerMessage VerificaSenha = new ServerMessage(Outgoing.MobilePhoneNumero); VerificaSenha.AppendInt32(1); VerificaSenha.AppendInt32(1); SendMessage(VerificaSenha); } // Termina de verificar a conta staff Ban BanReason = OtanixEnvironment.GetGame().GetBanManager().GetBanReason(Habbo.Username, Habbo.MachineId); if (BanReason != null) { SendScrollNotif("Você tem um banimento do tipo: " + BanReason.Type + "\r\nMotivo: " + BanReason.ReasonMessage); Disconnect(); return(false); } GetHabbo().InitMessenger(); if (GetHabbo().GetAvatarEffectsInventoryComponent() != null) { SendMessage(GetHabbo().GetAvatarEffectsInventoryComponent().Serialize()); } SendMessage(OtanixEnvironment.GetGame().GetModerationTool().SerializeCfhTopics()); if (LanguageLocale.welcomeAlertEnabled) { string strAlert = BlackWordsManager.SpecialReplace(LanguageLocale.welcomeAlert, this); if (LanguageLocale.welcomeAlertType == 0) { SendScrollNotif(strAlert); } else if (LanguageLocale.welcomeAlertType == 1) { SendNotif(strAlert); } else if (LanguageLocale.welcomeAlertType == 2) { SendNotifWithImage(strAlert, LanguageLocale.welcomeAlertImage); } } OtanixEnvironment.GetGame().GetAchievementManager().ProgressUserAchievement(Habbo.Id, "ACH_EmailVerification", 1); GetHabbo().UpdateCreditsBalance(); GetHabbo().UpdateExtraMoneyBalance(); GetHabbo().setMeOnline(); GetHabbo().InitExtra(); UsersCache.enterProvisionalRoom(this); return(true); } catch (UserDataNotFoundException e) { SendScrollNotif(LanguageLocale.GetValue("login.invalidsso") + "extra data: " + e); } catch (Exception e) { Logging.LogCriticalException("Invalid Dario bug duing user login: "******"Login error: " + e); } return(false); }
internal Habbo(uint Id, string Username, string RealName, uint Rank, string Motto, double UnixTime, string Look, string Gender, uint Diamonds, uint HomeRoom, uint Respect, uint DailyRespectPoints, uint DailyPetRespectPoints, bool HasFriendRequestsDisabled, bool FollowEnable, uint currentQuestID, uint currentQuestProgress, uint achievementPoints, uint nameChanges, uint FavoriteGroup, bool block_trade, string _volumenSystem, bool preferoldchat, string lastpurchase, List <uint> pollparticipation, List <uint> votedrooms, string lastfollowinglogin, bool ignoreRoomInvitations, int citizenshipLevel, int helperLevel, string wiredactrewards, bool dontFocusUser, Dictionary <int, NaviLogs> naviLogs, Dictionary <uint, uint> targetedOffers, string chatColor, int newIdentity, int newBot, bool frankJaApareceu, int moedas, int corAtual, string coresjaTenho, uint coinsPurchased, uint SpentCredits, int Duckets, int speechBubble, bool HiddenOnline) { this.Id = Id; this.Username = Username; this.RealName = RealName; this.Rank = Rank; this.Diamonds = Diamonds; this.Look = OtanixEnvironment.FilterFigure(Look.ToLower()); this.Gender = Gender.ToLower(); this.Motto = Motto; this.alertasAtivados = true; this.LastOnline = OtanixEnvironment.GetUnixTimestamp(); this.HomeRoom = HomeRoom; this.Respect = Respect; this.DailyRespectPoints = DailyRespectPoints; this.DailyPetRespectPoints = DailyPetRespectPoints; this.HasFriendRequestsDisabled = HasFriendRequestsDisabled; this.FollowEnable = FollowEnable; this.BlockTrade = block_trade; this.AchievementPoints = achievementPoints; this.FavoriteGroup = FavoriteGroup; this.NameChanges = nameChanges; this.CurrentQuestId = currentQuestID; this.CurrentQuestProgress = currentQuestProgress; this.LastQuestId = 0; this.volumenSystem = _volumenSystem; this.Created = OtanixEnvironment.UnixTimeStampToDateTime(UnixTime); this.preferOldChat = preferoldchat; this.LastPurchase = lastpurchase; this.PollParticipation = pollparticipation; this.IgnoreRoomInvitations = ignoreRoomInvitations; this.CitizenshipLevel = citizenshipLevel; this.HelperLevel = helperLevel; this.AlfaGuideEnabled = false; this.AlfaHelperEnabled = false; this.AlfaGuardianEnabled = false; this.WiredRewards = new Dictionary <uint, WiredActReward>(); this.CoinsPurchased = coinsPurchased; if (wiredactrewards.Length > 0) { uint itemId = 0; double dTime = 0; int aRewards = 0; int originalInt = 0; foreach (string str in wiredactrewards.Split(';')) { itemId = Convert.ToUInt32(str.Split(',')[0]); dTime = Convert.ToDouble(str.Split(',')[1]); aRewards = Convert.ToInt32(str.Split(',')[2]); originalInt = Convert.ToInt32(str.Split(',')[3]); this.WiredRewards.Add(itemId, new WiredActReward(itemId, dTime, aRewards, originalInt)); } } this.LastAlfaSend = OtanixEnvironment.GetUnixTimestamp() - 1200; // 20 min. this.DontFocusUser = dontFocusUser; this.navigatorLogs = naviLogs; this.ConvertedOnPet = false; this.PetType = -1; this.DiamondsCycleUpdate = OtanixEnvironment.GetUnixTimestamp(); this.MoedasCycleUpdate = OtanixEnvironment.GetUnixTimestamp(); this.ClubExpirationCycleUpdate = OtanixEnvironment.GetUnixTimestamp(); this.TargetedOffers = targetedOffers; this.ChatColor = chatColor; this.NewIdentity = newIdentity; this.NewBot = newBot; this.LoadingRoom = 0; this.LoadingChecksPassed = false; this.CurrentRoomId = 0; this.IsTeleporting = false; this.TeleporterId = 0; this.SpectatorMode = false; this.Disconnected = false; this.FavoriteRooms = new List <uint>(); this.MutedUsers = new List <string>(); this.RatedRooms = votedrooms; this.UsersRooms = new List <uint>(); this.RoomsVisited = new LinkedList <RoomVisits>(); this.mygroups = new List <uint>(); this.quests = new Dictionary <uint, int>(); this.wardrobes = new Dictionary <int, Wardrobe>(); this.HabboQuizQuestions = new List <int>(5); this.showingStaffBadge = true; this.frankJaApareceu = frankJaApareceu; this.Moedas = moedas; this.Duckets = Duckets; this.corAtual = corAtual; this.coresjaTenho = coresjaTenho; if (lastfollowinglogin == "" || !DateTime.TryParse(lastfollowinglogin, out this.LastFollowingLogin)) { this.LastFollowingLogin = DateTime.Now; } this.SpentCredits = SpentCredits; LastSpeechBubble = speechBubble; this.HiddenOnline = HiddenOnline; }