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,56 @@
# 假仙盟随机编号
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"
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