Re: NieR Automata
Posted: Mon May 15, 2017 2:06 am
Requesting attack speed mod :p
Community Cheat Tables of Cheat Engine
https://fearlessrevolution.com/
I am sorry but can anyone explain this a little further? Where do i put the 983 number? And do i just highlight the item or do i have to actually select it before typing in the new ID? and for the CE active check boxes when do I tick those to become active? Before or after I input the numbers in whatever location? The more specific the details/instructions the better! Still learning CE....Any and all help appreciated!Eldius wrote: ↑Sat May 13, 2017 12:08 amIf you're using the highlighted items script from Eddy.
Push start, Item Tab, Highlight an item you want to change. I usually use an enhancement item since I never use those.
Find the item you want to change to, using zarrock666 Item ID List on page 7.
So as an example, previously mentioned you can use 983 for item_uq_dlcCloth1.
I set the quantity as 1, I'm not sure if anything will bug out if you use higher than that due to it being a Key Item.
Then go in game and you'll have the item under Key Items Revealing Outfit
Of course you need the dlc for that outfit as Sauce has said.
So for any other item just replace the 983 step above for whatever number id you want.
Changing quantity should be fine as long as it's not a Key Item.
Code: Select all
<?xml version="1.0" encoding="utf-8"?>
<CheatTable>
<CheatEntries>
<CheatEntry>
<ID>47138</ID>
<Description>"Ignore Funds (Shop/Fuse)"</Description>
<LastState Activated="1"/>
<VariableType>Auto Assembler Script</VariableType>
<AssemblerScript>[ENABLE]
//code from here to '[DISABLE]' will be used to enable the cheat
aobscanmodule(cJmpIfNotEnoughFundsOnWeaponBuyAOB,NieRAutomata.exe,41 39 12 7C 1D)
registersymbol(cJmpIfNotEnoughFundsOnWeaponBuyAOB)
cJmpIfNotEnoughFundsOnWeaponBuyAOB+3: //"NieRAutomata.exe"+731D65:
db 90 90
///*************************************///
aobscanmodule(cJmpIfEnoughFundsOnWeaponBuyAOB,NieRAutomata.exe,39 01 7D ** E8)
registersymbol(cJmpIfEnoughFundsOnWeaponBuyAOB)
cJmpIfEnoughFundsOnWeaponBuyAOB+2: //"NieRAutomata.exe"+730D70:
db EB
///*************************************///
aobscanmodule(cJmpIfEnoughFundsOnMaintenanceBuyAOB,NieRAutomata.exe,3B C3 0F 8E ** ** ** ** 8B ** ** ** ** ** EB)
registersymbol(cJmpIfEnoughFundsOnMaintenanceBuyAOB)
cJmpIfEnoughFundsOnMaintenanceBuyAOB+2: //"NieRAutomata.exe"+731EC6:
db 90 E9
///*************************************///
aobscanmodule(flagChkForQuantityIncInBuyAOB,NieRAutomata.exe,85 C0 0F 84 ** ** ** ** 44 ** ** ** ** ** ** 41 ** ** 44)
registersymbol(flagChkForQuantityIncInBuyAOB)
flagChkForQuantityIncInBuyAOB+1: //"NieRAutomata.exe"+7318C6:
db E4
///*************************************///
aobscanmodule(cJmpIfNotEnoughFundsOnFuseInMaintenanceAOB,NieRAutomata.exe,3B 01 0F 8F ** ** ** ** BA)
registersymbol(cJmpIfNotEnoughFundsOnFuseInMaintenanceAOB)
alloc(originalcode_ignorefunds,2048,cJmpIfNotEnoughFundsOnFuseInMaintenanceAOB+2) //"NieRAutomata.exe"+730F84)
registersymbol(originalcode_ignorefunds)
originalcode_ignorefunds:
readmem(cJmpIfNotEnoughFundsOnFuseInMaintenanceAOB+2,6)
//jg NieRAutomata.exe+731098
cJmpIfNotEnoughFundsOnFuseInMaintenanceAOB+2: //"NieRAutomata.exe"+730F84:
db 90 90 90 90 90 90
[DISABLE]
//code from here till the end of the code will be used to disable the cheat
cJmpIfNotEnoughFundsOnWeaponBuyAOB+3: //"NieRAutomata.exe"+731D65:
db 7C 1D
//Alt: jl NieRAutomata.exe+731D84
///*************************************///
cJmpIfEnoughFundsOnWeaponBuyAOB+2: //"NieRAutomata.exe"+730D70:
db 7D
//Alt: jnl
///*************************************///
cJmpIfEnoughFundsOnMaintenanceBuyAOB+2: //"NieRAutomata.exe"+731EC6:
db 0F 8E
//Alt: jng
///*************************************///
flagChkForQuantityIncInBuyAOB+1: //"NieRAutomata.exe"+7318C6:
db C0
///*************************************///
cJmpIfNotEnoughFundsOnFuseInMaintenanceAOB+2: //"NieRAutomata.exe"+730F84:
readmem(originalcode_ignorefunds,6)
//db 0F 8F 0E 01 00 00
//Alt: jg NieRAutomata.exe+731098
dealloc(originalcode_ignorefunds)
unregistersymbol(originalcode_ignorefunds)
</AssemblerScript>
</CheatEntry>
</CheatEntries>
</CheatTable>
Code: Select all
<?xml version="1.0" encoding="utf-8"?>
<CheatTable>
<CheatEntries>
<CheatEntry>
<ID>47143</ID>
<Description>"Ignore Funds & Materials (Upgrade)"</Description>
<LastState Activated="1"/>
<VariableType>Auto Assembler Script</VariableType>
<AssemblerScript>[ENABLE]
//code from here to '[DISABLE]' will be used to enable the cheat
aobscanmodule(setFlagAfterMaterialChkOnWeaponUpgradeAOB,NieRAutomata.exe,41 8B C6 48 83 C4 28 41 5E 5B C3)
registersymbol(setFlagAfterMaterialChkOnWeaponUpgradeAOB)
alloc(newmem,2048,setFlagAfterMaterialChkOnWeaponUpgradeAOB) //"NieRAutomata.exe"+5EE620)
label(returnhere)
label(originalcode)
label(exit)
newmem: //this is allocated memory, you have read,write,execute access
//place your code here
mov eax,1
originalcode:
//mov eax,r14d
add rsp,28
exit:
jmp returnhere
///
setFlagAfterMaterialChkOnWeaponUpgradeAOB: //"NieRAutomata.exe"+5EE620:
jmp newmem
nop
nop
returnhere:
///***************************************///
aobscanmodule(setFlagAfterFundsChkOnWeaponUpgradeAOB,NieRAutomata.exe,40 0F 9E C7 8B C7 48 83 C4 20 5F C3)
registersymbol(setFlagAfterFundsChkOnWeaponUpgradeAOB)
setFlagAfterFundsChkOnWeaponUpgradeAOB: //"NieRAutomata.exe"+734107:
db 90 40 B7 01
///***************************************///
aobscanmodule(setFlagAfterMaterialChkOnPodUpgradeAOB,NieRAutomata.exe,48 ** ** ** ** 8B C5 48 83 C4 28 5D 5B C3)
registersymbol(setFlagAfterMaterialChkOnPodUpgradeAOB)
alloc(newmem4,2048,setFlagAfterMaterialChkOnPodUpgradeAOB+5) //"NieRAutomata.exe"+5EE8C6)
label(returnhere4)
label(originalcode4)
label(exit4)
newmem4: //this is allocated memory, you have read,write,execute access
//place your code here
mov eax,1
originalcode4:
//mov eax,ebp
add rsp,28
exit4:
jmp returnhere4
///
setFlagAfterMaterialChkOnPodUpgradeAOB+5: //"NieRAutomata.exe"+5EE8C6:
jmp newmem4
nop
returnhere4:
///***************************************///
aobscanmodule(setFlagAfterFundsChkOnPodUpgradeAOB,NieRAutomata.exe,0F 9E C2 8B C2 48 83 C4 28 C3)
registersymbol(setFlagAfterFundsChkOnPodUpgradeAOB)
setFlagAfterFundsChkOnPodUpgradeAOB: //"NieRAutomata.exe"+7344F8:
db 90 B2 01
[DISABLE]
//code from here till the end of the code will be used to disable the cheat
dealloc(newmem)
setFlagAfterMaterialChkOnWeaponUpgradeAOB: //"NieRAutomata.exe"+5EE620:
db 41 8B C6 48 83 C4 28
//Alt: mov eax,r14d
//Alt: add rsp,28
///***************************************///
setFlagAfterFundsChkOnWeaponUpgradeAOB: //"NieRAutomata.exe"+734107:
db 40 0F 9E C7
//Alt: setle dil
///***************************************///
dealloc(newmem4)
setFlagAfterMaterialChkOnPodUpgradeAOB+5: //"NieRAutomata.exe"+5EE8C6:
db 8B C5 48 83 C4 28
//Alt: mov eax,ebp
//Alt: add rsp,28
///***************************************///
setFlagAfterFundsChkOnPodUpgradeAOB: //"NieRAutomata.exe"+7344F8:
db 0F 9E C2
//Alt: setle dl
</AssemblerScript>
</CheatEntry>
</CheatEntries>
</CheatTable>
Code: Select all
<?xml version="1.0" encoding="utf-8"?>
<CheatTable>
<CheatEntries>
<CheatEntry>
<ID>47153</ID>
<Description>"Undead .2"</Description>
<Options moHideChildren="1"/>
<LastState Activated="1"/>
<VariableType>Auto Assembler Script</VariableType>
<AssemblerScript>[ENABLE]
//code from here to '[DISABLE]' will be used to enable the cheat
define(minhealthpercentdefault,#30)
aobscanmodule(NRA_Inf_HP_AOB,NieRAutomata.exe,29 BB 68 06 01 00) // should be unique
registersymbol(NRA_Inf_HP_AOB)
label(dMinHealthPercent)
registersymbol(dMinHealthPercent)
alloc(newmem,2048,NRA_Inf_HP_AOB) //"NieRAutomata.exe"+1FA423)
label(returnhere)
label(originalcode)
label(exit)
newmem: //this is allocated memory, you have read,write,execute access
//place your code here
/*
mov eax,[rbx+10668]
sub eax,edi
cmp eax,[dMinHealth]
jge @f
mov eax,[dMinHealth]
add eax,edi
mov [rbx+10668],eax
*/
mov rcx,dMinHealthPercent
push [rbx+85c] //max
fild dword ptr [rbx+85c]
fimul dword ptr [rcx]
fidiv dword ptr [rcx+4]
fistp [rsp]
mov eax,[rbx+10668]
sub eax,edi
cmp eax,[rsp]
jge @f
mov eax,[rsp]
add eax,edi
mov [rbx+10668],eax
@@:
add rsp,8
originalcode:
sub [rbx+00010668],edi
exit:
jmp returnhere
///
dMinHealthPercent:
dd minhealthpercentdefault
dd #100
///
NRA_Inf_HP_AOB: //"NieRAutomata.exe"+1FA423:
jmp newmem
nop
returnhere:
[DISABLE]
//code from here till the end of the code will be used to disable the cheat
dealloc(newmem)
NRA_Inf_HP_AOB: //"NieRAutomata.exe"+1FA423:
db 29 BB 68 06 01 00
//Alt: sub [rbx+00010668],edi
unregistersymbol(dMinHealthPercent)
</AssemblerScript>
<CheatEntries>
<CheatEntry>
<ID>47154</ID>
<Description>"min Health %"</Description>
<LastState Value="30" RealAddress="13FFC0052"/>
<VariableType>4 Bytes</VariableType>
<Address>dMinHealthPercent</Address>
</CheatEntry>
</CheatEntries>
</CheatEntry>
</CheatEntries>
</CheatTable>
find these two address, after you changed the value, save and reload.
Code: Select all
<?xml version="1.0" encoding="utf-8"?>
<CheatTable>
<CheatEntries>
<CheatEntry>
<ID>47160</ID>
<Description>"head type?"</Description>
<DropDownList DisplayValueAsItem="1">0:default
1:white flower
</DropDownList>
<LastState Value="5" RealAddress="141984348"/>
<VariableType>4 Bytes</VariableType>
<Address>NieRAutomata.exe+1984348</Address>
</CheatEntry>
</CheatEntries>
</CheatTable>
Code: Select all
<?xml version="1.0" encoding="utf-8"?>
<CheatTable>
<CheatEntries>
<CheatEntry>
<ID>47158</ID>
<Description>"body type?"</Description>
<DropDownList DisplayValueAsItem="1">0:default
1:dlc
2:full armor
3:armor (no helmet)
</DropDownList>
<LastState Value="0" RealAddress="141984354"/>
<VariableType>4 Bytes</VariableType>
<Address>NieRAutomata.exe+1984354</Address>
</CheatEntry>
</CheatEntries>
</CheatTable>
Code: Select all
<?xml version="1.0" encoding="utf-8"?>
<CheatTable>
<CheatEntries>
<CheatEntry>
<ID>47192</ID>
<Description>"Evade Attack (Alt)"</Description>
<Options moHideChildren="1"/>
<LastState Activated="1"/>
<VariableType>Auto Assembler Script</VariableType>
<AssemblerScript>[ENABLE]
//code from here to '[DISABLE]' will be used to enable the cheat
aobscanmodule(somePlayerInfoBaseFetchAOB,NieRAutomata.exe,48 8B 17 48 8B CF FF ** ** 48 85 C0)
registersymbol(somePlayerInfoBaseFetchAOB)
label(somePlayerInfoBase)
registersymbol(somePlayerInfoBase)
alloc(newmem2,2048,somePlayerInfoBaseFetchAOB) //"NieRAutomata.exe"+640054)
label(returnhere2)
label(originalcode2)
label(exit2)
newmem2: //this is allocated memory, you have read,write,execute access
//place your code here
mov [somePlayerInfoBase],rdi
originalcode2:
mov rdx,[rdi]
mov rcx,rdi
exit2:
jmp returnhere2
///
somePlayerInfoBase:
///
somePlayerInfoBaseFetchAOB: //"NieRAutomata.exe"+640054:
jmp newmem2
nop
returnhere2:
///***************************************************///
aobscanmodule(playerStanceWriteAOB,NieRAutomata.exe,89 FA 89 83 ** ** ** ** 8B 83)
registersymbol(playerStanceWriteAOB)
label(wEvadeMoveKeyPressed)
registersymbol(wEvadeMoveKeyPressed)
label(somePlayerInfo)
registersymbol(somePlayerInfo)
alloc(newmem,2048,playerStanceWriteAOB) //"NieRAutomata.exe"+2F43A92)
label(returnhere)
label(originalcode)
label(exit)
newmem: //this is allocated memory, you have read,write,execute access
//place your code here
mov [somePlayerInfo],rbx
//cmp edi,6
//je @f
//test edi,edi
//jz @f
cmp edi,10
je @f
jmp originalcode
@@:
mov rdx,somePlayerInfoBase
cmp [rdx],rbx
jne @f
cmp word ptr [wEvadeMoveKeyPressed],1
jne @f
mov word ptr [wEvadeMoveKeyPressed],2
mov edi,13
@@:
originalcode:
mov edx,edi
mov [rbx+00000990],eax
exit:
jmp returnhere
///
wEvadeMoveKeyPressed:
dd 0
somePlayerInfo:
///
playerStanceWriteAOB: //"NieRAutomata.exe"+2F43A92:
jmp newmem
nop
nop
nop
returnhere:
///***************************************************///
label(bEndThread_evadeMove_keylistener_mem)
registersymbol(bEndThread_evadeMove_keylistener_mem)
alloc(evadeMove_keylistener_mem,2048,"NieRAutomata.exe")
registersymbol(evadeMove_keylistener_mem)
createthread(evadeMove_keylistener_mem)
label(keylistenerstart)
label(keylistenerend)
label(keylistenerexit)
evadeMove_keylistener_mem:
sub rsp,28
keylistenerstart:
mov rcx,12 //ALT key
push rcx
call GetAsyncKeyState
add rsp,08
shr ax,#15
cmp ax,1
jne @f
cmp word ptr [wEvadeMoveKeyPressed],2
je keylistenerend
mov [wEvadeMoveKeyPressed],ax
jmp keylistenerend
@@:
xor ax,ax
mov [wEvadeMoveKeyPressed],ax
keylistenerend:
mov rcx,#100
call Sleep
cmp dword ptr [bEndThread_evadeMove_keylistener_mem],1
jne keylistenerstart
keylistenerexit:
add rsp,28
mov dword ptr [bEndThread_evadeMove_keylistener_mem],2
ret
///
bEndThread_evadeMove_keylistener_mem:
dd 0
///
[DISABLE]
//code from here till the end of the code will be used to disable the cheat
//obtained from SubBeam's ACS script - start//
{$lua}
if( syntaxcheck == false ) then --actual execution
local starttime = getTickCount()
if readInteger( "bEndThread_evadeMove_keylistener_mem" ) == 0 then --could be 2 already
writeInteger( "bEndThread_evadeMove_keylistener_mem", 1 ) --tell the thread to kill itself
end
while( getTickCount() < starttime + 1000 ) and ( readInteger( "bEndThread_evadeMove_keylistener_mem" ) ~=2 ) do --wait till it has finished
sleep( 20 )
end
if( getTickCount() > starttime + 1000 ) then --could happen when the window is shown
showMessage( 'Disabling the thread failed!' )
error( 'Thread disabling failed!' )
end
sleep( 1 )
end
{$asm}
//obtained from SubBeam's ACS script - end//
//bEndThread_evadeMove_keylistener_mem:
//dd 1
///***************************************************///
dealloc(newmem2)
somePlayerInfoBaseFetchAOB: //"NieRAutomata.exe"+640054:
db 48 8B 17 48 8B CF
//Alt: mov rdx,[rdi]
//Alt: mov rcx,rdi
unregistersymbol(somePlayerInfoBase)
///***************************************************///
dealloc(newmem)
playerStanceWriteAOB: //"NieRAutomata.exe"+2F43A92:
db 89 FA 89 83 90 09 00 00
//Alt: mov edx,edi
//Alt: mov [rbx+00000990],eax
unregistersymbol(somePlayerInfo)
unregistersymbol(wEvadeMoveKeyPressed)
///***************************************************///
unregistersymbol(bEndThread_evadeMove_keylistener_mem)
dealloc(evadeMove_keylistener_mem)
unregistersymbol(evadeMove_keylistener_mem)
</AssemblerScript>
<CheatEntries>
<CheatEntry>
<ID>47195</ID>
<Description>""</Description>
<Options moHideChildren="1"/>
<LastState Value="" RealAddress="00000000"/>
<GroupHeader>1</GroupHeader>
<CheatEntries>
<CheatEntry>
<ID>47193</ID>
<Description>"stance"</Description>
<ShowAsHex>1</ShowAsHex>
<VariableType>4 Bytes</VariableType>
<Address>somePlayerInfoBase</Address>
<Offsets>
<Offset>670</Offset>
</Offsets>
</CheatEntry>
</CheatEntries>
</CheatEntry>
</CheatEntries>
</CheatEntry>
</CheatEntries>
</CheatTable>