创建新的剧本 #
先决条件 #
你需要先安装本 mod,并且在安装完成后启动一次游戏,确保mod可以被正确加载(即可以正常游玩二创剧本)
请完全遵守 《魔法少女的魔女审判》直播・二次创作指南
从模板创建 #
剧本模板 #
打开Mod安装包,在ManosabaMod目录下找到SherryAppleJuice_ExampleMod文件夹

复制模板 #
复制整个文件夹,将文件夹改名为你的剧本ID
建议剧本ID按照一个不容易重复的英文ID+剧本英文名称+一个数字编号这样的格式,这里的英文ID可以用一个个性的网名,随机乱码或者你的B站UID,尽量避免和别人产生碰撞就行
比如 SherryAppleJuice_TestMod000,其中SherryAppleJuice是网名,TestMod是本英文名称,000是编号
如果剧本ID冲突
剧本ID冲突的话,就会出现剧本里的内容相互穿越的情况修改目录 #
修改目录结构,将原来叫做SherryAppleJuice_ExampleMod的文件夹全部改为新的剧本ID,类似这样

修改配置 #
进入新的剧本文件夹,修改info.json文件
{ "Name":"测试用例", "Description":"测试用例", "Author":"雪莉苹果汁", "Enter":"SherryAppleJuice_ExampleMod/Main", "Version":"1.0.0" }打开info.json文件,将上面的json字符串复制进去
按照自己的需要修改各个属性,Name是你的剧本名字,Description是剧本描述,Author是你想留下来的笔名,Version是剧本的版本
关键点是Enter,这个属性的含义是你的剧本的入口点。内容是相对于Scripts目录的剧本入口文件的相对路径
这里样例剧本的入口点文件为SherryAppleJuice_TestMod000\Scripts\SherryAppleJuice_TestMod000\Main.nani,那么Enter的相对路径为SherryAppleJuice_TestMod000\Main
修改后的样子大概是:
{ "Name":"修改后的剧本名称", "Description":"修改后的剧本描述", "Author":"你的名字,不要填韦一敏", "Enter":"SherryAppleJuice_TestMod000/Main", "Version":"1.0.0" }修改剧本内跳转 #
打开剧本内的.nani格式文件,搜索所有的SherryAppleJuice_ExampleMod,替换为你的新剧本ID,类似这样:

完成 #
这样一个新的剧本就完成啦!启动游戏点击开始游戏,就可以看到你的剧本了,把这个剧本文件夹发给其它小伙伴,也可以看到这个剧本啦

