加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有帐号?注册会员
x
本帖最后由 大钊 于 2016-4-3 10:06 编辑
最近才开始接触RM,感觉RM的对话编辑特别反人类,占编辑窗口大量面积,必须手动换行,不能自动显示名字,头像。每句话都要去选,总之很麻烦。于是就写了这个插件。
用法:
引入插件,并在参数中填入配置文件。
配置文件放在data/MSG下面。。。
配置文件的内容类似这种
{ "roles": { "1": { "box": ["heros",0], "name": "\\N[1]" }, "2": { "box": ["heros",1], "name": "\\N[2]" } }, "importantColor":17, "defaultColor":0, "nameColor":1 }
{
"roles": {
"1": {
"box": ["heros",0],
"name": "\\N[1]"
},
"2": {
"box": ["heros",1],
"name": "\\N[2]"
}
},
"importantColor":17,
"defaultColor":0,
"nameColor":1
}
roles定义角色,键("1","2")为角色名简写。可以为任意字符串。box为角色头像(脸图组名字,组内编号)。name为显示的名字。可以使用\N,\P之类的东西,但注意因为转义的关系,斜杠要双写。
importantColor关键信息颜色。
defaultColor普通信息颜色。
nameColor角色名颜色。
然后定义好配置文件之后。就可以写对话文件了。同样是在data/MSG目录下,文件名随意。
格式像下面这种:
所有命令都是以行为单位。
#sec 开始的行定义一个对话区,下面编写的对话就是这个区里面的。#sec 后面跟着的是对话区的名字。
然后对话,有两种格式,
一种是“角色名:内容”角色名可以是简写,如果简写里面找不到会直接原样显示。config中定义过的角色会显示头像,没定义的不会显示头像。全角冒号和半角冒号都支持,是等价的。
还有一种是“内容”,无头像,无名字,最普通的文本框。这里面不能有冒号,如果有,使用“#code $gameMessage.add("内:容");" 语句直接执行脚本
特殊标记
- 也就是减号,作用是小停顿,执行这句话后事件会向后执行,直到下一次调用msg脚本命令,或者msg continue脚本命令的时候会继续执行。同样全角半角都支持。使得可以在对话中插入其他动作。
#code 代码 执行到这句话的时候会直接执行脚本
#include 文件名 包含另一个文件
其他
新增了 \i[文本] 转义段,会用重要信息颜色显示。
然后是脚本命令
msg <文件名> <对话区名> 或 msg msg <文件名> <对话区名>
开始指定文件中的对话区,均为重头开始。
msg 或 msg continue
继续执行被减号停下来的命令,如果对话区已经执行到了末尾,这个命令将不会有任何作用。
msg break <文件名>
中断执行指定脚本,不带文件名则为当前脚本
msg reset <文件名>
重置指定脚本,不带文件名则为当前脚本
如下图就是在整个对话中进行了3次停顿。在停顿中插入了其他动作
最后显示效果:
--------2016年4月2日更新----------
这次更新主要是增加fuki对话框支持,另外fuki对话框我支持临时研究的,如果有什么问题欢迎指出。
首先是对话文本,现在如果无角色的对话中含有冒号,不需要再写#code。直接最在前面加上一个冒号就行了。这主要是针对fuki文本中含有大量冒号搞出来的。
然后对话文本中允许插入fuki文本,如下图所示:
显示效果如图:
另外Config文件也有改动:
{ "roles": { "1": { "name": "", "fuki":"#{P:heros}#{N:\\N[1]}" }, "2": { "box": ["heros",1], "name": "\\N[2]" } }, "importantColor":17, "defaultColor":0, "nameColor":1, "nameTag":"\\>\\C[%3]【%1】\\C[%2]" }
{
"roles": {
"1": {
"name": "",
"fuki":"#{P:heros}#{N:\\N[1]}"
},
"2": {
"box": ["heros",1],
"name": "\\N[2]"
}
},
"importantColor":17,
"defaultColor":0,
"nameColor":1,
"nameTag":"\\>\\C[%3]【%1】\\C[%2]"
}
角色定义中新增fuki字段,该字段内容会被追加到该角色的每句对话之前。box字段对fuki#{P}之类的标签的功能相当于是否选择了头像,name字段在设置了#{N}标签后一般设为空字符串,可以隐藏本插件的名字标签。
新增nameTag字段,规定本插件的名字标签格式字符串,允许自定义名字样式,这东西可以解决fuki对话框自动换行开启后命名标签不换行的问题。其中%1为名字,%2为普通颜色,%3为名字颜色。
PS:包里面有俩脚本。。。LYZ_MessageEX是这次说的脚本。。LYZ_Core是依赖,定义了一些插件常用的方法。。。也必须要添加进去LYZ_MessageEX才能正常使用。。。
PS2:所有对话都是等待型,非等待型的不支持。
PS3:需要注意的是,对所有文件,请以UTF-8编码保存,否则汉字会变成乱码。
PS4:对话区执行进度不会存档。所以请合理设计。凡是用户有机会存档之后的对话,请不要用msg命令从停顿出开始的方式执行。请用msg <文件名> <对话区>开始一个新的对话区。这样也可以最大程度的避免对话乱掉。
LYZ_MessageEX.zip
(3.95 KB, 下载次数: 256)
老版本
|