From 8a951e63f3a9df81b288b410d8a3c73b8c1a6d08 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期二, 27 八月 2024 19:00:14 +0800
Subject: [PATCH] 10251 【越南】【砍树】骑宠养成-新增养成战令

---
 ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerDBGSEvent.py |   91 +++++++++++++++++++++++++++++++++++++--------
 1 files changed, 75 insertions(+), 16 deletions(-)

diff --git a/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerDBGSEvent.py b/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerDBGSEvent.py
index cdc822a..980c8fa 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerDBGSEvent.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerDBGSEvent.py
@@ -21,7 +21,6 @@
 # @change: "2012-10-16 17:30" jiang 增加一枚举Def_ResetPlayerBillboard
 # @change: "2012-11-01 15:30" wdb 新增跨服赛淘汰赛(跨服服务器)调用
 # @change: "2012-11-08 14:30" whx 新增跨服调用
-# @change: "2012-11-09 21:00" jiang jiang 增加一枚举Def_ServerLastOpenActionDay
 # @change: "2012-11-21 11:00" wdb 跨服赛报名(上传数据)调整
 # @change: "2012-11-29 11:30" jiang OnDay通知国王服务器开启天数
 # @change: "2012-11-29 13:00" hyx 新增跨服赛事件枚举
@@ -66,6 +65,9 @@
 #服务器运行了几天
 Def_ServerDay = 'ServerDay'
 
+#开服是周几, 1代表周一
+Def_OpenServerWeekday = 'OpenServerWeekday'
+
 #服务器是否是合服服务器
 Def_IsMixServer = 'IsMixServer'
 
@@ -75,20 +77,32 @@
 #服务器合服首次启动OK
 Def_IsMixServerInitOK = 'IsMixServerInitOK'
 
+#开服活动榜单结算版本更新时的开服天,主要用于旧服判断不重复发放奖励
+Def_OSCBillAwardVerDay = 'OSCBillAwardVerDay'
+#开服活动榜单结算状态,按冲榜类型二进制位存储是否已结算
+Def_OSCBillAwardRecord = 'OSCBillAwardRecord'
+
 #上次合服时的开服天数
 Def_LastMixServerDay = 'LastMixServerDay'
 
-#上次开服天数开启的活动时的时间(Def_ServerDay的值)
-Def_ServerLastOpenActionDay = "ServerLastOpenActionDay"
+#上次合服时的世界等级
+Def_LastMixServerWorldLV = 'LastMixServerWorldLV'
 
-#首次开服时间
+#首次开服时间,注意不要用该日期做开服天相关的功能逻辑,如果要用开服天,请用 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'
 #仙盟联赛是否已经处理过总结算
 Def_FamilyWar_AllOver = 'FamilyWar_AllOver'
+#仙盟联赛首轮开始时的世界等级
+Def_FamilyWar_StartWorldLV = 'FamilyWar_StartWorldLV'
 
 #服务器开服自动逻辑处理 年
 Def_Server_Year = 'Def_Server_Year'
@@ -107,22 +121,11 @@
 #服务器开服自动逻辑处理 小时
 Def_Server_Hour = 'Def_Server_Hour'
 
-# 跨服赛开启天数
-Def_MergeServerOpenActionDay = "MergeServerOpenActionDay"
-# 按天数开启活动,国王战标志
-Def_MergeWarStart = "MergeWarStart"
-
-# 上次领地战活动时的开服天数
-Def_LastManorWarServerDay = "LastManorWarServerDay"
-
 # 交易所开关
 Def_BourseState = "BourseState"
 
 # 本服红包产出数
 Def_RedPacketOutput = "RedPacketOutput"
-
-Def_TeHuiRepeatOrderKey = "DA_DayRepeatOrder" # 特惠循环顺序key
-Def_TeHuiRepeatNumKey = "DA_DayRepeatNum" # 今日特惠循环编号
 
 Def_BossRefreshTime = 'BossRefreshTime_%s'  # boss刷新时间, 参数为NPCID
 
@@ -138,12 +141,68 @@
 # 假仙盟随机编号
 Def_FakeFamilyIndex = 'FakeFamilyIndex_%s'  # 参数为第几个假仙盟
 
+# 服务器建盟次数
+Def_ServerCreatFamilyTimes = "CreatFamilyTimes"
+
+#设置跨服运营活动ID的标记
+Def_CrossActID = 'CAID_%s_%s' #参数为(运营活动名, 活动表配置cfgID)
 #设置运营活动ID的标记
 Def_OperationActID = 'OperationActID_%s' #参数为运营活动名
 #运营活动开启时世界等级,参数为运营活动名
 Def_OActWorldLV = "OActWorldLV_%s"
 #boss复活活动当前复活点
 Def_BossRebornPoint = "BossRebornPoint"
+#boss复活活动参数服务器人数
+Def_BRServerPlayerCnt = "BRServerPlayerCnt"
+#boss复活活动已复活次数
+Def_BossRebornCnt = "BossRebornCnt"
+#多仙盟Boss击杀时间
+Def_AllFamilyBossTime = "AllFamilyBossTime"
+#骑宠Boss击杀时间
+Def_HorsePetBossTime = "HorsePetBossTime%s"
+#跨服服务器是否维护中
+Def_CrossServerClose = "CrossServerClose"
+#竞技场开服前定制X天赛季状态  0-未比赛过,1-进行中,>1结算时的开服天
+Def_ArenaOSSeasonState = "ArenaOSSeasonState"
+#竞技场当前赛季开始时的世界等级
+Def_ArenaWorldLV = "ArenaWorldLV"
+#跨服排位争霸赛活动ID
+Def_CrossChampionshipID = "CrossChampionshipID"
+#跨服排位争霸赛活动状态
+Def_CrossChampionshipState = "CrossChampionshipState"
+#跨服排位争霸赛活动状态是否已经异常 - 该活动只能按状态顺序执行,不能跳状态,否则视为活动异常
+Def_CrossChampionshipStateError = "CrossChampionshipStateError"
+#跨服排位争霸赛活动状态异常后续处理状态
+Def_CrossChampionshipErrorDo = "CrossChampionshipErrorDo"
+#boss历练结算状态,参数(actNum),跨服活动参数(zoneID)
+Def_ActBossTrialAward = "ActBossTrialAward_%s"
+#跨服boss历练结算状态,参数(zoneID)
+Def_ActBossTrialAwardC = "ActBossTrialAwardC_%s"
+#仙匣秘境结算状态,参数(actNum),跨服活动参数(zoneID)
+Def_ActXianXiaMJAward = "ActXianXiaMJAward_%s"
+#跨服仙匣秘境结算状态,参数(zoneID)
+Def_ActXianXiaMJAwardC = "ActXianXiaMJAwardC_%s"
+#古宝养成结算状态,参数(actNum),跨服活动参数(zoneID)
+Def_ActGubaoAward = "ActGubaoAward_%s"
+#跨服古宝养成结算状态,参数(zoneID)
+Def_ActGubaoAwardC = "ActGubaoAwardC_%s"
+#骑宠养成结算状态,参数(actNum),跨服活动参数(zoneID)
+Def_ActHorsePetTrainAward = "ActHorsePetTrainAward_%s"
+#跨服骑宠养成结算状态,参数(zoneID)
+Def_ActHorsePetTrainAwardC = "ActHorsePetTrainAwardC_%s"
+
+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

--
Gitblit v1.8.0