水滸伝 天命の誓いを 108倍楽しもう

「水滸伝・天命の誓い」を好きな好漢で遊ぶ

用意するもの

手順

以下では,シナリオ1のデータで武大プレイができるようにする例を説明します.

オリジナルのデータファイルのバックアップを取る

これは必ずやってください.

データファイルをバイナリエディタで開く

suidata1.sk1をバイナリエディタで開きます.

データの書き換え:人物データの位置を入れ替える

武大をプレイヤー好漢として選択可能にするため,武大と魯智深のデータを入れ替えます.

アドレスを調べる

まず,「アドレス一覧表」から,武大と魯智深の人物番号とデータのアドレスを調べます.

名前番号ステータス基本
26バイト40バイト
武大D1153E5048
魯智深01001E2FC8

ここで「人物番号」は,データファイル中の各人物の通し番号です(00が高俅,01が魯智深,…,FEが潘巧雲).また,「ステータスデータ」とは人物のパラメータ(腕力など)のデータ,「基本データ」とは人物の名前などのデータを指します.それぞれ,表に書かれたアドレスから26バイト(または40バイト)を占めています.

ステータスデータを入れ替える

次に,ステータスデータ(26バイト)を入れ替えます.武大のステータスデータ(アドレス153E1557)と魯智深のステータスデータ(アドレス001E0037)を入れ替えることになります.

名前開始アドレス終了アドレス実際のデータ
武大 153E1557 00 00 00 00 1C 01 16 46 46 1A 41 08 07 09 12 00 00 00 00 01 00 00 00 00 00 A6
魯智深 001E0037 00 00 00 00 24 01 0E 64 64 3F 4A 58 5F 44 31 00 00 00 00 0F 00 00 00 00 00 83

入れ替えた後にアドレスがずれないように注意してください.正しく書き換えれば,153Eから26バイトが00 ... 3F 4A 58 ... 83に,001Eから26バイトが00 ... 1A 41 08 ... A6になるはずです.

基本データを入れ替える

さらに,基本データ(40バイト)を入れ替えます.武大のステータスデータ(アドレス5048506F)と魯智深のステータスデータ(アドレス2FC82FEF)を入れ替えることになります.

名前開始アドレス終了アドレス実際のデータ
武大 5048506F 95 90 91 E5 00 00 00 CC DE C0 DE B2 00 00 00 00 00 8D 92 8E F7 94 E7 00 00 00 BA B8 BC DE AD CB 00 00 00 00 00 75 04 80
魯智深 2FC82FEF 98 44 92 71 90 5B 00 DB C1 BC DD 00 00 00 00 00 00 89 D4 98 61 8F AE 00 00 00 B6 B5 BC AE B3 00 00 00 00 00 00 0C 02 C0

やはり,入れ替えた後にアドレスがずれないように注意してください.正しく書き換えれば,5048から40バイトが98 ... 89 D4 98 ... C0に,2FC8から40バイトが95 ... 8D 92 8E ... 80になるはずです.

人物番号を入れ替える

人物番号は通し番号なので,ステータスデータと基本データ2つの入れ替えによって自動的に人物番号も入れ替わります.つまり,武大の人物番号は01に,魯智深の人物番号はD1になります.

↑

データの書き換え:所属,身分を書き換える

次は,ステータスデータ中にある「所属」「身分」を書き換えます.

所属を書き換える

「所属」は,その人物がどの勢力に属しているかを示すパラメータで,ステータスデータ26バイトのうち先頭から6バイト目に「所属する勢力主の人物番号」が書かれています.00なら高俅,02なら史進,といった具合です.例外として,どこにも所属していない(街にいる,または開始時に未登場の)人物の場合は,所属が01になるようです.

好漢の場合,所属は必ず自分自身です.なので,武大の所属を武大の新しい人物番号である01に,魯智深の所属を魯智深の新しい人物番号であるD1に,それぞれ書き換えます(武大の場合は最初から01だったので,実質的には書き換えません).書き換える位置は,それぞれのステータスデータの先頭から6バイト目(武大は0023,魯智深は1543)です.

名前アドレス変更前変更後
武大00230101
魯智深154301D1

身分を書き換える

「身分」は,その名のとおり「好漢」「無頼漢」「居酒屋」「小娘」など人物の身分を示すパラメータで,ステータスデータ26バイトの最後に書かれています.

ここでは,武大と魯智深の身分を,「好漢」を示す83に書き換えます(魯智深の場合は最初から83だったので,実質的には書き換えません).書き換える位置は,それぞれのステータスデータの最後(武大は0037,魯智深は1557)です.

なお,実際にはここのデータは,「身分」の他に「ゲーム開始時に登場しているかどうか」と「船を持っているかどうか」も示しています.83は「ゲームに登場している船を持っていない好漢」になります.また,武大の変更前のデータA6は「ゲームに登場している船を持っていない商人」です.詳しくは「身分一覧表(準備中)」をご覧ください.

