how to filter enemy value and character value, i can find the address script but it affect enemy too.
example like this code i make for agarest war GOG version. (It's Gain SP after being Hit) but affect enemies as well.
i want to know how to make the cmp for ally only
Code: Select all
{ Game : Agarest.exe
Version:
Date : 2023-06-19
Author : Rienfleche
This script does blah blah blah
}
[ENABLE]
aobscanmodule(AddSP,Agarest.exe,2C 07 00 01 90 7C 01 00 00) // should be unique
alloc(newmem,$1000)
label(code)
label(return)
newmem:
add [eax+0000017C],#999
code:
add [eax+0000017C],edx
jmp return
AddSP+03:
jmp newmem
nop
return:
registersymbol(AddSP)
[DISABLE]
AddSP+03:
db 01 90 7C 01 00 00
unregistersymbol(AddSP)
dealloc(newmem)
{
// ORIGINAL CODE - INJECTION POINT: Agarest.exe+F6865
Agarest.exe+F6842: 8D 51 05 - lea edx,[ecx+05]
Agarest.exe+F6845: EB 09 - jmp Agarest.exe+F6850
Agarest.exe+F6847: 8D A4 24 00 00 00 00 - lea esp,[esp+00000000]
Agarest.exe+F684E: 8B FF - mov edi,edi
Agarest.exe+F6850: 8B 04 8E - mov eax,[esi+ecx*4]
Agarest.exe+F6853: 69 C0 B0 10 00 00 - imul eax,eax,000010B0
Agarest.exe+F6859: 05 68 25 AE 06 - add eax,Agarest.exe+6632568
Agarest.exe+F685E: 52 - push edx
Agarest.exe+F685F: 50 - push eax
Agarest.exe+F6860: E8 FB 2C 07 00 - call Agarest.exe+169560
// ---------- INJECTING HERE ----------
Agarest.exe+F6865: 01 90 7C 01 00 00 - add [eax+0000017C],edx
// ---------- DONE INJECTING ----------
Agarest.exe+F686B: 83 C4 08 - add esp,08
Agarest.exe+F686E: 39 B8 7C 01 00 00 - cmp [eax+0000017C],edi
Agarest.exe+F6874: 7E 06 - jle Agarest.exe+F687C
Agarest.exe+F6876: 89 B8 7C 01 00 00 - mov [eax+0000017C],edi
Agarest.exe+F687C: 41 - inc ecx
Agarest.exe+F687D: 3B CB - cmp ecx,ebx
Agarest.exe+F687F: 7C CF - jl Agarest.exe+F6850
Agarest.exe+F6881: 33 D2 - xor edx,edx
Agarest.exe+F6883: 39 95 68 FE FF FF - cmp [ebp-00000198],edx
Agarest.exe+F6889: 7E 7E - jle Agarest.exe+F6909
}
And This Max Money address [Agarest.exe+EAEA78] get reset if i restart the computer
Code: Select all
{ Game : Agarest.exe
Version:
Date : 2023-06-20
Author : Rienfleche
This script does blah blah blah
}
[ENABLE]
aobscanmodule(MaxMoney,Agarest.exe,08 A3 78 EA 33 01) // should be unique
alloc(newmem,$1000)
label(code)
label(return)
newmem:
mov eax,#999999999
code:
mov [Agarest.exe+EAEA78],eax
jmp return
MaxMoney+01:
jmp newmem
return:
registersymbol(MaxMoney)
[DISABLE]
MaxMoney+01:
db A3 78 EA 33 01
unregistersymbol(MaxMoney)
dealloc(newmem)
{
// ORIGINAL CODE - INJECTION POINT: Agarest.exe+80E8B
Agarest.exe+80E79: 8B E5 - mov esp,ebp
Agarest.exe+80E7B: 5D - pop ebp
Agarest.exe+80E7C: C3 - ret
Agarest.exe+80E7D: CC - int 3
Agarest.exe+80E7E: CC - int 3
Agarest.exe+80E7F: CC - int 3
Agarest.exe+80E80: 55 - push ebp
Agarest.exe+80E81: 8B EC - mov ebp,esp
Agarest.exe+80E83: A1 78 EA 33 01 - mov eax,[Agarest.exe+EAEA78]
Agarest.exe+80E88: 03 45 08 - add eax,[ebp+08]
// ---------- INJECTING HERE ----------
Agarest.exe+80E8B: A3 78 EA 33 01 - mov [Agarest.exe+EAEA78],eax
// ---------- DONE INJECTING ----------
Agarest.exe+80E90: 3D FF C9 9A 3B - cmp eax,3B9AC9FF
Agarest.exe+80E95: 7E 0C - jle Agarest.exe+80EA3
Agarest.exe+80E97: C7 05 78 EA 33 01 FF C9 9A 3B - mov [Agarest.exe+EAEA78],3B9AC9FF
Agarest.exe+80EA1: 5D - pop ebp
Agarest.exe+80EA2: C3 - ret
Agarest.exe+80EA3: 3D 01 1F 0A FA - cmp eax,FA0A1F01
Agarest.exe+80EA8: 7D 0A - jnl Agarest.exe+80EB4
Agarest.exe+80EAA: C7 05 78 EA 33 01 01 1F 0A FA - mov [Agarest.exe+EAEA78],FA0A1F01
Agarest.exe+80EB4: 5D - pop ebp
Agarest.exe+80EB5: C3 - ret
}