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 


Some suggestions for CE

 
Post new topic   Reply to topic    Cheat Engine Forum Index -> Cheat Engine
View previous topic :: View next topic  
Author Message
Razi
Expert Cheater
Reputation: 1

Joined: 17 Jan 2018
Posts: 211

PostPosted: Wed Mar 18, 2026 10:09 am    Post subject: Some suggestions for CE Reply with quote

Here are some suggestions for CE:
1) recent files list: It would be nice to be able to change the number of files (from 20 to 50) in the recent files list in the settings. Some users need more files in the list.

2) recent files list: global / local. It would be good to have options in settings to use global or local recent files list. And use separate list in each CE folder if local recent files list is set in settings.
Explanation: sometimes we need to use a global list, sometimes a local one.

3) Have ability to drop .lua file in the lua engine

4) copy bytes as text in Hexview (copy as ASCII text in Memory View)
Explanation: we will be able to copy text from games, such as Item descriptions.

5) Show text as ASCII + offset on the right side of Hexview.
Explanation: Some games like Final Fantasy 7 use text as ASCII + 0x20. But, for example if byte value will be = 0xF0; then 0xF0 + 0x20 = 0x110, more than 1 byte.
Then use formula to display text: (0xF0 + 0x20) & 0xFF = 0x10.
This will give us ability to see and copy text from many games.

6) Have ability to disable Zero-Terminate string for all selected memory records.

7) Add 16 or 0x10 to the value of the selected memory records, in string or number format. Primarily for the string format.
Explanation: if we need to change the offsets (string hex value in memory records) for a different version of the game in a lua script that was saved in txt format. We will be able to convert the trainer for another version of the game where the offsets are slightly different.

For example: we need to convert many different offsets 0x9E00XX to 0x9E00XX + 0x20. It will take a long time to manually add 0x20 to 1000 different offsets in the text file, but if we can add 0x20 to string value for selected memory records, it will be much faster.

8 ) Add a step value when we change the value for selected memory records. This will set different values for selected memory records.
For example: we are searching for an unknown value and found 1000 memory records. To find the value faster, we can set the value to 1 and the step value to 1 for 1000 selected memory records. This will set a value from 1 to 1000 for each memory record (memory record 1.value = 1, memory record 2.value = 2, ...) If the value we are looking for, shows for example 55 in the game, then we will immediately know which memory record is correct.

9) Form Designer, CEEdit: number property. Allow user to input only numbers in CEEdit.

10) Form Designer, CEEdit: hexadecimal property. Display value in hexadecimal format in CEEdit.


Last edited by Razi on Wed Mar 18, 2026 3:44 pm; edited 1 time in total
Back to top
View user's profile Send private message
Dark Byte
Site Admin
Reputation: 472

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

PostPosted: Wed Mar 18, 2026 12:08 pm    Post subject: Reply with quote

4; if you start the copy from the text section it'll be in textformat
_________________
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
Back to top
View user's profile Send private message MSN Messenger
Razi
Expert Cheater
Reputation: 1

Joined: 17 Jan 2018
Posts: 211

PostPosted: Wed Mar 18, 2026 4:18 pm    Post subject: Reply with quote

Didn't know that. It copies the text up to the first 00-1F value. If only there was an option to ignore 00-1F and replace the 00-1F with a space " " or something else. And copy the entire selection as text, then we could copy large sections of text at once.
Back to top
View user's profile Send private message
AylinCE
Grandmaster Cheater Supreme
Reputation: 37

Joined: 16 Feb 2017
Posts: 1558

PostPosted: Thu Mar 19, 2026 11:29 am    Post subject: Reply with quote

Workaround for options 9 and 10:


Code:
if frm1 then frm1.Destroy() frm1=nil end
DP1=getScreenDPI()/96
frm1=createForm()
frm1.height=245*DP1 frm1.width=221*DP1 frm1.left=293*DP1 frm1.top=105*DP1
frm1.PopupMode=0 frm1.caption="frm1"
frm1.Position="poDesktopCenter" frm1.ShowInTaskBar="stAlways"
frm1.BorderStyle="bsSingle"
--[==[
frm1.BorderStyle="bsNone"
frm1.setLayeredAttributes(0x000100, 255, LWA_COLORKEY | LWA_ALPHA )
frm1.Color=0x000100
Object.OnMouseDown=function() frm1.DragNow() end
--]==]
-------------------------
local frm2 = {}
----------------------- frm2.edt1 ----- 
frm2.edt1=createEdit(frm1)
frm2.edt1.AutoSize=true
frm2.edt1.height=25*DP1 frm2.edt1.width=160*DP1 frm2.edt1.left=30*DP1 frm2.edt1.top=15*DP1
frm2.edt1.text=""
frm2.edt1.alignment="taLeftJustify"
frm2.edt1.Font.Style="fsBold" frm2.edt1.Font.Size=0*DP1
-----------------------
----------------------- frm2.edt2 ----- 
frm2.edt2=createEdit(frm1)
frm2.edt2.AutoSize=true
frm2.edt2.height=25*DP1 frm2.edt2.width=160*DP1 frm2.edt2.left=30*DP1 frm2.edt2.top=71*DP1
frm2.edt2.text=""
frm2.edt2.alignment="taLeftJustify"
frm2.edt2.Font.Style="fsBold" frm2.edt2.Font.Size=0*DP1
-----------------------
----------------------- frm2.edt3 ----- 
frm2.edt3=createEdit(frm1)
frm2.edt3.AutoSize=true
frm2.edt3.height=25*DP1 frm2.edt3.width=160*DP1 frm2.edt3.left=30*DP1 frm2.edt3.top=127*DP1
frm2.edt3.text=""
frm2.edt3.alignment="taLeftJustify"
frm2.edt3.Font.Style="fsBold" frm2.edt3.Font.Size=0*DP1
-----------------------
----------------------- frm2.edt4 ----- 
frm2.edt4=createEdit(frm1)
frm2.edt4.AutoSize=true
frm2.edt4.height=25*DP1 frm2.edt4.width=160*DP1 frm2.edt4.left=30*DP1 frm2.edt4.top=183*DP1
frm2.edt4.text=""
frm2.edt4.alignment="taLeftJustify"
frm2.edt4.Font.Style="fsBold" frm2.edt4.Font.Size=0*DP1
-----------------------
frm1.OnClose=function()
  return caFree
end
--############################################################################--
--############################################################################--


function enableSmartFilter(editBox, filterOption)
  -- Backup the user's existing OnChange function
  local originalUserOnChange = editBox.OnChange

  -- Take control of the EditBox's OnChange event
  editBox.OnChange = function(sender)
    local rawText = sender.Text
    local cleaned = rawText -- Default: keep the text as is

    -- Filter Logic based on filterOption
    if filterOption == 1 then     -- NUMERIC: Allows 0-9, dot (.), and comma (,)
      cleaned = rawText:gsub("[^0-9%.,]", "")
    elseif filterOption == 2 then -- ALPHA: Allows letters (a-z, A-Z), dot, and comma
      cleaned = rawText:gsub("[^%a%.,]", "")
    elseif filterOption == 3 then -- HEX/AOB: Allows 0-9, A-F, question marks (?), and spaces
      cleaned = rawText:gsub("[^0-9a-fA-F%?%s]", "")
    elseif filterOption == 0 then -- NONE: No filter applied
      cleaned = rawText
    end

    -- If the text contains invalid characters, clean it
    if rawText ~= cleaned then
      sender.Text = cleaned
      sender.SelStart = #cleaned -- Move cursor to the end
      -- Prevent executing the original function with "dirty" data
      return
    end

    -- If the text is clean, execute the user's original function (if any)
    if originalUserOnChange then
      originalUserOnChange(sender)
    end
  end
end

-- Note: First, enable the OnChange function of the editbox (if any), then assign the filter.

-- USAGE EXAMPLES:
frm2.edt2.OnChange=function(sender) print(sender.Text) end

enableSmartFilter(frm2.edt1, 1) -- Numeric only
enableSmartFilter(frm2.edt2, 2) -- Letters only
enableSmartFilter(frm2.edt3, 3) -- Hex/AOB pattern
enableSmartFilter(frm2.edt4, 0) -- Normal - Default

_________________
Hi Hitler Different Trainer forms for you!
https://forum.cheatengine.org/viewtopic.php?t=619279
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 Visit poster's website MSN Messenger
Display posts from previous:   
Post new topic   Reply to topic    Cheat Engine Forum Index -> Cheat Engine 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