From c27a8dc916fd7a2033062c6c77dd45a1ecd77aae Mon Sep 17 00:00:00 2001 From: xdh <xiefantasy@qq.com> Date: 星期一, 14 一月 2019 13:58:19 +0800 Subject: [PATCH] 2867 【1.5】进入聚魂副本后,下线,半小时后上线发送一封没有物品的聚魂满背包邮件 --- ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_GatherSoul.py | 46 ++++++++++++++++++++++++---------------------- 1 files changed, 24 insertions(+), 22 deletions(-) diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_GatherSoul.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_GatherSoul.py index 7a8ecac..8c624ad 100644 --- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_GatherSoul.py +++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_GatherSoul.py @@ -571,32 +571,34 @@ curPlayer = FBCommon.GetCurSingleFBPlayer() if not curPlayer: #奖励直接发邮件 - PlayerControl.SendMailByKey('JHBagFull2', [ownerID], totalItemList) + if totalItemList: + PlayerControl.SendMailByKey('JHBagFull2', [ownerID], totalItemList) GameWorldProcess.CloseFB(tick) return - 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: + if totalItemList: + needPackSpaceDict = {} for itemID, itemCnt, isBind in totalItemList: - ItemControler.GivePlayerItem(curPlayer, itemID, itemCnt, isBind, [], - event=["GatherSoulFB", False, {}]) + 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, [], + event=["GatherSoulFB", False, {}]) fbCfg = GetGatherSoulFBCfg() costTime = tick - GameWorld.GetGameWorld().GetOpenFBTick() -- Gitblit v1.8.0