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!!!完. 回首頁 |