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 


Run CE 6.6 cheat table using CE 6.4 or earlier version

 
Post new topic   Reply to topic    Cheat Engine Forum Index -> Cheat Engine
View previous topic :: View next topic  
Author Message
Corroder
Grandmaster Cheater Supreme
Reputation: 75

Joined: 10 Apr 2015
Posts: 1668

PostPosted: Sun Jan 29, 2017 8:29 pm    Post subject: Run CE 6.6 cheat table using CE 6.4 or earlier version Reply with quote

There is no other way to run CE 6.6 cheat table / trainer by using CE 6.4, except by editing the script cheat table ?
Back to top
View user's profile Send private message
atom0s
Moderator
Reputation: 205

Joined: 25 Jan 2006
Posts: 8587
Location: 127.0.0.1

PostPosted: Sun Jan 29, 2017 9:15 pm    Post subject: Reply with quote

You could also alter CE to prevent it from not loading newer tables. Try and locate within Cheat Engine the following check:

Code:
https://github.com/cheat-engine/cheat-engine/blob/master/Cheat%20Engine/OpenSave.pas#L375


Adjust the check to allow older files. Just keep in mind newer features in cheat tables will land up causing issues or crashes.

_________________
- Retired.
Back to top
View user's profile Send private message Visit poster's website
++METHOS
I post too much
Reputation: 92

Joined: 29 Oct 2010
Posts: 4197

PostPosted: Sun Jan 29, 2017 9:29 pm    Post subject: Reply with quote

You can alter the table or CE itself. Whether you do that manually or automatically with a script/patch is up to you. If you're the one creating the trainer, you can generate using the 'gigantic' option.
Back to top
View user's profile Send private message
Corroder
Grandmaster Cheater Supreme
Reputation: 75

Joined: 10 Apr 2015
Posts: 1668

PostPosted: Sun Jan 29, 2017 11:36 pm    Post subject: Reply with quote

Thanks atom0s and ++METHOS,

the link bring to view and get 'OpenSave.pas', as part of cheat engine source script. But I don't plan to make my own version of cheat engine, beside I don't know about Lazarus / free pascal scripting. I've checked in main.lua and only found "getCurrentCEversion".

My question as in topic, because when i made a CE Trainer and share to some friends, some of them have complain in case they can't run the trainer with older CE version (lower than CE 6.6).

But the way, I've tried to save my cheat table (by CE 6.6) as gigantic stand alone exe file, uninstall CE 6.6, install CE 6.4 and run the exe trainer, it work with no issue.

So, this is my solution for now, anyhow may I suggest to DB to adding "Allow old CE version" in CE Setting for next CE update.

Regards...
Back to top
View user's profile Send private message
STN
I post too much
Reputation: 43

Joined: 09 Nov 2005
Posts: 2676

PostPosted: Sun Jan 29, 2017 11:55 pm    Post subject: Reply with quote

The problem with that is new features might cause issues or crashes.

There is also no reason to keep using older CE versions, the upgrade is free.

_________________
Cheat Requests/Tables- Fearless Cheat Engine
https://fearlessrevolution.com
Back to top
View user's profile Send private message
Corroder
Grandmaster Cheater Supreme
Reputation: 75

Joined: 10 Apr 2015
Posts: 1668

PostPosted: Mon Jan 30, 2017 12:31 am    Post subject: Reply with quote

You are right STN, no reason to keep using older CE versions.
Back to top
View user's profile Send private message
atom0s
Moderator
Reputation: 205

Joined: 25 Jan 2006
Posts: 8587
Location: 127.0.0.1

PostPosted: Mon Jan 30, 2017 9:53 pm    Post subject: Reply with quote

Corroder wrote:
Thanks atom0s and ++METHOS,

the link bring to view and get 'OpenSave.pas', as part of cheat engine source script. But I don't plan to make my own version of cheat engine, beside I don't know about Lazarus / free pascal scripting. I've checked in main.lua and only found "getCurrentCEversion".

My question as in topic, because when i made a CE Trainer and share to some friends, some of them have complain in case they can't run the trainer with older CE version (lower than CE 6.6).

But the way, I've tried to save my cheat table (by CE 6.6) as gigantic stand alone exe file, uninstall CE 6.6, install CE 6.4 and run the exe trainer, it work with no issue.

So, this is my solution for now, anyhow may I suggest to DB to adding "Allow old CE version" in CE Setting for next CE update.

Regards...


The link I gave was not with the intention of you making your own version of CE. It was showing you the code that is handling the check for version differences and what to look for while debugging to bypass the check.

_________________
- Retired.
Back to top
View user's profile Send private message Visit poster's website
++METHOS
I post too much
Reputation: 92

Joined: 29 Oct 2010
Posts: 4197

PostPosted: Mon Jan 30, 2017 10:40 pm    Post subject: Reply with quote

Here is a table for both x86 and x64 versions of CE. This was tested on CE 6.2. Anyway, if you decide to make a patch, this should get you started. I have not thoroughly tested this and it really is not a good way to patch this, but it's a quick job. It may not work across other versions.


cheatengine table bypass.CT
 Description:

Download
 Filename:  cheatengine table bypass.CT
 Filesize:  2.04 KB
 Downloaded:  588 Time(s)

Back to top
View user's profile Send private message
Corroder
Grandmaster Cheater Supreme
Reputation: 75

