要知道電腦和玩家放招邏輯是完全不同的,所以這篇講的是要怎麼設定隊友和敵人的出招
設定電腦會用的技能
作為隊友時,電腦只會使用角色已學習到的技能
因此 FullCBS part-5 (Reflex) 設定的普攻技雖然玩家可以直接使用,但如果角色沒學起來,電腦就不會用
敵人就比較單純,設定他會用的技能即可,電腦會依此表隨機選一招來用
出現條件似乎沒用,可以不管
範例有個發呆用技能,不過因為這招的motion設定全部使用預設值(沒攻擊效果、判定、motion時間),所以其實沒任何影響
決定出招時機
這系統 AI 出招只看與目標之間的距離,
而且並不是「
視情況使用」,而是「
隨便選一招,再去取位置」
外加無視使用條件,要做combo game太難了
出招距離一樣是在 FullCBS part-6 (Skill & Equip) 的 Database_Motion 設定
可以看到第一招治療就有:
@ai_shooting_range_x_min = 0 @ai_shooting_range_x_max = 240 |
即距離目標 X 軸 0 ~ 240 像素內會使用
判斷 Y 軸則是這兩個:
@ai_shooting_range_y_min @ai_shooting_range_y_max |
另外,這系統「往下是負值,往上是正值」,和一般情況相反
為了避免被卡在特定距離放不出招,所以我新增了一個變量 @ai_retry_duration
像這樣就是等待60禎,如果時間內一直用不出來就改用別的
可以使用亂數 「rand(n)」增加不確定性
因為上述變量都有預設值,可以不用每招都設
對象為「己方」的技能
如果角色有學習「對己方使用」的技能,但發現整場打下來可能沒用半次,
這時就要回到 FullCBS part-5 (Reflex) 設定角色運動能力的地方,
在 角色ID 的分歧內追加 @ai_defence_level = n (n 最大100)
這樣角色在血量小於 n 的時候就會隨機使出這些招式了
不過不知為何設定了之後 AI 殘血會變比較笨...
教學差不多就這樣了吧,該講的都講了