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 Freeze a Values no longer pointed

 
Post new topic   Reply to topic    Cheat Engine Forum Index -> General Gamehacking
View previous topic :: View next topic  
Author Message
uchiwaobito
How do I cheat?
Reputation: 0

Joined: 20 Sep 2016
Posts: 5

PostPosted: Tue Sep 20, 2016 6:58 am    Post subject: [Help]How to Freeze a Values no longer pointed Reply with quote

In my table I have a static pointer on selected character's health. So when I freeze the value it freezes the health of the selected character but only when he's selected.
What I want is to keep frozen all the characters health I selected and froze their health


Last edited by uchiwaobito on Tue Sep 20, 2016 4:27 pm; edited 1 time in total
Back to top
View user's profile Send private message
kuntz
Cheater
Reputation: 0

Joined: 29 Aug 2016
Posts: 44
Location: Canada

PostPosted: Tue Sep 20, 2016 1:23 pm    Post subject: Reply with quote

You need to find the correct memory address for the player's health. What you have found is just the address for the Font/Text portion of the game code, not the actual players health.
Back to top
View user's profile Send private message
uchiwaobito
How do I cheat?
Reputation: 0

Joined: 20 Sep 2016
Posts: 5

PostPosted: Tue Sep 20, 2016 4:17 pm    Post subject: Reply with quote

kuntz wrote:
You need to find the correct memory address for the player's health. What you have found is just the address for the Font/Text portion of the game code, not the actual players health.


That's not actually my problem because:

1- My problem is dealing with characters that each player recruit so you can have a bunch of characters in your army. They die and you recruit other characters so adding each character address to the table each time you recruit would be insane, knowing that those addresses will become useless if you get rid of the pointed character and you will have to do this for every single party

2- The pointer in the question is pointing the actual player's health otherwise I wouldn't even be able to change the health of selected character with it.
I found it using dissect data/structure on the address for the Font/Text showing the health( Found the pointer on the character data and by adding an offset I get in the right address).

3- Freezing the health is working but only on the selected character
Back to top
View user's profile Send private message
kuntz
Cheater
Reputation: 0

Joined: 29 Aug 2016
Posts: 44
Location: Canada

PostPosted: Tue Sep 20, 2016 4:47 pm    Post subject: Reply with quote

Ah well then what you want to do is find the code that is subtracting the players' health and NOP it out. If it is also the code for other things (like enemy health), then instead of NOPing you'll need a script that can determine the difference between something you want to have infinite health, and what you want to take damage normally. You can go further and have 1-shot kill on enemies as well, for example.
Back to top
View user's profile Send private message
uchiwaobito
How do I cheat?
Reputation: 0

Joined: 20 Sep 2016
Posts: 5

PostPosted: Tue Sep 20, 2016 5:34 pm    Post subject: Reply with quote

I already wrote a script for this and did a condition so that will affect only my characters but this is not really what I want to do since this affect the hole of my characters.
It would be great if this can only apply for the characters I select and chose to freeze
Back to top
View user's profile Send private message
kuntz
Cheater
Reputation: 0

Joined: 29 Aug 2016
Posts: 44
Location: Canada

PostPosted: Tue Sep 20, 2016 5:48 pm    Post subject: Reply with quote

Hmm, well what you can try to do is modify your script so that when health is being decreased, check for a specific bit to be set in the player structure. If the bit is set, make the player invincible, otherwise the player takes damage as usual. Now find a spare bit inside the player structure, there might be padding, or some other variable that isn't used. Set up a hotkey to toggle this specific bit in the currently selected player.
Back to top
View user's profile Send private message
panraven
Grandmaster Cheater
Reputation: 55

Joined: 01 Oct 2008
Posts: 942

PostPosted: Tue Sep 20, 2016 7:40 pm    Post subject: Reply with quote

A quick idea.

Try make a lua timer function,
1.the OnTimer function check a list of address,
1.1 if each addr is readable and somehow checked it is a valid address (eg. if it is a float value health address, check with float value between 0.01 and 99999 etc),
1.2.do something on individual address, (eg.check if its float value below 50 then add 100 float to the address),
1.3.otherwise remove this addr from the address list.
1.4.The more you known the object struct at the related address, more possibility.

2.Now when you pointed to the unit,
2.1.you press a hotkey to add the address into the above mentioned address list.
2.2.Then when OnTimer run, the newly add the addr together with previous collected addresses will check if still valid (ref 1.1),
2.3.and if so process the above desired action(ref 1.2) else
2.4.removed (ref 1.3).

btw, if you have an working aa script about the health/unit address, would you like to post here?

bye~

_________________
- Retarded.
Back to top
View user's profile Send private message
uchiwaobito
How do I cheat?
Reputation: 0

Joined: 20 Sep 2016
Posts: 5

PostPosted: Wed Sep 21, 2016 5:45 am    Post subject: Reply with quote

Thanks for the idea, I will give it a try

This is the aa script:
Quote:
[ENABLE]
//code from here to '[DISABLE]' will be used to enable the cheat
alloc(newmem,2048)
label(returnhere)
label(originalcode)
label(exit)

newmem: //this is allocated memory, you have read,write,execute access
//place your code here
mov eax,[EMPIRESX.EXE+2A1808]
mov ecx,[eax+40]
mov eax,[ecx+04]
cmp [esi+0C],eax
// I compare the team of the character being hitted in "esi+0C" with my team in "eax"

jne originalcode

fst [esi+30]
fcomp qword ptr [empiresx.exe+1425F8]
jmp exit


originalcode:
// This is what calculate the decreased health of a character.
fsub dword ptr [esi+30]
fcomp qword ptr [empiresx.exe+1425F8]

exit:
jmp returnhere

"empiresx.exe"+AEA4B:
jmp newmem
nop
nop
nop
nop
returnhere:




[DISABLE]
//code from here till the end of the code will be used to disable the cheat
dealloc(newmem)
"empiresx.exe"+AEA4B:
fsub dword ptr [esi+30]
fcomp qword ptr [empiresx.exe+1425F8]
//Alt: db D8 66 30 DC 1D F8 25 54 00
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 Gamehacking 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