- ◆MUGEN 総合質問スレッド 11◆
764 :名無しさん@お腹いっぱい。[sage]:2009/06/22(月) 17:39:37 ID:SFhIYtiY - AIに関して質問させてくれ
T@KO&レイク氏のマサルさんのAI作ってみたんだ AI作るの初めてなので、技や行動パターンの少ない簡単なキャラが良いと思って H氏のサイトや他AI製作者さん達の記述を参考にしながら作った結果、一応ちゃんと 動いてはくれるんだが、エリーゼの憂鬱中にエリーゼの憂鬱をまた発動したり、ぴよこ走り中に身代わりの術 使ったり、キャンセル(になるのかな?)出来ない状況で他の技を出してしまうんだ。 基本的に全ての行動はrandomでやってるんで、エリーゼの憂鬱が0〜10だとしたら randomの値が10の時エリーゼが発動して、発動中のフレームでrandomの値が5になったら また最初から発動してしまっているんだと思う。 TriggerAll = StateNo != エリーゼの憂鬱の番号 || StateNo != ぴよこ走りの番号 てのを身代わりのAI用ステートのトコに追記して、番号だけ変えたのをエリーゼのトコにも追記したんだが 効果は無かったんだ。 こうすれば指定したステートの時以外の状況で技を出してくれると思ったんだが・・・ どっかにCtrl = 0とか付ければ良いのかと思って試してみたが、これもダメだった。 こう言う時ってどうすれば良いんだ? 初めてだから全然理解出来てない事ばっかりなんだ、すまんが誰か教えてくれ。
|
- ◆MUGEN 総合質問スレッド 11◆
767 :名無しさん@お腹いっぱい。[sage]:2009/06/22(月) 18:08:17 ID:SFhIYtiY - >>765だよな、すまん。
書いたら無断改変物の公開に抵触するかと思ったんだ。 以下記述の一部 ;身代わり [State -1] Type = ChangeState Value = 4000 TriggerAll = Var(59) = 1 TriggerAll = StateType != A Trigger1 = Ctrl Trigger1 = Random = [50,599] ;エリーゼの憂鬱 [State -1] Type = ChangeState Value = 2000 TriggerAll = Var(59) = 1 TriggerAll = StateType != A Trigger1 = Ctrl ;Trigger1 = P2MoveType != A Trigger1 = Random = [600,999] ;ぴよこ走り [State -1] Type = ChangeState Value = 3000 TriggerAll = Var(59) = 1 TriggerAll = StateType != A Trigger1 = Ctrl Trigger1 = StateNo = 2000 Trigger1 = Random = [0,10] Trigger2 = StateNo = 2000 Trigger2 = Random = [0,10] こんな感じに書いてみた。
|
- ◆MUGEN 総合質問スレッド 11◆
770 :名無しさん@お腹いっぱい。[sage]:2009/06/22(月) 18:58:17 ID:SFhIYtiY - >>768ありがとう。
>>AIトリガーにctrl=1が抜けてるのが主な原因だ TriggerAll = Ctrl = 1って事かと思って各技の記述に突っ込んでみたけどダメだった。 TriggerAllをTrigger1で試してみてもダメだったので [State -1, AI] Type = VarSet TriggerAll = Var(59) >= 1←var59がAIスイッチ Trigger1 = RoundState >= 3 V = 59 Value = 0 のトコにCtrl = 1かな?と思ったんだが、やっぱりダメ。 1が操作可能な状態だから、もしかして0にすれば良かったのかと思って0でも試してみたんだが どうもダメだったんだ。 簡単に答え聞くようで申し訳ないんだが、「AIトリガーにctrl=1を入れる」と言うのは どう言う事なんだろう。
|
- ◆MUGEN 総合質問スレッド 11◆
771 :名無しさん@お腹いっぱい。[sage]:2009/06/22(月) 19:09:18 ID:SFhIYtiY - >>769
確かに消していた、自分でも忘れてたよ。 自分で消したところ追記したんだけど、挙動はおかしいままだった。 AI作るのムズイ。
|
- ◆MUGEN 総合質問スレッド 11◆
773 :名無しさん@お腹いっぱい。[sage]:2009/06/22(月) 21:05:46 ID:SFhIYtiY - >>772ほんとだ、なんで同じの2つ書いてるんだろ。
書いてなかったんだけど、実はぴよこは相手に接近しても走り続けるように仕様変更したんだ、勝手に。 ctrl=1の記述追加してみたらだいぶ良くなった気がする。 まだ完璧じゃないっぽいんだけど、前はエリーゼ中どのタイミングでもエリーゼが出てたのが 今は特定のタイミングでしかカブらなくなった。 そのタイミングなんだけど、きまってベルトに手をかけてチャックを下ろす前なんだ。 派生の関係で、チャック下ろす部分は別のステートなのかな?と思ってcns覘いてみたんだが 俺にはわからなかった。airでも一括りになってるし。 とりあえずエリーゼの憂鬱のトコに Trigger1 = StateNo != 2000 を追記してみたんだが意味ないくさい。 これでエリーゼ発動中はエリーゼが使えないって事になると思うんだが・・・ これは本体側の仕様なのかな?それともやっぱりこちらの記述ミスなのだろうか。
|
- ◆MUGEN 総合質問スレッド 11◆
779 :名無しさん@お腹いっぱい。[sage]:2009/06/22(月) 22:47:53 ID:SFhIYtiY - うん、statedefはいじってないはずだよ。
現在のチェンジステート ;エリーゼの憂鬱 [State -1] Type = ChangeState Value = 2000 TriggerAll = Var(59) = 1 TriggerAll = StateType != A Trigger1 = Ctrl Trigger1 = Random = [600,999]
|