ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/ChItem.py
@@ -1534,20 +1534,37 @@
#// A3 23 使用物品 #tagCMUseItems
#
#struct    tagCMUseItemsSelect
#{
#    DWORD        SelectID;        //选择项ID
#    WORD        SelectCnt;    //选择数
#};
#
#struct    tagCMUseItems
#{
#    tagHead        Head;
#    BYTE        ItemIndex;    //物品在背包中索引
#    WORD        UseCnt;        //使用个数,0表示全部使用
#    DWORD        ExData;        //使用扩展值, 默认0, 选择物品宝箱时发送选择的物品ID
#    BYTE        SelectCount;    //指定选择项,当批量使用单个箱子需要同时选中多种选项时使用该值
#    tagCMUseItemsSelect    SelectList[SelectCount];
#};
def OnUseItems(index, packData, tick):
    curPlayer = GameWorld.GetPlayerManager().GetPlayerByIndex(index)
    itemIndex = packData.ItemIndex
    useCnt = packData.UseCnt
    exData = packData.ExData
    GameWorld.DebugLog("OnUseItems itemIndex=%s,useCnt=%s,exData=%s" % (itemIndex, useCnt, exData), curPlayer.GetPlayerID())
    selectDict = {}
    if packData.SelectCount:
        for selectInfo in packData.SelectList:
            selectDict[selectInfo.SelectID] = selectInfo.SelectCnt
    GameWorld.DebugLog("OnUseItems itemIndex=%s,useCnt=%s,exData=%s,selectDict=%s" % (itemIndex, useCnt, exData, selectDict), curPlayer.GetPlayerID())
    if selectDict:
        exData = selectDict
        GameWorld.DebugLog("    使用多项选择,以多选为准! exData=%s" % exData)
    elif exData:
        GameWorld.DebugLog("    使用单项选择,兼容旧模式! exData=%s" % exData)
    backPack = curPlayer.GetItemManager().GetPack(IPY_GameWorld.rptItem)
    curItem = backPack.GetAt(itemIndex)