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

Project1

 找回密码
 注册会员
搜索
楼主: 百里_飞柳
打印 上一主题 下一主题

[原创发布] 【老鹰的RGSS3脚本小巢】对话框扩展(9.6英语版)

[复制链接]

Lv6.析梦学徒

老鹰

梦石
40
星屑
33439
在线时间
6555 小时
注册时间
2012-5-26
帖子
3178

极短24评委极短23参与极短22参与极短21评委老司机慢点开短篇十吟唱者组别冠军开拓者剧作品鉴家

跳转到指定楼层
1
发表于 2019-3-30 15:04:55 | 显示全部楼层 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 百里_飞柳 于 2023-9-6 21:42 编辑



LOGO绘制by @congwsbn

○ 前言

之前曾经发过一个记录自己写的数据库扩展的脚本帖子,不过果然是坑了hhh
所以更改了下方案,之后还是上传到自己的github仓库,方便我自己维护,也方便其他人查看。
我也学乖了,不再在同一个帖子里反复编辑更新,而是在有较大的系统完成后发布新帖子,这样也方便大家能直接看到我的最新操作。
这个帖子便是宣传与发布我的对话框扩展系统。


○ 概述

默认对话框的功能实在是过于局限,所以最初我写了一个 对话框转义符扩展 插件来增加新的转义符,
但是有的转义符势必会修改对话框自己的一些属性,比如宽度高度、显示位置、背景等,
所以我在那个插件的基础上继续扩展,完成了 对话框扩展 插件,里面包含了更多的转义符,用于实现在显示文字的同时应用各种设置变更。

当然,我还为 对话框扩展 写了一系列的AddOn插件,譬如 选择框扩展、物品选择扩展、滚动文本框扩展、并行对话、关键词信息查看 等。
以后可能会有更多其他对话框相关效果诞生,我也非常期待大家的回复与创意~


○ GitHub仓库

我的RGSS3仓库地址为:https://github.com/OneEyedEagle/EAGLE-RGSS3
其中的 Message System 文件夹下放置了 对话框扩展 及其 AddOn 插件。
而其中的 Demos 文件夹下的 DEMO_EagleMessageEX 文件夹放置了我特地为这一套插件制作的简单范例工程。
出于私心,这个DEMO还携带了一个非常小的剧本,虽然没有绘制Fidelis系列的LOGO,不过它的确是我的某一个坑的剧情预热。

【2020.10.2 更新】由于真的有人完全搞不懂GitHub,所以我额外新增了一个 蓝奏云载点 密码是 fcu5,尽量保证和GitHub上的DEMO更新时间一致吧……


○ 英语版

超级感谢 Roninator2 和 BCj 努力把我的三个DEMO翻译成了英语版!具体请见这里
BIIIIIG THANKS to Roninator2 and BCj! They made awesome works to translate my three DEMOs into English version. More information is HERE.



○ 示例图

1
对话框扩展 + AddOn滚动文本框扩展
动图较大,酌情点开

【新增功能】其中全部文字特效均可在 对话框 中使用,但由于对话框的一些特性,并行绘制与指定文字位置的效果可能造成其他麻烦的问题,所以我没有给对话框转义符这些特性hhhh

2
对话框扩展 + AddOn选择框扩展 + 简单粒子系统发散式 + 粒子模板 + AddOn文字四散移出
事件脚本:$game_message.para = true
对话文本:\pop[1]\pout[1]\win[cwi3]据我推测,整件事情只有一个人有可能做到,\nl虽然说出来你会不信,不过全部证据都指向着他。
选项1:说重点。ex{ri-1rt1}
  事件脚本:t = "\\pop[1]啧,还是这么急。\n"
  事件脚本:$game_message.add_escape(t)
选项2:你确定?
对话文本:\pop[1]不管你信不信,这就是我全部的推理。
动图较大,酌情点开

【新增功能】当启用para开关时,选择框将会与对话框同步打开
【新增功能】选择框的文字移出效果,与对话框的文字移出效果相同