从剧本工作空间创建(本方式不成熟,存在包括外部立绘无法加载在内的一些问题,如果遇到BUG,优先尝试关闭看看是否恢复) #
启用 MOD 的创作者模式 #
找到游戏的根目录(即游戏程序
manosaba.exe的所在目录),可以通过 steam,在库中找到魔审,依次点击右键游戏 -> 管理 -> 浏览本地文件来找到进入
<游戏根目录>/BepInEx/config文件夹,通过记事本等文本编辑器打开ManosabaLoader.cfg配置文件,关注下面的内容[Scripting] ## 是否启用剧本编辑模式(创作者使用) # Setting type: Boolean # Default value: false EnableScriptingMode = false ## 剧本工作区路径(创作者使用) # Setting type: String # Default value: WorkspacePath =我们需要把配置文件中的
EnableScriptingMode设置为true,并且把WorkspacePath设置为您打算制作的mod的存放路径例如我想要制作一个名为
SherryAppleJuice_ExampleMod的mod,然后我想把它放在D:/manosaba_fan/下,最终的配置文件如下[Scripting] ## 是否启用剧本编辑模式(创作者使用) # Setting type: Boolean # Default value: false EnableScriptingMode = true ## 剧本工作区路径(创作者使用) # Setting type: String # Default value: WorkspacePath = D:/manosaba_fan/SherryAppleJuice_TestMod000最终剧本文件会被放置在
D:/manosaba_fan/SherryAppleJuice_TestMod000/Scripts/SherryAppleJuice_TestMod000/目录内mod文件夹的建议命名方式
建议剧本 ID 按照一个不容易重复的英文 ID+剧本英文名称+一个数字编号这样的格式,这里的英文 ID 可以用一个个性的网名,随机乱码或者你的 B 站 UID,尽量避免和别人产生碰撞就行比如 SherryAppleJuice_TestMod000,其中 SherryAppleJuice 是网名,TestMod 是本英文名称,000 是编号(版本号之类的)
如果剧本 ID 冲突
剧本 ID 冲突的话,就会出现剧本里的内容相互穿越的情况生成mod信息文件 #
在steam中启动游戏,等到游戏进入了主菜单之后就会发现上面设定的路径已经被创建出来了,并且里面还包含了一个
info.json文件,此时我们把游戏关掉,然后用文本编辑器打开info.json,由于自动生成的没有换行,所以你也可以选择复制下面的内容进去{ "Name": "测试用例", "Description": "测试用例", "Author": "雪莉苹果汁", "Enter": "SherryAppleJuice_TestMod000/Main", "Version": "1.0.0" }按照自己的需要修改各个属性,Name 是你的剧本名字,Description 是剧本描述,Author 是你想留下来的笔名,Version 是剧本的版本
关键点是 Enter,这个属性的含义是你的剧本的入口点。内容是相对于 Scripts 目录的剧本入口文件的相对路径
这里样例剧本的入口点文件为SherryAppleJuice_TestMod000\Scripts\SherryAppleJuice_TestMod000\Main.nani,那么 Enter 的相对路径为SherryAppleJuice_TestMod000\Main
修改后的样子大概是:
{ "Name": "修改后的剧本名称", "Description": "修改后的剧本描述", "Author": "你的名字,不要填韦一敏", "Enter": "SherryAppleJuice_TestMod000/Main", "Version": "1.0.0" }创建mod基本架构 #
通过steam打开再一次游戏,如果没有问题,那么在刚刚的配置的工作目录(
D:/manosaba_fan/SherryAppleJuice_TestMod000)中已经生成了如下结构的文件
其中
NaninovelData文件夹存放的是 游戏和编辑器交互用的元数据,用于代码智能提示等,发布时 一定不要 带上Scripts文件夹存放的是 剧本文件Text文件夹存放的是 本地化文件
接下来我们需要创建两个必要的文件 #
剧本入口文件
在
<mod根目录>/Scripts/文件夹中,按照上一步在info.json中定义的Enter创建剧本文件例如在上一步中,我的
Enter是SherryAppleJuice_TestMod000/Main,那么我就需要在D:/manosaba_fan/SherryAppleJuice_TestMod000内创建一个名为SherryAppleJuice_TestMod000的文件夹,再在里面创建一个Main.nani文件,这个文件就是我们的mod的主入口,当加载这个mod的时候,会从这一个剧本开始执行本地化文件
你可能会好奇,我只需要支持一种语言,也要这个吗?
是的,即便如此,你也需要按照要求创建本地化文件在
<mod根目录>/Text/Scripts文件夹中,复刻你在<mod根目录>/Scripts/中放置的所有剧本文件的结构,并且把剧本文件的后缀名从.nani改成.txt例如我在上一步中,在
<mod根目录>/Scripts文件夹中创建了SherryAppleJuice_TestMod000文件夹,并且在里面又创建了Main.nani文件,那么我就需要同样地在<mod根目录>/Text/Scripts文件夹中创建SherryAppleJuice_TestMod000文件夹,并且在里面创建一个名为Main.txt的文件(内容可以是空的)最后大概有这些文件

