public void SendGoodManCard(string receiverName, int receiverID, string senderName, int senderID, PlayerBussiness db) { ItemTemplateInfo goodMan = ItemMgr.FindItemTemplate(11105); ItemInfo goodManCard = ItemInfo.CreateFromTemplate(goodMan, 1, (int)ItemAddType.webing); goodManCard.IsBinds = true; goodManCard.UserID = 0; db.AddGoods(goodManCard); MailInfo mail = new MailInfo(); mail.Annex1 = goodManCard.ItemID.ToString(); mail.Content = LanguageMgr.GetTranslation("MarryApplyReplyHandler.Content"); mail.Gold = 0; mail.IsExist = true; mail.Money = 0; mail.Receiver = receiverName; mail.ReceiverID = receiverID; mail.Sender = senderName; mail.SenderID = senderID; mail.Title = LanguageMgr.GetTranslation("MarryApplyReplyHandler.Title"); mail.Type = (int)eMailType.Marry; db.SendMail(mail); //Spouse.Out.SendMailResponse(mail.ReceiverID, eMailRespose.Receiver); }
public void SendGoodManCard(string receiverName, int receiverID, string senderName, int senderID, PlayerBussiness db) { ItemTemplateInfo goodMan = ItemMgr.FindItemTemplate(11105); ItemInfo goodManCard = ItemInfo.CreateFromTemplate(goodMan, 1, 112); goodManCard.IsBinds = true; GamePlayer player = WorldMgr.GetPlayerById(receiverID); goodManCard.UserID = 0; db.AddGoods(goodManCard); MailInfo mail = new MailInfo(); mail.Annex1 = goodManCard.ItemID.ToString(); mail.Content = LanguageMgr.GetTranslation("MarryApplyReplyHandler.Content", new object[0]); mail.Gold = 0; mail.IsExist = true; mail.Money = 0; mail.GiftToken = 0; mail.Receiver = receiverName; mail.ReceiverID = receiverID; mail.Sender = senderName; mail.SenderID = senderID; mail.Title = LanguageMgr.GetTranslation("MarryApplyReplyHandler.Title", new object[0]); mail.Type = 14; if (db.SendMail(mail) && player != null) { player.Out.SendMailResponse(mail.ReceiverID, eMailRespose.Receiver); } }
private void HandlePlayerAddTemplate(GSPacketIn pkg) { GamePlayer player = WorldMgr.GetPlayerById(pkg.ClientID); if (player != null) { ItemTemplateInfo template = ItemMgr.FindItemTemplate(pkg.ReadInt()); eBageType type = (eBageType)pkg.ReadByte(); if (template != null) { int Count = pkg.ReadInt(); ItemInfo item = ItemInfo.CreateFromTemplate(template, Count, 118); item.Count = Count; item.ValidDate = pkg.ReadInt(); item.IsBinds = pkg.ReadBoolean(); item.IsUsed = pkg.ReadBoolean(); item.IsTips = pkg.ReadBoolean(); item.IsLogs = pkg.ReadBoolean(); int check = pkg.ReadInt(); if (check == template.TemplateID + Count) { if (!player.AddTemplate(item, type, item.Count, item.IsTips)) { } } else { FightServerConnector.log.ErrorFormat("add template item error: userid {0} template id {1} count {2}", pkg.ClientID, template.TemplateID, Count); } } } }
public static bool VIPRewardDrop(int level, ref List <ItemInfo> info) { int dropId = DropInventory.GetDropCondiction(eDropType.VIP, level.ToString(), "1"); bool result; if (dropId > 0) { List <DropItem> unFiltItems = DropMgr.FindDropItem(dropId); for (int i = 0; i < unFiltItems.Count; i++) { int itemCount = DropInventory.random.Next(unFiltItems[i].BeginData, unFiltItems[i].EndData); ItemTemplateInfo temp = ItemMgr.FindItemTemplate(unFiltItems[i].ItemId); ItemInfo item = ItemInfo.CreateFromTemplate(temp, itemCount, level); if (item != null) { item.IsBinds = unFiltItems[i].IsBind; item.ValidDate = unFiltItems[i].ValueDate; item.IsTips = unFiltItems[i].IsTips; item.IsLogs = unFiltItems[i].IsLogs; if (info == null) { info = new List <ItemInfo>(); } info.Add(item); } } result = true; } else { result = false; } return(result); }
public override int HandlePacket(GamePlayer player, GSPacketIn packet) { int Place = packet.ReadInt(); int Templateid = packet.ReadInt(); ItemInfo Item = player.HideBag.GetItemAt(0); int result2; if (Place <= 0 || Templateid <= 0) { result2 = 0; } else { int NeedMoney = 500; if (player.PlayerCharacter.GiftToken < NeedMoney) { result2 = 0; } else { bool result = false; int Hole = this.GetItemHole(Place, Item); if (Hole == Templateid) { ItemTemplateInfo template = ItemMgr.FindItemTemplate(Templateid); if (template != null) { ItemInfo item = ItemInfo.CreateFromTemplate(template, 1, 119); if (item != null) { if (player.RemoveGiftToken(NeedMoney) == NeedMoney) { item.IsBinds = true; result = true; player.HideBag.UpdateItem(Item); if (!player.AddItem(item)) { player.Out.SendMessage(eMessageType.Normal, LanguageMgr.GetTranslation("Game.Server.GameUtils.Title2", new object[0])); player.SendItemToMail(item, LanguageMgr.GetTranslation("DismountGemHandler.Full", new object[0]), item.Template.Name, eMailType.Default); player.Out.SendMailResponse(player.PlayerCharacter.ID, eMailRespose.Receiver); } else { player.Out.SendMessage(eMessageType.Normal, LanguageMgr.GetTranslation("DismountGem.success", new object[0])); } } } } } if (!result) { player.Out.SendMessage(eMessageType.Normal, LanguageMgr.GetTranslation("DismountGem.Fail", new object[0])); } result2 = 0; } } return(result2); }
private ItemInfo getitem(GameClient client, int type, string color, string skin, int id) { ConsortiaMgr.FindConsortiaInfo(client.Player.PlayerCharacter.ConsortiaID); ShopItemInfo shopItemInfoById = ShopMgr.GetShopItemInfoById(id); bool flag = false; ItemInfo itemInfo = null; if (shopItemInfoById != null) { itemInfo = ItemInfo.CreateFromTemplate(ItemMgr.FindItemTemplate(shopItemInfoById.TemplateID), 1, 102); if (shopItemInfoById.BuyType == 0) { if (1 == type) { itemInfo.ValidDate = shopItemInfoById.AUnit; } if (2 == type) { itemInfo.ValidDate = shopItemInfoById.BUnit; } if (3 == type) { itemInfo.ValidDate = shopItemInfoById.CUnit; } } else { if (1 == type) { itemInfo.Count = shopItemInfoById.AUnit; } if (2 == type) { itemInfo.Count = shopItemInfoById.BUnit; } if (3 == type) { itemInfo.Count = shopItemInfoById.CUnit; } } if (itemInfo != null || shopItemInfoById != null) { itemInfo.Color = ((color == null) ? "" : color); itemInfo.Skin = ((skin == null) ? "" : skin); if (flag) { itemInfo.IsBinds = true; return(itemInfo); } itemInfo.IsBinds = Convert.ToBoolean(shopItemInfoById.IsBind); } } return(itemInfo); }
public override bool CancelFinish(GamePlayer player) { ItemTemplateInfo itemTemplateInfo = ItemMgr.FindItemTemplate(this.m_info.Para1); if (itemTemplateInfo != null) { ItemInfo cloneItem = ItemInfo.CreateFromTemplate(itemTemplateInfo, this.m_info.Para2, 117); return(player.AddTemplate(cloneItem, eBageType.TempBag, this.m_info.Para2)); } return(false); }
public ItemInfo GetItemInfo() { ItemInfo itemInfo = null; if (this.SecondWeapon != 0) { itemInfo = ItemInfo.CreateFromTemplate(ItemMgr.FindItemTemplate(this.SecondWeapon), 1, 1); itemInfo.StrengthenLevel = this.StrengthLevel; } return(itemInfo); }
public ItemInfo GetItemInfo() { ItemInfo item = null; if (this.SecondWeapon != 0) { ItemTemplateInfo secondWeaponTemp = ItemMgr.FindItemTemplate(this.SecondWeapon); item = ItemInfo.CreateFromTemplate(secondWeaponTemp, 1, 1); item.StrengthenLevel = this.StrengthLevel; } return(item); }
/// <summary> /// 通过模板添加物品 /// </summary> /// <param name="temp"></param> /// <param name="count"></param> /// <returns></returns> public int AddItemTemplate(ItemTemplateInfo temp, int count) { //ItemInfo info = new ItemInfo(temp); ItemInfo info = ItemInfo.CreateFromTemplate(temp, count); if (info == null) { return(-1); } ItemInfo.BuyItemDate(info, 0); info.UserID = _player.PlayerCharacter.ID; return(AddItem(info)); }
public static ItemInfo CreateItem(ShopItemInfo shopItem, int addtype, int valuetype, string color, string skin, bool isBinding) { if (shopItem == null) { throw new ArgumentNullException("shopItem"); } ItemTemplateInfo template = ItemMgr.FindItemTemplate(shopItem.TemplateID); ItemInfo item = ItemInfo.CreateFromTemplate(template, 1, addtype); if (0 == shopItem.BuyType) { if (1 == valuetype) { item.ValidDate = shopItem.AUnit; } if (2 == valuetype) { item.ValidDate = shopItem.BUnit; } if (3 == valuetype) { item.ValidDate = shopItem.CUnit; } } else { if (1 == valuetype) { item.Count = shopItem.AUnit; } if (2 == valuetype) { item.Count = shopItem.BUnit; } if (3 == valuetype) { item.Count = shopItem.CUnit; } } item.Color = ((color == null) ? "" : color); item.Skin = ((skin == null) ? "" : skin); if (isBinding) { item.IsBinds = true; } else { item.IsBinds = Convert.ToBoolean(shopItem.IsBind); } return(item); }
public static List <ItemInfo> GetItemBoxAward(int DataId) { List <ItemBoxInfo> list = ItemBoxMgr.FindItemBox(DataId); List <ItemInfo> list2 = new List <ItemInfo>(); foreach (ItemBoxInfo current in list) { ItemInfo itemInfo = ItemInfo.CreateFromTemplate(ItemMgr.FindItemTemplate(current.TemplateId), current.ItemCount, 105); itemInfo.IsBinds = current.IsBind; itemInfo.ValidDate = current.ItemValid; list2.Add(itemInfo); } return(list2); }
public int HandlePacket(GameClient client, GSPacketIn packet) { PlayerInventory inventory = client.Player.GetInventory(eBageType.Store); PlayerInventory arg_19_0 = client.Player.PropBag; int num = 0; bool isBinds = true; for (int i = 1; i < 5; i++) { ItemInfo itemAt = inventory.GetItemAt(i); if (itemAt != null) { inventory.RemoveItemAt(i); } if (itemAt.IsBinds) { isBinds = true; } num += itemAt.Template.Quality; } int[] array = new int[] { 7015, 7016, 7017, 7018, 7019, 7021, 7022, 7023, 7048, 11041, 15019, 16015 }; Random random = new Random(); int num2 = random.Next(0, array.Length - 1); int templateId = array[num2]; ItemInfo itemInfo = ItemInfo.CreateFromTemplate(ItemMgr.FindItemTemplate(templateId), 1, 105); itemInfo.IsBinds = isBinds; itemInfo.BeginDate = DateTime.Now; if (itemInfo.Template.CategoryID != 11) { itemInfo.ValidDate = 7; } itemInfo.RemoveDate = DateTime.Now.AddDays(7.0); inventory.AddItemTo(itemInfo, 0); return(1); }
/// <summary> /// 通过模板添加物品,成功返回ItemInfo实例,失败返回null。 /// </summary> /// <param name="temp"></param> /// <returns></returns> public ItemInfo AddItemTemplate(ItemTemplateInfo temp) { ItemInfo info = ItemInfo.CreateFromTemplate(temp, 1); //info.Count = 1; if (AddItem(info) != -1) { return(info); } else { return(null); } }
public override bool CancelFinish(GamePlayer player) { ItemTemplateInfo template = ItemMgr.FindItemTemplate(m_info.Para1); if (template != null) { ItemInfo item = ItemInfo.CreateFromTemplate(template, m_info.Para2, (int)ItemAddType.TurnProperty); return(player.AddTemplate(item, eBageType.TempBag, m_info.Para2)); } else { return(false); } }
public void RevertPetHandle(GameClient client, int place, string msg) { int num = Convert.ToInt32(PetMgr.FindConfig("RecycleCost").Value); if (client.Player.PlayerCharacter.Money >= num) { UsersPetinfo petAt = client.Player.PetBag.GetPetAt(place); UsersPetinfo usersPetinfo = new UsersPetinfo(); ItemTemplateInfo goods = ItemMgr.FindItemTemplate(334100); ItemInfo itemInfo = ItemInfo.CreateFromTemplate(goods, 1, 0); itemInfo.IsBinds = true; itemInfo.DefendCompose = petAt.GP; itemInfo.AgilityCompose = petAt.MaxGP; if (!client.Player.PropBag.AddTemplate(itemInfo, 1)) { client.Player.SendItemToMail(itemInfo, LanguageMgr.GetTranslation("UserChangeItemPlaceHandler.full", new object[0]), LanguageMgr.GetTranslation("UserChangeItemPlaceHandler.full", new object[0]), eMailType.ItemOverdue); client.Player.Out.SendMailResponse(client.Player.PlayerCharacter.ID, eMailRespose.Receiver); } int iD = petAt.ID; using (PlayerBussiness playerBussiness = new PlayerBussiness()) { usersPetinfo = playerBussiness.GetAdoptPetSingle(iD); } petAt.Blood = usersPetinfo.Blood; petAt.Attack = usersPetinfo.Attack; petAt.Defence = usersPetinfo.Defence; petAt.Agility = usersPetinfo.Agility; petAt.Luck = usersPetinfo.Luck; int arg_158_0 = client.Player.PlayerCharacter.ID; int templateID = usersPetinfo.TemplateID; petAt.TemplateID = templateID; petAt.Skill = usersPetinfo.Skill; petAt.SkillEquip = usersPetinfo.SkillEquip; petAt.GP = 0; petAt.Level = 1; petAt.MaxGP = 55; bool flag = client.Player.PetBag.UpGracePet(petAt, place, false, 0, 0, ref msg); client.Player.SendMessage("Phục hồi thành công!"); client.Player.RemoveMoney(num); if (flag) { client.Player.Out.SendUpdatePetInfo(client.Player.PlayerCharacter, client.Player.PetBag.GetPets()); return; } } else { client.Player.SendMessage(msg); } }
public override bool CancelFinish(GamePlayer player) { ItemTemplateInfo template = ItemMgr.FindItemTemplate(this.m_info.Para1); bool result; if (template != null) { ItemInfo item = ItemInfo.CreateFromTemplate(template, this.m_info.Para2, 117); item.IsBinds = true; result = player.AddTemplate(item, template.BagType, this.m_info.Para2); } else { result = false; } return(result); }
public virtual bool GainFriendFields(int userId, int fieldId) { GamePlayer playerById = WorldMgr.GetPlayerById(userId); ItemTemplateInfo itemTemplateInfo = ItemMgr.FindItemTemplate(this.m_fields[fieldId].SeedID); ItemTemplateInfo goods = ItemMgr.FindItemTemplate(itemTemplateInfo.Property4); ItemInfo item = ItemInfo.CreateFromTemplate(goods, 1, 102); List <ItemInfo> list = new List <ItemInfo>(); this.AccelerateTimeFields(); if (this.GetFieldAt(fieldId).isDig()) { return(false); } object @lock; Monitor.Enter(@lock = this.m_lock); try { if (this.m_fields[fieldId].GainCount <= 9) { bool result = false; return(result); } this.m_fields[fieldId].GainCount--; } finally { Monitor.Exit(@lock); } if (!this.m_player.PropBag.StackItemToAnother(item) && !this.m_player.PropBag.AddItem(item)) { list.Add(item); } if (playerById != null && playerById.Farm.Status == 1) { playerById.Farm.UpdateGainCount(fieldId, this.m_fields[fieldId].GainCount); playerById.Out.SendtoGather(playerById.PlayerCharacter, this.m_fields[fieldId]); } this.m_player.Out.SendtoGather(this.m_player.PlayerCharacter, this.m_fields[fieldId]); if (list.Count > 0) { this.m_player.SendItemsToMail(list, "Bagfull trả về thư!", "Bagfull trả về thư!", eMailType.ItemOverdue); this.m_player.Out.SendMailResponse(this.m_player.PlayerCharacter.ID, eMailRespose.Receiver); } return(true); }
private static bool AddDailyAward(GamePlayer player, int getWay) { ItemInfo item = ItemInfo.CreateFromTemplate(ItemMgr.FindItemTemplate(100 + player.VIPLevel), 1, 0); item.IsBinds = true; if (player.AddItem(item)) { player.Out.SendMessage(eMessageType.Normal, LanguageMgr.GetTranslation("GameUserDailyAward.Success", new object[0])); } else { using (PlayerBussiness db = new PlayerBussiness()) { item.UserID = 0; db.AddGoods(item); MailInfo message = new MailInfo(); message.Annex1 = item.ItemID.ToString(); message.Content = LanguageMgr.GetTranslation("AwardMgr.AddDailyAward.Content", new object[] { item.Template.Name }); message.Gold = 0; message.Money = 0; message.GiftToken = 0; message.Receiver = player.PlayerCharacter.NickName; message.ReceiverID = player.PlayerCharacter.ID; message.Sender = message.Receiver; message.SenderID = message.ReceiverID; message.Title = LanguageMgr.GetTranslation("AwardMgr.AddDailyAward.Title", new object[] { item.Template.Name }); message.Type = 15; db.SendMail(message); string full = LanguageMgr.GetTranslation("AwardMgr.AddDailyAward.Mail", new object[0]); player.Out.SendMessage(eMessageType.Normal, full); player.Out.SendMailResponse(player.PlayerCharacter.ID, eMailRespose.Receiver); } } return(true); }
private void HandlePlayerAddTemplate1(GSPacketIn pkg) { GamePlayer player = WorldMgr.GetPlayerById(pkg.ClientID); if (player != null) { ItemTemplateInfo template = ItemMgr.FindItemTemplate(pkg.ReadInt()); eBageType type = (eBageType)pkg.ReadByte(); if (template != null) { int Count = pkg.ReadInt(); ItemInfo item = ItemInfo.CreateFromTemplate(template, Count, (int)ItemAddType.FightGet); item.Count = Count; item.ValidDate = pkg.ReadInt(); item.IsBinds = pkg.ReadBoolean(); item.IsUsed = pkg.ReadBoolean(); player.AddTemplate(item, type, item.Count); } } }
private void HandlePlayerAddTemplate1(GSPacketIn pkg) { GamePlayer playerById = WorldMgr.GetPlayerById(pkg.ClientID); if (playerById != null) { ItemTemplateInfo itemTemplateInfo = ItemMgr.FindItemTemplate(pkg.ReadInt()); eBageType bagType = (eBageType)pkg.ReadByte(); if (itemTemplateInfo != null) { int count = pkg.ReadInt(); ItemInfo itemInfo = ItemInfo.CreateFromTemplate(itemTemplateInfo, count, 118); itemInfo.Count = count; itemInfo.ValidDate = pkg.ReadInt(); itemInfo.IsBinds = pkg.ReadBoolean(); itemInfo.IsUsed = pkg.ReadBoolean(); playerById.AddTemplate(itemInfo, bagType, itemInfo.Count); } } }
public virtual bool GainField(int fieldId) { this.AccelerateTimeFields(); if (this.GetFieldAt(fieldId).isDig()) { return(false); } ItemTemplateInfo itemTemplateInfo = ItemMgr.FindItemTemplate(this.m_fields[fieldId].SeedID); ItemTemplateInfo goods = ItemMgr.FindItemTemplate(itemTemplateInfo.Property4); ItemInfo itemInfo = ItemInfo.CreateFromTemplate(goods, 1, 102); List <ItemInfo> list = new List <ItemInfo>(); itemInfo.Count = this.m_fields[fieldId].GainCount; if (base.killCropField(fieldId)) { if (!this.m_player.PropBag.StackItemToAnother(itemInfo) && !this.m_player.PropBag.AddItem(itemInfo)) { list.Add(itemInfo); } this.m_player.Out.SendtoGather(this.m_player.PlayerCharacter, this.m_fields[fieldId]); foreach (int current in this.m_player.ViFarms) { GamePlayer playerById = WorldMgr.GetPlayerById(current); if (playerById != null && playerById.Farm.Status == current) { playerById.Out.SendtoGather(this.m_player.PlayerCharacter, this.m_fields[fieldId]); } } this.m_player.OnCropPrimaryEvent(); if (list.Count > 0) { this.m_player.SendItemsToMail(list, "Bagfull trả về thư!", "Bagfull trả về thư!", eMailType.ItemOverdue); this.m_player.Out.SendMailResponse(this.m_player.PlayerCharacter.ID, eMailRespose.Receiver); } return(true); } return(false); }
public void SendGoodManCard(string receiverName, int receiverID, string senderName, int senderID, PlayerBussiness db) { ItemTemplateInfo goods = ItemMgr.FindItemTemplate(11105); ItemInfo itemInfo = ItemInfo.CreateFromTemplate(goods, 1, 112); itemInfo.IsBinds = true; itemInfo.UserID = 0; db.AddGoods(itemInfo); db.SendMail(new MailInfo { Annex1 = itemInfo.ItemID.ToString(), Content = LanguageMgr.GetTranslation("MarryApplyReplyHandler.Content", new object[0]), Gold = 0, IsExist = true, Money = 0, Receiver = receiverName, ReceiverID = receiverID, Sender = senderName, SenderID = senderID, Title = LanguageMgr.GetTranslation("MarryApplyReplyHandler.Title", new object[0]), Type = 14 }); }
public int HandlePacket(GameClient client, GSPacketIn packet) { int gold = 0; //表示金币 int money = 0; //表示点券 int offer = 0; //表示功勋 int gifttoken = 0; //表示礼劵 int medal = 0; //StringBuilder payGoods = new StringBuilder(); //表示支付物品ID int GoodsID = packet.ReadInt(); //商品 int type = 1; //购买类型 ShopItemInfo shopItem = Bussiness.Managers.ShopMgr.GetShopItemInfoById(GoodsID); //获取商品信息 if (shopItem == null) //商品不存在 { return(0); } ItemTemplateInfo prop = Bussiness.Managers.ItemMgr.FindItemTemplate(shopItem.TemplateID); //获取物品模 ItemInfo.SetItemType(shopItem, type, ref gold, ref money, ref offer, ref gifttoken, ref medal); //获取购买价格及需要物品 //eMessageType eMsg = eMessageType.Normal; //string msg = "UserBuyItemHandler.Success"; if (prop.CategoryID == 10) { PlayerInfo pi = client.Player.PlayerCharacter; //未开始 if (client.Player.PlayerCharacter.HasBagPassword && client.Player.PlayerCharacter.IsLocked && (money > 0 || offer > 0 || gifttoken > 0 || medal > 0))//GoodsID == 11408)) { client.Out.SendMessage(eMessageType.Normal, LanguageMgr.GetTranslation("Bag.Locked")); return(0); } /*///////////////////////////////////////////////////////////////////////////////////// * //玩家背包中是否有兑换物品所需要的物品 * int icount = client.Player.MainBag.GetItems().Count; //获取个数 * bool result = true; * for (int j = 0; j < needitemsinfo.Count; j += 2) * { * if (client.Player.GetItemCount(needitemsinfo[j]) < needitemsinfo[j + 1]) * { * result = false; * } * } * * if (!result) * { * eMsg = eMessageType.ERROR; * msg = "UserBuyItemHandler.NoBuyItem"; * client.Out.SendMessage(eMsg,LanguageMgr.GetTranslation(msg)); * return 1; * } * ////////////////////////////////////////////////////////////*/ if (gold <= pi.Gold && money <= (pi.Money < 0 ? 0 : pi.Money) && offer <= pi.Offer && gifttoken <= pi.GiftToken && medal <= pi.medal) { ItemInfo info = ItemInfo.CreateFromTemplate(prop, 1, (int)ItemAddType.Buy); //////////////////////////////////////////////////////////////////////////////////////////////////// //判断有限期 if (0 == shopItem.BuyType) //时间购买类型 { if (1 == type) { info.ValidDate = shopItem.AUnit; } if (2 == type) { info.ValidDate = shopItem.BUnit; } if (3 == type) { info.ValidDate = shopItem.CUnit; } } else //数量购买类型 { if (1 == type) { info.Count = shopItem.AUnit; } if (2 == type) { info.Count = shopItem.BUnit; } if (3 == type) { info.Count = shopItem.CUnit; } } //////////////////////////////////////////////////////////////////////////////////////////////////////// if (client.Player.FightBag.AddItem(info, 0)) { client.Player.RemoveGold(gold); client.Player.RemoveMoney(money); client.Player.RemoveOffer(offer); client.Player.RemoveGiftToken(gifttoken); client.Player.RemoveMedal(medal); /*////////////////////////////////////////////////////////////////////////////////////////////////////////////// * //从玩家背包中删除兑换所需要的物品 * for (int j = 0; j < needitemsinfo.Count; j += 2) * { * client.Player.RemoveTemplate(needitemsinfo[j], needitemsinfo[j + 1]); * payGoods.Append(needitemsinfo[j].ToString() + ":"); * } * ////////////////////////////////////////////////////////////////////////////////////////////////////////////////*/ LogMgr.LogMoneyAdd(LogMoneyType.Shop, LogMoneyType.Shop_Buy, client.Player.PlayerCharacter.ID, money, client.Player.PlayerCharacter.Money, gold, 0, 0, 0, "牌子编号", prop.TemplateID.ToString(), type.ToString()); } } else { client.Out.SendMessage(eMessageType.ERROR, LanguageMgr.GetTranslation("PropBuyHandler.NoMoney")); } } return(0); }
public override void OnNewTurnStarted() { List <ItemTemplateInfo> goods = new List <ItemTemplateInfo>(); List <ItemInfo> items = new List <ItemInfo>(); foreach (Player player in Game.GetAllFightPlayers()) { foreach (SimpleNpc npc in Game.GetLivedLivings()) { if (npc.Distance(player.X, player.Y) <= 100) { canPlayMovie = true; } } } if (Game.TurnIndex > 1 && Game.CurrentPlayer.Delay > Game.PveGameDelay) { for (int i = 0; i < 5; i++) { if (SomeNpc.Count < 15) { SomeNpc.Add(Game.CreateNpc(201, (i + 1) * 100, 500, 1)); } else { break; } } } if (Game.CurrentPlayer.Delay < Game.PveGameDelay) { if (Tip.CurrentAction == "Empty") { Tip.PlayMovie("tip1", 0, 3000); } if (preKillNum < Game.TotalKillCount && killCount < 2) { killCount++; } if (killCount == 2) { Tip.PlayMovie("tip2", 0, 2000); } if (canPlayMovie) { Tip.PlayMovie("tip3", 0, 2000); } goods.Add(Bussiness.Managers.ItemMgr.FindItemTemplate(10001)); goods.Add(Bussiness.Managers.ItemMgr.FindItemTemplate(10003)); goods.Add(Bussiness.Managers.ItemMgr.FindItemTemplate(10018)); foreach (ItemTemplateInfo info in goods) { items.Add(ItemInfo.CreateFromTemplate(info, 1, 101)); } foreach (Player player in Game.GetAllFightPlayers()) { player.CanGetProp = false; player.PlayerDetail.ClearFightBag(); foreach (ItemInfo item in items) { player.PlayerDetail.AddTemplate(item, eBageType.FightBag, item.Count); } } } }
public bool HandleCommand(TankMarryLogicProcessor process, GamePlayer player, GSPacketIn packet) { if (player.CurrentMarryRoom == null || player.CurrentMarryRoom.RoomState != eRoomState.FREE) { return(false); } if (player.PlayerCharacter.ID != player.CurrentMarryRoom.Info.GroomID && player.PlayerCharacter.ID != player.CurrentMarryRoom.Info.BrideID) { return(false); } int needMoney = GameProperties.PRICE_PROPOSE; if (player.CurrentMarryRoom.Info.IsHymeneal) { if (player.PlayerCharacter.Money < needMoney) { player.Out.SendMessage(eMessageType.ChatNormal, LanguageMgr.GetTranslation("UserFirecrackersCommand.MoneyNotEnough")); return(false); } } GamePlayer Groom = player.CurrentMarryRoom.GetPlayerByUserID(player.CurrentMarryRoom.Info.GroomID); if (Groom == null) { player.Out.SendMessage(eMessageType.ChatNormal, LanguageMgr.GetTranslation("HymenealCommand.NoGroom")); return(false); } GamePlayer Bride = player.CurrentMarryRoom.GetPlayerByUserID(player.CurrentMarryRoom.Info.BrideID); if (Bride == null) { player.Out.SendMessage(eMessageType.ChatNormal, LanguageMgr.GetTranslation("HymenealCommand.NoBride")); return(false); } bool result = false; bool isFirst = false; GSPacketIn pkg = packet.Clone(); int hymenealState = packet.ReadInt(); if (1 == hymenealState) { player.CurrentMarryRoom.RoomState = eRoomState.FREE; } else { player.CurrentMarryRoom.RoomState = eRoomState.Hymeneal; player.CurrentMarryRoom.BeginTimerForHymeneal(170 * 1000); if (!player.PlayerCharacter.IsGotRing) { isFirst = true; ItemTemplateInfo ringTemplate = ItemMgr.FindItemTemplate(9022); ItemInfo ring1 = ItemInfo.CreateFromTemplate(ringTemplate, 1, (int)ItemAddType.webing); ring1.IsBinds = true; //Groom.CurrentInventory.AddItem(ring1, 11); using (PlayerBussiness pb = new PlayerBussiness()) { ring1.UserID = 0; pb.AddGoods(ring1); string content = LanguageMgr.GetTranslation("HymenealCommand.Content", Bride.PlayerCharacter.NickName); MailInfo mail = new MailInfo(); mail.Annex1 = ring1.ItemID.ToString(); mail.Content = content; mail.Gold = 0; mail.IsExist = true; mail.Money = 0; mail.Receiver = Groom.PlayerCharacter.NickName; mail.ReceiverID = Groom.PlayerCharacter.ID; mail.Sender = LanguageMgr.GetTranslation("HymenealCommand.Sender"); mail.SenderID = 0; mail.Title = LanguageMgr.GetTranslation("HymenealCommand.Title"); mail.Type = (int)eMailType.Marry; if (pb.SendMail(mail)) { result = true; } player.Out.SendMailResponse(mail.ReceiverID, eMailRespose.Receiver); } ItemInfo ring2 = ItemInfo.CreateFromTemplate(ringTemplate, 1, (int)ItemAddType.webing); ring2.IsBinds = true; //Bride.CurrentInventory.AddItem(ring2, 11); using (PlayerBussiness pb = new PlayerBussiness()) { ring2.UserID = 0; pb.AddGoods(ring2); string content = LanguageMgr.GetTranslation("HymenealCommand.Content", Groom.PlayerCharacter.NickName); MailInfo mail = new MailInfo(); mail.Annex1 = ring2.ItemID.ToString(); mail.Content = content; mail.Gold = 0; mail.IsExist = true; mail.Money = 0; mail.Receiver = Bride.PlayerCharacter.NickName; mail.ReceiverID = Bride.PlayerCharacter.ID; mail.Sender = LanguageMgr.GetTranslation("HymenealCommand.Sender"); mail.SenderID = 0; mail.Title = LanguageMgr.GetTranslation("HymenealCommand.Title"); mail.Type = (int)eMailType.Marry; if (pb.SendMail(mail)) { result = true; } player.Out.SendMailResponse(mail.ReceiverID, eMailRespose.Receiver); } player.CurrentMarryRoom.Info.IsHymeneal = true; using (PlayerBussiness db = new PlayerBussiness()) { db.UpdateMarryRoomInfo(player.CurrentMarryRoom.Info); //更新IsGotRing的数据库 db.UpdatePlayerGotRingProp(Groom.PlayerCharacter.ID, Bride.PlayerCharacter.ID); //通过数据库读入PlayerCharacter内存 Groom.LoadMarryProp(); Bride.LoadMarryProp(); } //Groom.PlayerCharacter.IsGotRing = true; //Bride.PlayerCharacter.IsGotRing = true; } else { isFirst = false; result = true; } if (!isFirst) { //player.SetMoney(-needMoney, MoneyRemoveType.Marry); player.RemoveMoney(needMoney); LogMgr.LogMoneyAdd(LogMoneyType.Marry, LogMoneyType.Marry_Hymeneal, player.PlayerCharacter.ID, needMoney, player.PlayerCharacter.Money, 0, 0, 0, 0, "", "", ""); CountBussiness.InsertSystemPayCount(player.PlayerCharacter.ID, needMoney, 0, (int)eConsumerType.Marry, (int)eSubConsumerType.Marry_Hymeneal); } pkg.WriteInt(player.CurrentMarryRoom.Info.ID); pkg.WriteBoolean(result); //0 player.CurrentMarryRoom.SendToAll(pkg); //0 player.CurrentMarryRoom.SendToAllForScene(pkg,1); player.CurrentMarryRoom.SendToAll(pkg); if (result) { string msg = LanguageMgr.GetTranslation("HymenealCommand.Succeed", Groom.PlayerCharacter.NickName, Bride.PlayerCharacter.NickName); GSPacketIn message = player.Out.SendMessage(eMessageType.ChatNormal, msg); player.CurrentMarryRoom.SendToPlayerExceptSelfForScene(message, player); } } return(true); }
public int HandlePacket(GameClient client, GSPacketIn packet) { int num = 0; int num2 = 0; int num3 = 0; int num4 = 0; int num5 = 0; int iD = packet.ReadInt(); int num6 = 1; ShopItemInfo shopItemInfoById = ShopMgr.GetShopItemInfoById(iD); if (shopItemInfoById == null) { return(0); } ItemTemplateInfo itemTemplateInfo = ItemMgr.FindItemTemplate(shopItemInfoById.TemplateID); ItemInfo.SetItemType(shopItemInfoById, num6, ref num, ref num2, ref num3, ref num4, ref num5); if (itemTemplateInfo.CategoryID == 10) { PlayerInfo playerCharacter = client.Player.PlayerCharacter; if (client.Player.PlayerCharacter.HasBagPassword && client.Player.PlayerCharacter.IsLocked && (num2 > 0 || num3 > 0 || num4 > 0 || num5 > 0)) { client.Out.SendMessage(eMessageType.Normal, LanguageMgr.GetTranslation("Bag.Locked", new object[0])); return(0); } if (num <= playerCharacter.Gold && num2 <= ((playerCharacter.Money < 0) ? 0 : playerCharacter.Money) && num3 <= playerCharacter.Offer && num4 <= playerCharacter.GiftToken && num5 <= playerCharacter.medal) { ItemInfo itemInfo = ItemInfo.CreateFromTemplate(itemTemplateInfo, 1, 102); if (shopItemInfoById.BuyType == 0) { if (1 == num6) { itemInfo.ValidDate = shopItemInfoById.AUnit; } if (2 == num6) { itemInfo.ValidDate = shopItemInfoById.BUnit; } if (3 == num6) { itemInfo.ValidDate = shopItemInfoById.CUnit; } } else { if (1 == num6) { itemInfo.Count = shopItemInfoById.AUnit; } if (2 == num6) { itemInfo.Count = shopItemInfoById.BUnit; } if (3 == num6) { itemInfo.Count = shopItemInfoById.CUnit; } } if (client.Player.FightBag.AddItem(itemInfo, 0)) { client.Player.RemoveGold(num); client.Player.RemoveMoney(num2); client.Player.RemoveOffer(num3); client.Player.RemoveGiftToken(num4); client.Player.RemoveMedal(num5); LogMgr.LogMoneyAdd(LogMoneyType.Shop, LogMoneyType.Shop_Buy, client.Player.PlayerCharacter.ID, num2, client.Player.PlayerCharacter.Money, num, 0, 0, 0, "牌子编号", itemTemplateInfo.TemplateID.ToString(), num6.ToString()); } } else { client.Out.SendMessage(eMessageType.ERROR, LanguageMgr.GetTranslation("PropBuyHandler.NoMoney", new object[0])); } } return(0); }
private void receiveResult(GamePlayer player, GSPacketIn packet) { int num = packet.ReadInt(); packet.ReadInt(); ThreadSafeRandom threadSafeRandom = new ThreadSafeRandom(); int num2; int num3; switch (num) { case 1: num2 = threadSafeRandom.Next(2, 13); num3 = DiceSystemMgr.MoneyXUDoi; break; case 2: num2 = threadSafeRandom.Next(4, 7); num3 = DiceSystemMgr.MoneyXULon; break; case 3: num2 = threadSafeRandom.Next(1, 4); num3 = DiceSystemMgr.MoneyXUNho; break; default: num2 = threadSafeRandom.Next(1, 7); num3 = DiceSystemMgr.MoneyMacDinh; break; } GSPacketIn gSPacketIn = new GSPacketIn(134); gSPacketIn.WriteByte(4); gSPacketIn.WriteInt(player.DicePlace.CurrentPosition); gSPacketIn.WriteInt(num2); player.DicePlace.CurrentPosition += num2; if (player.DicePlace.CurrentPosition > 18) { player.DicePlace.CurrentPosition -= 18; } int num4 = threadSafeRandom.Next(6, 9); player.DicePlace.LuckIntegral += num4; if (player.DicePlace.LuckIntegral > 50 && player.DicePlace.LuckIntegralLevel == -1) { player.DicePlace.LuckIntegralLevel = 0; ItemInfo itemInfo = ItemInfo.CreateFromTemplate(ItemMgr.FindItemTemplate(11036), 1, 116); ItemInfo itemInfo2 = ItemInfo.CreateFromTemplate(ItemMgr.FindItemTemplate(200549), 1, 116); itemInfo.Count = 1; itemInfo2.Count = 1; itemInfo.IsBinds = true; itemInfo2.IsBinds = true; player.AddItem(itemInfo); player.AddItem(itemInfo2); } if (player.DicePlace.LuckIntegral > 250 && player.DicePlace.LuckIntegralLevel == 0) { player.DicePlace.LuckIntegralLevel = 1; ItemInfo itemInfo3 = ItemInfo.CreateFromTemplate(ItemMgr.FindItemTemplate(40002), 1, 116); ItemInfo itemInfo4 = ItemInfo.CreateFromTemplate(ItemMgr.FindItemTemplate(200549), 1, 116); itemInfo3.Count = 1; itemInfo4.Count = 1; itemInfo3.IsBinds = true; itemInfo4.IsBinds = true; player.AddItem(itemInfo3); player.AddItem(itemInfo4); } gSPacketIn.WriteInt(player.DicePlace.LuckIntegral); gSPacketIn.WriteInt(player.DicePlace.LuckIntegralLevel); gSPacketIn.WriteInt(0); DiceSystemItem diceSystemItem = player.DicePlace.ItemDice[player.DicePlace.CurrentPosition]; ItemInfo itemInfo5 = ItemInfo.CreateFromTemplate(ItemMgr.FindItemTemplate(diceSystemItem.TemplateID), 1, 116); itemInfo5.IsBinds = diceSystemItem.IsBind; itemInfo5.StrengthenLevel = diceSystemItem.StrengthLevel; itemInfo5.Count = diceSystemItem.Count; itemInfo5.ValidDate = diceSystemItem.Validate; gSPacketIn.WriteString(string.Concat(new object[] { itemInfo5.Template.Name, " x ", itemInfo5.Count, "." })); if (player.RemoveMoney(num3) == num3) { player.AddItem(itemInfo5); } player.Out.SendTCP(gSPacketIn); }
/// <summary> /// 用户领奖 /// </summary> /// <param name="quest"></param> /// <param name="rewardItemID"></param> /// <returns></returns> public bool Finish(BaseQuest baseQuest, int selectedItem) { //if (baseQuest.CanCompleted(m_player) == false) // return false; #region 定义变量 //提示用户 string msg = ""; //奖励Buff string RewardBuffName = string.Empty; int RewardBuffTime = 0; QuestInfo qinfo = baseQuest.Info; QuestDataInfo qdata = baseQuest.Data; #endregion #region 从游戏中领取奖品 m_player.BeginAllChanges(); try { if (baseQuest.Finish(m_player)) { RemoveQuest(baseQuest); //固定奖励&选择奖励 List <QuestAwardInfo> awards = QuestMgr.GetQuestGoods(qinfo); List <ItemInfo> mainBg = new List <ItemInfo>(); List <ItemInfo> propBg = new List <ItemInfo>(); foreach (QuestAwardInfo award in awards) { //获取固定奖励 或者 已经选取的可选奖励 if (award.IsSelect == false || award.RewardItemID == selectedItem) { ItemTemplateInfo temp = Bussiness.Managers.ItemMgr.FindItemTemplate(award.RewardItemID); if (temp != null) { msg = msg + LanguageMgr.GetTranslation("Game.Server.Quests.FinishQuest.RewardProp", temp.Name, award.RewardItemCount) + " "; Int32 tempCount = award.RewardItemCount; if (award.IsCount == true) { tempCount = tempCount * qdata.RandDobule; } for (int len = 0; len < tempCount; len += temp.MaxCount) { int count = len + temp.MaxCount > award.RewardItemCount ? award.RewardItemCount - len : temp.MaxCount; ItemInfo item = ItemInfo.CreateFromTemplate(temp, count, (int)ItemAddType.Quest); if (item == null) { continue; } item.ValidDate = award.RewardItemValid; item.IsBinds = true; item.StrengthenLevel = award.StrengthenLevel; //等级 item.AttackCompose = award.AttackCompose; //攻击加成 item.DefendCompose = award.DefendCompose; //防御加成 item.AgilityCompose = award.AgilityCompose; //敏捷加成 item.LuckCompose = award.LuckCompose; //幸运加成 if (temp.BagType == eBageType.PropBag) { propBg.Add(item); } else { mainBg.Add(item); } } } } } //判断背包的空位是否足够 if (mainBg.Count > 0 && m_player.MainBag.GetEmptyCount() < mainBg.Count) { baseQuest.CancelFinish(m_player); m_player.Out.SendMessage(eMessageType.ERROR, m_player.GetInventoryName(eBageType.MainBag) + LanguageMgr.GetTranslation("Game.Server.Quests.BagFull") + " "); return(false); } if (propBg.Count > 0 && m_player.PropBag.GetEmptyCount() < propBg.Count) { baseQuest.CancelFinish(m_player); m_player.Out.SendMessage(eMessageType.ERROR, m_player.GetInventoryName(eBageType.PropBag) + LanguageMgr.GetTranslation("Game.Server.Quests.BagFull") + " "); return(false); } //把物品放入背包 foreach (ItemInfo item in mainBg) { m_player.AddTemplate(item, eBageType.MainBag, 1); } foreach (ItemInfo item in propBg) { m_player.AddTemplate(item, eBageType.PropBag, 1); } msg = LanguageMgr.GetTranslation("Game.Server.Quests.FinishQuest.Reward") + msg; //发放Buff if ((qinfo.RewardBuffID > 0) && (qinfo.RewardBuffDate > 0)) { ItemTemplateInfo temp = Bussiness.Managers.ItemMgr.FindItemTemplate(qinfo.RewardBuffID); if (temp != null) { RewardBuffTime = qinfo.RewardBuffDate * qdata.RandDobule; AbstractBuffer buffer = BufferList.CreateBufferHour(temp, RewardBuffTime); buffer.Start(m_player); msg = msg + LanguageMgr.GetTranslation("Game.Server.Quests.FinishQuest.RewardBuff", temp.Name, RewardBuffTime) + " "; } } //奖励金币 if (qinfo.RewardGold != 0) { int rewardGold = qinfo.RewardGold * qdata.RandDobule; m_player.AddGold(rewardGold); msg = msg + LanguageMgr.GetTranslation("Game.Server.Quests.FinishQuest.RewardGold", rewardGold) + " "; } //奖励点卷 if (qinfo.RewardMoney != 0) { int rewardMoney = qinfo.RewardMoney * qdata.RandDobule; m_player.AddMoney(qinfo.RewardMoney * qdata.RandDobule); LogMgr.LogMoneyAdd(LogMoneyType.Award, LogMoneyType.Award_Quest, m_player.PlayerCharacter.ID, rewardMoney, m_player.PlayerCharacter.Money, 0, 0, 0, "", "", "");//添加日志 msg = msg + LanguageMgr.GetTranslation("Game.Server.Quests.FinishQuest.RewardMoney", rewardMoney) + " "; } //奖励GP if (qinfo.RewardGP != 0) { int rewardGp = qinfo.RewardGP * qdata.RandDobule; m_player.AddGP(rewardGp); msg = msg + LanguageMgr.GetTranslation("Game.Server.Quests.FinishQuest.RewardGB1", rewardGp) + " "; } //有公会则奖励财富 if ((qinfo.RewardRiches != 0) && (m_player.PlayerCharacter.ConsortiaID != 0)) { int riches = qinfo.RewardRiches * qdata.RandDobule; m_player.AddRichesOffer(riches); using (ConsortiaBussiness db = new ConsortiaBussiness()) { db.ConsortiaRichAdd(m_player.PlayerCharacter.ConsortiaID, ref riches); } msg = msg + LanguageMgr.GetTranslation("Game.Server.Quests.FinishQuest.RewardRiches", riches) + " "; } //奖励功勋 if (qinfo.RewardOffer != 0) { int rewardOffer = qinfo.RewardOffer * qdata.RandDobule; m_player.AddOffer(rewardOffer, false); msg = msg + LanguageMgr.GetTranslation("Game.Server.Quests.FinishQuest.RewardOffer", rewardOffer) + " "; } //奖励礼劵 if (qinfo.RewardGiftToken != 0) { int rewardGiftToken = qinfo.RewardGiftToken * qdata.RandDobule; m_player.AddGiftToken(rewardGiftToken); msg = msg + LanguageMgr.GetTranslation("Game.Server.Quests.FinishQuest.RewardGiftToken", rewardGiftToken + " "); } m_player.Out.SendMessage(eMessageType.Normal, msg); SetQuestFinish(baseQuest.Info.ID); m_player.PlayerCharacter.QuestSite = m_states; } OnQuestsChanged(baseQuest); } catch (Exception ex) { if (log.IsErrorEnabled) { log.Error("Quest Finish:" + ex); } return(false); } finally { m_player.CommitAllChanges(); } #endregion return(true); }
public bool HandleCommand(TankMarryLogicProcessor process, GamePlayer player, GSPacketIn packet) { if (player.CurrentMarryRoom == null || player.CurrentMarryRoom.RoomState != eRoomState.FREE) { return(false); } if (player.PlayerCharacter.ID != player.CurrentMarryRoom.Info.GroomID && player.PlayerCharacter.ID != player.CurrentMarryRoom.Info.BrideID) { return(false); } int pRICE_PROPOSE = GameProperties.PRICE_PROPOSE; if (player.CurrentMarryRoom.Info.IsHymeneal && player.PlayerCharacter.Money < pRICE_PROPOSE) { player.Out.SendMessage(eMessageType.ChatNormal, LanguageMgr.GetTranslation("UserFirecrackersCommand.MoneyNotEnough", new object[0])); return(false); } GamePlayer playerByUserID = player.CurrentMarryRoom.GetPlayerByUserID(player.CurrentMarryRoom.Info.GroomID); if (playerByUserID == null) { player.Out.SendMessage(eMessageType.ChatNormal, LanguageMgr.GetTranslation("HymenealCommand.NoGroom", new object[0])); return(false); } GamePlayer playerByUserID2 = player.CurrentMarryRoom.GetPlayerByUserID(player.CurrentMarryRoom.Info.BrideID); if (playerByUserID2 == null) { player.Out.SendMessage(eMessageType.ChatNormal, LanguageMgr.GetTranslation("HymenealCommand.NoBride", new object[0])); return(false); } bool flag = false; bool flag2 = false; GSPacketIn gSPacketIn = packet.Clone(); int num = packet.ReadInt(); if (1 == num) { player.CurrentMarryRoom.RoomState = eRoomState.FREE; } else { player.CurrentMarryRoom.RoomState = eRoomState.Hymeneal; player.CurrentMarryRoom.BeginTimerForHymeneal(170000); if (!player.PlayerCharacter.IsGotRing) { flag2 = true; ItemTemplateInfo goods = ItemMgr.FindItemTemplate(9022); ItemInfo itemInfo = ItemInfo.CreateFromTemplate(goods, 1, 112); itemInfo.IsBinds = true; using (PlayerBussiness playerBussiness = new PlayerBussiness()) { itemInfo.UserID = 0; playerBussiness.AddGoods(itemInfo); string translation = LanguageMgr.GetTranslation("HymenealCommand.Content", new object[] { playerByUserID2.PlayerCharacter.NickName }); MailInfo mailInfo = new MailInfo(); mailInfo.Annex1 = itemInfo.ItemID.ToString(); mailInfo.Content = translation; mailInfo.Gold = 0; mailInfo.IsExist = true; mailInfo.Money = 0; mailInfo.Receiver = playerByUserID.PlayerCharacter.NickName; mailInfo.ReceiverID = playerByUserID.PlayerCharacter.ID; mailInfo.Sender = LanguageMgr.GetTranslation("HymenealCommand.Sender", new object[0]); mailInfo.SenderID = 0; mailInfo.Title = LanguageMgr.GetTranslation("HymenealCommand.Title", new object[0]); mailInfo.Type = 14; if (playerBussiness.SendMail(mailInfo)) { flag = true; } player.Out.SendMailResponse(mailInfo.ReceiverID, eMailRespose.Receiver); } ItemInfo itemInfo2 = ItemInfo.CreateFromTemplate(goods, 1, 112); itemInfo2.IsBinds = true; using (PlayerBussiness playerBussiness2 = new PlayerBussiness()) { itemInfo2.UserID = 0; playerBussiness2.AddGoods(itemInfo2); string translation2 = LanguageMgr.GetTranslation("HymenealCommand.Content", new object[] { playerByUserID.PlayerCharacter.NickName }); MailInfo mailInfo2 = new MailInfo(); mailInfo2.Annex1 = itemInfo2.ItemID.ToString(); mailInfo2.Content = translation2; mailInfo2.Gold = 0; mailInfo2.IsExist = true; mailInfo2.Money = 0; mailInfo2.Receiver = playerByUserID2.PlayerCharacter.NickName; mailInfo2.ReceiverID = playerByUserID2.PlayerCharacter.ID; mailInfo2.Sender = LanguageMgr.GetTranslation("HymenealCommand.Sender", new object[0]); mailInfo2.SenderID = 0; mailInfo2.Title = LanguageMgr.GetTranslation("HymenealCommand.Title", new object[0]); mailInfo2.Type = 14; if (playerBussiness2.SendMail(mailInfo2)) { flag = true; } player.Out.SendMailResponse(mailInfo2.ReceiverID, eMailRespose.Receiver); } player.CurrentMarryRoom.Info.IsHymeneal = true; using (PlayerBussiness playerBussiness3 = new PlayerBussiness()) { playerBussiness3.UpdateMarryRoomInfo(player.CurrentMarryRoom.Info); playerBussiness3.UpdatePlayerGotRingProp(playerByUserID.PlayerCharacter.ID, playerByUserID2.PlayerCharacter.ID); playerByUserID.LoadMarryProp(); playerByUserID2.LoadMarryProp(); goto IL_429; } } flag2 = false; flag = true; IL_429: if (!flag2) { player.RemoveMoney(pRICE_PROPOSE); LogMgr.LogMoneyAdd(LogMoneyType.Marry, LogMoneyType.Marry_Hymeneal, player.PlayerCharacter.ID, pRICE_PROPOSE, player.PlayerCharacter.Money, 0, 0, 0, 0, "", "", ""); CountBussiness.InsertSystemPayCount(player.PlayerCharacter.ID, pRICE_PROPOSE, 0, 0, 1); } gSPacketIn.WriteInt(player.CurrentMarryRoom.Info.ID); gSPacketIn.WriteBoolean(flag); player.CurrentMarryRoom.SendToAll(gSPacketIn); if (flag) { string translation3 = LanguageMgr.GetTranslation("HymenealCommand.Succeed", new object[] { playerByUserID.PlayerCharacter.NickName, playerByUserID2.PlayerCharacter.NickName }); GSPacketIn packet2 = player.Out.SendMessage(eMessageType.ChatNormal, translation3); player.CurrentMarryRoom.SendToPlayerExceptSelfForScene(packet2, player); } } return(true); }