设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 10204|回复: 15
打印 上一主题 下一主题

[原创发布] 用于编写大量对话的插件_【更新】新增fuki对话框支持

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
56 小时
注册时间
2016-3-23
帖子
16
跳转到指定楼层
1
发表于 2016-3-30 00:08:18 | 只看该作者 |只看大图 回帖奖励 |正序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
本帖最后由 大钊 于 2016-4-3 10:06 编辑

最近才开始接触RM,感觉RM的对话编辑特别反人类,占编辑窗口大量面积,必须手动换行,不能自动显示名字,头像。每句话都要去选,总之很麻烦。于是就写了这个插件。
用法:
引入插件,并在参数中填入配置文件。

配置文件放在data/MSG下面。。。

配置文件的内容类似这种
JAVASCRIPT 代码复制
  1. {
  2.   "roles": {
  3.         "1": {
  4.           "box": ["heros",0],
  5.           "name": "\\N[1]"
  6.         },
  7.         "2": {
  8.           "box": ["heros",1],
  9.           "name": "\\N[2]"
  10.         }
  11.   },
  12.   "importantColor":17,
  13.   "defaultColor":0,
  14.   "nameColor":1
  15. }

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文件也有改动:
JAVASCRIPT 代码复制
  1. {
  2.   "roles": {
  3.         "1": {
  4.           "name": "",
  5.           "fuki":"#{P:heros}#{N:\\N[1]}"
  6.         },
  7.         "2": {
  8.           "box": ["heros",1],
  9.           "name": "\\N[2]"
  10.         }
  11.   },
  12.   "importantColor":17,
  13.   "defaultColor":0,
  14.   "nameColor":1,
  15.   "nameTag":"\\>\\C[%3]【%1】\\C[%2]"
  16. }

角色定义中新增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, 下载次数: 247)
老版本

评分

参与人数 4星屑 +91 +1 收起 理由
msn666 + 1 塞糖
CFRoo + 20 塞糖
刺夜之枪 + 66 神ID, 同志辛苦了
日月星辰 + 5

查看全部评分

Lv3.寻梦者

梦石
0
星屑
4246
在线时间
678 小时
注册时间
2020-7-17
帖子
60

极短24参与

16
发表于 2024-7-28 22:03:38 | 只看该作者
本帖最后由 Undermine 于 2024-7-30 10:06 编辑
tseyik 发表于 2016-4-10 19:32
さば缶さん開発中的ギャルゲー風会話システム
http://petitrare.com/blog/?m=201604


这个链接挂了来着,但我想我找到了它新的地址,结合放在一起的图片文件来看应该就是这个:https://github.com/sabakan03/mv/ ... gins/Saba_Tachie.js
但这个要用插件命令来操作立绘,我个人觉得还是太麻烦了,所以把我找到其他插件也放在这了:

它用对话控制字符来设置立绘,但没有合成也没法战斗,只用于对话应该不错。还自带设置好了的点头跳跃小动画等等,教程也挺仔细的:https://nine-yusha.com/plugin-spicture/。测试了两下没有什么冲突。
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
14534
在线时间
718 小时
注册时间
2011-7-16
帖子
1428

开拓者

15
发表于 2018-3-22 13:09:20 | 只看该作者
强大的插件,剧情党的福音,感谢楼主
RMMV网络插件,开源免费,内含服务器端,无需强制登录,云数据,弹幕,云存档,排名,兑换码,版本检测,可自由上架下架删除。q群399090587
免打包运行MV游戏,云游戏,安卓App雷神游戏厅,在线玩游戏,上传下载游戏
开源游戏:重装机兵之重装归来【RMMV制作】全球首款按照美剧分季分集的方式发布的游戏
体素画 -- MV画3D像素图的画板
RMMV显示3D模型和场景的插件
RMMV显示spine骨骼动画的插件
RMMV秘密通道插件
突破敌群数量上限8个的插件
在rmmv中显示gif动态图片的插件
一款可以在mv游戏界面的任意位置显示任意文字的插件
RMMV Toast 插件 带物品得失提示,可以设置开启关闭 兼容yep itemcore
制作一个改名卡道具插件、调整标题页面菜单的插件、在标题页面之前显示大段文字的插件、标题页面显示版本号的插件
物品得失自动提示自动上色自动换行插件
我的Q群 663889472
另外,我的插件、范例、游戏都在这里
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
73
在线时间
7 小时
注册时间
2018-3-11
帖子
4
14
发表于 2018-3-21 23:45:52 | 只看该作者
谢谢编写的大大,真的很有帮助。这边做avg用处十分巨大。能写出来真是辛苦了。不是很懂为什么用fuki的制作者非要吐槽呢。本来适用类型就不一样嘛。
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
578
在线时间
79 小时
注册时间
2018-2-11
帖子
19
13
发表于 2018-2-12 11:59:45 | 只看该作者
emm抱歉打扰了,我装了插件是一直显示cannot read property ‘1' of underfined,‘1’应该是我的角色名简写,但我有把config.json按照格式写好放在data\MSG下面,LYZ_Core也有放在LYZ_MessageEx上面……
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
71 小时
注册时间
2015-9-30
帖子
6
12
发表于 2016-4-17 18:11:45 | 只看该作者
本帖最后由 cang1101 于 2016-4-18 18:08 编辑

我在新文件夹中测试了一下,错误堆栈不知道怎么查,我直接把游戏截图发上来
麻烦找一下是哪里不对

谢谢指点,现在把信息截图发上来

https://rpg.blue/forum.php?mod=attachment&aid=MzA2NzUwfDg2ODI1YzA2MGNiN2IxOGI3MTE5ODJhYmZjNzJhYzAyfDE3MjY3NjMzMzA%3D&request=yes&_f=.png
1.未接触对话事件时

