View previous topic :: View next topic |
Author |
Message |
akumakuja28 Master Cheater Reputation: 16
Joined: 28 Jun 2015 Posts: 432
|
Posted: Sat Feb 06, 2016 4:25 pm Post subject: When Does the Sanity Check Stop in Scripts? |
|
|
Ok so i have wrote in several scripts that are by all accounts huge. I Notice the cheat engines sanity check for label alloc registersymbol breaks after a certain amount of lines.
Is thr an explanation or..?
_________________
|
|
Back to top |
|
|
mgr.inz.Player I post too much Reputation: 218
Joined: 07 Nov 2008 Posts: 4438 Location: W kraju nad Wisla. UTC+01:00
|
Posted: Sat Feb 06, 2016 5:38 pm Post subject: |
|
|
New CE6.5 has "find potential labels" feature. It can hide some problems.
Try opening existing CT file with older CE version (CE6.4).
_________________
|
|
Back to top |
|
|
akumakuja28 Master Cheater Reputation: 16
Joined: 28 Jun 2015 Posts: 432
|
Posted: Sat Feb 06, 2016 6:02 pm Post subject: |
|
|
Its not about finding potential lables. When you click ok to edit the script if thr is large amount of lines in script cheat engine stops doing its default check for labels and symbols.
_________________
|
|
Back to top |
|
|
mgr.inz.Player I post too much Reputation: 218
Joined: 07 Nov 2008 Posts: 4438 Location: W kraju nad Wisla. UTC+01:00
|
Posted: Sat Feb 06, 2016 6:08 pm Post subject: |
|
|
The same in CE6.4 ?
_________________
|
|
Back to top |
|
|
akumakuja28 Master Cheater Reputation: 16
Joined: 28 Jun 2015 Posts: 432
|
Posted: Sat Feb 06, 2016 6:26 pm Post subject: |
|
|
Yep still in 6.4.
If you have grabbed my last contribution on the rise of the tomb raider.
Look in the input mapping script in supa fly cam.
Remove the "slow_down" label and cheat engine will still allow edit. No error will occur as it normally does in smaller scripts.
|
|
Back to top |
|
|
mgr.inz.Player I post too much Reputation: 218
Joined: 07 Nov 2008 Posts: 4438 Location: W kraju nad Wisla. UTC+01:00
|
Posted: Sat Feb 06, 2016 6:51 pm Post subject: |
|
|
In CE6.4 (from 26.06.2014) when I remove this line:
label(Slow_Input)
I get "error in line 127", this line:
je Slow_Input
So, everything is good.
_________________
|
|
Back to top |
|
|
akumakuja28 Master Cheater Reputation: 16
Joined: 28 Jun 2015 Posts: 432
|
Posted: Sat Feb 06, 2016 7:07 pm Post subject: |
|
|
Well thank for your time. Idk whats going on. When I was writing this script I missed that slow_down label and couldnt for the life of me figure why the compare wasnt working. Script was activated and everything else was in order. This scenario has randomly happened in other scripts too. Thanks again tho.
But I cant reproduce it consistently so..
_________________
|
|
Back to top |
|
|
++METHOS I post too much Reputation: 92
Joined: 29 Oct 2010 Posts: 4197
|
Posted: Sat Feb 06, 2016 7:12 pm Post subject: |
|
|
The newer versions of CE implement an auto-correct feature that tries to dummy-proof erroneous scripts where a label might be wrong etc..
I had a huge script that kept crashing the target process, randomly, and I couldn't figure out why. After thoroughly analyzing the script, I found the stupid typo that was causing the problem. It hasn't crashed since.
|
|
Back to top |
|
|
mgr.inz.Player I post too much Reputation: 218
Joined: 07 Nov 2008 Posts: 4438 Location: W kraju nad Wisla. UTC+01:00
|
Posted: Sat Feb 06, 2016 7:25 pm Post subject: |
|
|
@++METHOS
++METHOS wrote: | The newer versions of CE implement an auto-correct feature that tries to dummy-proof erroneous scripts where a label might be wrong etc. |
It just updates this:
Code: | alloc(newmem)
label(return)
newmem:
code:
...
...
...
jmp return
address:
jmp code
nop
nop
return: |
into this:
Code: | label(code) // treat 'code' as a label
alloc(newmem)
label(return)
newmem:
code:
...
...
...
jmp return
address:
jmp code
nop
nop
return: |
@akumakuja28
As I said earlier, it is "find potential labels" feature.
A nice feature, but, sometimes it gets in the way. We can not disable it with CE settings.
I think I can make Lua autorun script which disables it.
Edit:
Disable GetPotentialLabels for 32&64bit CE6.5 from 10 I 2016:
Code: | autoAssemble([[define(address,"cheatengine-x86_64.exe"+B00F1)
define(bytes,E8 9A C7 FF FF)
assert(address,bytes)
address:
db 90 90 90 90 90]],true)
autoAssemble([[define(address,"cheatengine-i386.exe"+90EEA)
define(bytes,E8 41 D6 FF FF)
assert(address,bytes)
address:
db 90 90 90 90 90]],true)
|
Description: |
|
Download |
Filename: |
disableGetPotentialLabels.lua |
Filesize: |
310 Bytes |
Downloaded: |
230 Time(s) |
_________________
|
|
Back to top |
|
|
akumakuja28 Master Cheater Reputation: 16
Joined: 28 Jun 2015 Posts: 432
|
Posted: Sat Feb 06, 2016 8:11 pm Post subject: |
|
|
Wow thanks Ill make sure to grab that once I get home.
Thanks again for all input.
_________________
|
|
Back to top |
|
|
Dark Byte Site Admin Reputation: 458
Joined: 09 May 2003 Posts: 25291 Location: The netherlands
|
Posted: Sun Feb 07, 2016 1:26 pm Post subject: |
|
|
Just keep in mind that it will cause certain scripts to fail that are valid in 6.5 (some people do bring out tables that make use of this feature)
e.g:
Code: |
alloc(newmem,2048)
newmem:
cmp eax,#50
ja newmem_orig
mov [ebx+00000480],#100
jmp returnhere
newmem_orig:
mov [ebx+00000480],eax
jmp returnhere
"Tutorial-i386.exe"+23920:
jmp newmem
nop
returnhere:
|
label declarations are still recommended but you don't HAVE to use them. (But do watch with labelnames, as symbols take precedence over undeclared labels. Like "Exit" )
_________________
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 |
|
|
|