日常の戯言とかなんとか

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
-------- : スポンサー広告 :
Pagetop

混線解説

混線バグ

ざっくり言えば通常の手段ではターゲットを取れないヘルパーのターゲットを取ることができる技術。
2012年現在、神キャラと呼ばれるには混線を使いこなす必要があるでしょう。

前提知識
①永続ターゲット
一度ターゲットを取ると、Reversaldefを実行している間はターゲットを常に保持し続ける。

②プレイヤー領域
MUGENでは、プレイヤーとヘルパーに対して席が59個用意されている。そのうち0~3が1Pから4Pのプレイヤー、4~59がヘルパーの領域となっている。下のSSでは、名前の右にある(0)がプレイヤー領域を表します。
領域1

また、呼び出されたヘルパーは最も番号の小さい領域に入ります。例えば、4,5,7に既にヘルパーがいる場合は呼び出されたヘルパーは6番の領域に入ります。また、この時4番の領域のヘルパーが消去されても、5番の領域のヘルパーが4番の領域に移動するということはありません。


これらの仕様を組み合わせることで、混線バグが完成するのです。

では実際の記述を見ながら解説していきます。

[state -2,ターゲットを取るヘルパー]
type = helper
trigger1 = !ishelper
trigger1 = !numhelper(10000)
ID = 10000
stateno = 10000
helpertype = player
pausemovetime = 9999999999999
supermovetime = 9999999999999
ignorehitpause = 1

[state -2,ターゲットを取られるヘルパー]
type = helper
trigger1 = !ishelper
trigger1 = !helper(10000),numtarget
trigger1 = !numhelper(10100)
ID = 10100
stateno = 10100
helpertype = player
pausemovetime = 9999999999999
supermovetime = 9999999999999
ignorehitpause = 1

[state -2,ステート固定]
type = selfstate
trigger1 = ishelper(10000)
value = 10000
ignorehitpause = 1

[state -2,ステート固定]
type = selfstate
trigger1 = ishelper(10100)
value = 10100
ignorehitpause = 1

まず、混線はヘルパー2つ組が基本単位になるので、2つ呼び出します。
いつ呼び出してもいいのですが、常に呼び出せるようにしたほうが何かと便利なので常時監視で呼び出すようにするといいでしょう。また、ヘルパーのステートは固定しておきましょう。
次に、それぞれのヘルパーのステートを見てみます。
;******************************************************
[statedef 10000]
anim = 3008;常に攻撃判定のあるanim
movetype = A
statetype = S

[state 10000,ターゲット取得用hitdef]
type = hitdef
triggerall = !numtarget
trigger1 = ishelper(10000)
attr = ,NA
sparkxy = 999, 999
ignorehitpause = 1
affectteam = F

[state 10000,混線維持用Reversaldef]
type = reversaldef
triggerall = numtarget
trigger1 = ishelper(10000)
reversal.attr = SCA,AA,AT,AP
sparkxy = 999, 999
ignorehitpause = 1
;******************************************************
[statedef 10100]
anim = 3009;常に当たり判定のあるanim

[state 10100,ターゲットを取られたら消える]
type = destroyself
trigger1 = ishelper(10100)
trigger1 = helper(10000),numtarget
ignorehitpause = 1
;******************************************************

基本はこれだけです。
下のSSのように、上側のhelper(10000)は、ターゲットを取っていない状態ではhitdefを出してhelper(10100)をターゲットに取ります。
混線1
helper(10000)がターゲットを取ったら、helper(10000)はreversaldefを実行。これにより永続的にターゲットを取ります。しかし、ターゲットを取られた下側のhelper(10100)はdestroyselfを実行し、消えます。
すると、下のSSのような状態になります。
混線2
ヘルパーは消えましたがターゲットは残っているようです。
どういうことかというと、実はターゲットというのはプレイヤーに対してではなく、そのプレイヤーがいる領域に対する物なのです。この場合は、4番目の領域にあるhelper(10000)のターゲットは、helper(10100)があった5番目の領域です。このように、ターゲットの領域にプレイヤーがいない状態のことを「空のターゲット」といいます。
混線というのは、この「空のターゲット」を意図的に作り出すことを指します。

この状態で次にヘルパーが呼び出されると、5番目の領域にヘルパーがないので、5番目に入ります。この5番目に入ったヘルパーはhelper(10000)のターゲットになってしまうのです。ここでhelper(10000)がtargetstateを実行すると、5番目の領域に入ったヘルパーのステートを奪うことができます。
ちなみに、混線からのタゲステでステートを奪えるのは、「hitdefを出さないから当身でステートを奪われることを想定していない」「movereversedでステ抜けする」といったヘルパーです。



スポンサーサイト
2012-08-24 : MUGEN解説 : コメント : 0 : トラックバック : 0
Pagetop
コメントの投稿
非公開コメント

Pagetop
« next  ホーム  prev »

プロフィール

@ひたち

Author:@ひたち
「@」を忘れるべからず
読みは普通に「ひたち」でいいんじゃないの

検索フォーム

アクセスカウンター

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。