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 


When Does the Sanity Check Stop in Scripts?

 
Post new topic   Reply to topic    Cheat Engine Forum Index -> Cheat Engine
View previous topic :: View next topic  
Author Message
akumakuja28
Master Cheater
Reputation: 16

Joined: 28 Jun 2015
Posts: 432

PostPosted: Sat Feb 06, 2016 4:25 pm    Post subject: When Does the Sanity Check Stop in Scripts? Reply with quote

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
View user's profile Send private message
mgr.inz.Player
I post too much
Reputation: 218

Joined: 07 Nov 2008
Posts: 4438
Location: W kraju nad Wisla. UTC+01:00

PostPosted: Sat Feb 06, 2016 5:38 pm    Post subject: Reply with quote

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
View user's profile Send private message MSN Messenger
akumakuja28
Master Cheater
Reputation: 16

Joined: 28 Jun 2015
Posts: 432

PostPosted: Sat Feb 06, 2016 6:02 pm    Post subject: Reply with quote

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
View user's profile Send private message
mgr.inz.Player
I post too much
Reputation: 218

Joined: 07 Nov 2008
Posts: 4438
Location: W kraju nad Wisla. UTC+01:00

PostPosted: Sat Feb 06, 2016 6:08 pm    Post subject: Reply with quote

The same in CE6.4 ?
_________________
Back to top
View user's profile Send private message MSN Messenger
akumakuja28
Master Cheater
Reputation: 16

Joined: 28 Jun 2015
Posts: 432

PostPosted: Sat Feb 06, 2016 6:26 pm    Post subject: Reply with quote

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
View user's profile Send private message
mgr.inz.Player
I post too much
Reputation: 218

Joined: 07 Nov 2008
Posts: 4438
Location: W kraju nad Wisla. UTC+01:00

PostPosted: Sat Feb 06, 2016 6:51 pm    Post subject: Reply with quote

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
View user's profile Send private message MSN Messenger
akumakuja28
Master Cheater
Reputation: 16

Joined: 28 Jun 2015
Posts: 432

PostPosted: Sat Feb 06, 2016 7:07 pm    Post subject: Reply with quote

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
View user's profile Send private message
++METHOS
I post too much
Reputation: 92

Joined: 29 Oct 2010
Posts: 4197

PostPosted: Sat Feb 06, 2016 7:12 pm    Post subject: Reply with quote

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
View user's profile Send private message
mgr.inz.Player
I post too much
Reputation: 218

Joined: 07 Nov 2008
Posts: 4438
Location: W kraju nad Wisla. UTC+01:00

PostPosted: Sat Feb 06, 2016 7:25 pm    Post subject: Reply with quote

@++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)



disableGetPotentialLabels.lua
 Description:

Download
 Filename:  disableGetPotentialLabels.lua
 Filesize:  310 Bytes
 Downloaded:  230 Time(s)


_________________
Back to top
View user's profile Send private message MSN Messenger
akumakuja28
Master Cheater
Reputation: 16

Joined: 28 Jun 2015
Posts: 432

PostPosted: Sat Feb 06, 2016 8:11 pm    Post subject: Reply with quote

Wow thanks Ill make sure to grab that once I get home.

Thanks again for all input.

_________________
Back to top
View user's profile Send private message
Dark Byte
Site Admin
Reputation: 458

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

PostPosted: Sun Feb 07, 2016 1:26 pm    Post subject: Reply with quote

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
View user's profile Send private message MSN Messenger
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