View previous topic :: View next topic |
Author |
Message |
Corroder Grandmaster Cheater Supreme
Reputation: 75
Joined: 10 Apr 2015 Posts: 1668
|
Posted: Sun Jan 29, 2017 8:29 pm Post subject: Run CE 6.6 cheat table using CE 6.4 or earlier version |
|
|
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 |
|
 |
atom0s Moderator
Reputation: 205
Joined: 25 Jan 2006 Posts: 8587 Location: 127.0.0.1
|
Posted: Sun Jan 29, 2017 9:15 pm Post subject: |
|
|
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 |
|
 |
++METHOS I post too much
Reputation: 92
Joined: 29 Oct 2010 Posts: 4197
|
Posted: Sun Jan 29, 2017 9:29 pm Post subject: |
|
|
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 |
|
 |
Corroder Grandmaster Cheater Supreme
Reputation: 75
Joined: 10 Apr 2015 Posts: 1668
|
Posted: Sun Jan 29, 2017 11:36 pm Post subject: |
|
|
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 |
|
 |
STN I post too much
Reputation: 43
Joined: 09 Nov 2005 Posts: 2676
|
Posted: Sun Jan 29, 2017 11:55 pm Post subject: |
|
|
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.
_________________
|
|
Back to top |
|
 |
Corroder Grandmaster Cheater Supreme
Reputation: 75
Joined: 10 Apr 2015 Posts: 1668
|
Posted: Mon Jan 30, 2017 12:31 am Post subject: |
|
|
You are right STN, no reason to keep using older CE versions.
|
|
Back to top |
|
 |
atom0s Moderator
Reputation: 205
Joined: 25 Jan 2006 Posts: 8587 Location: 127.0.0.1
|
Posted: Mon Jan 30, 2017 9:53 pm Post subject: |
|
|
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 |
|
 |
++METHOS I post too much
Reputation: 92
Joined: 29 Oct 2010 Posts: 4197
|
Posted: Mon Jan 30, 2017 10:40 pm Post subject: |
|
|
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.
Description: |
|
 Download |
Filename: |
cheatengine table bypass.CT |
Filesize: |
2.04 KB |
Downloaded: |
588 Time(s) |
|
|
Back to top |
|
 |
Corroder Grandmaster Cheater Supreme
Reputation: 75
Joined: 10 Apr 2015 Posts: 1668
|
Posted: Tue Jan 31, 2017 4:40 am Post subject: |
|
|
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 |
|
 |
++METHOS I post too much
Reputation: 92
Joined: 29 Oct 2010 Posts: 4197
|
Posted: Tue Jan 31, 2017 1:07 pm Post subject: |
|
|
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 |
|
 |
mgr.inz.Player I post too much
Reputation: 222
Joined: 07 Nov 2008 Posts: 4438 Location: W kraju nad Wisla. UTC+01:00
|
Posted: Tue Jan 31, 2017 4:20 pm Post subject: |
|
|
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 |
|
 |
Corroder Grandmaster Cheater Supreme
Reputation: 75
Joined: 10 Apr 2015 Posts: 1668
|
Posted: Tue Jan 31, 2017 6:56 pm Post subject: |
|
|
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 |
|
 |
mgr.inz.Player I post too much
Reputation: 222
Joined: 07 Nov 2008 Posts: 4438 Location: W kraju nad Wisla. UTC+01:00
|
Posted: Wed Feb 01, 2017 3:56 am Post subject: |
|
|
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 |
|
 |
Dark Byte Site Admin
Reputation: 470
Joined: 09 May 2003 Posts: 25806 Location: The netherlands
|
Posted: Wed Feb 01, 2017 4:02 am Post subject: |
|
|
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 |
|
 |
Corroder Grandmaster Cheater Supreme
Reputation: 75
Joined: 10 Apr 2015 Posts: 1668
|
Posted: Wed Feb 01, 2017 6:21 am Post subject: |
|
|
Okay, thank to all of you, for information's and support.
|
|
Back to top |
|
 |
|