変更に使用するデータ
The item modifier and stats modifier modifies 1052 bytes
of RAM that contains mostof your character data.
This is the format of the data:
struct character
BYTE item_count |
000 |
BYTE unknown1 |
001 |
BYTE unknown2 |
002 |
BYTE language |
003 |
struct item |
004 |
|
|
WORD unknown1 |
+ 000 |
BYTE ext_tech_level |
+ 002 |
BYTE unknown2 |
+ 003 |
DWORD flags |
+ 004 |
DWORD item_data1 |
+ 008 |
DWORD item_data2 |
+ 00C |
DWORD item_data3 |
+ 010 |
WORD slot |
+ 014 |
WORD unknown3 |
+ 016 |
DWORD item_data4 |
+ 018 |
|
|
8C4E5F80 |
short 攻撃力 |
34C |
short 精神力 |
34E |
short 回避率 |
350 |
short HP基礎 |
352 |
short 防御力 |
354 |
short 命中率 |
356 |
short 運 |
358 |
short unknown |
35A |
float unknown3 |
35C |
float unknown4 |
360 |
long レベル |
364 |
long 経験値 |
368 |
long メセタ |
36C |
char 名前(1〜4文字目) |
370 |
char 名前(5〜8文字目) |
374 |
char 名前(9〜12文字目) |
378 |
DWORD name_color |
388 |
char v2_costume_number |
38C |
BYTE unused[15] |
38D |
DWORD name_color_checksum |
39C |
char section_id |
3A0 |
char class |
3A1 |
char v2_flags |
3A2 |
char version |
3A3 |
long v1_flags |
3A4 |
short costume |
3A8 |
short skin |
3AA |
short ???1 |
3AC |
short ???2 |
3AE |
short ???3 |
3B0 |
short hair_red |
3B2 |
short hair_green |
3B4 |
short hair_blue |
3B6 |
float proportion_x |
3B8 |
float proportion_y |
3BC |
short unknown_stuff[36] |
3C0 |
|
|
char フォイエLv |
408 |
char ギフォイエLv |
409 |
char ラフォイエLv |
40A |
char バータLv |
40B |
char ギバータLv |
40C |
char ラバータLv |
40D |
char ゾンデLv |
40E |
char ギゾンデLv |
40F |
char ラゾンデLv |
410 |
char グランツLv |
411 |
char デバンドLv |
412 |
char ジェルンLv |
413 |
char ザルアLv |
414 |
char シフタLv |
415 |
char リューカーLv |
416 |
char レスタLv |
417 |
char アンティLv |
418 |
char リバーサLv |
419 |
char メギドLv |
41A |
char 未使用 |
41B |
>> Barubary |
データの大きさ
BYTE/char = 2100
LONG = 2102
WORD/short = 2101
Explanations:
item_count: number of items
language: language; not affected by game language. This controls the J,
E, etc. you
see in the lobby. 00=Japanese 01=English 02=German 03=French 04=Spanish
items:
ext_tech_level: see tech levels later.
flags:
04: can be equipped but isn't
10: can't be equipped
4C: equipped now
04 and 10 are considered the same by the game.
item_data1: 4th changeable line of item modifier.
item_data2: 3rd changeable line of item modifier.
item_data3: 2nd changeable line of item modifier.
slot: slot number in list (ignored by the game)
item_data4: 1st changeable line of item modifier. (mags only)
HP_materials: The number of HP materials you've used. This number * 2 is
added to
your level's base HP.
TP_materials: The number of TP materials you've used. This number * 2 is
added to
your level's base TP.
level: Level number - 1.
name: Zero-terminated ASCII string. No Shift-JIS allowed.
name_color: Name color in ARGB format. Ver1 = FFFFFFFF, Ver2 = FFFFAE35
v2_costume_number: Used for special costumes (see v2_flags). 00 = Famitsu
editor,
01 = Rico, 02 = Sonic, 03 = Knuckles, 04 = Tails, all others = Famitsu
editor
name_color_checksum: Checksum of name_color. Very complicated. This is
used to try
to prevent users from changing their name colors.
section_id: Section ID in usual order (sum of ASCII characters MOD 10).
class_: Class number. 00 = HUmar, 01 = HUnewearl, ..., 08 = FOnewearl
v2_flags: A set of bit flags.
01 bit: Black section ID.
02 bit: Invalid character class number.
04 bit: Invalid v1_flags.
08 bit: Invalid costume number.
If 02, 08 or both (0A) is used, v2_costume_number happens.
v1_flags: Flags saying class, gender, race... I can't remember exactly
the bits.
But there is a chart on Ayusu already.
costume: Costume number. 00 for androids.
skin: Skin color. On androids, this is the body color.
???1-3: Face Type, Hair Type, ???. I don't remember the order.
hair_red...hair_blue: 0-255 RGB values of your hair color.
proportion_X...Y: Location of + cursor on Proportion screen. Controls character
height and width. 0.0 = top/left, 1.0 = bottom/right.
tech levels: Tech levels minus 1. FF = don't have, 00 = level 1, 01 = level
2...
Storing levels above 15 is strange. Write level 15 (0E) to ???_level.
Then, in the corresponding item slot, put the level minus 15 into ext_tech_level.
For level 28 Foie, do foie_level = 0x0E and items[0].ext_tech_level = 0x0D. This
is
done so that Version 1 doesn't crash seeing Version 2 with tech levels
above 15.
-- NAUSICAA
ベースポインタ |
8C4E5F84 |
データの大きさ |
2100 |
操作する位置 |
11AC : バトル1位
11AE : バトル2位
11B0 : バトル3位
11B2 : バトル4位
11B4 : 回線切断 |
バトル1位を50に指定してみよう |
コード応用例 |
所持金変更コードの下11行を抜粋
14A4D086 |
|
2100D004 |
<データの大きさ |
14B4D086
402BD001
14C4D086 |
|
11AC0009 |
<操作する位置 |
14D4D086
8C011ECC
14E4D086 |
|
8C4E5F84 |
<ベースポインタ |
14F4D086 |
|
00000032 |
<勝率の指定 |
|
│back│top│