hxp
2024-07-19 bb6cd0bde854e5998022a0bce4fdc8bf554be3a6
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/ItemControler.py
@@ -2194,6 +2194,30 @@
            itemCount -= giveCount
    return isOK
def DoGiveItemLoop(curPlayer, itemID, itemCount, isAuctionItem, event=["", False, {}], packIndexList=[IPY_GameWorld.rptItem, IPY_GameWorld.rptAnyWhere],
                   jsonItemList=None, userDataList=None):
    ## 循环给物品,一般用于个数超过65535的,循环创建物品给
    # @warning: 该函数不对物品及背包空间等做验证,仅做循环给物品操作
    # @return: 给成功总数,0代表给失败了
    giveOKCount = 0
    for _ in range(itemCount/65535 + 1):
        if giveOKCount >= itemCount:
            break
        giveItem = GetOutPutItemObj(itemID, itemCount - giveOKCount, isAuctionItem, curPlayer=curPlayer)
        if not giveItem:
            return giveOKCount
        curCount = GetItemCount(giveItem)
        if type(jsonItemList) == list:
            jsonItemList.append(ItemCommon.GetJsonItem(giveItem))
        if type(userDataList) == list:
            userDataList.append(giveItem.GetUserData())
        if DoLogic_PutItemInPack(curPlayer, giveItem, event, packIndexList):
            giveOKCount += curCount
    return giveOKCount
def GivePlayerAppointItem(curPlayer, appointID, isAuctionItem, event=["", False, {}]):
    '''给玩家定制物品表物品,定制物品默认个数1