Project1

标题: 点击即触发事件 [打印本页]

作者: apple5740    时间: 2022-6-17 16:26
标题: 点击即触发事件
本帖最后由 apple5740 于 2022-8-8 13:48 编辑

感谢群大佬 腹黑酱 提供的思路。
一个萌新。大量参考了ye大佬 插件 Event Click Trigger 的写法。

触发条件的确定键 还需要角色靠近事件,泪目!


现在点击事件,会跳过强制移动角色的行为。
会触发点击坐标的所有事件。

可以使用 $skip_move_switch = false; 来关闭此插件的效果。
可以使用 $single_event = true;         切换成执行该坐标的单个事件

//补充
如果你的事件里有用脚本写的
$gameMessage.add();这样的方法。
你可能会遇到对话框还在的时候,仍可以点击其他事件的问题。。
那么可以在脚本最后面加一句
if($gameMessage.isBusy()) this.setWaitMode("message");
//或者加下面这一句,
$gameMap._interpreter._waitMode = "message";
目的是增加一个等待状态


有不妥的地方,请告知。。感谢。

apple_skip_move20220808_2.rar (913 Bytes, 下载次数: 94, 售价: 1 星屑)


作者: 莫无情    时间: 2022-6-17 17:18
牛啊牛啊,支持一下
作者: PiresSo    时间: 2022-6-20 17:04
支持支持!
作者: yxd5108    时间: 2022-6-20 21:07
嗯,好东西好东西!我再提供下游戏情节思路,这个可以用于大家游戏情节中“来找茬”环节,直接点击触发!
作者: zzfzy    时间: 2022-6-21 21:10
不错不错{:4_95:}
作者: x_you_ming    时间: 2022-7-9 11:04
好实用的插件
作者: caffee.bee    时间: 2022-8-7 00:34
不好意思,那個切换成执行该坐标的单个事件....
我不是很明白是怎樣的,可以舉例子嗎??
作者: apple5740    时间: 2022-8-8 06:26
caffee.bee 发表于 2022-8-7 00:34
不好意思,那個切换成执行该坐标的单个事件....
我不是很明白是怎樣的,可以舉例子嗎?? ...

是我不太懂制作插件的原因。。
1.第一个方式
你可以修改插件中的
$single_switch = false;
语句将它改为
$single_switch = true;
2.第二个方式
也可也在游戏中使用事件来执行下面的脚本
$single_switch = true;  
上面两个方式都能达到执行单个事件的目的。
我去研究一下怎么做成参数的形式
作者: apple5740    时间: 2022-8-8 07:25
caffee.bee 发表于 2022-8-7 00:34
不好意思,那個切换成执行该坐标的单个事件....
我不是很明白是怎樣的,可以舉例子嗎?? ...

重置了帖子的资源,加了一个可以改变开关的参数,如果有问题麻烦再告知我一下。。
作者: caffee.bee    时间: 2022-8-8 12:02
本帖最后由 caffee.bee 于 2022-8-8 12:06 编辑
apple5740 发表于 2022-8-8 07:25
重置了帖子的资源,加了一个可以改变开关的参数,如果有问题麻烦再告知我一下。。 ...


好的....我試了一下...希望不要嫌棄我很麻煩....因為這的確是很好的插件。至少對我來說.....
首先,$skip_move_switch = false; 我能理解為全局設定...?
然後,$single_switch = true; 是全局中的一個事件獨立開闢?

試了一下....不輸入腳本的情況下直接使用是沒問題的。(事件1觸發器:確定鍵)(事件2觸發器:玩家接觸)
接著輸入了:$skip_move_switch = false;基本都沒問題。(事件3觸發器:並行)

在不刪除$skip_move_switch = false;的情況下,在個單事件(事件1觸發器:確定鍵)中輸入$single_switch = true;
*插件設定參數不變。

事件1&事件2的結果是都需要角色靠近事件....

假如是我操作上有問題,或是理解错误。請指正我一下,謝謝。


作者: apple5740    时间: 2022-8-8 13:37
caffee.bee 发表于 2022-8-8 12:02
好的....我試了一下...希望不要嫌棄我很麻煩....因為這的確是很好的插件。至少對我來說.....
首先,$skip ...

