From 9b1ecb1121418796bd6f4dde2c6258cc48302e68 Mon Sep 17 00:00:00 2001
From: xdh <xiefantasy@qq.com>
Date: 星期二, 12 二月 2019 15:58:31 +0800
Subject: [PATCH] 5819 【后端】【1.6】运营活动支持对应不同的职业和世界等级(累计充值修改)

---
 ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldProcess.py |   18 +++++++++++++++---
 1 files changed, 15 insertions(+), 3 deletions(-)

diff --git a/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldProcess.py b/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldProcess.py
index 794177d..caec13b 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldProcess.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldProcess.py
@@ -95,6 +95,7 @@
 #import ReloadModule
 import CrossRealmPK
 import CrossRealmMsg
+import CrossRealmPlayer
 import PlayerFBHelpBattle
 import PlayerFamilyRedPacket
 import IpyGameDataPY
@@ -291,7 +292,8 @@
     PlayerFamilyParty.FamilyParty_Process(tick)
     # 帮主弹劾时钟调用
     PlayerFamily.OnLeaderImpeachTick(tick)
-    
+    #跨服玩家
+    CrossRealmPlayer.OnCrossProcess(tick)
     #跨服PK匹配
     CrossRealmPK.OnPKMatchProcess(tick)
     
@@ -355,6 +357,8 @@
     PlayerTeam.DoCountdownLeaveTeamLogic(tick)
     #副本助战
     PlayerFBHelpBattle.OnMinuteProcess()
+    #红包
+    PlayerFamilyRedPacket.OnRedPacketMinuteProcess()
     #每5分钟触发一次仙盟总战力更新
     if curMinute % 5 == 0:
         PlayerFamily.UpdFamilyTotalFightPower()
@@ -1207,7 +1211,6 @@
         #记录首次开发时间(现实时间戳)
         PlayerDBGSEvent.SetInitOpenServerTime(initOpenServerTime if initOpenServerTime else int(time.time()))
         
-    CrossRealmMsg.OnGameServerInitOK()
     #初始化家族数量
     GameWorld.GetFamilyManager().SetFamilyUpperLimitCount(ChConfig.Def_Family_MaxCnt)
     #排序元宝交易平台
@@ -1239,15 +1242,23 @@
     #世界boss被杀次数重置
     #GameWorldBoss.CheckResetBossKilledCntOnServerInit()
     #GameWorldActionTeHui.OnGameServerInitOK() # 特惠活动初始化
+    
+    __Func_HighPrecisionProcess(tick) # 主动触发一次高精度的调用,确保服务器启动后一些功能活动等的数据会被加载
+    
+    GameWorld.Log("=============================== 服务器启动成功 ===================================")
     isCrossServer = GameWorld.IsCrossServer()
     if isCrossServer:
         isServerClose = PlayerDBGSEvent.GetDBGSTrig_ByKey(PlayerDBGSEvent.Def_CrossServerClose)
         isServerOpen = 0 if isServerClose else 1
         GameWorld.GetGameWorld().SetDict(ShareDefine.Def_Notify_WorldKey_CrossServerOpen, isServerOpen)
-        GameWorld.Log("跨服服务器启动成功: isServerOpen=%s" % isServerOpen)
+        GameWorld.Log("跨服服务器启动成功: isServerOpen=%s,crossZoneName=%s" % (isServerOpen, GameWorld.GetCrossZoneName()))
     else:
         serverGroupID = GameWorld.GetServerGroupID()
         GameWorld.Log("服务器启动成功: ServerGroupID=%s" % serverGroupID)
+    GameWorld.GetGameWorld().SetDict(ChConfig.Def_WorldKey_GameWorldInitOK, 1)
+    
+    # 注意:跨服相关信息的调用需放在最后,不然可能导致服务器未启动功能或者功能未加载成功导致跨服服务器与子服之间的数据同步可能出现异常的情况
+    CrossRealmMsg.OnGameServerInitOK()
     return
 
 def DoCheckNewServerOpen(tick):
@@ -1410,6 +1421,7 @@
     # 跨服服务器状态
     isCrossServerOpen = GameWorld.GetGameWorld().GetDictByKey(ShareDefine.Def_Notify_WorldKey_CrossServerOpen)
     GameWorld.SendMapServerMsgEx(ShareDefine.Def_Notify_WorldKey_CrossServerOpen, isCrossServerOpen)
+    GameWorld.SendMapServerMsgEx(ShareDefine.Def_Notify_WorldKey_CrossZoneName, PyGameData.g_crossZoneName)
     
     # 跨服PK
     CrossRealmPK.OnMapServerInitOK()

--
Gitblit v1.8.0