public bool TryAuthenticate(string AuthTicket) { try { UserData userData = UserDataFactory.GetUserData(AuthTicket, out byte errorCode); if (errorCode == 1 || errorCode == 2) { Disconnect(); return(false); } #region Ban Checking //Let's have a quick search for a ban before we successfully authenticate.. ModerationBan BanRecord = null; if (!string.IsNullOrEmpty(MachineId)) { if (CloudServer.GetGame().GetModerationManager().IsBanned(MachineId, out BanRecord)) { if (CloudServer.GetGame().GetModerationManager().MachineBanCheck(MachineId)) { Disconnect(); return(false); } } } if (userData.user != null) { //Now let us check for a username ban record.. BanRecord = null; if (CloudServer.GetGame().GetModerationManager().IsBanned(userData.user.Username, out BanRecord)) { if (CloudServer.GetGame().GetModerationManager().UsernameBanCheck(userData.user.Username)) { Disconnect(); return(false); } } } #endregion CloudServer.GetGame().GetClientManager().RegisterClient(this, userData.userID, userData.user.Username); _habbo = userData.user; _habbo.ssoTicket = AuthTicket; if (_habbo != null) { userData.user.Init(this, userData); SendMessage(new AuthenticationOKComposer()); SendMessage(new AvatarEffectsComposer(_habbo.Effects().GetAllEffects)); SendMessage(new NavigatorSettingsComposer(_habbo.HomeRoom)); SendMessage(new FavouritesComposer(userData.user.FavoriteRooms)); SendMessage(new FigureSetIdsComposer(_habbo.GetClothing().GetClothingParts)); SendMessage(new UserRightsComposer(_habbo)); SendMessage(new AvailabilityStatusComposer()); SendMessage(new AchievementScoreComposer(_habbo.GetStats().AchievementPoints)); SendMessage(new BuildersClubMembershipComposer()); SendMessage(new CfhTopicsInitComposer(CloudServer.GetGame().GetModerationManager().UserActionPresets)); SendMessage(new BadgeDefinitionsComposer(CloudServer.GetGame().GetAchievementManager()._achievements)); SendMessage(new SoundSettingsComposer(_habbo.ClientVolume, _habbo.ChatPreference, _habbo.AllowMessengerInvites, _habbo.FocusPreference, FriendBarStateUtility.GetInt(_habbo.FriendbarState))); if (GetHabbo().GetMessenger() != null) { GetHabbo().GetMessenger().OnStatusChanged(true); } if (!string.IsNullOrEmpty(MachineId)) { if (_habbo.MachineId != MachineId) { using (IQueryAdapter dbClient = CloudServer.GetDatabaseManager().GetQueryReactor()) { dbClient.SetQuery("UPDATE `users` SET `machine_id` = @MachineId WHERE `id` = @id LIMIT 1"); dbClient.AddParameter("MachineId", MachineId); dbClient.AddParameter("id", _habbo.Id); dbClient.RunQuery(); } } _habbo.MachineId = MachineId; } if (CloudServer.GetGame().GetPermissionManager().TryGetGroup(_habbo.Rank, out PermissionGroup PermissionGroup)) { if (!String.IsNullOrEmpty(PermissionGroup.Badge)) { if (!_habbo.GetBadgeComponent().HasBadge(PermissionGroup.Badge)) { _habbo.GetBadgeComponent().GiveBadge(PermissionGroup.Badge, true, this); } } } if (!CloudServer.GetGame().GetCacheManager().ContainsUser(_habbo.Id)) { CloudServer.GetGame().GetCacheManager().GenerateUser(_habbo.Id); } _habbo.InitProcess(); if (userData.user.GetPermissions().HasRight("mod_tickets")) { SendMessage(new ModeratorInitComposer( CloudServer.GetGame().GetModerationManager().UserMessagePresets, CloudServer.GetGame().GetModerationManager().RoomMessagePresets, CloudServer.GetGame().GetModerationManager().GetTickets)); } if (CloudServer.GetGame().GetSettingsManager().TryGetValue("user.login.message.enabled") == "1") { SendMessage(new MOTDNotificationComposer(CloudServer.GetGame().GetLanguageManager().TryGetValue("user.login.message"))); } if (ExtraSettings.WELCOME_MESSAGE_ENABLED) { SendMessage(new MOTDNotificationComposer(ExtraSettings.WelcomeMessage.Replace("%username%", GetHabbo().Username))); } if (ExtraSettings.TARGETED_OFFERS_ENABLED) { if (CloudServer.GetGame().GetTargetedOffersManager().TargetedOffer != null) { CloudServer.GetGame().GetTargetedOffersManager().Initialize(CloudServer.GetDatabaseManager().GetQueryReactor()); TargetedOffers TargetedOffer = CloudServer.GetGame().GetTargetedOffersManager().TargetedOffer; if (TargetedOffer.Expire > CloudServer.GetIUnixTimestamp()) { if (TargetedOffer.Limit != GetHabbo()._TargetedBuy) { SendMessage(CloudServer.GetGame().GetTargetedOffersManager().TargetedOffer.Serialize()); } } else { using (var dbClient = CloudServer.GetDatabaseManager().GetQueryReactor()) dbClient.runFastQuery("UPDATE targeted_offers SET active = 'false'"); using (var dbClient2 = CloudServer.GetDatabaseManager().GetQueryReactor()) dbClient2.runFastQuery("UPDATE users SET targeted_buy = '0' WHERE targeted_buy > 0"); } } } //SendMessage(new HCGiftsAlertComposer()); /*var nuxStatuss = new ServerPacket(ServerPacketHeader.NuxSuggestFreeGiftsMessageComposer); * SendMessage(nuxStatuss);*/ CloudServer.GetGame().GetRewardManager().CheckRewards(this); CloudServer.GetGame().GetAchievementManager().TryProgressHabboClubAchievements(this); CloudServer.GetGame().GetAchievementManager().TryProgressRegistrationAchievements(this); CloudServer.GetGame().GetAchievementManager().TryProgressLoginAchievements(this); ICollection <MessengerBuddy> Friends = new List <MessengerBuddy>(); foreach (MessengerBuddy Buddy in GetHabbo().GetMessenger().GetFriends().ToList()) { if (Buddy == null) { continue; } GameClient Friend = CloudServer.GetGame().GetClientManager().GetClientByUserID(Buddy.Id); if (Friend == null) { continue; } string figure = GetHabbo().Look; } return(true); } } catch (Exception e) { ExceptionLogger.LogException(e); } return(false); }
public bool TryAuthenticate(string AuthTicket) { try { UserData userData = UserDataFactory.GetUserData(AuthTicket, out byte errorCode); if (errorCode == 1 || errorCode == 2) { Disconnect(); return(false); } #region Ban Checking //Let's have a quick search for a ban before we successfully authenticate.. ModerationBan BanRecord; if (!string.IsNullOrEmpty(MachineId)) { if (NeonEnvironment.GetGame().GetModerationManager().IsBanned(MachineId, out BanRecord)) { if (NeonEnvironment.GetGame().GetModerationManager().MachineBanCheck(MachineId)) { Disconnect(); return(false); } } } if (NeonEnvironment.GetGame().GetModerationManager().IsBanned(userData.user.Username, out BanRecord)) { if (NeonEnvironment.GetGame().GetModerationManager().UsernameBanCheck(userData.user.Username)) { Disconnect(); return(false); } } #endregion NeonEnvironment.GetGame().GetClientManager().RegisterClient(this, userData.userID, userData.user.Username); _habbo = userData.user; if (_habbo != null) { ssoTicket = AuthTicket; userData.user.Init(this, userData); SendMessage(new AuthenticationOKComposer()); SendMessage(new AvatarEffectsComposer(_habbo.Effects().GetAllEffects)); SendMessage(new NavigatorSettingsComposer(_habbo.HomeRoom)); SendMessage(new FavouritesComposer(userData.user.FavoriteRooms)); SendMessage(new FigureSetIdsComposer(_habbo.GetClothing().GetClothingAllParts)); SendMessage(new UserRightsComposer(_habbo)); SendMessage(new AvailabilityStatusComposer()); SendMessage(new AchievementScoreComposer(_habbo.GetStats().AchievementPoints)); //var habboClubSubscription = new ServerPacket(ServerPacketHeader.HabboClubSubscriptionComposer); //habboClubSubscription.WriteString("club_habbo"); //habboClubSubscription.WriteInteger(0); //habboClubSubscription.WriteInteger(0); //habboClubSubscription.WriteInteger(0); //habboClubSubscription.WriteInteger(2); //habboClubSubscription.WriteBoolean(false); //habboClubSubscription.WriteBoolean(false); //habboClubSubscription.WriteInteger(0); //habboClubSubscription.WriteInteger(0); //habboClubSubscription.WriteInteger(0); //SendMessage(habboClubSubscription); SendMessage(new BuildersClubMembershipComposer()); SendMessage(new CfhTopicsInitComposer()); SendMessage(new BadgeDefinitionsComposer(NeonEnvironment.GetGame().GetAchievementManager()._achievements)); SendMessage(new SoundSettingsComposer(_habbo.ClientVolume, _habbo.ChatPreference, _habbo.AllowMessengerInvites, _habbo.FocusPreference, FriendBarStateUtility.GetInt(_habbo.FriendbarState))); if (GetHabbo().GetMessenger() != null) { GetHabbo().GetMessenger().OnStatusChanged(true); } if (_habbo.Rank < 2 && !NeonStaticGameSettings.HotelOpenForUsers) { SendMessage(new SendHotelAlertLinkEventComposer("Actualmente solo el Equipo Adminsitrativo puede entrar al hotel para comprobar que todo está bien antes de que los usuarios puedan entrar. Vuelve a intentarlo en unos minutos, podrás encontrar más información en nuestro Facebook.", NeonEnvironment.GetDBConfig().DBData["facebook_url"])); Thread.Sleep(10000); Disconnect(); return(false); } if (!string.IsNullOrEmpty(MachineId)) { if (_habbo.MachineId != MachineId) { using (IQueryAdapter dbClient = NeonEnvironment.GetDatabaseManager().GetQueryReactor()) { dbClient.SetQuery("UPDATE `users` SET `machine_id` = @MachineId WHERE `id` = @id LIMIT 1"); dbClient.AddParameter("MachineId", MachineId); dbClient.AddParameter("id", _habbo.Id); dbClient.RunQuery(); } } _habbo.MachineId = MachineId; } if (NeonEnvironment.GetGame().GetPermissionManager().TryGetGroup(_habbo.Rank, out PermissionGroup PermissionGroup)) { if (!string.IsNullOrEmpty(PermissionGroup.Badge)) { if (!_habbo.GetBadgeComponent().HasBadge(PermissionGroup.Badge)) { _habbo.GetBadgeComponent().GiveBadge(PermissionGroup.Badge, true, this); } } } if (NeonEnvironment.GetGame().GetSubscriptionManager().TryGetSubscriptionData(_habbo.VIPRank, out SubscriptionData SubData)) { if (!string.IsNullOrEmpty(SubData.Badge)) { if (!_habbo.GetBadgeComponent().HasBadge(SubData.Badge)) { _habbo.GetBadgeComponent().GiveBadge(SubData.Badge, true, this); } } } if (!NeonEnvironment.GetGame().GetCacheManager().ContainsUser(_habbo.Id)) { NeonEnvironment.GetGame().GetCacheManager().GenerateUser(_habbo.Id); } _habbo.InitProcess(); GetHabbo()._lastitems = new Dictionary <int, CatalogItem>(); //ICollection<MessengerBuddy> Friends = new List<MessengerBuddy>(); //foreach (MessengerBuddy Buddy in this.GetHabbo().GetMessenger().GetFriends().ToList()) //{ // if (Buddy == null) // continue; // GameClient Friend = NeonEnvironment.GetGame().GetClientManager().GetClientByUserID(Buddy.Id); // if (Friend == null) // continue; // string figure = this.GetHabbo().Look; // Friend.SendMessage(RoomNotificationComposer.SendBubble("usr/look/" + this.GetHabbo().Username + "", this.GetHabbo().Username + " se ha conectado a " + NeonEnvironment.GetDBConfig().DBData["hotel.name"] + ".", "")); //} if (GetHabbo()._NUX) { SendMessage(new MassEventComposer("habbopages/bienvenida.txt")); } else { SendMessage(new MassEventComposer("habbopages/welk.txt?249")); } if (NeonEnvironment.GetDBConfig().DBData["pin.system.enable"] == "0") { GetHabbo().StaffOk = true; } if (GetHabbo().StaffOk) { if (GetHabbo().GetPermissions().HasRight("mod_tickets")) { SendMessage(new ModeratorInitComposer( NeonEnvironment.GetGame().GetModerationManager().UserMessagePresets, NeonEnvironment.GetGame().GetModerationManager().RoomMessagePresets, NeonEnvironment.GetGame().GetModerationManager().GetTickets)); } } if (GetHabbo().Rank > 5 || GetHabbo()._guidelevel > 0) { HelperToolsManager.AddHelper(_habbo.GetClient(), false, true, true); SendMessage(new HandleHelperToolComposer(true)); } //SendMessage(new CampaignCalendarDataComposer(_habbo.calendarGift)); //if (int.Parse(NeonEnvironment.GetDBConfig().DBData["advent.calendar.enable"]) == 1) // Tk Custom By Whats // SendMessage(new MassEventComposer("openView/calendar")); if (NeonEnvironment.GetGame().GetTargetedOffersManager().TargetedOffer != null) { NeonEnvironment.GetGame().GetTargetedOffersManager().Initialize(NeonEnvironment.GetDatabaseManager().GetQueryReactor()); TargetedOffers TargetedOffer = NeonEnvironment.GetGame().GetTargetedOffersManager().TargetedOffer; if (TargetedOffer.Expire > NeonEnvironment.GetIUnixTimestamp()) { if (TargetedOffer.Limit != GetHabbo()._TargetedBuy) { SendMessage(NeonEnvironment.GetGame().GetTargetedOffersManager().TargetedOffer.Serialize()); } } else if (TargetedOffer.Expire == -1) { if (TargetedOffer.Limit != GetHabbo()._TargetedBuy) { SendMessage(NeonEnvironment.GetGame().GetTargetedOffersManager().TargetedOffer.Serialize()); } } else { using (IQueryAdapter dbClient = NeonEnvironment.GetDatabaseManager().GetQueryReactor()) { dbClient.runFastQuery("UPDATE targeted_offers SET active = 'false'"); } using (IQueryAdapter dbClient2 = NeonEnvironment.GetDatabaseManager().GetQueryReactor()) { dbClient2.runFastQuery("UPDATE users SET targeted_buy = '0' WHERE targeted_buy > 0"); } } } if (_habbo.MysticBoxes.Count == 0 && _habbo.MysticKeys.Count == 0) { int box = RandomNumber.GenerateRandom(1, 8); string boxcolor = ""; switch (box) { case 1: boxcolor = "purple"; break; case 2: boxcolor = "blue"; break; case 3: boxcolor = "green"; break; case 4: boxcolor = "yellow"; break; case 5: boxcolor = "lilac"; break; case 6: boxcolor = "orange"; break; case 7: boxcolor = "turquoise"; break; case 8: boxcolor = "red"; break; } int key = RandomNumber.GenerateRandom(1, 8); string keycolor = ""; switch (key) { case 1: keycolor = "purple"; break; case 2: keycolor = "blue"; break; case 3: keycolor = "green"; break; case 4: keycolor = "yellow"; break; case 5: keycolor = "lilac"; break; case 6: keycolor = "orange"; break; case 7: keycolor = "turquoise"; break; case 8: keycolor = "red"; break; } _habbo.MysticKeys.Add(keycolor); _habbo.MysticBoxes.Add(boxcolor); using (IQueryAdapter dbClient = NeonEnvironment.GetDatabaseManager().GetQueryReactor()) { dbClient.runFastQuery("INSERT INTO user_mystic_data(user_id, mystic_keys, mystic_boxes) VALUES(" + GetHabbo().Id + ", '" + keycolor + "', '" + boxcolor + "');"); } } SendMessage(new MysteryBoxDataComposer(_habbo.GetClient())); SendMessage(new HCGiftsAlertComposer()); //if(!GetHabbo()._NUX) //{ // DateTime dtDateTime = new DateTime(1970, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc); // dtDateTime = dtDateTime.AddSeconds(GetHabbo().LastOnline); // if ((DateTime.Now - dtDateTime).TotalDays > 2) // { // //NeonEnvironment.GetGame().GetAchievementManager().ProgressAchievement(_habbo.GetClient(), "ACH_Login", 1, true); // NeonEnvironment.GetGame().GetAchievementManager().ProgressAchievement(_habbo.GetClient(), "ACH_RegistrationDuration", 1); // } // else if ((DateTime.Now - dtDateTime).TotalDays > 1 && (DateTime.Now - dtDateTime).TotalDays < 2) // { // NeonEnvironment.GetGame().GetAchievementManager().ProgressAchievement(_habbo.GetClient(), "ACH_Login", 1); // NeonEnvironment.GetGame().GetAchievementManager().ProgressAchievement(_habbo.GetClient(), "ACH_RegistrationDuration", 1); // if(GetHabbo().Rank > 2 || GetHabbo()._guidelevel > 0) // { // NeonEnvironment.GetGame().GetAchievementManager().ProgressAchievement(_habbo.GetClient(), "ACH_GuideEnrollmentLifetime", 1); // } // } //} NeonEnvironment.GetGame().GetRewardManager().CheckRewards(this); if (GetHabbo()._NUX) { NeonEnvironment.GetGame().GetClientManager().StaffAlert(new RoomInviteComposer(int.MinValue, GetHabbo().Username + " acaba de registrarse en Keko.")); GetHabbo()._NUX = false; using (IQueryAdapter dbClient = NeonEnvironment.GetDatabaseManager().GetQueryReactor()) { dbClient.runFastQuery("UPDATE users SET nux_user = '******' WHERE id = " + GetHabbo().Id + ";"); } } return(true); } } catch (Exception e) { Logging.LogCriticalException("Bug during user login: " + e); } return(false); }
public bool TryAuthenticate(string AuthTicket) { try { UserData userData = UserDataFactory.GetUserData(AuthTicket, out byte errorCode); if (errorCode == 1 || errorCode == 2) { Disconnect(); return(false); } #region Ban Checking //Let's have a quick search for a ban before we successfully authenticate.. ModerationBan BanRecord = null; if (!string.IsNullOrEmpty(MachineId)) { if (BiosEmuThiago.GetGame().GetModerationManager().IsBanned(MachineId, out BanRecord)) { if (BiosEmuThiago.GetGame().GetModerationManager().MachineBanCheck(MachineId)) { Disconnect(); return(false); } } } if (userData.user != null) { //Now let us check for a username ban record.. BanRecord = null; if (BiosEmuThiago.GetGame().GetModerationManager().IsBanned(userData.user.Username, out BanRecord)) { if (BiosEmuThiago.GetGame().GetModerationManager().UsernameBanCheck(userData.user.Username)) { Disconnect(); return(false); } } } #endregion BiosEmuThiago.GetGame().GetClientManager().RegisterClient(this, userData.userID, userData.user.Username); _habbo = userData.user; _habbo.ssoTicket = AuthTicket; if (_habbo != null) { userData.user.Init(this, userData); SendMessage(new AuthenticationOKComposer()); SendMessage(new AvatarEffectsComposer(_habbo.Effects().GetAllEffects)); SendMessage(new NavigatorSettingsComposer(_habbo.HomeRoom)); SendMessage(new FavouritesComposer(userData.user.FavoriteRooms)); SendMessage(new FigureSetIdsComposer(_habbo.GetClothing().GetClothingParts)); SendMessage(new UserRightsComposer(_habbo)); SendMessage(new AvailabilityStatusComposer()); SendMessage(new AchievementScoreComposer(_habbo.GetStats().AchievementPoints)); SendMessage(new BuildersClubMembershipComposer()); SendMessage(new CfhTopicsInitComposer(BiosEmuThiago.GetGame().GetModerationManager().UserActionPresets)); SendMessage(new BadgeDefinitionsComposer(BiosEmuThiago.GetGame().GetAchievementManager()._achievements)); SendMessage(new SoundSettingsComposer(_habbo.ClientVolume, _habbo.ChatPreference, _habbo.AllowMessengerInvites, _habbo.FocusPreference, FriendBarStateUtility.GetInt(_habbo.FriendbarState))); if (GetHabbo().GetMessenger() != null) { GetHabbo().GetMessenger().OnStatusChanged(true); } if (!string.IsNullOrEmpty(MachineId)) { if (_habbo.MachineId != MachineId) { using (IQueryAdapter dbClient = BiosEmuThiago.GetDatabaseManager().GetQueryReactor()) { dbClient.SetQuery("UPDATE `users` SET `machine_id` = @MachineId WHERE `id` = @id LIMIT 1"); dbClient.AddParameter("MachineId", MachineId); dbClient.AddParameter("id", _habbo.Id); dbClient.RunQuery(); } } _habbo.MachineId = MachineId; } if (BiosEmuThiago.GetGame().GetPermissionManager().TryGetGroup(_habbo.Rank, out PermissionGroup PermissionGroup)) { if (!String.IsNullOrEmpty(PermissionGroup.Badge)) { if (!_habbo.GetBadgeComponent().HasBadge(PermissionGroup.Badge)) { _habbo.GetBadgeComponent().GiveBadge(PermissionGroup.Badge, true, this); } } } if (!BiosEmuThiago.GetGame().GetCacheManager().ContainsUser(_habbo.Id)) { BiosEmuThiago.GetGame().GetCacheManager().GenerateUser(_habbo.Id); } _habbo.InitProcess(); if (userData.user.GetPermissions().HasRight("mod_tickets")) { SendMessage(new ModeratorInitComposer( BiosEmuThiago.GetGame().GetModerationManager().UserMessagePresets, BiosEmuThiago.GetGame().GetModerationManager().RoomMessagePresets, BiosEmuThiago.GetGame().GetModerationManager().GetTickets)); } if (BiosEmuThiago.GetGame().GetSettingsManager().TryGetValue("user.login.message.enabled") == "1") { SendMessage(new MOTDNotificationComposer(BiosEmuThiago.GetGame().GetLanguageManager().TryGetValue("user.login.message"))); } if (ExtraSettings.WELCOME_MESSAGE_ENABLED) { SendMessage(new MOTDNotificationComposer(ExtraSettings.WelcomeMessage.Replace("%username%", GetHabbo().Username))); } if (GetHabbo().Rank >= 3) { using (IQueryAdapter dbClient = BiosEmuThiago.GetDatabaseManager().GetQueryReactor()) { dbClient.SetQuery("SELECT * FROM `ranks` WHERE id = '" + GetHabbo().Rank + "'"); DataRow Table = dbClient.getRow(); if (GetHabbo().GetBadgeComponent().HasBadge(Convert.ToString(Table["badgeid"]))) { } else { GetHabbo().GetBadgeComponent().GiveBadge(Convert.ToString(Table["badgeid"]), true, GetHabbo().GetClient()); SendMessage(RoomNotificationComposer.SendBubble("badge/" + Table["badgeid"], "Você recebeu o emblema staff do seu rank!", "/inventory/open/badge")); } } } if (ExtraSettings.TARGETED_OFFERS_ENABLED) { if (BiosEmuThiago.GetGame().GetTargetedOffersManager().TargetedOffer != null) { BiosEmuThiago.GetGame().GetTargetedOffersManager().Initialize(BiosEmuThiago.GetDatabaseManager().GetQueryReactor()); TargetedOffers TargetedOffer = BiosEmuThiago.GetGame().GetTargetedOffersManager().TargetedOffer; if (TargetedOffer.Expire > BiosEmuThiago.GetIUnixTimestamp()) { if (TargetedOffer.Limit != GetHabbo()._TargetedBuy) { SendMessage(BiosEmuThiago.GetGame().GetTargetedOffersManager().TargetedOffer.Serialize()); } } else { using (var dbClient = BiosEmuThiago.GetDatabaseManager().GetQueryReactor()) dbClient.runFastQuery("UPDATE targeted_offers SET active = 'false'"); using (var dbClient2 = BiosEmuThiago.GetDatabaseManager().GetQueryReactor()) dbClient2.runFastQuery("UPDATE users SET targeted_buy = '0' WHERE targeted_buy > 0"); } } } // Fixe do Presentes do HC By Thiago Araujo //DateTime dateGregorians = new DateTime(); //dateGregorians = DateTime.Today; //int days = (dateGregorians.Day); //if (30 == days) //{ // SendMessage(new HCGiftsAlertComposer()); // SendMessage(new RoomNotificationComposer("sumando", "message", "Hoje é dia de presentes HC, pegue o seu antes que acabe!")); //} // Da a conquista de login por dia feito por Thiago Araujo string dFrank = null; using (var dbClient = BiosEmuThiago.GetDatabaseManager().GetQueryReactor()) { dbClient.SetQuery("SELECT Datahoje FROM users WHERE id = '" + userData.user.GetClient().GetHabbo().Id + "' LIMIT 1"); dFrank = dbClient.getString(); } int dFrankInt = Int32.Parse(dFrank); DateTime dateGregorian = new DateTime(); dateGregorian = DateTime.Today; int day = (dateGregorian.Day); if (dFrankInt != day) { using (var dbClient = BiosEmuThiago.GetDatabaseManager().GetQueryReactor()) { dbClient.RunQuery("UPDATE users SET Datahoje = '" + day + "' WHERE id = " + GetHabbo().Id + ";"); } BiosEmuThiago.GetGame().GetAchievementManager().ProgressAchievement(userData.user.GetClient(), "ACH_Login", 1); } if (ExtraSettings.STAFF_MENSG_ENTERTHIAGO) { using (IQueryAdapter dbClient = BiosEmuThiago.GetDatabaseManager().GetQueryReactor()) { dbClient.SetQuery("SELECT * FROM `ranks` WHERE id = '" + GetHabbo().Rank + "'"); DataRow Table = dbClient.getRow(); if (GetHabbo().Rank == 1) { // Thiago é muito lindo ser é doido } else { string figure = this.GetHabbo().Look; BiosEmuThiago.GetGame().GetClientManager().SendMessage(new RoomNotificationComposer("fig/" + figure, 3, "O " + Convert.ToString(Table["name"]) + " " + userData.user.GetClient().GetHabbo().Username + " entrou no hotel!", "")); } } if (GetHabbo().isMedal) { var nuxStatus = new ServerPacket(ServerPacketHeader.NuxUserStatus); nuxStatus.WriteInteger(2); SendMessage(nuxStatus); string thiagolindogostoso = this.GetHabbo().Look; BiosEmuThiago.GetGame().GetClientManager().StaffAlert(new RoomNotificationComposer("fig/" + thiagolindogostoso, 3, "Hey o usuário: " + GetHabbo().Username + " acaba de se registra no hotel.", "")); if (GetHabbo().isMedal) { string thiago = this.GetHabbo().Look; SendMessage(new RoomNotificationComposer("fig/" + thiago, 3, "Hey " + userData.user.GetClient().GetHabbo().Username + " Bem-vindo ao nosso hotel!", "")); } if (GetHabbo().isMedal == false) { string thiagolindo = this.GetHabbo().Look; SendMessage(new RoomNotificationComposer("fig/" + thiagolindo, 3, "Hey " + userData.user.GetClient().GetHabbo().Username + " Bem-vindo de volta ao nosso hotel!", "")); } } } if (GetHabbo().Rank > Convert.ToInt32(BiosEmuThiago.GetConfig().data["MineRankStaff"])) { using (IQueryAdapter dbClient = BiosEmuThiago.GetDatabaseManager().GetQueryReactor()) { dbClient.RunQuery("UPDATE users SET prefix_name = '' WHERE id = '" + GetHabbo().Id + "'"); dbClient.RunQuery("UPDATE users SET prefix_name_color = '' WHERE id = '" + GetHabbo().Id + "'"); } GetHabbo()._NamePrefixColor = ""; GetHabbo()._NamePrefix = ""; } if (GetHabbo().Rank > 0) { using (IQueryAdapter dbClient = BiosEmuThiago.GetDatabaseManager().GetQueryReactor()) { dbClient.SetQuery("SELECT * FROM `users` WHERE id = '" + GetHabbo().Id + "'"); DataRow Table = dbClient.getRow(); if (Convert.ToString(Table["LalaConf"]) == "0") { // Thiago é muito lindo ser é doido } else { BiosEmuThiago.GetGame().GetAchievementManager().ProgressAchievement(userData.user.GetClient(), "ACH_TraderPass", 1); BiosEmuThiago.GetGame().GetAchievementManager().ProgressAchievement(userData.user.GetClient(), "ACH_AvatarTags", 1); BiosEmuThiago.GetGame().GetAchievementManager().ProgressAchievement(userData.user.GetClient(), "ACH_EmailVerification", 1); } } } if (GetHabbo().isMedal) { if (ExtraSettings.WELCOME_NEW_MESSAGE_ENABLED) { ServerPacket notif = new ServerPacket(ServerPacketHeader.NuxAlertMessageComposer); notif.WriteString(ExtraSettings.WELCOME_MESSAGE_URL); SendMessage(notif); } using (var dbClient = BiosEmuThiago.GetDatabaseManager().GetQueryReactor()) { dbClient.RunQuery("UPDATE users SET isMedal = '0' WHERE id = " + GetHabbo().Id + ";"); } GetHabbo().isMedal = false; } BiosEmuThiago.GetGame().GetRewardManager().CheckRewards(this); BiosEmuThiago.GetGame().GetAchievementManager().TryProgressHabboClubAchievements(this); BiosEmuThiago.GetGame().GetAchievementManager().TryProgressRegistrationAchievements(this); BiosEmuThiago.GetGame().GetAchievementManager().TryProgressLoginAchievements(this); ICollection <MessengerBuddy> Friends = new List <MessengerBuddy>(); foreach (MessengerBuddy Buddy in GetHabbo().GetMessenger().GetFriends().ToList()) { if (Buddy == null) { continue; } GameClient Friend = BiosEmuThiago.GetGame().GetClientManager().GetClientByUserID(Buddy.Id); if (Friend == null) { continue; } string figure = GetHabbo().Look; Friend.SendMessage(new RoomNotificationComposer("fig/" + figure, 3, this.GetHabbo().Username + ", seu amigo acabou de entrar no hotel!", "")); } return(true); } } catch (Exception e) { ExceptionLogger.LogException(e); } return(false); }
public void Parse(HabboHotel.GameClients.GameClient Session, ClientPacket Packet) { #region RETURN VALUES TargetedOffers offer = NeonEnvironment.GetGame().GetTargetedOffersManager().TargetedOffer; HabboHotel.Users.Habbo habbo = Session.GetHabbo(); if (offer == null || habbo == null) { Session.SendMessage(new PurchaseErrorComposer(1)); return; } #endregion #region FIELDS Packet.PopInt(); int amount = Packet.PopInt(); if (amount > offer.Limit) { Session.SendMessage(new PurchaseErrorComposer(1)); return; } int creditsCost = int.Parse(offer.Price[0]) * amount; int extraMoneyCost = int.Parse(offer.Price[1]) * amount; #endregion //#region CREDITS COST //if (creditsCost > 0) //{ // if (habbo.Credits < creditsCost) // { // Session.SendMessage(new PurchaseErrorComposer(1)); // return; // } // habbo.Credits -= creditsCost; // Session.SendMessage(new CreditBalanceComposer(Session.GetHabbo().Credits - creditsCost)); //} //#endregion //#region EXTRA MONEY COST //if (extraMoneyCost > 0) //{ // #region GET MONEY TYPE AND DISCOUNT // switch (offer.MoneyType) // { // #region DUCKETS COST // case "duckets": // { // if (habbo.Duckets < extraMoneyCost) // { // Session.SendMessage(new PurchaseErrorComposer(1)); // return; // } // //habbo.Duckets -= extraMoneyCost; // Session.GetHabbo().Duckets -= extraMoneyCost; // Session.SendMessage(new HabboActivityPointNotificationComposer(Session.GetHabbo().Duckets, Session.GetHabbo().Duckets)); // break; // } // #endregion // #region DIAMONDS COST // case "diamonds": // { // if (habbo.Diamonds < extraMoneyCost) // { // Session.SendMessage(new PurchaseErrorComposer(1)); // return; // } // //habbo.Diamonds -= extraMoneyCost; // Session.GetHabbo().Diamonds -= extraMoneyCost; // Session.SendMessage(new HabboActivityPointNotificationComposer(Session.GetHabbo().Diamonds, 0, 5)); // break; // } // #endregion // //#region OTHER COST // //default: // // goto case "duckets"; // // #endregion // } // #endregion // //habbo.UpdateExtraMoneyBalance(); //} //#endregion #region BUY AND CREATE ITEMS PROGRESS TargetedOffers TargetedOffer = NeonEnvironment.GetGame().GetTargetedOffersManager().TargetedOffer; using (IQueryAdapter dbQuery = NeonEnvironment.GetDatabaseManager().GetQueryReactor()) { dbQuery.SetQuery("SELECT targeted_buy FROM users where id = " + habbo.Id + " LIMIT 1"); DataTable count = dbQuery.getTable(); foreach (DataRow Row in count.Rows) { int offer2 = Convert.ToInt32(Row["targeted_buy"]); if (TargetedOffer.Limit == offer2) { Session.SendMessage(new RoomCustomizedAlertComposer("Ya has pasado el limite de compras de esta Oferta.")); } else { using (IQueryAdapter dbClient = NeonEnvironment.GetDatabaseManager().GetQueryReactor()) { dbClient.runFastQuery("UPDATE users SET targeted_buy = targeted_buy +1 WHERE id = " + Session.GetHabbo().Id + ";"); } foreach (TargetedItems product in offer.Products) { #region CHECK PRODUCT TYPE switch (product.ItemType) { #region NORMAL ITEMS CASE case "item": { if (!NeonEnvironment.GetGame().GetItemManager().GetItem(int.Parse(product.Item), out ItemData item)) { return; } if (item == null) { return; } Item cItem = ItemFactory.CreateSingleItemNullable(item, Session.GetHabbo(), string.Empty, string.Empty); if (cItem != null) { Session.GetHabbo().GetInventoryComponent().TryAddItem(cItem); Session.SendMessage(new FurniListAddComposer(cItem)); Session.SendMessage(new FurniListUpdateComposer()); } Session.GetHabbo().GetInventoryComponent().UpdateItems(true); break; } #endregion #region BADGE CASE case "badge": { if (habbo.GetBadgeComponent().HasBadge(product.Item)) { //Session.SendMessage(new RoomCustomizedAlertComposer("mira men ahi te pudras joder")); //break; } habbo.GetBadgeComponent().GiveBadge(product.Item, true, Session); break; } #endregion } #endregion } } } } #endregion #region CREDITS COST if (creditsCost > 0) { if (habbo.Credits < creditsCost) { Session.SendMessage(new PurchaseErrorComposer(1)); return; } habbo.Credits -= creditsCost; Session.SendMessage(new CreditBalanceComposer(Session.GetHabbo().Credits - creditsCost)); } #endregion #region EXTRA MONEY COST if (extraMoneyCost > 0) { #region GET MONEY TYPE AND DISCOUNT switch (offer.MoneyType) { #region DUCKETS COST case "duckets": { if (habbo.Duckets < extraMoneyCost) { Session.SendMessage(new PurchaseErrorComposer(1)); return; } //habbo.Duckets -= extraMoneyCost; Session.GetHabbo().Duckets -= extraMoneyCost; Session.SendMessage(new HabboActivityPointNotificationComposer(Session.GetHabbo().Duckets, Session.GetHabbo().Duckets)); break; } #endregion #region DIAMONDS COST case "diamonds": { if (habbo.Diamonds < extraMoneyCost) { Session.SendMessage(new PurchaseErrorComposer(1)); return; } //habbo.Diamonds -= extraMoneyCost; Session.GetHabbo().Diamonds -= extraMoneyCost; Session.SendMessage(new HabboActivityPointNotificationComposer(Session.GetHabbo().Diamonds, 0, 5)); break; } #endregion //#region OTHER COST //default: // goto case "duckets"; // #endregion } #endregion //habbo.UpdateExtraMoneyBalance(); } #endregion #region RE-OPEN TARGETED BOX TargetedOffers TargetedOffer2 = NeonEnvironment.GetGame().GetTargetedOffersManager().TargetedOffer; int offer22 = Session.GetHabbo()._TargetedBuy; if (TargetedOffer2.Limit > offer22) { Session.SendMessage(NeonEnvironment.GetGame().GetTargetedOffersManager().TargetedOffer.Serialize()); } }
public void Parse(HabboHotel.GameClients.GameClient Session, ClientPacket Packet) { #region RETURN VALUES var offer = BiosEmuThiago.GetGame().GetTargetedOffersManager().TargetedOffer; var habbo = Session.GetHabbo(); if (offer == null || habbo == null) { Session.SendMessage(new PurchaseErrorComposer(1)); return; } #endregion #region FIELDS Packet.PopInt(); var amount = Packet.PopInt(); if (amount > offer.Limit) { Session.SendMessage(new PurchaseErrorComposer(1)); return; } var creditsCost = int.Parse(offer.Price[0]) * amount; var extraMoneyCost = int.Parse(offer.Price[1]) * amount; #endregion #region CREDITS COST if (creditsCost > 0) { if (habbo.Credits < creditsCost) { Session.SendMessage(new PurchaseErrorComposer(1)); return; } habbo.Credits -= creditsCost; Session.SendMessage(new CreditBalanceComposer(Session.GetHabbo().Credits - creditsCost)); } #endregion #region EXTRA MONEY COST if (extraMoneyCost > 0) { #region GET MONEY TYPE AND DISCOUNT switch (offer.MoneyType) { #region DUCKETS COST case "duckets": { if (habbo.Duckets < extraMoneyCost) { Session.SendMessage(new PurchaseErrorComposer(1)); return; } Session.GetHabbo().Duckets -= extraMoneyCost; Session.SendMessage(new HabboActivityPointNotificationComposer(Session.GetHabbo().Duckets, Session.GetHabbo().Duckets)); break; } #endregion #region DIAMONDS COST case "diamonds": case "diamantes": { if (habbo.Diamonds < extraMoneyCost) { Session.SendMessage(new PurchaseErrorComposer(1)); return; } Session.GetHabbo().Diamonds -= extraMoneyCost; Session.SendMessage(new HabboActivityPointNotificationComposer(Session.GetHabbo().Diamonds, 0, 5)); break; } #endregion #region GOTW COST case "gotw": case "gotwpoints": { if (habbo.GOTWPoints < extraMoneyCost) { Session.SendMessage(new PurchaseErrorComposer(1)); return; } Session.GetHabbo().GOTWPoints -= extraMoneyCost; Session.SendMessage(new HabboActivityPointNotificationComposer(Session.GetHabbo().Diamonds, 0, 103)); break; } #endregion } #endregion } #endregion #region BUY AND CREATE ITEMS PROGRESS TargetedOffers TargetedOffer = BiosEmuThiago.GetGame().GetTargetedOffersManager().TargetedOffer; using (IQueryAdapter dbQuery = BiosEmuThiago.GetDatabaseManager().GetQueryReactor()) { dbQuery.SetQuery("SELECT targeted_buy FROM users where id = " + habbo.Id + " LIMIT 1"); DataTable count = dbQuery.getTable(); foreach (DataRow Row in count.Rows) { int offer2 = Convert.ToInt32(Row["targeted_buy"]); if (TargetedOffer.Limit == offer2) { Session.SendMessage(new RoomAlertComposer("Você já passo do limite de compra para esta Oferta.")); } else { using (var dbClient = BiosEmuThiago.GetDatabaseManager().GetQueryReactor()) dbClient.runFastQuery("UPDATE users SET targeted_buy = targeted_buy +1 WHERE id = " + Session.GetHabbo().Id + ";"); foreach (var product in offer.Products) { #region CHECK PRODUCT TYPE switch (product.ItemType) { #region NORMAL ITEMS CASE case "item": { ItemData item = null; if (!BiosEmuThiago.GetGame().GetItemManager().GetItem(int.Parse(product.Item), out item)) { return; } if (item == null) { return; } var cItem = ItemFactory.CreateSingleItemNullable(item, Session.GetHabbo(), string.Empty, string.Empty); if (cItem != null) { Session.GetHabbo().GetInventoryComponent().TryAddItem(cItem); Session.SendMessage(new FurniListAddComposer(cItem)); Session.SendMessage(new FurniListUpdateComposer()); } Session.GetHabbo().GetInventoryComponent().UpdateItems(true); break; } #endregion #region BADGE CASE case "badge": { if (habbo.GetBadgeComponent().HasBadge(product.Item)) { } habbo.GetBadgeComponent().GiveBadge(product.Item, true, Session); break; } #endregion } #endregion } } } } #endregion #region RE-OPEN TARGETED BOX TargetedOffers TargetedOffer2 = BiosEmuThiago.GetGame().GetTargetedOffersManager().TargetedOffer; using (IQueryAdapter dbQuery2 = BiosEmuThiago.GetDatabaseManager().GetQueryReactor()) { dbQuery2.SetQuery("SELECT targeted_buy FROM users where id = " + habbo.Id + " LIMIT 1"); DataTable count2 = dbQuery2.getTable(); foreach (DataRow Row2 in count2.Rows) { int offer22 = Convert.ToInt32(Row2["targeted_buy"]); if (TargetedOffer2.Limit != offer22) { Session.SendMessage(BiosEmuThiago.GetGame().GetTargetedOffersManager().TargetedOffer.Serialize()); } } } #endregion }