是的,你的操作是正确的。
$skip_move_switch = false。 是关闭插件的效果。
让事件变成原来的触发方式,也就是需要靠近触发。
可以理解成暂时关闭插件。
如果插件被暂时关闭,$single_switch 的值也就没有意义啦。

$single_switch 是用于这样的一种情况,有的时候,在事件可以移动的时候,同一个坐标位置可能有N个事件。
这个时候single_switch的开关可以用于选择只触发这个位置的一个事件,或者N个事件。
造成这个误会可能是因为我对引擎的事件不太熟悉,导致用了single_switch这样名称跟引擎的事件一些设定冲突了。。实在抱歉
作者: apple5740    时间: 2022-8-8 13:39
caffee.bee 发表于 2022-8-8 12:02
好的....我試了一下...希望不要嫌棄我很麻煩....因為這的確是很好的插件。至少對我來說.....
首先,$skip ...

很感谢你的指出,我这就去修改一下我的描述
作者: caffee.bee    时间: 2022-8-8 22:00
本帖最后由 caffee.bee 于 2022-8-9 16:15 编辑

其实还有一点点问题的...
不过对想做一个地图中,所有事件都需要"跳过"来说...

除了single_switch不明白外...
我觉得还算是能接受的问题,至少能解决我的苦恼qwq。
再加上我不是很确定问题是否影响到工程....
所以没提出小问题。

不过今天尽可能提出的,或许有的问题已经知道了...
希望插件改善也许不错……否则,楼主你可以无视这条回覆的。


首先,在MAP1那里有事件1和事件2


测试1:事件1触发器:确定键/事件2触发器:玩家接触

结果  :事件1&事件2都能直接跳过。


测试2:事件1触发器:确定键/事件2触发器:玩家接触
             *建立事件3触法器:并行,用来关闭跳过

结果  :事件1&事件2都需要角色靠近事件。


测试3:事件1触发器:确定键/事件2触发器:玩家接触
             *建立事件3触法器:并行,且在事件2中添加脚本$single_event = true

测试4:事件1触发器:确定键/事件2触发器:玩家接触
             *建立事件3触法器:并行,且在事件2中的添加脚本$single_event = true

测试5:事件1触发器:确定键/事件2触发器:玩家接触
             *建立事件3触法器:并行,且在事件2中的添加脚本$single_event = true转移到第二页

结果:测试3,4,5都需要角色靠近。


测验6:建立新地图MAP2,加入NPC,点撃NPC就可以关闭跳过,事件1&事件2保持不变
             *将MAP1的事件3脚本的skip_move_switch 改为true

结果:从map1去到map2能成功点撃事件使角色跳过靠近,点撃npc后关闭跳过,返回map1后也能使角色跳过靠近。



结论:single_event = true好像一点反应都没有………qwq。
作者: apple5740    时间: 2022-8-10 04:47
本帖最后由 apple5740 于 2022-8-10 05:19 编辑
caffee.bee 发表于 2022-8-8 22:00
其实还有一点点问题的...
不过对想做一个地图中,所有事件都需要"跳过"来说...


你好,非常感谢测试!因为你修改的帖子,我这边没有及时收到提示消息,回复的比较晚。
造成测试后困惑的原因。。我觉得还是我描述有问题。。。
首先
如果在事件脚本中加入$single_event = true这个语句,则需要先触发这个事件,才能执行该语句。
其次
你可以通过点击F12在控制台输入 $single_event 查看该变量的状态。
最后
至于您帖子中提到的345测试都需要角色靠近才能触发,我怀疑是因为该插件的效果被关闭了。

如果你要测试$single_event的功能,应该让多个事件重合在一个坐标,来测试它是否触发一个事件,或者多个事件同时被触发。
你可以这样来测试$single_event,首先将1,2事件移动到同一个坐标,通过事件3来改变$single_event的值,然后点击1,2事件的坐标,查看是否有1跟2事件同时被触发的情况。
插件逻辑是跳过主角移动到该事件位置的环节,不牵扯事件中其他设定,比如事件页,并行等。
如果有其他的问题,欢迎加我的QQ,一起来在线探讨把~




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1