PSA小ネタ、シールを増やす方法

2015.05.24 22:39|スマブラX改造 PSA小ネタ
知ってても誰も使わなそうな小ネタです。これはオーバーヒートアイスクライマーのおまけ機能として入っています。
シールを落としていちいち拾うのが面倒なときに使えます。
CDとフィギュアにも使えると思います。(フィギュアは拾うものを実際に見て限定できるので少し変わるような気がしますが)
Generate Item: Value-33(シールを手の中に作成)
Consume Item: Value-0(シールを消化する)
これだけです。
あと、食べ物消化の時はConsume Item:Value-2で消化した方がいいと思います。
たべもの消費の場合はAdd/SubtractDamageと違ってマイナス値までいかないので回復時マイナス値まで行かないように設定したい場合は使えるかもしれません。
スポンサーサイト



バグプリン

2015.05.23 01:41|スマブラX改造 キャラ紹介
完全再現はできてませんが、投稿しました。
プリン ・ テ ラ モ ー ド DL
強さランクとしては強キャラの中間より上ぐらいです。重くて吹っ飛びにくいですが、スマッシュ攻撃など、強い攻撃をガードすると簡単に撃破できます。
攻撃力はそのままで基礎能力の一部だけ普通のプリンと同じという、比較的使いやすいバージョンも用意しました。

PSA小ネタ、カメラに映らなくなる方法

2015.05.22 22:10|スマブラX改造 PSA小ネタ
使えなくてくだらない小ネタです。
まず、Visibility:Boolean-False でキャラを透明化します。
次に、Tag Display:Boolean-False でキャラの上のタグを消します。(不要かも。反応してくれない時もあります...)
そして、Item Visibility:Boolean-False でアイテムを持っていてもわからなくなります。
最後に1A070100:Boolean-False を入れるとカメラがそのキャラに反応しなくなります。
これでエフェクトなどを出していない限り存在しててもわかりません。
ただ、プレイヤーには狙われにくくなるかもしれませんが、CPは普通に襲ってきます。なので全く使えません。
カメラがキャラに反応しなくなると、亜空の使者では「死なないと進めない」ようになってしまいますが、対処法は一応あります。1A070100:Boolean-True をいれるとカメラは再び反応するようになります。

さらに、これを使ってPSAを作ってみました。
ほぼ戦いにくいだけですけどね(ステルスルイージDL)
※このルイージはよほどのことがない限り更新するつもりはありません。
このキャラの使用時にタグが上に見えるのが嫌な人は、SmashAttacksでAttributesの0x15C Tag Height Value に5000などの大きな値を入れるか、バイナリエディタで1DC-1DFの値40733333を459C4000にしてください。
こうすることでタグが見えることはほぼなくなります。ただ、トレーニングでアイテムを出現させることができなくなりますが...
エフェクトは見えるので一応プレイヤー操作でも戦えます。

Terminate Graphic Effectについて

2015.05.20 22:45|スマブラX改造 PSA小ネタ
Terminate Graphic Effect(11150300)についてですが、エフェクトを消すときにValue-消したいエフェクト、Boolean-False、Boolean-Trueという入力が一般的に使われていますが、Value-消したいエフェクト、Boolean-True、Boolean-Trueでも消せるらしいです。(通常のシールドエフェクトはシールド本体と煙のエフェクトの両方がこの方法で消えるように設定されています)
どう違うのかは謎ですが...

LA-Bitについて(リメイク) (2015/10/19更新)

