 |
Cheat Engine The Official Site of Cheat Engine
|
View previous topic :: View next topic |
Author |
Message |
predprey Master Cheater
Reputation: 24
Joined: 08 Oct 2015 Posts: 486
|
|
Back to top |
|
 |
akumakuja28 Master Cheater
Reputation: 16
Joined: 28 Jun 2015 Posts: 432
|
|
Back to top |
|
 |
predprey Master Cheater
Reputation: 24
Joined: 08 Oct 2015 Posts: 486
|
Posted: Tue Feb 28, 2017 4:42 pm Post subject: |
|
|
nice, didn't know that. thanks
|
|
Back to top |
|
 |
OGScrub Newbie cheater
Reputation: 0
Joined: 23 Dec 2014 Posts: 16 Location: Murica'
|
Posted: Sun Mar 05, 2017 11:21 am Post subject: |
|
|
predprey wrote: | 9. Batch Edit Dropdown List
- Details see first post.
Owing to DDLEditor being too cumbersome and poorly received, here's an extension which work in a similar way to Group Config. I recommend using it together with mgr.inz.Player's Extra Memory Record Info to easily check for dropdown lists.
Download |
Are your links meant for me? Cuz I see Hitler in red with big letters? ( ͡° ͜ʖ ͡°)
_________________
I are OG Scrub, Be prepared to see me ask foggy/half answered questions of things I forgot long ago. #noskill #herebenoobz |
|
Back to top |
|
 |
++METHOS I post too much
Reputation: 92
Joined: 29 Oct 2010 Posts: 4197
|
|
Back to top |
|
 |
Merlini Advanced Cheater
Reputation: 2
Joined: 12 Jun 2016 Posts: 53
|
Posted: Sat Apr 08, 2017 2:00 am Post subject: |
|
|
Hey Predprey,
I'm using your external editor (EE) mod whenever I make any script,
and it's working perfectly.
But, in order for me to check if everything is working via CE,
I save my work in my EE, then re-open it in CE editor and press OK.
If there is something wrong, CE will point me to the place where I made
the error, otherwise it'll simply close.
I was wondering if there is a way to bind a shortcut for that process -
i.e. bind say "f" to open the selected script in CE editor, and then press OK.
Maybe the better way would be to identify the call for checking CE script,
then pop up the error message, but I'm not sure if that kind of function
is exposed to LUA in the first place.
This isn't anything urgent, but if your time is available,
your insight/mod would be much appreciated.
Thank you.
=====
I know nothing of Pascal but from a source code of CE I've downloaded
before, I see this in the frmautoinjectunit.pas
try
check:=autoassemble(assemblescreen.lines,false,true,true,injectintomyself,aa,registeredsymbols) and
autoassemble(assemblescreen.lines,false,false,true,injectintomyself,aa,registeredsymbols);
if not check then
errmsg:=format(rsNotAllCodeIsInjectable,['']);
except
on e: exception do
begin
check:=false;
errmsg:=format(rsNotAllCodeIsInjectable,['('+e.Message+')']);
end;
end;
So it looks like pressing OK is doing a try/except on
the autoassemble function. Now if I can just figure out how to
call that function from lua...
|
|
Back to top |
|
 |
Merlini Advanced Cheater
Reputation: 2
Joined: 12 Jun 2016 Posts: 53
|
Posted: Mon Apr 10, 2017 7:10 pm Post subject: |
|
|
Darkbyte just added a new feature that makes the syntax checking almost trivial in your external editor lua script.
Inside extEditCheckChange function I've added:
Code: |
local checkEnable, errMsgEnable = autoAssembleCheck(scriptString.Text, true)
local checkDisable, errMsgDisable = autoAssembleCheck(scriptString.Text, false)
if not checkEnable then
showMessage(errMsgEnable)
elseif not checkDisable then
showMessage(errMsgDisable)
end
|
Whenever I save in my editor and there is an error, now it will popup
a message box with faulty code's line number and compilation error.
When the next CE version that includes autoAssembleCheck is released,
could you please add some variation of this to your external editor script?
Your EE script is the one script that I'll take to my
cheat engine grave and the syntax checking makes is so much better.
Thanks predprey.
|
|
Back to top |
|
 |
