|  |  | 
 |  |  | #import ReloadModule
 | 
 |  |  | import MergeChildMsg
 | 
 |  |  | #import MergePlayer
 | 
 |  |  | import PlayerFBHelpBattle
 | 
 |  |  | import PlayerFamilyRedPacket
 | 
 |  |  | import IpyGameDataPY
 | 
 |  |  | import PlayerFamilyParty
 | 
 |  |  | 
 |  |  |     #__ClearTreasureDropCount()
 | 
 |  |  |     #记录当前时间
 | 
 |  |  |     GameLogInfo.Set_Server_Hour()
 | 
 |  |  |      | 
 |  |  |     PlayerFamily.FamilyOnHour()
 | 
 |  |  |     return
 | 
 |  |  | 
 | 
 |  |  | ## 触发每日事件(参数 -> 当前时间)
 | 
 |  |  | 
 |  |  |     #GameWorld.SendMapServerMsgEx(ShareDefine.Def_Notify_WorldKey_ServerDay, openServerDay)
 | 
 |  |  |     #清理过期补偿
 | 
 |  |  |     PlayerCompensation.ClearUpTimeOutCompensation()
 | 
 |  |  |     PlayerGeTui.ClearFMTGeTuiLimit()
 | 
 |  |  |     import PlayerBourse
 | 
 |  |  |     PlayerBourse.OverTimeItemsDeal()
 | 
 |  |  |     # 仙盟联赛
 | 
 |  |  |     GameWorldFamilyWar.DoOnDay()
 | 
 |  |  |     return
 | 
 |  |  | 
 | 
 |  |  | def OnDayEx(tick):
 | 
 |  |  | 
 |  |  |     GameWorldAverageLv.OpenWorldAverageLv()
 | 
 |  |  |     #倒计时离队处理
 | 
 |  |  |     PlayerTeam.DoCountdownLeaveTeamLogic(tick)
 | 
 |  |  |      | 
 |  |  |     #副本助战
 | 
 |  |  |     PlayerFBHelpBattle.OnMinuteProcess()
 | 
 |  |  |     #每5分钟触发一次仙盟总战力更新
 | 
 |  |  |     if curMinute % 5 == 0:
 | 
 |  |  |         PlayerFamily.UpdFamilyTotalFightPower()
 | 
 |  |  | 
 |  |  |             tjgOnlineCnt += 1
 | 
 |  |  |             continue
 | 
 |  |  |         
 | 
 |  |  |         platform = GameWorld.GetPlayerPlatform(player.GetAccID())
 | 
 |  |  |         platform = GameWorld.GetPlayerPlatform(player)
 | 
 |  |  |         platformOLDict[platform] = platformOLDict.get(platform, 0) + 1 # 累计平台在线人数
 | 
 |  |  |         
 | 
 |  |  | #        mapID = player.GetMapID()
 | 
 |  |  | 
 |  |  | #  @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)
 | 
 |  |  |     #排序元宝交易平台
 | 
 |  |  | 
 |  |  |     #事件汇报初始化
 | 
 |  |  |     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()
 | 
 |  |  | 
 |  |  |     PlayerXMZZ.OnGameServerInitOK()
 | 
 |  |  |     #加载活跃玩家等级信息
 | 
 |  |  |     ChPlayer.LoadPlayerLVData()
 | 
 |  |  |     #加载助战信息
 | 
 |  |  |     PlayerFBHelpBattle.OnServerStart()
 | 
 |  |  |     #世界boss被杀次数重置
 | 
 |  |  |     #GameWorldBoss.CheckResetBossKilledCntOnServerInit()
 | 
 |  |  |     #GameWorldActionTeHui.OnGameServerInitOK() # 特惠活动初始化
 | 
 |  |  | 
 |  |  |     
 | 
 |  |  |     PyGameData.g_sortBOSSRefreshList = [] # boss刷新信息记录缓存重置, 不重置会导致通知前端的boss信息为空
 | 
 |  |  |     
 | 
 |  |  |     AllMapServerInitOK(tick)
 | 
 |  |  |     PlayerDBGSEvent.SetInitOpenServerTime(setOpenServerTime)
 | 
 |  |  |     
 | 
 |  |  |     PlayerDBGSEvent.SetDBGSTrig_ByKey(PlayerDBGSEvent.Def_InitOpenServerTime, setOpenServerTime)
 | 
 |  |  |     ReadChConfig.ReloadConfig()
 | 
 |  |  |      | 
 |  |  |     AllMapServerInitOK(tick)
 | 
 |  |  |     return
 | 
 |  |  | 
 | 
 |  |  | ## 服务器开服时是星期几
 | 
 |  |  | def GetOpenServerWeekday(): return PlayerDBGSEvent.GetDBGSTrig_ByKey(PlayerDBGSEvent.Def_OpenServerWeekday)
 | 
 |  |  | 
 | 
 |  |  | ## 所有地图服务器初始化成功后(封包注册)
 | 
 |  |  | #  @param tick 当前时间
 | 
 |  |  | 
 |  |  |     # 通知开服天数
 | 
 |  |  |     openServerDay = PlayerDBGSEvent.GetDBGSTrig_ByKey(PlayerDBGSEvent.Def_ServerDay)
 | 
 |  |  |     GameWorld.SendMapServerMsgEx(ShareDefine.Def_Notify_WorldKey_ServerDay, openServerDay)
 | 
 |  |  |     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)
 | 
 |  |  | 
 |  |  |     # 通知战盟相关活动开启状态
 | 
 |  |  |     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()
 | 
 |  |  | 
 |  |  | def BeforeClose(tick):
 | 
 |  |  |     PlayerTeam.OnServerClose(tick)
 | 
 |  |  |     ChPlayer.SavePlayerLVData()
 | 
 |  |  |     PlayerFBHelpBattle.OnServerClose()
 | 
 |  |  |     GameWorld.Log("通知C++关服!")
 | 
 |  |  |     GameWorld.GetGameWorld().OnServerClose()
 | 
 |  |  |     
 |