|  |  |  | 
|---|
|  |  |  | import ChConfig | 
|---|
|  |  |  | import ShareDefine | 
|---|
|  |  |  | import PlayerActivity | 
|---|
|  |  |  | import NPCCommon | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import random | 
|---|
|  |  |  | import time | 
|---|
|  |  |  |  | 
|---|
|  |  |  | #// B5 13 拍卖行上架拍品 #tagCMSellAuctionItem | 
|---|
|  |  |  | 
|---|
|  |  |  | PlayerActivity.AddDailyActionFinishCnt(curPlayer, ShareDefine.DailyActionID_AuctionItem, 1) | 
|---|
|  |  |  | return | 
|---|
|  |  |  |  | 
|---|
|  |  |  | def DoAddSystemAuctionItem(sysAuctionItemList): | 
|---|
|  |  |  | ''' 上架系统拍品 | 
|---|
|  |  |  | @param sysAuctionItemList: [物品ID, [阶,颜色,[部位, ...],是否套装,星级]] | 
|---|
|  |  |  | ''' | 
|---|
|  |  |  | GameWorld.Log("上架系统拍品: %s" % sysAuctionItemList) | 
|---|
|  |  |  |  | 
|---|
|  |  |  | itemCount = 1 # 系统拍品,默认上架一个 | 
|---|
|  |  |  | isAuctionItem = True | 
|---|
|  |  |  | auctionItemList = [] | 
|---|
|  |  |  | for sysAuctionItemInfo in sysAuctionItemList: | 
|---|
|  |  |  | if type(sysAuctionItemInfo) == int: | 
|---|
|  |  |  | itemID = sysAuctionItemInfo | 
|---|
|  |  |  | elif type(sysAuctionItemInfo) == list and len(sysAuctionItemInfo) >= 5: | 
|---|
|  |  |  | classLV, color, placeList, isSuit, star = sysAuctionItemInfo[:5] | 
|---|
|  |  |  | if star: | 
|---|
|  |  |  | # 有星级的代表非境界装备,暂不处理,之后有需要扩展 | 
|---|
|  |  |  | randEquipIDList = [] | 
|---|
|  |  |  | else: | 
|---|
|  |  |  | itemJobList = sysAuctionItemInfo[5] if len(sysAuctionItemInfo) > 5 else [] | 
|---|
|  |  |  | randEquipIDList = NPCCommon.__GetEquipIDList(0, classLV, color, isSuit, placeList, itemJobList, findType="SystemAuctionItem") | 
|---|
|  |  |  | if not randEquipIDList: | 
|---|
|  |  |  | GameWorld.ErrLog("系统拍品找不到可上架的装备! %s" % str(sysAuctionItemInfo)) | 
|---|
|  |  |  | continue | 
|---|
|  |  |  | itemID = random.choice(randEquipIDList) | 
|---|
|  |  |  | else: | 
|---|
|  |  |  | GameWorld.ErrLog("系统拍品格式错误,无法上架! %s" % str(sysAuctionItemInfo)) | 
|---|
|  |  |  | continue | 
|---|
|  |  |  | ipyData = IpyGameDataPY.GetIpyGameData("AuctionItem", itemID) | 
|---|
|  |  |  | if not ipyData: | 
|---|
|  |  |  | GameWorld.ErrLog("非拍卖物品,无法上架系统拍品! itemID=%s" % (itemID)) | 
|---|
|  |  |  | continue | 
|---|
|  |  |  | curItem = ItemControler.GetOutPutItemObj(itemID, itemCount, isAuctionItem) | 
|---|
|  |  |  | if not curItem: | 
|---|
|  |  |  | continue | 
|---|
|  |  |  | auctionItemList.append([curItem]) | 
|---|
|  |  |  | if not auctionItemList: | 
|---|
|  |  |  | return | 
|---|
|  |  |  | __DoAddAuctionItem(None, auctionItemList) | 
|---|
|  |  |  | return | 
|---|
|  |  |  |  | 
|---|
|  |  |  | def DR_AuctionHouse(curPlayer, eventName, drDict): | 
|---|
|  |  |  | accID = "" if not curPlayer else curPlayer.GetAccID() | 
|---|
|  |  |  | playerID = 0 if not curPlayer else curPlayer.GetPlayerID() | 
|---|