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 


Grouped AA script not activating when one aob fails

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

Joined: 02 Nov 2014
Posts: 26

PostPosted: Sat Dec 12, 2015 11:42 am    Post subject: Grouped AA script not activating when one aob fails Reply with quote

I am having trouble getting multiple Aobscans within a single auto assemble script to activate. At first, I was trying to activate the checkbox of the AA entry within the Cheat table, then I encountered a long delay (while it tries to find 5 aob patterns).

However, after waiting for it to finish (and for me to get control back to the Cheat Engine user interface), the checkbox remained unchecked, as if it failed or something.

I proceeded to try activating the 5 aobscans as separate scripts, and they were quickly found, except for the 3rd aobscan. I found that aobscan #3 had incorrect bytes it was looking for and a fix to that allowed it to find the address that the aob pattern matches.


Instead of individually checking which aobscan has an error, is there a way that the AA script with combined aobscan operations can still activate, even if one aobscan pattern cannot be found? Like, some sort of error catching? I would like the rest of the aobscans to activate and not be disabled just because one aobscan failed.

Is this possible to do?
Back to top
View user's profile Send private message
Zanzer
I post too much
Reputation: 126

Joined: 09 Jun 2013
Posts: 3278

PostPosted: Sat Dec 12, 2015 12:42 pm    Post subject: Reply with quote

Use Lua to execute the AA or simply create a Header entry and put the separated AOBs under it.
The Header has an option to activate all child scripts under it.
Back to top
View user's profile Send private message
Dark Byte
Site Admin
Reputation: 470

Joined: 09 May 2003
Posts: 25807
Location: The netherlands

PostPosted: Sat Dec 12, 2015 12:48 pm    Post subject: Reply with quote

even if i made it so aobscan failing would not be a critical error, code that references that aob label would still end up being a critical error
_________________
Do not ask me about online cheats. I don't know any and wont help finding them.

Like my help? Join me on Patreon so i can keep helping
Back to top
View user's profile Send private message MSN Messenger
tdr2012
Cheater
Reputation: 0

Joined: 02 Nov 2014
Posts: 26

PostPosted: Sat Dec 12, 2015 1:02 pm    Post subject: Reply with quote

Zanzer wrote:
Use Lua to execute the AA or simply create a Header entry and put the separated AOBs under it.
The Header has an option to activate all child scripts under it.

So, I put all of the aobs under a header entry and set it to activate all children scripts under it. However, I noticed that it now takes longer to find the same aob patterns separated vs. together in one script. Is this because the aobscan function has to open up and close memory each time the aobscan is called?
Back to top
View user's profile Send private message
++METHOS
I post too much
Reputation: 92

Joined: 29 Oct 2010
Posts: 4197

PostPosted: Sat Dec 12, 2015 1:41 pm    Post subject: Reply with quote

Have you tried using aobscanmodule?
Back to top
View user's profile Send private message
panraven
Grandmaster Cheater
Reputation: 62

Joined: 01 Oct 2008
Posts: 958

PostPosted: Sat Dec 12, 2015 1:57 pm    Post subject: Reply with quote

tdr2012 wrote:
Zanzer wrote:
Use Lua to execute the AA or simply create a Header entry and put the separated AOBs under it.
The Header has an option to activate all child scripts under it.

So, I put all of the aobs under a header entry and set it to activate all children scripts under it. However, I noticed that it now takes longer to find the same aob patterns separated vs. together in one script. Is this because the aobscan function has to open up and close memory each time the aobscan is called?


Yes, AOBScan's aob pattern in same AA Script is grouped, so that only one pass memory is needed, since AA AOBScan return only 1 result, the scan stop as soon as each aob pattern is found once.

btw, to check which aob in the same AA script cause 'not found', may be some lua function capturing the 'aob' pattern in the AA script and scan and report how many match for each pattern can be made.

