| 
			
				|  | Cheat Engine The Official Site of Cheat Engine
 
 
 |  
 
	
		| View previous topic :: View next topic |  
		| Author | Message |  
		| SwaggaJackin' Master Cheater
 
  Reputation: 2 
 Joined: 06 Nov 2009
 Posts: 304
 
 
 | 
			
				|  Posted: Wed Jul 21, 2010 5:41 pm    Post subject: Conditional if statement? |   |  
				| 
 |  
				| I've been playing more and more with the auto assembler and I'm not too familiar with assembler in general but still learning. 
 I have an address that changes values according to the button being pressed.  I want to change another address when a particular button is pressed and I'm not sure how to go about doing this in the auto assembler.
 
 So basically, I want to monitor the value at address A and when address A holds a specific value, I want to change the value at address B.
 
 I imagine it will be using a CMP and JE instruction.  Just not sure how to piece it together.  Thanks.
 
 P.S. A hotkey will not be more efficient in this situation before someone suggests that.
 |  |  
		| Back to top |  |  
		|  |  
		| XaLeX Expert Cheater
 
 ![]() Reputation: 0 
 Joined: 19 Aug 2008
 Posts: 226
 
 
 | 
			
				|  Posted: Wed Jul 21, 2010 6:07 pm    Post subject: |   |  
				| 
 |  
				| If I understood, 
 C-like pseudocode:
 
  	  | Code: |  	  | int *A = read_address,
 *B = write_address;
 
 if(*A == aSpecificValue)
 *B = something;
 
 | 
 
 so, in ASM:
 
  	  | Code: |  	  | //eax is the address you're reading, ebx the one you're writing to
 cmp [eax], aSpecificValue
 jne after
 mov [ebx],something
 after:
 
 | 
 
 the jne just skips the third line if the value is not the one you're looking for.
 |  |  
		| Back to top |  |  
		|  |  
		| Freiza Grandmaster Cheater
 
  Reputation: 22 
 Joined: 28 Jun 2010
 Posts: 662
 
 
 |  |  
		| Back to top |  |  
		|  |  
		| Faxonation Cheater
 
 ![]() Reputation: 0 
 Joined: 18 Oct 2014
 Posts: 25
 
 
 | 
			
				|  Posted: Mon Sep 14, 2015 7:24 pm    Post subject: I have the same issue |   |  
				| 
 |  
				| I would like to know how to make this work 
 When this address 12B81548 has the value of 1,2,3,4 or 5
 
 I want the value of these addresses
 
 
 
 Address:     Starting Value
 11F9B8D4: 14642864 change to this value 4294967295
 12882354: 24524640 change to this value 4294967295
 129D2FA4: 25354864 change to this value 4294967295
 129C7F14: 17747056 change to this value 4294967295
 11F690D4: 25341312 change to this value 4294967295
 12B297C4: 22708128 change to this value 4294967295
 127599D4: 21844512 change to this value 4294967295
 11FB04E4: 14799024 change to this value 4294967295
 119C2784: 32426208 change to this value 4294967295
 12A7C784: 26650400 change to this value 4294967295
 1278A2A4: 25881776 change to this value 4294967295
 12A8D634: 25287040 change to this value 4294967295
 12840B34: 25000800 change to this value 4294967295
 1277C1C4: 24423632 change to this value 4294967295
 122D7E84: 23956064 change to this value 4294967295
 127BFDC4: 22801696 change to this value 4294967295
 12727EB4: 22557056 change to this value 4294967295
 1194DFC4: 21479168 change to this value 4294967295
 127B8C14: 17732800 change to this value 4294967295
 1213EB44: 17081936 change to this value 4294967295
 1280C0A4: 15161040 change to this value 4294967295
 12894BE4: 14555504 change to this value 4294967295
 122D7B94: 8755248   change to this value 4294967295
 
 then when this address 12B8152C has a value of 0
 Wait 2 seconds then values change back to the starting values
 
 If anyone knows how to write this please let me know
 |  |  
		| Back to top |  |  
		|  |  
		| Snow1337 Catastrophic Cheatah
 
  Reputation: 1 
 Joined: 12 Oct 2004
 Posts: 183
 Location: Your, Computer
 
 | 
			
				|  Posted: Mon Sep 14, 2015 8:59 pm    Post subject: Re: I have the same issue |   |  
				| 
 |  
				|  	  | Faxonation wrote: |  	  | I would like to know how to make this work 
 When this address 12B81548 has the value of 1,2,3,4 or 5
 
 I want the value of these addresses
 
 
 
 Address:     Starting Value
 11F9B8D4: 14642864 change to this value 4294967295
 12882354: 24524640 change to this value 4294967295
 129D2FA4: 25354864 change to this value 4294967295
 129C7F14: 17747056 change to this value 4294967295
 11F690D4: 25341312 change to this value 4294967295
 12B297C4: 22708128 change to this value 4294967295
 127599D4: 21844512 change to this value 4294967295
 11FB04E4: 14799024 change to this value 4294967295
 119C2784: 32426208 change to this value 4294967295
 12A7C784: 26650400 change to this value 4294967295
 1278A2A4: 25881776 change to this value 4294967295
 12A8D634: 25287040 change to this value 4294967295
 12840B34: 25000800 change to this value 4294967295
 1277C1C4: 24423632 change to this value 4294967295
 122D7E84: 23956064 change to this value 4294967295
 127BFDC4: 22801696 change to this value 4294967295
 12727EB4: 22557056 change to this value 4294967295
 1194DFC4: 21479168 change to this value 4294967295
 127B8C14: 17732800 change to this value 4294967295
 1213EB44: 17081936 change to this value 4294967295
 1280C0A4: 15161040 change to this value 4294967295
 12894BE4: 14555504 change to this value 4294967295
 122D7B94: 8755248   change to this value 4294967295
 
 then when this address 12B8152C has a value of 0
 Wait 2 seconds then values change back to the starting values
 
 If anyone knows how to write this please let me know
 | 
 
 
 [/code] 	  | Code: |  	  | [ENABLE] //code from here to '[DISABLE]' will be used to enable the cheat
 
 alloc(newmem,2048) //2kb should be enough
 label(returnhere)
 label(originalcode)
 label(changecode)
 label(exit)
 
 Game.exe+12345678:
 jmp newmem
 returnhere:
 pop eax
 newmem:
 mov eax, [12B81548]
 cmp eax, 01
 je changecode
 jne after
 cmp eax, 02
 je changecode
 jne after
 cmp eax, 03
 je changecode
 jne after
 cmp eax, 04
 je changecode
 jne after
 cmp eax, 05
 je changecode
 jne newmem
 changecode:
 mov esi, [11F9B8D4]
 mov ebx, ff ff ff ff
 mov esi, ebx
 pop esi
 mov esi, [12882354]
 mov esi, ebx
 pop esi
 etc. etc.
 
 
 
 
 
 
 
 originalcode:
 mov [esi+00000146],eax (guess)
 
 exit:
 jmp returnhere
 
 
 [DISABLE]
 //code from here till the end of the code will be used to disable the cheat
 dealloc(newmem) //free memory
 
 Game.exe+12345678:
 | 
 _________________
 
 |  |  
		| Back to top |  |  
		|  |  
		|  |  
  
	| 
 
 | 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
 
 |  |