To edit credits you need to buy something first. You can't buy something if you don't have the credits for it even if you activated "for free" option.
Code: Select all
<?xml version="1.0" encoding="utf-8"?>
<CheatTable>
<CheatEntries>
<CheatEntry>
<ID>217340</ID>
<Description>"Credits Editor & Buy for Free "</Description>
<Options moHideChildren="1" moManualExpandCollapse="1" moDeactivateChildrenAsWell="1"/>
<LastState Activated="1"/>
<Color>FFFF00</Color>
<VariableType>Auto Assembler Script</VariableType>
<AssemblerScript>{ Game : DXM-Win64-Shipping.exe
Version:
Date : 2024-01-06
Author : acecel
This script does blah blah blah
}
[ENABLE]
aobscanmodule(aob_buy,DXM-Win64-Shipping.exe,89 83 90 00 00 00 B0 01 48 83) // should be unique
alloc(newmem,$1000,aob_buy)
label(code)
label(return)
alloc(pGold,$8)
registersymbol(pGold)
alloc(buyForFree,$2)
registersymbol(buyForFree)
pGold:
dd 0
buyForFree:
dd 0
newmem:
push rdx
lea rdx,[rbx+00000090]
mov [pGold],rdx
pop rdx
code:
cmp [buyForFree],1
je return
mov [rbx+00000090],eax
jmp return
aob_buy:
jmp newmem
nop
return:
registersymbol(aob_buy)
[DISABLE]
aob_buy:
db 89 83 90 00 00 00
unregistersymbol(buyForFree)
unregistersymbol(pGold)
unregistersymbol(aob_buy)
dealloc(buyForFree)
dealloc(pGold)
dealloc(newmem)
{
// ORIGINAL CODE - INJECTION POINT: DXM-Win64-Shipping.UTTLSaveGameObject::SubMoney+AD
DXM-Win64-Shipping.UTTLSaveGameObject::SubMoney+8B: 33 D2 - xor edx,edx
DXM-Win64-Shipping.UTTLSaveGameObject::SubMoney+8D: 33 C9 - xor ecx,ecx
DXM-Win64-Shipping.UTTLSaveGameObject::SubMoney+8F: 48 89 44 24 20 - mov [rsp+20],rax
DXM-Win64-Shipping.UTTLSaveGameObject::SubMoney+94: E8 77 B0 71 00 - call DXM-Win64-Shipping.FMsg::Logf_InternalImpl
DXM-Win64-Shipping.UTTLSaveGameObject::SubMoney+99: 8B 0D 7D 89 46 02 - mov ecx,[DXM-Win64-Shipping.UTTLBPUtilityLibrary::PlayerPossessionMoneyMax]
DXM-Win64-Shipping.UTTLSaveGameObject::SubMoney+9F: 89 8B 90 00 00 00 - mov [rbx+00000090],ecx
DXM-Win64-Shipping.UTTLSaveGameObject::SubMoney+A5: 32 C0 - xor al,al
DXM-Win64-Shipping.UTTLSaveGameObject::SubMoney+A7: 48 83 C4 30 - add rsp,30
DXM-Win64-Shipping.UTTLSaveGameObject::SubMoney+AB: 5B - pop rbx
DXM-Win64-Shipping.UTTLSaveGameObject::SubMoney+AC: C3 - ret
// ---------- INJECTING HERE ----------
DXM-Win64-Shipping.UTTLSaveGameObject::SubMoney+AD: 89 83 90 00 00 00 - mov [rbx+00000090],eax
// ---------- DONE INJECTING ----------
DXM-Win64-Shipping.UTTLSaveGameObject::SubMoney+B3: B0 01 - mov al,01
DXM-Win64-Shipping.UTTLSaveGameObject::SubMoney+B5: 48 83 C4 30 - add rsp,30
DXM-Win64-Shipping.UTTLSaveGameObject::SubMoney+B9: 5B - pop rbx
DXM-Win64-Shipping.UTTLSaveGameObject::SubMoney+BA: C3 - ret
DXM-Win64-Shipping.UTTLSaveGameObject::SubMoney+BB: CC - int 3
DXM-Win64-Shipping.exe.text+C8577C: CC - int 3
DXM-Win64-Shipping.exe.text+C8577D: CC - int 3
DXM-Win64-Shipping.exe.text+C8577E: CC - int 3
DXM-Win64-Shipping.exe.text+C8577F: CC - int 3
DXM-Win64-Shipping.ATTLRifleRangeLevelScriptActor::SwitchLevelVisibility: 48 8B C4 - mov rax,rsp
}
</AssemblerScript>
<Hotkeys>
<Hotkey>
<Action>Activate</Action>
<Keys>
<Key>17</Key>
<Key>106</Key>
</Keys>
<ID>0</ID>
</Hotkey>
<Hotkey>
<Action>Activate</Action>
<Keys>
<Key>18</Key>
<Key>106</Key>
</Keys>
<ID>1</ID>
</Hotkey>
</Hotkeys>
<CheatEntries>
<CheatEntry>
<ID>217348</ID>
<Description>"Buy an item to update the Credits value"</Description>
<LastState Value="" RealAddress="00000000"/>
<Color>008080</Color>
<GroupHeader>1</GroupHeader>
</CheatEntry>
<CheatEntry>
<ID>217350</ID>
<Description>"You still need to have enough credits to buy the item"</Description>
<LastState Value="" RealAddress="00000000"/>
<Color>008080</Color>
<GroupHeader>1</GroupHeader>
</CheatEntry>
<CheatEntry>
<ID>217349</ID>
<Description>"-------"</Description>
<LastState Value="" RealAddress="00000000"/>
<Color>808080</Color>
<GroupHeader>1</GroupHeader>
</CheatEntry>
<CheatEntry>
<ID>217341</ID>
<Description>"Buy for Free ? [Ctrl *] to Enable [Alt *] to Disable"</Description>
<DropDownList ReadOnly="1" DescriptionOnly="1" DisplayValueAsItem="1">0:Disabled
1:Enabled
</DropDownList>
<LastState Value="0" RealAddress="7FF607431008"/>
<ShowAsSigned>0</ShowAsSigned>
<Color>C080FF</Color>
<VariableType>Byte</VariableType>
<Address>buyForFree</Address>
<Hotkeys>
<Hotkey>
<Action>Set Value</Action>
<Keys>
<Key>17</Key>
<Key>106</Key>
</Keys>
<Value>1</Value>
<ID>0</ID>
<ActivateSound>Activate</ActivateSound>
</Hotkey>
<Hotkey>
<Action>Set Value</Action>
<Keys>
<Key>18</Key>
<Key>106</Key>
</Keys>
<Value>0</Value>
<ID>1</ID>
<ActivateSound>Deactivate</ActivateSound>
</Hotkey>
</Hotkeys>
</CheatEntry>
<CheatEntry>
<ID>217351</ID>
<Description>"-------"</Description>
<LastState Value="" RealAddress="00000000"/>
<Color>808080</Color>
<GroupHeader>1</GroupHeader>
</CheatEntry>
<CheatEntry>
<ID>217347</ID>
<Description>"Credits"</Description>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>4 Bytes</VariableType>
<Address>pGold</Address>
<Offsets>
<Offset>0</Offset>
</Offsets>
</CheatEntry>
</CheatEntries>
</CheatEntry>
</CheatEntries>
</CheatTable>
How to use this cheat table?
- Install Cheat Engine
- Double-click the .CT file in order to open it.
- Click the PC icon in Cheat Engine in order to select the game process.
- Keep the list.
- Activate the trainer options by checking boxes or setting values from 0 to 1