「トップページ」の編集履歴(バックアップ)一覧に戻る

トップページ - (2015/05/02 (土) 17:10:22) のソース

&font(20,b){『mugenの謎仕様は仕様の数だけあるみたいです…』}
----
MUGENのCNS仕様をまとめたいWIKIです。
主な目的はステートコントローラー一覧・トリガー一覧とかに載っていない
ステート内の細かい仕様・注意点などをまとめるためのwikiです。基本的なこともまとめたいです。
なお、凶悪系については専門外です。専門のwikiへどうぞ。
CNS以外のことについてはまとめない方向ですが、性質上AI記述についての解説も含まれそう?
SFF,SND,AIR系については補足程度になるかと。
----
-※''現在、編集はメンバー限定です''※
***まったり中

#region(■2015-05-02 メモ:HelperのGetPowerバグの対応策案・※実用性低め)
***■2015-05-02 メモ:HelperのGetPowerバグの対応策案・※実用性低め
同じスロットIDに一個前にいたHelperのチームサイドが自分側である、というのを確定させる方法。
-基本処理:ABを同時射出して、Aを消した直後にBからCを出してAのスロットに差し込む。
--処理対応1:全体のHelperの数を数えて、Aで確認させ処理を調整する。
--処理対応2:またAからDを射出して[[T-/ID]]を確認しHelperの射出状況を監視する。
--処理対応3:Helperの数が変わっていたりIDが変動してたりする場合はEを射出し推定空白を埋める。
以下詳しい内容
+ヘルパーA・ヘルパーBを記述を連ねて同時に射出する。
+[[T-/NumHelper]]と[[リダイレクト]]を用いて、本体全員のHelperの数を数える。
+ヘルパーAでも本体全員のNumHelperの数を数える。もし異なる場合はそれに対応する。
+その前にヘルパーAからヘルパーDを射出し、ヘルパーDの[[T-/ID]]を確認する。
+ヘルパーAとDの[[T-/ID]]の差がA+2=Dである場合とそうでない場合で分けて考える。
++[[T-/ID]]の差がA+2=Dである。
+++総ヘルパー数が減っていた場合、ヘルパーEを減少分射出して埋める。
+++総ヘルパー数が同数だった場合は射出しない。増えている場合は無い。
++[[T-/ID]]の差がA+2<Dである。
+++総ヘルパー数が減っていた場合、D-(A+2)にヘルパー減少分を足した数のヘルパーEを出す。
+++総ヘルパー数が同数だった場合はD-(A+2)の数値分ヘルパーEを出す。
+++総ヘルパー数が増えていた場合、D-(A+2)にヘルパー増加分を引いた数のヘルパーEを出す。
++ヘルパーEを出さなければいけない数が膨大な場合は射出を控えたほうが良い。失敗と考えても良い。
+ヘルパーAからヘルパーEを上記の数射出した後、ヘルパーAを[[SC-/DestroySelf]]で消す。
+ヘルパーBからヘルパーCを射出した後[[SC-/DestroySelf]]で消す。
+ヘルパーD・ヘルパーEは残す必要が無いので[[SC-/DestroySelf]]で消す。
+ヘルパーCで処理を扱う。

実際に確認したわけではないので不備あるかもしれません。
かなりヘルパーを大漁に出し入れする関係上ヘルパー総数上限に達する危険があります。
同一の処理が重なってしまった場合は特にその状態が発生しやすく、他のバグを引き起こす可能性があります。
そのため、途中ヘルパーEの数が膨大になる場合は失敗とみなしてしまっても良い。
中断する可能性がある以上1F刻みに精確な処理を行わなければいけない処理には実用性に欠けます。

-E射出数の内容
--ヘルパーが減っている=その分空白が生まれている可能性がある。
--ヘルパーが同数だがIDは増えている=ヘルパーが増えた後に減っていた場合、空白が生まれている可能性はある。
--ヘルパーが増えている+IDが増えている=↑の方式で生まれる空白の数がヘルパーの増加分だけ減る。
+■■■■ABD > A+2=D = 射出不要
+■□□□ABD > A+2=D&ヘルパー減少 = ヘルパー減少と同数射出が必要。
+-※消えたのがABよりも後ろ側のスロットIDのヘルパーで穴埋めが必要無い可能性も一応あるが確認はできない。
+■■■■■AB■■■D > A+2<D&ヘルパー増加 = D-(A+2)-ヘルパー増加数が0なら不要。
+■■□□■AB■■■D > A+2<D&ヘルパー増加 = D-(A+2)-ヘルパー増加数の数だけ射出が必要。
+■□□□■AB■■■D > A+2<D%ヘルパー同数 = 同上=D-(A+2)の数射出が必要。
+□□□□■AB■■■D > A+2<D%ヘルパー減少 = D-(A+2)+ヘルパー減少分の数だけ射出が必要。
+-※こちらも後ろのスロットIDが消えただけなら不要だが、確認はできない。
-要は&b(){「 D-(A+2)-(本体確認Helper数-A確認Helper数) 」}の計算式でEを射出する。