ADDED:
This a script to help found outdated AOB in AA script of memory record.
The script can be save to disk, if save to autorun directory of ce dir, it will load automatically.
Right-click on Memory Record panel for the menu command.
bye~



01_testaobpattern0.CT
 Description:
save the mraobtest.lua in table file menu into autorun directory for auto load.

Download
 Filename:  01_testaobpattern0.CT
 Filesize:  4.76 KB
 Downloaded:  735 Time(s)


_________________
- Retarded.


Last edited by panraven on Sun Dec 13, 2015 2:11 pm; edited 1 time in total
Back to top
View user's profile Send private message
tdr2012
Cheater
Reputation: 0

Joined: 02 Nov 2014
Posts: 26

PostPosted: Sat Dec 12, 2015 2:49 pm    Post subject: Reply with quote

++METHOS wrote:
Have you tried using aobscanmodule?

I just gave this a try and it didn't give me the result I was looking for. The addresses I am finding exist outside of the module's memory space (I think this is right). It works when I try to search bytes within the modules memory space, though.

It looks like Aobscan is the only one that can do this, if I read the documentation right.

Edit: if it doesn't say "Modulename" or "Modulename+Offset", then that means an address isnt within the module for aobscanmodule to find it?
Back to top
View user's profile Send private message
ParkourPenguin
I post too much
Reputation: 152

Joined: 06 Jul 2014
Posts: 4706

PostPosted: Sat Dec 12, 2015 5:37 pm    Post subject: Reply with quote

tdr2012 wrote:
Edit: if it doesn't say "Modulename" or "Modulename+Offset", then that means an address isnt within the module for aobscanmodule to find it?

Open up the Lua console window (Ctrl + Alt + Shift + L), and paste this in:
print(getNameFromAddress(0x00400000))

... where 00400000 is the address you're trying to look up. If it prints out something like herpderp.exe+10, then it's in the module herpderp.exe. If it just prints out the address again (e.g. 00400000), then it's not in a module.

_________________
I don't know where I'm going, but I'll figure it out when I get there.
Back to top
View user's profile Send private message
++METHOS
I post too much
Reputation: 92

Joined: 29 Oct 2010
Posts: 4197

PostPosted: Sat Dec 12, 2015 8:21 pm    Post subject: Reply with quote

tdr2012 wrote:
Edit: if it doesn't say "Modulename" or "Modulename+Offset", then that means an address isnt within the module for aobscanmodule to find it?
-Did you specify the module address in your script? Even if the data is being stored in a different module, you should be able to specify which module+offset it is. If you can't get the module address, then I believe you will need to use aobscan. Perhaps someone can verify this. Aobscanmodule should expedite script activation considerably, however.
Back to top
View user's profile Send private message
tdr2012
Cheater
Reputation: 0

Joined: 02 Nov 2014
Posts: 26

PostPosted: Sun Dec 13, 2015 10:12 am    Post subject: Reply with quote

++METHOS wrote:
tdr2012 wrote:
Edit: if it doesn't say "Modulename" or "Modulename+Offset", then that means an address isnt within the module for aobscanmodule to find it?
-Did you specify the module address in your script? Even if the data is being stored in a different module, you should be able to specify which module+offset it is. If you can't get the module address, then I believe you will need to use aobscan. Perhaps someone can verify this. Aobscanmodule should expedite script activation considerably, however.

Yes, I was actually hoping I could use Aobscanmodule, because that only scans the memory of the process that's open; much better than reading entire memory.
But, using the method that ParkourPenguin suggested, I tried to get the Name from an address that has the value I want to edit. This is the result I got back:
Code:
print(getNameFromAddress(0x00C7C1D8))

00C7C1D8


So, it seems that the address that has the value I want to edit, isn't tied to a module, like module+offset. I guess this means I can't use Aobscanmodule to find the address, then.

But, I never knew you could use Lua for aobscans as well; I may just end up going that route. I thought aobscans were only for AA scripts, but I'm glad I learned something new.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Cheat Engine Forum Index -> Cheat Engine 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