From d7415e1acc3cfaae895597d889bf4f5d56d85ad0 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期一, 31 七月 2023 16:34:55 +0800
Subject: [PATCH] 9788 【BT9】【后端】成就系统(新增成就类型164~175)
---
ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldProcess.py | 28 ++++++++++++++++++++++++++++
1 files changed, 28 insertions(+), 0 deletions(-)
diff --git a/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldProcess.py b/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldProcess.py
index 1840357..59dfaa4 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldProcess.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldProcess.py
@@ -110,6 +110,7 @@
import PyDataManager
import GameWorldOpenServerCampaign
import CrossBillboard
+import CrossChampionship
#---------------------------------------------------------------------
#---------------------------------------------------------------------
@@ -357,6 +358,7 @@
def GameWorldProcessOnMinute(curMinute, tick):
# 每整分钟触发一次
+ CheckServerHasPlayerLoginAfterInitOK()
#检查服务器正式开服
DoCheckNewServerOpen(tick)
#回报数据库当前在线玩家数
@@ -368,6 +370,8 @@
GameWorldActionControl.Dispose_FBStateTime()
#跨服PK
CrossRealmPK.OnMinuteProcess()
+ #跨服排位
+ CrossChampionship.OnMinuteProcess(curMinute)
CrossBattlefield.OnMinuteProcess()
#处理重开服务器后, 活动继续开启逻辑根据天数
#GameWorldActionControl.Dispose_Action_GoOn_ByDay(tick)
@@ -384,6 +388,24 @@
PlayerFamily.UpdFamilyTotalFightPower()
PlayerFamilyRedPacket.CheckDelRedpacketData()
+ return
+
+def CheckServerHasPlayerLoginAfterInitOK():
+ ## 检查服务器启动成功后是否有玩家正常登录
+ initGameWorldTime = GameWorld.GetGameWorld().GetDictByKey(ChConfig.Def_WorldKey_IsGameWorldInit)
+ if not initGameWorldTime:
+ return
+
+ if PyGameData.g_noPlayerLoginWarningMailState:
+ return
+
+ curTime = int(time.time())
+ noPlayerLoginWarningTimes = IpyGameDataPY.GetFuncCfg("ServerEvent", 1) * 60 # x分钟没有玩家登录则预警
+ if curTime - initGameWorldTime < noPlayerLoginWarningTimes:
+ return
+
+ GameWorld.SendGameError("NoPlayerLogin")
+ PyGameData.g_noPlayerLoginWarningMailState = 1
return
def OnReloadConfig():
@@ -1267,6 +1289,8 @@
GameWorldArena.OnServerStart()
#跨服PK
CrossRealmPK.OnGameServerInitOK()
+ #跨服排位
+ CrossChampionship.OnServerStart()
#跨服战场
CrossBattlefield.OnServerStart()
#红包
@@ -1379,6 +1403,9 @@
ReadChConfig.ReloadConfig()
AllMapServerInitOK(tick)
+
+ GameWorld.GetGameWorld().SaveGameServerData()
+ GameWorld.SendGameError("ClearOpenServerOK")
return
## 服务器开服时是星期几
@@ -1978,6 +2005,7 @@
ChPlayer.SavePlayerLVData()
PlayerFBHelpBattle.OnServerClose()
CrossActionControl.OnServerClose()
+ CrossChampionship.OnServerClose()
CrossBattlefield.OnServerClose()
PlayerFamilyRedPacket.OnServerClose()
CrossLuckyCloudBuy.OnServerClose()
--
Gitblit v1.8.0