《饥荒》如何才能提取地图文件,下面给大家分享一篇《饥荒》提取地图的详细攻略,有需要的朋友可以详细看看方法哦。
新手玩这游戏,昨天开到一个很棒的开局,右边猪村,侧面牦牛群,还有一片浓郁的大森林,可惜啊手贱带着猪头们砍树砍上瘾了一下子出来两个树人+月圆+来了狗……,为了保命我把我的牦牛群都害死了,一只都没留下……然后想找到同样的地图试了重新开局无数次,就是找不到。
今天参考了reddit上一个帖子的方法提取出了存档的地图重新开局,亲测是可以的,因为没玩多久,后遗症并不清楚。
首先,你需要在电脑里找到data文件,我用的是steam,在Steam安装文件夹下面有\SteamApps\common\dont_starve\data\DLC0002(此处可能是任何文字取决于你装了什么)\scripts\worldgen_main.lua
如果找不到,直接电脑里Ctrl+F搜索 worldgen_main.lua这个文件。
然后,用记事本方式打开这个文件,在文件的最顶端是一句话package.path = package.path..";scripts/?.lua"
载入,这个不多说,往下一两行出现这么一个代码
--SEED = 372000
if SEED == nil then //如果SEED是空值
SEED= getrealtime() //以系统时间作为随机种子
end
看到这个代码后,说明没找错,关闭这个lua文件,复制备份一下这个文件以防万一。
第三步,进入你喜欢的这个地图所在的存档正常玩游戏,进入游戏后按下“~”键调用控制台,并且输入
print(GetWorld().meta.seed)
打回车键。注意大小写必须完全一样。此后屏幕上最下端会出现一个十位数字比如1467123456,这个就是你的地图的随机数种子。把它抄在小本子上。
第四步,退出游戏,找到刚才第二步中的在data文件夹script下面的worldgen_main.lua原文件,在这段里加入一句话,改成如下:
--SEED = 372000
SEED==1467123456
if SEED == nil then
SEED= getrealtime()
end
保存文件,退出。
第五步,重新进入游戏,新开一个存档,选你喜欢的任何人物,在地图设置中,size branch loop 必须和你喜欢的存档一模一样(这三项跟对地图的“样子”有影响),其他兔子多少啥的,雷电多少可以随便设。
进入游戏后,按下“~”键调用控制台,并且输入print(GetWorld().meta.seed)可以看到反馈的seed数字和你喜欢的存档是一模一样的,1467123456,说明成功导入这个地图了。
这个方法也可以跟朋友共享一张地图,ta通过修改worldgen_main.lua也可以获得你的地图。
但是这个不是万能的,目前的问题有:
除了大的东西的位置(牦牛群、猪人村庄),细小的资源的分布依然是随机的,新开的世界里,兔子窝和老世界的位置就不一样。
我没玩到地下世界,根据外网上的其他人的讨论,这个方法如果你在读取地图seed之前已经去过地下世界了,那么每个地下世界都需要一个自己的seed添加在worldgen_main.lua里。surface世界的地图seed只能保证surface世界的样子与原来一致。
使用这个方法新开的档,只是地图“样子”一样,在老档里做的所有房子啦烤肉架啦之类的是全没有的,因为这是一个“新游戏”,只是地图跟原来一样。