public int HandlePacket(GameClient client, GSPacketIn packet) { int auctionID = packet.ReadInt(); string translation = LanguageMgr.GetTranslation("AuctionDeleteHandler.Fail", new object[0]); using (PlayerBussiness playerBussiness = new PlayerBussiness()) { if (playerBussiness.DeleteAuction(auctionID, client.Player.PlayerCharacter.ID, ref translation)) { client.Out.SendMailResponse(client.Player.PlayerCharacter.ID, eMailRespose.Receiver); client.Out.SendAuctionRefresh(null, auctionID, false, null); } else { AuctionInfo auctionSingle = playerBussiness.GetAuctionSingle(auctionID); client.Out.SendAuctionRefresh(auctionSingle, auctionID, auctionSingle != null, null); } client.Out.SendMessage(eMessageType.Normal, translation); } return(0); }
public override int HandlePacket(GamePlayer player, GSPacketIn packet) { int id = packet.ReadInt(); string msg = LanguageMgr.GetTranslation("AuctionDeleteHandler.Fail", new object[0]); using (PlayerBussiness db = new PlayerBussiness()) { if (db.DeleteAuction(id, player.PlayerCharacter.ID, ref msg)) { player.Out.SendMailResponse(player.PlayerCharacter.ID, eMailRespose.Receiver); player.Out.SendAuctionRefresh(null, id, false, null); } else { AuctionInfo info = db.GetAuctionSingle(id); player.Out.SendAuctionRefresh(info, id, info != null, null); } player.Out.SendMessage(eMessageType.Normal, msg); } return(0); }
public int HandlePacket(GameClient client, GSPacketIn packet) { int id = packet.ReadInt(); string msg = LanguageMgr.GetTranslation("AuctionDeleteHandler.Fail"); using (PlayerBussiness db = new PlayerBussiness()) { if (db.DeleteAuction(id, client.Player.PlayerCharacter.ID, ref msg)) { client.Out.SendMailResponse(client.Player.PlayerCharacter.ID, eMailRespose.Receiver); client.Out.SendAuctionRefresh(null, id, false, null); } else { AuctionInfo info = db.GetAuctionSingle(id); client.Out.SendAuctionRefresh(info, id, info != null, null); } client.Out.SendMessage(eMessageType.Normal, msg); // client.Out.SendMessage(eMessageType.ERROR,msg); } return(0); }
public override int HandlePacket(GamePlayer player, GSPacketIn packet) { int id = packet.ReadInt(); int price = packet.ReadInt(); bool result = false; GSPacketIn pkg = packet.Clone(); pkg.ClearContext(); string msg = "AuctionUpdateHandler.Fail"; int result2; if (player.PlayerCharacter.HasBagPassword && player.PlayerCharacter.IsLocked) { player.Out.SendMessage(eMessageType.Normal, LanguageMgr.GetTranslation("Bag.Locked", new object[0])); result2 = 0; } else { using (PlayerBussiness db = new PlayerBussiness()) { AuctionInfo info = db.GetAuctionSingle(id); if (info == null) { msg = "AuctionUpdateHandler.Msg1"; } else { if (info.PayType == 0 && price > player.PlayerCharacter.Gold) { msg = "AuctionUpdateHandler.Msg2"; } else { if (info.PayType == 1 && price > player.PlayerCharacter.Money) { msg = "AuctionUpdateHandler.Msg3"; } else { if (info.BuyerID == 0 && info.Price > price) { msg = "AuctionUpdateHandler.Msg4"; } else { if (info.BuyerID != 0 && info.Price + info.Rise > price && (info.Mouthful == 0 || info.Mouthful > price)) { msg = "AuctionUpdateHandler.Msg5"; } else { int oldBuyerID = info.BuyerID; info.BuyerID = player.PlayerCharacter.ID; info.BuyerName = player.PlayerCharacter.NickName; info.Price = price; if (info.Mouthful != 0 && price >= info.Mouthful) { info.Price = info.Mouthful; info.IsExist = false; } if (db.UpdateAuction(info)) { if (info.PayType == 0) { player.RemoveGold(info.Price); } else { player.RemoveMoney(info.Price, LogMoneyType.Auction, LogMoneyType.Auction_Update); } if (info.IsExist) { msg = "AuctionUpdateHandler.Msg6"; } else { msg = "AuctionUpdateHandler.Msg7"; player.Out.SendMailResponse(info.AuctioneerID, eMailRespose.Receiver); player.Out.SendMailResponse(info.BuyerID, eMailRespose.Receiver); } if (oldBuyerID != 0) { player.Out.SendMailResponse(oldBuyerID, eMailRespose.Receiver); } result = true; } } } } } } player.Out.SendAuctionRefresh(info, id, info != null && info.IsExist, null); player.Out.SendMessage(eMessageType.Normal, LanguageMgr.GetTranslation(msg, new object[0])); } pkg.WriteBoolean(result); pkg.WriteInt(id); player.Out.SendTCP(pkg); result2 = 0; } return(result2); }
public int HandlePacket(GameClient client, GSPacketIn packet) { int id = packet.ReadInt(); int price = packet.ReadInt(); bool result = false; GSPacketIn pkg = packet.Clone(); pkg.ClearContext(); string msg = "AuctionUpdateHandler.Fail"; if (client.Player.PlayerCharacter.HasBagPassword && client.Player.PlayerCharacter.IsLocked) { client.Out.SendMessage(eMessageType.Normal, LanguageMgr.GetTranslation("Bag.Locked")); return(0); } using (PlayerBussiness db = new PlayerBussiness()) { AuctionInfo info = db.GetAuctionSingle(id); if (info == null) { msg = "AuctionUpdateHandler.Msg1"; } else if (info.PayType == 0 && price > client.Player.PlayerCharacter.Gold) { msg = "AuctionUpdateHandler.Msg2"; } else if (info.PayType == 1 && price > client.Player.PlayerCharacter.Money) { msg = "AuctionUpdateHandler.Msg3"; } else if (info.BuyerID == 0 && info.Price > price) { msg = "AuctionUpdateHandler.Msg4"; } else if (info.BuyerID != 0 && info.Price + info.Rise > price && (info.Mouthful == 0 || info.Mouthful > price)) { msg = "AuctionUpdateHandler.Msg5"; } else { int oldBuyerID = info.BuyerID; info.BuyerID = client.Player.PlayerCharacter.ID; info.BuyerName = client.Player.PlayerCharacter.NickName; info.Price = price; if (info.Mouthful != 0 && price >= info.Mouthful) { info.Price = info.Mouthful; info.IsExist = false; } if (db.UpdateAuction(info)) { if (info.PayType == 0) { client.Player.RemoveGold(info.Price); } else { client.Player.RemoveMoney(info.Price); LogMgr.LogMoneyAdd(LogMoneyType.Auction, LogMoneyType.Auction_Update, client.Player.PlayerCharacter.ID, info.Price, client.Player.PlayerCharacter.Money, 0, 0, 0, 0, "", "", ""); } if (info.IsExist) { msg = "AuctionUpdateHandler.Msg6"; } else { msg = "AuctionUpdateHandler.Msg7"; client.Out.SendMailResponse(info.AuctioneerID, eMailRespose.Receiver); client.Out.SendMailResponse(info.BuyerID, eMailRespose.Receiver); } if (oldBuyerID != 0) { client.Out.SendMailResponse(oldBuyerID, eMailRespose.Receiver);//通知老买主价格被超出 } result = true; } } client.Out.SendAuctionRefresh(info, id, info != null ? info.IsExist : false, null); client.Out.SendMessage(eMessageType.Normal, LanguageMgr.GetTranslation(msg)); } pkg.WriteBoolean(result); pkg.WriteInt(id); client.Out.SendTCP(pkg); return(0); }
public int HandlePacket(GameClient client, GSPacketIn packet) { int num = packet.ReadInt(); int num2 = packet.ReadInt(); bool val = false; GSPacketIn gSPacketIn = new GSPacketIn(193, client.Player.PlayerCharacter.ID); string translateId = "AuctionUpdateHandler.Fail"; if (client.Player.PlayerCharacter.HasBagPassword && client.Player.PlayerCharacter.IsLocked) { client.Out.SendMessage(eMessageType.Normal, LanguageMgr.GetTranslation("Bag.Locked", new object[0])); return(0); } using (PlayerBussiness playerBussiness = new PlayerBussiness()) { AuctionInfo auctionSingle = playerBussiness.GetAuctionSingle(num); if (auctionSingle == null) { translateId = "AuctionUpdateHandler.Msg1"; } else { if (auctionSingle.PayType == 0 && num2 > client.Player.PlayerCharacter.Gold) { translateId = "AuctionUpdateHandler.Msg2"; } else { if (auctionSingle.PayType == 1 && num2 > client.Player.PlayerCharacter.Money) { translateId = "AuctionUpdateHandler.Msg3"; } else { if (auctionSingle.BuyerID == 0 && auctionSingle.Price > num2) { translateId = "AuctionUpdateHandler.Msg4"; } else { if (auctionSingle.BuyerID != 0 && auctionSingle.Price + auctionSingle.Rise > num2 && (auctionSingle.Mouthful == 0 || auctionSingle.Mouthful > num2)) { translateId = "AuctionUpdateHandler.Msg5"; } else { int buyerID = auctionSingle.BuyerID; auctionSingle.BuyerID = client.Player.PlayerCharacter.ID; auctionSingle.BuyerName = client.Player.PlayerCharacter.NickName; auctionSingle.Price = num2; if (auctionSingle.Mouthful != 0 && num2 >= auctionSingle.Mouthful) { auctionSingle.Price = auctionSingle.Mouthful; auctionSingle.IsExist = false; } if (playerBussiness.UpdateAuction(auctionSingle)) { if (auctionSingle.PayType == 0) { client.Player.RemoveGold(auctionSingle.Price); } else { client.Player.RemoveMoney(auctionSingle.Price); LogMgr.LogMoneyAdd(LogMoneyType.Auction, LogMoneyType.Auction_Update, client.Player.PlayerCharacter.ID, auctionSingle.Price, client.Player.PlayerCharacter.Money, 0, 0, 0, 0, "", "", ""); } if (auctionSingle.IsExist) { translateId = "AuctionUpdateHandler.Msg6"; } else { translateId = "AuctionUpdateHandler.Msg7"; client.Out.SendMailResponse(auctionSingle.AuctioneerID, eMailRespose.Receiver); client.Out.SendMailResponse(auctionSingle.BuyerID, eMailRespose.Receiver); } if (buyerID != 0) { client.Out.SendMailResponse(buyerID, eMailRespose.Receiver); } val = true; } } } } } } client.Out.SendAuctionRefresh(auctionSingle, num, auctionSingle != null && auctionSingle.IsExist, null); client.Out.SendMessage(eMessageType.Normal, LanguageMgr.GetTranslation(translateId, new object[0])); } gSPacketIn.WriteBoolean(val); gSPacketIn.WriteInt(num); client.Out.SendTCP(gSPacketIn); return(0); }