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 


CEnhancer - Improvements for CE's inbuilt functions
Goto page Previous  1, 2, 3, 4, 5, 6  Next
 
Post new topic   Reply to topic    Cheat Engine Forum Index -> Cheat Engine Extensions
View previous topic :: View next topic  
Author Message
predprey
Master Cheater
Reputation: 24

Joined: 08 Oct 2015
Posts: 486

PostPosted: Tue Feb 28, 2017 4:23 pm    Post subject: This post has 2 review(s) Reply with quote

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.



Batch Edit Dropdown List.lua
 Description:
Update 34:
- Batch Edit Dropdown List: Fixed for batch applying linked memrecs

Download
 Filename:  Batch Edit Dropdown List.lua
 Filesize:  2.3 KB
 Downloaded:  2471 Time(s)



Last edited by predprey on Sun Aug 02, 2020 4:47 pm; edited 6 times in total
Back to top
View user's profile Send private message
akumakuja28
Master Cheater
Reputation: 16

Joined: 28 Jun 2015
Posts: 432

PostPosted: Tue Feb 28, 2017 4:38 pm    Post subject: Reply with quote

Very cool man. THru ya a rep

https://www.dropbox.com/s/bm5bszu1xxkjfeh/Batch%20Edit%20Dropdown%20List.lua?dl=0

make tht 0 a 1 and its direct download.

_________________
Back to top
View user's profile Send private message
predprey
Master Cheater
Reputation: 24

Joined: 08 Oct 2015
Posts: 486

PostPosted: Tue Feb 28, 2017 4:42 pm    Post subject: Reply with quote

akumakuja28 wrote:
Very cool man. THru ya a rep

https://www.dropbox.com/s/bm5bszu1xxkjfeh/Batch%20Edit%20Dropdown%20List.lua?dl=0

make tht 0 a 1 and its direct download.


nice, didn't know that. thanks
Back to top
View user's profile Send private message
OGScrub
Newbie cheater
Reputation: 0

Joined: 23 Dec 2014
Posts: 16
Location: Murica'

PostPosted: Sun Mar 05, 2017 11:21 am    Post subject: Reply with quote

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

Joined: 29 Oct 2010
Posts: 4197

PostPosted: Sun Mar 05, 2017 4:04 pm    Post subject: Reply with quote

OGScrub-
http://forum.cheatengine.org/viewtopic.php?t=473706
Back to top
View user's profile Send private message
Merlini
Advanced Cheater
Reputation: 2

Joined: 12 Jun 2016
Posts: 53

PostPosted: Sat Apr 08, 2017 2:00 am    Post subject: Reply with quote

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
View user's profile Send private message
Merlini
Advanced Cheater
Reputation: 2

Joined: 12 Jun 2016
Posts: 53

PostPosted: Mon Apr 10, 2017 7:10 pm    Post subject: Reply with quote

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
View user's profile Send private message
predprey
Master Cheater
Reputation: 24

Joined: 08 Oct 2015
Posts: 486

PostPosted: Tue Apr 11, 2017 2:19 am    Post subject: Reply with quote

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
View user's profile Send private message
catfood
Cheater
Reputation: 0

Joined: 22 Jun 2015
Posts: 34

PostPosted: Tue Apr 11, 2017 10:28 pm    Post subject: Reply with quote

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
View user's profile Send private message
predprey
Master Cheater
Reputation: 24

Joined: 08 Oct 2015
Posts: 486

PostPosted: Tue Apr 11, 2017 11:36 pm    Post subject: Reply with quote

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
View user's profile Send private message
FreeER
Grandmaster Cheater Supreme
Reputation: 53

Joined: 09 Aug 2013
Posts: 1091

PostPosted: Wed Jan 10, 2018 1:24 pm    Post subject: Reply with quote

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
View user's profile Send private message
predprey
Master Cheater
Reputation: 24

Joined: 08 Oct 2015
Posts: 486

PostPosted: Sun Jan 14, 2018 3:23 am    Post subject: Reply with quote

@FreeER

thanks. i will update my post to link to yours.
Back to top
View user's profile Send private message
FreeER
Grandmaster Cheater Supreme
Reputation: 53

Joined: 09 Aug 2013
Posts: 1091

PostPosted: Sat Jun 16, 2018 2:24 pm    Post subject: Reply with quote

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.

_________________
https://github.com/FreeER/ has a few CE related repos
Back to top
View user's profile Send private message
iNvIcTUs oRCuS
Newbie cheater
Reputation: 0

Joined: 25 Aug 2016
Posts: 11

PostPosted: Tue Mar 24, 2020 5:52 am    Post subject: Reply with quote

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
View user's profile Send private message
predprey
Master Cheater
Reputation: 24

Joined: 08 Oct 2015
Posts: 486

PostPosted: Tue Mar 24, 2020 4:23 pm    Post subject: Reply with quote

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
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Cheat Engine Forum Index -> Cheat Engine Extensions All times are GMT - 6 Hours
Goto page Previous  1, 2, 3, 4, 5, 6  Next
Page 3 of 6

 
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