predprey Master Cheater
Reputation: 24
Joined: 08 Oct 2015 Posts: 486
|
Posted: Tue Apr 11, 2017 2:19 am Post subject: |
|
|
Merlini wrote: | Darkbyte just added a new feature that makes the syntax checking almost trivial in your external editor lua script.
Inside extEditCheckChange function I've added:
Code: |
local checkEnable, errMsgEnable = autoAssembleCheck(scriptString.Text, true)
local checkDisable, errMsgDisable = autoAssembleCheck(scriptString.Text, false)
if not checkEnable then
showMessage(errMsgEnable)
elseif not checkDisable then
showMessage(errMsgDisable)
end
|
Whenever I save in my editor and there is an error, now it will popup
a message box with faulty code's line number and compilation error.
When the next CE version that includes autoAssembleCheck is released,
could you please add some variation of this to your external editor script?
Your EE script is the one script that I'll take to my
cheat engine grave and the syntax checking makes is so much better.
Thanks predprey. |
just saw your post. sure thing mate, thanks for the snippet, saves me the trouble of reading through my own code again lol. will update it when the new CE arrives.
|
|
Back to top |
|
 |
catfood Cheater
Reputation: 0
Joined: 22 Jun 2015 Posts: 34
|
Posted: Tue Apr 11, 2017 10:28 pm Post subject: |
|
|
Hey predprey, have you ever done anything with Searchbar / Searchbox before?
as in a box where you can type in the name of a hack and itll find it on your table (for big tables)?
would love to be able to ctrl+f to find,
i found this older video with dead links of someone showing off such a thing, is this perhaps something you made? and if so do you still have it?
https://www.youtube.com/watch?v=eU0wDU7viNo
|
|
Back to top |
|
 |
predprey Master Cheater
Reputation: 24
Joined: 08 Oct 2015 Posts: 486
|
Posted: Tue Apr 11, 2017 11:36 pm Post subject: |
|
|
catfood wrote: | Hey predprey, have you ever done anything with Searchbar / Searchbox before?
as in a box where you can type in the name of a hack and itll find it on your table (for big tables)?
would love to be able to ctrl+f to find,
i found this older video with dead links of someone showing off such a thing, is this perhaps something you made? and if so do you still have it?
https://www.youtube.com/watch?v=eU0wDU7viNo |
nope, i think that's the author's own fork of CE's code base and not an extension. i'll think about how to impement it.
|
|
Back to top |
|
 |
