自動防禦

一個 ai 不單是盲目攻擊, 防禦都是非常重要的. 因此, 自動防禦的 ai 就出現了, 我第一次看見有自動防禦的 ai 是那個會放刀的 whip. 的確利害, ai 大約擋到 70% 的攻擊, 比沒有自動防禦時強得多. 以下是 cut 自斬紅郎的自動防禦 ai:
;Auto Guard 一般要放在 state -1 的最上位置
[State -1];這是用來控制人物蹲下擋的
type = ChangeState
trigger1 = Var(59)
trigger1 = Ctrl
trigger1 = StateType = S
trigger1 = P2StateType = C;敵方是蹲下
trigger1 = P2MoveType = A;攻擊而且
trigger1 = P2BodyDist X <= 200;距離彼近時
value = 10;就蹲下預備防禦

[State -1];剛與上面的東西相反, 是要人物站起來
type = ChangeState
trigger1 = Var(59)
trigger1 = Ctrl
trigger1 = StateType = C
trigger1 = P2StateType = A
trigger1 = P2MoveType = A
trigger1 = P2BodyDist X <= 200
value = 12

[State -1]
type = ChangeState
trigger1 = Var(59)
trigger1 = Ctrl
trigger1 = P2MoveType = A;當敵方攻擊時
trigger1 = P2BodyDist X <= 200
trigger1 = PrevStateNo != 151;而之前又不是擋
trigger1 = PrevStateNo != 152
trigger1 = PrevStateNo != 153
trigger1 = PrevStateNo != 380;又不回避(注意: state 380, 390 是回避動作, 不同人物不一樣)
trigger1 = PrevStateNo != 390
value = 120;就進入擋格的 state
如果之前是擋或回避就不再擋是防止 ai 只會死擋, 得到一時的空蕩進行反擊, 如何反擊日後才繼續.

防禦不單是擋格, 還有回避動作. 一般 ai 如下:
;Hide;沒有 ai 的
[State -1]
type = ChangeState
value = 380;<------回避的 state
triggerall = !Var(59);不要 ai 亂避
trigger1 = command = "xa";回避的 command 及其他東西, 因人而異.
trigger1 = statetype = S
trigger1 = stateno != 100
trigger1 = ctrl = 1

;Hide--AI;<------有 ai
[State -1]
type = ChangeState
value = 380
triggerall = Var(59)
trigger1 = P2MoveType = A;敵方正在攻擊
trigger1 = Random = [0,300];隨機回避, 令敵方難以捉摸己方的行動
trigger1 = (PrevStateNo != 380)||(PrevStateNo != 390)||(PrevStateNo != 151) ||(PrevStateNo != 152) ||(PrevStateNo != 153);同自動擋時一樣啦!
trigger1 = statetype = S
trigger1 = stateno != 100
trigger1 = ctrl = 1
現在, 你的人物的防禦力已大幅加強了.


自動防禦完. 回首頁
Make your own free website on Tripod.com