| | |
| | | AuctionRecordResult_BidOK, # 竞价成功
|
| | | AuctionRecordResult_BidFail, # 竞价失败
|
| | | AuctionRecordResult_MoveToWorld, # 仙盟拍品转移到全服拍品
|
| | | ) = range(6)
|
| | | AuctionRecordResult_Unsell, # 下架
|
| | | ) = range(7)
|
| | |
|
| | | # 当前拍品归类 0-全服拍品 1-仙盟私有拍品
|
| | | AuctionType_World = 0
|
| | |
| | | # 仙盟拍品收益邮件
|
| | | detail = {"ItemGUID":itemGUID, "ItemID":itemID, "Count":itemCount, "BidderPrice":bidderPrice, "FamilyPlayerIDList":familyPlayerIDList}
|
| | | paramList = [itemID, itemID, bidderPrice, taxRate, giveGoldAverage, personMaxRate]
|
| | | PlayerCompensation.SendMailByKey("PaimaiMail8", familyPlayerIDList, [], paramList, gold=giveGoldAverage, |
| | | PlayerCompensation.SendMailByKey("PaimaiMail8", familyPlayerIDList, [], paramList, goldPaper=giveGoldAverage, |
| | | detail=detail, moneySource=ChConfig.Def_GiveMoney_AuctionGain)
|
| | | else:
|
| | | GameWorld.ErrLog("仙盟拍品没有人获得收益!familyID=%s,itemID=%s,itemGUID=%s" % (familyID, itemID, itemGUID))
|
| | |
| | | # 个人拍卖收益邮件
|
| | | detail = {"ItemGUID":itemGUID, "ItemID":itemID, "Count":itemCount, "BidderPrice":bidderPrice}
|
| | | paramList = [itemID, itemID, bidderPrice, taxRate, givePlayerGold]
|
| | | PlayerCompensation.SendMailByKey("PaimaiMail7", [playerID], [], paramList, gold=givePlayerGold, |
| | | PlayerCompensation.SendMailByKey("PaimaiMail7", [playerID], [], paramList, goldPaper=givePlayerGold, |
| | | detail=detail, moneySource=ChConfig.Def_GiveMoney_AuctionGain)
|
| | |
|
| | | else:
|
| | |
| | | elif playerID:
|
| | | endType = "Return"
|
| | |
|
| | | # 流拍返还物品邮件
|
| | | # 返还物品邮件
|
| | | paramList = []
|
| | | detail = {"ItemGUID":itemGUID}
|
| | | addItemList = [{"ItemID":itemID, "Count":itemCount, "IsAuctionItem":True, "UserData":auctionItem.UserData}]
|
| | | PlayerCompensation.SendMailByKey("PaimaiMail4", [playerID], addItemList, paramList, detail=detail)
|
| | | |
| | | AddAuctionRecord(auctionItem, AuctionRecordResult_SellFail)
|
| | | # 下架
|
| | | if endEvent == "Unsell":
|
| | | PlayerCompensation.SendMailByKey("PaimaiMail9", [playerID], addItemList, paramList, detail=detail)
|
| | | AddAuctionRecord(auctionItem, AuctionRecordResult_Unsell)
|
| | | else:
|
| | | PlayerCompensation.SendMailByKey("PaimaiMail4", [playerID], addItemList, paramList, detail=detail)
|
| | | AddAuctionRecord(auctionItem, AuctionRecordResult_SellFail)
|
| | | else:
|
| | | endType = "SystemDelete"
|
| | | GameWorld.Log("系统拍品流拍: itemGUID=%s,itemID=%s" % (itemGUID, itemID))
|
| | |
| | |
|
| | | return
|
| | |
|
| | | # 下架拍品
|
| | | elif queryType == "UnsellAuctionItem":
|
| | | itemGUID = queryData[0]
|
| | | __DoUnsellAuctionItem(curPlayer, itemGUID)
|
| | | return
|
| | | |
| | | elif queryType == "ClearAuctionItem":
|
| | | __DoGMClearAuctionItem(curPlayer)
|
| | | return
|
| | |
| | | NetPackCommon.SendFakePack(player, infoPack)
|
| | | return
|
| | |
|
| | | def __DoUnsellAuctionItem(curPlayer, itemGUID):
|
| | | ## 下架拍品
|
| | | auctionItem = GetAuctionItem(itemGUID)
|
| | | if not auctionItem:
|
| | | # 拍品不存在
|
| | | PlayerControl.NotifyCode(curPlayer, "Paimai3")
|
| | | return
|
| | | playerID = curPlayer.GetPlayerID()
|
| | | itemID = auctionItem.ItemID
|
| | | if auctionItem.FamilyID:
|
| | | GameWorld.ErrLog("仙盟拍品无法下架!itemGUID=%s,itemID=%s,itemFamilyID=%s" |
| | | % (itemGUID, itemID, auctionItem.FamilyID), playerID)
|
| | | return
|
| | | if auctionItem.PlayerID != playerID:
|
| | | GameWorld.ErrLog("不是玩家自己的拍品无法下架!itemGUID=%s,itemID=%s,itemPlayerID=%s" |
| | | % (itemGUID, itemID, auctionItem.PlayerID), playerID)
|
| | | return
|
| | | if auctionItem.BidderPrice:
|
| | | # 竞价中的拍品不能下架
|
| | | PlayerControl.NotifyCode(curPlayer, "Paimai9")
|
| | | return
|
| | | |
| | | __EndAuctionItem([auctionItem], "Unsell")
|
| | | return
|
| | |
|
| | | def __DoPlayerBidAuctionItem(curPlayer, itemGUID, biddingPrice, tick, isOnlyCheck):
|
| | | ''' 玩家竞价物品
|
| | | @param curPlayer: 竞价的玩家
|
| | |
| | | if isBuyout:
|
| | | # 竞拍失败,仅通知
|
| | | paramList = [itemID, itemID, lastBidderPrice]
|
| | | PlayerCompensation.SendMailByKey("PaimaiMail2", [lastBidderID], [], paramList, gold=lastBidderPrice, |
| | | PlayerCompensation.SendMailByKey("PaimaiMail2", [lastBidderID], [], paramList, goldPaper=lastBidderPrice, |
| | | detail=detail, moneySource=ChConfig.Def_GiveMoney_AuctionBidReturn)
|
| | | else:
|
| | | # 竞拍失败,可继续竞价邮件
|
| | | paramList = [itemID, itemID, lastBidderPrice, itemGUID]
|
| | | PlayerCompensation.SendMailByKey("PaimaiMail1", [lastBidderID], [], paramList, gold=lastBidderPrice, |
| | | PlayerCompensation.SendMailByKey("PaimaiMail1", [lastBidderID], [], paramList, goldPaper=lastBidderPrice, |
| | | detail=detail, moneySource=ChConfig.Def_GiveMoney_AuctionBidReturn)
|
| | | AddAuctionRecord(auctionItem, AuctionRecordResult_BidFail)
|
| | |
|