| | |
| | |
|
| | | GameWorldProcess.CloseFB(tick)
|
| | | return
|
| | | needSpace = len(totalItemList)
|
| | | emptySpace = ItemCommon.GetItemPackSpace(curPlayer, ShareDefine.rptGatherSoul, needSpace)
|
| | | isSendMail = int(needSpace > emptySpace) # 是否发送邮件
|
| | | needPackSpaceDict = {}
|
| | | for itemID, itemCnt, isBind in totalItemList:
|
| | | curItem = GameWorld.GetGameData().GetItemByTypeID(itemID)
|
| | | if not curItem:
|
| | | return
|
| | | packType = ChConfig.GetItemPackType(curItem.GetType())
|
| | | needSpace = ItemControler.GetItemNeedPackCount(packType, curItem, itemCnt)
|
| | | needPackSpaceDict[packType] = needPackSpaceDict.get(packType, 0) + needSpace
|
| | | |
| | | isSendMail = False #是否背包不足
|
| | | for packType, needSpace in needPackSpaceDict.items():
|
| | | if needSpace > ItemCommon.GetItemPackSpace(curPlayer, packType, needSpace):
|
| | | isSendMail = True
|
| | | break
|
| | |
|
| | | if isSendMail:
|
| | | PlayerControl.SendMailByKey('JHBagFull2', [curPlayer.GetPlayerID()], totalItemList)
|
| | | GameWorld.DebugLog("背包空间不够,发送邮件: mailItemList=%s" % str(totalItemList), curPlayer.GetPlayerID())
|
| | | else:
|
| | | for itemID, itemCnt, isBind in totalItemList:
|
| | | ItemControler.GivePlayerItem(curPlayer, itemID, itemCnt, isBind, [ShareDefine.rptGatherSoul],
|
| | | ItemControler.GivePlayerItem(curPlayer, itemID, itemCnt, isBind, [],
|
| | | event=["GatherSoulFB", False, {}])
|
| | |
|
| | | fbCfg = GetGatherSoulFBCfg()
|