From 11c9a3b5846401523e4dafc17f2a074a712730da Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期三, 11 三月 2026 18:27:10 +0800
Subject: [PATCH] 526 【挑战】PVP群英榜-后端(本服群英榜;优化机器人表支持按功能加载不同的机器人;)

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBLogic.py |   53 ++++++++++++++++++++++++-----------------------------
 1 files changed, 24 insertions(+), 29 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBLogic.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBLogic.py
index d62bc5b..bcc222c 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBLogic.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBLogic.py
@@ -993,37 +993,32 @@
         PlayerControl.PlayerLeaveFB(curPlayer)
     return
 
-## 副本每周逻辑
-#  @param tick 当前时间
-#  @return None or False
-#  @remarks 函数详细说明.
-def OnWeek(tick):
-    do_FBLogic_ID = __GetFBLogic_MapID(GameWorld.GetMap().GetMapID())
-    
-    callFunc = GameWorld.GetExecFunc(FBProcess, "GameLogic_%s.%s" % (do_FBLogic_ID, "OnWeek"))
-    
-    if callFunc == None:
-        return False
-    
-    #执行副本逻辑
-    callFunc(tick)
+def OnWeek():
+    for key, mapIDList in ChConfig.Def_FB_MapID.items():
+        if not mapIDList:
+            continue
+        callFunc = GameWorld.GetExecFunc(FBProcess, "GameLogic_%s.%s" % (key, "OnWeek"))
+        if callFunc:
+            callFunc()
     return
 
-## 副本每日逻辑
-#  @param tick 当前时间
-#  @return None or False
-#  @remarks 函数详细说明.
-def OnDay(tick):
-    do_FBLogic_ID = __GetFBLogic_MapID(GameWorld.GetMap().GetMapID())
-    
-    callFunc = GameWorld.GetExecFunc(FBProcess, "GameLogic_%s.%s" % (do_FBLogic_ID, "OnDay"))
-    
-    if callFunc == None:
-        #GameWorld.Log("副本逻辑不可使用   GameLogic_%d"%(mapID))
-        return False
-    
-    #执行副本逻辑
-    callFunc(tick)
+def OnDay():
+    for key, mapIDList in ChConfig.Def_FB_MapID.items():
+        if not mapIDList:
+            continue
+        callFunc = GameWorld.GetExecFunc(FBProcess, "GameLogic_%s.%s" % (key, "OnDay"))
+        if callFunc:
+            callFunc()
+    return
+
+## 副本每周逻辑-玩家, 不管玩家是否在该副本地图中都会触发
+def OnFBPlayerOnWeek(curPlayer, onWeekType):    
+    for key, mapIDList in ChConfig.Def_FB_MapID.items():
+        if not mapIDList:
+            continue
+        callFunc = GameWorld.GetExecFunc(FBProcess, "GameLogic_%s.%s" % (key, "OnFBPlayerOnWeek"))
+        if callFunc:
+            callFunc(curPlayer)
     return
 
 ## 副本每日逻辑-玩家, 不管玩家是否在该副本地图中都会触发

--
Gitblit v1.8.0