PS2の改造コードを調べてます。


上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

スーパーロボット大戦Zで
ユニット能力を変更したいとのコメントがありましたので
変更する方法を書きたいと思います。
なお説明中では
コードの前半8桁をアドレス部、後半8桁をデータ部と表現しています。


まずは機体変更コード
3Cyyyyyy 1456E7A5のyyyyyyに能力を変更したい機体の数値を当てはめます
機体変更コードの使い方と一緒です。
当てはめましたら、それを復号化します。
その復号化されたアドレス部の値が基準アドレスとなります。

ガナーザクウォーリアの例ですと
まず機体変更コードに当てはめ
3CE52520 1456E7A5
これを復号化して
0072A2F8 00000000
となり
基準アドレスは0072A2F8となります。
なお同一名の機体がいくつかある場合はその中から探さなければなりません。

さて基準アドレスがわかれば後はそのアドレスに特定の値を追加し
そのアドレスの数値を変更することにより
機体の能力を変更できます。

それでは基準アドレスに+する値とそれに対応する能力を書きます。
数値は16進数です。
+04:機体名(2)
+08:HP(2)
+0C:EN(1
+0E:照準値(1)
+10:運動性(1)
+12:装甲(1)
+14:移動(0)
+15:サイズ(0)
+23:スロット数(0)
+24:タイプ(0) {00:--- 01:空 02:陸 04:水}
+25:空(0) {00:S 01:A 02:B}
+26:陸(0) {00:S 01:A 02:B}
+27:海(0) {00:S 01:A 02:B}
+28:宇(0) {00:S 01:A 02:B}
+29:特殊能力1(0) {00:なし 01:サイコフィールド ...}
+2A:特殊能力2(0) {00:なし 01:VPS装甲 ...}
+2B:特殊能力3(0) {00:なし 01:盾 ...}
+2C:特殊能力4(0) {00:なし 01:ジャミング機能 ...}
+2D:特殊能力5(0) {00:なし 01:マジンパワー ...}
+2E:特殊能力6(0) {00:なし 01:オールキャンセラー ...}
+2F:特殊能力7(0) {00:なし 01:マッハスペシャル ...}
()の中の数値はコードにした際の先頭の数値です。
{}の中の数値はデータ部の数値に対応した能力値です。
特殊能力のリストは未完成です。

ひきつづきガナーザクウォーリアの例で説明すると
基準アドレス0072A2F8
HPのアドレス+08:HP(2)なので
ガナーザクウォーリアのHPを9999にする場合は
0072A2F8 + 08 = 0072A300 さらに()の中の数値が2なので先頭を2に変えて
アドレス部は2072A300
となります。
次にデータ部は9999を16進数にすると270Fとなりこれを8桁にし
0000270Fとなります。

この求めた2つを組み合わせて
2072A300 0000270F
これを暗号化すると
1CE52428 1456089C

ガナーザクウォーリアのHP9999
1CE52428 1456089C
となります。

同様の手順で
ガナーザクウォーリアの移動9
3CE52434 1456E79E

ところで()の中の数値0,1,2ですが
これはデータ部の16進数値の範囲も表しています。
0=0~FF、1=0~FFFF、2=0~FFFFFFFF
つまり移動を999(03E7)にしても231(E7)
としか反映されないということです。

長かった説明はこれで終わりです。
あとは思うがままにコードを作って、好きにカスタマイズしてください。
srwz20.jpg

コメント
この記事へのコメント
超早いです!
今すぐテストに入って行って見ます。
本当にありがとうございます。
2008/10/22(水) 01:59 | goodjob #2NKnmN5w[ 編集]
管理人のみ閲覧できます
このコメントは管理人のみ閲覧できます
2008/10/23(木) 14:27 | #[ 編集]
分からないところが・・・
HPとENなどを同時に変更するときは3Cyyyyyy 1456E7A5をもう一度変更すればいいのでしょうか?
それとも、変更したものをさらに変更すればよいのでしょうか?
2008/10/23(木) 16:15 | #-[ 編集]
>分からないところが・・・
一度復号化し基準アドレスを算出すれば
後はその基準アドレスに対して加算してコードを作成すればよいです。
ガナーザクウォーリアの例ですと
基準アドレスはすでに求めてあるので
ENを999(3E7)にするなら
0072A2F8 +0C = 0072A304
これを復号化状態のコードにすると
1072A304 000003E7
これを暗号化して
4CE5242C 1456E404
つまり
HP9999、EN999のコードは
1CE52428 1456089C
4CE5242C 1456E404
となります。
2008/10/23(木) 17:21 | his #JxiZYOp2[ 編集]
ユニットのHPについて質問なんですが、9999より上のHPにできますか?
例えば100000とか。
2008/10/23(木) 17:38 | ゾロ #-[ 編集]
シャア専用wwwwww
2008/10/23(木) 22:11 | #aIcUnOeo[ 編集]
知りたいことがまた一つあります。
+04:機体名(2)
ガナーザクウォーリアからシャア専用ザクウォーリアに変更変更したんですが、
機体名変更方式について知りたいことがあります。
一応、16進数になっているデータ部 8桁 00000000 を
2進数でまた変えてくれた後に
適切に数値を変更してくれる方式で
50音度に対応することでしょうか
例) 10011001 => 10000000000010001000000000001
説明をお願い致したいです。
2008/10/23(木) 22:30 | goodjob #2NKnmN5w[ 編集]
>知りたいことがまた一つあります。
機体名の値ですが
文字列の先頭のアドレス値になります。
ポインタといえばいいのかな?
2008/10/25(土) 02:11 | his #JxiZYOp2[ 編集]
お尋ねしたい事が。
画像と同じに機体名をシャア専用ザクウォーリア
にするためのコードをよろしければ教えて下さい。
2008/10/25(土) 13:54 | #-[ 編集]
機体名変更なんですが
自分でも色々試してみたのですが、よくわかりませんでした。
宜しければ、もう少し詳しく教えていただくことはできませんか?
お忙しい中、申し訳ございませんが、宜しくお願い致します。
2008/10/27(月) 19:44 | mini #YKss7gzU[ 編集]
>機体名変更
もう少し詳しく書きますね。
まず文字コードがshift_JISになっています。
そこで、空きアドレスに
例えば000FF000などに
文字列をshift_JISの値に変化し入力します。
例えばシャアなら
200FF000 83835683
200FF004 00004183
となります。
文字列の終わりは値00で表します。
そして機体名の値に
入力した文字列の先頭のアドレス
000FF000を入れます。
2008/10/29(水) 18:02 | his #JxiZYOp2[ 編集]
お忙しい中、すみません
いつも、お世話になっております。
機体名の変更の件なんですが、
>文字列の終わりは値00で表します。
>そして機体名の値に
>入力した文字列の先頭のアドレス
>000FF000を入れます。
とのことなんてますが、僕にはいまいち理解できませんでした。
本当に申し訳ありませんが、何かに例えて説明して下さると有り難いです。
どうか、よろしくお願い致します。
2008/10/31(金) 17:21 | SIZE #cYPQwWac[ 編集]
お手数をお掛けします
横から失礼します。
上記の説明を読み、Shift_JISを検索したことでデータ部の内容は理解できたのですが、アドレス部(なぜ000FF000なのか等)が理解できませんでした。
そこでお手数ですが例としてシャア専用ザクウォーリアに実際に使用したコード(機体名変更コード)を載せていただけないでしょうか?
その後は自分で考えたいと思います。
2008/10/31(金) 19:49 | #ODhh62Kk[ 編集]
コメントを投稿する
Comment:
Pass:
秘密: 管理者にだけ表示を許可する
 
トラックバック
この記事のトラックバックURL
http://hiscode.blog56.fc2.com/tb.php/367-6fb32d34
この記事にトラックバックする(FC2ブログユーザー)
この記事へのトラックバック
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。