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 


Help!how to find pointer chain health to NameString of enemy

 
Post new topic   Reply to topic    Cheat Engine Forum Index -> General Discussions
View previous topic :: View next topic  
Author Message
peddroelm
Advanced Cheater
Reputation: 0

Joined: 03 Oct 2014
Posts: 84

PostPosted: Mon Apr 08, 2019 10:22 am    Post subject: Help!how to find pointer chain health to NameString of enemy Reply with quote

Still messing with adding combat damage log functionality to games that lack it ..


My current conundrum is this.

I can get (easily) get the base address of the struct/object/block that has current/max hitpoints value of an enemy in game. (shoot the enemy - combat log dumps .. for example
Code:
     16     2161.671 Max       869.869 Cur      979.018 Prev      109.149 Damage   1C2EA3D8 baseaddress

Address A

I can get the address of the name string -> searching UTF-16 for the name displayed in game on top of that enemy. ..get it down to 1 result ..
Address B

My question is how do I find a pointer chain linking between object with address A and object 2 with address B.

So then I can do something like this ( I did this for another game that was .dot net so I could 'read' the pointer chain with dnspy)


Code:

local zCharName = rbxAddress; -- display the address if getting the string name fails

local CharNameLength = readInteger(string.format("[[[%10X+ 30] + 28] + 10] + 10",rbxAddress));
if (CharNameLength ~= nil) then  zCharName = readString(string.format("[[[%10X+ 30] + 28] + 10] + 14",rbxAddress), CharNameLength * 2, 1); end;


So then my damage received combat damage logs can also print the name of the character receiving the damage instead of hex addresses ..

I initially thought pointer scans / compare .. but that is something else .. I don't need static pointer chain all the way application static address (there might not even be such chains in this game). I only need a pointer chain between the two objects. (I realize there is no guarantee such a pointer chain exists - but how would be the best way of finding the link ? Manually tracing pointers back from B hopping A address pops up along the way ? )

EDIT1
Actually :
pointerscan with base address must be in specific range A + size of A oughta do it ? ..

EDIT2


pointer scan seems the most promising thus far -> pointer chain for 'psycho midget' worked (no game restart yet) for another enemy I shot 'elite marauder' but sadly didn't work for the playing character .. and possible playing character summons ... destructible objects .. Sad . Also I need to figure out if there is a way to know which type of target is damaged (PC / enemy - maybe hardcode names for the 6 PCs ) .. there are still objects outside this (maybe display address for now until somebody better comes along) . Also I need to find the String length information along that pointer chain - I cannot read the UTF string otherwise .
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Cheat Engine Forum Index -> General Discussions All times are GMT - 6 Hours
Page 1 of 1

 
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