饥荒:海难
饥荒:海难
平台PCPS4
发售时间PC 2015-12-01+1
时长376小时(主线)
类型冒险游戏
制作发行Klei Entertainment,Capybara Games/Klei Entertainment / Klei Entertainment,Capybara Games/Klei Entertainment
标签独立游戏冒险游戏

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

类型:攻略发布日期:2016-07-29来源:饥荒游戏吧作者:Aegisys🏷 饥荒 / 饥荒:海难 / 海难 / 攻略

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

游民星空

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

  因为数据破坏已经发生了,你可以使用控制台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从而进入那个有问题的分支。

《饥荒》联机版精华文章推荐
本文内容来自网络收集整理,版权归原作者所有。 · 所属游戏:饥荒:海难
← 返回 饥荒:海难 攻略列表

同游戏其他攻略共 394 篇

《饥荒》海难首年生存攻略及季节解析攻略2016-11-04《饥荒》海难基地建设布局图文解析 饥荒海难怎么建家好攻略2016-11-01《饥荒》海难船属性修改方法 怎么修改船属性攻略2016-10-19《饥荒》海难船长玩法生存视频攻略 海盗船长玩法解说视频攻略2016-10-18《饥荒》海难大型豪华基地布局鉴赏 饥荒海难养殖型基地布局分享攻略2016-10-15《饥荒》饥荒海难怎么提高拖网格子 饥荒海难修改拖网属性方法攻略2016-10-15《饥荒》海难火山期躲避方法教学 怎么躲避火山期攻略2016-10-15《饥荒》海难实用生存技巧图文解析 跳出代码怎么办攻略2016-10-03《饥荒》海难新手实况生存解说视频 海难怎么生存攻略2016-10-02《饥荒》海难大厨沃利生存玩法图文攻略 大厨沃利怎么用攻略2016-09-29《饥荒》海难百天生存攻略 饥荒海难怎么活到100天攻略2016-09-27《饥荒》海难猴王(威尔伯)玩法生存解说视频攻略 饥荒海难猴王怎么玩攻略2016-09-13《饥荒》海难大厨沃利玩法生存解说视频 饥荒海难沃利怎么玩攻略2016-09-10《饥荒》海难无伤击杀鲸鱼视频攻略 饥荒海难鲸鱼怎么打攻略2016-09-08《饥荒》海难生存向大型基地建设教学 饥荒海难大型基地怎么做攻略2016-08-31《饥荒》海难实用井字形基地建设视频教学 井字型基地建造攻略攻略2016-08-31《饥荒》海难机器人生存玩法解说视频攻略 饥荒海难机器人生存视频攻略2016-08-31《饥荒》海难刷肉机制作及原理图文详解 饥荒海难刷肉机怎么做攻略2016-08-26《饥荒》海难食谱物品合成及怪物打法攻略 饥荒新手攻略攻略2016-08-24《饥荒》海难永夜永夏玩法解说视频攻略 海难永夜怎玩攻略2016-08-07《饥荒》海难海盗船长生存玩法图文解析 海难船长怎么玩攻略2016-08-03《饥荒》海难全季节时间变化表一览 天数及白天夜晚时间表攻略2016-07-27《饥荒》海难刷肉机制作视频教程 海难刷肉机怎么做攻略2016-07-26《饥荒》海难荷花公主MOD玩法视频攻略 荷花公主怎么玩攻略2016-07-23《饥荒》海难怪物主动互相攻击特性及仇恨值解析攻略2016-07-20《饥荒》海难实用料理制作方法及属性解析 海难实用料理推荐攻略2016-07-19《饥荒》海难必备MOD推荐及新手视频教学 海难新手攻略攻略2016-07-19《饥荒》海难精灵公主建家及玩法图文详解 海难精灵公主怎么玩攻略2016-07-17《饥荒》海难食谱大全及推荐做法一览 海难食谱攻略攻略2016-07-17《饥荒》海难威尔逊生存流程图文详解 海难威尔逊怎么生存攻略2016-07-16