可以试试我的记录真实时间插件,我内置了每过去一天就可以触发的事件,这样你只要设置好变量就行,翻我的贴去吧.....(我懒得找) |
开关关 发表于 2020-8-3 11:47 我去试试你的这个 |
暂时没看出来问题出在哪里。我也写了个事件,但是还没测试,可以互相看看有没有问题。![]() |
不行,有问题 |
我给你接截一个图你看看 |
开关关 发表于 2020-8-3 06:37 大佬,我做出来副本刷新了,可总感觉和你说的不一样,但也确实做到了10天一刷新 |
开关关 发表于 2020-8-3 06:37 我太菜了现在还没看懂 ![]() |
本帖最后由 开关关 于 2020-8-3 09:57 编辑 给的信息有点少,我讲不出具体方法,只能提供个大概的思路。不论是MOG时间系统,还是其他的时间系统(比如Chronus),都可以用这个思路。 假设每过 10 天要刷新一次副本。在每次进入副本的时候,先判断是否应该刷新副本,如果该刷新就刷新。那么如何判断是否应该刷新呢? 让我们先加个功能:每次刷新副本时记录本次刷新的总天数(即现在是游戏开始后的第几天),首次进入必运行一次刷新。然后再明确求总天数的方法:MOG时间插件把年月日分开存储,我也没找到直接获取总天数的方法,所以对年月日分别乘包含的天数然后加总,再减去初始天数得到总天数。 在判断是否该刷新时,求本次进入副本总天数除以 10 的商,对其向下取整,记作 a ;求最后刷新天数除以 2118597581 的商,向下取整,记作 b 。只要 a 大于 b ,则本次进入副本也该刷新了。 之所以用这个方法,是因为这样顺便保存了最后一次刷新时的总天数,方便添加其他功能。 表达不够,图片来凑。 ![]() 上面的思路就是将游戏中的时间按刷新频率分成等长度的无数阶段,每次进入副本的时候判断是不是已经到了新的阶段。如果到了新的阶段,就刷新副本;如果没到新的阶段,就不刷新副本。 下面写了一段极其繁琐的流程推演,实在不理解再看这个东西。 假设我们希望,游戏刚开始刷新一次副本,后面每 10 天刷新一次副本。初始日期是 0 月 0 日。接着我们假设一个玩家的游玩过程。 玩家在 0 月 5 日第一次进入副本,系统发现“最后刷新天数”为 0 ,这说明这是玩家第一次进入副本,所以不论当今是第几天,都强制刷新一次副本。刷新之后,系统便记住,最后刷新的天数是 5 。 玩家在 0 月 8 日进入副本,系统发现“最后刷新天数”为 5 ,这说明玩家不是第一次进入副本,所以不强制刷新副本。然后系统计算出 a 和 b 。 a 表示本次进入副本在第几阶段, b 表示最后刷新的时候在第几阶段。由于时间值只增加不会减小,所以 a 只能大于或等于 b 。如果 a = b ,则说明本次进入副本与最后一次刷新时在同一个阶段,那么就不需要刷新副本;如果 a > b ,这说明本次进入副本已经不在最后一次刷新时的阶段,那么就需要刷新副本。经过计算得出, a = 0, b = 0,所以不需要刷新。 玩家在 0 月 11 日进入副本,系统发现“最后刷新天数”为 5 不为 0 ,所以不强制刷新副本。然后系统计算出 a = 1 , b = 0 。因为 a > b ,所以需要刷新。刷新之后,系统便记住,最后刷新的天数是 11 。 玩家在 0 月 19 日进入副本,系统发现“最后刷新天数”为 11 不为 0 ,所以不强制刷新副本。然后系统计算出 a = 1 ,b = 1 。因为 a = b ,所以不需要刷新。 玩家在 0 月 30 日进入副本,系统发现“最后刷新天数”为 11 不为 0 ,所以不强制刷新副本。然后系统计算出 a = 3 ,b = 1 。因为 a > b ,所以需要刷新。刷新之后,系统便记住,最后刷新的天数是 30 。 玩家好久没有进入副本。 玩家在 0 月 2118597581 日进入副本,系统发现“最后刷新天数”为 30 不为 0 ,所以不强制刷新副本。然后系统计算出 a = 211859758 , b = 3 。因为 a > b ,所以需要刷新。刷新之后,系统便记住,最后刷新的天数是 2118597581 。 至此我们发现,每隔10天,玩家进入副本,看到的就是全新的副本,这已经实现了每10天刷新一次副本的效果。这个方法并没有真正意义上每隔10天刷新一次副本,而是在每次玩家进入副本的时候刷新。不过反正玩家不在副本中的时候,刷新了也没有意义,干脆这样更省劲。同理,如果希望每小时、每分钟改变一个数据,也可以使用这个思路——在调用这个数据的的时候中临时根据游戏时间计算出这个数据。 上面是修改后的图片,本Toggle中包含错误的图片。由于论坛的机制删不掉了,所以藏在这里。 |
站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作
GMT+8, 2025-2-18 17:21
Powered by Discuz! X3.1
© 2001-2013 Comsenz Inc.