本系列教程讲一步步指引你进行饥荒联机版Mod的开发,首先你要有饥荒联机版,推荐是steam的,有自动打包工具。如果没有也不要紧,下面准备的工具也可以实现同样的功能。
饥荒联机版开发
https://pan.baidu.com/s/1_-TPRdo86z8PNwK084N_3A?pwd=oc74
(TexTool,可用TexTool_new代替,那个可以当快捷打开方式)
左边的modmaker就是需要用到的工具,请把它解压到英文目录下。右边是当初群里的教程,样板和我的笔记。不懂的地方,进QQ群 557963863 交流请教大佬们。
如果是steam的,下官方的Don’t Stave Mod Tools,自动化打包,贴图转换。
steam的是Don’t Starve Together,wg是饥荒联机版,自己去对应路径找文件,下面以饥荒目录代称。
文件位于ktools/kttos-4.4.4/c_start.bat,在运行前需要把动画相关文件放到同级目录下,然后运行c_start.bat,按Tab选择输出文件夹,回车确定。
官方动画在 饥荒目录\data\anim 下面。
一般播放动画的代码就是下面这些,各种对应的参数,在上图找。而文件夹名字,图片名字不影响这些代码。
inst.AnimState:SetBank("beardhair") --sprite打开第一层名字,绿字旁边的红字
inst.AnimState:SetBuild("beardhair") --scml名字,顶部
inst.AnimState:PlayAnimation("idle") --播放动画,sprite打开第二层名字名字,绿字
同时,坐标的x, y对应图片的位置,就算那个图片红色的锚点改变了,只要x,y不变还是会出现在同样的地方,哪怕图片变了。物品栏的x,y设为0。angle随便改就行。
文件在Spriter/Spriter.exe。
建个文件夹,名字叫rootname,在里面建个文件夹叫foldername,在里面放图片,图片大小任意。(这些名字其实无所谓,不影响到代码。而且rootname,foldername一般和prefab名字一样。图片名是 xxx-序号)
打开Sprite,点击 File->New Project,选择rootname文件夹。遇弹窗直接Ok就行。
首先,先设置图片的锚点,双击右侧的文件夹里面的图片。选择合适的锚点位置。
同理设置第二张图的锚点,当然用上面的复制粘贴锚点更快
把第一张图拖进屏幕,坐标的x,y设为0(其实就是锚点的坐标)
到这里静止的物品放地上的动画就完成了。
保存为想要的名字就行。
刚才的的 scmlname,对应 inst.AnimState:SetBuild的参数
右边的entity_000,对应 inst.AnimState:SetBank的参数
下面的NewAnimation,对应inst.AnimState:PlayAnimation的参数
一般scmlname、entity_000都和prefab名同,NewAnimation一般是idle
inst.AnimState:SetBank("entity_000") --sprite打开第一层名字
inst.AnimState:SetBuild("scmlname") --scml名字
inst.AnimState:PlayAnimation("NewAnimation") --播放动画,sprite打开第二层名字名字
在图片上长按右键,选择图片二,或者移动/旋转图片一,都行。看想做什么动画
文件在打包工具/打包工具.exe。
我们之前的rootname文件夹,复制到打包工具\mods\mymod\exported中
运行打包工具,勾选mymod,然后打包,当提示打包成功时,去到打包工具\mods\mymod\anim 文件夹下就可以看见打包好的压缩包了。
如果是steam的官方工具,把文件夹放到 exported 文件夹里,会帮你自动打包并保存在anim文件夹里,当修改后也会重新生成。
文件夹在Textool 1.4.1/TEXTool.exe。双击打开TEXTool.exe,点击左上角的Open,来到饥荒目录/data下,随便找张tex打开就行。这里为方便后面讲解,打开data/image/anr_sihouetees.tex
然后点击Save,输入文件名和后缀(如: anr_sihouetees.png),转成常见的图片格式(一般我们都转png)
同时,最下面有相关参数
文件在Textool 1.4.1/texcreator.exe。
有大多数图片有尺寸要求的,如 modicon、inventoryimages等,可以先用TEXTool把官方/其他mod的tex转为常规图片(一般是png),用ps等软件修改后,再texcreator转回去。
观察TEXTool下面的参数,发现Minmaps基本都大于1的,所以这里要第一个选项勾上
这样我们就得到了tex,不过我们还需要个xml文件来说明tex(看下一步)
如果下了steam的官方工具,直接把 .png 文件放到文件夹里面,会自动生成tex和xml,当修改时也会重新生成。
文件在XML NOtepad 2007/XmlNotepad.exe。
在上一步我们得到了tex,但我们还需要个xml。有些tex是把一堆图放到一张图里的,所以对应的xml也比较复杂(就像这个例子一样)。
打开饥荒目录/data/images/anr_silhouettes.xml(xml名字和tex名字对应)
代码中常见的texname就是Element中的name,而xml就是对应的xml。其中
左下角是坐标原点
0.0 <= u1 <= u2 <= 1.0,表示x轴 (→)
0.0 <= v1 <= v12 <= 1.0,表示y轴(↑)
这四条直线框起来的就是对应的图。
不过一般我们都是一张图而已,把对应的xml复制一份,重命名xml后,打开xml,把里面的filename和name改了就行。
文件在搜索文件升级版/检索文件升级版.exe
下一期会出用VS Code的来配置代码开发环境,那里也有全局搜索和这个软件看情况来配合用。
在使用前要先配置下地址.txt。首先我们去到饥荒目录/data/databundles中把scripts.zip解压,然后修改地址.txt里对应地址就行。
然后运行软件,类型选 lua ,输入要查找的内容即可。
如果要直接修改代码来改变游戏,把scripts.zip解压到饥荒目录/data中,形成饥荒目录/data/scripts, 而不是饥荒目录/data/scripts/scripts。并把饥荒目录/data/databundles中的script.zip重命名,我们就可以直接修改里面的代码来改变游戏。不过不建议新手这么干,容易暴毙。
文件在ZeroBraneStudio/zbstudio.exe。
在此之前推荐先看*【MOD制作教程及材料】/lua_语言说明(非常重要).doc和Lua程序设计(第2版)中文(全).pdf*
打开软件,输入下面代码,按F6运行。
print(“Hello World”)
→饥荒联机版Mod开发——配置代码环境(二)