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

Project1

 找回密码
 注册会员
搜索
查看: 4204|回复: 3

[原创发布] 【老鹰的RGSS3脚本小巢】事件消息机制

[复制链接]

Lv6.析梦学徒

老鹰

梦石
39
星屑
33308
在线时间
6542 小时
注册时间
2012-5-26
帖子
3176

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

发表于 2019-12-14 16:12:15 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 百里_飞柳 于 2023-11-4 20:13 编辑


LOGO.png
LOGO绘制by @congwsbn

○ 前言

上一次发布了一系列的对话框相关扩展插件,感觉应该大概是帮到了人的(...)
这一次通过参(chao)考(xi)著名的消息机制,给RM里的地图事件也增添了这个机制,自认为还是非常方便且有趣的~

○ 概述

在默认的事件机制中,主要依靠的是事件页的触发条件以及事件页的优先层级(序号大的优先被判断与执行)来进行各种事件互动,
虽然这样能够非常容易的保存事件的当前状态,但是在默认编辑器中,各个事件都是独立且封闭的,想让事件与事件之间交互只能依靠全局开关/变量,或者依靠全局独立开关(如 $game_self_switches[ [map_id, event_id, switch_name] ])来进行控制,十分不方便。

如果想做个使用物品触发目标事件(比如用钥匙开门):
· 第一种方法是在目标事件(门的事件)中使用条件判定,当玩家触发该事件时,若玩家持有道具(钥匙)就执行内容(开门),很明显,这样做减少了玩家的主动互动过程,关键道具的使用是自动化的;
· 第二种方法是在上一种的基础上,在判定道具持有前加入“物品选择窗口”,若选择的物品恰好是目标物品,则执行内容,这样做的缺点是道具的使用被限制在了指定事件内部,如果一个道具能对很多事件使用,每一次都不得不进行重复选择,很容易让人感到枯燥;
· 第三种方法是依靠物品使用后能执行公共事件,在公共事件内部判定玩家面前的坐标/区域ID,再结合当前地图ID来处理道具使用的结果,这样做虽然令道具使用异常自由,但制作时需要手动编写大量的坐标判定,并且事件执行内容需要放到公共事件内,而不是目标事件,日后测试时要在物品调用的公共事件与目标事件中反复查看,很容易在制作后期遗忘。

(当然在默认机制下,物品的使用也是非常尴尬繁琐的,这个等以后弄个简易UI吧。)

○ 可能问题

由于该插件生成了新的事件解释器,并且与默认的事件并行执行,因此可能与原本正在执行的事件发生全局内容的竞争,如对话框所显示的文本,而这种情况在战斗场景中的发生非常频繁,请注意合理安排消息传入的时机。

○ GitHub仓库

本插件地址:https://github.com/OneEyedEagle/ ... F%E6%9C%BA%E5%88%B6
同文件夹目录下还有对默认计时器的扩展、新增绑定于全局变量的计数器、事件页触发条件扩展等。

○ 示例

简易物品触发事件
1、事件编写
解析:当正常触发时,无事发生。
Snipaste_2019-12-14_15-42-54.png

2、物品编写
解析:由于物品可以在任意地方使用,因此修改为非消耗品,同时新增了触发公共事件
Snipaste_2019-12-14_15-43-20.png

3、公共事件编写
解析:调用了插件中的扩展指令,获取了玩家面前一格的事件对象,以及最近一次所用技能/物品的实例,并给面前一格的事件传入消息“投喂 物品名称”,若传入消息成功(返回值为 true,则失去一个该物品)
Snipaste_2019-12-14_15-43-31.png

4、实际运行:面对事件,在菜单中使用物品恢复剂后
解析:触发标签 “投喂 恢复剂” 与 “END” 之间的指令,而不触发之后的指令
Snipaste_2019-12-14_15-43-53.png

评分

参与人数 3星屑 +500 +2 收起 理由
cinderelmini + 1 精品文章
Kim_Shyuen + 1 精品文章
VIPArcher + 500 原创发布

查看全部评分

Lv5.捕梦者 (管理员)

老黄鸡

梦石
0
星屑
39352
在线时间
7470 小时
注册时间
2009-7-6
帖子
13482

开拓者贵宾

发表于 2019-12-14 16:32:53 | 显示全部楼层
不行,要懂脚本的,根本不会用
https://rpg.blue/thread-189882-1-1.html
其实我以前也弄了个类似的玩意儿
RGDirect - DirectX驱动的RGSS,点我了解.
RM全系列成套系统定制请联系QQ1213237796
不接受对其他插件维护的委托
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
126
在线时间
9 小时
注册时间
2019-8-11
帖子
11
发表于 2019-12-14 16:34:35 | 显示全部楼层
老鹰解解牛逼——!!!(破音——)
这回的说明超级详细诶!太赞啦!
回复 支持 反对

使用道具 举报

Lv6.析梦学徒

梦石
56
星屑
14036
在线时间
3770 小时
注册时间
2016-6-17
帖子
1046

开拓者

发表于 2019-12-14 20:19:58 | 显示全部楼层
真不愧是鹰菊苣,我来力
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-3-29 04:07

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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