2015.05.20 22:34|スマブラX改造 PSA参考
@DIARY(β)で書いた記事のリメイクです。
一部のキャラはLA-Bit[60]~LA-Bit[97]のうちLA-Bit[61]~LA-Bit[68]の変数を操作しています。
LA-Bit[64]~LA-Bit[97]は変数操作をしていない限りTrueになっているのは見たことがないので、これらなら安心して使えるかもしれません。
ですが、LA-Bitの98以降は、基本的に空き変数のはずなのにFalseから始まるだろうと思っていたら違うらしく、キャラによって最初からTrueな場合と最初はFalseな場合があります。しかも、これがいくつかだけ入れ替わる場合があります。そのため、使いにくいと思われます。
追記: LA-Bitの160以降は変数操作をすると、フリーズするらしいです。なので使わないことを推奨します。(LA-Bitの160以降でTrueとFalseの切り替えを何度やってもフリーズしない場合は教えてください。)
ちなみになぜ最初から必ずFalseと決まっていて使われていなそうなを求めるのかというと理由があります。
1つめは使われている変数を使ってしまうとバグを起こす可能性があるためです。
2つめは最初がFalseと決まっているとEntryのアクションを行わないトレーニングモードや亜空の使者でも、最初の待機時にIf NotBit is SetとBit Variable Setを使えばEntryのアクションでセットしておきたいようなFloatなどを最初にセットできるからです。
結論としては、最初からFalseと決まっている場合はいろいろと都合がいいのです。

容量をなるべく増やさないようにする方法(再更新)

2015.05.20 22:00|スマブラX改造 PSA参考
@DIARY(β)で書いた記事のリメイクです。PSACompressorを使っていたり、BrawlBoxでMoveDefのデータを圧縮している場合はどうでもいい記事かもしれません。
こだわらない場合でもPSAで容量を増やすのは簡単ですが容量の減少をさせるのは難しいのに加えて限度があるので増加の阻止を行っておいた方がいいこともあります。

追記(古い順)
仕様変更?して楽に容量増加を阻止する方法を追加。楽な方法で代用の効く面倒な方法を背景と同化。
PSACompressor追加。これを使えば基本的なこと以外はいらない。一部説明を変更。

基本的なことも書きました。
!注意!これらが原因でバグる可能性があります。バックアップはこまめにとりましょう。(主に同化している項目)
BrawlBox v0.67などで編集した後の圧縮では不具合を作り出す可能性があり、バグが発生しなくてもPSA2.70などで編集できなくなることがあるため、この方法を紹介しています。
(PSACompressorを使う場合はPSAとバイナリエディタを使った容量の増加阻止方法は不要。しかもクリックひとつでサブアクション内の空ルーチンの削除はすべて終わる。BrawlBoxのような圧縮はしないので、この記事の基本的なこと以外は特にいらないかも。)

-PSAのみで可能な範囲-
↓基本的なこと (PSACompressorやBrawlBoxを使っている場合も有効)
・同じ内容はSubRoutineを使う。(パラメータ数が1以下のイベントはこれをすると逆に容量が増える。トータルの使用容量が16バイト以上(パラメーター3つ以上のコマンドなど)ないとこうする意味はない。)
・Offensive Collisionなど、パラメーター数の多いイベントをなるべく増やさない。(同じ内容が複数あるなら新しくSubRoutineを作って使ったりするといい。)
・無駄にEventを増やさない。(PSAのみを使って編集している場合は、未定でも増やす可能性がある場合は先に増やしておいて残しておいた方がいいこともある)
・使わないサブアクションの全てのイベントを消してOffsetを0にする。(1回につき数バイトだが実際にファイルサイズが減少する。なにもイベントがない場合はNo Eventを追加→RemoveでOffsetを0にすればいい。ただし、PSAでこれをやると効率が悪い。)
ちなみに、PSAでパラメータのあるEventを1つ消しただけでもファイルサイズは減らせます。

↓基本的なこと (PSAでのみ)
・なるべくOffsetを変えない。(そこまで重要ではないかも)

-PSAとバイナリエディタを使った容量の増加阻止方法-
PSAでファイルを保存したファイルに有効。1ヶ所バイナリエディタで値を変えるだけでいい。
バイナリエディタでアドレス0x64の値を確認→+7Cしたアドレスの値を小さくする(2000程度に)
たったこれだけで楽に容量増加の阻止が可能。既存のデータを変更しただけでは容量の増加が全くしなくなる。そのうえ無駄記述を消すと消した分のデータ量まで容量の増加がほとんど止まる(多少の増減はする)。ほぼPSAしか使わない場合はオススメ。
詳しいことはこの記事を参照。

