Page 1 of 1

Useful Cheat Engine Scripts / Templates

Posted: 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 R11 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"))