From 545986a8fdde345b28cf3004be84c6cfe79a3dc1 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期五, 19 四月 2019 11:29:12 +0800
Subject: [PATCH] 6459 【后端】【2.0】缥缈仙域开发单(跨服分区逻辑优化,支持跨服妖王分区状态同步)

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/GameWorldProcess.py |   19 +++++++++++++++++++
 1 files changed, 19 insertions(+), 0 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/GameWorldProcess.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/GameWorldProcess.py
index 2226a1b..fa0def1 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/GameWorldProcess.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/GameWorldProcess.py
@@ -40,6 +40,7 @@
 import ChConfig
 import PlayerControl
 import FamilyRobBoss
+import NPCCustomRefresh
 import EventShell
 import FBLogic
 import FBCommon
@@ -74,6 +75,10 @@
     
     #调用副本开启触发器
     FBLogic.OnOpenFB(tick)
+    
+    if gameWorld.GetMapID() in ChConfig.Def_CrossDynamicLineMap:
+        msgInfo = str([gameWorld.GetRealMapID(), gameWorld.GetCopyMapID()])
+        GameWorld.GetPlayerManager().GameServer_QueryPlayerResult(0, 0, 0, "DynamicLineMapOpen", msgInfo, len(msgInfo))
     return
 
 ## 副本关闭
@@ -166,6 +171,12 @@
     #根据是否收缩型FB处理
     FreeOrClearFBByAutoSize(gameWorld)
     
+    if gameWorld.GetMapID() in ChConfig.Def_CrossDynamicLineMap:
+        realMapID, copyMapID = gameWorld.GetRealMapID(), gameWorld.GetCopyMapID()
+        key = (mapID, copyMapID)
+        funcLineDataCache = PyGameData.g_crossFuncLineDataCache.pop(key, None)
+        msgInfo = str([realMapID, copyMapID, funcLineDataCache])
+        GameWorld.GetPlayerManager().GameServer_QueryPlayerResult(0, 0, 0, "DynamicLineMapClose", msgInfo, len(msgInfo))
     return
 
 ##根据表中的收缩类型释放或者清空副本状态
@@ -520,6 +531,9 @@
     
     #仙盟归属boss定时处理
     FamilyRobBoss.OnFamilyOwnerBossProcess(tick)
+    
+    #地图自定义随机刷怪
+    NPCCustomRefresh.ProcessMapRandomRefreshNPC(gameWorld, tick)
     return
 
 ## 通知RouteServer 消息
@@ -584,6 +598,11 @@
     if GameWorld.GetMap().GetMapFBType() == IPY_GameWorld.fbtNull:
         msgInfo = str([gameWorld.GetMapID(), gameWorld.GetLineID(), gameWorld.GetRealMapID(), gameWorld.GetCopyMapID()])
         GameWorld.GetPlayerManager().GameServer_QueryPlayerResult(0, 0, 0, "CommMapServerInitOK", msgInfo, len(msgInfo))
+        
+    if gameWorld.GetMapID() in ChConfig.Def_CrossDynamicLineMap and gameWorld.GetCopyMapID() == gameWorld.GetGameWorldCount() - 1:
+        msgInfo = str([gameWorld.GetRealMapID(), gameWorld.GetGameWorldCount()])
+        GameWorld.GetPlayerManager().GameServer_QueryPlayerResult(0, 0, 0, "DynamicLineMapInitOK", msgInfo, len(msgInfo))
+        
     return
 
 

--
Gitblit v1.8.0