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 


Add to new group

 
Post new topic   Reply to topic    Cheat Engine Forum Index -> Cheat Engine Extensions
View previous topic :: View next topic  
Author Message
Dark Byte
Site Admin
Reputation: 457

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

PostPosted: Mon Jan 20, 2020 3:09 pm    Post subject: Add to new group This post has 2 review(s) Reply with quote

This code adds a new menuitem called "Add to new group" which will move all currently selected entries to a newly created group

Code:

local pm=AddressList.PopupMenu
local pmAddToNewGroup=createMenuItem(pm)
pmAddToNewGroup.Caption='Add to new group'
pmAddToNewGroup.ImageIndex=MainForm.CreateGroup.ImageIndex
pm.Items.insert(MainForm.CreateGroup.MenuIndex, pmAddToNewGroup)

local oldOnPopup=AddressList.PopupMenu.OnPopup
AddressList.PopupMenu.OnPopup=function(s)
  if oldOnPopup then
    oldOnPopup(s)
  end
  pmAddToNewGroup.Visible=AddressList.SelCount>=1
end

pmAddToNewGroup.OnClick=function(s)
  local i
  local count=0
  local selcount=0
  local withAddress=false
  local hasAddressSupport=false

  if AddressList.SelCount==0 then
    messageDialog('Please select at least one entry first', mtError, mbOK)
    return
  end

  hasAddressSupport=AddressList[0].IsAddressGroupHeader~=nil

  for i=0,AddressList.Count-1 do
    if AddressList[i].IsGroupHeader then
      count=count+1
    end
  end


  local groupname='Group '..count+1
  if (isKeyPressed(VK_CONTROL)==false) then
    groupname = InputQuery('Groups', 'What do you want the groupname to be?', groupname)
    if groupname then
      if hasAddressSupport then
        withAddress=messageDialog('Do you want "address" version?', mtConfirmation, mbYes, mbNo)==mrYes
      end
    else
      return
    end
  end


  --create a new group and add all selected records to the list
  local header=AddressList.createMemoryRecord()
  header.IsGroupHeader=true
  header.IsAddressGroupHeader=withAddress
  header.Description=groupname

  records={}

  for i=0,AddressList.Count-1 do
    if AddressList[i].Selected then
      local selectedparent=false
      local p=AddressList[i].Parent
      while p do
        if p.Selected then selectedparent=true end
        p=p.Parent
      end

      if selectedparent==false then
        table.insert(records,AddressList[i])
      end
    end
  end

  for i=1,#records do
    records[i].Parent=header
  end
end


_________________
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


Last edited by Dark Byte on Fri Jan 31, 2020 6:25 am; edited 1 time in total
Back to top
View user's profile Send private message MSN Messenger
Csimbi
I post too much
Reputation: 92

Joined: 14 Jul 2007
Posts: 3102

PostPosted: Tue Jan 21, 2020 4:14 am    Post subject: Reply with quote

Useful, thank you!

Edit:
Bug: you are prompted for the name of the new group, but the name you enter does not seem to get used (mine ended up 'Group 8' anyway, regardless what I entered).
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: Tue Jan 21, 2020 3:28 pm    Post subject: Reply with quote

change line:
Code:
if InputQuery('Groups', 'What do you want the groupname to be?', groupname) then


to:
Code:
groupname = InputQuery('Groups', 'What do you want the groupname to be?', groupname)
if groupname then

_________________
Back to top
View user's profile Send private message MSN Messenger
Csimbi
I post too much
Reputation: 92

Joined: 14 Jul 2007
Posts: 3102

PostPosted: Tue Jan 21, 2020 5:18 pm    Post subject: Reply with quote

Perfect, thanks!
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
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