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 


Slightly exported Address List GUI

 
Post new topic   Reply to topic    Cheat Engine Forum Index -> Cheat Engine Extensions
View previous topic :: View next topic  
Author Message
Aylin
Grandmaster Cheater
Reputation: 10

Joined: 16 Feb 2017
Posts: 661

PostPosted: Tue Jul 13, 2021 6:12 pm    Post subject: Slightly exported Address List GUI Reply with quote

[Sharing] Address List GUI

https://forum.cheatengine.org/search.php
There may be some labels to refer to this box;
** Address List Move -- Address List Pointer edit -- Add - Load Address List
Load; All format - add Address List

This topic was continued;
https://forum.cheatengine.org/viewtopic.php?t=617908

And for my master who thought of this idea;
(@FreeEr is my master, who provides on-site code solutions and helps with crazy form designs; I appreciate.)
https://github.com/FreeER/CE-Extensions/blob/master/popout_addressList.lua

I won't explain as these are the basic steps.
Copy, paste into Lua Script, enable and try.
Since it is the starter code, edit and add according to your needs.

Ideal for using some simple steps outside of the CE main form.
What it does:
*You can open pointer tabs for the pointer, edit it and add it to the address list.
*You can edit the description, address and format and add them to the Address list.
*Since this is a separate form, you can move the address list to this form and send it back to the CE main form.
*After moving the address list to the form, you can extend it from one end of the screen to the other.

Finally; Get it, use it and see what you can add.

--------------------------------------------------
Code:
local adrrFormCrt1=1

function AddrformCrt()
AddrListPanel = createForm()
AddrListPanel.Position=poDesktopCenter
AddrListPanel.Width=660 AddrListPanel.Height=260
AddrListPanel.Caption = 'Address List Function'
AddrListPanel.BorderStyle="bsSizeable"
AddrListPanel.BorderIcons="[biSystemMenu,biMinimize]"
AddrListPanel.PopupMode = '0'

local jn={ }

jn.L11 = createLabel(AddrListPanel)
jn.L11.Left=10 jn.L11.Top=11 jn.L11.Font.Size=12
jn.L11.Caption='    Add the address - Decription \nand add or clear Offset ↓ (No 0x) ↓'

jn.L12 = createLabel(AddrListPanel)
jn.L12.Left=AddrListPanel.Width - 45 jn.L12.Top=-3 jn.L12.Font.Size=13
jn.L12.Caption="<--->" jn.L12.Font.Style="fsBold"

jn.L1=createLabel(AddrListPanel)
jn.L1.Left=10 jn.L1.Top=56 jn.L1.Font.Size=12 jn.L1.Caption="Description: "

jn.L2=createLabel(AddrListPanel)
jn.L2.Left=10 jn.L2.Top=80 jn.L2.Font.Size=12 jn.L2.Caption="Address....: "

jn.L3=createLabel(AddrListPanel)
jn.L3.Left=10 jn.L3.Top=104 jn.L3.Font.Size=12 jn.L3.Caption="Offset(0)...: "

jn.L4=createLabel(AddrListPanel)
jn.L4.Left=10 jn.L4.Top=128 jn.L4.Font.Size=12 jn.L4.Caption="Offset(1)...: "

jn.L5=createLabel(AddrListPanel)
jn.L5.Left=10 jn.L5.Top=152 jn.L5.Font.Size=12 jn.L5.Caption="Offset(2)...: "

jn.L6=createLabel(AddrListPanel)
jn.L6.Left=10 jn.L6.Top=176 jn.L6.Font.Size=12 jn.L6.Caption="Offset(3)...: "

jn.L7=createLabel(AddrListPanel)
jn.L7.Left=10 jn.L7.Top=200 jn.L7.Font.Size=12 jn.L7.Caption="Offset(4)...: "

jn.L8=createLabel(AddrListPanel)
jn.L8.Left=390 jn.L8.Top=192 jn.L8.Font.Size=10 jn.L8.Caption="↓ Addr List Clear ↓\nWrite: Line or all"

jn.E1=createEdit(AddrListPanel) jn.E1.AutoSize=false jn.E1.Height=20
jn.E1.Left=90 jn.E1.Top=55 jn.E1.Font.Size=12 jn.E1.Width=160

jn.E2=createEdit(AddrListPanel) jn.E2.AutoSize=false jn.E2.Height=20
jn.E2.Left=90 jn.E2.Top=79 jn.E2.Font.Size=12 jn.E2.Width=160

jn.E3=createEdit(AddrListPanel) jn.E3.AutoSize=false jn.E3.Height=20
jn.E3.Left=110 jn.E3.Top=103 jn.E3.Font.Size=12 jn.E3.Width=140

