找回密码
 点一下
查看: 1127|回复: 8

关于【单位行为计时】的问题

[复制链接]
发表于 2010-6-27 05:27:41 | 显示全部楼层 |阅读模式
想做单位的buff栏来着,现在还处于构思阶段,遇到了几个问题,想问下大家该怎么处理。

第一个是神族的灵能风暴,这个技能会给敌方附带一个伤血的buff,并且会有一个区域搜索的效果定期刷新该buff。
这样的话使用UnitBehaviorDuration 函数获取到的buff持续时间只是该buff的持续时间,但不是灵能风暴的存在时间。
对于这个技能影响不大,但是对于其它的技能,比如母舰的匿踪立场(基本上大家做光环的话都会以此为参考吧)这类技能,我该如何判断它是一个光环效果(显示它的持续时间是N/A,而不是一个不断刷新的时间)呢?

第二个是单位的时间比例对buff存在时间的影响,我想将buff时间显示为实际游戏中的时间,但是获取单位的当前时间比例似乎有些困难。

第三个问题依然以灵能风暴为例子,该技能附带的buff存在一个周期效果,周期效果的周期貌似也可以受单位的时间比例影响吧(游戏中默认的时间比例是全域),我怎么做可以获取到距离下次周期效果出现的时间呢?
发表于 2010-6-28 20:53:31 | 显示全部楼层
LZ这几个问题我仔细想了想倒还真没想出来~~

不过你完全可以在灵能风暴创建的效果里创造一个dummy单位来计时~~
回复

使用道具 举报

发表于 2010-6-28 21:27:17 | 显示全部楼层
第一
似乎误解了,再想想..

第三
Buff产生的效果,我印象中觉得,并不是所有效果都受到单位时间影响,这个真没试过...

至于第二第三的时间比例问题
你不嫌麻烦的话……弄个单位,生命跟时间一样,只是在减血,如果需要单位时间,就将状态弄得跟英雄一样,处理些细节……然后判断生命比例就表示时间比例了...
回复

使用道具 举报

发表于 2010-6-28 21:39:01 | 显示全部楼层
第一问的重点是判断是不是光环Buff呢,还是……后面的时间什么的是为了述说什么呢......

灵能风暴还是用MJ的生命百分比表示就可以了

只是为了判断是否光环Buff的话,将光环Buff弄到一个集合里一一判断就是

后面那个持续时间……到底是用来干什么的呢...

我相信没多少人会把光环的Buff和普通技能的Buff用混吧...
回复

使用道具 举报

 楼主| 发表于 2010-6-29 04:23:24 | 显示全部楼层
嗯,回答晚了,刚才同学聚会去了。
引用第1楼Renee于2010-06-28 20:53发表的  :

你完全可以在灵能风暴创建的效果里创造一个dummy单位来计时~~

其实我想问的是,怎么说呢,是一个统一的解决方案,因为我想把我的这个系统(就是用界面图片显示buff啦)的适用范围尽量的大,如果我用自己的方法解决了这个问题,而大家却不沿用的话就没有意义了。
引用第3楼zjwzero于2010-06-28 21:39发表的  :

我相信没多少人会把光环的Buff和普通技能的Buff用混吧...
.......

这个建议我就使用了,在一开始就用字符串注册好,某些特定的“行为”(也就是光环buff)不显示持续时间,这样光环的buff就没疑问了,持续时间的问题在这个情况下已经没有意义了。


第二问暂时忽略吧,第三问呢,我还是没想到获取距离下次周期行为生效时间的好的方法(单位时间比例对它到底有没有影响我没有实际测试,只是猜想会有,除外这个影响),其实硬来的话也可以啦,就是在获取到buff以后就开始计时并记录下来,似乎也可以,勉勉强强吧。

不知道BLZ还愿不愿意多提供一些函数,比如获取单位的当前时间比例,获取距离某行为周期行为的到期时间之类的,能加上的话还是会方便很多的。
回复

使用道具 举报

发表于 2010-6-30 13:43:40 | 显示全部楼层
如果我没有猜错的话,是这样的

Buff的时间是由Stats - Time Scale Source - Value决定的
参数有global、caster、target,意思很明显了

由于没有测试,我只能说是猜测,但这个很明显比你想的还要复杂...



再者,你也无法准确的获得下一个周期行为到来的时间,因为……

假设一个单位拥有时间加速*2,当下一个周期行为到来的途中,这个时间加速突然消失了,请问之前获得的时间还准确吗?
回复

使用道具 举报

发表于 2010-6-30 13:45:25 | 显示全部楼层
如果你只是想用界面来显示单位身上debuff和buff的持续时间~~那么根本用不着考虑这些问题~~

因为单位身上的buff持续时间本来就应该显示为本身的持续时间而非灵能风暴的持续时间~~因为这个技能本来就是可以在被击中后躲开的~~

如果你玩过wow就会发现很多带短时间debuff的AOE技能只会显示那个debuff的持续时间~~
回复

使用道具 举报

发表于 2010-6-30 13:49:47 | 显示全部楼层
话说刚发现不止护盾,生命以及魔法都有了恢复延迟的设定,老版本好像没这个东西..
回复

使用道具 举报

 楼主| 发表于 2010-6-30 18:41:23 | 显示全部楼层
引用第5楼zjwzero于2010-06-30 13:43发表的  :
Buff的时间是由Stats - Time Scale Source - Value决定的
参数有global、caster、target,意思很明显了

由于没有测试,我只能说是猜测,但这个很明显比你想的还要复杂...

你也无法准确的获得下一个周期行为到来的时间,因为……

假设一个单位拥有时间加速*2,当下一个周期行为到来的途中,这个时间加速突然消失了,请问之前获得的时间还准确吗?

嗯,这个我稍微有想到,由于“参数有global、caster、target”,所以如果按我之前的想法显示buff存在时间的话,我可能要计算不止1个单位的时间比例。
而要计算周期行为出现时间的话,系统的刷新时间就必须尽量的短,不过还好,貌似0.07秒不会有卡的感觉。
引用第6楼Renee于2010-06-30 13:45发表的  :
如果你只是想用界面来显示单位身上debuff和buff的持续时间~~那么根本用不着考虑这些问题~~

因为单位身上的buff持续时间本来就应该显示为本身的持续时间而非灵能风暴的持续时间~~因为这个技能本来就是可以在被击中后躲开的~~

如果你玩过wow就会发现很多带短时间debuff的AOE技能只会显示那个debuff的持续时间~~

啊,好的,那就放弃之前的想法了好了,确实不是很合理,时间比例也算啦。

嗯,问题基本解决的差不多了,谢谢头目和zjwzero兄。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-9-28 15:20 , Processed in 0.061714 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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