у меня есть WEAPON.DAT
0xC8AAB8 - Начало блока, куда считывается информация об оружии с меткой J (оружие ближнего боя) и $ (остальное оружие). В этом блоке 0x50 элементов по 0x70 байт в каждом. Индекс элемента высчитывается по формуле: <номер оружия> + <смещение>. Смещение определяется навыком оружия skilllevel: STD - 0, POOR - 25, PRO - 36, особое (характеристики пистолета копов) - 47. Все имена взяты из заголовка оригинального weapon.dat.
+0x0 = [dword] eFireType
0 - MELEE
1 - INSTANT_HIT
2 - PROJECTILE
3 - AREA_EFFECT
4 - CAMERA
5 - USE
+0x4 = [dword] targetRange
+0x8 = [dword] weaponRange
+0xC = [dword] modelId1
+0x10 = [dword] modelId2
+0x14 = [dword] slot
+0x18 = [dword] flags.
как мне найти адрес flags и записать туда 14 (чтоб я мог херачить без перезарядки)
0@ = 0xC8AAB8
0470: 1@ = actor $PLAYER_ACTOR current_weapon
1@ += 36
1@ += 0x18
005A: 0@ += 1@
0A8C: write_memory 0@ size 4 value 14 virtual_protect 0
так не работает