PSAで使わないサブアクションのうちイベント数が0のものを消してOffsetを0にしたときはオフセットを変える前に存在する"00000000 00000000"はそのままなので、後で変更対象としてPSAがとらえるためにその部分を"FADEF00D FADEF00D"に変えるとより無駄がなくなる。(ただし面倒。ちなみにPSACompressorはこの無駄の削除も同時にワンクリックでやってくれる。)

あと、バイナリエディタを使えば新しく作成したサブルーチンの場所が分からなくなってしまったときなどにも少しの手掛かりがあれば(バイナリエディタで検索をすることで)見つけ出すことができる場合があります。オフセットをメモし忘れて画面の切り替えや保存したりした時でも安心できます。(これはおそらく他のツールでは無理)


ここからは仕様変更した場合はPSAでやっても使用容量は変わらないので以前このような方法があったという過去ログ的なものだと思えばいいでしょう。(※利用価値の少ないものなので背景と同化しています)

-PSAとバイナリエディタを応用すれば可能-

これをする際の注意点
・ファイルは同じものを2つ(PSAなどでの確認用とバイナリエディタでいじる編集用)用意しておいた方がいい。
・PSAやOpenSAで見たときのオフセットを+80(16進数)しないとデータは確認できない。
・まちがって変更してしまうとSmashAttacksで確認するときなどにバグってしまうことがある。
・プログラムオフセットから+80した値はType-Valueという形になっている。Typeに+4したオフセットにValueがある。+4せずにType変更をしてしまうとSmashAttacksで高確率でバグる。パラメーターが2つ以上ある場合は+8することで次のパラメーターに移動できる。不安ならSmashAttacksで同じ値を探していくといい。同じ値を探してもScalarやVariableだと見つからないので先に確認用の方をValueに値を変えておくとよい。
・Scalarの1は10進数で60000、16進数でEA60となっている。これを掛けたり割ったりすることでScalarの0.1や3を出せる。これを使えば確認用がOpenSAだけでもScalar値を編集可能。
・SmashAttacksですでにプログラムオフセットを変えてしまっている場合は容量はこれら方法を使わずにSmashAttacksで変更しても容量はそれ以上は増えない。

ちなみにCommand Offset(コマンドオフセット)とParams Offset(パラメータオフセット)はOpenSA基準で書いている。
PSAではCommand OffsetはアクションやサブアクションのOffsetから確認でき、Params Offsetはイベントの変更時に確認できる。(イベント名の下ににあるOffset)


・SmashAttacksやOpenSAでパラメータオフセットを確認しながらパラメーターを変更するとSmashAttacksで変更した時に変更されるパラメータオフセットが変更されず、容量が増えない。(ここで注意することが1つある。TypeをPointer以外からPointerに変える場合は面倒なことに、”Offsetが0になっている値を変更してもフリーズしなくする方法”を使う必要があるのでこの場合はよほどのことがない限り普通にPSAで編集することを推奨する。)

・PSAやOpenSAでパラメータオフセットを確認しながらパラメータを変更すると通常の場合はPSAで変更した時に変更されるパラメータオフセットが変更されず、容量が増えない。 (TypeをPointer以外からPointerに変える場合は面倒なことに、”Offsetが0になっている値を変更してもフリーズしなくする方法”を使う必要があるのでこの場合はよほどのことがない限り普通にPSAで編集することを推奨する。コマンドの下4桁が変更前と変更後を比べて変更後の方が数値が大きい場合は後に続くプログラムオフセットを変更してスペースをあけるといった特殊なやり方が必要なことが多い。開けたスペースは"FADEF00D FADEF00D"となっているため"Type-値"に変えないと必ずバグる。)

・既にある記述のサブルーチン化
サブルーチンにしたいサブアクションのOffsetの値を検索し、そのOffsetを"00XXXXX"から"00000000"に変える。
あとは、使う時にサブルーチンを使って呼び出せばいいだけ。
Main、GFX、SFX、OtherがどれもSynchronous Timerなどを使ってしまっているときにオリジナルのグラフィックなどを残しつつ追加のグラフィック表示などをループさせたいときに有用。