3
对话框扩展
脸图设置:名称:ph_t_1x1.png,索引:0
对话文本:\win[lh16]\pop[0w250h2]\cout[1]这当然是测试用的文本啦,写的非常长的一句话。
                测试换行效果。
                第三行呢?
                第四行会怎么样呢?\nl第五行了鸭!\facep[z-1dx-85dy50m1]
动图较大,酌情点开

【新增功能】脸图规格扩展,当脸图文件名含有 _mxn 格式的文本时(其中m和n为数字,x为小写字母X),在对话框中会认定该张图片为m行n列规格,若没有该文本,则为2行4列(同默认)
【新增功能】脸图z值偏移量的设置,当z值偏移量为-1时,将显示在对话框下方,且不占用对话框宽度;z值偏移值默认为1,脸图显示在对话框左侧,且占用宽度
【新增功能】内容滚动,当对话框的宽度高度固定时,在等待按键时,将开启内容滚动功能,此时按住方向键可以进行查看,按确定键或取消键继续下一指令

4
对话框扩展
对话文本:\cswing[o8]测试用一行文本。
动图较大,酌情点开

【新增功能】文字摇摆特效,全部文字特效已经整合到 Add-On选择框扩展 与 Add-On滚动文本框扩展 中。

5
对话框扩展
对话文本:\pop[0]\ctog[i0t10r1]警告\ctog[0]!——
\ctog[i0t12r1]警告!\ctog[0]
检测到\ctog[i0t30r0]不明身份\ctog[0]人员。
动图较大,酌情点开

【新增功能】文字切换特效。

6
对话框扩展
对话文本:\win[cwi1o5do-5fw1fh1]\cin[do5t30]\cout[do5t30vo30]这是故事最开始的地方,没有人知晓TA如何而来\pause[do2o5]
动图较大,酌情点开

【新增功能】指定文字移入移出的目的地。

7
对话框扩展
预览图较大,酌情点开

【新增功能】利用 \next 转义符,不关闭当前对话框,继续执行之后的事件指令,在下一个显示文本时,接着之前的对话框继续显示。

8
粒子发射器
动图较大,酌情点开

【新增功能】为老鹰的一些独立系统UI的背景,增加了动态连线的粒子特效


○ BUG反馈

由于我个人力量有限,在我未能完全尝试的情况下,部分转义符的组合可能会产生奇怪的BUG,请最好 截图 并 记录相关转义符变量参数值 来回帖询问。

【2020.5.3 更新】 ⑨姐姐因为接单原因用到了这个插件,所以开了一个Q群(647297622)进行交流使用,欢迎大家一起来扩展对话框的可能性~
点开查看二维码



○ 关于整合

原则上我并不想和其他任何对话框进行整合,
当然如果它们足够有趣或者你用钱砸我,我会热心帮忙。
【2020.8.22】对话框增强了兼容性,现在我的对话框完全独立于默认的对话框了,所以理论上可以和其他对话框一同存在。
同时在脚本开头处新增了一个常量,当该常量置为 true 时,将使用默认对话框。
但在事件中开启 $game_message 中的开关 eagle_message 后,将转而使用我的对话框。
并且由于独立了,并行对话等Addon也可以一起随其他对话框同时使用了。

评分

参与人数 37星屑 +1000 +37 收起 理由
夜久优奈 + 1 精品文章
hamiya + 1 哇塞好强挖!
D_Lohy + 1 I got it!
老白窗晗 + 1 太强了!
刘呱 + 1 棒啊!
bronya + 1 精品文章
ac97428 + 1 精品文章
AhsleaXron + 1 精品文章
越前リョーマ + 1 gif很生动
言言UwU + 1 精品文章

查看全部评分

Lv6.析梦学徒

老鹰

梦石
40
星屑
33439
在线时间
6555 小时
注册时间
2012-5-26
帖子
3178

极短24评委极短23参与极短22参与极短21评委老司机慢点开短篇十吟唱者组别冠军开拓者剧作品鉴家

2
 楼主| 发表于 2019-7-9 00:02:06 | 显示全部楼层
更新了两个gif示例图,最近新增加的功能,顺便修复了很多bug……
回复 支持 反对

