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 


How to change a value IMMEDIATELY??
Goto page Previous  1, 2
 
Post new topic   Reply to topic    Cheat Engine Forum Index -> General Gamehacking
View previous topic :: View next topic  
Author Message
Redouane
Master Cheater
Reputation: 3

Joined: 05 Sep 2013
Posts: 363
Location: Algeria

PostPosted: Tue Jun 17, 2014 2:36 pm    Post subject: Reply with quote

Sohail__Saha wrote:
Woh Woh Guys, I need a SOLUTION, not more questions...
And that pointer is---> [edi+14]


Did you complete CE's tutorial step 6 and 8?By pointer I meant a memory area that contains the address that you want,of course,it may not be as simple (example multilevel pointers in tutorial step Cool.

Of course,I mean an address to that area.

You should also read this topic (what are pointers?),It should clarify a few things.

Pointers are indeed very useful in game hacking.
Back to top
View user's profile Send private message
Sohail__Saha
Advanced Cheater
Reputation: 0

Joined: 21 May 2014
Posts: 82
Location: India

PostPosted: Wed Jun 18, 2014 12:18 pm    Post subject: Reply with quote

Hey, I did a pointer search and I did found a static pointer. It is 00631390. I have to mov 5000 into [[[[[00631390]+C]+14]]+18] (health address). How can I do it?? Please give the script and the steps to make it... Rolling Eyes
_________________
Don't underestimate the power of a common code.
Laughing
Back to top
View user's profile Send private message Visit poster's website
kik4444
Expert Cheater
Reputation: 0

Joined: 07 Sep 2013
Posts: 120
Location: Bulgaria

PostPosted: Wed Jun 18, 2014 2:40 pm    Post subject: Reply with quote

Not sure if already solved, but if you want to immediately change your health after it decreases, I suppose you could do a compare to the maximum health and then use JL (jump if less, I think it was called) and then compare it to the maximum, so when this code detects that your health has decreased, it immediately sets it back to the max.
_________________
Silence will fall when the question is asked...
Back to top
View user's profile Send private message
NanoByte
Expert Cheater
Reputation: 1

Joined: 13 Sep 2013
Posts: 222

PostPosted: Wed Jun 18, 2014 3:15 pm    Post subject: Reply with quote

Kik4444 that wont do because his code triggers under the right conditions. what i suggested should work but it seems he is not interested Very Happy
Back to top
View user's profile Send private message
Sohail__Saha
Advanced Cheater
Reputation: 0

Joined: 21 May 2014
Posts: 82
Location: India

PostPosted: Thu Jun 19, 2014 3:41 am    Post subject: Reply with quote

@NanoByte Who said I am not interested?? Just explain me how to do it as if I am a begineer.
_________________
Don't underestimate the power of a common code.
Laughing
Back to top
View user's profile Send private message Visit poster's website
Redouane
Master Cheater
Reputation: 3

Joined: 05 Sep 2013
Posts: 363
Location: Algeria

PostPosted: Thu Jun 19, 2014 5:28 am    Post subject: Reply with quote

Sohail__Saha wrote:
Hey, I did a pointer search and I did found a static pointer. It is 00631390. I have to mov 5000 into [[[[[00631390]+C]+14]]+18] (health address). How can I do it?? Please give the script and the steps to make it... Rolling Eyes


Here is the createthread approach:
Code:
[enable]
globalalloc(m,1024)
createthread(m)
m:
mov eax,[00631390]
lea eax,[eax+C] // you could use add or sub
mov eax,[eax]
lea eax,[eax+14]
mov eax,[eax]
mov eax,[eax] // offset is 0
lea eax,[eax+18]
mov eax,[eax]
mov [eax],(float)5000 // your hp is float?,you could also do inc [eax] to do hp regeneration
push #100 //This will wait 0.1s
call sleep
jmp m
[disable]
m:
ret

using Lua:
Click 'show cheat table Lua script' and add this,if no window shows up,then go to settings,and in 'general' enable 'show all windows in taskbar' then enlarge the window from your taskbar:
Code:
do
     local read , write = readInteger , writeFloat
     t = createTimer( true )
     t.Enabled , t.Interval , t.onTimer = false , 100 , function ( self )
          local hp_address = read( read( read( read( read( 00631390 ) + 0xC ) + 0x14 ) + 0 ) + 0x18 ) -- Recalculate address
          return write( hp_address , 5000 ) -- Tail call,remplace 5000 with your value
          end
end

Now,in an auto assemble script,add this
Code:
{In your code injection,add this}
[enable]
luacall(t.Enabled = true )
[disable]
luacall(t.Enabled = false )


I have not tested any of those scripts,but they should work.

Again,there is more than one way to skin a cat.


Last edited by Redouane on Thu Jun 19, 2014 11:08 am; edited 2 times in total
Back to top
View user's profile Send private message
NanoByte
Expert Cheater
Reputation: 1

Joined: 13 Sep 2013
Posts: 222

PostPosted: Thu Jun 19, 2014 10:03 am    Post subject: Reply with quote

if Redone's script dosent work then check my script at page 1

also Redone i got a question based on your Script "m" will keep jumping ontop would that not crash the game or how does it work?
Back to top
View user's profile Send private message
Redouane
Master Cheater
Reputation: 3

Joined: 05 Sep 2013
Posts: 363
Location: Algeria

PostPosted: Thu Jun 19, 2014 10:56 am    Post subject: Reply with quote

NanoByte wrote:
if Redone's script dosent work then check my script at page 1

also Redone i got a question based on your Script "m" will keep jumping ontop would that not crash the game or how does it work?


When you do code injection,you must jump back to the game code,because the code will get executed by a game thread,and if it does not return,it won't execute thousands of lines of asm code,so it'll crash the game,you also have to save flags and registers because otherwise you may get access violations.

In my script,I have created my own thread,so it has its own registers,stack and instruction pointer (eip),it only executes my code,so I must give it a behaviour,here,if I remplace 'jmp m' with 'ret',it will only write the value once,because when a thread encounters a 'ret' while nothing is at the top of the stack ([esp]),it terminates,'jmp m' creates a loop,so it will keep writing to that value every 0.1 second (argument to sleep).

This will write to that value,no matter if the game's code gets executed or not.

Of course,it is also recommended to do code injection in the part that writes to your hp because if this code writes 5000 to your hp every 0.1 second and you get more than 5000 damage at once then you'll die because your hp will be smaller than or equal to 0.
Back to top
View user's profile Send private message
Sohail__Saha
Advanced Cheater
Reputation: 0

Joined: 21 May 2014
Posts: 82
Location: India

PostPosted: Thu Jun 19, 2014 11:59 am    Post subject: Reply with quote

Thanks, it works!! Laughing
_________________
Don't underestimate the power of a common code.
Laughing
Back to top
View user's profile Send private message Visit poster's website
Redouane
Master Cheater
Reputation: 3

Joined: 05 Sep 2013
Posts: 363
Location: Algeria

PostPosted: Thu Jun 19, 2014 2:07 pm    Post subject: Reply with quote

Sohail__Saha wrote:
Thanks, it works!! Laughing


You're wellcome,what method did you use?Lua or createthread?
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
Goto page Previous  1, 2
Page 2 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