p2Name

「p2Name」の編集履歴(バックアップ)一覧に戻る
p2Name」を以下のとおり復元します。
//&bold(){[[キム>キム・カッファン]]のCNSファイルにp2name登録されていないキャラとの対戦時のイントロ}
//#image(キムVSテリー.png,width=160,title=未登録キャラとの対戦時イントロはコレ。「いくぞぉッ!」)
//&bold(){キムのCNSファイルにp2name登録されているキャラとの対戦時のイントロ}
//#image(キムVS悪.png,width=160,title=「悪は許さんッ!!」)
//
//画像は一例です
//
//画像の削除やCOは絶対にしないでください。なお、無断削除はどんな理由であれ、悪意ある愚民の荒らし行為と変わりません。
//↑一方的にコメントアウトを削除してる時点でそちら側も荒らしです。これ以上の議論は談話室orスレへどうぞ
//一方的な削除を再び行った場合このページの編集凍結などもありえますので。
//
//
// 現在、編集合戦が発生してますが、
// 必要派も不要派も編集の意図・正当性をキチンと伝えておらず、お互いに編集の正当性が薄い状態です。
// 編集時にコメントアウトにて編集の意図を書き、意思の疎通を取る事を提案します。
// (片方がキチンと説明して、もう片方が問答無用であれば、
//  どちらが荒らしかハッキリしますし。)
// あと、編集合戦を談話室に持ち込むのはやめてください。他の談話を阻害する原因となります。
//
//
//
// で、ここからは一個人としての意見ですが、
// 自分は「画像は必要だが今の画像は微妙」かと。
// p2nameの利用例を図解で示す事自体は問題ないでしょうし、
// サイズの問題は、横並びにするなり縮小するなりで修正可能です。
// ただ、現在の参照画像がどこがどう違うのか分かり辛く、
// 加えて、特殊イントロは別項目として存在するのに、参照画像が特殊イントロであり、被ります。
// そのあたりを改良できればいいのではないかな、と。
//
//私はトリガーの説明に画像なんかいらないと思う。だってトリガーなんて工夫次第でなんにでも使うものだよ。しかも内部的に。画像で説明するもんでもないと思う。
//
&bold(){P2name}とは、敵の情報を参照して結果を返すトリガーの一つで、「&bold(){P2}」の「&bold(){name}」、
すなわち「最も近い敵&link_anchor(*1){*1}」の「名前(表示上のではなく内部的な)」を参照するためのトリガーである。
当然ながら敵が一体のときは距離の事は意味が無くなる。
P2と言うと、P2distなどのトリガーではhelpertypeがplayerになっているヘルパーも
その対象となるのだが、このトリガーの対象はあくまで敵本体に限定されるようだ。
記述の形式は以下の通り。ダブルクオートで名前を囲むのを忘れずに。
>trigger1 = P2name = "Kung Fu Man"
//上の画像の場合はこのようにすると良い
//>trigger1 = P2name = "Rera"

類似のトリガーに自分自身の名前を参照する&bold(){P1name}というトリガーがある。
これはP1を省略し&bold(){Name}と記述しても同じ役割のトリガーとして使用可能。
滅多に使わないトリガーだが、投げ技などの敵を処理することを想定したstateでは使い道がある。
また、敵の情報を参照するための「Enemy,」「Enemynear,Name」や、
パートナーの情報を参照する為の「Partner,」と組み合わせた使い方が可能。
>trigger1 = Enemynear,Name = "Kung Fu Man"
あるいは
>trigger1 = Enemynear(0),Name = "Kung Fu Man"
このように記述した場合、P2nameを使った記述と近い意味になる。ただし近いだけで違いはある(詳しくは後述)。
例の二つ目の、Enemynear(0),の(0)とは「一番目」を意味し、この場合なら「『近さ』で『一番目』の『敵』」という意味。
Enemynear(1),なら「『近さ』で『二番目』の『敵』」である。
Enemynear(0),はEnemynear,と記述した場合と意味は完全に同じで、無駄に文字数がかさむので省略する事が多い。
この記事でも以降(0)は省略する。

チーム戦用に、パートナーの名前を参照する&bold(){P3name}と、
敵側のパートナーの名前を参照する&bold(){P4name}というトリガーもある。
&bold(){P3Name}は&bold(){Partner,Name}の記述で代用しても意味はほぼ同じである。
しかし、&bold(){P4Name}を&bold(){Enemynear(1),Name}で代用すると、P2nameの時と同じでやはり違いがある。