Joined: 10 Apr 2015
Posts: 1668

PostPosted: Tue Jan 31, 2017 4:40 am    Post subject: Reply with quote

atom0s,

Quote:
The link I gave was not with the intention of you making your own version of CE. It was showing you the code that is handling the check for version differences and what to look for while debugging to bypass the check.


I got the point and thank to make me clearly understood which part of the script that handling CE version.
I guess most cases that given errors while executing cheat table made use CE version lower than 6.6 because different lua syntax 5.1 vs 5.3 and to fix the errors, need to writing syntax properly as how use in lua 5.3.

++METHOS, thank for file, i will try it later. Because I am not installing other CE version except version 6.6 on my machine right now. I am use CE 6.6 custom build 16.10.31 by mgr.

Regards
Back to top
View user's profile Send private message
++METHOS
I post too much
Reputation: 92

Joined: 29 Oct 2010
Posts: 4197

PostPosted: Tue Jan 31, 2017 1:07 pm    Post subject: Reply with quote

Yes, real problems mostly arise when dealing with tables that have LUA in them, due to version differences. You can bypass this check to be able to keep the table open, but as previously stated, you run the risk of additional errors/crashing.
Back to top
View user's profile Send private message
mgr.inz.Player
I post too much
Reputation: 222

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

PostPosted: Tue Jan 31, 2017 4:20 pm    Post subject: Reply with quote

The most common problem is: people were using some old things.
Old even for Lua5.1. For example table.setn, table.getn and gfind ( https://www.lua.org/manual/5.1/manual.html#7.2 )

The most common problem for me was:
Quote:
The main difference between Lua 5.2 and Lua 5.3 is the introduction of an integer subtype for numbers. Although this change should not affect "normal" computations, some computations (mainly those that involve some kind of overflow) can give different results.

The conversion of a float to a string now adds a .0 suffix to the result if it looks like an integer. (For instance, the float 2.0 will be printed as 2.0, not as 2.) You should always use an explicit format when you need a specific format for numbers.

(Formally this is not an incompatibility, because Lua does not specify how numbers are formatted as strings, but some programs assumed a specific format.)

_________________
Back to top
View user's profile Send private message MSN Messenger
Corroder
Grandmaster Cheater Supreme
Reputation: 75

Joined: 10 Apr 2015
Posts: 1668

PostPosted: Tue Jan 31, 2017 6:56 pm    Post subject: Reply with quote

Right, mgr.

So, sometime we need to change global name space to adaptation lua command, example :

Code:
gfind = string.gmatch

s = "hello world from Lua"
for w in gfind(s, "%a+") do
    print(w)
end

-- [[
hello
world
from
Lua
]]


local t={}
for matchedValue in gfind("alphabet and numbers 1234-4321", "a") do -- Search for a in that string
    table.insert(t, matchedValue)
end
print("The letter a was found " .. #t.." times.")

-- The letter a was found 3 times.


from samples above, we able to apply for lua script written use lua 5.1 / 5,2, I mean rather than having to replace one by one each of "lua command" that is incompatible with latest version of lua, more effective and are very helpful especially for long lua script. Right ?
Back to top
View user's profile Send private message
mgr.inz.Player
I post too much
Reputation: 222

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

PostPosted: Wed Feb 01, 2017 3:56 am    Post subject: Reply with quote

CE 6.5.1 and CE6.6 has already many backward compatibility fixes:
Link:
Code:
      //5.2 backward compatibility:
      s.add('math.log10=function(v) return math.log(v,10) end');
      s.add('loadstring=load');
      s.add('unpack=table.unpack');
      s.add('package.loaders=package.searchers');

      //5.3 backward compatibility:
      s.add('math.pow=function(x,y) return x^y end');
      s.add('math.atan2=math.atan');
      s.add('math.ldexp=function(x,exp) return x * 2.0^exp end');
      s.add('math.mod=math.fmod');
      s.add('string.gfind=string.gmatch');

      (...)

      lua_getglobal(luavm, 'math');
      i:=lua_gettop(luavm);

      lua_pushstring(luavm, 'frexp');
      lua_pushcfunction(luavm, lua_frexp);
      lua_settable(luavm,i);

      lua_pushstring(luavm, 'cosh');
      lua_pushcfunction(luavm, lua_cosh);
      lua_settable(luavm,i);

      lua_pushstring(luavm, 'sinh');
      lua_pushcfunction(luavm, lua_sinh);
      lua_settable(luavm,i);

      lua_pushstring(luavm, 'tanh');
      lua_pushcfunction(luavm, lua_tanh);
      lua_settable(luavm,i);


Almost all of them were added two years ago. string.gfind=string.gmatch 11 months ago.


math.mod=math.fmod 14 days ago. So, official CE6.6 doesn't have this one. Only newest custom builds.

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

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

PostPosted: Wed Feb 01, 2017 4:02 am    Post subject: Reply with quote

just add this to your autorun folder in 6.6
Code:

string.gfind=string.gmatch
math.mod=math.fmod

_________________
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
Corroder
Grandmaster Cheater Supreme
Reputation: 75

Joined: 10 Apr 2015
Posts: 1668

PostPosted: Wed Feb 01, 2017 6:21 am    Post subject: Reply with quote

Okay, thank to all of you, for information's and support.
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