用免费的数据库转换工具导入剧本

2143 字
11 分钟
用免费的数据库转换工具导入剧本

虽然本站曾经分享过一个自制的外部文本管理插件,但若使用本插件,会大大降低编辑器内文本的辨识度。所以我还是弃用了这个花大半天搞本体和配套工具的插件(悲)

为了更加方便地导入大量剧情文本,我琢磨了一下,决定通过官方的免费数据库转换器来导入文本,顺便粗略的介绍一下RMMV和MZ是如何保存游戏数据的,接下来就随便看一下吧

工作流程概览#

  1. 在xlsx中,为方便导入,按格式编写好剧本
  2. 在编辑器中创建好事件
  3. 通过数据库转换器,导出该事件的事件命令表格
  4. 将剧本复制到表格中,再通过数据库转换器导入回编辑器中
  5. 在事件中进行校对,编辑演出、流程控制等事件命令

编写剧本#

在你用的最顺手的表格工具中编写你的剧本,这里不聊对剧本的创作,但是为了方便后续的导入,要稍微注意一下格式。

格式可以参照如下图:

提炼一下最重要的信息:

  • 一段对话的姓名、文本内容、窗口背景和窗口位置,一定要放在同一行,分列写
  • 每一段对话之间要留出一个空白行,这个对后续的便捷导入十分关键,至于为什么后面再讲

等等,窗口背景和窗口位置要怎么写呢??需要对照下表,在对应的列填入编号即可

设置编号
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的自带加密方式已经被破得不能再破了,但现在的加密方式是否越来越倒退了呢?

文章分享

如果这篇文章对你有帮助,欢迎分享给更多人!

用免费的数据库转换工具导入剧本
https://www.57hmpg.top/posts/Database-Converter-Scenario/
作者
五十七
发布于
2026-08-25
许可协议
CC BY-NC-SA 4.0

评论区

Profile Image of the Author
五十七
你找到了我,作为奖励,我啥也不给你。
公告
我又搬家了呵呵,现在开始缓慢迁移
分类
标签
最新动态
站点统计
文章
3
分类
3
标签
5
总字数
3,395
运行时长
0
最后活动
0 天前
站点信息
构建平台
Vercel
博客版本
Firefly v6.16.8
文章许可
CC BY-NC-SA 4.0
文章目录