それぞれのトリガーの意味の詳細
-本人の名前(生死不問):P1Name または Name
-パートナーの名前(生死不問):P3Name または Partner,Name(ただしPartner,Nameの方はパートナー不在時に使用するとエラーメッセージが出るので単体では用いず、NumPartnerと併用するのが基本となる)
-&bold(){生存中の}一番近い敵の名前:P2Name
-&bold(){生存中の}二番目に近い敵の名前:P4Name
-敵側のチームリーダーの名前(生死不問):Enemy,Name
-敵側のサブメンバーの名前(生死不問):Enemy(1),Name(ただし敵側のパートナー不在時に使用すると上記同様エラーメッセージが出るので、NumEnemy>=2と併用)
-一番近い敵の名前(生死不問):Enemynear,Name
-二番目に近い敵の名前(生死不問):Enemynear(1),Name(ただし敵側のパートナー不在時に使用すると上記同様エラーメッセージが出るので、NumEnemy>=2と併用)
P2NameとP4Nameは敵の生存が関わり、他はそうではないのが少々複雑である。
例えばすぐ側にKO済みの敵が倒れていて、遠くにもう一人生きた敵がいるという状況でP2nameを使うと
「遠いが生きている敵」を、Enemynear,Nameだと「死んでいるが近い敵」の名前を参照することになる。
なお、敵が二人とも死んでいる状況ではP2nameではそのどちらの名前も参照できなくなる。

特に[[勝利デモ]]を搭載しているキャラで倒した相手が該当する特定キャラであった場合、P2Nameだと倒した相手(即ちAlive=0)を認識できず専用台詞が表示されない。ただしタイムオーバー等の判定勝ちであった場合、相手はAlive=1の状態であるためP2Nameで相手を認識できるが、どちらにしてもこのように&bold(){生死が関わる状況}ではEnemyNear,NameもしくはEnemy,Nameを使ったほうが無難である。

このように案外細かな違いがあるので、チーム戦での敵の判別ではきちんと使い分けた方が良い。
ここで一つ例を挙げてみると、[[北斗の拳]]に登場する[[ジャギ]]の[[究極奥義>超必殺技]]である「今は悪魔が微笑む時代なんだ!」は
対[[シン>シン(北斗の拳)]]専用の技であるが、
>Trigger1 = Enemy,Name = "Shin"
この記述では「シンが敵側リーダーであれば発動可能」という意味になる。この場合シンの生死や近さは不問。
これを「敵側にシンがいればリーダーか否か不問で発動可能」にしたいなら
>Trigger1 = Enemy,Name = "Shin";←1人目(リーダー)の名前
>Trigger2 = NumEnemy = 2;←後述
>Trigger2 = Enemy(1),Name = "Shin";←2人目(サブ)の名前

このように記述すれば良い。
また「一番近い敵が生きたシンならばリーダーか否か問わず発動可能」としたければ
>Trigger1 = P2Name = "Shin"
こうである。 

「NumEnemy = 2」について
相手が2人いる事を判別するトリガーでこれを入れないと相手が1人だけの場合にエラーメッセージが表示されてしまうのを防止する。しかし使い勝手が非常に悪く下記の記述では正しく機能しないので注意。

間違った記述例
>Trigger1 = NumEnemy = 2 && Enemy(1),Name = "Shin";←同一行に纏めるのは×
>Trigger2 = Enemy(1),Name = "Shin";←こちらを上の行に記述して、
>Trigger2 = NumEnemy = 2;←こちら下の行に記述するのも×

パートナーに関するPartner,Nameも全く同じことでNumPartnerが必須であり、
>Trigger1 = NumPartner
>Trigger1 = Partner,Name = "Shin"
↑これが正しいのだが、
>Trigger1 = NumPartner && Partner,Name = "Shin"
>Trigger2 = Partner,Name = "Shin"
>Trigger2 = NumPartner
↑この記述はNGとなる。

このように、違いを知っていれば立場、距離、生死の条件を組み合わせることが可能である。
もう少し複雑に「敵側リーダーがシンで、そのリーダー側のシンが生きており、かつ生存中の敵の中では自分に一番近い場合に発動可能」としたい場合はどうするか。
>Triggerall = Enemy,Name = "Shin"
>Triggerall = Enemy,Alive = 1
>Trigger1 = Enemynear,id = Enemy,id
>Trigger2 = NumEnemy = 2
>Trigger2 = Enemy(1),Alive = 0
そこまで複雑になるとName系のトリガーだけでは無理で、このように他のトリガーも組み合わせることになるだろう。