jn.E4=createEdit(AddrListPanel) jn.E4.AutoSize=false jn.E4.Height=20
jn.E4.Left=110 jn.E4.Top=127 jn.E4.Font.Size=12 jn.E4.Width=140

jn.E5=createEdit(AddrListPanel) jn.E5.AutoSize=false jn.E5.Height=20
jn.E5.Left=110 jn.E5.Top=151 jn.E5.Font.Size=12 jn.E5.Width=140

jn.E6=createEdit(AddrListPanel) jn.E6.AutoSize=false jn.E6.Height=20
jn.E6.Left=110 jn.E6.Top=175 jn.E6.Font.Size=12 jn.E6.Width=140

jn.E7=createEdit(AddrListPanel) jn.E7.AutoSize=false jn.E7.Height=20
jn.E7.Left=110 jn.E7.Top=199 jn.E7.Font.Size=12 jn.E7.Width=140

jn.E8=createEdit(AddrListPanel) jn.E8.AutoSize=false jn.E8.Height=23
jn.E8.Left=445 jn.E8.Top=226 jn.E8.Font.Size=12 jn.E8.Width=60
jn.E8.ShowHint=true jn.E8.TextHint='ClrLine?'

local b=createButton(AddrListPanel)
b.Left=10 b.Top=225 b.caption="Add Offset" b.Width=80

local b1=createButton(AddrListPanel)
b1.Left=260 b1.Top=225 b1.caption="Add Address List" b1.Width=125

local b2=createButton(AddrListPanel)
b2.Left=110 b2.Top=225 b2.caption="Clear Offset" b2.Width=140

local b3=createButton(AddrListPanel)
b3.Left=390 b3.Top=225 b3.caption="Clear" b3.Width=50

local AddrBtn=createButton(AddrListPanel)
AddrBtn.Top=225 AddrBtn.caption="Open-AddressList" AddrBtn.Width=140
AddrBtn.Left=AddrListPanel.Width - 150

local AddrBtn1=createButton(AddrListPanel)
AddrBtn1.Top=198 AddrBtn1.caption="Add Addr Manually" AddrBtn1.Width=140
AddrBtn1.Left=AddrListPanel.Width - 150

local AddrAlw=createPanel(AddrListPanel) AddrAlw.Color="0x80FFDE"
AddrAlw.Height=180 AddrAlw.Left=260 AddrAlw.Top=13 AddrAlw.Width=AddrListPanel.Width - 272

jn.CBox = createComboBox(AddrListPanel)
jn.CBox.Left=260 jn.CBox.Height=23 jn.CBox.Top=198 jn.CBox.Width=125
jn.CBox.Font.Size=10 jn.CBox.ReadOnly=true jn.CBox.Style='csDropDownList'

function formatTypes1(t2)
t2=tostring(t2)
if t2=="Byte" then t2=0 end
if t2=="4 Bytes" then t2=2 end
if t2=="8 Bytes" then t2=3 end
if t2=="Fload" then t2=4 end
if t2=="Double" then t2=5 end
if t2=="String" then t2=6 end
if t2=="Array of Byte" then t2=8 end
if t2=="Binary" then t2=9 end
if t2=="AutoAssembler" then t2=11 end
if t2=="Custom" then t2=13 end
return t2
end

jn.CBox.Clear()
jn.CBox.Items.Add("Byte")
jn.CBox.Items.Add("4 Bytes")
jn.CBox.Items.Add("8 Bytes")
jn.CBox.Items.Add("Fload")
jn.CBox.Items.Add("Double")
jn.CBox.Items.Add("String")
jn.CBox.Items.Add("Array of Byte")
jn.CBox.Items.Add("Binary")
jn.CBox.Items.Add("AutoAssembler")
jn.CBox.Items.Add("Custom") --13
jn.CBox.ItemIndex=0

local top1 = -15
local chk11={ }
local OffCount=0
local ec = 2
local ec1 = 2

for x=2, 6 do jn["E"..x+1].visible=false jn["L"..x+1].visible=false end

function CounOffs1()
OffCount=0
if jn.E3.Text~="" then OffCount=1 end
if jn.E4.Text~="" then OffCount=2 end
if jn.E5.Text~="" then OffCount=3 end
if jn.E6.Text~="" then OffCount=4 end
if jn.E7.Text~="" then OffCount=5 end
return OffCount
end

