public override bool Execute(GameClient session, string[] pms) { var userName = pms[0]; var userSession = Azure.GetGame().GetClientManager().GetClientByUserName(userName); if (userSession == null) { session.SendWhisper(Azure.GetLanguage().GetVar("user_not_found")); return true; } if (session.GetHabbo().Rank <= userSession.GetHabbo().Rank) { session.SendNotif(Azure.GetLanguage().GetVar("user_is_higher_rank")); return true; } if (userSession.GetHabbo().CurrentRoomId < 1) { session.SendNotif(Azure.GetLanguage().GetVar("command_kick_user_not_in_room")); return true; } var room = Azure.GetGame().GetRoomManager().GetRoom(userSession.GetHabbo().CurrentRoomId); if (room == null) return true; room.GetRoomUserManager().RemoveUserFromRoom(userSession, true, false); userSession.CurrentRoomUserId = -1; if (pms.Length > 1) { userSession.SendNotif( string.Format(Azure.GetLanguage().GetVar("command_kick_user_mod_default") + "{0}.", string.Join(" ", pms.Skip(1)))); } else userSession.SendNotif(Azure.GetLanguage().GetVar("command_kick_user_mod_default")); return true; }
public override bool Execute(GameClient session, string[] pms) { try { session.GetHabbo().GetInventoryComponent().Redeemcredits(session); session.SendNotif(Azure.GetLanguage().GetVar("command_redeem_credits")); } catch (Exception e) { Writer.Writer.LogException(e.ToString()); session.SendNotif(Azure.GetLanguage().GetVar("command_redeem_credits")); } return true; }
/// <summary> /// Determines whether this instance can talk the specified session. /// </summary> /// <param name="session">The session.</param> /// <param name="message">The message.</param> /// <returns><c>true</c> if this instance can talk the specified session; otherwise, <c>false</c>.</returns> internal static bool CanTalk(GameClient session, string message) { if (CheckForBannedPhrases(message) && session.GetHabbo().Rank < 4) { if (!Azure.MutedUsersByFilter.ContainsKey(session.GetHabbo().Id)) session.GetHabbo().BobbaFiltered++; if (session.GetHabbo().BobbaFiltered < 3) session.SendNotif("Your language is inappropriate. If you do not change this , measures are being taken by the automated system of Habbo."); else if (session.GetHabbo().BobbaFiltered >= 3) { if (session.GetHabbo().BobbaFiltered == 3) { session.GetHabbo().BobbaFiltered = 4; Azure.MutedUsersByFilter.Add(session.GetHabbo().Id, uint.Parse((Azure.GetUnixTimeStamp() + (300 * 60)).ToString())); return false; } if (session.GetHabbo().BobbaFiltered == 4) session.SendNotif("Now you can not talk for 5 minutes . This is because your exhibits inappropriate language in Habbo Hotel."); else if (session.GetHabbo().BobbaFiltered == 5) session.SendNotif("You risk a ban if you continue to scold it . This is your last warning"); else if (session.GetHabbo().BobbaFiltered >= 7) { session.GetHabbo().BobbaFiltered = 0; Azure.GetGame().GetBanManager().BanUser(session, "Auto-system-ban", 3600, "ban.", false, false); } } } if (Azure.MutedUsersByFilter.ContainsKey(session.GetHabbo().Id)) { if (Azure.MutedUsersByFilter[session.GetHabbo().Id] < Azure.GetUnixTimeStamp()) Azure.MutedUsersByFilter.Remove(session.GetHabbo().Id); else { DateTime now = DateTime.Now; TimeSpan timeStillBanned = now - Azure.UnixToDateTime(Azure.MutedUsersByFilter[session.GetHabbo().Id]); session.SendNotif("Damn! you can't talk for " + timeStillBanned.Minutes.ToString().Replace("-", "") + " minutes and " + timeStillBanned.Seconds.ToString().Replace("-", "") + " seconds."); return false; } } return true; }
public override bool Execute(GameClient session, string[] pms) { session.GetHabbo().SpectatorMode = true; session.SendNotif("In next room you enter you will be invisible."); return true; }
public override bool Execute(GameClient session, string[] pms) { using (var adapter = Azure.GetDatabaseManager().GetQueryReactor()) Azure.ConfigData = new ConfigData(adapter); session.SendNotif(Azure.GetLanguage().GetVar("command_refresh_settings")); return true; }
public override bool Execute(GameClient session, string[] pms) { var room = session.GetHabbo().CurrentRoom; room.MutedBots = !room.MutedBots; session.SendNotif(Azure.GetLanguage().GetVar("user_room_mute_bots")); return true; }
public override bool Execute(GameClient session, string[] pms) { FurniDataParser.SetCache(); Azure.GetGame().ReloadItems(); FurniDataParser.Clear(); session.SendNotif(Azure.GetLanguage().GetVar("command_refresh_items")); return true; }
public override bool Execute(GameClient session, string[] pms) { Filter.Reload(); BlackWordsManager.Reload(); session.SendNotif(Azure.GetLanguage().GetVar("command_refresh_banned_hotels")); return true; }
public override bool Execute(GameClient session, string[] pms) { using (var adapter = Azure.GetDatabaseManager().GetQueryReactor()) Azure.GetGame().GetRoleManager().LoadRights(adapter); CommandsManager.UpdateInfo(); session.SendNotif(Azure.GetLanguage().GetVar("command_refresh_ranks")); return true; }
public override bool Execute(GameClient session, string[] pms) { var room = session.GetHabbo().CurrentRoom; room.GetGameMap().DiagonalEnabled = !room.GetGameMap().DiagonalEnabled; session.SendNotif(Azure.GetLanguage().GetVar("command_disable_diagonal")); return true; }
public override bool Execute(GameClient session, string[] pms) { using (var adapter = Azure.GetDatabaseManager().GetQueryReactor()) { Azure.GetGame().GetNavigator().Initialize(adapter); Azure.GetGame().GetRoomManager().LoadModels(adapter); } session.SendNotif(Azure.GetLanguage().GetVar("command_refresh_navigator")); return true; }
public override bool Execute(GameClient session, string[] pms) { var userName = pms[0]; if (string.IsNullOrEmpty(userName)) return true; var clientByUserName = Azure.GetGame().GetClientManager().GetClientByUserName(userName); if (clientByUserName == null || clientByUserName.GetHabbo() == null) { using (var adapter = Azure.GetDatabaseManager().GetQueryReactor()) { adapter.SetQuery( "SELECT username, rank, id, credits, activity_points, diamonds FROM users WHERE username=@user LIMIT 1"); adapter.AddParameter("user", userName); var row = adapter.GetRow(); if (row == null) { session.SendWhisper(Azure.GetLanguage().GetVar("user_not_found")); return true; } session.SendNotif(string.Format((Azure.GetLanguage().GetVar("user_info_all")), userName, row[1], row[3], row[4], row[5])); } return true; } var habbo = clientByUserName.GetHabbo(); var builder = new StringBuilder(); if (habbo.CurrentRoom != null) { builder.AppendFormat(" - ROOM INFORMATION [{0}] - \r", habbo.CurrentRoom.RoomId); builder.AppendFormat("Owner: {0}\r", habbo.CurrentRoom.RoomData.Owner); builder.AppendFormat("Room Name: {0}\r", habbo.CurrentRoom.RoomData.Name); builder.Append( string.Concat("Current Users: ", habbo.CurrentRoom.UserCount, "/", habbo.CurrentRoom.RoomData.UsersMax)); } session.SendNotif(string.Concat("User info for: ", userName, " \rUser ID: ", habbo.Id, ":\rRank: ", habbo.Rank, "\rCurrentTalentLevel: ", habbo.CurrentTalentLevel, " \rCurrent Room: ", habbo.CurrentRoomId, " \rCredits: ", habbo.Credits, "\rDuckets: ", habbo.ActivityPoints, "\rDiamonds: ", habbo.Diamonds, "\rMuted: ", habbo.Muted.ToString(), "\r\r\r", builder.ToString())); return true; }
public override bool Execute(GameClient session, string[] pms) { var client = Azure.GetGame().GetClientManager().GetClientByUserName(pms[0]); if (client == null) { session.SendNotif(Azure.GetLanguage().GetVar("user_not_found")); return true; } int amount; if (!int.TryParse(pms[1], out amount)) { session.SendNotif(Azure.GetLanguage().GetVar("enter_numbers")); return true; } client.GetHabbo().ActivityPoints += amount; client.GetHabbo().UpdateActivityPointsBalance(); client.SendNotif(string.Format(Azure.GetLanguage().GetVar("staff_gives_duckets"), session.GetHabbo().UserName, amount)); return true; }
public override bool Execute(GameClient session, string[] pms) { var client = Azure.GetGame().GetClientManager().GetClientByUserName(pms[0]); if (client == null) { session.SendNotif(Azure.GetLanguage().GetVar("user_not_found")); return true; } if (!client.GetHabbo().GetBadgeComponent().HasBadge(pms[1])) { session.SendNotif(Azure.GetLanguage().GetVar("command_badge_remove_error")); return true; } client.GetHabbo().GetBadgeComponent().RemoveBadge(pms[1], client); session.SendNotif(Azure.GetLanguage().GetVar("command_badge_remove_done")); Azure.GetGame() .GetModerationTool() .LogStaffEntry(session.GetHabbo().UserName, client.GetHabbo().UserName, "Badge Taken", string.Format("Badge taken from user [{0}]", pms[1])); return true; }
public override bool Execute(GameClient session, string[] pms) { var userName = pms[0]; if (string.Equals(userName, session.GetHabbo().UserName, StringComparison.CurrentCultureIgnoreCase)) { session.SendNotif(Azure.GetLanguage().GetVar("summon_yourself")); return true; } var client = Azure.GetGame().GetClientManager().GetClientByUserName(userName); if (client == null) { session.SendNotif(Azure.GetLanguage().GetVar("user_not_found")); return true; } if (session.GetHabbo().CurrentRoom != null && session.GetHabbo().CurrentRoomId != client.GetHabbo().CurrentRoomId) client.GetMessageHandler() .PrepareRoomForUser(session.GetHabbo().CurrentRoom.RoomId, session.GetHabbo().CurrentRoom.RoomData.PassWord); return true; }
public override bool Execute(GameClient session, string[] pms) { var client = Azure.GetGame().GetClientManager().GetClientByUserName(pms[0]); if (client == null) { session.SendNotif(Azure.GetLanguage().GetVar("user_not_found")); return true; } if (client.GetHabbo().Rank >= session.GetHabbo().Rank) { session.SendNotif(Azure.GetLanguage().GetVar("user_is_higher_rank")); return true; } Azure.GetGame() .GetModerationTool() .LogStaffEntry(session.GetHabbo().UserName, client.GetHabbo().UserName, "Ban", "User has received a Super ban."); Azure.GetGame() .GetBanManager() .BanUser(client, session.GetHabbo().UserName, 788922000.0, string.Join(" ", pms.Skip(1)), false, false); return true; }
public override bool Execute(GameClient session, string[] pms) { foreach ( var client in Azure.GetGame() .GetClientManager() .Clients.Values.Where(client => client != null && client.GetHabbo() != null)) client.GetHabbo().GetBadgeComponent().GiveBadge(pms[0], true, client); session.SendNotif(Azure.GetLanguage().GetVar("command_badge_give_done")); Azure.GetGame() .GetModerationTool() .LogStaffEntry(session.GetHabbo().UserName, "All", "Badge", "Badge [" + pms[0] + "] given to all online users ATM"); return true; }
public override bool Execute(GameClient session, string[] pms) { var client = Azure.GetGame().GetClientManager().GetClientByUserName(pms[0]); if (client == null || client.GetHabbo() == null) { session.SendWhisper(Azure.GetLanguage().GetVar("user_not_found")); return true; } if (client.GetHabbo().Rank >= 4) { session.SendNotif(Azure.GetLanguage().GetVar("user_is_higher_rank")); } Azure.GetGame() .GetModerationTool().LogStaffEntry(session.GetHabbo().UserName, client.GetHabbo().UserName, "Mute", "Muted user"); client.GetHabbo().Mute(); return true; }
public override bool Execute(GameClient session, string[] pms) { int amount; if (!int.TryParse(pms[0], out amount)) { session.SendNotif(Azure.GetLanguage().GetVar("enter_numbers")); return true; } foreach (var client in Azure.GetGame().GetClientManager().Clients.Values) { if (client == null || client.GetHabbo() == null) continue; var habbo = client.GetHabbo(); habbo.Diamonds += amount; client.GetHabbo().UpdateSeasonalCurrencyBalance(); client.SendNotif(Azure.GetLanguage().GetVar("command_diamonds_one_give") + amount + (Azure.GetLanguage().GetVar("command_diamonds_two_give"))); } return true; }
public override bool Execute(GameClient session, string[] pms) { var targetRoom = session.GetHabbo().CurrentRoom; DataTable data; using (var dbClient = Azure.GetDatabaseManager().GetQueryReactor()) { dbClient.SetQuery("SELECT question, answer FROM rooms_faq"); data = dbClient.GetTable(); } var builder = new StringBuilder(); builder.Append(" - FAQ - \r\r"); foreach (DataRow row in data.Rows) { builder.Append("Q: " + (string)row["question"] + "\r"); builder.Append("A: " + (string)row["answer"] + "\r\r"); } session.SendNotif(builder.ToString()); return true; }
public override void OnTrigger(GameClient session, RoomItem item, int request, bool hasRights) { var user = item.GetRoom().GetRoomUserManager().GetRoomUserByHabbo(session.GetHabbo().Id); if (user == null) return; if (user.CurrentEffect != 172 && user.CurrentEffect != 5 && user.CurrentEffect != 173) return; if (item.ExtraData != "5") { if (item.VikingCotieBurning) return; item.ExtraData = "1"; item.UpdateState(); item.VikingCotieBurning = true; var clientByUsername = Azure.GetGame().GetClientManager().GetClientByUserName(item.GetRoom().RoomData.Owner); if (clientByUsername != null) { if (clientByUsername.GetHabbo().UserName != item.GetRoom().RoomData.Owner) clientByUsername.SendNotif(string.Format(Azure.GetLanguage().GetVar("viking_burn_started"), user.GetUserName())); } _mItem = item; var timer = new Timer(5000); timer.Elapsed += OnElapse; timer.Enabled = true; } else session.SendNotif(Azure.GetLanguage().GetVar("user_viking_error")); }
public override bool Execute(GameClient session, string[] pms) { Azure.GetGame().GetAchievementManager().LoadAchievements(Azure.GetDatabaseManager().GetQueryReactor()); session.SendNotif(Azure.GetLanguage().GetVar("command_refresh_achievements")); return true; }
public void AddUserVideo(GameClient client, string video) { if (client != null) { var youtubeMatch = YoutubeVideoRegex.Match(video); string id; string videoName; if (youtubeMatch.Success) { id = youtubeMatch.Groups[1].Value; videoName = GetTitleById(id); if (string.IsNullOrEmpty(videoName)) { client.SendWhisper("This Youtube Video doesn't Exists"); return; } } else { client.SendWhisper("This Youtube Url is Not Valid"); return; } UserId = client.GetHabbo().Id; using (var queryReactor = Azure.GetDatabaseManager().GetQueryReactor()) { queryReactor.SetQuery( "INSERT INTO users_videos_youtube (user_id, video_id, name, description) VALUES (@user_id, @video_id, @name, @name)"); queryReactor.AddParameter("user_id", UserId); queryReactor.AddParameter("video_id", id); queryReactor.AddParameter("name", videoName); queryReactor.RunQuery(); } RefreshVideos(); client.SendNotif("Youtube Video Added Sucessfully!"); } }
/// <summary> /// Handles the purchase. /// </summary> /// <param name="session">The session.</param> /// <param name="pageId">The page identifier.</param> /// <param name="itemId">The item identifier.</param> /// <param name="extraData">The extra data.</param> /// <param name="priceAmount">The price amount.</param> /// <param name="isGift">if set to <c>true</c> [is gift].</param> /// <param name="giftUser">The gift user.</param> /// <param name="giftMessage">The gift message.</param> /// <param name="giftSpriteId">The gift sprite identifier.</param> /// <param name="giftLazo">The gift lazo.</param> /// <param name="giftColor">Color of the gift.</param> /// <param name="undef">if set to <c>true</c> [undef].</param> /// <param name="theGroup">The theGroup.</param> internal void HandlePurchase(GameClient session, int pageId, uint itemId, string extraData, int priceAmount, bool isGift, string giftUser, string giftMessage, int giftSpriteId, int giftLazo, int giftColor, bool undef, uint theGroup) { priceAmount = (priceAmount < 1 || priceAmount > 100) ? 1 : priceAmount; var totalPrice = priceAmount; var limitedId = 0; var limtot = 0; if (priceAmount >= 6) totalPrice -= Convert.ToInt32(Math.Ceiling(Convert.ToDouble(priceAmount) / 6)) * 2 - 1; if (!Categories.Contains(pageId)) return; var catalogPage = (CatalogPage)Categories[pageId]; if (catalogPage == null || !catalogPage.Enabled || !catalogPage.Visible || session?.GetHabbo() == null) return; if (catalogPage.MinRank > session.GetHabbo().Rank || catalogPage.Layout == "sold_ltd_items") return; var item = catalogPage.GetItem(itemId); if (item == null) return; if (catalogPage.Layout == "vip_buy" || catalogPage.Layout == "club_buy" || HabboClubItems.Contains(item)) { if (session.GetHabbo().Credits < item.CreditsCost) return; if (session.GetHabbo().ActivityPoints < item.DucketsCost) return; if (session.GetHabbo().Diamonds < item.DiamondsCost) return; var array = item.Name.Split('_'); double dayLength; if (item.Name.Contains("DAY")) dayLength = double.Parse(array[3]); else if (item.Name.Contains("MONTH")) dayLength = Math.Ceiling((double.Parse(array[3]) * 31) - 0.205); else if (item.Name.Contains("YEAR")) dayLength = (double.Parse(array[3]) * 31 * 12); else dayLength = 31; session.GetHabbo().GetSubscriptionManager().AddSubscription(dayLength); if (item.CreditsCost > 0) { session.GetHabbo().Credits -= (int)item.CreditsCost * totalPrice; session.GetHabbo().UpdateCreditsBalance(); } if (item.DucketsCost > 0) { session.GetHabbo().ActivityPoints -= (int)item.DucketsCost * totalPrice; session.GetHabbo().UpdateActivityPointsBalance(); } if (item.DiamondsCost > 0) { session.GetHabbo().Diamonds -= (int)item.DiamondsCost * totalPrice; session.GetHabbo().UpdateSeasonalCurrencyBalance(); } return; } if (item.Name == "room_ad_plus_badge") return; if (item.ClubOnly && !session.GetHabbo().GetSubscriptionManager().HasSubscription) { var serverMessage = new ServerMessage(LibraryParser.OutgoingRequest("CatalogPurchaseNotAllowedMessageComposer")); serverMessage.AppendInteger(1); session.SendMessage(serverMessage); return; } var flag = item.Items.Keys.Any(current => InteractionTypes.AreFamiliar(GlobalInteractions.Pet, current.InteractionType)); if (!flag && (item.CreditsCost * totalPrice < 0 || item.DucketsCost * totalPrice < 0 || item.DiamondsCost * totalPrice < 0)) return; if (item.IsLimited) { totalPrice = 1; priceAmount = 1; if (item.LimitedSelled >= item.LimitedStack) { session.SendMessage(new ServerMessage(LibraryParser.OutgoingRequest("CatalogLimitedItemSoldOutMessageComposer"))); return; } item.LimitedSelled++; using (var queryReactor = Azure.GetDatabaseManager().GetQueryReactor()) { queryReactor.RunFastQuery(string.Concat("UPDATE catalog_items SET limited_sells = ", item.LimitedSelled, " WHERE id = ", item.Id)); limitedId = item.LimitedSelled; limtot = item.LimitedStack; } } else if (isGift & priceAmount > 1) { totalPrice = 1; priceAmount = 1; } var toUserId = 0u; if (session.GetHabbo().Credits < item.CreditsCost * totalPrice) return; if (session.GetHabbo().ActivityPoints < item.DucketsCost * totalPrice) return; if (session.GetHabbo().Diamonds < item.DiamondsCost * totalPrice) return; if (item.CreditsCost > 0 && !isGift) { session.GetHabbo().Credits -= (int)item.CreditsCost * totalPrice; session.GetHabbo().UpdateCreditsBalance(); } if (item.DucketsCost > 0 && !isGift) { session.GetHabbo().ActivityPoints -= (int)item.DucketsCost * totalPrice; session.GetHabbo().UpdateActivityPointsBalance(); } if (item.DiamondsCost > 0 && !isGift) { session.GetHabbo().Diamonds -= (int)item.DiamondsCost * totalPrice; session.GetHabbo().UpdateSeasonalCurrencyBalance(); } foreach (var baseItem in item.Items.Keys) { if (isGift) { if ((DateTime.Now - session.GetHabbo().LastGiftPurchaseTime).TotalSeconds <= 15.0) { session.SendNotif(Azure.GetLanguage().GetVar("user_send_gift")); return; } if (!baseItem.AllowGift) return; DataRow row; using (var queryreactor3 = Azure.GetDatabaseManager().GetQueryReactor()) { queryreactor3.SetQuery("SELECT id FROM users WHERE username = @gift_user"); queryreactor3.AddParameter("gift_user", giftUser); row = queryreactor3.GetRow(); } if (row == null) { session.GetMessageHandler() .GetResponse() .Init(LibraryParser.OutgoingRequest("GiftErrorMessageComposer")); session.GetMessageHandler().GetResponse().AppendString(giftUser); session.GetMessageHandler().SendResponse(); return; } toUserId = Convert.ToUInt32(row["id"]); if (toUserId == 0u) { session.GetMessageHandler() .GetResponse() .Init(LibraryParser.OutgoingRequest("GiftErrorMessageComposer")); session.GetMessageHandler().GetResponse().AppendString(giftUser); session.GetMessageHandler().SendResponse(); return; } if (item.CreditsCost > 0 && isGift) { session.GetHabbo().Credits -= (int)item.CreditsCost * totalPrice; session.GetHabbo().UpdateCreditsBalance(); } if (item.DucketsCost > 0 && isGift) { session.GetHabbo().ActivityPoints -= (int)item.DucketsCost * totalPrice; session.GetHabbo().UpdateActivityPointsBalance(); } if (item.DiamondsCost > 0 && isGift) { session.GetHabbo().Diamonds -= (int)item.DiamondsCost * totalPrice; session.GetHabbo().UpdateSeasonalCurrencyBalance(); } } if (isGift && baseItem.Type == 'e') { session.SendNotif(Azure.GetLanguage().GetVar("user_send_gift_effect")); return; } if (item.Name.StartsWith("builders_club_addon_")) { var furniAmount = Convert.ToInt32(item.Name.Replace("builders_club_addon_", "").Replace("furnis", "")); session.GetHabbo().BuildersItemsMax += furniAmount; var update = new ServerMessage(LibraryParser.OutgoingRequest("BuildersClubMembershipMessageComposer")); update.AppendInteger(session.GetHabbo().BuildersExpire); update.AppendInteger(session.GetHabbo().BuildersItemsMax); update.AppendInteger(2); session.SendMessage(update); using (var queryReactor = Azure.GetDatabaseManager().GetQueryReactor()) { queryReactor.SetQuery("UPDATE users SET builders_items_max = @max WHERE id = @userId"); queryReactor.AddParameter("max", session.GetHabbo().BuildersItemsMax); queryReactor.AddParameter("userId", session.GetHabbo().Id); queryReactor.RunQuery(); } session.SendMessage(CatalogPageComposer.PurchaseOk(item, item.Items)); session.SendNotif("${notification.builders_club.membership_extended.message}", "${notification.builders_club.membership_extended.title}", "builders_club_membership_extended"); return; } if (item.Name.StartsWith("builders_club_time_")) { var timeAmount = Convert.ToInt32(item.Name.Replace("builders_club_time_", "").Replace("seconds", "")); session.GetHabbo().BuildersExpire += timeAmount; var update = new ServerMessage(LibraryParser.OutgoingRequest("BuildersClubMembershipMessageComposer")); update.AppendInteger(session.GetHabbo().BuildersExpire); update.AppendInteger(session.GetHabbo().BuildersItemsMax); update.AppendInteger(2); session.SendMessage(update); using (var queryReactor = Azure.GetDatabaseManager().GetQueryReactor()) { queryReactor.SetQuery("UPDATE users SET builders_expire = @max WHERE id = @userId"); queryReactor.AddParameter("max", session.GetHabbo().BuildersExpire); queryReactor.AddParameter("userId", session.GetHabbo().Id); queryReactor.RunQuery(); } session.SendMessage(CatalogPageComposer.PurchaseOk(item, item.Items)); session.SendNotif("${notification.builders_club.membership_extended.message}", "${notification.builders_club.membership_extended.title}", "builders_club_membership_extended"); return; } var text = string.Empty; var interactionType = baseItem.InteractionType; switch (interactionType) { case Interaction.None: case Interaction.Gate: case Interaction.Bed: case Interaction.PressurePadBed: case Interaction.Guillotine: case Interaction.HcGate: case Interaction.ScoreBoard: case Interaction.VendingMachine: case Interaction.Alert: case Interaction.OneWayGate: case Interaction.LoveShuffler: case Interaction.HabboWheel: case Interaction.Dice: case Interaction.Bottle: case Interaction.Hopper: case Interaction.Teleport: case Interaction.QuickTeleport: case Interaction.Pet: case Interaction.Pool: case Interaction.Roller: break; case Interaction.PostIt: extraData = "FFFF33"; break; case Interaction.RoomEffect: var number = string.IsNullOrEmpty(extraData) ? 0.0 : double.Parse(extraData, Azure.CultureInfo); extraData = number.ToString(CultureInfo.InvariantCulture).Replace(',', '.'); break; case Interaction.Dimmer: extraData = "1,1,1,#000000,255"; break; case Interaction.Trophy: extraData = string.Concat(session.GetHabbo().UserName, Convert.ToChar(9), DateTime.Now.Day.ToString("00"), "-", DateTime.Now.Month.ToString("00"), "-", DateTime.Now.Year, Convert.ToChar(9), extraData); break; case Interaction.Rentals: extraData = item.ExtraData; break; case Interaction.PetDog: case Interaction.PetCat: case Interaction.PetCrocodile: case Interaction.PetTerrier: case Interaction.PetBear: case Interaction.PetPig: case Interaction.PetLion: case Interaction.PetRhino: case Interaction.PetSpider: case Interaction.PetTurtle: case Interaction.PetChick: case Interaction.PetFrog: case Interaction.PetDragon: case Interaction.PetHorse: case Interaction.PetMonkey: case Interaction.PetGnomo: case Interaction.PetMonsterPlant: case Interaction.PetWhiteRabbit: case Interaction.PetEvilRabbit: case Interaction.PetLoveRabbit: case Interaction.PetCafeRabbit: case Interaction.PetPigeon: case Interaction.PetEvilPigeon: case Interaction.PetDemonMonkey: case Interaction.Pet24: case Interaction.Pet25: case Interaction.Pet26: case Interaction.Pet27: case Interaction.Pet28: case Interaction.Pet29: case Interaction.Pet30: case Interaction.Pet31: case Interaction.Pet32: case Interaction.Pet33: case Interaction.Pet34: var data = extraData.Split('\n'); var petName = data[0]; var race = data[1]; var color = data[2]; if (!CheckPetName(petName)) return; if (race.Length != 1 && race.Length != 2) return; if (color.Length != 6) return; Azure.GetGame().GetAchievementManager().ProgressUserAchievement(session, "ACH_PetLover", 1); break; case Interaction.Mannequin: extraData = string.Concat("m", Convert.ToChar(5), "ch-215-92.lg-3202-1322-73", Convert.ToChar(5), "Mannequin"); break; case Interaction.VipGate: case Interaction.MysteryBox: case Interaction.YoutubeTv: case Interaction.TileStackMagic: case Interaction.Tent: case Interaction.BedTent: break; case Interaction.BadgeDisplay: if (!session.GetHabbo().GetBadgeComponent().HasBadge(extraData)) extraData = "UMAD"; extraData = $"{extraData}|{session.GetHabbo().UserName}|{DateTime.Now.Day.ToString("00")}-{DateTime.Now.Month.ToString("00")}-{DateTime.Now.Year}"; break; case Interaction.FootballGate: extraData = "hd-99999-99999.lg-270-62;hd-99999-99999.ch-630-62.lg-695-62"; break; case Interaction.LoveLock: extraData = "0"; break; case Interaction.Pinata: case Interaction.RunWaySage: case Interaction.Shower: extraData = "0"; break; case Interaction.GroupForumTerminal: case Interaction.GuildItem: case Interaction.GuildGate: case Interaction.GuildForum: case Interaction.Poster: break; case Interaction.Moplaseed: extraData = new Random().Next(0, 12).ToString(); break; case Interaction.RareMoplaSeed: extraData = new Random().Next(10, 12).ToString(); break; case Interaction.MusicDisc: var song = SoundMachineSongManager.GetSongById(item.SongId); extraData = string.Empty; if (song == null) break; extraData = string.Concat(session.GetHabbo().UserName, '\n', DateTime.Now.Year, '\n', DateTime.Now.Month, '\n', DateTime.Now.Day, '\n', song.LengthSeconds, '\n', song.Name); text = song.CodeName; break; default: extraData = item.ExtraData; break; } session.GetMessageHandler().GetResponse().Init(LibraryParser.OutgoingRequest("UpdateInventoryMessageComposer")); session.GetMessageHandler().SendResponse(); session.SendMessage(CatalogPageComposer.PurchaseOk(item, item.Items)); if (isGift) { var itemBySprite = Azure.GetGame().GetItemManager().GetItemBySpriteId(giftSpriteId); if (itemBySprite == null) return; uint insertId; using (var queryReactor = Azure.GetDatabaseManager().GetQueryReactor()) { queryReactor.SetQuery("INSERT INTO items_rooms (base_item,user_id) VALUES (" + itemBySprite.ItemId + ", " + toUserId + ")"); insertId = (uint)queryReactor.InsertQuery(); queryReactor.SetQuery(string.Concat("INSERT INTO users_gifts (gift_id,item_id,extradata,giver_name,Message,ribbon,color,gift_sprite,show_sender,rare_id) VALUES (", insertId, ", ", baseItem.ItemId, ",@extradata, @name, @Message,", giftLazo, ",", giftColor, ",", giftSpriteId, ",", undef ? 1 : 0, ",", limitedId, ")")); queryReactor.AddParameter("extradata", extraData); queryReactor.AddParameter("name", giftUser); queryReactor.AddParameter("message", giftMessage); queryReactor.RunQuery(); if (session.GetHabbo().Id != toUserId) { Azure.GetGame().GetAchievementManager().ProgressUserAchievement(session, "ACH_GiftGiver", 1, true); Azure.GetGame().GetQuestManager().ProgressUserQuest(session, QuestType.GiftOthers); queryReactor.RunFastQuery("UPDATE users_stats SET gifts_given = gifts_given + 1 WHERE id = " + session.GetHabbo().Id + ";UPDATE users_stats SET gifts_received = gifts_received + 1 WHERE id = " + toUserId); } } var clientByUserId = Azure.GetGame().GetClientManager().GetClientByUserId(toUserId); if (clientByUserId != null) { clientByUserId.GetHabbo() .GetInventoryComponent().AddNewItem(insertId, itemBySprite.ItemId, string.Concat(session.GetHabbo().Id, (char)9, giftMessage, (char)9, giftLazo, (char)9, giftColor, (char)9, ((undef) ? "1" : "0"), (char)9, session.GetHabbo().UserName, (char)9, session.GetHabbo().Look, (char)9, item.Name), 0u, false, false, 0, 0); if (clientByUserId.GetHabbo().Id != session.GetHabbo().Id) Azure.GetGame().GetAchievementManager().ProgressUserAchievement(clientByUserId, "ACH_GiftReceiver", 1, true); } session.GetHabbo().LastGiftPurchaseTime = DateTime.Now; continue; } session.GetMessageHandler().GetResponse().Init(LibraryParser.OutgoingRequest("NewInventoryObjectMessageComposer")); session.GetMessageHandler().GetResponse().AppendInteger(1); var i = 1; if (baseItem.Type == 's') i = InteractionTypes.AreFamiliar(GlobalInteractions.Pet, baseItem.InteractionType) ? 3 : 1; session.GetMessageHandler().GetResponse().AppendInteger(i); var list = DeliverItems(session, baseItem, priceAmount * (int)item.Items[baseItem], extraData, limitedId, limtot, text); session.GetMessageHandler().GetResponse().AppendInteger(list.Count); foreach (var current3 in list) session.GetMessageHandler().GetResponse().AppendInteger(current3.Id); session.GetMessageHandler().SendResponse(); session.GetHabbo().GetInventoryComponent().UpdateItems(false); if (InteractionTypes.AreFamiliar(GlobalInteractions.Pet, baseItem.InteractionType)) session.SendMessage(session.GetHabbo().GetInventoryComponent().SerializePetInventory()); } if (item.Badge.Length >= 1) session.GetHabbo().GetBadgeComponent().GiveBadge(item.Badge, true, session); }
public static void SaveWired(GameClient session, RoomItem item, ClientMessage request) { if (item == null || !item.IsWired) return; var room = item.GetRoom(); var wiredHandler = room?.GetWiredHandler(); if (wiredHandler == null) return; switch (item.GetBaseItem().InteractionType) { case Interaction.TriggerTimer: { request.GetInteger(); var wired = wiredHandler.GetWired(item); var delay = request.GetInteger() * 500; wired.Delay = delay; wiredHandler.ReloadWired(wired); break; } case Interaction.TriggerRoomEnter: { request.GetInteger(); var otherString = request.GetString(); var wired = wiredHandler.GetWired(item); wired.OtherString = otherString; wiredHandler.ReloadWired(wired); break; } case Interaction.TriggerLongRepeater: { request.GetInteger(); var delay = request.GetInteger() * 5000; var wired2 = wiredHandler.GetWired(item); wired2.Delay = delay; wiredHandler.ReloadWired(wired2); break; } case Interaction.TriggerRepeater: { request.GetInteger(); var delay = request.GetInteger() * 500; var wired2 = wiredHandler.GetWired(item); wired2.Delay = delay; wiredHandler.ReloadWired(wired2); break; } case Interaction.TriggerOnUserSay: { request.GetInteger(); var num = request.GetInteger(); var otherString2 = request.GetString(); var wired3 = wiredHandler.GetWired(item); wired3.OtherString = otherString2; wired3.OtherBool = (num == 1); wiredHandler.ReloadWired(wired3); break; } case Interaction.TriggerStateChanged: { request.GetInteger(); request.GetString(); var furniItems = GetFurniItems(request, room); var num2 = request.GetInteger(); var wired4 = wiredHandler.GetWired(item); wired4.Delay = num2 * 500; wired4.Items = furniItems; wiredHandler.ReloadWired(wired4); break; } case Interaction.TriggerWalkOnFurni: case Interaction.ActionChase: case Interaction.ActionResetTimer: { request.GetInteger(); request.GetString(); var furniItems2 = GetFurniItems(request, room); var num3 = request.GetInteger(); var wired5 = wiredHandler.GetWired(item); wired5.Delay = num3 * 500; wired5.Items = furniItems2; wiredHandler.ReloadWired(wired5); break; } case Interaction.TriggerWalkOffFurni: { request.GetInteger(); request.GetString(); var furniItems3 = GetFurniItems(request, room); var num4 = request.GetInteger(); var wired6 = wiredHandler.GetWired(item); wired6.Delay = num4 * 500; wired6.Items = furniItems3; wiredHandler.ReloadWired(wired6); break; } case Interaction.ActionMoveRotate: case Interaction.ActionMoveToDir: { request.GetInteger(); var dir = request.GetInteger(); var rot = request.GetInteger(); request.GetString(); var furniItems4 = GetFurniItems(request, room); var delay = request.GetInteger(); var wired7 = wiredHandler.GetWired(item); wired7.Items = furniItems4; wired7.Delay = delay * 500; wired7.OtherString = $"{dir};{rot}"; wiredHandler.ReloadWired(wired7); break; } case Interaction.ActionShowMessage: case Interaction.ActionKickUser: { request.GetInteger(); var otherString3 = request.GetString(); var wired8 = wiredHandler.GetWired(item); wired8.OtherString = otherString3; wiredHandler.ReloadWired(wired8); break; } case Interaction.ActionTeleportTo: { request.GetInteger(); request.GetString(); var furniItems5 = GetFurniItems(request, room); var num8 = request.GetInteger(); var wired9 = wiredHandler.GetWired(item); wired9.Items = furniItems5; wired9.Delay = num8 * 500; wiredHandler.ReloadWired(wired9); break; } case Interaction.ActionToggleState: { request.GetInteger(); request.GetString(); var furniItems6 = GetFurniItems(request, room); var num9 = request.GetInteger(); var wired10 = wiredHandler.GetWired(item); wired10.Items = furniItems6; wired10.Delay = num9 * 500; wiredHandler.ReloadWired(wired10); break; } case Interaction.ActionGiveReward: { if (!session.GetHabbo().HasFuse("fuse_use_superwired")) return; request.GetInteger(); var often = request.GetInteger(); var unique = request.GetIntegerAsBool(); var limit = request.GetInteger(); request.GetInteger(); var extrainfo = request.GetString(); var furniItems7 = GetFurniItems(request, room); var wired11 = wiredHandler.GetWired(item); wired11.Items = furniItems7; wired11.Delay = 0; wired11.OtherBool = unique; wired11.OtherString = extrainfo; wired11.OtherExtraString = often.ToString(); wired11.OtherExtraString2 = limit.ToString(); wiredHandler.ReloadWired(wired11); break; } case Interaction.ActionMuteUser: { request.GetInteger(); var minutes = request.GetInteger() * 500; var message = request.GetString(); var furniItems7 = GetFurniItems(request, room); var wired11 = wiredHandler.GetWired(item); wired11.Items = furniItems7; wired11.Delay = minutes; wired11.OtherBool = false; wired11.OtherString = message; wiredHandler.ReloadWired(wired11); break; } case Interaction.TriggerScoreAchieved: { request.GetInteger(); var pointsRequired = request.GetInteger(); var wired11 = wiredHandler.GetWired(item); wired11.Delay = 0; wired11.OtherString = pointsRequired.ToString(); wiredHandler.ReloadWired(wired11); break; } case Interaction.ConditionItemsMatches: case Interaction.ConditionItemsDontMatch: case Interaction.ActionPosReset: { request.GetInteger(); var actualExtraData = request.GetIntegerAsBool(); var actualRot = request.GetIntegerAsBool(); var actualPosition = request.GetIntegerAsBool(); var booleans = $"{actualExtraData},{actualRot},{actualPosition}".ToLower(); request.GetString(); var items = GetFurniItems(request, room); var delay = request.GetInteger() * 500; var wiry = wiredHandler.GetWired(item); var dataToSave = string.Empty; var extraStringForWi = string.Empty; foreach (var aItem in items) { if (aItem.GetBaseItem().InteractionType == Interaction.Dice) { // Why have a RETURN here? dataToSave += string.Format("0|0|0|0,0,0", aItem.Id, aItem.ExtraData, aItem.Rot, aItem.X, aItem.Y, aItem.Z); extraStringForWi += $"{aItem.Id},{((actualExtraData) ? aItem.ExtraData : "N")},{((actualRot) ? aItem.Rot.ToString() : "N")},{((actualPosition) ? aItem.X.ToString() : "N")},{((actualPosition) ? aItem.Y.ToString() : "N")}"; return; } dataToSave += $"{aItem.Id}|{aItem.ExtraData}|{aItem.Rot}|{aItem.X},{aItem.Y},{aItem.Z}"; extraStringForWi += $"{aItem.Id},{((actualExtraData) ? aItem.ExtraData : "N")},{((actualRot) ? aItem.Rot.ToString() : "N")},{((actualPosition) ? aItem.X.ToString() : "N")},{((actualPosition) ? aItem.Y.ToString() : "N")}"; if (aItem == items.Last()) continue; dataToSave += "/"; extraStringForWi += ";"; } wiry.Items = items; wiry.Delay = delay; wiry.OtherBool = true; wiry.OtherString = booleans; wiry.OtherExtraString = dataToSave; wiry.OtherExtraString2 = extraStringForWi; wiredHandler.ReloadWired(wiry); break; } case Interaction.ConditionGroupMember: case Interaction.ConditionNotGroupMember: case Interaction.TriggerCollision: { break; } case Interaction.ConditionHowManyUsersInRoom: case Interaction.ConditionNegativeHowManyUsers: { request.GetInteger(); var minimum = request.GetInteger(); var maximum = request.GetInteger(); var ei = $"{minimum},{maximum}"; var wired12 = wiredHandler.GetWired(item); wired12.Items = new List<RoomItem>(); wired12.OtherString = ei; wiredHandler.ReloadWired(wired12); break; } case Interaction.ConditionUserNotWearingEffect: case Interaction.ConditionUserWearingEffect: { request.GetInteger(); var effect = request.GetInteger(); var wired12 = wiredHandler.GetWired(item); wired12.Items = new List<RoomItem>(); wired12.OtherString = effect.ToString(); wiredHandler.ReloadWired(wired12); break; } case Interaction.ConditionUserWearingBadge: case Interaction.ConditionUserNotWearingBadge: case Interaction.ConditionUserHasFurni: { request.GetInteger(); var badge = request.GetString(); var wired12 = wiredHandler.GetWired(item); wired12.Items = new List<RoomItem>(); wired12.OtherString = badge; wiredHandler.ReloadWired(wired12); break; } case Interaction.ConditionDateRangeActive: { request.GetInteger(); var startDate = request.GetInteger(); var endDate = request.GetInteger(); var wired12 = wiredHandler.GetWired(item); wired12.Items = new List<RoomItem>(); wired12.OtherString = $"{startDate},{endDate}"; if (startDate == 0) { wired12.OtherString = string.Empty; session.SendNotif(Azure.GetLanguage().GetVar("user_wired_con_date_range")); } wiredHandler.ReloadWired(wired12); break; } case Interaction.ConditionFurnisHaveUsers: case Interaction.ConditionTriggerOnFurni: case Interaction.ConditionFurniTypeMatches: case Interaction.ConditionFurnisHaveNotUsers: case Interaction.ConditionTriggererNotOnFurni: case Interaction.ConditionFurniTypeDontMatch: { request.GetInteger(); request.GetString(); var furniItems = GetFurniItems(request, room); var wired12 = wiredHandler.GetWired(item); wired12.Items = furniItems; wiredHandler.ReloadWired(wired12); break; } case Interaction.ConditionFurniHasFurni: case Interaction.ConditionFurniHasNotFurni: { request.GetInteger(); var allItems = request.GetIntegerAsBool(); request.GetString(); var furniItems = GetFurniItems(request, room); var wired = wiredHandler.GetWired(item); wired.OtherBool = allItems; wired.Items = furniItems; wiredHandler.ReloadWired(wired); break; } case Interaction.ActionGiveScore: { request.GetInteger(); var scoreToGive = request.GetInteger(); var maxTimesPerGame = request.GetInteger(); var newExtraInfo = $"{scoreToGive},{maxTimesPerGame}"; var furniItems8 = GetFurniItems(request, room); var wired12 = wiredHandler.GetWired(item); wired12.Items = furniItems8; wired12.OtherString = newExtraInfo; wiredHandler.ReloadWired(wired12); break; } case Interaction.ActionJoinTeam: { request.GetInteger(); var team = request.GetInteger(); var wired = wiredHandler.GetWired(item); wired.Delay = team * 500; wiredHandler.ReloadWired(wired); break; } case Interaction.ActionBotTalk: { request.GetInteger(); var type = request.GetIntegerAsBool(); var data = request.GetString().Split((char)9); var wired = wiredHandler.GetWired(item); wired.OtherBool = type; wired.OtherString = data[0]; wired.OtherExtraString = data[1]; wiredHandler.ReloadWired(wired); break; } case Interaction.ActionBotClothes: { request.GetInteger(); var data = request.GetString().Split((char)9); var wired = wiredHandler.GetWired(item); wired.OtherString = data[0]; wired.OtherExtraString = data[1]; wiredHandler.ReloadWired(wired); break; } case Interaction.ActionBotTeleport: { request.GetInteger(); var botName = request.GetString(); var furniItems = GetFurniItems(request, room); var wired = wiredHandler.GetWired(item); wired.Items = furniItems; wired.OtherString = botName; wiredHandler.ReloadWired(wired); break; } case Interaction.ActionBotGiveHanditem: { request.GetInteger(); var handitem = request.GetInteger(); var botName = request.GetString(); var wired = wiredHandler.GetWired(item); wired.OtherString = botName; wired.Delay = handitem * 500; wiredHandler.ReloadWired(wired); break; } case Interaction.ActionBotMove: { request.GetInteger(); var botName = request.GetString(); var furniItems = GetFurniItems(request, room); var wired = wiredHandler.GetWired(item); wired.Items = furniItems; wired.OtherString = botName; wiredHandler.ReloadWired(wired); break; } case Interaction.ActionCallStacks: { request.GetInteger(); request.GetString(); var furniItems = GetFurniItems(request, room); var wired = wiredHandler.GetWired(item); var num = request.GetInteger(); wired.Items = furniItems; wired.Delay = num * 500; wiredHandler.ReloadWired(wired); break; } case Interaction.ActionBotTalkToAvatar: { request.GetInteger(); var type = request.GetIntegerAsBool(); var data = request.GetString().Split((char)9); var wired = wiredHandler.GetWired(item); wired.OtherBool = type; wired.OtherString = data[0]; wired.OtherExtraString = data[1]; wiredHandler.ReloadWired(wired); break; } case Interaction.ConditionTimeMoreThan: case Interaction.ConditionTimeLessThan: { request.GetInteger(); var time = request.GetInteger(); var wired12 = wiredHandler.GetWired(item); Console.WriteLine(time); wired12.Delay = time * 500; wiredHandler.ReloadWired(wired12); break; } case Interaction.ConditionUserHasHanditem: { request.GetInteger(); var handitem = request.GetInteger(); var wired = wiredHandler.GetWired(item); wired.Delay = handitem * 500; wiredHandler.ReloadWired(wired); break; } } session.SendMessage(new ServerMessage(LibraryParser.OutgoingRequest("SaveWiredMessageComposer"))); }
public override bool Execute(GameClient session, string[] pms) { Azure.GetGame().GetQuestManager().Initialize(Azure.GetDatabaseManager().GetQueryReactor()); session.SendNotif(Azure.GetLanguage().GetVar("command_refresh_quests")); return true; }
/// <summary> /// Delivers the items. /// </summary> /// <param name="session">The session.</param> /// <param name="item">The item.</param> /// <param name="amount">The amount.</param> /// <param name="extraData">The extra data.</param> /// <param name="limno">The limno.</param> /// <param name="limtot">The limtot.</param> /// <param name="songCode">The song code.</param> /// <returns>List<UserItem>.</returns> internal List<UserItem> DeliverItems(GameClient session, Item item, int amount, string extraData, int limno, int limtot, string songCode) { var list = new List<UserItem>(); if (item.InteractionType == Interaction.PostIt) amount = amount * 20; var a = item.Type; if (a == 'i' || a == 's') { var i = 0; while (i < amount) { var interactionType = item.InteractionType; switch (interactionType) { case Interaction.Dimmer: var userItem33 = session.GetHabbo().GetInventoryComponent().AddNewItem(0u, item.ItemId, extraData, 0u, true, false, 0, 0); var id33 = userItem33.Id; list.Add(userItem33); using (var queryreactor2 = Azure.GetDatabaseManager().GetQueryReactor()) queryreactor2.RunFastQuery( $"INSERT INTO items_moodlight (item_id,enabled,current_preset,preset_one,preset_two,preset_three) VALUES ({id33},'0',1,'#000000,255,0','#000000,255,0','#000000,255,0')"); break; case Interaction.Trophy: case Interaction.Bed: case Interaction.PressurePadBed: case Interaction.Guillotine: case Interaction.ScoreBoard: case Interaction.VendingMachine: case Interaction.Alert: case Interaction.OneWayGate: case Interaction.LoveShuffler: case Interaction.HabboWheel: case Interaction.Dice: case Interaction.Bottle: case Interaction.Hopper: case Interaction.Rentals: case Interaction.Pet: case Interaction.Pool: case Interaction.Roller: case Interaction.FootballGate: list.Add(session.GetHabbo().GetInventoryComponent().AddNewItem(0u, item.ItemId, extraData, 0u, true, false, limno, limtot)); break; case Interaction.Teleport: case Interaction.QuickTeleport: var userItem = session.GetHabbo().GetInventoryComponent().AddNewItem(0u, item.ItemId, "0", 0u, true, false, 0, 0); var id = userItem.Id; var userItem2 = session.GetHabbo().GetInventoryComponent().AddNewItem(0u, item.ItemId, "0", 0u, true, false, 0, 0); var id2 = userItem2.Id; list.Add(userItem); list.Add(userItem2); using (var queryReactor = Azure.GetDatabaseManager().GetQueryReactor()) queryReactor.RunFastQuery($"INSERT INTO items_teleports (tele_one_id,tele_two_id) VALUES ('{id}','{id2}');" + $"INSERT INTO items_teleports (tele_one_id,tele_two_id) VALUES ('{id2}','{id}')"); break; case Interaction.PetDog: case Interaction.PetCat: case Interaction.PetCrocodile: case Interaction.PetTerrier: case Interaction.PetBear: case Interaction.PetPig: case Interaction.PetLion: case Interaction.PetRhino: case Interaction.PetSpider: case Interaction.PetTurtle: case Interaction.PetChick: case Interaction.PetFrog: case Interaction.PetDragon: case Interaction.PetHorse: case Interaction.PetMonkey: case Interaction.PetGnomo: case Interaction.PetMonsterPlant: case Interaction.PetWhiteRabbit: case Interaction.PetEvilRabbit: case Interaction.PetLoveRabbit: case Interaction.PetPigeon: case Interaction.PetEvilPigeon: case Interaction.PetDemonMonkey: case Interaction.Pet24: case Interaction.Pet25: case Interaction.Pet26: case Interaction.Pet27: case Interaction.Pet28: case Interaction.Pet29: case Interaction.Pet30: case Interaction.Pet31: case Interaction.Pet32: case Interaction.Pet33: case Interaction.Pet34: var petData = extraData.Split('\n'); var petId = int.Parse(item.Name.Replace("a0 pet", string.Empty)); var generatedPet = CreatePet(session.GetHabbo().Id, petData[0], petId, petData[1], petData[2]); session.GetHabbo().GetInventoryComponent().AddPet(generatedPet); list.Add(session.GetHabbo().GetInventoryComponent().AddNewItem(0, 1534, "0", 0u, true, false, 0, 0, string.Empty)); break; case Interaction.MusicDisc: list.Add(session.GetHabbo().GetInventoryComponent().AddNewItem(0u, item.ItemId, extraData, 0u, true, false, 0, 0, songCode)); break; case Interaction.PuzzleBox: list.Add(session.GetHabbo().GetInventoryComponent().AddNewItem(0u, item.ItemId, extraData, 0u, true, false, limno, limtot)); break; case Interaction.RoomBg: var userItem44 = session.GetHabbo().GetInventoryComponent().AddNewItem(0u, item.ItemId, extraData, 0u, true, false, 0, 0, string.Empty); var id44 = userItem44.Id; list.Add(userItem44); using (var queryreactor3 = Azure.GetDatabaseManager().GetQueryReactor()) queryreactor3.RunFastQuery($"INSERT INTO items_toners VALUES ({id44},'0',0,0,0)"); break; case Interaction.GuildItem: case Interaction.GuildGate: case Interaction.GroupForumTerminal: list.Add(session.GetHabbo().GetInventoryComponent().AddNewItem(0u, item.ItemId, "0", Convert.ToUInt32(extraData), true, false, 0, 0, string.Empty)); break; case Interaction.GuildForum: uint groupId; uint.TryParse(extraData, out groupId); var group = Azure.GetGame().GetGroupManager().GetGroup(groupId); if (group != null) { if (group.CreatorId == session.GetHabbo().Id) { session.GetMessageHandler().GetResponse().Init(LibraryParser.OutgoingRequest("SuperNotificationMessageComposer")); session.GetMessageHandler().GetResponse().AppendString("forums.delivered"); session.GetMessageHandler().GetResponse().AppendInteger(2); session.GetMessageHandler().GetResponse().AppendString("groupId"); session.GetMessageHandler().GetResponse().AppendString(extraData); session.GetMessageHandler().GetResponse().AppendString("groupName"); session.GetMessageHandler().GetResponse().AppendString(group.Name); session.GetMessageHandler().SendResponse(); if (!group.HasForum) { group.HasForum = true; group.UpdateForum(); } } else session.SendNotif(Azure.GetLanguage().GetVar("user_group_owner_error")); } list.Add(session.GetHabbo().GetInventoryComponent().AddNewItem(0u, item.ItemId, "0", Convert.ToUInt32(extraData), true, false, 0, 0, string.Empty)); break; default: list.Add(session.GetHabbo().GetInventoryComponent().AddNewItem(0u, item.ItemId, extraData, 0u, true, false, limno, limtot)); break; } i++; } return list; } if (a == 'e') { for (var j = 0; j < amount; j++) session.GetHabbo().GetAvatarEffectsInventoryComponent().AddNewEffect(item.SpriteId, 7200, 0); } else if (a == 'r') { if (item.Name == "bot_bartender") { var bot = CreateBot(session.GetHabbo().Id, "Mahw", "hr-9534-39.hd-600-1.ch-819-92.lg-3058-64.sh-3064-110.wa-2005", "Sacia a sede e você pode dançar!", "f", true); session.GetHabbo().GetInventoryComponent().AddBot(bot); session.SendMessage(session.GetHabbo().GetInventoryComponent().SerializeBotInventory()); } else { var bot2 = CreateBot(session.GetHabbo().Id, "Claudio", "hr-3020-34.hd-3091-2.ch-225-92.lg-3058-100.sh-3089-1338.ca-3084-78-108.wa-2005", "Fala, caminhadas, danças e vestidos", "m", false); session.GetHabbo().GetInventoryComponent().AddBot(bot2); session.SendMessage(session.GetHabbo().GetInventoryComponent().SerializeBotInventory()); } } return list; }
public override bool Execute(GameClient session, string[] pms) { SoundMachineSongManager.Initialize(); session.SendNotif(Azure.GetLanguage().GetVar("command_refresh_songs")); return true; }
/// <summary> /// Creates the room. /// </summary> /// <param name="session">The session.</param> /// <param name="name">The name.</param> /// <param name="desc">The desc.</param> /// <param name="model">The model.</param> /// <param name="category">The category.</param> /// <param name="maxVisitors">The maximum visitors.</param> /// <param name="tradeState">State of the trade.</param> /// <returns>RoomData.</returns> internal RoomData CreateRoom(GameClient session, string name, string desc, string model, int category, int maxVisitors, int tradeState) { if (!_roomModels.Contains(model)) { session.SendNotif(Azure.GetLanguage().GetVar("user_room_model_error")); return null; } uint roomId; using (var dbClient = Azure.GetDatabaseManager().GetQueryReactor()) { dbClient.SetQuery( "INSERT INTO rooms_data (roomtype,caption,description,owner,model_name,category,users_max,trade_state) VALUES ('private',@caption,@desc,@Username,@model,@cat,@usmax,@tstate)"); dbClient.AddParameter("caption", name); dbClient.AddParameter("desc", desc); dbClient.AddParameter("Username", session.GetHabbo().UserName); dbClient.AddParameter("model", model); dbClient.AddParameter("cat", category); dbClient.AddParameter("usmax", maxVisitors); dbClient.AddParameter("tstate", tradeState.ToString()); roomId = (uint) dbClient.InsertQuery(); } var data = GenerateRoomData(roomId); if (data == null) return null; session.GetHabbo().UsersRooms.Add(data); return data; }
public override bool Execute(GameClient session, string[] pms) { Azure.GetGame().GetGroupManager().InitGroups(); session.SendNotif(Azure.GetLanguage().GetVar("command_refresh_groups")); return true; }