From 8a5cd920235eefda418bba0e949ba522cab72a4c Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期四, 11 八月 2022 16:18:29 +0800
Subject: [PATCH] 9685 【后台】开服时间整合(清档完毕后入库存档)
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/UseItem/Item_Chests.py | 23 +++++++++++++++--------
1 files changed, 15 insertions(+), 8 deletions(-)
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/UseItem/Item_Chests.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/UseItem/Item_Chests.py
index 3e12edf..c8b0ebe 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/UseItem/Item_Chests.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/UseItem/Item_Chests.py
@@ -228,7 +228,7 @@
if not itemData:
GameWorld.ErrLog("宝箱奖励物品不存在! chestsItemID=%s,itemID=%s,jobItemID=%s" % (chestsItemID, itemID, jobItemID))
return
- packType = ChConfig.GetItemPackType(itemData.GetType())
+ packType = ChConfig.GetItemPackType(itemData)
needSpace = int(math.ceil(itemCount / float(itemData.GetPackCount())))
needSpaceDict[packType] = needSpaceDict.get(packType, 0) + needSpace
@@ -399,19 +399,26 @@
# 多条产出记录的,按等级来
lvIpyDataList = []
for ipyData in awardIpyDataList:
- lvIpyDataList.append([ipyData.GetAwardLV(), ipyData])
+ lvIpyDataList.append([ipyData.GetRealmLV(), ipyData.GetAwardLV(), ipyData])
lvIpyDataList.sort() # 升序排序
curLV = curPlayer.GetLV()
- minLV = lvIpyDataList[0][0]
+ curRealmLV = curPlayer.GetOfficialRank()
+ minRealmLV, minLV = lvIpyDataList[0][0], lvIpyDataList[0][1]
if curLV < minLV:
- GameWorld.ErrLog("当前等级无法开启该宝箱!curLV=%s,minLV=%s,chestsItemID=%s" % (curLV, minLV, chestsItemID), curPlayer.GetPlayerID())
+ GameWorld.ErrLog("当前等级无法开启该宝箱!curLV=%s < minLV=%s,chestsItemID=%s" % (curLV, minLV, chestsItemID), curPlayer.GetPlayerID())
+ return
+ if curRealmLV < minRealmLV:
+ GameWorld.ErrLog("当前境界无法开启该宝箱!curRealmLV=%s < minRealmLV=%s,chestsItemID=%s" % (curRealmLV, minRealmLV, chestsItemID), curPlayer.GetPlayerID())
return
for i, lvIpyInfo in enumerate(lvIpyDataList[1:], 1):
- awardLV, ipyData = lvIpyInfo
- if curLV < awardLV:
- awardLV, ipyData = lvIpyDataList[i - 1]
- return ipyData
+ realmLV, awardLV, ipyData = lvIpyInfo
+ if realmLV: # 境界优先,二选一
+ if curRealmLV < realmLV:
+ return lvIpyDataList[i - 1][-1]
+ else:
+ if curLV < awardLV:
+ return lvIpyDataList[i - 1][-1]
return awardIpyDataList[-1]
--
Gitblit v1.8.0