Dropdown menu for Description?

Memory scanning, code injection, debugger internals and other gamemodding related discussion
Post Reply
Enferno33
Expert Cheater
Expert Cheater
Posts: 173
Joined: Tue Dec 24, 2019 6:05 am
Reputation: 32

Dropdown menu for Description?

Post by Enferno33 »

I'm sorry if this was posted here already, I looked through the tutorials and didn't see it.

I just want to create a drop menu for the description (name of my code).

I use the drop down options, but the format is value and so it only puts the drop down list as value and not as description. Is there a way to make the drop down menu just change the name of the description and keep the same value?

User avatar
VampTY
Table Makers
Table Makers
Posts: 809
Joined: Tue Mar 05, 2019 10:52 am
Reputation: 1052

Re: Dropdown menu for Description?

Post by VampTY »

I rarely enter these sections... :lol:

I'm bad at explaining, i hope you'll understand

EXAMPLE

Code: Select all

[ENABLE]
aobscanmodule(_pBase,NAME.exe,01 01 01 01)
alloc(newmem,$100)
alloc(_WHAT_I_WANT,$4) or alloc(_WHAT_I_WANT,$8)
label(code)
label(return)
registersymbol(_pBase _WHAT_I_WANT)
_WHAT_I_WANT:
 db (byte)10
_WHAT_I_WANT+1:
 db (byte)20
_WHAT_I_WANT+2:
 db (byte)30 
newmem:
  pushad
  mov bl,[_WHAT_I_WANT]
  mov byte ptr [eax+100],bl
  mov bl,[_WHAT_I_WANT+1]
  mov byte ptr [eax+200],bl
  mov bl,[_WHAT_I_WANT+2]
  mov byte ptr [eax+300],bl  
  popad
code:
  mov ecx,[eax+120]
  mov ecx,[eax+200]
  mov ecx,[eax+300] 
  jmp return
_pBase:
  jmp newmem
  nop
return:
[DISABLE]
dealloc(*)
unregistersymbol(*)
_pBase:
  db 01 01 01 01
01 01 01 01 - for example, not real bytes
db 01 01 01 01 - for example, not real bytes

_pBase = name
NAME.exe = game's .exe's name
_WHAT_I_WANT = your pointer's name
$4 = 32 bits
$8 = 64 bits

Example of code:
code:
mov ecx,[eax+120]
mov ecx,[eax+200]
mov ecx,[eax+300]


Now you'll do some compare, resulting in:

newmem:
pushad
mov bl,[_WHAT_I_WANT]
mov byte ptr [eax+100],bl
mov bl,[_WHAT_I_WANT+1]
mov byte ptr [eax+200],bl
mov bl,[_WHAT_I_WANT+2]
mov byte ptr [eax+300],bl
popad

byte ptr = since the value is located on bytes, if is on float, add that or just add mov

This:

_WHAT_I_WANT:
db (byte)10
_WHAT_I_WANT+1:
db (byte)20
_WHAT_I_WANT+2:
db (byte)30

10, 20, 30 are their offsets

Why?
dealloc(*)
unregistersymbol(*)


Will deallocate and unreg an infinite number of them, without having to always add:

dealloc (newmem1)
dealloc (newmem2)

or

unregistersymbol(that1)
unregistersymbol(that2)

Why?
registersymbol(_pBase _WHAT_I_WANT)

You can add a lot without having to add multiple, like:
registersymbol(_pBase _WHAT_I_WANT _WHAT_YOU_WANT _WHAT_THEY_WANT)

Having them like:
registersymbol(_pBase _WHAT_I_WANT)
registersymbol(_pBase _WHAT_YOU_WANT)

I mean these can be simplified.


Then select your pointer and right click on it and go into that dropdown menu and select all three from there or those you'd like, meaning:

Disallow manual user input
Only show the description part
Make the record display values like the dropdown list


In here add their id's:

32FD65:That: Apple
32FD66:That: Orange

Or if you have a base address, go with that, there's many ways to do this, this is somehow easier. :P

Or add the value and name you want for the exact pointer you'd like:

Image

From that ss you can see the pointer has set some values with names, with dropdown menu and instead of values you'll select the names.

I hope it helped! :P

Enferno33
Expert Cheater
Expert Cheater
Posts: 173
Joined: Tue Dec 24, 2019 6:05 am
Reputation: 32

Re: Dropdown menu for Description?

Post by Enferno33 »

Thanks VampTY!

However, I think this is way too much for what I'm wanting..or better yet, this is way beyond my experience with cheat engine.. let me explain and show an example a bit better.

In cheat engine you can right click and select: Set/Change dropdown selection options

I can make a dropdown list, however it removes the value and displays the name(s).

I want to make the dropdown list in the descriptions to change only the name of the code, not the value.
Spoiler
[Link]
In this list it depends on which of these I loot first in which order they will appear. In this picture above you'll see a list of:
Coins
Bones
Iron Ore
Metal Flint
Dwarven Stone
Ancient Tablet
Wood
Inscribed Rupture Quartz
Cloth
Plank
Iron Ingot
Fiber

