1
"Zero No Kiseki (Trails of Zero) JP PC Version English Patched"
1
10
"Enable"
1
100
"[Scripts]"
1
200
"Damage Modifier Script (God Mode, One Hit Kill, etc.)"
Auto Assembler Script
[ENABLE]
aobscanmodule(DamageModAOB,ED_ZERO.exe,8B 48 04 3B 4D 0C 76 11 8B 45 EC 8B 48 04) // should be unique
registersymbol(DamageModAOB)
alloc(newmem,4096,DamageModAOB)
label(return)
label(GodMode)
registersymbol(GodMode)
label(OneHitKill)
registersymbol(OneHitKill)
label(fEnemyDamageMult)
registersymbol(fEnemyDamageMult)
label(fHeroDamageMult)
registersymbol(fHeroDamageMult)
label(HeroCannotDie)
registersymbol(HeroCannotDie)
newmem:
push ebx
mov eax,[ebp+08]
cmp [eax+234],0
mov ebx,[ebp+0C]
jne EnemyHit
HeroHit:
HeroDamageHit:
cmp [fHeroDamageMult],(float)0.0
je CheckGodMode
push ebx
fild dword ptr [rsp]
fmul dword ptr [fHeroDamageMult]
fistp dword ptr [rsp]
pop ebx
CheckGodMode:
cmp [GodMode],1
jne CheckHeroCannotDie
xor ebx,ebx
jmp CleanUp
CheckHeroCannotDie:
cmp [HeroCannotDie],1
jne CleanUp
cmp [eax+270],ebx
jl @F
xor ebx,ebx
@@:
jmp CleanUp
EnemyHit:
EnemyDamageHit:
cmp [fEnemyDamageMult],(float)0.0
je CheckOneHitKill
push ebx
fild dword ptr [rsp]
fmul dword ptr [fEnemyDamageMult]
fistp dword ptr [rsp]
pop ebx
CheckOneHitKill:
cmp [OneHitKill],1
jne CleanUp
mov ebx,#99999
jmp CleanUp
CleanUp:
mov [ebp+0C],ebx
pop ebx
mov eax,[ebp-14]
mov ecx,[eax+04]
cmp ecx,[ebp+0C]
jmp return
GodMode:
dq 0
OneHitKill:
dq 0
fEnemyDamageMult:
dq (float)0.0
fHeroDamageMult:
dq (float)0.5
HeroCannotDie:
dq 1
DamageModAOB:
jmp newmem
nop
return:
[DISABLE]
DamageModAOB:
db 8B 48 04 3B 4D 0C
unregistersymbol(DamageModAOB)
unregistersymbol(GodMode)
unregistersymbol(OneHitKill)
unregistersymbol(fEnemyDamageMult)
unregistersymbol(fHeroDamageMult)
unregistersymbol(HeroCannotDie)
dealloc(newmem)
201
"God Mode"
0:Off
1:On
4 Bytes
GodMode
202
"Hero Damage Multiplier (Set to 0.0 = Off; Otherwise multiplier so 0.5 is half damage to hero party)"
Float
fHeroDamageMult
204
"Hero Cannot Die (If On and God Mode Off, Then You Take Damage Until The Hit Will Kill You)"
0:Off
1:On
4 Bytes
HeroCannotDie
205
"One Hit Kill"
0:Off
1:On
4 Bytes
OneHitKill
206
"Enemy Damage Multiplier (Set to Zero = Off; Otherwise multiplier to damage you deal to enemies)"
Float
fEnemyDamageMult
4000
"Pointers"
1
function lua_aobscan(name,module,bytes,index)
index = index - 1
if(module == "") then
local resultSet = AOBScan(bytes)
if(resultSet == nil) then
unregisterSymbol(name)
print(name.." not found")
else
unregisterSymbol(name)
registerSymbol(name,resultSet[index])
resultSet.destroy()
end
else
if(getModuleSize(module) == nil) then
print("Module "..module.." not found")
else
local memScanner = createMemScan()
local memFoundList = createFoundList(memScanner)
memScanner.firstScan(
soExactValue,vtByteArray,rtRounded,bytes,nil,
getAddress(module),(getAddress(module)+getModuleSize(module)),"",
fsmNotAligned,"",true,false,false,false)
memScanner.waitTillDone()
memFoundList.initialize()
if(memFoundList.Count == 0) then
unregisterSymbol(name)
print(name.." in module "..module.." not found")
else
unregisterSymbol(name)
registerSymbol(name,memFoundList.Address[index])
end
memScanner.destroy()
memFoundList.destroy()
end
end
end