用免费的数据库转换工具导入剧本
虽然本站曾经分享过一个自制的外部文本管理插件,但若使用本插件,会大大降低编辑器内文本的辨识度。所以我还是弃用了这个花大半天搞本体和配套工具的插件(悲)
为了更加方便地导入大量剧情文本,我琢磨了一下,决定通过官方的免费数据库转换器来导入文本,顺便粗略的介绍一下RMMV和MZ是如何保存游戏数据的,接下来就随便看一下吧
工作流程概览
- 在xlsx中,为方便导入,按格式编写好剧本
- 在编辑器中创建好事件
- 通过数据库转换器,导出该事件的事件命令表格
- 将剧本复制到表格中,再通过数据库转换器导入回编辑器中
- 在事件中进行校对,编辑演出、流程控制等事件命令
编写剧本
在你用的最顺手的表格工具中编写你的剧本,这里不聊对剧本的创作,但是为了方便后续的导入,要稍微注意一下格式。
格式可以参照如下图:

提炼一下最重要的信息:
- 一段对话的姓名、文本内容、窗口背景和窗口位置,一定要放在同一行,分列写
- 每一段对话之间要留出一个空白行,这个对后续的便捷导入十分关键,至于为什么后面再讲
等等,窗口背景和窗口位置要怎么写呢??需要对照下表,在对应的列填入编号即可
| 设置 | 编号 |
|---|---|
| 上 | 0 |
| 中 | 1 |
| 下 | 2 |
| 普通窗口 | 0 |
| 暗淡背景 | 1 |
| 透明 | 2 |

保存好表格,接下来就可以着手导入了。
将事件导出为xlsx
官方有一个可以将数据库和事件转换并导出的免费工具,支持xlsx,ods,csv,txt等格式。这个工具可以在steam免费入库,网上也有热心网友做的汉化版,不过我觉得直接用英语就行了

虽然这里说的是MV工具,但MZ和MV的数据库格式几乎没有区别,所以也能用
下载后,打开工具的界面如下:

稍微讲解一下这些项目,加粗的部分都是必须要填的
- Project Folder:你的工程文件夹,直接选就行了
- Export Folder:你的数据库文件导出到哪个文件夹/从哪个文件夹导入,可以直接在工程文件夹里建一个新的文件夹,比如database
- Backup Folder:导出时,保存自动备份的data文件夹的路径,直接在上面导出文件夹中新建一个文件夹就行
- Export File Prefix:导出文件名的前缀,按需设置
- Databases:你要导出/导入的数据库类型,对本文来说必须勾选Map Information
- Original Databases:在这里设置自己创建的数据库文件,属于高级功能
- Export File Format:导出的文件格式,这里选择xlsx
设置好上面的东西后,在顶部换一个标签页,这里就是用于导出/导入的页面

上方两个是数据库和公共事件,我们直接看第三个:Map Events,它能直接将地图上已存在的事件导出为表格,通过逗号来分隔多个事件。是不是很方便!?

找到你的事件id和对应的地图id,就可以按下export进行导出了,然后应该会自动弹出你的导出文件夹,可以在此找到导出的表格了
认识xlsx
为了保险,不要更改导出表格文件的名字和路径,转换器是原路导入文件的
然后就可以打开表格了,可以看到导出的事件命令内容变成了表格(需自行调整表格宽度)

如果是多页事件,在底部切换工作表即可
作为对照,导出的事件在编辑器里的内容是这样的
◆注释:-----以下为剧情文本-----◆文本: , 无, 窗口, 底部: :◆注释:-----以上结束-----◆还是比较直观的,一行命令代表一个◆后面的内容,这里介绍一下每一列代表的东西:
code
事件命令类型的代码,编辑器就是靠这个代码来辨别这是什么命令,比如108对应注释。
这个表的イベントコード工作表列出了rmmz中所有的事件命令代码,可以进行参考:
RPGツクールMZ スクリプトリファレンス - Google 表格
但上面是谷歌文档,有困难可以看下面的度盘(提取码xlsx)
{% button 度盘 https://pan.baidu.com/s/1ku7hQvacbuZdElqIo_W5Qw %}
对照表看,但还是有一个疑问,为什么显示文本命令被拆成了两行代码??
其实看编辑器里的命令就会发现,101行负责姓名、脸图文件名和索引、窗口背景、窗口位置的设置,401行负责显示文本内容,两者不能混用(我也不太懂为什么要这样脱裤子放屁地分开,大概是为了对齐前代rm吧。。)
indent
缩进级别,我不知道怎么解释这个,但是可以看以下例子:
◆如果:#0001 为 开启 ◆文本:无, 无, 窗口, 底部 : :111111 ◆:结束分支这段命令中的文本命令,就是indent为1,进行了一次缩进的事件命令
codeName
code所对应的事件命令名称,这一列并不会被读取,可以修改为便于自己辨识的内容,但最好不要整个删除这一列
parameters0 - 4
再看一下上面的编辑器里的内容:
◆文本: , 无, 窗口, 底部嗯, “文本” 后面用逗号隔开的内容,就对应的是parameter0 - 4的内容。不同code对应的不同parameter,可以在上面的表中查询。
(如果艺高人胆大,其实直接在xlsx中完成整个事件的编辑也不是不行,但为了稳妥,还是回到编辑器再仔细编辑演出吧)
导入剧本
认识了xlsx后,就明白为什么要在写剧本时,用空行分隔了吧,那么愉快地复制粘贴吧!注意,要和对应的事件命令code对齐

格式乱了没关系,文本对了就行,实在无法接受的话可以自行修改,最重要的就是,一定要看仔细代码,一定要和对应的代码对齐!
另外还有最重要的一点:**一定要在最后一行留出一个indent为0,code为0的空白行!**否则,在编辑器中就无法正常选中对应的事件命令。
怎么将xlsx导入回游戏中呢?直接按以下Import按钮

就行了,此时如果rmmz开着,会弹出一个对话框,点确认,就能看到事件命令已经导入回对应地图的对应事件了

(所以再次强调,不要动导出的文件名和路径)
接下来,就是在编辑器中发挥想象力和能动性了
题外话:rmmz和rmmv的数据格式
如果尝试了通过转换器导出数据库文件,会发现也是类似的表格模式,因为游戏中的数据都是保存在data文件夹中的json文件里。比如,MapInfos.json保存了有关地图的整体信息,Mapxxx.json保存了对应地图内的图块绘制信息和所有事件,Actor.json则是数据库里的角色设置,System.json是数据库中的系统设置和开关变量信息,等等。
这个转换器的本质,就是将json文件转换为特定的格式,然后再导入。
和前代rm直接封装的方式不同,rmmz和rmmz可以直接点开json文件查看数据。
然而特别搞笑的是,rmmz和rmmv在打包加密数据时,不会对data文件夹进行任何加密,它只会加密图片和音乐文件,就是虽然不能直接打开图片和音乐,但是数据库和地图事件内容可以随便点开看。虽然对个人而言,只要图片素材加密了不会被偷就行,但前代rm可是能直接把整个data和图片文件封包成一个加密文件。不谈前代rm的自带加密方式已经被破得不能再破了,但现在的加密方式是否越来越倒退了呢?
文章分享
如果这篇文章对你有帮助,欢迎分享给更多人!