ここからはバイナリエディタとPSAを行き来する必要があります。(そのため少し長い)
する場合はその前にバックアップを取っておきましょう。

それと、もう一つ注意事項。改変前のキャラのファイルを初めてPSAで編集した時、最初にデータを変えた後で確認できるCommand Offset以降にある"FADEF00D FADEF00D"は編集しない方がいい。何故かというと、手間だけがかかって容量の増える量は変わらないため。
改変前のキャラのファイルがない時は、バイナリエディタでアドレス0x64にある値を+7Cしたアドレスにある数値を見ればいい。それ以降の"FADEF00D FADEF00D"はたいてい編集しても無駄。

・SubActionのMainなどのオフセットを変更せずNo Eventを追加する方法(すでにオフセットが変更されていると使えない可能性があります。)
1. まずPSAで対象の最後のコマンドオフセットを確認。
2. 確認したものに+10したオフセットを探す。
3. 発見したオフセットを変更する。(パラメータオフセットならコマンドを値を何も変更せずDoneを押してパラメータオフセットを変更できたらOK。ただし、できなかったらこの方法は使えない)変更できたら保存。(複数まとめてすることもできます)
4. バイナリエディタでSmashAttacksで3で変えたために"FADEF00D FADEF00D"となっているところを"00000000 00000000"に変えて、その前にある"00000000 00000000"を"00020000 00000000"に変える。("00000000 00000000"が連続している時も使えますが、なぜそうなっているかを確認しないとまずいかもしれません。)
これでNoEventが追加されているはずです。"FADEF00D FADEF00D"が複数ある場合はもっとNo Eventを増やせます。


・サブルーチンを新しく作成する方法
この方法は欠点が多いのであまり使わない方がいいです。
欠点1. 後でコマンドを追加しにくくなる。(PSAでオフセットを変更できないため)
欠点2. 必要ない無駄なイベントを消したときに空いたスペースで作るぐらいしかできない。
"FADEF00D FADEF00D"が2つ以上並んでいる時に作成可能。"FADEF00D FADEF00D"を"00020000 00000000"に変える。そして最後尾の"FADEF00D FADEF00D"を"00000000 00000000"に変える。
これを発見するためには編集し始めた個所から-80した値をSmashAttacksなどで確認する必要があります。


・パラメータオフセットを変更する(※TypeがPointerでないことを前提に話を進めているため注意)
"00020000 00000000"を"00020100 000XXXXX"などに変更しオフセット(XXXXX-80)に適当なパラメーターに変更する。ただし、これだけではほぼ100%フリーズする。
フリーズしなくするためには、”Offsetが0になっている値を変更してもフリーズしなくする方法”を使う必要がある。
この時、コマンドのデータではなく指定したOffsetの位置を確認しておくこと。
この値を追加することにより、フリーズさせせずに値を追加することができる。

ただ、実はこれに関してはもっと楽な方法がある。
1. PSAで普通に記述をして保存する。(既に記述をしている場合は次へ)
そして、コピーしてデータを2つにする。(PSAまたはOpenSAでの確認用とバイナリエディタでの編集用。)
(パラメータ数を1にして値を適当に入れただけでも大丈夫だが、その場合はあとで少し面倒。)

2. 次に"FADEF00D"(×パラメータ数×2)をバイナリエディタで検索。ここでデータが見つからない場合は、この方法は使えない。
見つかった場合は、そのオフセットの値を確認。

3. 次にPSAでコマンドオフセットを確認し、そのオフセットに飛ぶ。そして先ほど確認したOffsetの値から-80した値にパラメータオフセットを変更。

4. 次にPSAで変更する前のプログラムオフセットを確認。中身を全てコピーし、コピーしたらコピーした所をすべて"FADEF00D"で埋める。

5. コピーしたものを2で確認したオフセットに編集前とトータルサイズが同じデータ量になるようにペーストする。
もし”FADEF00D"が余っても気にしなくていい。

