AI Memory!!!

AI Memory. 就是 ai 的記憶. 是否發覺你的 ai 經常重複一些招式, 而令對方很容易就捕捉到 ai 的動作. 解決問題的方法就是當 ai 使出某一招後被人 counter, 就用 var 記下, 不再使出同一招! 做法如下:
[state -1]
type = VarSet trigger1 = PrevStateNo = 1000;以招式 stateno 1000 為例.
trigger1 = MoveType = H;招式使出後就被人 counter:(
trigger1 = Time = 0
ignorehitpause = 1
var(50) = 1;招式被人破了, 用 var 記下

[state -1]
type = ChangeState
value = 1000
trigger......;這些不打了, 大家明白就好了
trigger1 = Var(50) = 0;在 ai trigger 中加入這一句, 表示招式未被破才使出.

基本就是這樣子. 不過, 問題又來了. 當人物的招式全都被破時, ai 就只懂站在不動! 而且對方可能只是好采破了招式. 因此, 改良版的 ai memory 就出來了.
[state -1]
type = VarAdd;我們現在用 varadd 而非 varset trigger1 = PrevStateNo = 1000;以招式 stateno 1000 為例.
trigger1 = MoveType = H;招式使出後就被人 counter:(
trigger1 = Time = 0
ignorehitpause = 1
var(50) = 500;<-----------加上一個數值, 想知目的就繼續看

[state -]
type = VarAdd
trigger1 = Var(50) > 0 var(50) = -1 ;這個 var 隨時間而下降
[state -1]
type = ChangeState
value = 1000
trigger......;這些不打了, 大家明白就好了
;trigger1 = Var(50) = 0;在 ai trigger 中加入這一句, 表示招式未被破才使出.
trigger1 = Random >= Var(50);不用上面那句
這樣子, 招式出現的機率會隨時間而回復, 不致 ai 站著不動. 機率回復的速度由第二句 varadd 決定, 而每次被 counter 令機率下降的幅度由第一句 varadd 決定.
因此, ai 出招的機率會因戰鬥而改變, ai 的表現更靈活. 不同的招式用不同的 var 作記憶, 非常合適一些高風險的招式, 如一些沒有無敵時間或打擊防禦的招式.
dio ai 範例下載: 停止(已包含在最新的 dio 中)


AI Memory!!!完. 回首頁