[Lua] Cheat Engine – Plugin | Modern Value Changer

Utilities and third party tools used as an external or internal application for specific programs and games


Moderator: Table Moderator

Post Reply
User avatar
mul0
Novice Hacker
Novice Hacker
Posts: 35
Joined: Tue Dec 30, 2025 1:00 am
Answers: 0
x 51

[Lua] Cheat Engine – Plugin | Modern Value Changer

Post by mul0 »

⚡ Modern Value Changer — Plugin for Cheat Engine ⚡


Lightweight plugin for Cheat Engine that provides a modern and convenient way to modify values directly inside the Memory Viewer.

When working with memory values during reverse engineering or game hacking, changing values quickly and efficiently is critical. Standard workflows can be slow and uncomfortable — especially when you need to test multiple values in real time.

This plugin introduces a clean and powerful solution for editing values instantly, without breaking your workflow.


Image


Image


📢 What's new ? [v1.1] [20/03/2026]

  • ✨ Adjusted layout and spacing of helper fields based on DPI
  • 🎨 Improved DPI scaling for better appearance on high-DPI displays (tested on 100%, 125%, and 150% scaling)
  • 💻 Adding transparent background to the form for a modern look
  • 🪟 Improved overall performance and responsiveness of the TValueChangeForm by optimizing UI updates

📌 Plugin Information


⚡ What the Plugin Does

  • Modern Value Changer enhances the Memory Viewer by adding a fast and intuitive way to modify values directly from the disassembler interface.
  • Instead of switching between windows or manually editing memory, you can quickly update values on the fly while analyzing code.

🚀 Key Features

  • Instant value editing directly in Memory Viewer
  • Seamless integration with disassembler
  • Fast workflow — no context switching
  • Lightweight and optimized Lua implementation

🪟 Works Inside Memory Viewer

  • The plugin integrates directly into the Memory Viewer, meaning:
  • No extra windows
  • No UI clutter

📌 Compatibility

  • Cheat Engine 6.4 or newer
  • Supports x86 and x64 processes
  • Works inside Memory Viewer
  • Fully DPI-aware (100% / 125% / 150%) — UI scales correctly across different display settings

⚙️ Installation

  • Place the “MiMemory Viewer - Modern Value Changer (v1.1).lua” file into Cheat Engine’s autorun (Cheat Engine\autorun) folder
  • Restart Cheat Engine.
  • Open Memory Viewer and start using the plugin.

💬 Feedback & Support

  • Have suggestions or need help? Drop a comment below! 🙌
Attachments
MiMemory Viewer - Modern Value Changer (v1.1).zip
v1.1
(131.1 KiB) Downloaded 27 times

Alex Darkside
Novice Hacker
Novice Hacker
Posts: 45
Joined: Sun Aug 21, 2022 12:08 pm
Answers: 0
x 24

Re: [Lua] Cheat Engine – Plugin | Modern Value Changer

Post by Alex Darkside »

(Google translation)

Thank you very much for this convenient tool.

There is a proposal. :?:
Could you add a function to fill a selected memory range with a specific value of a specified length? So that when editing you can change not only one value at the starting address of the range, but all values ​​of the specified length in the selected memory range.
Let's assume that the address range "Range: 12345000 - 12345100" is selected. It is necessary to fill this range, for example, with the values ​​4 bytes 0x00090001. So that in memory it turns out:

Code: Select all

12345000 : 00090001 00090001 00090001 00090001
12345010 : 00090001 00090001 00090001 ... etc.

This is often necessary, for example, when filling the game inventory with a large number of game items (of which there can be several hundred). Or vice versa, it is often necessary to fill the entire selected memory range with zeros or 0xFF.
If this is possible to implement, then I would suggest additionally adding the ability to select a memory range, so that the desired range can be specified directly in the editor window, and not selected manually. This would be useful when you need to select a large area of ​​memory that spans several pages.
It would be even more useful if it were possible to edit not all values ​​in a selected range, but only some with a specified step. For example, change in the memory range "Range: 12345000 - 12345100" only values ​​with a step of 0x10 and a length of 4 bytes, and do not change the rest. So that in memory it turns out:

Code: Select all

12345000 : 00090001 ????????? ??????? ???????
12345010 : 00090001 ????????? ??????? ...etc.

This is also often necessary when you need to change, for example, in a strategy game, a certain characteristic of a large number of units.

I don't know how difficult (or even possible) it is to implement all of the above. If you find my offer excessive or unacceptable, please simply ignore it. :oops:

P.S. I would also like to take this opportunity to thank you for the very useful tool “T...r S...y”, great job. :)


User avatar
mul0
Novice Hacker
Novice Hacker
Posts: 35
Joined: Tue Dec 30, 2025 1:00 am
Answers: 0
x 51

Re: [Lua] Cheat Engine – Plugin | Modern Value Changer

Post by mul0 »

Alex Darkside wrote: Sat Mar 21, 2026 6:40 am

(Google translation)

Thank you very much for this convenient tool.

There is a proposal. :?:
Could you add a function to fill a selected memory range with a specific value of a specified length? So that when editing you can change not only one value at the starting address of the range, but all values ​​of the specified length in the selected memory range.
Let's assume that the address range "Range: 12345000 - 12345100" is selected. It is necessary to fill this range, for example, with the values ​​4 bytes 0x00090001. So that in memory it turns out:

Code: Select all

12345000 : 00090001 00090001 00090001 00090001
12345010 : 00090001 00090001 00090001 ... etc.

This is often necessary, for example, when filling the game inventory with a large number of game items (of which there can be several hundred). Or vice versa, it is often necessary to fill the entire selected memory range with zeros or 0xFF.
If this is possible to implement, then I would suggest additionally adding the ability to select a memory range, so that the desired range can be specified directly in the editor window, and not selected manually. This would be useful when you need to select a large area of ​​memory that spans several pages.
It would be even more useful if it were possible to edit not all values ​​in a selected range, but only some with a specified step. For example, change in the memory range "Range: 12345000 - 12345100" only values ​​with a step of 0x10 and a length of 4 bytes, and do not change the rest. So that in memory it turns out:

Code: Select all

12345000 : 00090001 ????????? ??????? ???????
12345010 : 00090001 ????????? ??????? ...etc.

This is also often necessary when you need to change, for example, in a strategy game, a certain characteristic of a large number of units.

I don't know how difficult (or even possible) it is to implement all of the above. If you find my offer excessive or unacceptable, please simply ignore it. :oops:

P.S. I would also like to take this opportunity to thank you for the very useful tool “T...r S...y”, great job. :)

Thank you for the suggestion. :D

Yes, this looks both useful and technically possible.

A range fill mode with:

  • start/end address
  • value type
  • repeated value
  • optional write step

would be a very practical addition, especially for inventory editing, bulk stat changes, or filling memory with 00 / FF.

I will keep this idea for a future update. Most likely I would start with the basic repeated fill mode first, then possibly add manual range input and step-based writing after that.

However, it will most likely be implemented as a separate plugin, so it doesn’t overcomplicate the main tool and can stay more flexible for advanced use cases.

Thanks again for the detailed feedback. ❤️


Post Reply