View previous topic :: View next topic |
Author |
Message |
zakusa Cheater
Reputation: 0
Joined: 09 Sep 2015 Posts: 48
|
Posted: Sat Oct 03, 2015 7:13 pm Post subject: Pointer address cheat engine lua |
|
|
hi how do i use pointer address in cheat engine lua because i want to create a trainer with buttons and that requires lua
|
|
Back to top |
|
 |
Zanzer I post too much
Reputation: 126
Joined: 09 Jun 2013 Posts: 3278
|
Posted: Sat Oct 03, 2015 7:31 pm Post subject: |
|
|
Code: | local address = getAddress("game.exe")
address = readPointer(address + 0x123)
address = readPointer(address + 0x456)
local value = readFloat(address + 0x789) |
|
|
Back to top |
|
 |
zakusa Cheater
Reputation: 0
Joined: 09 Sep 2015 Posts: 48
|
Posted: Sun Oct 04, 2015 11:32 am Post subject: |
|
|
ok i feel that pointer is just too hard i has no idea what any of that means i know about addresses but i has no idea about offsets how do i add those do you has any video tutorials plz
|
|
Back to top |
|
 |
Zanzer I post too much
Reputation: 126
Joined: 09 Jun 2013 Posts: 3278
|
Posted: Sun Oct 04, 2015 12:21 pm Post subject: |
|
|
Replace "game.exe" with your game's executable.
Replace each "address + 0x123" with your pointer's offset.
The code I posted would be the same as:
[[game.exe+123]+456]+789
Or if it was a pointer table entry, the boxes would read:
789
456
game.exe+123
|
|
Back to top |
|
 |
