小話「AIのフライング制御」

なんかフライングするキャラ多いなぁと思う今日このころ(記事ネタないから書くお

続きからどうぞ

AIの起動をするときの条件を「RoundState = 2(以下RS2)」だけにすると確実にフライングをしてしまいます。
これはライフバーが原因となっております。
RS2になってもキャラ自体にはctrlが入るとは限りません。大抵はすこし遅れてctrlが入ります。
完全な試合開始は
RoundState = 2 && Ctrl
になって初めてキャラが動くようにります。
RS2だけで起動すると相手によってはフライングペナルティが発動してしまいます。
フライングをしないようにAIを起動する方法を載せときます。

変数を2つ使います。
commandに頼らずAIのフラグを立てることができます。

var(50) = Ctrl代用変数
(sysvar(4)&1) = 試合開始フラグ ;bit演算を使っていますが普通に1などを入れてもおk
sysvar(4)を使っていますがこのフラグを通常変数でやる場合は次ラウンドに持ち越さずかならずフラグをoffにしてください。

[State 0, コントロール可否]
type = VarSet
trigger1 = RoundState != 2 && var(50)
var(50) = 0
ignorehitpause = 1
[State 0, コントロール可否]
type = VarSet
triggerall = !var(50)
trigger1 = Ctrl || RoundState = 2 && (sysvar(4)&1)
var(50) = 1
ignorehitpause = 1
[State 0, Ctrl]
type = CtrlSet
trigger1 = var(50)
trigger1 = RoundState > 2
trigger2 = var(50)
trigger2 = RoundState = 2
trigger2 = AnimTime = 0
trigger3 = !ctrl
trigger3 = RoundState = 2
trigger3 = (sysvar(4)&1)
value = 1
ignorehitpause = 1
[State 0, 試合開始!]
type = VarSet
triggerall = RoundState = 2 && var(50)
trigger1 = !(sysvar(4)&1)
sysvar(4) = (sysvar(4)|1)
ignorehitpause = 1

これを0ステに置いた上

AIの起動フラグの条件を

triggerall = RoundState = 2 && (sysvar(4)&1)
trigger1 = var(50)

にしてフラグを立てればいけると思います。

これで必ずAIを起動することが可能です。

あと試合外無敵は入れたほうがいいぞ。

[State -2, 試合外無敵]
type = NotHitBy
triggerall = !ishelper
trigger1 = RoundState < 3
trigger1 = !(sysvar(4)&1)
trigger2 = RoundState > 2
value = SCA
ignorehitpause = 1

小話は以上です。
スポンサーサイト

コメント

非公開コメント

プロフィール

609z

Author:609z
やぁ、ようこそMUGEN空間構築所へ。


このサイトはリンクフリーです。
リンク報告してくれたら相互します。
ゆっくりしていってね!(*´ω`*)

http://は禁止ワードです。

最新記事
最新コメント
月別アーカイブ
カテゴリ
総訪問者数
現在閲覧者数
現在の閲覧者数:
検索フォーム
リンク
バナー
ブロとも申請フォーム

この人とブロともになる

QRコード
QR