From 06eca6807f072bce778fa42f7910ebcc0025a38a Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期三, 24 十月 2018 14:58:09 +0800
Subject: [PATCH] 2111 【主干】GM工具清开服功能异常

---
 ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldProcess.py |   39 ++++++++++++++++++++++-----------------
 1 files changed, 22 insertions(+), 17 deletions(-)

diff --git a/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldProcess.py b/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldProcess.py
index 7f6f5b1..ccddad9 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldProcess.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldProcess.py
@@ -172,6 +172,8 @@
     PlayerGeTui.ClearFMTGeTuiLimit()
     import PlayerBourse
     PlayerBourse.OverTimeItemsDeal()
+    # 仙盟联赛
+    GameWorldFamilyWar.DoOnDay()
     return
 
 def OnDayEx(tick):
@@ -578,7 +580,7 @@
             tjgOnlineCnt += 1
             continue
         
-        platform = GameWorld.GetPlayerPlatform(player.GetAccID())
+        platform = GameWorld.GetPlayerPlatform(player)
         platformOLDict[platform] = platformOLDict.get(platform, 0) + 1 # 累计平台在线人数
         
 #        mapID = player.GetMapID()
@@ -1205,9 +1207,16 @@
 #  @remarks 先请求排行榜信息,然后SetTickTypeCount,设置需要保存的时间种类
 def InitGameWorld(tick):
     #标记GameWorld初始化完成
-    GameWorld.GetGameWorld().SetDict(ChConfig.Def_WorldKey_IsGameWorldInit, 1)
+    GameWorld.GetGameWorld().SetDict(ChConfig.Def_WorldKey_IsGameWorldInit, int(time.time()))
     #初始化游戏时钟
     GameWorld.GetGameWorld().SetTickTypeCount(ChConfig.TYPE_Tick_Count)
+    #初始话开服时间、星期几
+    initOpenServerTime = PlayerDBGSEvent.GetDBGSTrig_ByKey(PlayerDBGSEvent.Def_InitOpenServerTime)
+    openServerWeekday = PlayerDBGSEvent.GetDBGSTrig_ByKey(PlayerDBGSEvent.Def_OpenServerWeekday)
+    if initOpenServerTime <= 0 or openServerWeekday <= 0:
+        #记录首次开发时间(现实时间戳)
+        PlayerDBGSEvent.SetInitOpenServerTime(initOpenServerTime if initOpenServerTime else int(time.time()))
+
     #初始化家族数量
     GameWorld.GetFamilyManager().SetFamilyUpperLimitCount(ChConfig.Def_Family_MaxCnt)
     #排序元宝交易平台
@@ -1225,10 +1234,6 @@
     #事件汇报初始化
     EventReport.InitDllAppID()
     
-    initOpenServerTime = PlayerDBGSEvent.GetDBGSTrig_ByKey(PlayerDBGSEvent.Def_InitOpenServerTime)
-    if initOpenServerTime <= 0:
-        #记录首次开发时间(现实时间戳)
-        PlayerDBGSEvent.SetDBGSTrig_ByKey(PlayerDBGSEvent.Def_InitOpenServerTime, int(time.time()))
     #ReloadModule.RefreshModuleFileCMTime(True)
     #合服首次启动加载处理
     __DoMixServerInit()
@@ -1320,18 +1325,15 @@
     
     PyGameData.g_sortBOSSRefreshList = [] # boss刷新信息记录缓存重置, 不重置会导致通知前端的boss信息为空
     
-    AllMapServerInitOK(tick)
+    PlayerDBGSEvent.SetInitOpenServerTime(setOpenServerTime)
     
-    PlayerDBGSEvent.SetDBGSTrig_ByKey(PlayerDBGSEvent.Def_InitOpenServerTime, setOpenServerTime)
+    ReadChConfig.ReloadConfig()
+    
+    AllMapServerInitOK(tick)
     return
 
-def GetOpenServerWeekday():
-    # 服务器开服时是星期几
-    openServerTime = PlayerDBGSEvent.GetDBGSTrig_ByKey( PlayerDBGSEvent.Def_InitOpenServerTime)
-    if not openServerTime:
-        return 0
-    openDatetime = GameWorld.ChangeTimeNumToDatetime(openServerTime)
-    return openDatetime.weekday() + 1
+## 服务器开服时是星期几
+def GetOpenServerWeekday(): return PlayerDBGSEvent.GetDBGSTrig_ByKey(PlayerDBGSEvent.Def_OpenServerWeekday)
 
 ## 所有地图服务器初始化成功后(封包注册)
 #  @param tick 当前时间
@@ -1371,8 +1373,8 @@
     # 通知开服天数
     openServerDay = PlayerDBGSEvent.GetDBGSTrig_ByKey(PlayerDBGSEvent.Def_ServerDay)
     GameWorld.SendMapServerMsgEx(ShareDefine.Def_Notify_WorldKey_ServerDay, openServerDay)
-    openServerTime = PlayerDBGSEvent.GetDBGSTrig_ByKey(PlayerDBGSEvent.Def_InitOpenServerTime)
-    GameWorld.SendMapServerMsgEx(ShareDefine.Def_Notify_WorldKey_InitOpenServerTime, openServerTime)
+    openServerWeekday = PlayerDBGSEvent.GetDBGSTrig_ByKey(PlayerDBGSEvent.Def_OpenServerWeekday)
+    GameWorld.SendMapServerMsgEx(ShareDefine.Def_Notify_WorldKey_OpenServerWeekday, openServerWeekday)
     # 合服状态
     isMixServer = PlayerDBGSEvent.GetDBGSTrig_ByKey(PlayerDBGSEvent.Def_IsMixServer)
     GameWorld.SendMapServerMsgEx(ShareDefine.Def_Notify_WorldKey_IsMixServer, isMixServer)
@@ -1389,6 +1391,9 @@
     # 通知战盟相关活动开启状态
     fadState = PlayerDBGSEvent.GetDBGSTrig_ByKey(ShareDefine.Def_Notify_WorldKey_FamilyActivityDayState)
     GameWorld.SendMapServerMsgEx(ShareDefine.Def_Notify_WorldKey_FamilyActivityDayState, fadState) 
+    # 通知开启服务器时间
+    initGameWorldTime = GameWorld.GetGameWorld().GetDictByKey(ChConfig.Def_WorldKey_IsGameWorldInit)
+    GameWorld.SendMapServerMsgEx(ShareDefine.Def_Notify_WorldKey_InitGameWorldTime, initGameWorldTime) 
     
     # 通知世界boss奖励信息
     GameWorldBoss.OnMapServerInitOK()

--
Gitblit v1.8.0