Lua Extension to change to the Address List Colors without adjusting windows colors to fit your eyes.
Features Include:
-- Box Color
-- Active "X" Color
-- Highlight Color
-- Background Color
Batch Color Edit:
Batch Color allows you to use a selected Address entries color and apply a new color to any color matching on the List.
Great for creators & users alike to keep track of cheat entries or just color changes.
Also Included in A Compact Mode Toggle:
Added to the Popup(Right Click) Menu.
Option to Save Load & AutoLoad on Startup.
Notes:
This snippet of code was revived from a bigger project to customize CE user experience per game.
A much Larger project that will come out later in the year.
But I have seen alot posts lately about people wanting to adjust the colors on the address list.
Works on Any Cheat Engine 6.5+ by using a partial "AOB" scan, as these colors are not defined in LUA by default.
Tested on 5 different versions of 6.5.
Updates:
Web Check was causing CE to lag on check.
Credit @ dark_Byte for the fix
Instructions:
Drop the LUA file in your Cheat Engine autorun Directory.
C:\Program Files (x86)\Cheat Engine 6.5.1\autorun _________________
I probably won't ever use this, just because I have no need to, but I think it's a really nice contribution. I noticed that you included an option to save load/auto-load on startup...does that mean that people can permanently save their color changes?
I probably won't ever use this, just because I have no need to, but I think it's a really nice contribution. I noticed that you included an option to save load/auto-load on startup...does that mean that people can permanently save their color changes?
Thanks for sharing.
Permanent? Kinda the extension creates two .ini files one file is the colors stores
the other is a check file for the state of auto load. Upon startup it checks the auto load state. If its true it activates the color change. This happens so fast its "permanent" like. But completely optional.
Too bad you will never use it? But it is just visual mod. More so its a test of the waters for a Future project which is geared more towards the users of CE vs us creators.
Thanks for the reps predprey and methos. _________________
Yeah, that's basically what I meant as far as a permanent solution...i.e. not having to always set the changes.
As far as not using it, I only say that because I don't really have any desire to change the colors of the interface. A few years ago, I might have felt differently, but these days, I don't do much in the way of customization. I guess I'm getting old.
Nonetheless, I do think it's cool and it's a great contribution. CE just keeps getting better and better.
Incorporating LUA functionality in to CE was a great idea. I just wish I had time to learn it. Maybe some day.
by accident and by far its much superior for the basic stuff. Better organized and just easier to understand with better examples. If looking to learn thats the best site IMO. _________________
Thanks. I will surely check it out if I can ever get around to doing more and learning more about it.
Yeah, I knew you were trying to learn, which is why this plugin is so impressive to me. I agree about most of the documentation that's available. I think the same is true for other things, non-LUA related, as well.
if you have a slow connection that can happen. That's why I recommend using createNativeThread() when fetching pages from the web
Uh oh I got a Dark Byte response. I did notice a small lag with the web check on startup so a timer was used to execute the code 12 seconds after start. But a lag of 1.5 seconds is enough to think its going to crash.
I will get a fix out with dark byte's recommendation. _________________
I've been wondering, how did you find those instructions that you inject at?
EDIT: ok, i found the address to the onClick function i want by looking at the lua stack using tostring(function). do you know of any documentation on the structure of the lua stack?
I've been wondering, how did you find those instructions that you inject at?
EDIT: ok, i found the address to the onClick function i want by looking at the lua stack using tostring(function). do you know of any documentation on the structure of the lua stack?
Finding Injections: I used a partial "AOB" scan using "readBytesLocal(address,bytecount, ReturnAsTable)"
1.Return as Table was set to true. Scanned 10000 bytes.
2."table.concat" into a string with no spaces.
3.used "string.find" to locate the pattern of bytes
4. Performed a Math procedure to divide the "string.find", locating the start of CE code I wanted.
5. Did a little more math to isolate the offset.
6. Rinse and repeat.
7. Same basic concept as asm "AOB" injections. Unfortunately an AOB for "Local" was not in CE so I made one.
8. Then just used "writeIntegerLocal()" to do the color edit.
Second Question:
I dont know what on click function you are referring too.
"Lua Stack" ??
Oh and the update is out with the Web Check FIX. _________________
Finding Injections: I used a partial "AOB" scan using "readBytesLocal(address,bytecount, ReturnAsTable)"
1.Return as Table was set to true. Scanned 10000 bytes.
2."table.concat" into a string with no spaces.
3.used "string.find" to locate the pattern of bytes
4. Performed a Math procedure to divide the "string.find", locating the start of CE code I wanted.
5. Did a little more math to isolate the offset.
6. Rinse and repeat.
7. Same basic concept as asm "AOB" injections. Unfortunately an AOB for "Local" was not in CE so I made one.
8. Then just used "writeIntegerLocal()" to do the color edit.
Second Question:
I dont know what on click function you are referring too.
"Lua Stack" ??
1st Qns:
I meant how did you find where the color asm instructions were in CE. I did not look into what exactly the instructions were doing but I assume they are responsible for loading the colors of CE, right? So did you find the instructions by searching CE's memory for the color codes or some other method?
2nd Qns:
I was trying to hook into CE's set hotkey function. So with tostring(getMainForm().SetHotkey1.onClick) I could get an address to the part of the Lua stack that contains the address to CE's instruction. e.g.
function: 000000001EBEA9A0 >> Pointer to Structure in Lua Stack
At 000000001EBEA9A0+0x14 is address to the hotkey instruction in CE.
However for memory record the pointer is a direct pointer to pointer of the memory record in CE's memory.
userdata: 00000000DEC248B0 >> Pointer to Structure in Lua Stack
At 00000000DEC248B0 is address to memory record structure in CE's memory.
I did not know what the other values pushed onto the Lua execution stack were, so I was looking for documentation on comprehending the stack behavior.
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