From 84ede803777ff10b5cbe93b1ec0168af08f55d5e Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期三, 13 一月 2021 18:11:26 +0800
Subject: [PATCH] 8677 【BT】【后端】跨服冲榜活动; 新增跨服活动时间管理模块、跨服榜单;跨服邮件;跨服广播优化;相关GM命令、后台工具;
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/GameWorldProcess.py | 25 +++++++++++++++++--------
1 files changed, 17 insertions(+), 8 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 7731ca7..bfea990 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/GameWorldProcess.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/GameWorldProcess.py
@@ -77,8 +77,7 @@
#调用副本开启触发器
FBLogic.OnOpenFB(tick)
- if gameWorld.GetMapID() in ChConfig.Def_CrossDynamicLineMap:
- GameServer_DynamicLineMapStateChange(gameWorld, IPY_GameWorld.fbosOpen)
+ GameServer_DynamicLineMapStateChange(gameWorld, IPY_GameWorld.fbosOpen)
return
## 副本关闭
@@ -178,14 +177,16 @@
#根据是否收缩型FB处理
FreeOrClearFBByAutoSize(gameWorld)
- if gameWorld.GetMapID() in ChConfig.Def_CrossDynamicLineMap:
- GameServer_DynamicLineMapStateChange(gameWorld, IPY_GameWorld.fbosClosed)
+ GameServer_DynamicLineMapStateChange(gameWorld, IPY_GameWorld.fbosClosed)
gameWorld.SetPropertyID(0)
PyGameData.g_crossPlayerServerGroupIDInfo.pop(copyMapID, None)
return
def GameServer_DynamicLineMapStateChange(gameWorld, state):
+ if gameWorld.GetMapID() not in ChConfig.Def_CrossDynamicLineMap:
+ return
+
realMapID, copyMapID = gameWorld.GetRealMapID(), gameWorld.GetCopyMapID()
if state == IPY_GameWorld.fbosWaitForClose:
crossFuncLineDataCache = FBLogic.OnGetCrossFuncLineDataCache()
@@ -195,6 +196,7 @@
msgInfo = str(msgInfo)
GameWorld.GetPlayerManager().GameServer_QueryPlayerResult(0, 0, 0, "DynamicLineMapStateChange", msgInfo, len(msgInfo))
+ GameWorld.Log("DynamicLineMapStateChange realMapID=%s, copyMapID=%s, PropertyID=%s, state=%s" % (realMapID, copyMapID, gameWorld.GetPropertyID(), state))
return
##根据表中的收缩类型释放或者清空副本状态
@@ -276,6 +278,7 @@
##踢人
__KickAllPlayerAndCloseFB(gameWorld, tick)
+ GameServer_DynamicLineMapStateChange(gameWorld, IPY_GameWorld.fbosClosed)
return
## 副本踢出玩家逻辑
@@ -632,8 +635,7 @@
GameWorld.GetGameWorld().SetCloseFBTick(tick)
gameWorld = GameWorld.GetGameWorld()
- if gameWorld.GetMapID() in ChConfig.Def_CrossDynamicLineMap:
- GameServer_DynamicLineMapStateChange(gameWorld, IPY_GameWorld.fbosWaitForClose)
+ GameServer_DynamicLineMapStateChange(gameWorld, IPY_GameWorld.fbosWaitForClose)
return
## 玩家离开地图时,尝试关闭副本
@@ -659,8 +661,15 @@
def IsNoPlayerNeedCloseFB():
## 副本中无玩家是否需要自动关闭的副本
- return GameWorld.GetMap().GetAutoSize() and GameWorld.GetMap().GetMapID() not in ChConfig.Def_NoPlayerNotCloseAutoSizeMap
-
+ if GameWorld.GetMap().GetAutoSize():
+ if GameWorld.GetMap().GetMapID() in ChConfig.Def_NoPlayerNotCloseAutoSizeMap:
+ return False
+ return True
+ else:
+ if GameWorld.GetMap().GetMapID() in ChConfig.Def_NoPlayerCloseNotAutoSizeMap:
+ return True
+ return False
+
#//08 06 根据国家统计的玩家数目#tagMPlayerCountByCountry
#tagMPlayerCountByCountry * GettagMPlayerCountByCountry();
#
--
Gitblit v1.8.0