From 17bc19e882bb3f91367c390d28f5ea925482199c Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期六, 22 十二月 2018 14:11:13 +0800
Subject: [PATCH] 5424 【后端】【1.4】跨服竞技场开发(排行榜封包)
---
ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldProcess.py | 45 +++++++++++++++++++++++++++++----------------
1 files changed, 29 insertions(+), 16 deletions(-)
diff --git a/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldProcess.py b/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldProcess.py
index 38bea13..4e9df57 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldProcess.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldProcess.py
@@ -86,7 +86,6 @@
#import MergeBroadcast
#import GameWorldMixServerCampaign
#import GameWorldMergeKing
-#import GameWorldMergePK
#import PlayerManorWar
import GameWorldBoss
#import GameWorldActionTeHui
@@ -96,8 +95,10 @@
import ReadChConfig
import EventReport
#import ReloadModule
-import MergeChildMsg
+import CrossRealmMsg
+import CrossRealmPK
#import MergePlayer
+import PlayerFBHelpBattle
import PlayerFamilyRedPacket
import IpyGameDataPY
import PlayerFamilyParty
@@ -129,6 +130,8 @@
#__ClearTreasureDropCount()
#记录当前时间
GameLogInfo.Set_Server_Hour()
+
+ PlayerFamily.FamilyOnHour()
return
## 触发每日事件(参数 -> 当前时间)
@@ -172,6 +175,8 @@
PlayerGeTui.ClearFMTGeTuiLimit()
import PlayerBourse
PlayerBourse.OverTimeItemsDeal()
+ # 仙盟联赛
+ GameWorldFamilyWar.DoOnDay()
return
def OnDayEx(tick):
@@ -293,7 +298,7 @@
#跨服广播
#MergeBroadcast.OnBroadcastProccee(tick)
#跨服PK匹配
- #GameWorldMergePK.OnPKMatchProcess(tick)
+ CrossRealmPK.OnPKMatchProcess(tick)
#跨服王者争霸
#GameWorldMergeKing.OnMergeKingProcess(tick)
@@ -354,7 +359,8 @@
GameWorldAverageLv.OpenWorldAverageLv()
#倒计时离队处理
PlayerTeam.DoCountdownLeaveTeamLogic(tick)
-
+ #副本助战
+ PlayerFBHelpBattle.OnMinuteProcess()
#每5分钟触发一次仙盟总战力更新
if curMinute % 5 == 0:
PlayerFamily.UpdFamilyTotalFightPower()
@@ -1205,7 +1211,7 @@
# @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)
#初始话开服时间、星期几
@@ -1214,6 +1220,7 @@
if initOpenServerTime <= 0 or openServerWeekday <= 0:
#记录首次开发时间(现实时间戳)
PlayerDBGSEvent.SetInitOpenServerTime(initOpenServerTime if initOpenServerTime else int(time.time()))
+
#初始化家族数量
GameWorld.GetFamilyManager().SetFamilyUpperLimitCount(ChConfig.Def_Family_MaxCnt)
#排序元宝交易平台
@@ -1238,19 +1245,19 @@
PlayerXMZZ.OnGameServerInitOK()
#加载活跃玩家等级信息
ChPlayer.LoadPlayerLVData()
+ #加载助战信息
+ PlayerFBHelpBattle.OnServerStart()
#世界boss被杀次数重置
#GameWorldBoss.CheckResetBossKilledCntOnServerInit()
#GameWorldActionTeHui.OnGameServerInitOK() # 特惠活动初始化
#子服启动成功告知跨服主服
- #===========================================================================
- # serverGroupID = GameWorld.GetServerGroupID()
- # if GameWorld.IsMergeOpen() and not GameWorld.IsMergeServer():
- # GameWorld.Log("通知跨服主服务器启动成功, 可接收最新跨服活动状态及数据...")
- # dataMsg = {"Platform":GameWorld.GetPlatform(), "ServerID":GameWorld.GetServerSID(), "ServerGroupID":serverGroupID}
- # MergeChildMsg.SendMergerChildToCenterStringData(ChConfig.Def_ClientServerInitOK, dataMsg)
- #
- # GameWorld.Log("服务器启动成功: ServerGroupID=%s" % serverGroupID)
- #===========================================================================
+ serverGroupID = GameWorld.GetServerGroupID()
+ if GameWorld.IsCrossRealmOpen() and not GameWorld.IsCrossServer():
+ GameWorld.Log("通知跨服主服务器启动成功, 可接收最新跨服活动状态及数据...")
+ dataMsg = {"ServerGroupID":serverGroupID}
+ CrossRealmMsg.SendMsgToCrossServer(ShareDefine.ClientServerMsg_ServerInitOK, dataMsg)
+
+ GameWorld.Log("服务器启动成功: ServerGroupID=%s" % serverGroupID)
return
def DoCheckNewServerOpen(tick):
@@ -1322,9 +1329,11 @@
PyGameData.g_sortBOSSRefreshList = [] # boss刷新信息记录缓存重置, 不重置会导致通知前端的boss信息为空
- AllMapServerInitOK(tick)
-
PlayerDBGSEvent.SetInitOpenServerTime(setOpenServerTime)
+
+ ReadChConfig.ReloadConfig()
+
+ AllMapServerInitOK(tick)
return
## 服务器开服时是星期几
@@ -1386,6 +1395,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()
@@ -1892,6 +1904,7 @@
def BeforeClose(tick):
PlayerTeam.OnServerClose(tick)
ChPlayer.SavePlayerLVData()
+ PlayerFBHelpBattle.OnServerClose()
GameWorld.Log("通知C++关服!")
GameWorld.GetGameWorld().OnServerClose()
--
Gitblit v1.8.0