《饥荒》火山时间错乱及解决办法 海难火山时间错乱怎么办.docx

上传人:牧羊曲112 文档编号:3189263 上传时间:2023-03-11 格式:DOCX 页数:3 大小:37.98KB
返回 下载 相关 举报
《饥荒》火山时间错乱及解决办法 海难火山时间错乱怎么办.docx_第1页
第1页 / 共3页
《饥荒》火山时间错乱及解决办法 海难火山时间错乱怎么办.docx_第2页
第2页 / 共3页
《饥荒》火山时间错乱及解决办法 海难火山时间错乱怎么办.docx_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

《《饥荒》火山时间错乱及解决办法 海难火山时间错乱怎么办.docx》由会员分享,可在线阅读,更多相关《《饥荒》火山时间错乱及解决办法 海难火山时间错乱怎么办.docx(3页珍藏版)》请在三一办公上搜索。

1、饥荒火山时间错乱及解决办法 海难火山时间错乱怎么办 饥荒火山时间错乱及解决办法 海难火山时间错乱怎么办 饥荒中遇到海难火山时间错乱怎么办,对于玩家来说是个棘手的问题,那么小编给大家带来饥荒火山时间错乱及解决办法,一起来看看吧。 首先,如果你的档时间已经乱掉了,那么下面的办法是不能将这个错改回去的。 因为数据破坏已经发生了,你可以使用控制台GetClock.numcycles = 天数 将时间强制重设,注意火山里的时间和外面是分开的,需要在你认为错乱的里面进行改动。 但是这样的话季节百分比之类的也会是错的,需要使用GetSeasonManager.percent_season = 季节内百分比,

2、小数表示,来改回。比如GetSeasonManager.percent_season = 0.5即可设置为当前季节的一半。 类似的,GetSeasonManager.current_season = spring 可以将当前季节设置为春天。 当然还有其他的影响,不过一般来说影响不大。 设置完成后要小退再进一下,否则插件们还会显示旧值。 解决方法 好了,下面是免疫办法(其实是修BUG): 打开dataDLC0002scriptsgamelogic.lua文件,定位到: if travel_direction = ascend or travel_direction = descend then

3、print (Catching up world, catch_up, (, player_age,/,world_age,) ) 改为 if travel_direction = ascend or travel_direction = descend or travel_direction = ascend_volcano or travel_direction = descend_volcano then print (Catching up world, catch_up, (, player_age,/,world_age,) ) 闲话:饥荒的作者在日期设计上有点奇怪=他不是采用统一

4、的时间,而是每个世界(包括洞穴,火山)都有一一个独立的时间,只有当前世界的表会走。这样跳世界的时候时间会不一致。 按理说用跳之前世界的时间盖掉新世界的时间不就简单了吗?可是作者想允许不同世界的时间不一样,所以要用player_age(即玩家年龄)来同步两个世界(ROG和SW跳除外)。(这个设计真的是无力吐槽) 然后呢,当检测到用户是从一个世界跳到另一个世界的时候,它就触发这个同步的代码。跳世界(travel)的方式总共有:ascenddescend(上下洞穴)shipwrecked(跳ROG和SW)ascend_volcanodescend_volcano(进出火山)这几种。 当上下洞穴和进出

5、火山的时候都需要同步时间(跳ROG和SW不需要),所以要在加载世界的时候需要检测下是不是要同步: if travel_direction = ascend or travel_direction = descend then print (Catching up world, catch_up, (, player_age,/,world_age,) ) 所以现在你看出问题来了吗,作者在这里漏掉了volcano_ascend和travel_direction这两条。一旦你在火山里呆的时间超过一天,这个时间就应该要同步,但是由于作者的大意,这个同步永远不可能发生。 然后接下来问题得以扩散,整个世

6、界都会乱掉。 当然了,这个同步错误仅仅会在游戏中跳世界时发生,如果你发现时间不对,退了再读次档也会没问题。(但是我不确定会不会一直没问题) 全新档使用GetClock:OnUpdate模拟时间增长的方法下进出火山多次 测试通过。 补充更正 进一步看了下代码,之前有的地方说得不大对,更正如下: 饥荒累积时间单位是秒,所以在火山里面就算不够一天,出来的时间也会错开。 这个bug的触发条件比较苛刻,因为实际上如果你连着玩,catch_up这个值在GetClock中就会获取到,前面那个大分支都不会进而直接LongUpdate更新时间,这时BUG是不会触发的。但是如果前面发生特殊情况(比方说进出火山的时候崩溃了,就会导致catch_up为nil从而进入那个有问题的分支。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号