Offsetが0になっている値を変更してもフリーズしなくする方法

2015.09.30 02:25|スマブラX改造 PSA参考
やる前に変更したいOffsetの値を確認しておくこと。
PSAは、使わないSubActionのOffset(Mainじゃなくてもいい)の値を確認するときだけ必要。
ファイルの編集には、SAは一切使わずバイナリエディタのみを使って作業をする。

1. 既存の不要なサブアクションのOffsetを、バイナリエディタで0に変更。
(複製したファイルをPSAで開いて、サブアクションのOffsetを確認しながらバイナリエディタで値を検索すればいい)
この時、消したところのOffsetを確認(メモ1)しておく。
ここの値はNo Eventを追加すれば復活したはずなので、そこまで慎重に選ぶ必要はないと思われる。
(不要なサブアクションのOffsetが見つからない場合は、TypeがPointerのイベントを追加して
そのParams Offsetを確認(メモ1)し、確認したOffsetから値を+80したOffsetに飛んで、
バイナリエディタでTypeをPointer以外に変更すればいい。)

2. そして、値を0から変更したい所に行く。
値を変更した時のOffsetの近くにある、既に値が入っているOffsetをしっかり確認(メモ2)しておく。
値を0から変更したOffsetの値はまだ使うので注意。

3. 確認(メモ1)した値から-80した数で検索。
その値を削除。
続けて確認(メモ2)した値から-80した数で検索。
値を0から変更したOffsetの値を入れる。(もちろん-80も必須)
小さい順に並んでいるので、より小さい値とより大きい値の間に入れるといい。

保存前に、編集開始前と編集開始後でデータサイズが変わっている場合は、バグるので注意。

これで、フリーズを避けることができる。
スポンサーサイト



掴み系B技に対しての掴み反撃

2015.09.15 22:02|スマブラX改造 PSA参考
※この記事はサブアクションへの記述のみで対処を目的としています。
アクションオーバーライドを使った完全な無効化方法はこちらになります。

普通の掴みに対しては反撃するのに、掴みタイプのB技に対しては何も反撃できずに食らうっていうのは違和感あるので。完全に無効化はできなくても、反撃するように設定はできるはず ということで

記述は↓

If Comparision: IC-Basic[20003]== 66
  Change Action=40, requirement=00
Else If Comparision: IC-Basic[20003]>= 204
And Comparision: IC-Basic[20003]<= 219
  Change Action=40, requirement=00
Else If Comparision: IC-Basic[20003]>= 230
And Comparision: IC-Basic[20003]<= 267
  Change Action=40, requirement=00
End If:

おそらく、こんな感じの記述でいい。(一応動作確認済み)
これを被ダメージ系のサブアクションに置くとダメージそのものの無効化などはできないが、
攻撃を受けると吹っ飛びを無効化して受けたダメージを回復しつつ反撃するような設定ができる。
ただ、この記述だと掴み技を受けきった後掴み抜けをするような感じになるので違和感があるかもしれない。

また、ガノンの横B技に対してはDamageFallのところに記述しないと発動しない。
さらに、ガノンの横B技を受けた後、通常の掴みを受けるとフリーズすることがあるとか。(原因不明)

あと、この記述をしても道連れ攻撃はほとんど有効。
もっといい方法があれば...

10/18追記
操作すると掴まれなくなる変数があるそうです。もしバグなどのリスクがないならボスタイプのキャラにはとても使えますね。ただ、CPに対する掴み反撃はできなくなるかもしれませんが...
また、踏みつけ無効化とは別のものらしく、操作しても踏みつけの無効化はできないそうです。踏みつけの無効化が変数操作でできるかは謎。
この変数、一体何に使われているのだろうか...

ボタンの押しっぱなしで形態変化

2015.09.11 00:20|スマブラX改造 PSA参考
ターボ系のキャラでアピールなどに追加して使っている方法です。
CPではおそらくできないのでCPに使わせたい場合は別の方法を推奨します。
形態変化以外にも指定の技の性質を変えるような意味で使うのもいいかもしれません。

※Frame Speed Modifierでスピードをいじっている場合など、うまくいかないこともあるので各自で調節してください。

「ボタンをアクション終了前まで最後まで押し続ける」を条件にする場合。

Allow Interrupt使用時
SubAction開始からすぐキャンセル可能にした場合に使える方法。