これで完了。あとは保存後にPSAで確認してもおかしい点がなければ実機でもフリーズしないはずです。
ちなみになぜこれで容量を増やすことができるのかというと、改変前のキャラのファイルを初めてPSAで編集した時、最初にデータを変えた後で確認できるCommand Offset以降にある"FADEF00D FADEF00D"は再利用ができるため、結果的に容量の増加を抑えられるということです。
ちなみにこの場合でもPSAでもう一度編集したりするとパラメータオフセットが変わってしまうので注意。値を変更することのないイベントに使いましょう。

空中回避などでアイテムを取れなくする方法

2015.05.20 21:39|スマブラX改造 PSA参考
@DIARY(β)で書いた記事のリメイク版です。
空中回避、空中攻撃、ダッシュ攻撃を出すと同時に近くにあるアイテムを拾ってしまうという仕様が邪魔なときに使えます。
サブアクション開始から0Fの場所にLA-Bit[4]をセットする、たったこれだけです。(Mainに記入するのを推奨します)
LA-Bit[4]をセットしている状態でもPickup Itemでアイテムは拾えます。
この方法は主に回復アイテムなどの拾った瞬間に効果が出てしまうアイテムを無効化したいときに役立ちます。

あと、拾った瞬間に効果が出るわけではない一部のアイテムを拒否したい場合は、サブアクション開始から1F以降のアニメーション終了前に
If Compare: IC-Basic[20009]==(拒否したいアイテムのID※Scalar値で10進数)
(複数あれば続けてOr Comparisonを入れて同じように記入し、最後のIDだけ変える)
  (Obliterate Held Item、Throw Item、Drop Itemのどれか)
End If:
と記入すればいけると思います。

プレイヤーを判別する方法(リメイク)

2015.05.20 21:17|スマブラX改造 PSA参考
@DIARY(β)で書いた記事のリメイク版です。
大乱闘ではシールドを張った時プレイヤーに応じてシールドの色が変わります。
これに使われている変数を使い、CPとプレイヤーを判別できます。(CPのシールドカラーが灰色なので)
CPにこの神キャラは使わせたくない、なんて場合は特殊コマンドを作るなど面倒なことはせず、IC-Basic[21029]で判別してしまいましょう。
(※追記: どうやら完全にCPとプレイヤーを区別できるわけではないらしいので過信しないで下さい。主にトレーニングやコード(?)で)
記入方法はIf Compare IC-Basic[21029]<4の後にプレイヤー限定で使える技などを設定すればいいだけです。
使いたいところが多数あるのなら、Wait1やFallの最初あたりに
If Compare IC-Basic[21029]<4
    Bit Variable Clear: LA-Bit[72]=false
Else:
    Bit Variable Set: LA-Bit[72]=true
End If:
というような記述をいれてあとは基本的にIf Bit is Setで判別するようにしておくと結果的に使用容量が少なくて済むかもしれません。

ちなみにIC-Basic[21029]に入っている値は
0 = 1P、赤チームのプレイヤー、「ひとりで」時のプレイヤーなど
1 = 2P、青チームのプレイヤー
2 = 3P、緑チームのプレイヤー
3 = 4P
4 = CP固定(亜空の敵はバースト時のエフェクトが1Pと同じ色なので別だと思われる)
...のようです。

また、IC-Basic[21029]と関係しているエフェクトとして
External Graphic Effect(11010C00)というものがあり
Value-xx, ... Value-0,Value-yy  というように値を入れるとシールドやバーストの色が1P以外のものが使えます。
xxはグラフィック、yyは上の「IC-Basic[21029]に入っている値」を参考にしてください。※5以上を入れると0の時と同じになるだけでフリーズする、ということはないみたいです。
ちなみにもう一つあるExternal Graphic Effectも同じようにすると違うカラーのエフェクトを出せます。
ただしGraphic Effect(11001000)などは真似をしてもできませんでした。
でもScreen TintのようにRGBAでグラフィック自体のカラー調節出来ればそちらの方がいいかもしれませんね。容量のいる固有エフェクトの価値は下がりそうですが。こういったことができたら教えてほしいです。

msbinファイルのオレ曲セレクトの曲名などをBrawlBoxv0.73で編集するときの注意(リメイク)

