. 原文網址:http://bbs.wow8.org/thread-134576-1-1.html 貌似很多能寫的內容都被其他人寫了,我就寫一些自己改過的內容吧 判斷BUFF的教程31曾經有寫過,首先要設置一個記錄BUFF的變量,函數內容如下: function VS takes unit HL returns boolean return(IsUnitType(HL,UNIT_TYPE_STUNNED))or GetUnitAbilityLevel(HL,'BPSE')>0or GetUnitAbilityLevel(HL,'BUim')>0 or GetUnitAbilityLevel(HL,'B012')>0 or GetUnitAbilityLevel(HL,'B000')>0 or GetUnitAbilityLevel(HL,'Bsta')>0 or GetUnitAbilityLevel(HL,'BUsl')>0 endfunction 其中名為VS的函數是記錄BUFF的變量,HL是持有BUFF的單位。這個函數里應該記錄了所有暈技的BUFF,至於他們的ID對應的BUFF我就不一一列出來了。 那麼,接下來,要讓荀來判斷他要插住的單位是否擁有被擊暈的BUFF。先把0.51荀插蛇的函數發上來,在0.51zhensan.ai的第7444行: if HeroD!=null and can_xun_cast_w() then set zs_action_prioty_arry[52]=89 endif 這是插蛇的那部分函數,其實上下還有一大段,不過因為我們不研究他們所以我就不複製上來了。這個函數很簡單,當荀能插蛇的時候,設置插蛇的優先級為89。所以最近的AI裡荀一有蛇就會亂空插。 那麼接下來把剛才設置的判斷BUFF的變量用到這個函數里去,就變成: if HeroD!=null and can_xun_cast_w() and VS(HeroD) then set zs_action_prioty_arry[52]=89 endif 加紅字的部分就是後面添加的部分,目的是檢測HeroD身上是否有有有VS所記錄的BUFF,如果有,就設置插蛇的優先級為89,沒有的話則無動作。 . |
暴雪英霸是未來很看好的遊戲! 站長最近都玩 英雄聯盟 或 Mstar 。 以前站長擅長幫熱門的 魔獸3 地圖加入 AI, 可以和電腦英雄對戰,電腦懂的和人對話。
##EasyReadMore##
2010年1月1日 星期五
通向DIY AI之路系列教程——如何讓荀判斷BUFF再插蛇
訂閱:
張貼留言 (Atom)
沒有留言:
張貼留言