|  |  | 
 |  |  | import datetime
 | 
 |  |  | import PlayerFamily
 | 
 |  |  | import PlayerDBGSEvent
 | 
 |  |  | import GameWorldActionControl
 | 
 |  |  | import PlayerViewCache
 | 
 |  |  | import PlayerFBHelpBattle
 | 
 |  |  | import PlayerFairyDomain
 | 
 |  |  | import ChPyNetSendPack
 | 
 |  |  | import NetPackCommon
 | 
 |  |  | import PlayerManorWar
 | 
 |  |  | import PlayerDuJie
 | 
 |  |  | #---------------------------------------------------------------------
 | 
 |  |  | 
 | 
 |  |  | 
 |  |  | def DoLogic_GameServer_OnHour(tick):
 | 
 |  |  |     #处理这个小时发出的邮件
 | 
 |  |  |     #GameWorld.GetMailManager().ProcessAllMail()
 | 
 |  |  |     PlayerFairyDomain.OnHour()
 | 
 |  |  |     return
 | 
 |  |  | 
 | 
 |  |  | ## 处理玩家每日响应
 | 
 |  |  | 
 |  |  |     if isMixServer:
 | 
 |  |  |         PlayerDBGSEvent.SetDBGSTrig_ServerTime(PlayerDBGSEvent.Def_MixServerDay)
 | 
 |  |  |     
 | 
 |  |  |     #设定上次开启活动时间距离现在天数事件
 | 
 |  |  |     GameWorldActionControl.DoLogic_ServerLastOpenActionDay()
 | 
 |  |  |      | 
 |  |  |     #领地争夺战OnDay
 | 
 |  |  |     #PlayerManorWar.OnDay()
 | 
 |  |  |      | 
 |  |  |     #家族更新
 | 
 |  |  |     PlayerFamily.FamilyOnDay(tick)
 | 
 |  |  |     
 | 
 |  |  |     #合服活动
 | 
 |  |  |     #GameWorldMixServerCampaign.MixServerOnDay()
 | 
 |  |  |     playerManager = GameWorld.GetPlayerManager()
 | 
 |  |  |     for i in xrange(playerManager.GetPlayerCount()):
 | 
 |  |  |         curPlayer = playerManager.GetPlayerByIndex(i)
 | 
 |  |  | 
 |  |  | def DoLogic_GameServer_OnDayEx(tick):
 | 
 |  |  |     #渡劫OnDay
 | 
 |  |  |     PlayerDuJie.OnDayEx()
 | 
 |  |  |      | 
 |  |  |     #副本助战
 | 
 |  |  |     PlayerFBHelpBattle.HelpBattleOnDay()
 | 
 |  |  |     #玩家缓存
 | 
 |  |  |     PlayerViewCache.DoOnDayEx()
 | 
 |  |  |     #缥缈OnDay
 | 
 |  |  |     PlayerFairyDomain.OnDayEx()
 | 
 |  |  |     playerManager = GameWorld.GetPlayerManager()
 | 
 |  |  |     for i in xrange(playerManager.GetPlayerCount()):
 | 
 |  |  |         curPlayer = playerManager.GetPlayerByIndex(i)
 | 
 |  |  | 
 |  |  | #  @remarks 函数详细说明.
 | 
 |  |  | def PlayerOnDay(curPlayer):
 | 
 |  |  |     
 | 
 |  |  |     if GameWorld.IsCrossServer():
 | 
 |  |  |         return
 | 
 |  |  |      | 
 |  |  |     #通知开服天数
 | 
 |  |  |     Sync_OpenServerDay(curPlayer)
 | 
 |  |  |      | 
 |  |  |     #通知上次根据开服天数开启的活动到现在的天数
 | 
 |  |  |     #Sync_ServerLastOpenActionDay(curPlayer)
 | 
 |  |  |      | 
 |  |  |     #通知跨服服务器开启的活动到现在的天数
 | 
 |  |  |     #Sync_MergeServerOpenActionDay(curPlayer)
 | 
 |  |  |     
 | 
 |  |  |     GameWorld.Log("PlayerOnDay!", curPlayer.GetPlayerID())
 | 
 |  |  |     return
 | 
 |  |  | 
 |  |  |     packData.NowSecond = serverTime.second
 | 
 |  |  |     packData.NowMicSecond = serverTime.microsecond
 | 
 |  |  |     NetPackCommon.SendFakePack(curPlayer, packData)
 | 
 |  |  |     return
 | 
 |  |  | 
 | 
 |  |  | 
 | 
 |  |  | ## 通知上次根据开服天数开启的活动到现在的天数
 | 
 |  |  | #  @param curPlayer: 玩家实例
 | 
 |  |  | #  @return: None
 | 
 |  |  | def Sync_ServerLastOpenActionDay(curPlayer):
 | 
 |  |  | #    lastOpenActionDay = PlayerDBGSEvent.GetDBGSTrig_ByKey(PlayerDBGSEvent.Def_ServerLastOpenActionDay)
 | 
 |  |  | #    packData = ChPyNetSendPack.tagServerLastOpenActionDay()
 | 
 |  |  | #    packData.Clear()
 | 
 |  |  | #    packData.Day = lastOpenActionDay
 | 
 |  |  | #    NetPackCommon.SendFakePack(curPlayer, packData)
 | 
 |  |  |     return
 | 
 |  |  | 
 | 
 |  |  | 
 |