From c314c46725f1e5c090d655f1341c11886afb53a9 Mon Sep 17 00:00:00 2001 From: hxp <ale99527@vip.qq.com> Date: 星期二, 29 四月 2025 17:07:25 +0800 Subject: [PATCH] 10367 【越南】【英语】【BT】【砍树】仙盟攻城战-服务端(大本营单次批量捐献大量经验支持连续升级;) --- ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/CrossFamilyGCZ.py | 25 ++++++++++++++----------- 1 files changed, 14 insertions(+), 11 deletions(-) diff --git a/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/CrossFamilyGCZ.py b/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/CrossFamilyGCZ.py index 9f8fc27..58e6e9c 100644 --- a/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/CrossFamilyGCZ.py +++ b/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/CrossFamilyGCZ.py @@ -352,26 +352,29 @@ updCampLV = campLV # 满级了也不限制捐献,让玩家可以继续消耗多余的道具 - campIpyData = IpyGameDataPY.GetIpyGameData("CrossActFamilyGCZCampLV", campLV) - if campIpyData and campIpyData.GetLVUPNeedExp(): - lvupNeedExp = campIpyData.GetLVUPNeedExp() - if updCampExp >= lvupNeedExp and IpyGameDataPY.GetIpyGameDataNotLog("CrossActFamilyGCZCampLV", campLV + 1): - updCampExp -= lvupNeedExp - updCampLV = campLV + 1 - + campIpyData = IpyGameDataPY.GetIpyGameData("CrossActFamilyGCZCampLV", updCampLV) + lvupNeedExp = campIpyData.GetLVUPNeedExp() if campIpyData else 0 + nextIpyData = IpyGameDataPY.GetIpyGameDataNotLog("CrossActFamilyGCZCampLV", updCampLV + 1) + GameWorld.DebugLog("增加大本营经验: familyID=%s,playerID=%s,addCampExp=%s,campLV-Exp=%s-%s,updLV-Exp=%s-%s,lvupNeedExp=%s" + % (self.familyID, playerID, addCampExp, campLV, campExp, updCampLV, updCampExp, lvupNeedExp)) + while lvupNeedExp > 0 and updCampExp >= lvupNeedExp and nextIpyData: + updCampLV += 1 + updCampExp -= lvupNeedExp + campIpyData = IpyGameDataPY.GetIpyGameData("CrossActFamilyGCZCampLV", updCampLV) + lvupNeedExp = campIpyData.GetLVUPNeedExp() if campIpyData else 0 + nextIpyData = IpyGameDataPY.GetIpyGameDataNotLog("CrossActFamilyGCZCampLV", updCampLV + 1) + GameWorld.DebugLog(" 大本营升级: updCampLV=%s,updCampExp=%s,lvupNeedExp=%s" % (updCampLV, updCampExp, lvupNeedExp)) + self.campLV = updCampLV self.campExp = updCampExp self.memAddCampExpInfo[playerID] = self.memAddCampExpInfo.get(playerID, 0) + addCampExp - - GameWorld.DebugLog("增加大本营经验: familyID=%s,playerID=%s,addCampExp=%s,campLV-Exp=%s-%s,updLV-Exp=%s-%s,playerAddExpTotal=%s" - % (self.familyID, playerID, addCampExp, campLV, campExp, updCampLV, updCampExp, self.memAddCampExpInfo[playerID])) # 升级了 defMemIDList = [] # 加经验默认不通知防守成员属性 isLVUP = False if campLV != updCampLV: isLVUP = True - GameWorld.DebugLog("大本营升级了! familyID=%s,campLV=%s to %s" % (self.familyID, campLV, updCampLV)) + GameWorld.DebugLog("大本营等级变更! familyID=%s,campLV=%s to %s" % (self.familyID, campLV, updCampLV)) if self.RefreshFamilyAttr(False): defMemIDList = None # 升级后成功刷成员属性后,额外附带所有防守成员信息,战斗阶段属性是锁定的 -- Gitblit v1.8.0