#endregion

**■2015-04-30 重大な解説修正・Helperが受けた時のGivePowerバグ
''Helperのゲージの紐付けの不具合による、攻撃のGetPower,GivePower、TargetPoweAddの対象異常バグ''と判明
&font(20,b){[[SC-/Helper]]での[[SC-/HitDef]][[SC-/ReversalDef]]のGivePowerについて}
&font(20,b){再検証の結果、HelperのHelperTypeがPlayerであれば機能する場合があると判明。}
&font(20,b){ただしこちらもGetPowerの対象バグ同様に、GivePowerの対象は攻撃を受けたHelprの&br()「一個前に同じ[[スロットID]]にいたHelperのチームサイド側になる」というバグがあります。}
&font(20,b){下記(2年前)の検証での「受けれない」というのは上記仕様による勘違いでした。}
&font(20,b){また、どうやら[[SC-/TargetPowerAdd]]も上記バグが存在している模様。}
&font(20,b){バグをどうしても回避するとなったらGivePowerを=0,0にし、TargetPowerAddで管理、&br()TargetPowerAddにTarget,Ishelper=0を入れヘルパー相手には発動しないようにする。}
&font(20){※ReversalDefによる判定は未調査です。}
なお自身のゲージを変更する[[SC-/PowerAdd]][[SC-/PowerSet]]や、
StateDefのオプションPowerAdd、[[SC-/SuperPause]]のPowerAddはHeleprであっても問題なく機能する模様。

**■2014-12-04 重要な検証・DefenceMulなどの補正値について
処理を[[SC-/DefenceMulSet]]にまとめました。
重要な点の要約は[[ダメージ]]のページを参照してください。

**■2013-06-02 重大な解説修正・GetPowerバグ
&font(20,b){[[SC-/Helper]]での[[SC-/HitDef]][[SC-/ReversalDef]]のGetPower,GivePowerのバグについて}
&font(20,b){再検証の結果、Helperでの攻撃判定のGetPowerの対象が常に&br()「一個前に同じ[[スロットID]]にいたHelperのチームサイド側になる」というバグと判明。}
&font(20,b){Get,GiveバグのHelperの[[SC-/DestroySelf]]での解決は上記仕様による勘違い。}
&font(20,b){解決法は無くGetPower=0,0指定にし、[[SC-/PowerAdd]]で増加分を管理して対処すること。}
&font(20,b){可能であれば本体管理になる[[SC-/Projectile]]置き換えでも良い。}
&s(){&font(20){GivePowerについて上記に関するバグはないが、[[SC-/Helper]]が受けた分は得られない。}}
&font(30,b){※バグがありました。上記参照}

**■2013-04-25 報告
-Winまでの''基本的なステコン・トリガーのページを埋め終わりました''。
--が、Helper技術やAI技術など''細かいページはまだ未作成・作成中''です。
--現在もまだ編集はメンバー限定(単独)です。
-突貫で埋めただけなので足りない情報や間違いなどは[[暫定会議室]]へお願いします。

**方針メモ
-とりあえず(Win版までの)ステコン・トリガーのページを埋めました。
--新規は[[SC-]]と[[T-]]とかを参照。それぞれの下層ページとして作成する。
--なお使用例は「実際に使われそうな記述例」で。通常使わないパラメーターは省略する。
--あとページ右側の下部に新規ページの欄があります。
-作成途中のため、存在しないページへのリンクが多々あります。
-現状、Win版を基本として書いています。1.0(新mugen)やDos版は不十分かと。
-CNSのことがメイン。キャラそのものの解説は不可の方向で。
-引用は最小限に。CNSシステム系の引用は参考元を明確にする。
//可能な限り許可を取る。
-細かいことは[[暫定会議室]]へ。
-方針がガチガチっぽく見えるかもしれませんが、わりとゆるめです。ゆるくのんびりいきましょう。
--早いと確認しきれなくて困る。

