見出し画像

【講座】第4回|マリオの攻撃力以外に変えられるのかな?【解析データVol.1】

(追記)

改造難易度:レベル2

難易度2

--------------------------------------------------------------------------------------

やっほーー!スーパーマリオRPG大好きお兄さん・飯でごじゃるよ!
今回のテーマは、【マリオの攻撃力以外に変えられるのかな?】
で、ございます!

前回、前々回の記事ではマリオの基礎攻撃力を255にした所で終わりました。【アドレス3A0032】
では、このアドレスの近辺はどんなデータが入っているのか。
それを、私が解析したデータを参照しながら解説していきたいと思います。

よろしく!

まずは、私が解析したデータ画像を見ていただこう。(図1)

画像1

画像2

この図1は【キャラ別スタート時のパラメータ】の解析データで
ございます。

図2と一緒に見ていきましょう。

まず、図1の左上に【3A002C~3A008F】と書いてありますので、
そのアドレス以外は今は無視して下さい。

先程説明した通り、このアドレスは【キャラ別】のパラメータということで、マリオ以外も書いてあります。

図1を見れば分かりますが、1バイト目、2バイト目、3バイト目・・・
と書いてありますので、【3A002C】が1バイト目となっております。
1つ1つのアドレスが何の値を示しているか説明致します。

1.マリオの値(20バイト分)について

(1バイト目)3A002C・・・マリオの初期レベルです。
16進数が 01 なのでもちろん初期レベルはですね。

(2,3バイト目)3A002D,3A002E・・・マリオの初期現在HPです。
3A002D は 14
3A002E は 00
16進数の14は、10進数では20。
ということで、マリオの初期現在HPは20ということです。

(4,5バイト目)3A002F,3A0030・・・マリオの初期最大HPです。
3A002F は 14
3A0030 は 00
16進数の14は、10進数では20。
ということで、マリオの初期最大HPは20ということです。
(3A002Eと3A0030に 00 については、後ほど説明致します。)

(6バイト目)3A0031・・・マリオの初期すばやさです。
16進数の14は、10進数では20。
ということで、マリオの初期最大HPは20ということです。

