找回密码
 点一下
查看: 1021|回复: 10

如何记录单位行走移动的码数?

[复制链接]
发表于 2011-6-11 23:36:58 | 显示全部楼层 |阅读模式
如何记录单位行走移动的码数,大于3000码后做执行动作!!!!!!!!!!!!!!!!!!!!!!!
这当中不包括用闪烁技能所增加的码数,或者是用单位-立即移动到某个点或坐标的码数
发表于 2011-6-11 23:39:31 | 显示全部楼层
回复

使用道具 举报

 楼主| 发表于 2011-6-11 23:58:32 | 显示全部楼层
引用第1楼愛婼メ媋楓于2011-06-11 23:39发表的  :
参照此帖
http://bbs.islga.org/read-htm-tid-55461.html
不行阿,这个丛林漫步者的怒步技能,当你走出第一步停下来的攻击敌人的时候,他还是一直在累计行走的码数,直到达到条件才关闭触发
NB.gif
回复

使用道具 举报

发表于 2011-6-12 00:00:54 | 显示全部楼层
那么你可以添加一条:任意被此单位攻击,关闭触发
回复

使用道具 举报

 楼主| 发表于 2011-6-12 00:07:45 | 显示全部楼层
引用第3楼愛婼メ媋楓于2011-06-12 00:00发表的  :
那么你可以添加一条:任意被此单位攻击,关闭触发
这当中不包括用闪烁技能所增加的码数,或者是用单位-立即移动到某个点或坐标的码数 ,这两个问题能解决吗?
回复

使用道具 举报

发表于 2011-6-12 00:24:36 | 显示全部楼层
或者这样解决吧,我手头没有WE,没办法弄
http://bbs.islga.org/read-htm-tid-28440.html
回复

使用道具 举报

发表于 2011-6-12 14:57:23 | 显示全部楼层
想到的也只有这个方法呢……如果不是精确捕捉的话,可以时间周期判断移动距离的大小,如果过大了就当做是闪烁或者传送之类的,不要记录到行程里就是了;当然了,这种方法可能会导致短距离闪烁的误判。加触发器是可以,总觉得有点麻烦……
回复

使用道具 举报

发表于 2011-6-12 16:42:07 | 显示全部楼层
假设是0.01秒的话,如果单位的之前的距离到现在的距离大于5.22,那么就肯定就是位移过的
至于闪烁……我想没人会无聊到只闪烁5距离
回复

使用道具 举报

发表于 2011-6-12 16:43:13 | 显示全部楼层
闪烁最小100
回复

使用道具 举报

发表于 2011-6-12 16:45:08 | 显示全部楼层
判断当前命令

比如Move

不过要做出楼主你所描述的东西,需要多方条件制约。我只是给点提示罢了。
回复

使用道具 举报

发表于 2011-6-12 16:57:18 | 显示全部楼层
并没有直接的办法获得单位移动的距离,你只能对比单位的坐标变化来获得单位的移动情况。
但是如果使用这样的方法,就会造成“闪烁”和“传送”以及“触发移动”都会记入移动记录的问题。
为了解决这个问题,我们可以加入判断条件,并减少对比判断的时间间隔,用之来减少误判。
单位的移动速度,代表单位在移动时每秒移动的距离,因此通过对比移动的距离和移动速度。
就可以基本上不会出现误差的判断出单位是在普通移动,还是在通过技能或触发移动了嗯嗯。
[trigger]Test
    事件
        时间 - 每 0.01 秒触发事件
    条件
    动作
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;设置 Unit = 血魔法师 0001 <预设>
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;设置 Location_B = (Unit 的位置)
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;设置 Real_B = (Location_A 和 Location_B 之间的距离)
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;点 - 清除 Location_A
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;设置 Location_A = Location_B
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;如果所有条件成立则做动作1,否则做动作2
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;If - 条件
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Real_B 小于 (((Unit 的当前移动速度) / 100.00) + 1.00)
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Real_B 大于 (((Unit 的当前移动速度) / 100.00) - 1.00)
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Then - 动作
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;设置 Real_A = (Real_A + Real_B)
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Else - 动作
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;如果所有条件成立则做动作1,否则做动作2
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;If - 条件
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Real_A 大于 3000.00
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Then - 动作
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;设置 Real_A = 0.00
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;特殊效果 - 创建并绑定特效到 origin 对 Unit ,使用模型: Abilities\\Spells\\Human\\Thunderclap\\ThunderClapCaster.mdl
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;特殊效果 - 删除 (最后创建的特效)
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Else - 动作
[/trigger]
Move.w3x (10 KB, 下载次数: 5)
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-29 00:53 , Processed in 0.036753 second(s), 21 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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