利用buff表,攻击触发,带参数的的BUFF的问题
引擎版本:2024.5.23.0问题描述:因为无法直接用BUFF表实现带参数和冷却CD的BUFF,所以采用BUFF了表的攻击触发做了一个监听来实现带参数和冷却CD的BUFF功能,这样写是否比脚本触发节省资源?
编号10043的BUFFID,为常驻BUFF,作为攻击触发用
10043攻击触发,监听触发,获取是否是10044触发的,最后在监听里面判断。
效率基本一样的 都是在触发里弄的 你这个做法我有点没搞懂,你弄这个10044是干嘛的,单纯用来检测是否要ADDBUFF 10026
那你增加10044的时候改成增加10026不就行了。
还有你说的BUFF冷却的问题,我也遇到过,用脚本是可以增加一个倒计时解决,用BUFF表的话,是不是挺尴尬,其实也是可以实现的,仔细看看忽视组的功能,搞一个忽视组的冷却BUFF,这样在这个BUFF存在期间,就不能继续再中BUFF,相当于也是冷却。不过我也是菜鸟,测试通过了有效,还没有经过实战。
BUFF监听你敢这么玩,卡不死才怪:D 空心菜菜 发表于 2024-7-25 16:55
你这个做法我有点没搞懂,你弄这个10044是干嘛的,单纯用来检测是否要ADDBUFF 10026
那你增加10044的时候 ...
10044上面,还有一个10043,这个10043是万分比的攻击触发,
10043触发了,就会激活10044,和10045。通过监听这两个BUFF(新增),就给对应的状态,我试过了1000的**器,将近300人不卡。
sunkun25184 发表于 2024-8-3 17:29
10044上面,还有一个10043,这个10043是万分比的攻击触发,
10043触发了,就会激活10044,和10045。通过 ...
我主要的几个BUFF,都是执行一个10043(万分比攻击触发),触发监听就会给对应的BUFF(BUFF有冷却CD) sunkun25184 发表于 2024-8-3 17:29
10044上面,还有一个10043,这个10043是万分比的攻击触发,
10043触发了,就会激活10044,和10045。通过 ...
不卡是因为10044和10045被触发的概率本身不高,所以监听不频繁。
我不明白的是,为啥要通过监听10044和10045,再给10026,直接给10026不行吗?
我猜测是为了给冷却,判断冷却 空心菜菜 发表于 2024-8-5 13:56
不卡是因为10044和10045被触发的概率本身不高,所以监听不频繁。
我不明白的是,为啥要通过监听10044和1 ...
直接给10026也是需要触发条件(触发概率,触发冷却,BUFF数值是否大于0) 空心菜菜 发表于 2024-8-5 13:56
不卡是因为10044和10045被触发的概率本身不高,所以监听不频繁。
我不明白的是,为啥要通过监听10044和1 ...
你可以去试下,这两种方式的耗时,只监听新增,别监听所有。 sunkun25184 发表于 2024-8-7 21:50
你可以去试下,这两种方式的耗时,只监听新增,别监听所有。
你这个我明白了,主要是10026带了时间和层数的参数,时间好说吧默认表里的,层数如果BUFF表触发出来的BUFF,每次应该是1吧
所以你这么做的目的是能直接给到指定BUFF层数,这是BUFF表触发不具备的,所以你才绕了一个弯子,用监听来触发,并且这个监听的频率也不高
技术也说这样效率差不多,那也是一种途径吧,特殊需求。
根据你这个启发,有一些情形我反而觉得你这个更优化啊,
比如玩家血量低于20%的时候,被攻击有几率触发BUFF
我现在是攻击的时候检测血量,加上几率是否执行触发BUFF
这样就可以改成按几率触发BUFF,新增BUFF的时候在监听里检测一下血量是否符合要求即可触发BUFF
感觉好像是要灵活一点,而且避免了每次攻击都去检测血量,应该是优化了吧。
纯属探讨啊兄弟,我是新来的996菜鸟
如果10026不是有参数要求,只有CD冷却的要求,我是这么做的,不知道你觉得如何
10027是新建一个无属性BUFF,只有120秒时效
10043同时按攻击几率触发10026和10027
10027在续存的120秒内,因为忽视组的设置,是无法再触发出10026的,这样就达到了120秒冷却的效果。
页:
[1]
2