https://rpg.blue/forum.php?mod=attachment&aid=MzA2NzUxfDZmMWU5YjgzOTczNTZhMTJiN2QzNDk4NzM5NjZlYjc4fDE3MjY3NjMzMzA%3D&request=yes&_f=.png
2.开始接触对话事件时,此时测试游戏出现错误

7.png (54.63 KB, 下载次数: 16)

7.png

8.png (182.33 KB, 下载次数: 17)

8.png
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
71 小时
注册时间
2015-9-30
帖子
6
11
发表于 2016-4-16 20:42:50 | 只看该作者
能发个可正常运行的简单范例吗?一直显示cannot read property ‘data' of underfined

点评

我自己的那个依赖太多太杂应该没法发。至于问题的话。LYZ_Core要放在LYZ_MessageEx上面哦。。。如果还有问题把错误堆栈发出来我可以具体定位问题。  发表于 2016-4-16 22:31
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
55
在线时间
89 小时
注册时间
2010-10-5
帖子
68
10
发表于 2016-4-11 10:38:36 | 只看该作者
ddhkandy 发表于 2016-4-10 16:07
给个fuk对话框的插件

没搜索到啊

点评

http://rm.66rpg.com/forum.php?mod=viewthread&tid=387546  发表于 2016-4-11 11:11
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
22688
在线时间
8622 小时
注册时间
2011-12-31
帖子
3367
9
发表于 2016-4-10 19:32:35 | 只看该作者
本帖最后由 tseyik 于 2016-4-10 19:40 编辑

さば缶さん開発中的ギャルゲー風会話システム
http://petitrare.com/blog/?m=201604

圖片合成功能(更衣,表情,)

戦鬥中

外置文本

予定事件可使用機能(o己實装)
* イベント実装状況(○→実装済み)
//**************************************************************************
// メッセージ系
//**************************************************************************
*○ message_h
*○ message
*○ choice_h
*○ choice_if
*○ choice_cancel
*○ choice_end
*  input_num
*  choice_item
*  scroll_h
*  scroll
*  scroll_end
//**************************************************************************
// ゲーム進行系
//**************************************************************************
*○ sw
*  var
*  var_random
*  var_item
*  var_weapon
*  var_armor
*  var_actor
*  var_enemy
*  var_character
*  var_party
*  var_other
*  var_script
*○ self_sw
*○ timer
//**************************************************************************
// フロー制御系
//**************************************************************************
*○ if_sw
*○ if_var
*○ if_self_sw
*○ if_timer
*○ if_enemy
*○ if_character
*○ if_vehicle
*○ if_money
*○ if_item
*○ if_weapon
*○ if_armor
*○ if_button
*○ if_script
*○ else
*  loop
*  loop_end
*  loop_break
*○ event_break
*○ return
*○ common
*○ label
*○ label_jump
*  comment
*  comment2
//**************************************************************************
// パーティ系
//**************************************************************************
*  money
*  item
*  weapon
*  armor
*  member
//**************************************************************************
// アクター系
//**************************************************************************
*  hp
*  mp
*  state
*○ all_recovery
*○ exp
*○ level
*  capability
*  skill
*  equip
*○ name
*○ class
*○ nickname
//**************************************************************************
// 移動系
//**************************************************************************
*○ map_move
*○ vehicle_pos
*○ event_pos
*○ scroll_map
*○ route_h
*○ route
*○ vehicle
//**************************************************************************
// キャラクター系
//**************************************************************************
*○ transparent
*○ followers
*○ gather
*○ anime
*○ balloon
*○ erace
//**************************************************************************
// 画面効果系
//**************************************************************************
*○ fadeout
*○ fadein
*○ tone
*○ flash
*○ shake
//**************************************************************************
// 時間調整系
//**************************************************************************
*○ wait
//**************************************************************************
// ピクチャと天候系
//**************************************************************************
*○ picture
*○ picture_move
*○ picture_rotation
*○ picture_tone
*○ picture_erace
*○ weather
//**************************************************************************
// 音楽と効果音系
//**************************************************************************
*○ bgm
*○ fadeout_bgm
*○ save_bgm
*○ resume_bgm
*○ bgs
*○ fadeout_bgs
*○ me
*○ se
//**************************************************************************
// シーン制御系
//**************************************************************************
*  battle
*  battle_win
*  battle_escape
*  battle_loss
*  battle_end
*  shop
*  input_name
*○ menu_open
*○ save_open
*○ gameover
*  battle_bgm
*  battle_end_me
*○ title_return
//**************************************************************************
// システム設定系
//**************************************************************************
*  battle_bgm
*  battle_end_me
*○ save_disable
*○ menu_disable
*○ encount_disable
*○ formation_disable
*  window_color
*  actor_graphic
*  vehicle_graphic
//**************************************************************************
// ムービー系
//**************************************************************************
*○ movie
//**************************************************************************
// マップ系
//**************************************************************************
*  map_name_disable
*  tileset
*  battle_background
*  parallax
*  pos_info
//**************************************************************************
// バトル系
//**************************************************************************
*  enemy_hp
*  enemy_mp
*  enemy_state
*  enemy_all_recovery
*  enemy_appear
*  enemy_trans
*  battle_anime
*  force
*  battle_abort
//**************************************************************************
// 上級系
//**************************************************************************
*  script
*  script2
*  plugin
//**************************************************************************
// その他
//**************************************************************************
*○ end
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
55
在线时间
89 小时
注册时间
2010-10-5
帖子
68
8
发表于 2016-4-10 16:07:22 | 只看该作者
给个fuk对话框的插件

点评

坛子里。。搜一下就行了啊。。。别当伸手党嘛。。。  发表于 2016-4-10 21:16
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-9-20 00:28

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表