Cheat Engine Forum Index Cheat Engine
The Official Site of Cheat Engine
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 


Pointer address cheat engine lua
Goto page 1, 2  Next
 
Post new topic   Reply to topic    Cheat Engine Forum Index -> Cheat Engine Lua Scripting
View previous topic :: View next topic  
Author Message
zakusa
Cheater
Reputation: 0

Joined: 09 Sep 2015
Posts: 48

PostPosted: Sat Oct 03, 2015 7:13 pm    Post subject: Pointer address cheat engine lua Reply with quote

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
View user's profile Send private message
Zanzer
I post too much
Reputation: 126

Joined: 09 Jun 2013
Posts: 3278

PostPosted: Sat Oct 03, 2015 7:31 pm    Post subject: Reply with quote

Code:
local address = getAddress("game.exe")
address = readPointer(address + 0x123)
address = readPointer(address + 0x456)
local value = readFloat(address + 0x789)
Back to top
View user's profile Send private message
zakusa
Cheater
Reputation: 0

Joined: 09 Sep 2015
Posts: 48

PostPosted: Sun Oct 04, 2015 11:32 am    Post subject: Reply with quote

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
View user's profile Send private message
Zanzer
I post too much
Reputation: 126

Joined: 09 Jun 2013
Posts: 3278

PostPosted: Sun Oct 04, 2015 12:21 pm    Post subject: Reply with quote

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
View user's profile Send private message
BenBo
Newbie cheater
Reputation: 0

Joined: 03 Sep 2015
Posts: 13

PostPosted: Wed Oct 07, 2015 9:42 am    Post subject: Reply with quote

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
View user's profile Send private message
Hello all
How do I cheat?
Reputation: 0

Joined: 14 Dec 2015
Posts: 9

PostPosted: Sun Dec 20, 2015 9:15 am    Post subject: Reply with quote

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
View user's profile Send private message
mgr.inz.Player
I post too much
Reputation: 222

Joined: 07 Nov 2008
Posts: 4438
Location: W kraju nad Wisla. UTC+01:00

PostPosted: Sun Dec 20, 2015 9:28 am    Post subject: Reply with quote

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
View user's profile Send private message MSN Messenger
Hello all
How do I cheat?
Reputation: 0

Joined: 14 Dec 2015
Posts: 9

PostPosted: Sun Dec 20, 2015 10:05 am    Post subject: Reply with quote

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
View user's profile Send private message
mgr.inz.Player
I post too much
Reputation: 222

Joined: 07 Nov 2008
Posts: 4438
Location: W kraju nad Wisla. UTC+01:00

PostPosted: Sun Dec 20, 2015 12:19 pm    Post subject: This post has 1 review(s) Reply with quote

You already read this one?
http://forum.cheatengine.org/viewtopic.php?t=583376 ("3 - Check The Player Structure")

_________________
Back to top
View user's profile Send private message MSN Messenger
Hello all
How do I cheat?
Reputation: 0

Joined: 14 Dec 2015
Posts: 9

PostPosted: Sun Dec 20, 2015 1:10 pm    Post subject: Reply with quote

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
View user's profile Send private message
Rydian
Grandmaster Cheater Supreme
Reputation: 31

Joined: 17 Sep 2012
Posts: 1358

PostPosted: Sun Dec 20, 2015 1:34 pm    Post subject: Reply with quote

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
View user's profile Send private message
Zanzer
I post too much
Reputation: 126

Joined: 09 Jun 2013
Posts: 3278

PostPosted: Sun Dec 20, 2015 1:34 pm    Post subject: Reply with quote

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
View user's profile Send private message
Hello all
How do I cheat?
Reputation: 0

Joined: 14 Dec 2015
Posts: 9

PostPosted: Tue Dec 22, 2015 8:52 am    Post subject: Reply with quote

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


Sad Sad Sad Sad Sad Sad Sad
Back to top
View user's profile Send private message
Zanzer
I post too much
Reputation: 126

Joined: 09 Jun 2013
Posts: 3278

PostPosted: Tue Dec 22, 2015 6:35 pm    Post subject: Reply with quote

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
View user's profile Send private message
Hello all
How do I cheat?
Reputation: 0

Joined: 14 Dec 2015
Posts: 9

PostPosted: Wed Dec 23, 2015 3:01 am    Post subject: Reply with quote

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
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Cheat Engine Forum Index -> Cheat Engine Lua Scripting All times are GMT - 6 Hours
Goto page 1, 2  Next
Page 1 of 2

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


Powered by phpBB © 2001, 2005 phpBB Group

CE Wiki   IRC (#CEF)   Twitter
Third party websites