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

Project1

 找回密码
 注册会员
搜索
12
返回列表 发新帖
楼主: 於十五
打印 上一主题 下一主题

[已经解决] 求问怎么判断是否在对话中

[复制链接]

Lv4.逐梦者

梦石
0
星屑
13748
在线时间
5689 小时
注册时间
2011-7-18
帖子
158

开拓者

11
发表于 2021-11-15 01:11:35 | 只看该作者
本帖最后由 gqxastg 于 2021-11-15 16:34 编辑

首先需要清楚的是,在这里涉及的有“判断是否在对话中”和“并行处理的事件在对话中不能执行”两个问题

对于前者,使用
  1. $game_message.busy?
复制代码
进行判断是正确的,官方在事件解释器的wait_for_message(等待显示对话)中就是这样处理的

而对于后者,详见:https://rpg.blue/thread-481754-1-1.html
简言之,因为不明设计原因,事件每次执行前默认会wait_for_message,导致当对话显示时,并行处理的事件会卡在这个等待中,而无法开始新一轮的执行

所以正确解法是:
按照上述链接里的帖子所写的,脚本新开一页插入
RUBY 代码复制
  1. class Game_Interpreter
  2.   #--------------------------------------------------------------------------
  3.   # ● 执行
  4.   #--------------------------------------------------------------------------
  5.   def run
  6.     #wait_for_message
  7.     while @list[@index] do
  8.       execute_command
  9.       @index += 1
  10.     end
  11.     Fiber.yield
  12.     @fiber = nil
  13.   end
  14. end
(注意:因为这段代码是覆盖性操作,请尽量放在其他外来脚本的上方)
然后在并行处理的事件里

如图,像这样判断即可

或者如果你不想污染默认脚本,也可以:
在并行处理的事件里

如图,像这样操作即可,无须插入其他脚本
(注意:循环和等待1帧是必要的,如需执行其他事件指令需要放在这两个之间。当然了,如果你有需要读取第一行注释的脚本,可以把注释指令放在循环上面)
原理是既然事件只有每次执行前才会wait_for_message,那么就套一层循环,来让事件永远不结束,也就不会再经过新一轮执行的步骤了

↓ 感谢鹰大补充。那个帖子里这样做的目的是跳过结束部分,而这里主要是为了跳过开始部分。当然在这里也能享受到同样的好处(指解决事件结束时会多等待1帧的问题)

点评

啊啊啊啊谢谢大佬!!成功了成功了!!  发表于 2021-11-15 20:42
关于循环和等待1帧的原理,具体可以见 https://rpg.blue/thread-406532-1-1.html  发表于 2021-11-15 08:53
大大你看10L的方法能行么???  发表于 2021-11-15 07:38

评分

参与人数 2星屑 +250 +1 收起 理由
alexncf125 + 250 认可答案
hyrious + 1 认可答案

查看全部评分

这里岚风·雷,任饭、PM理性粉、UT/DR原作粉、(Trans)Furry自萌,半吊子技术一枚_(:з」∠)_    游戏制作交流工(liao)作(tian)室欢迎来玩!
【无偿/有偿】RGSS3(VA)脚本定制 + 合作招募/同好交友    修正Firefox/火狐浏览器的代码框复制问题(油猴脚本)
Click→←Click
回复 支持 1 反对 0

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
2851
在线时间
446 小时
注册时间
2016-9-26
帖子
1222
12
发表于 2021-11-15 07:25:16 | 只看该作者
你们ruby的大佬就是多
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
328
在线时间
84 小时
注册时间
2018-3-30
帖子
7
13
 楼主| 发表于 2021-11-15 20:43:55 | 只看该作者
辛苦大佬们了!!问题解决了!太谢谢了!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-4-24 09:12

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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