(7バイト目)3A0032・・・マリオの初期こうげきです。
改造したのでFF つまり今の攻撃力は 255
(改造前は16進数14 つまり攻撃力は20

(8バイト目)3A0033・・・マリオの初期ぼうぎょです。
00なので、マリオの初期防御力は0です。

(9バイト目)3A0034・・・マリオの初期まほうこうげきです。
16進数0A→10進数10 つまりマリオの魔法攻撃力は10です。

(10バイト目)3A0035・・・マリオの初期まほうぼうぎょです。
16進数02→10進数02 つまりマリオの魔法防御力は2です。

(11,12バイト目)3A0036,3A0037・・・マリオの現在けいけんちです。
3A0036も3A0037も 00 なんで、もちろんマリオの現在経験値は0です。

(13バイト目)3A0038・・・マリオの現在装備されている武器(※1:アイテムID)です。ちなみに値はFFです。FFは空白【武器なし】です。
※1 アイテムIDとは、ゲーム内部にあるアイテム(アイテム・武器・防具
・アクセサリー・だいじなものを含む)が格納されているIDだと思ってください。全部で256個の格納ボックスに1つ1つアイテムが格納されています。
アイテムID表は、【第5回】の講座で解析データを載せます。

(14バイト目)3A0039・・・マリオの現在装備されている防具(アイテムID)
です。値はFFです。FFは空白【防具なし】です。

(15バイト目)3A003A・・・マリオの現在装備されているアクセサリー
(アイテムID)です。値はFFです。FFは空白【アクセサリーなし】です。

(16バイト目)3A003B・・・未実装。
つまり、なにも設定されていない値です。気にしなくていいですww

(17,18,19,20バイト目)3A003C,3A003D,3A003E,3A003F・・・マリオの
初期で覚えているスペシャル技No.(ナンバー)(※2)です。
※2 スペシャル技No.(ナンバー)とは、アイテムIDと同じくスペシャル技が格納されているNo.の事です。スペシャル技No.表も【第5回】の講座で、
解析データを載せます。
ちなみに、値は、01 00 00 00 でございます。
3A003Cだけ 01 で それ以外は全て 00 です。
この値だと、マリオは【ジャンプだけ覚えている】状態になります!

以上。マリオの初期パラメータの説明を終わりにします。
(ちょっと文章長かったね、、、すみません。ですが、まだ続きます。)

2.マリオ以外(キャラ毎の値)について

先ほど、マリオ以外の別キャラのパラメータもあるという話をしましたので
次は、他キャラについてご説明致します。

マリオのアドレス(20バイト分)が【3A002C~3A003F】
続いて 3A0040以降ですが、(図3参照)

画像3

とりあえず色で分かりやすくしときました!(全員20バイト毎)
桃色範囲【3A0040~3A0053】は、ピーチの初期パラメータ(アドレス)。
緑色範囲【3A0054~3A0067】は、クッパの初期パラメータ(アドレス)。
青色範囲【3A0068~3A007B】は、ジーノの初期パラメータ(アドレス)。
黄色範囲【3A007C~3A008F】は、マロの初期パラメータ(アドレス)。

と、なりました!
けっこう分かりやすくなったかな?
ピーチ、クッパ、ジーノ、マロの値の説明は、いつかしますねww

※3A0000~3A002B、3A0090以降も、今回の講座では少し扱いにくいので
また今度の講座にとっておきますね!

3.よし。じゃあ『わかりやすい』最強作るか。

わかりやすい最強とは。

まぁ、とりあえずHP999だよねww

そして、攻撃力、防御力、魔法攻撃力、魔法防御力、すばやさを
255ずつだなwww

じゃあ、やるか。(ニヤリ

3A0032(こうげきアドレス)はFF(255)にすでになっているので他を
いじっていこう。

3A0031(すばやさアドレス)をFF(255)
3A0033(ぼうぎょアドレス)をFF(255)
3A0034(まほうこうげきアドレス)をFF(255)
3A0035(まほうぼうぎょアドレス)をFF(255)
に値を変更。

----------------------------------------------------------
おまけ. 3A002Eと3A0030の 00 について

HPのアドレスに 00 とあった場所がありましたが、この 00 についてご説明
致します。

突然ですが、皆さんに問題です。
Q.16進数でFFと言ったら、10進数は255になりますよね?
では、10進数を256以上にしたい場合、16進数はいくつになるでしょう?








正解は、1バイトじゃ不可能です。

なぜなら、1バイトで表現できるのは、FF(255)までしか出来ないからです。
ですので、そういう時に2バイト目を使うのです。

画像4

HPを256以上にする方法は、

画像5

図5を見ると、1バイト目が 00 で 2バイト目が 01 となっております。
ちなみにこれで、HP256となります!

そう。つまり2バイト目の 00 の部分の役割は、
【1バイト目の上位桁】という役割があるのです!!!!

これでHP256以上を容易に作ることが出来ます!!

じゃあ、早速HPを999にしていきましょう!

----------------------------------------------------------

00 02 でHP512。(256×2)
00 03 でHP768。(256×3)
00 04 でHP1024。(256×4)

00 04 でHPが1000を超えてしまうので、
2バイト目が 03 ということが確定。

999-768=231ということで、1バイト目が231にすれば
いいので、計算しましょう。

231÷16=14あまり7
10進数14は、16進数ではE
E0+7=E7 つまり1バイト目はE7となりました!

ということで、初期現在HPと初期最大HPを999にすると、
こうなります。(図6)

画像6

はい。そして次に攻撃、防御、魔攻、魔防、素早を255にすると、
こうなります。(図7)

画像7

これで【最強データ】完成です!!!

お疲れ様でぇ~す!(もう3600文字以上あるwww)

メニューから【名前を付けて保存】をするか
図7より【上書きボタン】を押すかお好きな方を選んでください。

最後にゲームをつけて実際に見てみましょう。

画像8

はい。クッパ倒しました。(2回目)

メニュー画面を開いてみましょう。(図9)

画像9

完成!

おめでとうございま~~~~~す!!!!

さて、次回の【第5回】の講座では
・スペシャル技No.について
・アイテムIDについて
をご説明したいと思います。

ここまで読んで下さった皆様、本当にありがとうございました!!

(記事書くのどんどん楽しくなってきたわw)



(スーパーマリオRPGの改造に関する質問や疑問などは、
私のTwitterのDMやSkype上でお答え致します。(出来る限りね。))

Twitter : https://twitter.com/ensyou_2525_
Skype  : makeinunoniwaka

フォロー・スキ・記事のシェア
ご感想・ご質問・叱咤激励のコメント
どしどしお待ちしております!気軽に話しかけてね~♪(^^♪

2020年2月26・3月1・2・3・4・6日 記事作成
2020年3月6日 記事修正
2020年5月29日 記事再修正
スーパーマリオRPG大好きお兄さん・飯より

よろしければサポートの程よろしくお願い致します! 頂いたサポート全額、noteおよびスーパーマリオRPG大好きお兄さん・飯のクリエイター活動費としてありがたく使わせて頂きます。これからもさらに精進して参りますのでサポートの程、何卒よろしくお願い申し上げます。