Можно сделать так: один скрипт - базовый, который изменяет максимальное количество здоровья, а второй скрипт устанавливает флаг включен/отключен.
Вот как получится:
[ENABLE]
aobscanmodule(INJECT,CryGame.dll,39 B3 A0 00 00 00 0F 8E A9)
alloc(newmem,$1000)
alloc(bEnableMaxHealth,4)
label(code)
label(label_a)
label(label_b)
label(return)
newmem:
cmp byte ptr [bEnableMaxHealth],01
jne label_a
mov [ebx+E0],(int)1000
jmp label_b
label_a:
mov [ebx+E0],(int)255
label_b:
push [ebx+E0]
pop [ebx+A0]
code:
cmp [ebx+000000A0],esi
jmp return
INJECT:
jmp newmem
nop
return:
registersymbol(INJECT)
registersymbol(bEnableMaxHealth)
[DISABLE]
INJECT:
db 39 B3 A0 00 00 00
unregistersymbol(*)
dealloc(*)
А второй скрипт будет такой:
[ENABLE]
bEnableMaxHealth:
db 01
[DISABLE]
bEnableMaxHealth:
db 00
Вот его ты и будешь использовать для изменения максимального количества здоровья и возвращения исходного значения.