UndertaleModTool介绍&使用 #2
前一部分已经介绍了UTMT使用中的一个简单场景,本篇会介绍UTMT界面相关的内容

一.主界面
在打开工具之后,最先映入眼帘的就是左边的树状图以及上面的几个选项。

1.File:

New:创建一个新的data.win,除非你想用utmt做游戏,不然没什么用
Open:顾名思义,打开一个data
Save:保存一个data
Run game:打开游戏,用的是data所在目录的游戏启动器打开
Run game under debugger和 Generate offset map:没用过
Settings:设置,建议调成如下的样子。其他的没什么用,其中GraphViz是个绘图软件,后面填上这个软件的目录,在代码编辑器那里就能看到Bytecode树状图

2.Scripts:提供一种一键式修改游戏内容的方式

运行内置脚本(UTMT提供的比较泛用的)
运行社区脚本(社区提供的,五花八门)
运行解包脚本(提取游戏内容到其他文件里)
运行打包脚本(将外部可供导入的东西导入data)
运行技术性脚本(技术性较强,乱弄可能搞坏游戏)
运行其他脚本(顾名思义,你可以打开一个脚本运行)
这里介绍几个脚本的功能:
Go to room:游戏内按F3可以输入一个房间号直接进入,房间号对应可以在https://pcy.ulyssis.be/undertale/rooms里查询
RunSwitchOnPC:让你的switch版data能正常在PC上运行
ExportAllCode:导出游戏代码到一个文件夹里,便于用FileLocator等软件进行查询
ShowRoomName:让你所处房间的room值(房间号)以及名称显示在游戏界面左上角
EnableDebug:选择是否开启debug模式
FancyRoomSelect:功能同Go to room,但看上去非常高级
DisableDogcheck:让你可以进到隐藏房间
3.Help
点第一个进入UTMT的github,第二个打开版本信息

二.树状图界面(仅介绍最有用的)

Sounds(音效):

Sprites(贴图):

Paths(路径)(指定运动轨迹):
Smooth指的是平滑过渡,是曲线形式。Closed指 是否闭合。Points是路径点,可以双击添加修改

Scripts(脚本):

Objects(物体,以obj简称,这里以UT里的对话obj进行示范):

Name自然是其名称,Sprites是贴图,可以从左边的树状图里给它拖进去一个贴图进行修改,Visible指是否可见,Solid是gm中一个obj属性,Depth是指深度,数值越大,绘制时越提前,例如depth为100会被depth为0的遮住。Parent是指继承了谁,像这种对话obj,简单理解,如果角色不能穿过去就是obj_readablesolid,能穿过去就是obj_interactable,你可以从树状图中拖过来来替换,创造对话obj时这是一个关键点

Create中的代码意味着:该obj被创建时立刻执行,只执行一次
Step中的代码意味着:除非这个obj没了,否则以每秒room_speed次执行。例如room_speed为30意味着每秒执行30次,room_speed这个数值一般在房间里被固定死了,可以简单理解为最大帧数,但这不是很准确
Alarm中的代码意味着:事件中我们可以使用alarm[编号]=x来设定alarm执行等待的时间,例如我在create里写上alarm[1]=30,而且我的room_speed=30,意思就是obj创建后一秒钟执行一次alarm1里的代码,你还可以在alarm里套alarm实现多长时间反复执行的效果
对于一个对话obj,格式一般就是一个create,一个begin step,一个alarm
Room(房间):

UT里基本的房间有如下特征:
1.如此设定的View,玩家实则观察的是320*240像素的空间,但显示时放大2倍,呈现640*480

2.有一个obj_overworldcontroller,这是管控背包等UI的一个obj,是有玩家操控内容的房间基本的obj

3.有一个obj_mainchara,这就是玩家(Frisk)的obj
Texture page item
指的是小的细分贴图,其来源是Embedded textures
Code
包含data所有代码片段,object和scripts里的代码均出自这里