使用道具 举报

Lv6.析梦学徒

老鹰

梦石
40
星屑
33439
在线时间
6555 小时
注册时间
2012-5-26
帖子
3178

极短24评委极短23参与极短22参与极短21评委老司机慢点开短篇十吟唱者组别冠军开拓者剧作品鉴家

3
 楼主| 发表于 2019-7-9 22:53:39 | 显示全部楼层
本帖最后由 百里_飞柳 于 2019-7-9 22:54 编辑
火锅深处 发表于 2019-7-9 21:53
今天更新的版本下来显示stack level too deep......
然后,之前的版本,有一个疑问,不过这个不知道应该在 ...


关于对话快进:
MESSAGE_EX#skip?方法,将在每帧判定是否执行快进,我写了false,但后面保留了被注释的 Input.trigger?(:CTRL),你将false和#删了,就是按下ctrl键快进跳过当前对话(并不是快速完成显示,而是直接强制结束并关闭当前对话框)

我并未开启该功能,快进是直接放弃未绘制的内容,但因为我对话框实现原理的限制,未绘制的随文本更新而生效的转义符也将被跳过,这可能会导致一些不必要的显示错误,如果想启用快进功能,请务必确保位于文本中间或结尾的转义符不是非常重要的设置。

点评

嗯,目前是放弃转义符直接断成两句话了= =  发表于 2019-7-9 23:00
回复 支持 反对

使用道具 举报

Lv6.析梦学徒

老鹰

梦石
40
星屑
33439
在线时间
6555 小时
注册时间
2012-5-26
帖子
3178

极短24评委极短23参与极短22参与极短21评委老司机慢点开短篇十吟唱者组别冠军开拓者剧作品鉴家

4
 楼主| 发表于 2020-4-29 19:12:09 | 显示全部楼层
翠靈月 发表于 2020-4-29 18:17
想请教一下并行对话的部分
为什么照着示例做却会报错呢

是改错了一个地方,已经更新

可以用 p.direction 获取玩家的朝向(2468四方向)进行判定

如果已经有详细的设计,推荐用并行事件+事件脚本 MESSAGE_PARA.add(name, list_str[, ensure_fin]) 与 MESSAGE_PARA.list_finish(name) 来手动处理……

点评

可以了!非常感谢!  发表于 2020-4-29 23:59
这个是RGD里面的精灵wave的0值错误,之后⑨姐姐会更新下RGD;你可以先注释掉我对话框里的全部 wave_amp,wave_length,wave_speed,wave_phase 等  发表于 2020-4-29 20:39
刚刚交互测试的结果似乎是没办法跟RGD兼容,新版本的等等测试看看  发表于 2020-4-29 20:34
我再更新了下你试试,新开游戏会崩溃么  发表于 2020-4-29 20:21
有的,两个脚本都有更新,甚至直接把相关脚本都砍了从DEMO全部重抓再更新 但是用DEMO工程更新脚本测试又没问题...只好开新工程转移看看了  发表于 2020-4-29 20:16

评分

参与人数 1+1 收起 理由
翠靈月 + 1

查看全部评分

回复 支持 反对

使用道具 举报

Lv6.析梦学徒

老鹰

梦石
40
星屑
33439
在线时间
6555 小时
注册时间
2012-5-26
帖子
3178

极短24评委极短23参与极短22参与极短21评委老司机慢点开短篇十吟唱者组别冠军开拓者剧作品鉴家

5
 楼主| 发表于 2020-5-3 11:51:05 | 显示全部楼层
最新更新,增加了一个实时交流的Q群

以及对话框等又更新优化了一轮,现在更加稳定高效了()
回复 支持 反对

使用道具 举报

Lv6.析梦学徒

老鹰

梦石
40
星屑
33439
在线时间
6555 小时
注册时间
2012-5-26
帖子
3178

极短24评委极短23参与极短22参与极短21评委老司机慢点开短篇十吟唱者组别冠军开拓者剧作品鉴家

6
 楼主| 发表于 2020-8-22 18:58:31 | 显示全部楼层