Now, if I create a new character and restarted none of these are generated until I loot them. However, if I loot them in a different order like:
Wood
Plank
Fiber
Coins
Cloth
Iron Ore
Inscribed Rupture Quartz
etc...

So, Coins = Wood. It would be 604206.625 listed for Wood and although the values are correct, it would be changing Coins and not Wood. The codes doesn't register the item until you actually acquire it. Each item doesn't tie itself to the same address each time you create a new character because no one can predict what order you'll loot each item, if that makes sense?

They will appear in order like this, but the values will be wrong because I have them named as the top list. All I want to do is have a drop down list to change the name if the pointers/addresses don't match in the next play through.

I still need the values to show because that is how I change how many of each item I have, I only want a drop list for the name and not value.

Is that possible or will a drop list only display in the value tab?

Enferno33
Expert Cheater
Expert Cheater
Posts: 173
Joined: Tue Dec 24, 2019 6:05 am
Reputation: 32

Re: Dropdown menu for Description?

Post by Enferno33 »

Ok, I got it working and figured out. Thank you very much :)

I have a question..

I choose what I want in each slot, but whenever I close the table and re-open it then they all reset to "Empty"... can I save my choices?

Example:
Coins
Wood
Cloth
Iron Ore
Fiber
etc...

But once I close it and re-open it then it will be:
Empty
Empty
Empty
Empty
Empty
etc...

User avatar
VampTY
Table Makers
Table Makers
Posts: 809
Joined: Tue Mar 05, 2019 10:52 am
Reputation: 1052

Re: Dropdown menu for Description?

Post by VampTY »

Uh, you can save your stuff and whatnot.I've pretty much explained it up, do a cmp or use a base address.

Here's some example with what you said you'd like, in this case is just a level skip, same thing though and it does save when is exited and is using only names.

Video will be removed in 24 hrs :lol:


Perhaps you're not using any base address or the real offsets?Or something is set wrong, paste me the table or soem part from it through PM and name the game (in order for me to download it), perhaps share also a saved game to it and in case i'll download a suitable version to match your game and if that saved game will work, then i can take a look into this matter, if it won't work, though luck! :P

Enferno33
Expert Cheater
Expert Cheater
Posts: 173
Joined: Tue Dec 24, 2019 6:05 am
Reputation: 32

Re: Dropdown menu for Description?

Post by Enferno33 »

VampTY wrote:
Thu Jan 11, 2024 10:09 pm
Uh, you can save your stuff and whatnot.I've pretty much explained it up, do a cmp or use a base address.

Here's some example with what you said you'd like, in this case is just a level skip, same thing though and it does save when is exited and is using only names.

Video will be removed in 24 hrs :lol:


Perhaps you're not using any base address or the real offsets?Or something is set wrong, paste me the table or soem part from it through PM and name the game (in order for me to download it), perhaps share also a saved game to it and in case i'll download a suitable version to match your game and if that saved game will work, then i can take a look into this matter, if it won't work, though luck! :P
Ok, I have the table working with the drop down list. However, once I close the game / table it resets the list back to: Empty on all. Is there a way to save it to what I select each one?

I seen that you can do it through a .txt or .lua file, but I cannot figure out how to do so as I always get a syntax error (Still trying to figure it out). I'm using this through the main.lua file inside the CE main folder.

This is what I have so far:
[1] ID=tonumber(settings.Value['Coins'])
[1] ID=settings.Value['Coins']
[2] ID=settings.Value['Bones']
[3] ID=settings.Value['Iron Ore']
[4] ID=settings.Value['Metal Flint']
[5] ID=settings.Value['Dwarven Stone']

But I get a syntax error when loading CE. Am I even on the right track?

Here is what my table looks like:
Spoiler
[Link]
How would I write it to save?

if settings.Value['Empty'] ~= nil then
UDF1.CE[1] ID.caption = settings.Value['Coins']
UDF1.CE[2] ID.caption = settings.Value['Bones']
UDF1.CE[3] ID.caption = settings.Value['Iron Ore']
end
end

This isn't correct, what am I doing wrong?

EDIT: Ok, so I got rid of the syntax errors, however it still will not change my drop down list.. why?

settings=getSettings('MyTable')
settings.Value['Empty']=0
settings.Value['Coins']=1
settings.Value['Bones']=2
settings.Value['Iron Ore']=3
settings.Value['Metal Flint']=4
settings.Value['Dwarven Stone']=5

settings=getSettings('MyTable')
ID1=tonumber(settings.Value['Coins'])
if ID1==settings.Value['Empty'] then ID1=settings.Value['Coins']
end

Both of these bottom lines work, but neither of them will actually change the drop down menu inside the table, any reason why?

Post Reply

Who is online

Users browsing this forum: No registered users