hch
2019-07-26 31c49247fe0656416cf5cfc4f5b290d40b919d15
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerAuctionHouse.py
@@ -24,7 +24,9 @@
import ChConfig
import ShareDefine
import PlayerActivity
import NPCCommon
import random
import time
#// B5 13 拍卖行上架拍品 #tagCMSellAuctionItem
@@ -204,6 +206,46 @@
        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()