指定のモーションの合計Fより2F以上前にIfで判定する。(指定のモーションの合計Fから引いた値が1F以下だとうまくいかない可能性大)
(モーション終了まで100Fの場合はAsynchronous Timer=98でOK。)
この記述だと「押し続けていなかった場合も押し続けていた場合とは別の形態変化」も可能。

Allow Interruptを使えない場合
SubAction開始からしばらくキャンセル可能でない場合にも使える方法。
※アニメーションがとても長かったりループする場合、記述はこれではまずいかもしれません。

XXには指定のモーションの合計Fから2以上引いた数が入る。
Kには押しておく必要のあるボタンが入る。

Set loop XX times
  Synchronous Timer=1
  If Button Not Pressed: K
    Synchronous Timer=5000
  End If:
Execute Loop:
(Kを押し続けた場合の処理)

この記述だと「押し続けていなかった場合は形態変化」はRequirementをNotがない方に変えれば可能だが「押し続けていなかった場合も押し続けていた場合とは別の形態変化」は不可能。

「押し続けていなかった場合も押し続けていた場合とは別の形態変化」を可能とさせる場合は
Set loop XX times
  Synchronous Timer=1
  If Button Not Pressed: K
    Asynchronous Timer=XX
    (Kを押し続けていなかった場合の処理)
    Synchronous Timer=5000
  End If:
Execute Loop:
(Kを押し続けた場合の処理)

このように記述するといいと思います。



連打式にして、ボタン押しっぱなしを無効化する方法

押し続け式ではなく連打式にしたい場合に使える記述。連打上昇やアイテムを投げたりする場合に使えるかもしれません。
アニメーションがとても長かったりループする場合でも使えます。ここでは安定しやすいという理由で、変数を使う方法を推奨します。

-変数を使う場合-
例: Bの連打数だけ回復するコマンド 使う変数は正常に動作するものなら何でもいいかと思われる。
Bit Variable Clear: LA-Bit[74] = false
Set Loop: Infinite
  If Button Pressed: 1
    If Bit is Set: LA-Bit[74]
      Add/Subtract Damage: -1.0,
      Bit Variable Clear: LA-Bit[74] = false
    End If:
  Else:
    Bit Variable Set: LA-Bit[74] = true
  End If:
  Synchronous Timer: frames=1.0
Execute Loop:

-変数を使わない場合-
この方法は、変数を使う場合と比べるとどうしても不安定になりがちです。押し続けていても、低速ではあるもののボタンを離してもう一度押したときの効果が得られることがあります。
今回のXXは任意の数。ただし、小さすぎる値を入れると上手く動作しない可能性があるうえ、あまり大きい値をいれると処理落ち・フリーズなどのリスクがあります。(Set loop Infiniteにするとフリーズ確定)
安定値は不明。推奨値は180以上1800以下?
Kには連打するボタンが入ります。
Set loop Infinite
  Set loop XX times
    If Button Pressed: K
      Synchronous Timer=1
    End If:
  Execute Loop:
  Synchronous Timer=1
  If Button Pressed: K
    (Kを押した場合の処理)
  End If:
Execute Loop:

ボタン押し続けると発動などを、何も知らないCPにプレイヤー時と同等の効果を与えたりしたい場合は
If ComparisonでCPを判別して、If Value のRoll A Die (Rondom)などと組み合わせたりするといいかもしれません。

スーパーターボデデデ

2015.09.08 00:07|スマブラX改造 キャラ紹介
前回のターボデデデよりだいぶ強いです。
横スマや横Bの高速化、ワドルディやワドルドゥの強化などをしました。前回の強化版より強いかもしれません。
盾削りも強いです。
今回の強化版は基本的に無敵になり、一部の技は無敵貫通持ちになりました。(常時無敵や吹っ飛び耐性はないので無敵神レベルではないです)
前回は紫カラーが強化版でしたが、今回は青カラーが強化版です。

ダウンロード

スーパーターボ系のキャラはあと数キャラupする予定ですが、基本的にプリズムコメットマリオの方を優先するのでかなり不定期なものになると思います。
それ以外にもupするかもしれませんが、今のところは未定。
プロフィール

ICLPX

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

最新記事

最新コメント

月別アーカイブ

カテゴリ

検索フォーム

RSSリンクの表示

リンク

ブロとも申請フォーム

この人とブロともになる

QRコード

QR