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

怎樣令 viking 變型後再繼續原來指令?

[复制链接]
发表于 2010-10-5 10:20:56 | 显示全部楼层 |阅读模式
本來如果開啓了 ai, viking 會自動在有需要時變型. 但因為開啓 ai 後很多單位都會有些怪異行為(我在造 dota 類地圖), 所以就不用了. 有沒有可能只要求 viking 使用變型的 ai 而其他 ai 不用?

令外我也在嘗試用 trigger 做這個效果. 基本上判斷何時變型, 變型的指令等都沒問題, 就是變完型攻擊完後就不知怎樣叫它繼續原來的指令(例如 attack targeting point). 怎樣才可以取得一個單位當前正在執行的指令?
发表于 2010-10-5 10:47:47 | 显示全部楼层
第一个问题最简单了,你修改AI文件里的AIThinkVikingAssault函数和AIThinkVikingFighter函数就可以。一个对应地面模式一个对应空中模式。

而且实际上根本不用改,因为viking的这两个单兵函数,本来就只决定他们什么时候升空什么时候关闭的。其余什么都不做。其余行为都是大局战略AI函数所控制的。

所以你只要把它排除出进攻和防守战略之外。它就只会应用自动升空和降落了。


如果你帖子的意思是想要让viking应用AI而其他单位不用,那么就直接修改其余单位的Tactical AI和AI - Tactical AI Function就好。
回复

使用道具 举报

发表于 2010-10-5 10:57:41 | 显示全部楼层
当然,如果要全部改动会很麻烦,所以如你第二个问题所说,直接用触发器来解决也不错。

不过你只要看看那两个原本的viking AI函数就知道,其实有指令在进行的时候viking它们是不让viking变身的。


不过你一定要获得命令列表也可以。

native order    UnitOrder (unit inUnit, int inIndex);
native int      UnitOrderCount (unit inUnit);

第一个函数可以按照index获得单位目前指令队列中指定序号的指令。第二个函数是获得单位指令队列长度。
回复

使用道具 举报

 楼主| 发表于 2010-10-5 12:07:13 | 显示全部楼层
thanks a lot!
我是想要让viking应用AI而其他单位不用. 如果有方法直接只開啓 viking 變身 ai 但其他 ai 完全不用就完美了. 否則反過來先開啓所有 ai 然後再關掉除 viking 變型以外的所有 ai 似乎就太過麻煩.....

我最初是開了所有 ai 再用 trigger 入面的 ai order 的指令(不是 issue order) 命令 viking 攻擊一點, 這樣不用其他 trigger, viking 會自動飛向那點, 見到地面的敵人會變型, 打完就起飛繼續飛向目的地.

我想問問 UnitOrder 的 inIndex 是什麼?
回复

使用道具 举报

发表于 2010-10-5 12:11:28 | 显示全部楼层
就是你要取的指令索引。

比如你给单位shift了3个指令。先杀死目标单位,然后移动到A点,然后点Hold。


那么队列中的3个指令就是0-攻击目标单位,1移动到A点,2点击Hold


inIndex就是问你取第几个的。另外这时候你用UnitOrderCount 这个函数可以得到总队列长度是3。
回复

使用道具 举报

发表于 2010-10-5 12:13:37 | 显示全部楼层
要注意的是,指令队列中索引为0的指令是当前正在执行的指令。

所以你如果这个单位已经在执行攻击命令了,那么UnitOrder(xxx,0)获得的指令是攻击单位,而不是移动到A点,1才是移动到A点。
回复

使用道具 举报

 楼主| 发表于 2010-10-5 12:41:32 | 显示全部楼层
如果我的指令是用 trigger 的 attack targeting point, 這會是一個指令, 還是 ai 會把它分做 attack 和 move?
回复

使用道具 举报

发表于 2010-10-5 12:59:32 | 显示全部楼层
这个你自己测试下不就知道啦。

这个是一个单独的指令,就是攻击。
回复

使用道具 举报

 楼主| 发表于 2010-10-5 13:11:33 | 显示全部楼层
明白了, 謝謝頭目!

如果可以攪清楚這個怎樣做, 應該也可以用在其他單位上, 這樣 dota 的單位的動作就可以多些變化, 不會只是一味兒向前衝.....
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-22 22:25 , Processed in 0.180272 second(s), 19 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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