日常の戯言とかなんとか

スポンサーサイト

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

Alive偽装その1

Aliveを0以外の任意の値に書き換える技術です。
これを用いることでenemy,Alive = 1のような条件でNoKOをしている相手などを倒すことができるようになります。

基本的には超即死の応用で、ステコンオーバーフローを用いてAliveを書き換えます。

①1~127に書き換える

まずは超即死ステートを用意し、ステコン553個目以降を以下のように書き換えてください。

[state 553]
type = null
trigger1 = 1
ignorehitpause = 1
persistent = 128

[state 554]
type = null
trigger1 = 1
[state 555]
type = null
trigger1 = 1
[state 556]
type = null
trigger1 = 1

[state 557]
type = changestate
trigger1 = 1
value = 0
ignorehitpause = 1
persistent = 256

次にこれをステートを固定したヘルパーで1回読み込ませてください。
画像のようにヘルパーのAliveは0になったかと思います。
Alive=0.png
ここで、もう一度読み込ませます。
Alive=127.png
すると、Aliveは127になりました。
これ以降はもう一度読み込ませると126、125…とだんだん小さくなっていくはずです。

ステコンオーバーフロー発生時は「ステコンが実行されるとき、その箇所の数値が1以上なら数値を1減らす。0ならそのまま」という処理になります。また、『persistent』は「ステコンが実行されるとき、その箇所の数値が0なら(指定した数値-1)に数値を書き換える」という処理になります。
これらの処理により、Aliveが1のときは1減らされて0、Aliveが0のときはpersistentの処理で(128-1)=127という現象が起きました。ただし、persistentに129以上の数値を指定すると動作しなくなるので指定してはいけません。

ここまでの説明をふまえ、Aliveを任意の正の数にするためにはこのように記述します。

[state 553]
type = null
trigger1 = 1
ignorehitpause = 1
persistent = (任意の数値+1)

[state 554]
type = null
trigger1 = 1
[state 555]
type = null
trigger1 = 1
[state 556]
type = null
trigger1 = 1

[state 557]
type = changestate
trigger1 = Alive != (任意の数値)
value = stateno
ignorehitpause = 1
persistent = 256
[state 557]
type = changestate
trigger1 = 1
value = 0
ignorehitpause = 1
persistent = 256

changestateに指定されているpersistentはおまじないのようなものだと思ってください。(理屈は知らなくてもとりあえず大丈夫です。気になる人は「行動フラグ」で調べてみてください)

それ以外の数値にAliveを書き換える方法については、新しく説明が必要なことも多いので別の記事に記載します。

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

Pagetop
« next  ホーム  prev »

プロフィール

@ひたち

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

検索フォーム

アクセスカウンター

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