找回密码
 点一下
查看: 2146|回复: 5

自己写的一套关于单位位移的函数

[复制链接]
发表于 2012-8-2 02:40:46 | 显示全部楼层 |阅读模式
虽然感觉不会有人需要但是我还是发上来吧。。。就当回报社会了
如果哪里写得不好的话也请多多指教。。
适用于1.24以上(用了hashtable)

这套函数的用途比较广泛,比如可以模拟一个投射物之类的。。。
还可以做类似偷窥的技能。。目标点创建带视野的dummy然后跟踪最近的单位。。
为了实现多功能性,又要有高效率,我写了16个相当类似的函数。。也许是绕弯路了。。

[jass]function SimObjectMove takes unit object, unit target, location tar_loc, real inv, real step, real lifespan, integer SpellIndex, string EndFuncName, string RunFuncName, boolean IsKilledWhenHit returns integer
//引导函数


//object
//所要移动的单位
//target&tar_loc    
//目标单位/目标点,默认指向目标点,若tar_loc == null 则追踪目标单位
//inv
//两次移动之间的时间间隔
//step
//一次移动的位移
//lifespan
//object的生命周期,若IsKilledWhenHit == true 则此参数无效
//SpellIndex
//我是做了另外一个技能系统,用到了这个参数来传递信息。。懒得删了,在这里是无效的。。
//EndFuncName
//当object死亡时调用的函数名,可以做一些技能效果,比如范围伤害之类的,此项设为null则禁用
//RunFuncName
//每次移动结束后会调用的函数名,可以做一些技能效果,此项设为null则禁用
//IsKilledWhenHit
//是否会在到达目标位置时杀死object

//函数会return一个整数,是timer的handle,在哈希表lib(timerhandle,0)对应着这个timer(不知道如何从handle值获取timer。。所以用了这个笨办法。。)可以用来对于这个函数做一些额外的效果(有点类似于插件的那种感觉。。)
[/jass]



SimObjectMove.w3x (26 KB, 下载次数: 47)

评分

参与人数 1威望 +1 收起 理由
疯人¢衰人 + 1 现在很少有人做系统了

查看全部评分

发表于 2012-8-2 17:16:07 | 显示全部楼层
现在很少有人做系统了
回复

使用道具 举报

发表于 2012-8-2 17:19:12 | 显示全部楼层
最好注明下使用的war3版本
1.24包括其后处理handle的是hashtable,获取agent(实质是部分handle类型)类型的handle值的函数是GetHandleID

如果是1.23之前的(目前基本上都是1.20)获取的方式基本上都是RB(ReturnBug)少数会用UB(UnionBug)
回复

使用道具 举报

 楼主| 发表于 2012-8-2 18:43:21 | 显示全部楼层

回 疯人¢衰人 的帖子

疯人¢衰人:现在很少有人做系统了 (2012-08-02 17:16) 
主要是自己的地图里已经用到好几次类似的代码了。。索性就做了一个通用的函数出来。。。we现在看来真的是不流行了。。我也是打算把这个四年前的坑填了就去搞se了。。
回复

使用道具 举报

发表于 2012-8-2 20:11:53 | 显示全部楼层

回 yelite 的帖子

yelite:主要是自己的地图里已经用到好几次类似的代码了。。索性就做了一个通用的函数出来。。。we现在看来真的是不流行了。。我也是打算把这个四年前的坑填了就去搞se了。。(2012-08-02 18:43)嬀/color]
4年坑,好像很厉害的样子,期待。
回复

使用道具 举报

 楼主| 发表于 2012-8-2 20:46:10 | 显示全部楼层

回 美味豆沙包 的帖子

美味豆沙包:4年坑,好像很厉害的样子,期待。 (2012-08-02 20:11) 
。。。。。四年没碰过we。。四年前的完成度大概是5%。。。现在看看四年前发的帖子发现自己以前好弱。。。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-24 04:17 , Processed in 0.535391 second(s), 25 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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