开始创作 #
目前基于Naninovel官方提供的剧本编写方式,有两种选择,分别是
你甚至可以同时使用两种办法来编写剧本
看看示例脚本
打开 Mod 安装包,在 ManosabaMod 目录下找到
SherryAppleJuice_ExampleMod 文件夹
在游戏内看看成果 #
在游戏主菜单点击
New Game,可以看到这里多了一个以 工作区: 开始的按钮
点击了之后就可以玩你的剧本了
分享剧本 #
你现在已经可以把
mod根目录整个作为剧本发布了(即复制整个文件夹到<游戏根目录>/ManosabaMod文件夹中)但是我们建议你先 复制一份你的mod到别处,做一些预处理再压缩打包发布
- 出于 《魔法少女的魔女审判》直播・二次创作指南,我们 强烈建议 您先把mod文件夹中的
NaninovelData文件夹 整个删除,因为里面包含了一些游戏内部的元数据 - 如果你有洁癖,还可以把所有的
.meta文件删除(如果有的话)
- 出于 《魔法少女的魔女审判》直播・二次创作指南,我们 强烈建议 您先把mod文件夹中的
使用vscode进行剧本创作 #
安装VSCode #
这就不用教了吧…
不会的话就去用网页编辑器吧打开工程 #
打开文件夹,选择
<mod根目录>
如果弹出是否信任文件夹的发布者,请点击
是接下来我们就可以在vscode里编辑剧本文件了

安装 naninovel 扩展 #
但是现在写剧本文件和用记事本写没什么差别,所以我们需要用安装一下naninovel扩展
在扩展商店里搜索
naninovel然后安装
然后我们就可以发现我们的vsc在编辑剧本文件的时候就拥有了关键词上色、语法错误检测、函数提示等功能了

接下来就可以愉快地在vscode里写剧本了,并且如果保存的剧本文件就是游戏内正在播放的剧本,游戏还可以自动更新呢(如果这一行已经播放了就不行)
使用网页编辑器进行剧本创作 #
打开 Naninovel官方网页编辑器 #

选择编辑器用户偏好数据保存位置 #
这里Naninovel的网页编辑器在让我们选一个位置用来保存你的偏好数据,那么我们按照他的建议,在
C/Users/<用户名>/里新建一个.nani文件夹然后点击网页上的
Select Directory按钮,选择我们刚刚新建的C:/Users/<用户名>/.nani文件夹
选择工程位置 #
接下来他会问我们要打开一个已有的工程还是创建一个新的沙盒工程

我们点击
Open Project来打开现有的工程,这里一定一定要确保进入了mod根目录之后不要再点其他文件夹,立刻点击选择文件夹那个确定按钮
然后我们就进入了网页编辑器,

左侧的 Files 是工程的结构,包含了你的所有剧本文件
下面的 Graph 是剧本之间的跳转图
中间的 Game 没有用
右侧的 Settings 是网页编辑器设置,你可以编辑器字体啥的
右侧的 Inspector 是某个命令的参数,在你通过 Files 打开了某个剧本并选中某条命令之后,这里就会出现东西不要删掉.beacon.nani
否则下面的部分功能会失效建议布局 #
你可以像我这样布局

点击网页编辑器右上角的
Wide改成Tall即可验证编辑器和游戏是否正常通信 #
当你网页编辑器刚刚打开工程,并且游戏正在运行的时候,你可能会发现上面的按钮是灰色的

这个时候你只需要在游戏内随便进入一个剧本点两下

就会发现这个灯又亮了
网页编辑器食用事项 #
当前播放剧本行号高亮 #
如果游戏内正在播放的脚本是工作区的脚本,那么会自动同步播放状态
如图,当游戏播放到艾玛的这句的时候,编辑器的这一块也会自动亮起
跳转播放 #
在网页中找到你的脚本,右键某一行,点击 Play Line,游戏会跳转到这个脚本的这一行来

(建议你在通过主菜单进入你的剧本之后再使用这个功能,否则可能会有奇怪的bug)
热重载 #
当你修改了脚本,按下
Ctrl+S(或者点击右上角的保存图标),如果游戏当前播放的脚本也被更改了的话,脚本会被自动热重载而无需重进游戏