From 3432541b467d53ffe4ed3872c734e76638e30df8 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期五, 24 十月 2025 17:58:12 +0800
Subject: [PATCH] 302 【公会】BOSS讨伐-服务端
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/OpenFunc.py | 22 +++++++++++++++++-----
1 files changed, 17 insertions(+), 5 deletions(-)
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/OpenFunc.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/OpenFunc.py
index dd9af87..8cb4ac3 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/OpenFunc.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/OpenFunc.py
@@ -95,25 +95,37 @@
GameWorld.DebugLog("GM处理等级开启功能: openFuncID=%s,openFuncIDList=%s,needLV=%s" % (openFuncID, openFuncIDList, needLV), curPlayer.GetPlayerID())
# 优先处理升级
- if needLV:
+ if needLV > 1:
preLV = needLV - 1
curPlayer.SetLV(preLV)
PlayerControl.SetPlayerTotalExp(curPlayer, PlayerControl.GetTotalExpByPlayerLv(preLV))
PlayerControl.PlayerControl(curPlayer).PlayerLvUp()
-
+
+ # 获取等级需要的境界
+ ipyDataMgr = IpyGameDataPY.IPY_Data()
+ for index in range(ipyDataMgr.GetRealmCount()):
+ realmIpyData = ipyDataMgr.GetRealmByIndex(index)
+ if realmIpyData.GetLv() > needRealmLV:
+ needRealmLV = realmIpyData.GetLv()
+ if realmIpyData.GetLVMax() >= needLV:
+ break
+
GameWorld.DebugLog("GM处理境界开启功能: needRealmLV=%s" % needRealmLV, curPlayer.GetPlayerID())
if needRealmLV:
curPlayer.SetOfficialRank(max(ChConfig.Def_InitOfficialRank, needRealmLV - 1))
PlayerPrestigeSys.DoRealmLVUpLogic(curPlayer)
+ for limitMissionID in needMissionIDList:
+ if not curPlayer.NomalDictGetProperty(ChConfig.Def_Player_Dict_MissionFinish % limitMissionID):
+ PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_Player_Dict_MissionFinish % limitMissionID, 1)
+
GameWorld.DebugLog("GM处理任务开启功能: needMissionIDList=%s" % needMissionIDList, curPlayer.GetPlayerID())
#最后强制触发一次
- #if needMissionIDList:
- GameFuncComm.DoFuncOpenLogic(curPlayer, needMissionIDList)
+ GameFuncComm.DoFuncOpenLogic(curPlayer)
return
def __GetOpenFuncLimit(curPlayer, openFuncIDList):
- maxLV = PlayerControl.GetPlayerMaxLV(curPlayer)
+ maxLV = PlayerControl.GetOpenMaxLV()
needLV = 0
needRealmLV = 0
needMissionIDList = []
--
Gitblit v1.8.0