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