Difference between revisions of "Tutorials:Finding values:Integers"

From Cheat Engine
Jump to navigation Jump to search
m (Step 3)
 
(21 intermediate revisions by one other user not shown)
Line 1: Line 1:
 +
[[Category:Tutorial]]
 +
{{DISPLAYTITLE:Finding Values - Integers}}
 
The most basic thing to do with Cheat Engine is to find Values to change or freeze.
 
The most basic thing to do with Cheat Engine is to find Values to change or freeze.
  
Line 4: Line 6:
  
 
Any game will work but I will be using '''Windows Solitaire'''.  
 
Any game will work but I will be using '''Windows Solitaire'''.  
And ''Windows Solitaire'' is a good game for integers
+
And ''Windows Solitaire'' is a good game for integers.
  
 
If unsure how to attach to the process see: [[Tutorials:AttachToProcess|How to attach to a process]]
 
If unsure how to attach to the process see: [[Tutorials:AttachToProcess|How to attach to a process]]
Line 12: Line 14:
 
; Integer
 
; Integer
 
: Integers are whole numbers, or numbers that are not fractions.
 
: Integers are whole numbers, or numbers that are not fractions.
 +
[https://wikipedia.org/wiki/Integer wikipedia.org/wiki/Integer]
  
  
Line 19: Line 22:
 
that it's increased by moves and decreased with time, and starts at zero.
 
that it's increased by moves and decreased with time, and starts at zero.
  
Now in this small game scanning for zero should be fine but it's best not to scan for zeros.
+
Now in this small game scanning for zero should be fine but '''it's best not to scan for zeros''' (use ''Unknown initial value'' for the first scan).
  
 
==== Step 1 ====
 
==== Step 1 ====
Line 26: Line 29:
 
On the Cheat Engine form in the value text box '''enter the current score''' and '''click ''first scan'''''.
 
On the Cheat Engine form in the value text box '''enter the current score''' and '''click ''first scan'''''.
  
[[File:CEForm.FindValue.score.1.png]]
+
[[File:CEForm.FindValue.score.1.png|border]]
  
 
You should see a list of values.
 
You should see a list of values.
Line 35: Line 38:
 
'''Reenter the current score''' and '''click ''next scan'''''.
 
'''Reenter the current score''' and '''click ''next scan'''''.
  
[[File:CEForm.FindValue.score.03.png]]
+
[[File:CEForm.FindValue.score.03.png|border]]
 +
 
 +
:Note: You won't always get just 1 address.
 +
 
 +
:Edit by ElvisDepressedly: I have discovered that instead of searching for the value. after your initial search, lets say '13', select scan type and increased value by or decreased value by, followed by the amount will locate that specific address very quickly. So, instead of searching for 13, 17, 21, 29, etc. If you search for 13, increased value by 4, increased value by 5, et cetera, you find the address you are looking for faster so you don't have to search as long.
  
 
==== Step 4 ====
 
==== Step 4 ====
 
And you would do this, scanning for increased values and letting it decrease to scan for that value,  
 
And you would do this, scanning for increased values and letting it decrease to scan for that value,  
 
until a value or list of values that looks right is captured.
 
until a value or list of values that looks right is captured.
 +
:Note: To confirm a value; change it and/or freeze it, and see if it has an effect in the game.
  
 
==== Step 5 ====
 
==== Step 5 ====
Line 48: Line 56:
 
You should now have 5000 as a score.
 
You should now have 5000 as a score.
  
[[File:CEForm.FindValue.score.04.png]]
+
[[File:CEForm.FindValue.score.04.png|border]]
 
 
  
 
=== Basic Timer ===
 
=== Basic Timer ===
Line 58: Line 65:
 
So '''click ''new scan''''', then '''enter the current timers value''' and '''click ''first scan'''''.
 
So '''click ''new scan''''', then '''enter the current timers value''' and '''click ''first scan'''''.
  
Tip: Enter a value just above the timers value and wait for it to hit that value to scan.
+
:Tip: Click the ''' ''Advanced Options'' ''' to open the form and have a ''' ''Pause (process)'' ''' button.
 +
 
 +
:Tip: Enter a value just above the timers value and wait for it to hit that value to scan.
  
 
==== Step 2 ====
 
==== Step 2 ====
Line 68: Line 77:
 
When you have the address in the address list you can click the box to freeze the address.
 
When you have the address in the address list you can click the box to freeze the address.
  
[[File:CEForm.FindValue.basicTimer.01.png]]
+
:Note: You won't always get just 1 address.
 +
 
 +
[[File:CEForm.FindValue.basicTimer.01.png|border]]
  
 
Note that the timer still shows '1' as a value, to change that we would need to use code injection.
 
Note that the timer still shows '1' as a value, to change that we would need to use code injection.
  
See: [[Tutorials:Auto_Assembler:Injection|Code Injection]]
+
See: [[Tutorials:Auto_Assembler:Injection_basic|Code Injection Basic]]
 
 
  
 
== See also ==
 
== See also ==
 
* [[Tutorials]]
 
* [[Tutorials]]
 
=== Related Tutorials ===
 
* [[Tutorials:AttachToProcess|Attach to a process]]
 
* [[Tutorials:Finding values:Floats|Finding values - Floats]]
 
* [[Tutorials:Auto_Assembler:Injection|Code Injection]]
 

Latest revision as of 03:19, 23 April 2019


The most basic thing to do with Cheat Engine is to find Values to change or freeze.

So let's go over how to find some integer values.

Any game will work but I will be using Windows Solitaire. And Windows Solitaire is a good game for integers.

If unsure how to attach to the process see: How to attach to a process


Integers[edit]

Integer
Integers are whole numbers, or numbers that are not fractions.

wikipedia.org/wiki/Integer


Score[edit]

Lets start with the score. If you play or have played a round then you know that the visible score is an integer, that it's increased by moves and decreased with time, and starts at zero.

Now in this small game scanning for zero should be fine but it's best not to scan for zeros (use Unknown initial value for the first scan).

Step 1[edit]

So make some moves to increase the score, I got 5 points (watch the score so you are scanning for the correct value).

On the Cheat Engine form in the value text box enter the current score and click first scan.

CEForm.FindValue.score.1.png

You should see a list of values.

Step 3[edit]

Again make some moves to increase the score, I got 13 points.

Reenter the current score and click next scan.

CEForm.FindValue.score.03.png

Note: You won't always get just 1 address.
Edit by ElvisDepressedly: I have discovered that instead of searching for the value. after your initial search, lets say '13', select scan type and increased value by or decreased value by, followed by the amount will locate that specific address very quickly. So, instead of searching for 13, 17, 21, 29, etc. If you search for 13, increased value by 4, increased value by 5, et cetera, you find the address you are looking for faster so you don't have to search as long.

Step 4[edit]

And you would do this, scanning for increased values and letting it decrease to scan for that value, until a value or list of values that looks right is captured.

Note: To confirm a value; change it and/or freeze it, and see if it has an effect in the game.

Step 5[edit]

So now that you have an address double click it in the found list, and it should create a memory record in the address list of the cheat table.

Double click the value to change it and enter 5000. You should now have 5000 as a score.

CEForm.FindValue.score.04.png

Basic Timer[edit]

We know that the visible timer is an integer, which isn't common but it's a good timer to start with, and it increases by one about every second.

Step 1[edit]

So click new scan, then enter the current timers value and click first scan.

Tip: Click the Advanced Options to open the form and have a Pause (process) button.
Tip: Enter a value just above the timers value and wait for it to hit that value to scan.

Step 2[edit]

Then reenter the current timers value and click next scan.

Keep doing this like with the score until a value is found.

Freezing Values[edit]

When you have the address in the address list you can click the box to freeze the address.

Note: You won't always get just 1 address.

CEForm.FindValue.basicTimer.01.png

Note that the timer still shows '1' as a value, to change that we would need to use code injection.

See: Code Injection Basic

See also[edit]