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