2015.05.19 22:40|スマブラX改造
@DIARY(β)で書いた記事のリメイク版です。
BrawlBoxv0.73では以前のバージョンとは違い日本語が文字化けをしないので、msbinファイルの編集をしやすいです。ですが、msbinファイルには制御文字というものが存在します。これはいわゆるよみがなの設定です。BrawlBoxv0.73で編集した時、この制御文字を崩してしまうことがあります。
16進数で"0Bxxyy"という構成になっている制御文字が"0B"だけになっていたりしておかしくなっていると、実機でフリーズしてしまいます。
BrawlBoxv0.73で編集すると実機でバグる数字は0Dと12で、それ以外の01~21はおそらく大丈夫かと思います。12はBrawlBoxで文字化けするため分かりやすいのですが、0Dは文字化けせずに0Dだけが消えてバグの原因になるので分かりにくいため、注意が必要です。11もBrawlBoxで文字化けしますが、その曲を編集しないのならバグの原因にはならないので気にしないでいいかもしれません。ちなみに計算方法は半角英数字が+1、全角文字が+3です。
このことについての詳しい参考記事はこちらです。(使える漢字リストもあります)

避ける方法は「制御文字を消す」と「文字化けする数字を避ける」の2種類があります。
何故後者を使うのかというと、対戦時に表示される文字の大きさにばらつきが生まれてしまうからです。
実際は気にしなければいいだけの話なのですが。
というわけで文字化けする数字を避ける方法を紹介します。
ふりがなをつけない場合(空白のふりがなをつける場合)-
この場合はバグの原因になっている数字をより小さい数字にかえるだけでいいので楽です。
実はコピー&ペーストでもいけるのでバイナリエディタは使わなくてもよかったりします。
150519_Seigyomozi
↑このように

ちなみに今回実際に使用したのはBrawlBoxv0.73bです。

-ふりがなをつける場合-
この場合は分割して文字化けする数字を避けてしまいましょう。

例:
メタナイトの(0B1206)[ぎゃくしゅう逆襲]
         ↓
メタナイトの(0B0903)[ぎゃく逆](0B0903)[しゅう襲]

あと、この方法はオレ曲や対戦時以外にもメニューなどでも使えます。

↓(参考)BrawlBoxで編集した後実機でバグの原因になってしまう曲リスト(0Dまたは12が制御文字にある)
大乱闘スマッシュブラザーズX メインテーマ
大神殿/神殿
大海原
vs.メタリドリー
シンプル:結果表示画面
アスレチック
おはなばたけ
メタナイトの逆襲
スターウルフ
209ばんどうろ
BRAIN CLEANER
PLANET COLORS
Ashley's Song
メニュー1
純喫茶“ハトの巣”
THEME OF TARA
Battle in the Base
Super Sonic Racing
アーバンけけ
ユーロビート
ペルーのうた
メニュー2
リコハーバー
JUNGLE LEVEL Ver.2

SA関連 Pickup Itemの小ネタ(リメイク)

2015.05.19 21:14|スマブラX改造 PSA小ネタ
@DIARY(β)でも書いたどうでもよくてくだらない小ネタです。
Pickup Item(1F000200) Value-0 Value-4でアイテムを拾うと回復、装備系のアイテムは普通に拾えるのに、ほとんどのアイテムは拾ってもアイテムを持っていない判定になってしまい、ハンマーを拾った時はバグります。
普通のPickup Item(1F000100) でもう一つアイテムを拾える(こちらは普通に使えます)のでこれで合成アイテム(見た目だけ)ができます。
また、消す場合はObliterate Held Itemで2つ持っていてもまとめて消せます。
実用性が全くなく、ネタ写真を作るときくらいにしか使えませんが...

ちなみに、拾う時に食べ物などのアイテムを判別しているものはPickup Itemではなく、Ifで判別してから拾っているようです。

アイクラのオプション側をいじる方法(5/7更新)

2015.05.19 20:25|スマブラX改造 PSA参考
@DIARY(β)で書いた記事のリメイク版です。
でもPSACompressor v0.20以降では普通にいじれるようになったので、もう残しておくほどの記事ではないかもしれません...
ちなみに確認方法はv0.17とv0.20以降では変化はありません。