增强了兼容性,现在可以通过切换对话框来与其他对话框脚本共同使用了

当然,也可以直接关闭我这个对话框,然后使用addon并行对话来进行一些特效演出
回复 支持 反对

使用道具 举报

Lv6.析梦学徒

老鹰

梦石
40
星屑
33439
在线时间
6555 小时
注册时间
2012-5-26
帖子
3178

极短24评委极短23参与极短22参与极短21评委老司机慢点开短篇十吟唱者组别冠军开拓者剧作品鉴家

7
 楼主| 发表于 2021-8-23 17:32:34 | 显示全部楼层
N多次更新后的自顶:

- 把词条系统(文字版)加入了DEMO中,并且与Addon关键词信息查看进行适配
- 对话框增加了 {{}} 格式文本来调用ruby脚本
- 修复了对话框中的几个奇怪的应该不会有人触发的bug
- Addon选择框扩展优化的注释排版,并且增加了选项的名称,用于制作一次性选项与选过选项的变色
回复 支持 反对

使用道具 举报

Lv6.析梦学徒

老鹰

梦石
40
星屑
33439
在线时间
6555 小时
注册时间
2012-5-26
帖子
3178

极短24评委极短23参与极短22参与极短21评委老司机慢点开短篇十吟唱者组别冠军开拓者剧作品鉴家

8
 楼主| 发表于 2021-8-23 22:19:29 | 显示全部楼层
Nil2018 发表于 2021-8-23 21:48
老鹰大大,这个对话拓展太醋虾了,比较头疼的是我发现和Sion防卡脚本有冲突,自己的工程事件比较多,比较依 ...

这个的确是我对话框有个bug,导致未找到精灵时直接报错
下个版本会修复,未找到精灵时取消pop效果

和这个插件的兼容如下,放到两个脚本的下面就可以了
  1. #=============================================================================
  2. # ○ 对话框扩展 兼容【事件管理器 v1.1 by Sion】
  3. # 放置于【事件管理器 v1.1 by Sion】与【对话框扩展 by老鹰】之下
  4. #=============================================================================
  5. class Window_EagleMessage
  6.   #--------------------------------------------------------------------------
  7.   # ● 获取pop对象的精灵(用于计算偏移值)
  8.   #--------------------------------------------------------------------------
  9.   def eagle_get_pop_sprite
  10.     # 地图场景中,所存储的并非精灵,需要再次检索
  11.     if pop_params[:type] == :map_chara
  12.       begin
  13.         SceneManager.scene.spriteset.character_sprites.each do |s|
  14.           return s if s.character == @eagle_pop_obj
  15.         end
  16.         SceneManager.scene.spriteset.events_sprites.each do |e, s|
  17.           return s if e == @eagle_pop_obj
  18.         end
  19.       rescue
  20.       end
  21.       return nil
  22.     end
  23.     return @eagle_pop_obj
  24.   end
  25. end
  26. class Spriteset_Map
  27.   attr_reader :events_sprites
  28. end
复制代码

点评

太感谢了!!(流泪  发表于 2021-8-23 22:43
回复 支持 反对

使用道具 举报

Lv6.析梦学徒

老鹰

梦石
40
星屑
33439
在线时间
6555 小时
注册时间
2012-5-26
帖子
3178

极短24评委极短23参与极短22参与极短21评委老司机慢点开短篇十吟唱者组别冠军开拓者剧作品鉴家

9
 楼主| 发表于 2021-10-24 22:16:48 | 显示全部楼层
值此程序员整数节日1024,给对话框的DEMO进行了更新

加上了最新写的 粒子发射器 插件,对话框可以使用 \pout 转义符调用粒子特效来移出文字
并且为 对话日志 等我的独立UI加上了炫酷的背景粒子连线的特效

大概没有人能看懂我的粒子系统的使用方法吧(瘫)
所以如果有什么有趣的粒子特效想法也欢迎大家讨论

然而现在这个 粒子发射器 还太菜了,只能进行粒子的发射,没法聚集……

回复 支持 1 反对 0

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-5-9 12:37

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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