Page 1 of 1

Useful Cheat Engine Scripts / Templates

PostPosted: Sat May 02, 2020 2:00 am
by Sethioz
This is more for myself, but feel free to use these to your liking. I've been using those methods in many games.

FIND ADDRESS with CMP and JNE (Compare registers - needed when instruction accesses / writes more than 1 address)
Code: Select all
cmp R11,800 // Looks up value of R11 register and checks if it's 800 or not.

jne originalcode    // if R14 is not 800 then skip this

mov rax,_money
mov [rax],rdx

originalcode:
mov eax,[rdx+28] // where RDX+28 holds the address that holds the value of money (or whatever you need)
mov [rcx],00000001
jmp return


FIND ADDRESS (Multiple registers using LEA)
Code: Select all
push rbx
lea rbx,[r10+rax] // reads value of r10 + rax and outputs as 1
mov [_speedz],rbx
pop rbx

  movups [r10+rax],xmm0
  jmp return

can be used in games where address you looking for, is a combination of 2 registers instead of 1 register + 1 offset


FIND ADDRESS
Code: Select all
push rbx
mov rbx,_customaddress //this is your custom address
mov [rbx],rax
pop rbx


  movss xmm0,[rax+000002C4] // rax + 2C4 is the address you are looking for
  jmp return



SPEED BOOST / TELEPORT Lua Script
enter into lua script + execute
Code: Select all
function SpeedHack1()
boost = 1.2
if (readBytes('[_speedz]') ~= nil) then
writeFloat ('[_speedz]+0', readFloat('[_speedz]+0')*boost)
writeFloat ('[_speedz]+8', readFloat('[_speedz]+8')*boost)
end
end
createHotkey(SpeedHack1, VK_UP)

function SpeedHack2()
boost = 0.5
if (readBytes('[_speedz]') ~= nil) then
writeFloat ('[_speedz]+0', readFloat('[_speedz]+0')*boost)
writeFloat ('[_speedz]+8', readFloat('[_speedz]+8')*boost)
end
end
createHotkey(SpeedHack2, VK_DOWN)

function SpeedHack3()
boost = 2.0
if (readBytes('[_speedz]') ~= nil) then
writeFloat ('[_speedz]+0', readFloat('[_speedz]+0')*boost)
writeFloat ('[_speedz]+8', readFloat('[_speedz]+8')*boost)
end
end
createHotkey(SpeedHack3, VK_RSHIFT)

you can create multiple hotkeys using this method, look up the VK (virtual keyboard) codes on google to replace hotkeys. Make sure to enter correct address and offset.
_speedz = your custom address which you must first allocate and create.


TIMER to UPDATE VALUES - such as instant filling Nitros in racing game when it falls under certain amount
enter into lua script + execute.
Code: Select all
function doCheck(sender)
  if freeze or (readFloat('[_nos]+41C')<=0.9) then
    writeFloat('[_nos]+41C', 1);
  end
end

freeze=false
t=createTimer(nil)
timer_onTimer(t, doCheck)
timer_setInterval(t, 50)

_nos = your custom address, defined in the cheat table.


AoB SWAP (swaps HEX strings with another HEX string - replaces all, can take long time)
enter as script
Code: Select all
[ENABLE]
LuaCall(Aobswap("01 02 03 04","0A 0B 0C 0D"))

[DISABLE]
LuaCall(Aobswap("0A 0B 0C 0D","01 02 03 04"))