ここでは、PSA2.70とバイナリエディタを使って編集する方法を紹介します。

アイスクライマーは操作側の攻撃力や行動速度、無敵判定などの能力をいじるだけならほかのキャラと同じでSmashAttacks(以下SA)だけでもほとんどいじれます。ですが、オプション側の能力をいじる場合はSAで見られる範囲だけではとうてい編集できません。このまま神キャラにしてしまうとオプション側はほぼ戦力外になってしまいます。どうせならふたりとも神キャラ化してしまいましょう。

...というわけで、OpenSA2、BrawlBox(v0.67bを推奨しますが見るだけならv0.68bなどでもOKです)のうちどちらかを使ってください。バイナリエディタとSAだけでもできないことはないですが、難しいのでおすすめしません。

まず始める前に先に同じファイルを複製しておくことを推奨します。

見るだけならOpenSA2が一番見やすい&使いやすいと思います。ただしOpenSA2では編集ができないので注意。

-OpenSA2の場合-

OpenSAで対象のファイルを開き、見るものをEventsからArticleに変えます。するとOffsetを確認できます。
後はSAで開き、Action EventsのSub Routinesに確認したOffsetと同じ値を入れてやればSAで普通にいじれます。
必用コマンド数が元より多い場合は増やせないので、Sub Routinesコマンドを入れましょう。減らすこともできませんが、その場合は余分なイベントをNo Eventに変えてしまえば大丈夫です。
当然、通常のArticleもいじれます。
ただし、命令数(Command Count)が0のOffsetは確認すらできません。
また、アイスクライマーのオプション側のOtherはコマンドがあっても確認できません。

-BrawlBoxの場合-

v0.67bとv0.68bでいけました。こちらはSSEAttributesなども含めて確認と同時にいじることが可能です。
ですが、PSA2.70などで開けなくなる&新しいバグを作ってしまうことがある...なのでやらない方がいいかも。(圧縮するのが主な原因だと思われますが微妙なところ。しかも圧縮するのに場合によっては元ファイルより保存後のファイルの方が容量が大きくなることがあります。例え微妙に内容を変更しただけでも。)
保存後もOpenSAでは開けますがナナのサブルーチンが確認できません...(更にBrawlBoxのSAエディタ機能も使えなくなってしまうこともあります)
実際に実機で試してみるとふたりの能力を違うものにしても一応別々に読み込んでくれるようなので、
どうしてもこちらで編集したいのであれば保存後のバグが少ないBrawlBoxv0.67bを推奨します。保存後もSAエディタが使えるようなら、続けてBrawlBoxv0.67bを使って編集するといいと思います。少し使いづらい気がしますけどね。特にコピー&ペーストなどの時は。
対象のファイルを開き、(ドラッグ&ドロップでもよい)FitPopo→MoveDef_FitPopo→Sections→data→Nana SubAction Scriptsから確認可能。こちらは命令数が0でもOffsetを確認できます。オプション側のOtherも確認可能。ArticleのOtherは存在しないためか、確認できませんが。
注意点はOpenSAと違い、16進数が10進数になっているため、16進数に直さなければならないこと。

確認はここから(これを10進数に直します)↓
0150509ICsNana000Main-BB
(画像はBrawlBoxv0.68bのものです)
あと、他にもOpenSAでは見れない情報がいくつか見れます。が、基本的にSAでいじる場合には関係ないことが多いです。

-バイナリエディタの場合-

これとSAだけでいじろうと思えばある程度はいじれます。(特にSAでいじれないSSEAttributesをいじる時オススメ。もちろん他にもできることが結構あります。)
MainのOffsetを確認するだけならこれでも十分かも。
SubActionは47、48、49、4A...(すべてMain)と続いているだけなので。
実は工夫すればMain以外のOffsetも見れますけどね。

-PSACompressorの場合-
OpenSAと少し似ていますがEventsからデータが確認できたり、Otherや空データOffsetが見れたりと、こちらの方が便利です。
専用の適切なテキストデータファイルがあればArticleもついでに見ることができます。
ついでにイベントを追加したり、AttributesやSSEAttributesなども編集できますが、編集時にバグが起こるかもしれません。

