/// <summary> /// Creates the bot from catalog. /// </summary> /// <param name="botType">Type of the bot.</param> /// <param name="userId">The user identifier.</param> /// <returns>RoomBot.</returns> internal static RoomBot CreateBotFromCatalog(string botType, uint userId) { using (IQueryAdapter queryReactor = Yupi.GetDatabaseManager().GetQueryReactor()) { CatalogBot catalogBot = GetCatalogBot(botType); queryReactor.SetQuery($"INSERT INTO bots_data (user_id,name,motto,look,gender,walk_mode,ai_type,bot_type) VALUES ('{userId}', '{catalogBot.BotName}', '{catalogBot.BotMission}', '{catalogBot.BotLook}', '{catalogBot.BotGender}', 'freeroam', 'generic', '{catalogBot.BotType}')"); return(new RoomBot(Convert.ToUInt32(queryReactor.InsertQuery()), userId, 0u, AiType.Generic, "freeroam", catalogBot.BotName, catalogBot.BotMission, catalogBot.BotLook, 0, 0, 0.0, 0, null, null, catalogBot.BotGender, 0, catalogBot.BotType)); } }
public static Bot CreateBot(ItemData Data, int OwnerId) { DataRow BotData = null; CatalogBot CataBot = null; if (!PlusEnvironment.GetGame().GetCatalog().TryGetBot(Data.Id, out CataBot)) { return(null); } using (IQueryAdapter dbClient = PlusEnvironment.GetDatabaseManager().GetQueryReactor()) { dbClient.SetQuery("INSERT INTO bots (`user_id`,`name`,`motto`,`look`,`gender`,`ai_type`) VALUES ('" + OwnerId + "', '" + CataBot.Name + "', '" + CataBot.Motto + "', '" + CataBot.Figure + "', '" + CataBot.Gender + "', '" + CataBot.AIType + "')"); int Id = Convert.ToInt32(dbClient.InsertQuery()); dbClient.SetQuery("SELECT `id`,`user_id`,`name`,`motto`,`look`,`gender` FROM `bots` WHERE `user_id` = '" + OwnerId + "' AND `id` = '" + Id + "' LIMIT 1"); BotData = dbClient.GetRow(); } return(new Bot(Convert.ToInt32(BotData["id"]), Convert.ToInt32(BotData["user_id"]), Convert.ToString(BotData["name"]), Convert.ToString(BotData["motto"]), Convert.ToString(BotData["look"]), Convert.ToString(BotData["gender"]))); }
public BCCatalogPageComposer(BCCatalogPage Page, string CataMode) : base(ServerPacketHeader.CatalogPageMessageComposer) { base.WriteInteger(Page.Id); base.WriteString(CataMode); base.WriteString(Page.Template); base.WriteInteger(Page.PageStrings1.Count); foreach (string s in Page.PageStrings1) { base.WriteString(s); } base.WriteInteger(Page.PageStrings2.Count); foreach (string s in Page.PageStrings2) { base.WriteString(s); } if (!Page.Template.Equals("frontpage") && !Page.Template.Equals("club_buy")) { base.WriteInteger(Page.Items.Count); foreach (var Item in Page.Items.Values) { base.WriteInteger(Item.Id); base.WriteString(Item.Name); base.WriteBoolean(false);//IsRentable base.WriteInteger(Item.CostCredits); if (Item.CostDiamonds > 0) { base.WriteInteger(Item.CostDiamonds); base.WriteInteger(5); // Diamonds } else if (Item.CostGOTWPoints > 0) { base.WriteInteger(Item.CostGOTWPoints); base.WriteInteger(103); // Pixeles } else { base.WriteInteger(Item.CostPixels); base.WriteInteger(0); // Type of PixelCost } base.WriteBoolean(false); if (Item.Data.InteractionType == InteractionType.DEAL) { foreach (CatalogDeal Deal in Page.Deals.Values) { base.WriteInteger(Deal.ItemDataList.Count);//Count foreach (CatalogItem DealItem in Deal.ItemDataList.ToList()) { base.WriteString(DealItem.Data.Type.ToString()); base.WriteInteger(DealItem.Data.SpriteId); base.WriteString(""); base.WriteInteger(DealItem.Amount); base.WriteBoolean(false); } base.WriteInteger(0);//club_level base.WriteBoolean(false); base.WriteBoolean(true); base.WriteString(""); } } else { if (Item.PredesignedId > 0) { base.WriteInteger(Page.PredesignedItems.Items.Count); foreach (var predesigned in Page.PredesignedItems.Items.ToList()) { ItemData Data = null; if (RavenEnvironment.GetGame().GetItemManager().GetItem(predesigned.Key, out Data)) { } base.WriteString(Data.Type.ToString()); base.WriteInteger(Data.SpriteId); base.WriteString(string.Empty); base.WriteInteger(predesigned.Value); base.WriteBoolean(false); } base.WriteInteger(0); base.WriteBoolean(false); base.WriteBoolean(true); // Niu Rilí base.WriteString(""); // Niu Rilí } else { base.WriteInteger(string.IsNullOrEmpty(Item.Badge) ? 1 : 2);//Count 1 item if there is no badge, otherwise count as 2. if (!string.IsNullOrEmpty(Item.Badge)) { base.WriteString("b"); base.WriteString(Item.Badge); } base.WriteString(Item.Data.Type.ToString()); if (Item.Data.Type.ToString().ToLower() == "b") { //This is just a badge, append the name. base.WriteString(Item.Data.ItemName); } else { base.WriteInteger(Item.Data.SpriteId); if (Item.Data.InteractionType == InteractionType.WALLPAPER || Item.Data.InteractionType == InteractionType.FLOOR || Item.Data.InteractionType == InteractionType.LANDSCAPE) { base.WriteString(Item.Name.Split('_')[2]); } else if (Item.Data.InteractionType == InteractionType.BOT)//Bots { CatalogBot CatalogBot = null; if (!RavenEnvironment.GetGame().GetCatalog().TryGetBot(Item.ItemId, out CatalogBot)) { base.WriteString("hd-180-7.ea-1406-62.ch-210-1321.hr-831-49.ca-1813-62.sh-295-1321.lg-285-92"); } else { base.WriteString(CatalogBot.Figure); } } else if (Item.ExtraData != null) { base.WriteString(Item.ExtraData != null ? Item.ExtraData : string.Empty); } base.WriteInteger(Item.Amount); base.WriteBoolean(Item.IsLimited); // IsLimited if (Item.IsLimited) { base.WriteInteger(Item.LimitedEditionStack); base.WriteInteger(Item.LimitedEditionStack - Item.LimitedEditionSells); } } base.WriteInteger(0); //club_level base.WriteBoolean(false); base.WriteBoolean(true); // Niu Rilí base.WriteString(""); // Niu Rilí } } } //} /*}*/ } else { base.WriteInteger(0); } base.WriteInteger(-1); base.WriteBoolean(false); if (Page.Template == "frontpage4") { ICollection <Frontpage> FrontPage = RavenEnvironment.GetGame().GetCatalogFrontPageManager().GetBCCatalogFrontPage(); base.WriteInteger(FrontPage.Count); // count foreach (Frontpage front in FrontPage.ToList <Frontpage>()) { base.WriteInteger(front.Id()); base.WriteString(front.FrontName()); base.WriteString(front.FrontImage()); base.WriteInteger(0); base.WriteString(front.FrontLink()); base.WriteInteger(-1); } } }
public CatalogOfferComposer(CatalogItem Item) : base(ServerPacketHeader.CatalogOfferMessageComposer) { WriteInteger(Item.OfferId); WriteString(Item.Data.ItemName); WriteBoolean(false); //IsRentable WriteInteger(Item.CostCredits); if (Item.CostDiamonds > 0) { WriteInteger(Item.CostDiamonds); WriteInteger(5); // Diamonds } else if (Item.CostGotw > 0) { WriteInteger(Item.CostGotw); WriteInteger(103); // Puntos de fama } else { WriteInteger(Item.CostPixels); WriteInteger(0); // Type of PixelCost } WriteBoolean(ItemUtility.CanGiftItem(Item)); WriteInteger(string.IsNullOrEmpty(Item.Badge) ? 1 : 2); //Count 1 item if there is no badge, otherwise count as 2. if (!string.IsNullOrEmpty(Item.Badge)) { WriteString("b"); WriteString(Item.Badge); } WriteString(Item.Data.Type.ToString()); if (Item.Data.Type.ToString().ToLower() == "b") { WriteString(Item.Data.ItemName); //Badge name. } else { WriteInteger(Item.Data.SpriteId); if (Item.Data.InteractionType == InteractionType.WALLPAPER || Item.Data.InteractionType == InteractionType.FLOOR || Item.Data.InteractionType == InteractionType.LANDSCAPE) { WriteString(Item.Name.Split('_')[2]); } else if (Item.PageID == 9)//Bots { CatalogBot CataBot = null; if (!BiosEmuThiago.GetGame().GetCatalog().TryGetBot(Item.ItemId, out CataBot)) { WriteString("hd-180-7.ea-1406-62.ch-210-1321.hr-831-49.ca-1813-62.sh-295-1321.lg-285-92"); } else { WriteString(CataBot.Figure); } } else if (Item.ExtraData != null) { WriteString(Item.ExtraData ?? string.Empty); } WriteInteger(Item.Amount); WriteBoolean(Item.IsLimited); // IsLimited if (Item.IsLimited) { WriteInteger(Item.LimitedEditionStack); WriteInteger(Item.LimitedEditionStack - Item.LimitedEditionSells); } } WriteInteger(0); // club_level WriteBoolean(ItemUtility.CanSelectAmount(Item)); WriteInteger(0); }
public CatalogPageComposer(CatalogPage Page, string CataMode, Language Langue) : base(ServerPacketHeader.CatalogPageMessageComposer) { WriteInteger(Page.Id); WriteString(CataMode); WriteString(Page.Template); WriteInteger(Page.PageStrings1.Count); foreach (string s in Page.PageStrings1) { WriteString(s); } if (Page.GetPageStrings2ByLangue(Langue).Count == 1 && (Page.Template == "default_3x3" || Page.Template == "default_3x3_color_grouping") && string.IsNullOrEmpty(Page.GetPageStrings2ByLangue(Langue)[0])) { WriteInteger(1); WriteString(string.Format(ButterflyEnvironment.GetLanguageManager().TryGetValue("catalog.desc.default", Langue), Page.GetCaptionByLangue(Langue))); } else { WriteInteger(Page.GetPageStrings2ByLangue(Langue).Count); foreach (string s in Page.GetPageStrings2ByLangue(Langue)) { WriteString(s); } } if (!Page.Template.Equals("frontpage") && !Page.Template.Equals("club_buy")) { WriteInteger(Page.Items.Count); foreach (CatalogItem Item in Page.Items.Values) { WriteInteger(Item.Id); WriteString(Item.Name); WriteBoolean(false);//IsRentable WriteInteger(Item.CostCredits); if (Item.CostDiamonds > 0) { WriteInteger(Item.CostDiamonds); WriteInteger(105); // Diamonds } else { WriteInteger(Item.CostDuckets); WriteInteger(0); } WriteBoolean(ItemUtility.CanGiftItem(Item)); WriteInteger(string.IsNullOrEmpty(Item.Badge) || Item.Data.Type.ToString() == "b" ? 1 : 2); if (!string.IsNullOrEmpty(Item.Badge)) { WriteString("b"); WriteString(Item.Badge); } if (Item.Data.Type.ToString().ToLower() != "b") { WriteString(Item.Data.Type.ToString()); WriteInteger(Item.Data.SpriteId); if (Item.Data.InteractionType == InteractionType.WALLPAPER || Item.Data.InteractionType == InteractionType.FLOOR || Item.Data.InteractionType == InteractionType.LANDSCAPE) { WriteString(Item.Name.Split('_')[2]); } else if (Item.Data.InteractionType == InteractionType.bot)//Bots { CatalogBot CatalogBot = null; if (!ButterflyEnvironment.GetGame().GetCatalog().TryGetBot(Item.ItemId, out CatalogBot)) { WriteString("hd-180-7.ea-1406-62.ch-210-1321.hr-831-49.ca-1813-62.sh-295-1321.lg-285-92"); } else { WriteString(CatalogBot.Figure); } } else { WriteString(""); } WriteInteger(Item.Amount); WriteBoolean(Item.IsLimited); // IsLimited if (Item.IsLimited) { WriteInteger(Item.LimitedEditionStack); WriteInteger(Item.LimitedEditionStack - Item.LimitedEditionSells); } } WriteInteger(0); //club_level WriteBoolean(ItemUtility.CanSelectAmount(Item)); WriteBoolean(false); // TODO: Figure out WriteString(""); //previewImage -> e.g; catalogue/pet_lion.png } } else { WriteInteger(0); } WriteInteger(-1); WriteBoolean(false); WriteInteger(ButterflyEnvironment.GetGame().GetCatalog().GetPromotions().ToList().Count);//Count foreach (CatalogPromotion Promotion in ButterflyEnvironment.GetGame().GetCatalog().GetPromotions().ToList()) { WriteInteger(Promotion.Id); WriteString(Promotion.GetTitleByLangue(Langue)); WriteString(Promotion.Image); WriteInteger(Promotion.Unknown); WriteString(Promotion.PageLink); WriteInteger(Promotion.ParentId); } }
public CatalogPageComposer(CatalogPage Page, string CataMode) : base(ServerPacketHeader.CatalogPageMessageComposer) { WriteInteger(Page.Id); WriteString(CataMode); WriteString(Page.Template); WriteInteger(Page.PageStrings1.Count); foreach (string s in Page.PageStrings1) { WriteString(s); } WriteInteger(Page.PageStrings2.Count); foreach (string s in Page.PageStrings2) { WriteString(s); } if (!Page.Template.Equals("frontpage") && !Page.Template.Equals("loyalty_vip_buy")) { WriteInteger(Page.Items.Count); foreach (CatalogItem Item in Page.Items.Values) { WriteInteger(Item.Id); WriteString(Item.Name); WriteBoolean(false); //IsRentable WriteInteger(Item.CostCredits); if (Item.CostDiamonds > 0) { WriteInteger(Item.CostDiamonds); WriteInteger(5); // Diamonds } else if (Item.CostPixels > 0) { WriteInteger(Item.CostPixels); WriteInteger(0); // Type of PixelCost } else { WriteInteger(Item.CostGotw); WriteInteger(103); // Gotw } WriteBoolean(Item.PredesignedId > 0 ? false : ItemUtility.CanGiftItem(Item)); if (Item.PredesignedId > 0) { WriteInteger(Page.PredesignedItems.Items.Count); foreach (var predesigned in Page.PredesignedItems.Items.ToList()) { ItemData Data = null; if (CloudServer.GetGame().GetItemManager().GetItem(predesigned.Key, out Data)) { } WriteString(Data.Type.ToString()); WriteInteger(Data.SpriteId); WriteString(string.Empty); WriteInteger(predesigned.Value); WriteBoolean(false); } WriteInteger(0); WriteBoolean(false); WriteBoolean(true); // Niu Rilí WriteString(""); // Niu Rilí } else if (Page.Deals.Count > 0) { foreach (var Deal in Page.Deals.Values) { WriteInteger(Deal.ItemDataList.Count); foreach (var DealItem in Deal.ItemDataList.ToList()) { WriteString(DealItem.Data.Type.ToString()); WriteInteger(DealItem.Data.SpriteId); WriteString(string.Empty); WriteInteger(DealItem.Amount); WriteBoolean(false); } WriteInteger(0); WriteBoolean(false); } } else { WriteInteger(string.IsNullOrEmpty(Item.Badge) ? 1 : 2); //Count 1 item if there is no badge, otherwise count as 2. { if (!string.IsNullOrEmpty(Item.Badge)) { WriteString("b"); WriteString(Item.Badge); } WriteString(Item.Data.Type.ToString()); if (Item.Data.Type.ToString().ToLower() == "b") { //This is just a badge, append the name. WriteString(Item.Data.ItemName); } else { WriteInteger(Item.Data.SpriteId); if (Item.Data.InteractionType == InteractionType.WALLPAPER || Item.Data.InteractionType == InteractionType.FLOOR || Item.Data.InteractionType == InteractionType.LANDSCAPE) { WriteString(Item.Name.Split('_')[2]); } else if (Item.Data.InteractionType == InteractionType.BOT)//Bots { CatalogBot CatalogBot = null; if (!CloudServer.GetGame().GetCatalog().TryGetBot(Item.ItemId, out CatalogBot)) { WriteString("hd-180-7.ea-1406-62.ch-210-1321.hr-831-49.ca-1813-62.sh-295-1321.lg-285-92"); } else { WriteString(CatalogBot.Figure); } } else if (Item.ExtraData != null) { WriteString(Item.ExtraData ?? string.Empty); } WriteInteger(Item.Amount); WriteBoolean(Item.IsLimited); // IsLimited if (Item.IsLimited) { WriteInteger(Item.LimitedEditionStack); WriteInteger(Item.LimitedEditionStack - Item.LimitedEditionSells); } } WriteInteger(0); //club_level WriteBoolean(ItemUtility.CanSelectAmount(Item)); WriteBoolean(true); // Niu Rilí WriteString(""); // Niu Rilí } } } /*}*/ } else { WriteInteger(0); } WriteInteger(-1); WriteBoolean(false); if (Page.Template.Equals("frontpage4")) { WriteInteger(4); // count //New Rare Jellyfish Lamp! WriteInteger(1); // id WriteString(CatalogSettings.CATALOG_NOTICE_1); // name WriteString(CatalogSettings.CATALOG_IMG_NOTICE_1); // image WriteInteger(0); WriteString(CatalogSettings.CATALOG_URL_NOTICE_1); // page link? WriteInteger(-1); // page id? WriteInteger(2); WriteString(CatalogSettings.CATALOG_NOTICE_2); // name WriteString(CatalogSettings.CATALOG_IMG_NOTICE_2); // image WriteInteger(0); WriteString(CatalogSettings.CATALOG_URL_NOTICE_2); // page link? WriteInteger(-1); WriteInteger(3); WriteString(CatalogSettings.CATALOG_NOTICE_3); // name WriteString(CatalogSettings.CATALOG_IMG_NOTICE_3); // image WriteInteger(0); WriteString(CatalogSettings.CATALOG_URL_NOTICE_3); // page link? WriteInteger(-1); WriteInteger(4); WriteString(CatalogSettings.CATALOG_NOTICE_4); // name WriteString(CatalogSettings.CATALOG_IMG_NOTICE_4); // image WriteInteger(0); WriteString(CatalogSettings.CATALOG_URL_NOTICE_4); // page link? WriteInteger(-1); if (Page.Template.Equals("loyalty_vip_buy")) { WriteInteger(0); //Page ID WriteString("NORMAL"); WriteString("loyalty_vip_buy"); WriteInteger(2); WriteString("hc2_clubtitle"); WriteString("clubcat_pic"); WriteInteger(0); // Nueva Release WriteInteger(0); WriteInteger(-1); WriteBoolean(false); if (Page.Template.Equals("club_gifts")) { WriteString("club_gifts"); WriteInteger(1); WriteString(Convert.ToString(Page.PageStrings2)); WriteInteger(1); WriteString(Convert.ToString(Page.PageStrings2)); } } } }
public override void Compose(ServerPacket packet) { packet.WriteInteger(Item.OfferId); packet.WriteString(Item.Data.ItemName); packet.WriteBoolean(false);//IsRentable packet.WriteInteger(Item.CostCredits); if (Item.CostDiamonds > 0) { packet.WriteInteger(Item.CostDiamonds); packet.WriteInteger(5); // Diamonds } else { packet.WriteInteger(Item.CostPixels); packet.WriteInteger(0); // Type of PixelCost } packet.WriteBoolean(ItemUtility.CanGiftItem(Item)); packet.WriteInteger(string.IsNullOrEmpty(Item.Badge) ? 1 : 2);//Count 1 item if there is no badge, otherwise count as 2. if (!string.IsNullOrEmpty(Item.Badge)) { packet.WriteString("b"); packet.WriteString(Item.Badge); } packet.WriteString(Item.Data.Type.ToString()); if (Item.Data.Type.ToString().ToLower() == "b") { packet.WriteString(Item.Data.ItemName);//Badge name. } else { packet.WriteInteger(Item.Data.SpriteId); if (Item.Data.InteractionType == InteractionType.WALLPAPER || Item.Data.InteractionType == InteractionType.FLOOR || Item.Data.InteractionType == InteractionType.LANDSCAPE) { packet.WriteString(Item.Name.Split('_')[2]); } else if (Item.PageID == 9)//Bots { CatalogBot CataBot = null; if (!PlusEnvironment.GetGame().GetCatalog().TryGetBot(Item.ItemId, out CataBot)) { packet.WriteString("hd-180-7.ea-1406-62.ch-210-1321.hr-831-49.ca-1813-62.sh-295-1321.lg-285-92"); } else { packet.WriteString(CataBot.Figure); } } else if (Item.ExtraData != null) { packet.WriteString(Item.ExtraData != null ? Item.ExtraData : string.Empty); } packet.WriteInteger(Item.Amount); packet.WriteBoolean(Item.IsLimited); // IsLimited if (Item.IsLimited) { packet.WriteInteger(Item.LimitedEditionStack); packet.WriteInteger(Item.LimitedEditionStack - Item.LimitedEditionSells); } } packet.WriteInteger(0); // club_level packet.WriteBoolean(ItemUtility.CanSelectAmount(Item)); packet.WriteBoolean(false); // TODO: Figure out packet.WriteString(""); //previewImage -> e.g; catalogue/pet_lion.png }
public CatalogPageComposer(CatalogPage Page, string CataMode) : base(ServerPacketHeader.CatalogPageMessageComposer) { WriteInteger(Page.Id); WriteString(CataMode); WriteString(Page.Template); WriteInteger(Page.PageStrings1.Count); foreach (string s in Page.PageStrings1) { WriteString(s); } WriteInteger(Page.PageStrings2.Count); foreach (string s in Page.PageStrings2) { WriteString(s); } if (!Page.Template.Equals("frontpage") && !Page.Template.Equals("club_buy")) { WriteInteger(Page.Items.Count); foreach (CatalogItem Item in Page.Items.Values) { WriteInteger(Item.Id); WriteString(Item.Name); WriteBoolean(false);//IsRentable WriteInteger(Item.CostCredits); if (Item.CostDiamonds > 0) { WriteInteger(Item.CostDiamonds); WriteInteger(5); // Diamonds } else { WriteInteger(Item.CostPixels); WriteInteger(0); // Type of PixelCost } WriteBoolean(ItemUtility.CanGiftItem(Item)); if (Item.Data.InteractionType == InteractionType.DEAL || Item.Data.InteractionType == InteractionType.ROOMDEAL) { CatalogDeal deal = null; if (!PlusEnvironment.GetGame().GetCatalog().TryGetDeal(Item.Data.BehaviourData, out deal)) { WriteInteger(0);//Count } else { WriteInteger(deal.ItemDataList.Count); foreach (CatalogItem dealItem in deal.ItemDataList.ToList()) { WriteString(dealItem.Data.Type.ToString()); WriteInteger(dealItem.Data.SpriteId); WriteString(""); WriteInteger(dealItem.Amount); WriteBoolean(false); } } } else { WriteInteger(string.IsNullOrEmpty(Item.Badge) ? 1 : 2);//Count 1 item if there is no badge, otherwise count as 2. if (!string.IsNullOrEmpty(Item.Badge)) { WriteString("b"); WriteString(Item.Badge); } WriteString(Item.Data.Type.ToString()); if (Item.Data.Type.ToString().ToLower() == "b") { //This is just a badge, append the name. WriteString(Item.Data.ItemName); } else { WriteInteger(Item.Data.SpriteId); if (Item.Data.InteractionType == InteractionType.WALLPAPER || Item.Data.InteractionType == InteractionType.FLOOR || Item.Data.InteractionType == InteractionType.LANDSCAPE) { WriteString(Item.Name.Split('_')[2]); } else if (Item.Data.InteractionType == InteractionType.BOT)//Bots { CatalogBot CatalogBot = null; if (!PlusEnvironment.GetGame().GetCatalog().TryGetBot(Item.ItemId, out CatalogBot)) { WriteString("hd-180-7.ea-1406-62.ch-210-1321.hr-831-49.ca-1813-62.sh-295-1321.lg-285-92"); } else { WriteString(CatalogBot.Figure); } } else if (Item.ExtraData != null) { WriteString(Item.ExtraData != null ? Item.ExtraData : string.Empty); } WriteInteger(Item.Amount); WriteBoolean(Item.IsLimited); // IsLimited if (Item.IsLimited) { WriteInteger(Item.LimitedEditionStack); WriteInteger(Item.LimitedEditionStack - Item.LimitedEditionSells); } } } WriteInteger(0); //club_level WriteBoolean(ItemUtility.CanSelectAmount(Item)); WriteBoolean(false); // TODO: Figure out WriteString(""); //previewImage -> e.g; catalogue/pet_lion.png } } else { WriteInteger(0); } WriteInteger(-1); WriteBoolean(false); WriteInteger(PlusEnvironment.GetGame().GetCatalog().GetPromotions().ToList().Count);//Count foreach (CatalogPromotion Promotion in PlusEnvironment.GetGame().GetCatalog().GetPromotions().ToList()) { WriteInteger(Promotion.Id); WriteString(Promotion.Title); WriteString(Promotion.Image); WriteInteger(Promotion.Unknown); WriteString(Promotion.PageLink); WriteInteger(Promotion.ParentId); } }
public CatalogPageComposer(CatalogPage Page, string CataMode) : base(ServerPacketHeader.CatalogPageMessageComposer) { if (Page.Template.Equals("frontpage") || Page.Template.Equals("frontpage4")) { WriteFrontPage(Page, CataMode); return; } base.WriteInteger(Page.Id); base.WriteString(CataMode); base.WriteString(Page.Template); base.WriteInteger(Page.PageStrings1.Count); foreach (string s in Page.PageStrings1) { base.WriteString(s); } base.WriteInteger(Page.PageStrings2.Count); foreach (string s in Page.PageStrings2) { base.WriteString(s); } if (!Page.Template.Equals("frontpage") && !Page.Template.Equals("club_buy") && !Page.Template.Equals("frontpage4")) { base.WriteInteger(Page.Items.Count); foreach (CatalogItem Item in Page.Items.Values) { base.WriteInteger(Item.Id); base.WriteString(Item.Name); base.WriteBoolean(false);//IsRentable base.WriteInteger(Item.CostCredits); if (Item.CostDiamonds > 0) { base.WriteInteger(Item.CostDiamonds); base.WriteInteger(5); // Diamonds } else { base.WriteInteger(Item.CostPixels); base.WriteInteger(0); // Type of PixelCost } base.WriteBoolean(ItemUtility.CanGiftItem(Item)); if (Item.Data.InteractionType == InteractionType.DEAL) { foreach (CatalogDeal Deal in Page.Deals.Values) { base.WriteInteger(Deal.ItemDataList.Count);//Count foreach (CatalogItem DealItem in Deal.ItemDataList.ToList()) { base.WriteString(DealItem.Data.Type.ToString()); base.WriteInteger(DealItem.Data.SpriteId); base.WriteString(""); base.WriteInteger(1); base.WriteBoolean(false); } base.WriteInteger(0);//club_level base.WriteBoolean(ItemUtility.CanSelectAmount(Item)); base.WriteBoolean(false); base.WriteString(String.Empty); } } else { base.WriteInteger(string.IsNullOrEmpty(Item.Badge) ? 1 : 2);//Count 1 item if there is no badge, otherwise count as 2. { if (!string.IsNullOrEmpty(Item.Badge)) { base.WriteString("b"); base.WriteString(Item.Badge); } base.WriteString(Item.Data.Type.ToString()); if (Item.Data.Type.ToString().ToLower() == "b") { //This is just a badge, append the name. base.WriteString(Item.Data.ItemName); } else { base.WriteInteger(Item.Data.SpriteId); if (Item.Data.InteractionType == InteractionType.WALLPAPER || Item.Data.InteractionType == InteractionType.FLOOR || Item.Data.InteractionType == InteractionType.LANDSCAPE) { base.WriteString(Item.Name.Split('_')[2]); } else if (Item.Data.InteractionType == InteractionType.BOT)//Bots { CatalogBot CatalogBot = null; if (!PlusEnvironment.GetGame().GetCatalog().TryGetBot(Item.ItemId, out CatalogBot)) { base.WriteString("hd-180-7.ea-1406-62.ch-210-1321.hr-831-49.ca-1813-62.sh-295-1321.lg-285-92"); } else { base.WriteString(CatalogBot.Figure); } } else if (Item.ExtraData != null) { base.WriteString(Item.ExtraData != null ? Item.ExtraData : string.Empty); } base.WriteInteger(Item.Amount); base.WriteBoolean(Item.IsLimited); // IsLimited if (Item.IsLimited) { base.WriteInteger(Item.LimitedEditionStack); base.WriteInteger(Item.LimitedEditionStack - Item.LimitedEditionSells); } } base.WriteInteger(0); //club_level base.WriteBoolean(ItemUtility.CanSelectAmount(Item)); base.WriteBoolean(false); base.WriteString(String.Empty); } } } } else { base.WriteInteger(0); } base.WriteInteger(-1); base.WriteBoolean(false); }
public CatalogOfferComposer(CatalogItem Item) : base(ServerPacketHeader.CatalogOfferMessageComposer) { WriteInteger(Item.Id); WriteString(Item.Name); WriteBoolean(false);//IsRentable WriteInteger(Item.CostCredits); if (Item.CostDiamonds > 0) { WriteInteger(Item.CostDiamonds); WriteInteger(105); // Diamonds } else { WriteInteger(Item.CostDuckets); WriteInteger(0); } WriteBoolean(ItemUtility.CanGiftItem(Item)); WriteInteger(string.IsNullOrEmpty(Item.Badge) || Item.Data.Type.ToString() == "b" ? 1 : 2); if (!string.IsNullOrEmpty(Item.Badge)) { WriteString("b"); WriteString(Item.Badge); } if (Item.Data.Type.ToString().ToLower() != "b") { WriteString(Item.Data.Type.ToString()); WriteInteger(Item.Data.SpriteId); if (Item.Data.InteractionType == InteractionType.WALLPAPER || Item.Data.InteractionType == InteractionType.FLOOR || Item.Data.InteractionType == InteractionType.LANDSCAPE) { WriteString(Item.Name.Split('_')[2]); } else if (Item.Data.InteractionType == InteractionType.bot)//Bots { CatalogBot CatalogBot = null; if (!ButterflyEnvironment.GetGame().GetCatalog().TryGetBot(Item.ItemId, out CatalogBot)) { WriteString("hd-180-7.ea-1406-62.ch-210-1321.hr-831-49.ca-1813-62.sh-295-1321.lg-285-92"); } else { WriteString(CatalogBot.Figure); } } else { WriteString(""); } WriteInteger(Item.Amount); WriteBoolean(Item.IsLimited); // IsLimited if (Item.IsLimited) { WriteInteger(Item.LimitedEditionStack); WriteInteger(Item.LimitedEditionStack - Item.LimitedEditionSells); } } WriteInteger(0); //club_level WriteBoolean(ItemUtility.CanSelectAmount(Item)); WriteBoolean(false); // TODO: Figure out WriteString(""); //previewImage -> e.g; catalogue/pet_lion.png }
public CatalogPageComposer(CatalogPage Page, string CataMode) : base(ServerPacketHeader.CatalogPageMessageComposer) { base.WriteInteger(Page.Id); base.WriteString(CataMode); base.WriteString(Page.Template); base.WriteInteger(Page.PageStrings1.Count); foreach (string s in Page.PageStrings1) { base.WriteString(s); } base.WriteInteger(Page.PageStrings2.Count); foreach (string s in Page.PageStrings2) { base.WriteString(s); } if (!Page.Template.Equals("frontpage") && !Page.Template.Equals("club_buy")) { /*if (Page.PredesignedItems != null) * { * base.WriteInteger(Page.PredesignedItems.Items.Count); * foreach (var predesignedII in Page.PredesignedItems.Items) * { * var Item = Page.GetItem(Page.PredesignedItems.CatalogId); * base.WriteInteger(Item.Id); * base.WriteString(Item.Name); * base.WriteBoolean(false); * base.WriteInteger(Item.CostCredits); * if (Item.CostDiamonds > 0) * { * base.WriteInteger(Item.CostDiamonds); * base.WriteInteger(5); // Diamonds * } * else if (Item.CostGOTWPoints > 0) * { * base.WriteInteger(Item.CostGOTWPoints); * base.WriteInteger(103); // Puntos de Honor * } * else * { * base.WriteInteger(Item.CostPixels); * base.WriteInteger(0); // Type of PixelCost * } * * base.WriteBoolean(false); * base.WriteInteger(Page.PredesignedItems.Items.Count); * Console.WriteLine("cnt: " + Page.PredesignedItems.Items.Count); * foreach (var predesigned in Page.PredesignedItems.Items) * { * var predesignedItem = Page.GetItem(predesigned.Key); * Console.WriteLine("ide: " + predesigned.Key); * base.WriteString(predesignedItem.Data.Type.ToString()); * base.WriteInteger(predesignedItem.Data.SpriteId); * base.WriteString(string.Empty); * base.WriteInteger(predesigned.Value);//amount * base.WriteBoolean(false); * } * * base.WriteInteger(0); * base.WriteBoolean(false); * } * }*/ /*else * {*/ base.WriteInteger(Page.Items.Count); foreach (var Item in Page.Items.Values) { base.WriteInteger(Item.Id); base.WriteString(Item.Name); base.WriteBoolean(false);//IsRentable base.WriteInteger(Item.CostCredits); if (Item.CostDiamonds > 0) { base.WriteInteger(Item.CostDiamonds); base.WriteInteger(5); // Diamonds } else if (Item.CostGOTWPoints > 0) { base.WriteInteger(Item.CostGOTWPoints); base.WriteInteger(103); // Puntos de Honor } else if (Item.CostPumpkins > 0) { base.WriteInteger(Item.CostPumpkins); base.WriteInteger(104); // Calabazas } else { base.WriteInteger(Item.CostPixels); base.WriteInteger(0); // Type of PixelCost } base.WriteBoolean(Item.PredesignedId > 0 ? false : ItemUtility.CanGiftItem(Item)); if (Item.PredesignedId > 0) { base.WriteInteger(Page.PredesignedItems.Items.Count); foreach (var predesigned in Page.PredesignedItems.Items.ToList()) { ItemData Data = null; if (QuasarEnvironment.GetGame().GetItemManager().GetItem(predesigned.Key, out Data)) { } base.WriteString(Data.Type.ToString()); base.WriteInteger(Data.SpriteId); base.WriteString(string.Empty); base.WriteInteger(predesigned.Value); base.WriteBoolean(false); } base.WriteInteger(0); base.WriteBoolean(false); base.WriteBoolean(true); // Niu Rilí base.WriteString(""); // Niu Rilí } else if (Page.Deals.Count > 0) { foreach (var Deal in Page.Deals.Values) { base.WriteInteger(Deal.ItemDataList.Count); foreach (var DealItem in Deal.ItemDataList.ToList()) { base.WriteString(DealItem.Data.Type.ToString()); base.WriteInteger(DealItem.Data.SpriteId); base.WriteString(string.Empty); base.WriteInteger(DealItem.Amount); base.WriteBoolean(false); } base.WriteInteger(0); base.WriteBoolean(false); } } else { base.WriteInteger(string.IsNullOrEmpty(Item.Badge) ? 1 : 2);//Count 1 item if there is no badge, otherwise count as 2. { if (!string.IsNullOrEmpty(Item.Badge)) { base.WriteString("b"); base.WriteString(Item.Badge); } base.WriteString(Item.Data.Type.ToString()); if (Item.Data.Type.ToString().ToLower() == "b") { //This is just a badge, append the name. base.WriteString(Item.Data.ItemName); } else { base.WriteInteger(Item.Data.SpriteId); if (Item.Data.InteractionType == InteractionType.WALLPAPER || Item.Data.InteractionType == InteractionType.FLOOR || Item.Data.InteractionType == InteractionType.LANDSCAPE) { base.WriteString(Item.Name.Split('_')[2]); } else if (Item.Data.InteractionType == InteractionType.BOT)//Bots { CatalogBot CatalogBot = null; if (!QuasarEnvironment.GetGame().GetCatalog().TryGetBot(Item.ItemId, out CatalogBot)) { base.WriteString("hd-180-7.ea-1406-62.ch-210-1321.hr-831-49.ca-1813-62.sh-295-1321.lg-285-92"); } else { base.WriteString(CatalogBot.Figure); } } else if (Item.ExtraData != null) { base.WriteString(Item.ExtraData != null ? Item.ExtraData : string.Empty); } base.WriteInteger(Item.Amount); base.WriteBoolean(Item.IsLimited); // IsLimited if (Item.IsLimited) { base.WriteInteger(Item.LimitedEditionStack); base.WriteInteger(Item.LimitedEditionStack - Item.LimitedEditionSells); } } base.WriteInteger(0); //club_level base.WriteBoolean(ItemUtility.CanSelectAmount(Item)); base.WriteBoolean(true); // Niu Rilí base.WriteString(""); // Niu Rilí } } } /*}*/ } else { base.WriteInteger(0); } base.WriteInteger(-1); base.WriteBoolean(false); if (Page.Template.Equals("frontpage4")) { ILog log = LogManager.GetLogger("Quasar.Core.ConsoleCommandHandler"); try { CatalogFrontPage frontpage = QuasarEnvironment.GetGame().getCatalogFrontPage(); var oneN = frontpage._oneN; var twoN = frontpage._twoN; var threeN = frontpage._threeN; var fourN = frontpage._fourN; var oneI = frontpage._oneI; var twoI = frontpage._twoI; var threeI = frontpage._threeI; var fourI = frontpage._fourI; var onePL = frontpage._onePL; var twoPL = frontpage._twoPL; var threePL = frontpage._threePL; var fourPL = frontpage._fourPL; base.WriteInteger(4); base.WriteInteger(1); base.WriteString(oneN); base.WriteString(oneI); base.WriteInteger(0); base.WriteString(onePL); base.WriteInteger(0); base.WriteInteger(2); base.WriteString(twoN); base.WriteString(twoI); base.WriteInteger(0); base.WriteString(twoPL); base.WriteInteger(0); base.WriteInteger(3); base.WriteString(threeN); base.WriteString(threeI); base.WriteInteger(0); base.WriteString(threePL); base.WriteInteger(0); base.WriteInteger(4); base.WriteString(fourN); base.WriteString(fourI); base.WriteInteger(0); base.WriteString(fourPL); base.WriteInteger(0); } catch (Exception e) { string CurrentTime = DateTime.Now.ToString("HH:mm:ss" + " | "); Console.WriteLine(CurrentTime + e.Message); if (Page.Template.Equals("vip_buy")) { base.WriteInteger(0); //Page ID base.WriteString("NORMAL"); base.WriteString("vip_buy"); base.WriteInteger(2); base.WriteString("hc2_clubtitle"); base.WriteString("clubcat_pic"); base.WriteInteger(0); // Nueva Release base.WriteInteger(0); base.WriteInteger(-1); base.WriteBoolean(false); if (Page.Template.Equals("club_gifts")) { base.WriteString("club_gifts"); base.WriteInteger(1); base.WriteString(Page.PageStrings2); base.WriteInteger(1); base.WriteString(Page.PageStrings2); } } } } }