找回密码
 点一下
楼主: cccty1l

利用“浸毒武器”技能做到减少单位任意攻速移速的演示

[复制链接]
 楼主| 发表于 2008-12-14 22:35:59 | 显示全部楼层
引用第18楼zhuzeitou于2008-12-14 22:27发表的  :
我只是猜得哦,不一定对
另外我只是路过的………………

呵呵,我对WE的各项属性还是不了解

路过对我也有帮助 哈哈
回复

使用道具 举报

发表于 2008-12-14 23:35:21 | 显示全部楼层
引用第1楼libla于2008-12-14 19:26发表的  :
冰冻冷箭不是很好吧,辅助单位不能是近战,因此没办法无视闪避。我更喜欢用毒

但是最大的问题是无论辅助单位怎么调整数据,命令他攻击到攻击生效总有至少0.11秒的延迟

应该没这么大吧,测试发布命令到有buff仅是一个最小周期0.005
回复

使用道具 举报

 楼主| 发表于 2008-12-15 09:19:25 | 显示全部楼层
引用第21楼kook于2008-12-14 23:35发表的  :
应该没这么大吧,测试发布命令到有buff仅是一个最小周期0.005

嗯。说下我的吧,我是在单位受到伤害后开始计时,间隔是0.01,并命令傀儡攻击单位,在下次接受伤害后停止,结果是运行了11次的。
回复

使用道具 举报

发表于 2008-12-15 12:06:17 | 显示全部楼层
直接在ccty的冰冷系统上测的,直接跟在触发了冰冷函数后面的0.001timer计时得到5次后得到buff

Icearraw.w3x

29 KB, 下载次数: 6

回复

使用道具 举报

发表于 2008-12-15 12:19:12 | 显示全部楼层
应该是 攻速 1-100   移速 1-251 吧
是不是写反了?
回复

使用道具 举报

 楼主| 发表于 2008-12-15 12:32:36 | 显示全部楼层
引用第24楼sxlrose于2008-12-15 12:19发表的  :
应该是 攻速 1-100   移速 1-251 吧
是不是写反了?

哦,不是的,这里的数值都是指百分比,没有写反。
回复

使用道具 举报

 楼主| 发表于 2008-12-15 13:01:45 | 显示全部楼层
引用第23楼kook于2008-12-15 12:06发表的  :
直接在ccty的冰冷系统上测的,直接跟在触发了冰冷函数后面的0.001timer计时得到5次后得到buff

Kook大 的结论没错...
我把计时开始和结束的时机设置为单位受到伤害时判断,同时把死亡之指的伤害调到了1,如下
[codes=jass]function tc takes nothing returns nothing
set iyt=iyt+1
call DisplayTimedTextToPlayer(GetLocalPlayer(),0,0,10,I2S(iyt))
endfunction
function Trig____________________001_Actions takes nothing returns nothing
if(GetEventDamage()>0)then
    call TimerStart(Delacy,0.001,true,function tc)
    call Msphere_funcAM(0,32,GetTriggerUnit())
endif
if GetUnitAbilityLevel(GetTriggerUnit(),'BHca')>0 and iyt>0 then
call PauseTimer(Delacy)
set iyt=0
endif
endfunction[/codes]
结果是,装载地图后,第一次测试是5,之后每次都是4。
0.11和0.005相差了22倍,就算了触发不严谨而多创建了计时器也不至于会这样啊。
而我把触发修改了多次,依然没有昨天测试的结果。我很想知道这究竟是怎么回事。

Icearraw.w3x

27 KB, 下载次数: 5

唉...

回复

使用道具 举报

 楼主| 发表于 2008-12-15 13:49:02 | 显示全部楼层
哦,好的,我找到了。
kook大 做测试所用的地图是使用“冰冻冷箭”的,调用Msphere_funcAM函数,向傀儡单位发送的是命令   852243(冰冻冷箭),延迟时间应当为0.005-0.004
而我昨天做测试时,技能已经修改,调用Msphere_funcAM函数,向傀儡单位发送的是命令   851985(攻击一次),延迟时间为0.102。

所附地图为更改了命令后的演示。
更改这个命令是为了将傀儡单位修改为近战,是为了避免单位拥有闪避技能而出现Bug。

浸毒武器--减攻速移速.w3x

28 KB, 下载次数: 3

这个延迟为.102

回复

使用道具 举报

发表于 2008-12-15 13:56:14 | 显示全部楼层
判断时机不同而已啦,倒不是事件spell effect和damaged之间有间隙
damage0
time1
time2
time3
time4
damagex
damagex2
time5

在伤害事件判断的话会buff直接在damagex出现,timer的话是第5次loop得到,但其实damagex到time5应该只是线程顺序的程度而已,时间差可以忽略

剩下用技能命令id和攻击命令id响应时间不同的问题
回复

使用道具 举报

 楼主| 发表于 2008-12-15 13:58:32 | 显示全部楼层
嗯,这个0.001的时间确实不是重点,重点是单位的命令ID发生了变化,而libla所说的就是命令单位攻击而出现的延迟现象,我已经更新了下(在27楼),Kook大可能没刷新,没看到吧?
回复

使用道具 举报

 楼主| 发表于 2008-12-15 14:20:51 | 显示全部楼层
饿呵呵,又重新检测了下,确实就是这样的情况了,命令单位“攻击一次”的延迟就是0.11左右。

还有昨天测试的,关于单位攻击类型为箭矢,而其射弹速度为0时,射弹的飞行速度应当是1500,好像也没有错误的。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-7 06:18 , Processed in 0.180039 second(s), 19 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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