PSACompressorV0_1_7(NMain0).png
(画像はv0.17のもの。BrawlBoxやOpenSAよりやりやすい?)

ここまでは他のソフトもうまく使えばSAで普通にできるからいいんだけど、

コマンドが存在しないSubActionが存在するんだけ

ど、特に待機時の無敵判定とかどうするの。


確かにコマンドがすでに1つ以上あるものはSub Routineコマンドで何とかなるんですが、コマンドがないものはそういうわけにはいきませんよね。
でも大丈夫です。方法はあります。SAとバイナリエディタが必要になります。バイナリエディタはBrawlBoxと違い、圧縮を行わないのでバグる確率が低く、比較的安全と言えるでしょう。
まず、SAで対象のファイルを開きます。Action EventsのSub Routinesにある「Create」で新しいサブルーチンを作ります。操作側の1つのサブアクションをいじるときと同じように普通にEventを書いていくだけいいです。1つのサブアクション分のEventが書き終えたらSubActionIDとOffsetをメモして、まだ必要なら新しいサブルーチンを作り、書き終えたらメモ。これを必要な分繰り返します。
終わったら保存して、その保存したファイルをバイナリエディタで開きます。
一度書いた通り、OffsetはMainなら0、1、2...と順に続いているだけなのでOpenSAかBrawlBoxで古いOffsetの値を確認し、メモしておいた新しいOffsetの値と変えてしまいましょう。
ただしこの方法は注意点があります。元々のOffsetが0のものに数値を追加すると実機でそのアクションを行ったときにフリーズします。
どうしても元々のOffsetが0のものに数値を追加する場合は、Offsetが0になっている値を変更してもフリーズしなくする方法を使う必要があります。(またはPSACompressorでNo Eventを追加する)

上手くいってるか確認するにはOpenSAまたはBrawlBoxを使うといいでしょう。元々イベントの数が0のものがイベントの数が増えていれば成功です。
ただ、この方法は絶対バグの原因にはならないといった保証はありませんので注意。

あと、この方法は他のキャラでもArticleなどに使えます。なかなか有用。

これよりいい方法を知っている方、気になったところがある方はコメントください。

移転のお知らせ

2015.05.18 00:00|スマブラX改造
@DIARY(β)から移転してきました。ここでは以前書いた記事の一部を含む記事を書いています。
@DIARY(β)で以前書いた記事はリメイク版なので若干内容を追記して画像を減らしています。


-既に一通り完成したPSA紹介-

・ターボファイターマリオV1,V2 (R1.4~R7.2)
B-より若干強めのマリオにターボ機能を追加しました。V2には横スマッシュスペシャル技(地上のみ使用可能)があり、若干V1より強いです。低ランクの強キャラを使いたい時にはもってこいのレベルだと思います。V2のみCP限定の劣化機能が存在します。
さらに、カラーを黒や白などに変えると強化版に変身できます。こちらは無敵神レベル。基本的に無敵になります。攻撃が即死級だったり、ダメージを受けて怯んだりするとそれらを無効化しつつ無敵貫通の反撃を行うなど、かなり強いです。でも、無敵神レベルといっても高ランクの神キャラには瞬殺されてしまう程度の強さです。

・オーバーヒートアイスクライマー(R9.9~10)
ふたりいてふたりとも常時完全無敵かつ超攻撃的という最強クラスの神キャラです。亜空の使者や競技場でもめちゃくちゃできます。

DLは詳細ページなどから。
※(R数値)はキャラの強さです。R10が最高値、R1は並。これの詳細は自己紹介の記事に載せました。
プロフィール

ICLPX

Author:ICLPX
主にスマブラXの改造をやっています。
更新ペースはその時によってバラバラです。
質問などがあれば気軽に書き込んでください。
かなり過去に書いた記事も更新することがあります。

最新記事

最新コメント

月別アーカイブ

カテゴリ

検索フォーム

RSSリンクの表示

リンク

ブロとも申請フォーム

この人とブロともになる

QRコード

QR