b1.OnClick=function()
  local al=getAddressList()
  local shc = al.createMemoryRecord()
  CounOffs1()
  if jn.E2.Text~="" then
  shc.setAddress(jn.E2.Text) end
  shc.setOffsetCount(tonumber(OffCount))
  if jn.E3.Text~="" then
  shc.setOffset(0, "0x"..jn.E3.Text) end
  if jn.E4.Text~="" then
  shc.setOffset(1, "0x"..jn.E4.Text) end
  if jn.E5.Text~="" then
  shc.setOffset(2, "0x"..jn.E5.Text) end
  if jn.E6.Text~="" then
  shc.setOffset(3, "0x"..jn.E6.Text) end
  if jn.E7.Text~="" then
  shc.setOffset(4, "0x"..jn.E7.Text) end
  shc.Type = formatTypes1(jn.CBox.Text)
  shc.description=jn.E1.Text
end

b.OnClick=function()
 if ec~=7 then
 ec =tonumber(ec) + 1
 ec1 =tonumber(ec1) + 1
 name1=jn["E"..ec]
 name2=jn["L"..ec]
 name1.visible=true
 name2.visible=true
 end
end

b2.OnClick=function()
 if ec1~=2 then
 name1=jn["E"..ec]
 name2=jn["L"..ec]
 ec =tonumber(ec) - 1
 ec1 =tonumber(ec1) - 1
 name1.Text=""
 name1.visible=false
 name2.visible=false
 end
end

b3.OnClick=function()
if jn.E8.Text=="" then jn.E8.Text="0" end
  al11=getAddressList()
  x1=al11.Count - 1
  cnt1=tonumber(jn.E8.Text)
if jn.E8.Text=="all" then
  for i=0, al11.Count-1 do
memoryrecord_delete(addresslist_getMemoryRecord(al11, 0))
end
else
  if x1>=cnt1 then
  desc2=(al11[cnt1].Description)
memoryrecord_delete(addresslist_getMemoryRecord(al11, cnt1))
else
showMessage("Line not found")
end
end
end

local alw=AddrAlw
local add1=1
  --AddressList.Parent = mf.Panel1
local clr11=GetAddressList().Control[0].BackgroundColor
AddrBtn.OnClick=function()
  if add1==1 then
AddressList.Parent=alw
AddrBtn.caption="Close-AddressList"
GetAddressList().Control[0].BackgroundColor="0x80FFDE"
add1=2
  else
  AddressList.Parent = getMainForm().Panel1
AddrBtn.caption="Open-AddressList"
GetAddressList().Control[0].BackgroundColor=clr11
  add1=1
  end
end

AddrBtn1.OnClick=getMainForm().btnAddAddressManually.OnClick

AddrListPanel.OnResize=function()
if AddrListPanel.Width<=660 then AddrListPanel.Width=660 end
AddrListPanel.Height=260
jn.L12.Left=AddrListPanel.Width - 45
AddrAlw.Width=AddrListPanel.Width - 272
AddrBtn.Left=AddrListPanel.Width - 150
AddrBtn1.Left=AddrListPanel.Width - 150
AddressList.Width=AddrAlw.Width
end

AddrListPanel.OnClose=function()
AddressList.Parent = getMainForm().Panel1
AddrListPanel.visible=false
end
adrrFormCrt1=2
end
------------ add CE
if adressPanelEdit then adressPanelEdit.Destroy() adressPanelEdit=nil end
adressPanelEdit=createButton(getMainForm().Panel5)
adressPanelEdit.Height=getMainForm().btnAddAddressManually.Height
adressPanelEdit.Top=getMainForm().btnAddAddressManually.Top
adressPanelEdit.Width=getMainForm().btnAddAddressManually.Width -30
adressPanelEdit.Left=getMainForm().btnAddAddressManually.left - getMainForm().btnAddAddressManually.Width + 15

adressPanelEdit.Caption="Open AddrList Panel"
getMainForm().OnResize=function()
adressPanelEdit.Left=getMainForm().btnAddAddressManually.left - getMainForm().btnAddAddressManually.Width + 15
end

adressPanelEdit.OnClick=function()
if adrrFormCrt1==2 then
 if AddrListPanel.visible==true then
adressPanelEdit.Caption="Open AddrList Panel"
 AddrListPanel.visible=false
AddressList.Parent = getMainForm().Panel1
 else
 AddrListPanel.visible=true
adressPanelEdit.Caption="Close AddrList Panel"
 end
end
if adrrFormCrt1==1 then
 AddrformCrt()
adressPanelEdit.Caption="Close AddrList Panel"
 end
end


Until we meet in another post.
Enjoy it. Wink



Ek1.PNG
 Description:
 Filesize:  94.07 KB
 Viewed:  3182 Time(s)

Ek1.PNG



_________________
Hi Hitler Take control of your trainer
Enthusiastic people: Always one step ahead
Do not underestimate me Master: You were a beginner in the past
Back to top
View user's profile Send private message MSN Messenger
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