| | |
| | | import DataRecordPack
|
| | | import PlayerControl
|
| | | import ItemControler
|
| | | import Operate_EquipStar
|
| | | import ItemCommon
|
| | | import ChConfig
|
| | | import ShareDefine
|
| | |
| | | playerID = curPlayer.GetPlayerID()
|
| | | itemGUID = clientData.ItemGUID
|
| | | biddingPrice = clientData.BiddingPrice
|
| | | if not PlayerControl.HaveMoney(curPlayer, IPY_GameWorld.TYPE_Price_Gold_Money, biddingPrice):
|
| | | if not PlayerControl.HaveMoney(curPlayer, IPY_GameWorld.TYPE_Price_Gold_Paper, biddingPrice):
|
| | | return
|
| | | QueryGameServer_AuctionHouse(playerID, "BidAuctionItemQuery", [itemGUID, biddingPrice])
|
| | | return
|
| | |
| | | itemID = result[0]
|
| | | __DoPlayerBidAuctionItem(curPlayer, itemGUID, biddingPrice, itemID)
|
| | |
|
| | | elif queryType == "EquipStarAutoBuy":
|
| | | Operate_EquipStar.GameServer_EquipStarAutoBuy(curPlayer, result)
|
| | | |
| | | return
|
| | |
|
| | | def __DoPlayerBidAuctionItem(curPlayer, itemGUID, biddingPrice, itemID):
|
| | |
| | |
|
| | | # 地图只处理扣除竞价价格
|
| | | infoDict = {"ItemID":itemID, "ItemGUID":itemGUID, "BiddingPrice":biddingPrice}
|
| | | if not PlayerControl.PayMoney(curPlayer, IPY_GameWorld.TYPE_Price_Gold_Money, biddingPrice, ChConfig.Def_Cost_AuctionBid, infoDict):
|
| | | if not PlayerControl.PayMoney(curPlayer, IPY_GameWorld.TYPE_Price_Gold_Paper, biddingPrice, ChConfig.Def_Cost_AuctionBid, infoDict):
|
| | | return
|
| | |
|
| | | DR_AuctionHouse(curPlayer, "PlayerPayBid", infoDict)
|
| | |
| | |
|
| | | def DoAddSystemAuctionItem(sysAuctionItemList):
|
| | | ''' 上架系统拍品
|
| | | @param sysAuctionItemList: [物品ID, [阶,颜色,[部位, ...],是否套装,星级]]
|
| | | @param sysAuctionItemList: [物品ID, [阶,颜色,[部位, ...],是否套装,星级,[可选参数职业, ...]], ...]
|
| | | '''
|
| | | GameWorld.Log("上架系统拍品: %s" % sysAuctionItemList)
|
| | |
|
| | | itemCount = 1 # 系统拍品,默认上架一个
|
| | | isAuctionItem = True
|
| | | auctionItemList = []
|
| | | for sysAuctionItemInfo in sysAuctionItemList:
|
| | | itemCount = 1 # 系统拍品,默认上架一个
|
| | | if type(sysAuctionItemInfo) == int:
|
| | | itemID = sysAuctionItemInfo
|
| | | elif type(sysAuctionItemInfo) == list and len(sysAuctionItemInfo) == 2:
|
| | | itemID, itemCount = sysAuctionItemInfo
|
| | | elif type(sysAuctionItemInfo) == list and len(sysAuctionItemInfo) >= 5:
|
| | | classLV, color, placeList, isSuit, star = sysAuctionItemInfo[:5]
|
| | | if star:
|
| | |
| | | __DoAddAuctionItem(None, auctionItemList)
|
| | | return
|
| | |
|
| | | #// B5 15 拍卖行下架拍品 #tagCMUnsellAuctionItem
|
| | | #
|
| | | #struct tagCMUnsellAuctionItem
|
| | | #{
|
| | | # tagHead Head;
|
| | | # char ItemGUID[40];
|
| | | #};
|
| | | def OnUnsellAuctionItem(index, clientData, tick):
|
| | | curPlayer = GameWorld.GetPlayerManager().GetPlayerByIndex(index)
|
| | | playerID = curPlayer.GetPlayerID()
|
| | | itemGUID = clientData.ItemGUID
|
| | | |
| | | # 直接发邮件,这里就不验证背包了
|
| | | # #验证背包空间
|
| | | # if not ItemCommon.CheckPackHasSpace(curPlayer, IPY_GameWorld.rptItem):
|
| | | # PlayerControl.NotifyCode(curPlayer, "GeRen_chenxin_998371")
|
| | | # return
|
| | | |
| | | QueryGameServer_AuctionHouse(playerID, "UnsellAuctionItem", [itemGUID])
|
| | | return
|
| | |
|
| | | def DR_AuctionHouse(curPlayer, eventName, drDict):
|
| | | accID = "" if not curPlayer else curPlayer.GetAccID()
|
| | | playerID = 0 if not curPlayer else curPlayer.GetPlayerID()
|