天工维度魔兽争霸开发者社区-全国最大的TJ集中营-原提百万联盟
标题:
【T】伤害事件和逆天
[打印本页]
作者:
Seago
时间:
2020-11-2 02:07
标题:
【T】伤害事件和逆天
本篇比较简单,是纯理论分析。一个朋友偶然遇到的问题就总结一下以提醒新手。
做伤害扩展的时候比较容易出现套娃的现象导致死循环,相信大家都知道。所以需要添加一些条件以避免重复触发的情况。
那么加条件有两种方式,1种是直接在触发器的条件中添加,1种是在动作中使用If来添加。一般情况下,两者的执行效果没有什么区别。
本篇教程要说一个特殊情况,和逆天局部混用。
首先说一下两种方式的区别。T中,触发器界面有三个部分,事件,条件,动作。当满足事件时,会先检查条件,如果条件通过,则去执行动作。所以我们很容易得出结论:如果我们将条件写在触发器的条件中,条件不通过,
则触发器的动作不会被执行
。如果将条件写在触发器的动作中,那么无论这个条件是否满足,
都必然需要先执行触发器的动作
,然后才会去判断这个条件,进而决定后面的动作是否需要被执行。
两者最根本的区别就在于触发器动作这个整体是否执行了
。
再来看逆天局部的原理。以前的教程中有简单的提过,逆天局部的本质是使用哈希表来存取数据。它以当前触发器的handleId作为主索引,
基于此触发器动作的执行次数产生一个次索引
。次所引的产生方式是黑盒的,即使用T的作者是不要感知的。
两者结合便可能产生一些问题。以伤害扩展为例。我想做一个溅射伤害。那么通常会以是否为普攻伤害作条件进行区分,避免产生套娃。那么简单的思路就是,任意单位受伤害,如果伤害是普攻伤害,选取XX范围内的XX单位做动作。在这一过程中,可能需要进行一些计算,比如根据攻击力、溅射伤害率等计算实际的伤害值。如果使用逆天局部来记录一些数值的话,有的人会发现,对单位组进行伤害的时候,只有第一个单位被伤害了,后面的单位都无事发生。为什么会出现这样的情况?
通常出现这种情况的原因,是用于区分的条件被写在了动作中,并且触发中使用了逆天局部进行数据的存取。
结合前文的机制分析。假如将条件写在动作中,那么当我们普攻一个单位时,触发了伤害事件,选取单位做动作。伤害第一个单位,再次触发了伤害事件,执行事件的动作。动作中的条件判断这不是普攻,所以结束触发,没有产生套娃。于是接着对第二个单位造成伤害,失败。继续第三个,依然失败……为什么第二个开始会失败?因为伤害第一个单位时又触发了一次伤害事件。前文分析过,
逆天局部的次索引是基于当前触发器的动作的执行次数的。
因此,虽然在动作中增加了条件判断是否普攻伤害避免了套娃现象,但是这并没有阻止动作本身被执行,所以执行次数增加了,此时次索引被改变了,因此当对后面的单位再造成伤害时,之前记录的逆天局部已经无法获取了。而如果将条件写在触发器的条件中时,则
对第一个单位造成伤害,触发伤害事件,触发器的条件检查阶段发现不通过,直接阻止了后续的事情,不会再进入触发器的动作执行阶段,逆天局部的次索引也就没有改变,原来的逆天值也就还可以取到
,所以后续的伤害也都能正常进行。
作者:
qq200877776
时间:
2020-11-2 02:50
感谢分享~
作者:
nkjvxdaf
时间:
2020-11-2 08:07
感谢,学习了
作者:
退隐的老者
时间:
2020-11-2 09:59
让我看看
作者:
yishiwangxi
时间:
2020-11-2 10:40
技术贴,感谢大佬分享
作者:
安圣基
时间:
2020-11-2 11:07
有演示图吗
作者:
是我是我
时间:
2020-11-2 12:51
感谢,学习了
作者:
thk1992
时间:
2020-11-2 19:45
康康是什么
作者:
三分
时间:
2020-11-3 14:11
感谢分享
作者:
晚秋
时间:
2020-11-3 15:58
感谢分享,学习下
作者:
xueyuan1996
时间:
2020-11-3 16:37
看的一脸懵
作者:
沃之文化
时间:
2020-11-3 19:51
感谢,学习了
作者:
大将老龙
时间:
2020-11-3 22:31
感谢分享~
作者:
sanyangzhihuo
时间:
2020-12-14 15:39
感谢大佬 谢谢
作者:
yo梦
时间:
2020-12-14 23:37
感谢,学习了
作者:
萌新灰尘
时间:
2021-2-20 03:56
感谢学习到了
作者:
q313182461
时间:
2021-2-20 08:13
懵逼。。大老牛逼,看不懂。。
作者:
kiss220265
时间:
2021-2-22 10:26
谢谢楼主,看一下
作者:
山居客
时间:
2021-3-9 12:05
感谢,学习了
作者:
qqwwee147159
时间:
2021-3-17 19:15
受益匪浅 大进步啊我
作者:
liou111213
时间:
2021-6-30 13:30
感谢分享~
作者:
SKinsomnia
时间:
2021-7-26 16:03
伤害触发用了就卡,不知道什么鬼
作者:
傲月残云
时间:
2021-9-6 09:56
这个原理还是很不错的
作者:
天行无方
时间:
2021-9-6 16:59
感谢分享
作者:
七绪
时间:
2021-10-12 11:01
了解一下。。
作者:
qwer4869
时间:
2021-10-22 21:47
学习一下
作者:
瀚海漂流
时间:
2021-10-27 13:02
学习了 看看是什么
作者:
xianshi
时间:
2021-11-9 17:59
看看是什么
作者:
牧少皇
时间:
2021-11-15 01:33
膜拜粉少,电个牛子
作者:
今晚不打老虎
时间:
2021-12-5 01:00
张伟伤害头疼呢!!!
作者:
小脑薯胖了胖
时间:
2021-12-17 13:04
继续学习
作者:
1148172801
时间:
2021-12-18 13:08
支持支持!!!!!支持大佬!!!!!
作者:
艾拉吃布丁
时间:
2022-1-21 01:33
学习了!
作者:
斯内克
时间:
2022-5-5 11:04
技术贴,感谢大佬分享
作者:
lcszdewv
时间:
2022-7-13 04:59
看看写了什么
作者:
剑云
时间:
2022-11-24 10:49
4644FDHHFJ
作者:
永恒之奕
时间:
2023-1-19 17:16
我来看看
作者:
duacroy
时间:
2023-1-27 18:16
谢谢分享,学习一个
作者:
青邶.
时间:
2023-5-11 23:25
学习学习
作者:
Acelin
时间:
2023-7-1 09:28
我来瞅瞅
作者:
qababfyi
时间:
2024-1-10 19:57
感谢,学习了
作者:
eevvok
时间:
2024-2-24 02:59
支持一下,希望天工越来越好
作者:
暗夜の风雨
时间:
2025-11-23 13:26
谢谢大佬分享
作者:
GMs2484990328
时间:
2026-1-23 03:19
感谢分享 学习
欢迎光临 天工维度魔兽争霸开发者社区-全国最大的TJ集中营-原提百万联盟 (http://bbs.mvprpg.com/)
Powered by Discuz! X3.4