Kantokoの部屋

主にエミュ関係を取り扱ってます サーバー構築からプレイまで
メイン
エミュ鯖構築
エミュ鯖で遊ぶ
エミュ鯖をいじる
その他
連絡・雑談

 

アクセスカウンター
RPGツクール+ACEでいろいろ
 
RPGツクール+ACEでいろいろと改造してみました  

ランダムダンジョンというフリーソフトを改造
RPGツクール自体が改造対策なのかバイナリエディタで検索しても数字がでてこない
うさみみハリケーンでいろいろしらべてみたがどうやら数字が独自のものになっているようだ

数値は0→1 の場合は 0→6となる
123(10進数)のとき1バイト上げ
0x06→0x7F

1→127 実際表示は5閾値をもってるので 122個表示
上記までは "7F"で表すことができる
0x7F→0x80
127→128になるとバイト数表示が先頭に必要となる
"01 7B"となる以後バイト数が上がる場合は先頭にバイト表示が必要となる
表示は123なので閾値の5が消えることになる

122個以上(0x7F)以上にしようとしたときに先頭にバイト表示が必要となる

1バイト255(0xff)→2バイト256(0x0100)になるときも書き換え
01 ff→ 02 00 01となる値をインサートして使用
増えた1バイト分後ろにさげることが必要となる

例1:99
99 + 5 = 104
”68” この数字がバイナリデータに表示される

例2:416
416 ÷ 256 = 1 余り 160
2バイト表示なる為(256以上)
02 A0 01” がバイナリデータに表示される
01←256
A0←160
02←2バイト表示なので 2

256 + 160 = 416 となる

例3:16711935
16711935 ÷ 65536 = 255 余り 255
255 ÷ 256 =  0 余り 255
"03 FF 00 FF" がバイナリデータに表示される

これを使って早速改造してみましょう

ランダムダンジョンのニューエイジメロン(ステータスアップアイテム)を99個にしてみます

検索例
@maxhp_plus //MAXHP
@atk_plus //攻撃力
@def_plus //防御力
@spi_plus //精神力
@agi_plus //俊敏性
@gold //金
@items //アイテム

@itemsで検索
画像

今回は毒消し草をニューエイジメロンに変更して個数を99にする

"07 69 06"
これが 07 毒消し 06:個数
に対応している、実際もっている毒消しは1個でIDは2です

これをメロンのIDと99個にかえる
ID:49 がメロン
"36 69 68"に変更

画像

99個になりましたね

ACEでもこの方式で管理してるみたいです


インフレクエストでもためしてみました

4バイトで FFFF3F以上を設定するとマイナスになるようです
それ以上のプラス設定は i → l+ に変更
おそらく int → long+とかなのかもしれません

例:"6C 2B 07 00 00 00 41"
"6C 2B" の部分が l+
07 がバイト数 ただし 4バイトから以後1上がるごとに2バイトずつ増える
07より後ろが格納される値

例:"6C 2B 0A FF FF FF FF FF FF FF FF FF FF"
0A なので 7から+3になっている
合計で 4 + 2*3= 10バイト表示できるようになるようだ

画像

攻撃力が表示しきれずにバグってるようにみえます(;^ω^)
バイト数は20で試してます
"6C 2B 20 この後ろは全部FF で埋め"
20なので 4 + (32 - 7) * 2 = 54バイト 全部FFで埋めてます

画像


ダメージは E+130とかでてきてます
ツクールは変数にかなり格納できるバイト数を保有しているみたいです










 

 

 

copyright (c) All right reserved