BenBo Newbie cheater
Reputation: 0
Joined: 03 Sep 2015 Posts: 13
|
Posted: Wed Oct 07, 2015 9:42 am Post subject: |
|
|
show my function in lua:
Code: | function readIntByPtr(nBase,tbPtr)
local theB=type(nBase)=="string" and tonumber("0x"..nBase) or nBase
if type(theB)~="number" then
return "(you should push nBase about address to the function)"
end
local theT=type(tbPtr)=="string" and tonumber("0x"..tbPtr) or tbPtr
if type(theT)=="number" then
return readInteger(d2h(theB+theT))
elseif type(theT)=="table" then
local str=string.rep("[",#theT-1)
theT[1],theB=d2h(tonumber("0x"..theT[1])+theB),theT[1] --用theB暂存theT[1]
str=str.."+"..table.concat(theT,"]+")
theT[1]=theB --还原theT[1]
return readInteger(str)
else
return "err in type of offset"
end
end |
d2h() is to show number as HEX .
Code: | function d2h(src,bitwide)
if type(src)~="number" then
return "input isn't num"
end
bitwide=bitwide or 0xffffffff
return(string.format("%X",bAnd(src,bitwide)))
end |
to get addr=[[[address+0x123]+0x456]+0x789], as thiss :
Code: | addr=readIntByPtr(address,{'123','456','789'}) |
|
|
Back to top |
|
 |
Hello all How do I cheat?
Reputation: 0
Joined: 14 Dec 2015 Posts: 9
|
Posted: Sun Dec 20, 2015 9:15 am Post subject: |
|
|
Hello, please help correct record pointer in the Lua script
here's a pointer ["witcher3.exe" + 028F3F60] +0] +18] +20] +40] +40] + 1c0] +10] +28]
There is a video somewhere, or how to write articles pointer in Lua script.
|
|
Back to top |
|
 |
mgr.inz.Player I post too much
Reputation: 222
Joined: 07 Nov 2008 Posts: 4438 Location: W kraju nad Wisla. UTC+01:00
|
Posted: Sun Dec 20, 2015 9:28 am Post subject: |
|
|
Code: | value = readInteger("[[[[[[[[[witcher3.exe + 028F3F60] +0] +18] +20] +40] +40] + 1c0] +10] +28]") |
or
Code: | value = readFloat("[[[[[[[[[witcher3.exe + 028F3F60] +0] +18] +20] +40] +40] + 1c0] +10] +28]") |
or
Code: | value = readDouble("[[[[[[[[[witcher3.exe + 028F3F60] +0] +18] +20] +40] +40] + 1c0] +10] +28]") |
_________________
Last edited by mgr.inz.Player on Wed Dec 23, 2015 6:37 am; edited 1 time in total |
|
Back to top |
|
 |
Hello all How do I cheat?
Reputation: 0
Joined: 14 Dec 2015 Posts: 9
|
Posted: Sun Dec 20, 2015 10:05 am Post subject: |
|
|
Thank you Mgr.INZ.The player, for help.
Please tell me you can anywhere on the website, read about filters, from making your character from the enemy, if one statement contains the enemy health and your current health and what to do if after the analysis of the structure, unable to find player ID.
thank you very much in advance
|
|
Back to top |
|
 |
mgr.inz.Player I post too much
Reputation: 222
Joined: 07 Nov 2008 Posts: 4438 Location: W kraju nad Wisla. UTC+01:00
|
|
Back to top |
|
 |
Hello all How do I cheat?
Reputation: 0
Joined: 14 Dec 2015 Posts: 9
|
Posted: Sun Dec 20, 2015 1:10 pm Post subject: |
|
|
Yes here that and a problem that if done through the analysis of the structure, not all games is ID of your alien differences is through the structure, here's the problem, because I'm asking there what may be other ways.
|
|
Back to top |
|
 |
Rydian Grandmaster Cheater Supreme
Reputation: 31
Joined: 17 Sep 2012 Posts: 1358
|
Posted: Sun Dec 20, 2015 1:34 pm Post subject: |
|
|
Guess and test, let CE auto-guess the structures (make sure you're starting from the base) and try to figure out what could be used as an identifier (even if you don't know what the value actually is, as long as it's always x for players and not x for enemies).
_________________
|
|
Back to top |
|
 |
Zanzer I post too much
Reputation: 126
Joined: 09 Jun 2013 Posts: 3278
|
Posted: Sun Dec 20, 2015 1:34 pm Post subject: |
|
|
If you're talking specifically about Witcher, then check my table for how I differentiate the player and monsters.
Although some of the addresses within the structure may not appear unique, games don't always access every value when it relates to a monster. For example, a unit structure may contain the unit's experience or ability points. Well, monsters don't normally level up and spend points, so only the player's variables are ever accessed. So you find the instructions that access those and use that to get a player pointer.
In Witcher, only the player is effected by potion toxicity. Well, that toxicity attribute has an ID of 3 and only the player's structure contains that.
|
|
Back to top |
|
 |
Hello all How do I cheat?
Reputation: 0
Joined: 14 Dec 2015 Posts: 9
|
Posted: Tue Dec 22, 2015 8:52 am Post subject: |
|
|
Welcome to the new dear programmers, help me understand I first wrote a Lua script, but of course with errors, I can not write the correct index in Lua script, readInteger ("[[[[[[[[[" witcher3.exe "+ 028F3F60] + 0] +18] +20] +40] +40] + 1c0] +10] +28] ") I wanted to write to fit a certain number of freezing such as the number 100, but I do not so, sorry for my english, please help in the early writing Lua
function CEButton1Click(sender)
GameName = 'witcher3.exe'
if(getProcessIDFromProcessName(GameName) == nil) then
end
address = getAddress(stringlist_getString(result,0))
debug_setBreakpoint(address)
debug_removeBreakpoint(address)
readInteger("[[[[[[[[["witcher3.exe" + 028F3F60] +0] +18] +20] +40] +40] + 1c0] +10] +28]")
end
function debugger_onBreakpoint()
sanAddress = RCX + 0x4
return 1
end
|
|
Back to top |
|
 |
Zanzer I post too much
Reputation: 126
Joined: 09 Jun 2013 Posts: 3278
|
Posted: Tue Dec 22, 2015 6:35 pm Post subject: |
|
|
Your script has errors because your pointer contains quotes and it's inside a quoted string.
This means the quote is ending the string and screwing up your code.
Put a backslash in front of the quote within the string to escape it (or remove it entirely).
Code: | readInteger("[[[[[[[[[\"witcher3.exe\" + 028F3F60] +0] +18] +20] +40] +40] + 1c0] +10] +28]")
readInteger("[[[[[[[[[witcher3.exe + 028F3F60] +0] +18] +20] +40] +40] + 1c0] +10] +28]") |
Next up, depending on what you intended, you may need to get rid of one set of square brackets.
Code: | readInteger("[[[[[[[[witcher3.exe + 028F3F60] +0] +18] +20] +40] +40] + 1c0] +10] +28") |
|
|
Back to top |
|
 |
Hello all How do I cheat?
Reputation: 0
Joined: 14 Dec 2015 Posts: 9
|
Posted: Wed Dec 23, 2015 3:01 am Post subject: |
|
|
In short write-pointer gives an error, as I just do not fit, still gives an error message, you are ready to have the correct to say patterns which shows how to enter a pointer that we could see and correct errors
|
|
Back to top |
|
 |
|