《饥荒》海难火山时间错乱怎么办

更新时间:2016/07/30 10:32:32|来源:游民星空|小编:锐雯是一种信仰|12人看过|已有[1]人评论我要评论

饥荒》海难大家是否遇到火山时间错乱了呢?这可是非常让人头疼的,这次就为大家带来了饥荒海难海难火山时间错乱怎么办,告诉大家火山时间错乱及解决办法,被这个问题所困扰的玩家可以学习下,一起来看吧。

《饥荒》海难火山时间错乱怎么办

首先,如果你的档时间已经乱掉了,那么下面的办法是不能将这个错改回去的。

因为数据破坏已经发生了,你可以使用控制台GetClock().numcycles = [天数] 将时间强制重设,注意火山里的时间和外面是分开的,需要在你认为错乱的里面进行改动。

但是这样的话季节百分比之类的也会是错的,需要使用GetSeasonManager().percent_season = [季节内百分比,小数表示],来改回。比如GetSeasonManager().percent_season = 0.5即可设置为当前季节的一半。

类似的,GetSeasonManager().current_season = "spring" 可以将当前季节设置为春天。

当然还有其他的影响,不过一般来说影响不大。

设置完成后要小退再进一下,否则插件们还会显示旧值。

解决方法

好了,下面是免疫办法(其实是修BUG):

打开data\DLC0002\scripts\gamelogic.lua文件,定位到:

if travel_direction == "ascend" or travel_direction == "descend" then

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,")" )

闲话:饥荒的作者在日期设计上有点奇怪==他不是采用统一的时间,而是每个世界(包括洞穴,火山)都有一一个独立的时间,只有当前世界的表会走。这样跳世界的时候时间会不一致。

按理说用跳之前世界的时间盖掉新世界的时间不就简单了吗?可是作者想允许不同世界的时间不一样,所以要用player_age(即玩家年龄)来同步两个世界(ROG和SW跳除外)。(这个设计真的是无力吐槽)

然后呢,当检测到用户是从一个世界跳到另一个世界的时候,它就触发这个同步的代码。跳世界(travel)的方式总共有:"ascend""descend"(上下洞穴)"shipwrecked"(跳ROG和SW)"ascend_volcano""descend_volcano"(进出火山)这几种。

当上下洞穴和进出火山的时候都需要同步时间(跳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"这两条。一旦你在火山里呆的时间超过一天,这个时间就应该要同步,但是由于作者的大意,这个同步永远不可能发生。。。

然后接下来问题得以扩散,整个世界都会乱掉。。。

当然了,这个同步错误仅仅会在游戏中跳世界时发生,如果你发现时间不对,退了再读次档也会没问题。(但是我不确定会不会一直没问题)

全新档使用GetClock():OnUpdate()模拟时间增长的方法下进出火山多次

测试通过。

补充更正

进一步看了下代码,之前有的地方说得不大对,更正如下:

饥荒累积时间单位是秒,所以在火山里面就算不够一天,出来的时间也会错开。

这个bug的触发条件比较苛刻,因为实际上如果你连着玩,catch_up这个值在GetClock()中就会获取到,前面那个大分支都不会进而直接LongUpdate更新时间,这时BUG是不会触发的。但是如果前面发生特殊情况(比方说进出火山的时候崩溃了,就会导致catch_up为nil从而进入那个有问题的分支。

相关阅读

  • 《饥荒》海难地图全开教程

    《饥荒:海难》的地图大小有原版的十倍之多,因此探索成了一件既新奇又麻烦的事儿。如果地图能全开,那么寻找资源什么的就好多了。这里我们来介绍下饥荒海难地图全开,也就是所谓的开全图代码使用方法,有感兴趣的可以参考一下。首先是开启游戏的控制台然后我们要依次输入2条控制台代码,如下,注意大小写、空格、标点什么的必须严格一致,不能有误。minimap=TheSim:Fi…

  • 《饥荒》海滩DLC下载无法显示解决心得分享

    《饥荒》新DLC发布后,玩家们纷纷购买体验。却遇到了无法显示问题,怎么办呢?下面小编带来《饥荒》海滩DLC下载无法显示解决心得分享,一起来看吧。1、关闭steam,再打开就可以了2、或是再买一次就好

  • 《饥荒》DLC海难Steam版安装后不显示解决方法

    《饥荒》安装后不显示DLC怎么办?很多小伙伴表示下载安装DLC后进入游戏不显示DLC今天小编带来“Ldoogs”分享的《饥荒》DLC海难Steam版安装后不显示解决方法,希望对大家有帮助。1、关闭steam,再打开就可以了2、或是再买一次就好

  • 《饥荒》海难存档位置在哪 DLC海难存档位置详解

    《饥荒》海难存档位置在哪?很多玩家表示目前的体验版会有一些存档丢失的BUG,所以大家要及时的备份进度,今天小编带来“Nicho”分享的《饥荒》DLC海难存档位置详解,一起来看吧。和原版以及联机版类似,饥荒海难存档位置也是在用户文档下的Klei文件夹下,也就是C:\Users\XXX(你的用户名)\Documents\Klei中当然,也有时候会是在游戏根目录,…

  • 《饥荒》海难存档位置在哪

    《饥荒》海难存档位置在哪?很多玩家表示目前的体验版会有一些存档丢失的BUG,所以大家要及时的备份进度,今天小编带来“Nicho”分享的《饥荒》DLC海难存档位置详解,一起来看吧。和原版以及联机版类似,饥荒海难存档位置也是在用户文档下的Klei文件夹下,也就是C:\Users\XXX(你的用户名)\Documents\Klei中当然,也有时候会是在游戏根目录,…

  • 《饥荒》海难猴子有什么用

    首先,得获得香蕉,可以拆猴子窝得到香蕉,但是得捡快点,不然香蕉会被抢走。1、把香蕉给猴子,一定时间内他们就不会捡任何东西了。2、喂一些猴子,然后你去攻击没喂香蕉的猴子,假装砍一刀就好,然后猴子们就会相互打起来,场面很是壮观。内讧会刷出香蕉、小肉、便便,而且猴子也会去捡这些东西。3、猴子还可以用去攻击蟹,蟹还不会跑。4、一个香蕉换一个岛的猴子保驾护航,值了。至…

  • 《饥荒》Steam版MOD安装攻略

    《饥荒》Steam版MOD如何安装呢?今天小编带来“tan331”分享的《饥荒》Steam版MOD安装方法,一起来看吧。装MODS方法:C:\ProgramFiles(x86)\Steam\steamapps\common\Don'tStarveTogetherDedicatedServer\mods用notepad++修改上述路径中的"dedica…

  • 《饥荒》DLC海难狗刷新不出解决方法

    《饥荒》DLC海难中有玩家反映狗刷新不出来了,怎么办呢?下面小编带来玩家“咸鱼79523”分享《饥荒》DLC海难狗刷新不出解决方法,一起来看吧。解决方法:打开控制台,然后输入代码GetWorld().components.hounded.timetoattack=60注意大小写,我就是输了几次才注意到W是大写的,这行代码的意思是强制刷一批狗出来,输入后过一会…

饥荒:海难 中文版

饥荒:海难 中文版

  • 游戏版本:
  • 类型:动作冒险AVG
  • 发布大小:488.25MB
  • 游戏语言:中文
  • 操作系统:Vista,winXP,win7,win8
下载游戏 进入专区 攻略 资讯

苹果教程

应用教程

手游常见问题

单机常见问题

补丁