名前アドレス変更前変更後
武大0037A683
魯智深15578383

以上で,人物に関するデータの書き換えは終わりです.残りは,勢力に関するデータの書き換えです.

↑

データの書き換え:勢力情報のデータを書き換える

ゲーム中に存在する好漢は誰か,その好漢の領土は何色か,その好漢は領土を持っているかどうか,という,勢力に関する情報のデータを書き換えます.

勢力を登録する

アドレスの19F7から1A02の12バイトには,ゲーム中の勢力(官軍および各好漢)が人物番号で書かれています.19F7は赤色の勢力の人物番号で,全シナリオを通じて00となっています.つまり,高俅です.19F8は桃色の勢力の人物番号で,シナリオ1では04(林冲),…,1A02は灰色の勢力の人物番号(シナリオ1では11,崔道成)となっています.詳しくは「勢力に関するデータ表」をご覧ください.

ここでは,武大と魯智深の勢力を登録します.武大については,19FA01(もともとは魯智深の人物番号だったもの)とあるので,何もしなくても緑色の勢力になります.魯智深については,19FDから19FFのうちのどこかを,人物番号のD1と書き換えればよいでしょう.

勢力の逃亡状態を登録する

いよいよ最後です.

アドレスの1A04から1A2Cには,ゲーム中の勢力が領土を持っている(逃亡中でない)かどうかが4バイトおきに書かれています.1A04は桃色の勢力(シナリオ1では林冲)の状態,…,1A2Cは灰色の勢力(シナリオ1では崔道成)の状態に対応します.アドレスは「勢力に関するデータ表」をご覧ください.データが00なら領土を持っていることを,01なら逃亡中を表しています.

武大,魯智深について,先ほど登録したのと同じ色に対応するアドレスのデータを,01(逃亡中)または00(領土あり)と書き換えます.たとえば,武大を緑色の勢力とした(19FA01とした)なら,1A0C01として,武大を逃亡中にします(シナリオ1のデータの場合,最初から01になっているはずです).また,魯智深を紫色の勢力とした(19FDD1とした)なら,1A1801として,魯智深を逃亡中にします.

領土ありにする場合には,人物が現在いる府州に注意してください.現在の府州は,ステータスデータの7バイト目(先ほど書き換えた「所属」の次)に「府州番号-1」として書かれています.武大の場合は002416とあるので,23国にいることになります.逃亡中なら問題ありませんが,領土ありにする場合は,他の勢力の領土でないところに書き換えてください.また,魯智深の場合は15440Eとあるので,15国にいることになります.この場合は領土ありにしても問題ありません.

↑

ファイルを保存

保存後のファイルのサイズが,オリジナルと同じ23,707バイトであることを確認してください.

↑

配下をつける方法

配下の人物を設定したい場合は,その人物のステータスデータのうち「所属」「現在いる府州」「身分」を書き換えることになります.以下では,上記のように書き換えた武大の配下として潘巧雲を設定する例を説明します.「アドレス一覧表」によれば,潘巧雲のステータスデータは19D0から始まります.

まず所属を書き換えます.所属の情報は,先述のとおりステータスデータ26バイトのうち先頭から6バイト目に「所属する勢力主の人物番号」として書かれており,潘巧雲の場合,アドレスは19D5です.ここのデータを武大の(新しい)人物番号である01に書き換えます.初期データですでに01になっているので実際には書き換える必要はありませんが,もともとの01は「どこにも所属していない状態」を意味していたことに注意してください.

名前アドレス変更前変更後
潘巧雲19D50101

続いて現在府州の書き換えです.現在府州の状態はステータスデータの先頭から7バイト目に「府州番号-1」として書かれており,潘巧雲の場合,アドレスは19D6です.このデータを武大と同じ16と書き換えます.

名前アドレス変更前変更後
潘巧雲19D60516

なお,好漢が逃亡中でない場合は,必ずしも同じ府州にしなくても大丈夫だと思いますが,その府州の統治者を決める必要があるかもしれません(府州の統治者の決め方は次の項で説明します).また,他の勢力がいる府州にならないように注意してください.好漢が逃亡中の場合に配下を違う府州にした場合にどうなるかはわかりません.

最後に身分を書き換えます.身分はステータスデータの最後に書かれており,潘巧雲の場合,アドレスは19E9です.ここを85とすると,「船を持っていない無頼漢」になります.84だと「船を持っていない首領」,C5だと「船を持っている無頼漢」です.

名前アドレス変更前変更後
潘巧雲19E92C85

なお,潘巧雲の変更前のデータ2Cは「ゲームに登場していない船を持っていない小娘」です.「ゲームに登場していない」ですが,実際には年が明けて1101年になった時点(実質上のゲーム開始)で登場するということのようです.身分について,詳しくは「身分一覧表(準備中)」をご覧ください.

↑