なおこれらName系のトリガーは、どれも「完全一致するか」のみを見て(ただし大文字と小文字の区別は無い)、
真(1)か偽(0)かを返すだけで、「○○を含む」などの使い方は不可能と少々使い勝手が悪い。

ちなみにキャラの名前ではなく製作者名を参照する&bold(){AuthorName}というトリガーもある。
Nameと同じで普通に使うと自分自身がその対象だが、これもやはり「Enemy,AuthorName」や、
「Partner,AuthorName」とすることで対象を指定して製作者の名前を問うことが可能。

また、敵の名前以外の情報を参照するためのトリガー(例えばP2LifeやP2StateNoや製作者名のAuthorNameなど)には
P3、P4用のものは無いのだが、これも「Partner,」や「Enemy,」と組み合わせて工夫すれば色々と参照できる。
上の説明で用いたEnemy,Aliveもその一種である。

----
これらのトリガーは主に[[特殊イントロ]]や[[特殊やられ]]、あるいは勝利演出等に用いられる。

また、更にP2statenoを用いて組み合わせることで、特定の相手の特定の行動に対して特定の対応をさせたり、
能力を付加させることも可能。
例として
・特定相手時の攻防、パワー、ライフの増減。
・反射攻撃を予め登録しておき、特定相手の飛び道具と同様の形状の飛び道具を返す。
・特定相手の飛び道具をダッシュで無効化できるようにする等。
・特定相手に挑発された時、自分のパワーを減らす。もしくは増やす。
・特定相手との条件成立で特殊な動作をさせる([[シエル]]と[[アルクェイド・ブリュンスタッド]]のクロスカウンターや[[ELLA]]等の組み手など)。
・通常時と特定相手時で違う技演出をさせる。([[レイ]]の[[一撃必殺奥義>テーレッテー]]を[[ユダ]]もしくは[[マミヤ]]にくらわせた時、[[ケンシロウ]]の一撃を[[ハート様]]または[[シン>シン(北斗の拳)]]にくらわせた時など)
などなど。

他に特殊な用途でP2nameを使用している場合もある。
並キャラが所謂神キャラと称される凶悪系キャラの場合に対しそういった対策の一環として用いられる場合がある。
ただし根本的にランク違いであるため大会等では『&bold(){無差別級}』にでもしない限りこういう組み合わせは有り得ないが・・・。
MUGENには性別を判別できる項目がないのだが、このP2nameを使用して相手キャラの性別を擬似的に判別することができる。
なお男とも女とも取れるName(例:&bold(){まこと(Makoto)}、[[溝口誠]](ファイターズヒストリー)(男)、&bold(){[[まこと]]}(ストリートファイターIII)(女)、[[菊地真]](アイドルマスター)(女))にはフルネームやAuthorNameを組み合わせる必要がある。

ゆ~とはる氏のサイトに性別別にまとめたP2name一覧が公開されているので、男女で演出が変わる要素などがあった場合に利用してみるのもいいかもしれない。

大まかに男女別、年齢別(子供、大人、老人)、種族別(人間、吸血鬼、ロボット・アンドロイド)など。但しメスケモ系など[[外見が人に近いキャラ>フェリシア]]以外の[[マイ>アップルジャック]][[リト>トワイライトスパークル]][[ルポ>ピンキーパイ]][[ニー>フラッターシャイ]][[のキ>ラリティ]][[ャラ達>レインボーダッシュ]](何れも♀≒女性)は対象外となっているので注意。

AI時においては、㍻㌢氏のAI説明書で有名になってきてる、[[中段攻撃>中段]]対応、[[瞬獄殺]]対応、[[グレイズ]]できるキャラの飛び道具対応、
アーマーキャラ相手の対応等、様々なバリエーションを持たせることが出来る。
上手くいくとかなりシステムの格差が激しい組み合わせのAI戦も魅力的に見せることが出来るのだが、
もともとこの手の個別対策というのは、かつて製作者らの間では可能なのは分かりきっていても、
あえて手を出さないようにされてきた領域だったりする。そんな経緯から(今のようなAI同士の対戦の場合であっても)
あまり好まないという人もいる。これは結構微妙な問題なので注意しよう。


