From 78eba407c2b7d68096500e9013add9141b13f52c Mon Sep 17 00:00:00 2001 From: hxp <ale99527@vip.qq.com> Date: 星期五, 21 九月 2018 23:37:11 +0800 Subject: [PATCH] 3798 【后端】运营活动时间优化,开服日常限时活动定制时间优化 --- ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerDBGSEvent.py | 25 +++++++++++++++++++++++-- 1 files changed, 23 insertions(+), 2 deletions(-) diff --git a/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerDBGSEvent.py b/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerDBGSEvent.py index 82917dc..a75a629 100644 --- a/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerDBGSEvent.py +++ b/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerDBGSEvent.py @@ -66,6 +66,9 @@ #服务器运行了几天 Def_ServerDay = 'ServerDay' +#开服是周几, 1代表周一 +Def_OpenServerWeekday = 'OpenServerWeekday' + #服务器是否是合服服务器 Def_IsMixServer = 'IsMixServer' @@ -81,9 +84,14 @@ #上次开服天数开启的活动时的时间(Def_ServerDay的值) Def_ServerLastOpenActionDay = "ServerLastOpenActionDay" -#首次开服时间 +#首次开服时间,注意不要用该日期做开服天相关的功能逻辑,如果要用开服天,请用 Def_ServerDay +''' 原因: +因为目前开服天的逻辑大部分是用 Def_ServerDay,当出现服务器宕机超过24小时时,就会导致 Def_ServerDay 与 Def_InitOpenServerTime 不对应 +所以为了功能逻辑和数据的统一性,开服天相关的功能逻辑必须用 Def_ServerDay +Def_InitOpenServerTime 目前仅用于预先设置开服日期用 +''' Def_InitOpenServerTime = 'InitOpenServerTime' -Def_SetOpenServerTime = 'SetOpenServerTime' # 设置的开服时间 +Def_SetOpenServerTime = 'SetOpenServerTime' # GM工具预定的开服时间 #仙盟联赛当前战斗轮次 Def_FamilyWar_Round = 'FamilyWar_Round' @@ -149,6 +157,19 @@ #boss复活活动已复活次数 Def_BossRebornCnt = "BossRebornCnt" +def SetInitOpenServerTime(initTime): + openDatetime = GameWorld.ChangeTimeNumToDatetime(initTime) + openServerWeekday = openDatetime.weekday() + 1 + SetDBGSTrig_ByKey(Def_InitOpenServerTime, initTime) + SetDBGSTrig_ByKey(Def_OpenServerWeekday, openServerWeekday) + GameWorld.Log("设置开服时间: %s(%s), 周%s" % (openDatetime, initTime, openServerWeekday)) + # 需要这个参数主要是GM工具会判断是否有设置过,所以该值一般只有GM命令或工具才能设置 + setOpenServerTime = GetDBGSTrig_ByKey(Def_SetOpenServerTime) + if setOpenServerTime and setOpenServerTime != initTime: + SetDBGSTrig_ByKey(Def_SetOpenServerTime, initTime) + GameWorld.Log(" 同步更新 Def_SetOpenServerTime=%s" % initTime) + return + ## 查找事件 # @param findID 查找的ID # @param key 与ID组合成key -- Gitblit v1.8.0