FreeER Grandmaster Cheater Supreme
Reputation: 53
Joined: 09 Aug 2013 Posts: 1091
|
Posted: Wed Jan 10, 2018 1:24 pm Post subject: |
|
|
Hey here's a bit of an improvement for Structure Dissect Filter so that it can use the ShadowCopy address rather than just what's in the edit box (which may be the same when looking at locked addresses, eg. the saved stack from finding what addresses a function accesses), mostly courtesy of DB (via Discord). It uses a bit of a hack for (pre) 6.7 but will be more properly supported in the next update (reflected in the code with a version check). Of course the only change is to the two functions that actually directly use the addresses compareColumns and compareGroup and a new function getStructureColumnAddress
Code: | if getCEVersion() <= 6.7 then
-- use hacky version pre support, diff function so checks aren't redone for every column when nothing can change
local structureColumnShadowOffset = cheatEngineIs64Bit() and 0x18 or 0xC
function getStructureColumnAddress(structureColumn)
local columnShadowAddress = readPointerLocal(userDataToInteger(structureColumn)+structureColumnShadowOffset)
return columnShadowAddress ~= 0 and columnShadowAddress or structureColumn.Address
end
else
function getStructureColumnAddress(structureColumn)
return structureColumn.SavedState ~= 0 and structureColumn.SavedState or structureColumn.Address
end
end
function compareColumns(structureFrm,offset,byteSize)
for i = 0,(structureFrm.columnCount-1)-1,1 do
local curColumnAddress = getStructureColumnAddress(structureFrm.Column[i]) + offset
local nxtColumnAddress = getStructureColumnAddress(structureFrm.Column[i+1]) + offset
local curValue = readBytes(curColumnAddress,byteSize,true)
local nxtValue = readBytes(nxtColumnAddress,byteSize,true)
for j = 1,byteSize,1 do
if curValue[j] ~= nxtValue[j] then return 1 end
end
end
return 0
end
function compareGroup(structGroup,offset,byteSize)
for i = 0,(structGroup.columnCount-1)-1,1 do
local curColumnAddress = getStructureColumnAddress(structGroup.Column[i]) + offset
local nxtColumnAddress = getStructureColumnAddress(structGroup.Column[i+1]) + offset
local curValue = readBytes(curColumnAddress,byteSize,true)
local nxtValue = readBytes(nxtColumnAddress,byteSize,true)
for j = 1,byteSize,1 do
if curValue[j] ~= nxtValue[j] then return 1 end
end
end
return 0
end |
https://www.dropbox.com/s/k4gs834o74qexib/Structure%20Dissect%20Filter.lua?dl=0 (includes documentation at top and local function declaration)
discord relevant screenshot
not sure that SavedStateSize would be necessary here... maybe a check to make sure that the structure isn't larger than the memory pointed to....
edit (6 - 12 - 2018): fixed bug with ~ 0 supposed to be ~= 0, just in case someone happens to copy from here
Last edited by FreeER on Sat Jun 16, 2018 2:29 pm; edited 1 time in total |
|
Back to top |
|
 |
predprey Master Cheater
Reputation: 24
Joined: 08 Oct 2015 Posts: 486
|
Posted: Sun Jan 14, 2018 3:23 am Post subject: |
|
|
@FreeER
thanks. i will update my post to link to yours.
|
|
Back to top |
|
 |
FreeER Grandmaster Cheater Supreme
Reputation: 53
Joined: 09 Aug 2013 Posts: 1091
|
Posted: Sat Jun 16, 2018 2:24 pm Post subject: |
|
|
In the Structure Dissect Filter it seems there was a slight typo in the 6.8 code for getStructureColumnAddress to support locked/shadow columns, Code: | return structureColumn.SavedState ~ 0 and structureColumn.SavedState or structureColumn.Address | should be Code: | return structureColumn.SavedState ~= 0 and structureColumn.SavedState or structureColumn.Address | .
The dropbox link has been updated to fix it.
_________________
|
|
Back to top |
|
 |
iNvIcTUs oRCuS Newbie cheater
Reputation: 0
Joined: 25 Aug 2016 Posts: 14
|
Posted: Tue Mar 24, 2020 5:52 am Post subject: |
|
|
Hi man...
first of all i want to say thank you for your nice cheat engine add ons.
The structure dissect filter i used very often. For now i wanted to try cheat engine 7.1 rc1. At this version the add on doesnt seem to work.
Can you have a look at it?
Thank you
|
|
Back to top |
|
 |
predprey Master Cheater
Reputation: 24
Joined: 08 Oct 2015 Posts: 486
|
Posted: Tue Mar 24, 2020 4:23 pm Post subject: |
|
|
iNvIcTUs oRCuS wrote: | Hi man...
first of all i want to say thank you for your nice cheat engine add ons.
The structure dissect filter i used very often. For now i wanted to try cheat engine 7.1 rc1. At this version the add on doesnt seem to work.
Can you have a look at it?
Thank you |
I reckon it's the issue with the timers not being enabled by default. Try using mgr.inz's latest builds until 7.1 goes gold. If that still doesn't solve the issue I'll look into it further.
|
|
Back to top |
|
 |
|
|
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
|
|