もう心底腐れきってますね。ダダ漏れですね。
でもそういう考え方、あたくし大好きです。
Lv99の無茶なキャラ、さっくり作ってしまいましょう。
(1)まずは16進数に慣れちゃいましょう
10進数:0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 16進数:0 1 2 3 4 5 6 7 8 9 A B C D E F 10簡単ですね。あなたがWindowsを使っているのなら、「スタート→プログラム→アクセサリ→電卓」を選ぶことによって、10進数←→16進数を簡単に変換してくれる電卓を使うことができます。
(2)ゲームのデータは16進数+2ビット単位であることが多い
セーブデータをバイナリエディタで開いてみてくださいな。
例:1A EE 06 00 B3 74
なんて数値が続いてると思います。「1A」「EE」「06」という風に、2ビット単位でデータ管理されていることが多いです。
(3)あるパラメーターの上限値が255の場合
255ってのはどういう数値か考えましょう。
16進数2ケタで表せる数は、16*16=256。即ち、256個のものを数えられます。データが0から始まるならば、16進数2ケタで表せるのは0〜255の256通りのデータ。つまり255が上限となります。
上限が255に設定されたパラメータの数値を230にしたいのならば、230(10進数)=E6(16進数)。該当パラメータの部分をE6に書きかえればいい。簡単です。
(4)あるパラメーターの上限値が65535の場合
65535っていうのは、256*256=65536、0を数えるために1を引いて65536−1=65535。16進数4ビットで数えられる上限の数です。
上限が65535に設定されたパラメータを10進数で44444にしたいと仮定します。44444(10進数)=AD9C(16進数)。これをバイナリエディタに記述するときは、2ビットずつに分けて逆向きに配置します。これがポイント。すなわち、「AD9C」であれば「AD」部分と「9C」部分に分けてやり、
9C AD
と逆向きに配置します。
同様にパラメーターを2000にしたいときは、2000(10進数)=7D0(16進数)。これを配置するときは7D0→07D0として(←0をつけて4桁にする!)、「07」部分と「D0」部分に分け、
D0 07
と逆向きに配置します。
上限が65535以上に設定されたパラメータについても、2ビットずつに分けて逆向きに配置すればオッケーです。
NesterJの場合はセーブデータをそのままfoxなどのバイナリィエディタで開いてやればokです。
ただし、sneshoutの場合は要注意。セーブデータがzip形式なので、
1:セーブデータの拡張子を自分でzipにして
2:それを解凍して
3:それからバイナリィエディタで開く
という手順を踏む必要があります。きちんと解凍したデータが開けているかは、バイナリィエディタ2〜3行目右欄(foxの場合)の記載が「SNES〜〜〜」という風になっているかで確認できます。
ちなみに、例えばshift+F7で保存したファイル名は006となり、1つずれているので注意。
<改変例>
ステータス画面にて、キャラのパラメーターが力、素早さ、体力の順で記載されているとします。
力が「12」、素早さが「25」、体力が「20」であった場合、まず各々を16進数に直してやります。次に、この16進数、すなわち力「0C」、素早さ「19」、体力「14」がこの順番で配列している部分を検索で探り当てます。検索→「0C 19 14」などと入れれば大抵のソフトでは一発で探り当てることができます。場所さえ分かってしまえば、あとは数値を上書きしてしまえばokです。
※注1:nesのドラクエ3で4人パーティーの場合、パラメーターが
(1人目の力) (2人目の力) (3人目の力) (4人目の力) (1人目の素早さ) (2人目の素早さ)
という按配で配列されているので注意が必要。
他の大抵のソフトでは、(1人目の力) (1人目の素早さ)……(1人目の最終パラメーター数値)〜〜数行後に2人目のパラメーター記載、となっていることが多いです。
※ウィザードリィでも類推することによってキャラの属性やパラメーターを自在に変えられます。
evil-neutral-goodなどの属性は確か0,1,2あたりで対応していました(記憶はあいまい)
現在作成中