特殊イントロにせよAIにせよ、P2nameで指定する相手側のキャラが更新されると
それまでの記述では通用しなくなることがある。
それを避けるためには事前に相手側の製作者に連絡をとって了承を得ておくのがいい。

上手に使えばキャラの魅力を引き出しうる重要なトリガーである。

----
ちなみにありそうで無かったのがステージの名前を参照するトリガーである。
キャラセレの後ステージを選ぶ時、その設定しているステージ名が表示されるが、WinMUGENには試合中これを参照するトリガーが存在しない。
このため特定ステージのみ使用可能な技を持つキャラなどがWinMUGENでは再現ができない。
例:[[バルログ]]の金網よじ登りジャンプ、[[マグニートー]]([[X-COTA>X-MEN CHILDREN OF THE ATOM]])や[[ユン]]、[[ヤン]]([[両者とも2nd以前>ストリートファイターIII]])のホームステージ限定での[[特殊イントロ]]、[[サウザー]]のホームステージ限定の[[一撃必殺奥義>テーレッテー]]演出など。
…が、&bold(){[[新バージョンmugen>新バージョンmugenについて]]}にてとうとうステージを参照するトリガーが追加されたので、
このような技も新バージョンmugenでならば追加可能となった。

----
&aname(*1,option=nolink){&color(red){*1}} X軸のみでY軸の距離は無視される。また敵に前後から挟まれている場合には前方の敵が若干優先される。

//アーマーキャラ相手の対応等、様々なバリエーションを持たせることが出来る。これで一部の[[AI殺し]]にも対抗できる。
//しかしP2Name使っただけでは無理なAI殺しな攻撃もある。
//当然、設定したキャラ以外には意味をなさないので注意。
//[[ダン]]の挑発伝説に対抗して挑発繰り返させるとかそんなことも可能だぜ!
//
//p2nameは上記のように、キャラの行動や魅力を引き出す重要なトリガーであるということを認識しておこう。
//(p2nameによるキャラへの個別対策は「ずるい」「卑怯」だという印象を持ってる人も居るが、
//戦闘の広がりやバリエーションやAI殺しの対策を持たせるためには欠かせないものだということは忘れずに。
//ただ勝つためだけに設定するものではないのだ。容量、用法は正しくご使用ください。) 
//内容の大部分が上の文章に含まれてるのでコメントアウトしたままでOK。そもそも個人的な「オススメの使い方」を書くページじゃあないし。
//
//使用例:
// trigger1 = p2Name = "kfm"
//
//
//;相手が一定のキャラだったら対策フラグ(var(11))をオン
//
//[State -3];リセット これがないと下記を満たしたときそれ以降解除されない
//type = varset
//trigger1 = 1
//var(11) = 0
//
//[State -3];弾幕キャラ
//type = varset
//triggerAll=!var(11)
//trigger1 = p2Name="waki"
//trigger2 = p2Name="yandere"
//trigger3 = p2Name="thief"
//trigger4 = p2Name="magaki"
//trigger5 = p2Name="paddocyo"
//trigger6 = p2Name="chugoku"
//trigger7 = p2Name="moyashi"
//trigger8 = p2Name="remirya"
//trigger9 = p2Name="⑨"
//trigger10= p2Name="myon"
//trigger11= p2Name="dreamcast"
//trigger12= p2Name="syaseimaru"
//trigger13= p2Name="Misae Nohara"
//trigger14= p2Name="mimasama"
//trigger15= p2Name="zun"
//var(11) = 1
//
//;相手が一定のキャラである行動したら対策フラグ(var(12))をオン
//
//[State -3];リセット これがないと下記を満たしたときそれ以降解除されない
//type = varset
//trigger1 = 1
//var(12) = 0
//
//[State -3];全画面攻撃
//Type = varset
//TriggerAll=!var(12)
//Trigger1 = P2Name="orochi"
//Trigger1 = P2StateNo=3000;無に還ろう
//Trigger2 = P2Name="magaki"
//Trigger2 = P2StateNo=3000;ワキガ
//Trigger3 = P2Name="mukai"
//Trigger3 = P2StateNo=3000;全体石化
//Trigger4 = P2Name="mizuchi"
//Trigger4 = P2StateNo=3000;混
//Trigger5 = P2Name="Ciel"
//Trigger5 = P2StateNo=2000;ヘブンズ
//var(12) = 1

----

復元してよろしいですか?