ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/UseItem/Item_Chests.py
@@ -140,24 +140,33 @@
    jobItemList = awardIpyData.GetJobItemList()
    # 选择物品
    if awardIpyData.GetSelectItemDict():
        if not exData:
            GameWorld.ErrLog("选择的物品错误, 需要指定一个选择物品ID!chestsItemID=%s,selectItemID=%s" % (chestsItemID, exData))
        if isinstance(exData, int):
            selectDict = {exData:useCount} # 兼容旧的单选模式
        elif isinstance(exData, dict):
            selectDict = exData
        else:
            GameWorld.ErrLog("选择的物品错误, 需要指定选择物品ID!chestsItemID=%s,exData=%s" % (chestsItemID, exData))
            return
        selectItemID = exData
        isSelectOK = False
        GameWorld.DebugLog("    自选项信息: %s" % selectDict)
        selectCountTotal = 0
        for cfgItemID, itemCount in awardIpyData.GetSelectItemDict().items():
            # 支持按职业选择,前端无论发职业对应物品ID或者配置的物品ID均可获得
            jobItemID = __GetChestsJobItem(chestsItemID, job, cfgItemID, jobItemList)
            if not jobItemID:
                return
            if selectItemID == cfgItemID or selectItemID == jobItemID:
                __AddAwardItem(awardItemDict, jobItemID, itemCount * useCount)
                isSelectOK = True
            if cfgItemID in selectDict:
                selectCount = selectDict.pop(cfgItemID)
            elif jobItemID in selectDict:
                selectCount = selectDict.pop(jobItemID)
            else:
                continue
            selectCountTotal += selectCount
            GameWorld.DebugLog("    可选自选项: cfgItemID=%s,jobItemID=%s,selectCount=%s" % (cfgItemID, jobItemID, selectCount))
            __AddAwardItem(awardItemDict, jobItemID, itemCount * selectCount)
            if not selectDict:
                break
        if not isSelectOK:
            GameWorld.ErrLog("选择的物品错误, 该宝箱没有该物品!chestsItemID=%s,selectItemID=%s" % (chestsItemID, selectItemID))
        if selectCountTotal != useCount:
            GameWorld.ErrLog("选择的物品错误!chestsItemID=%s,selectCountTotal=%s != %s" % (chestsItemID, selectCountTotal, useCount))
            return
        
    # 固定产出物品