

整体思路:用编辑器创造地图,得到文件,替换mod里的地图文件。
首先,你需要有steam正版游戏。

在steam里下载制作工具
【库】→【工具】→【Don't Starve Mod Tools】

打开地图编辑器
【右键】→【Launch Tiled】


新建一个文件

默认选项
宽度和高度必须保持一致!这次以10块举例。
像素设置【64】
说明:这里的块大小是画笔大小。64像素是一格地皮的宽度。

打开辅助线
【视图】→【显示网格】

添加饥荒地皮
【地图】→【添加外部图块】

mod tools > Tiled > don't starve
找到【ground.tsx】文件,打开。

右下角会显示可用的地皮。

画笔
【图章刷】画笔的功能

卵石路地皮
选择一种地皮

像画笔一样填充。


简单放一些地皮上去

【图层】→【添加对象层】

在对象层添加物品
右上角的窗口里,能找到对象层。

选择【矩形工具】

框选1个方格。
【右键】方格,【对象属性】

联机出生点 华丽大门
类型输入“multiplayer_portal”
【位置】 X Y 宽度高度设置成【整数】专治强迫症

右键复制一个对象。
说明:复制对象得到两个传送门建筑,把其中一个改成出生点。必须有传送门和出生点,否则游戏无法进入。

【右键】对象属性

出生点
【类型】输入“spawnpoint_master”

导出文件
【文件】→【导出为】

保存地图文件
选择【lua】格式,起名【地图】。

notepad++
这时候需要下载一个lua编辑器。用记事本修改容易报错。

这就是我们制作好的地图文件啦。那么重点来了,怎么把它变成游戏地图呢?不用担心,一个mod就能搞定啦!

这是一个客户端mod,只有玩家是房主时生成地图才有效。
说明:客户端mod,只需要房主拥有即可。创界世界完毕后,关掉mod也不影响存档。

DIY地图
启用mod,创建一个无洞穴的房间。

默认是一座小岛和一枝玫瑰赠弃弃

小岛的代码
地图MOD文件里找到它,
ditu \ scripts \ map \ static_layouts

修改数据
把刚才导出的【地图.lua】里的数据替换到【my_default_start.lua】对应位置。

地皮矩阵
地皮的矩阵,每个数字代表一种地皮。

预置物
把整行【objects】预置物内容全部替换。
保存,退出。
创建世界。

地图编辑成功了!

编辑器 地图

游戏 地图

地皮对应编号 0号是海

示例
等等,你是不是跳过了什么,怎么突然变出这么大一幅图?
~不要急,把图片转换成地图的方法留到下一期再讲。
Q:如何添加草,树枝,浆果?A:和传送门一样,对象层里创建单位,输入对应代码即可。
Q:可以生成有洞穴存档吗?A:可以,但地面不能太小。
Q:地图有尺度限制么?A:没有,但地图大了服务器压力也大。推荐200以内。
Q:地图画布如果是长方形呢?A:长的边可能会被裁短,导致地图不完整。
Q:游戏无响应?A:生成失败,可能是修改代码时漏掉了“{ }” “ , ”这类字符。
Q:地图生成超过1分钟?A:生成失败,传送门和出生点的位置在海上导致的。修改这两项的 x,y 位置坐标。
Q:直接替换地图文件可以么?A:可以。为了表示对应关系,以及以后修改方便,建议初学者先尝试修改里面的数据,而非直接替换文件。
Q:离线游戏有影响么?A:没有,测试档用离线的更方便。
Q:wegame联机版能用么?A:没试过,应该是有效的。
有机率生成镜像的地图,原因未知。重启游戏并新建存档可解决。
部分地皮用代码生成不了。待解决。
直接生成熔.炉地皮会崩溃。使用编号以外的地皮需谨慎。
特别鸣谢:凤凰,班花,网页链接提供的技术支持。

参考资料:
https://tieba.baidu.com/p/5452858717
https://tieba.baidu.com/p/6282041619
允许转载,标注作者即可
以上 by.老司饥