:■重要|
-書かれている仕様の解説と実際の仕様が異なる疑いがある場合
--話し合ってしっかり検証しましょう。検証した上で説明を正す必要がある場合は正します。
--正すときにページの最上部に修正した日付と修正した箇所を明記しましょう。
-細かい情報の修正でも確認をとった上で修正したほうがいいです。意思疎通大事。
--特に他の場所でこう書かれていた~というのは怪しいです。検証しないと確定しません。
--可能な限り検証した上で情報を修正しましょう。

#region(情報修正の書式@予定)
----
:※解説修正情報※|
●&font(12,b){日付:修正部分の概要}
●&font(12,b){日付:修正部分の概要}

----
何個か溜まってきた場合は、古い情報をページ下部へ移動しましょう。
----
:※解説修正情報※古い履歴|
●&font(12,b){日付:修正部分の概要}

----
#endregion

:|
-「region」の格納と「:|」の押し出しは少し相性が悪いみたい。上手く折り合い付ける。
--Regionの直後の行に:|を入れない。(1行以上開ける)
--EndRegionは:|範囲に入れない。(1行以上、空白行で開ける。)


:■基本の形式|
-ページの作成は「アットウィキモード」にすること。
-「**」見出し・「*」大見出し、「:|」のまとめ、「-」リストを駆使する。
--使い過ぎて見づらくならないように注意。
-情報に関してはLvを想定し、Lvごとに分けて記述する。
--■Lv0-基本的な使用に関する情報
--■Lv1-基本的な記述例・補足・注意点
--■Lv2-バグなどへの基本的な対処法。(Lv1~3とややごっちゃ)
--■Lv3-細かい複合応用について。(バグ回避とごっちゃになることも。)
--■Lv4-バグ応用(基本的なキャラでは利用しない技術)
---Lv3~4についてはregionで情報を格納する。記述が長いならページ独立もあり。
---なお凶悪系技術については通常のキャラで使い様がなければ概要だけの説明にとどめること。
-Lv2-バグ回避について
--簡単なことならLv1の注意点に記述しても良い。
--煩雑になる回避法の場合はLv3で格納して管理する。Lv2には誘導を。
--一個のCNSシステムとして長くなりそうなら別にページを作るのもあり。
-細かくはすでにあるページを参考に、それらしく調整してください。

:■基本の文体|
-長い文章は避ける。
-無理そうなら長い文章でも構わない。改行についても環境に左右されることも踏まえて無理に改行せずキリがよさそうな改行を心がける。
-このようにリストを駆使してある程度細かく分けていく。
-「:|」による文章の押し出しを活用し、わかりやすくまとめる。
--ただし「:|」はプレビュー表示がうまくいかないので、確認はページを保存して確認する。&br()なんなら[[砂場ページ]]を利用する。
-Cnsの記述は&font(b){&nowiki(){ #aa() }}AA用のプラグインを使う。
-まとめた条件式などがプラグイン感知でうまく表示されない場合は&br()&font(b){&nowiki(){ &nowiki() }}NoWiki(プラグイン処理抑制プラグイン)を使う。
-編集をしたら変更点を差分で再度確認。変なところをいじってないか確かめる。

----
&font(20,b){『mugenの内部処理はカオスを煮詰めて圧縮して発酵させたような地獄だ。』}
----
//コメントアウト保存
//**■2014-10-28 重大な話・Targetステコンの制御について
//&font(30,b){ステートを奪えるみたいです。}記事再度直します。
//↓の検証は、「''Helperに対して''」での検証であり、''Helper相手の場合はステートを奪わない''ようです。
//
//**■2014-10-28 重大な解説修正・Targetステコンの制御
//&font(b){[[Target]]系ステートコントローラーの制御}について
//&s(){検証により、[[SC-/TargetFacing]]と[[SC-/TargetDrop]]以外のTargetステコンの発動は}
//&font(16,b){%%相手の状態によっては影響を与えられなくなると判明%%}
//%%具体的にはfacingを除くTargetステコンは%%
//&font(18,b){%%1.『ガード以外のやられ状態のTarget』と%%}
//&font(18,b){%%2.『ReversalDefを当てたTarget』だけに影響する。%%}
//%%タッグ時など用に&font(16,b){「ガードした相手を弾く」といった処理は必要ない}と判明。%%
//&font(16,b){%%ただし、ガード・ヒットの区別が不要なだけで、%%TargetStateの扱いには要注意。}
//%%なんで今の今まで気づかなかったんだろう…。%%


//:管理人|
//ADI