更改星期几以重新加载英雄实例的问题。
总是星期五是04:00。
我正在尝试将配置放入以下行:
Instance.ResetTimeRelativeTimestamp =
其他日期之一:
1552867201 = 18.03.2019 00:01星期一
1552953600 = 19.03.2019 00:00星期二
1553040001 = 20.03.2019 00:01星期三
1552521601 = 14.03.2019 00:00星期四
1552608001 = 15.03.2019 00:01星期五
1552694401 = 16.03.2019 00:01星期六
1552780801 = 17.03.2019 00:01星期日
然后我清除了字符DB中的3个表:
instance_reset
character_instance
实例
启动服务器时-我看到的结果相同-在星期五的4:00重新启动。
问题:如何更改星期几?一定是星期三。
答案 0 :(得分:0)
我实际上已经自己弄清楚了。在深入研究AzerothCore源代码之后,似乎在第一次启动服务器时选择了非常来重置实例的星期几。据我所知,ResetTimeRelativeTimestamp
并不用于确定重置时间。具体来说:
characters
。instance_reset
表中加载实例重置时间instance_reset
表中的条目,则使用以下公式添加条目:
today
(以UTC为单位,四舍五入到最近的日期)+ RaidDuration
(来自mapdifficulty_dbc,在代码中命名为resetTime)+ Instance.ResetTimeHour
(来自worldserver.conf)2020_10_18 14:56:23
,将其转换为UTC,您将得到:2020_10_18 19:56:23
。四舍五入到最近的日期,您会得到UTC 2020_10_18 00:00:00
mapdifficulty_dbc
,则RaidDuration
是604800
秒,即7天。Instance.ResetTimeHour
设置为默认值4
。这将变成4 hours
。resettime = 'UTC 2020_10_18 00:00:00' + 7 days + 4 hours = UTC 2020_10_25 04:00:00
(星期日)。换算回美国中部时间,您将得到2020_10_24 23:00:00 CST
,星期六。实例将在星期六重置previous reset time + RaidDuration
重置其下一次重置时间。instance_reset
表中的实例重置时间修改为所需的星期几。这种方法存在风险,因为它涉及直接在数据库中操纵重置时间戳记我之所以将其深深地埋在答案中,是因为您必须先了解自己在做什么,然后才能开始擦除数据库中的表。小心进行。
characters
。instance_reset
表