| | |
| | | import EventReport
|
| | | #import ReloadModule
|
| | | import CrossRealmPK
|
| | | import CrossRealmMsg
|
| | | import CrossRealmPlayer
|
| | | import PlayerFBHelpBattle
|
| | | import PlayerFamilyRedPacket
|
| | | import IpyGameDataPY
|
| | |
| | | PlayerFamilyParty.FamilyParty_Process(tick)
|
| | | # 帮主弹劾时钟调用
|
| | | PlayerFamily.OnLeaderImpeachTick(tick)
|
| | | |
| | | #跨服玩家
|
| | | CrossRealmPlayer.OnCrossProcess(tick)
|
| | | #跨服PK匹配
|
| | | CrossRealmPK.OnPKMatchProcess(tick)
|
| | |
|
| | |
| | | PlayerTeam.DoCountdownLeaveTeamLogic(tick)
|
| | | #副本助战
|
| | | PlayerFBHelpBattle.OnMinuteProcess()
|
| | | #红包
|
| | | PlayerFamilyRedPacket.OnRedPacketMinuteProcess()
|
| | | #每5分钟触发一次仙盟总战力更新
|
| | | if curMinute % 5 == 0:
|
| | | PlayerFamily.UpdFamilyTotalFightPower()
|
| | |
| | | # 所有服务器人数要回报一次, 每个map也要回报一次
|
| | | # gameWorld.GetTickByType(0 - n) 取间隔
|
| | | def DisposeGameActivePlayer(tick):
|
| | | # gameWorld = GameWorld.GetGameWorld()
|
| | | # lastTick = gameWorld.GetTickByType(ChConfig.TYPE_GetActivePlayerCount)
|
| | | # |
| | | # if lastTick == -1:
|
| | | # #GameWorld.Log("未初始化服务器")
|
| | | # return
|
| | | # |
| | | # if tick - lastTick < ChConfig.TYPE_Tick_Time[ChConfig.TYPE_GetActivePlayerCount]:
|
| | | # return
|
| | | # |
| | | # |
| | | # gameWorld.SetTickByType(ChConfig.TYPE_GetActivePlayerCount , tick)
|
| | | |
| | | gameWorld = GameWorld.GetGameWorld() |
| | | curMinute = datetime.datetime.today().minute |
| | | #为了每个服的输出时间点统一一个分钟点,便于统计
|
| | | if datetime.datetime.today().minute % 5 != 0:
|
| | | if curMinute % 5 != 0:
|
| | | return
|
| | | noteData = gameWorld.GetDictByKey("OnlineCntM")
|
| | | if noteData == curMinute:
|
| | | # 同一分钟不多发送,此处不建议用CD处理,避免两CD冲突
|
| | | return
|
| | | gameWorld.SetDict("OnlineCntM", curMinute)
|
| | |
|
| | | # 全服在线人数平台明细
|
| | | platformOLDict = {} # 平台在线人数 {平台:人数, ...}
|
| | |
| | | if initOpenServerTime <= 0 or openServerWeekday <= 0:
|
| | | #记录首次开发时间(现实时间戳)
|
| | | PlayerDBGSEvent.SetInitOpenServerTime(initOpenServerTime if initOpenServerTime else int(time.time()))
|
| | |
|
| | | |
| | | CrossRealmMsg.OnGameServerInitOK()
|
| | | #初始化家族数量
|
| | | GameWorld.GetFamilyManager().SetFamilyUpperLimitCount(ChConfig.Def_Family_MaxCnt)
|
| | | #排序元宝交易平台
|
| | |
| | | ChPlayer.LoadPlayerLVData()
|
| | | #加载助战信息
|
| | | PlayerFBHelpBattle.OnServerStart()
|
| | | #跨服PK
|
| | | CrossRealmPK.OnGameServerInitOK()
|
| | | #世界boss被杀次数重置
|
| | | #GameWorldBoss.CheckResetBossKilledCntOnServerInit()
|
| | | #GameWorldActionTeHui.OnGameServerInitOK() # 特惠活动初始化
|
| | | #子服启动成功告知跨服主服
|
| | | serverGroupID = GameWorld.GetServerGroupID()
|
| | | GameWorld.Log("服务器启动成功: ServerGroupID=%s" % serverGroupID)
|
| | | 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)
|
| | | else:
|
| | | serverGroupID = GameWorld.GetServerGroupID()
|
| | | GameWorld.Log("服务器启动成功: ServerGroupID=%s" % serverGroupID)
|
| | | return
|
| | |
|
| | | def DoCheckNewServerOpen(tick):
|
| | |
| | | # 商店信息
|
| | | #GameWorldShopItem.OnMapServerInitOK()
|
| | |
|
| | | # 跨服服务器状态
|
| | | isCrossServerOpen = GameWorld.GetGameWorld().GetDictByKey(ShareDefine.Def_Notify_WorldKey_CrossServerOpen)
|
| | | GameWorld.SendMapServerMsgEx(ShareDefine.Def_Notify_WorldKey_CrossServerOpen, isCrossServerOpen)
|
| | | |
| | | # 跨服PK
|
| | | CrossRealmPK.OnMapServerInitOK()
|
| | |
|