找回密码
 点一下
查看: 455|回复: 5

自定义触发器事件要如何用

[复制链接]
发表于 2016-1-4 20:51:18 | 显示全部楼层 |阅读模式
本帖最后由 yxxiaobin 于 2016-1-7 09:54 编辑

目前我是这样做的:在需要抛出事件时调用一个“发送常规事件”动作,然后定义一个自定义事件,动作只有一条自定义代码“TriggerAddEventGeneric(t, "***")”,星号指代发送常规事件里指定的字符串名称。然后在需要响应自定事件的触发器里直接使用这一自定事件。倒是能正常响应,但是无法做出与之配合的类似于“进行触发的单位”这样的响应函数。倒是想到了使用普通函数来读取一个全局变量,但这非常不可靠的:因为同一时刻可能有多个触发器实例抛出这一事件,这时该全局变量就会依次被重写,然后才是自定义事件响应,运行后续触发器,这无疑会导致一部分触发器读取到错误的值。请问有没有办法做出这样的“单独配给”的响应函数呢?另外系统的此类函数都能探测事件,从而标定这一函数是否可用(比如你响应玩家聊天事件,就会发现“进行触发的单位”这一函数是灰的,自定义的事件和函数是否也有这样的功能呢?

----------------------------------------------------------------------------------------------
目前想到一个替代方案:在需要抛出事件时,用一个空集合效果命中单位,然后在自定义事件里注册“使用效果”事件,这样实际上自定义事件就转换成了“使用效果”事件,和此事件相关的函数有些是内置的(比如效果的目标,触发玩家等等),有些则可以通过内置函数计算出来(比如目标单位的位置),只要用一个自定义函数包装一下就可以了。但是这只适合与单位有关的事件,其他事件可能不适用。当然在对待和单位无关的事件时,或许也可以用类似的方法来调用内置函数,但是不知道这是否是最优做法。
总之还是期待头目的全面教程。
发表于 2016-1-5 10:57:25 | 显示全部楼层
啊,我正打算写一篇教程。

不过要等等,最近生病了。

点评

生病了还关注着大家……心疼头目  详情 回复 发表于 2016-1-6 10:49
施个法,头目马上就好了  详情 回复 发表于 2016-1-5 23:50
身体要紧。最好去医院看看。  发表于 2016-1-5 11:54
回复

使用道具 举报

发表于 2016-1-5 23:50:20 | 显示全部楼层
麦德三世 发表于 2016-1-5 10:57
啊,我正打算写一篇教程。

不过要等等,最近生病了。

施个法,头目马上就好了
回复

使用道具 举报

发表于 2016-1-6 10:49:07 来自手机 | 显示全部楼层
麦德三世 发表于 2016-1-5 10:57
啊,我正打算写一篇教程。

不过要等等,最近生病了。

生病了还关注着大家……心疼头目
回复

使用道具 举报

发表于 2016-1-6 14:53:51 | 显示全部楼层
神一样的人居然还会被疾病所困扰!这世道变了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 点一下

本版积分规则

Archiver|移动端|小黑屋|地精研究院

GMT+8, 2024-10-6 23:01 , Processed in 0.047666 second(s), 22 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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