10205 【越南】【主干】【港台】【砍树】自选礼包(支持一次性放入超65535个数叠加物品;邮件同步支持一次性领取超65535个数叠加物品)
| | |
| | | isOK = True # 只要有成功的就返回成功,防止异常情况失败可能导致被刷
|
| | | return isOK
|
| | |
|
| | | #常规物品
|
| | | isOK = False
|
| | | for _ in range(itemCount/65535 + 1):
|
| | | if itemCount <= 0:
|
| | | break
|
| | | giveItem = GetOutPutItemObj(itemID, itemCount, isAuctionItem, curPlayer=curPlayer)
|
| | | if not giveItem:
|
| | | return False
|
| | | return DoLogic_PutItemInPack(curPlayer, giveItem, event, packIndexList)
|
| | | return isOK
|
| | | giveCount = GetItemCount(giveItem)
|
| | | if DoLogic_PutItemInPack(curPlayer, giveItem, event, packIndexList):
|
| | | isOK = True
|
| | | itemCount -= giveCount
|
| | | return isOK
|
| | |
|
| | |
|
| | | def GivePlayerAppointItem(curPlayer, appointID, isAuctionItem, event=["", False, {}]):
|
| | |
| | | for i in xrange(curPackData.Count):
|
| | | curPackItem = curPackData.Items[i]
|
| | | itemID = curPackItem.ItemID
|
| | | itemCount = curPackItem.Count
|
| | | isAuctionItem = curPackItem.IsBind and not auctionItemTimeout
|
| | | for _ in range(itemCount/65535+1):
|
| | | if itemCount <= 0:
|
| | | break
|
| | | if ItemControler.GetAppointItemRealID(itemID):
|
| | | curCreateItem = ItemControler.GetItemByData(ItemControler.GetAppointItemDictData(itemID, isAuctionItem))
|
| | | else:
|
| | | curCreateItem = ItemCommon.CreateSingleItem(itemID, curPackItem.Count, isAuctionItem)
|
| | | curCreateItem = ItemCommon.CreateSingleItem(itemID, itemCount, isAuctionItem)
|
| | | if not curCreateItem:
|
| | | GameWorld.ErrLog("OnGMRequestCompensationResult CreateSingleItem %s Err "%itemID)
|
| | | continue
|
| | | |
| | | giveCount = ItemControler.GetItemCount(curCreateItem)
|
| | | itemCount -= giveCount
|
| | | ##UserData包含了追加属性不完整,这里需要补齐
|
| | | userDataCreateTime = 0
|
| | | if curPackItem.UserDataLen:
|