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 


Cheat Engine Forum Index
PostGo back to topic
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 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
Post reviews:   Approve 2
Author Review
mgr.inz.Player
Review: Approve
Post reference:
ReviewPosted: Mon Jan 20, 2020 5:13 pm

Smile
Back to top
View user's profile Send private message MSN Messenger
ByTransient
Review: Approve
Post reference:
ReviewPosted: Thu Apr 01, 2021 1:28 am

Thanks
Back to top
View user's profile Send private message
Display:  
Cheat Engine Forum Index


Powered by phpBB © 2001, 2005 phpBB Group

CE Wiki   IRC (#CEF)   Twitter
Third party websites