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 


Plugins and scans
Goto page 1, 2  Next
 
Post new topic   Reply to topic    Cheat Engine Forum Index -> Cheat Engine
View previous topic :: View next topic  
Author Message
itsoqrappy
Advanced Cheater
Reputation: 0

Joined: 24 Mar 2016
Posts: 67

PostPosted: Fri Apr 15, 2016 6:18 pm    Post subject: Plugins and scans Reply with quote

Edit: WORKING FOR ANOTHER IDEA, WITH THIS ONE THE GAME CRASHES ANYWAY

Last edited by itsoqrappy on Wed Apr 27, 2016 12:03 pm; edited 1 time in total
Back to top
View user's profile Send private message
ParkourPenguin
I post too much
Reputation: 152

Joined: 06 Jul 2014
Posts: 4709

PostPosted: Fri Apr 15, 2016 9:37 pm    Post subject: Reply with quote

Terminology: the upper-left box of the main CE window is called the "found list" and the bottom section is called the "address list". Look through main.lua or hover over the red drop down arrow to see evidence of this.

If you change the value yourself in the address list, just select the record and press ctrl+z to undo your change. If you're not changing the value yourself, then make a variable that stores the old value whenever the current value changes. Use either a timer or a bptWrite breakpoint to do this.

_________________
I don't know where I'm going, but I'll figure it out when I get there.
Back to top
View user's profile Send private message
itsoqrappy
Advanced Cheater
Reputation: 0

Joined: 24 Mar 2016
Posts: 67

PostPosted: Sat Apr 16, 2016 3:18 am    Post subject: Reply with quote

Edit: WORKING FOR ANOTHER IDEA, WITH THIS ONE THE GAME CRASHES ANYWAY

Last edited by itsoqrappy on Wed Apr 27, 2016 12:06 pm; edited 2 times in total
Back to top
View user's profile Send private message
ParkourPenguin
I post too much
Reputation: 152

Joined: 06 Jul 2014
Posts: 4709

PostPosted: Sat Apr 16, 2016 11:46 am    Post subject: Reply with quote

Yes, it's possible to revert an item in the found list back to a value it was at. This would not be easy as you'll have to read from the files on disk that CE uses. I'm not even sure if it's feasible to get the currently selected item in the found list.

As for your second idea, that would be pretty easy to do. Look into the GenericHotkey, Addresslist, and MemoryRecord classes in main.lua. If you want it inside a right click menu, you can try looking into the Control, PopupMenu, and Menu classes, but I'm not sure how feasible that'll be.

_________________
I don't know where I'm going, but I'll figure it out when I get there.
Back to top
View user's profile Send private message
itsoqrappy
Advanced Cheater
Reputation: 0

Joined: 24 Mar 2016
Posts: 67

PostPosted: Sat Apr 16, 2016 12:48 pm    Post subject: Reply with quote

Edit: WORKING FOR ANOTHER IDEA, WITH THIS ONE THE GAME CRASHES ANYWAY

Last edited by itsoqrappy on Wed Apr 27, 2016 12:05 pm; edited 2 times in total
Back to top
View user's profile Send private message
ParkourPenguin
I post too much
Reputation: 152

Joined: 06 Jul 2014
Posts: 4709

PostPosted: Sat Apr 16, 2016 1:05 pm    Post subject: Reply with quote

  1. Find the control with the correct popup menu (trial and error mostly; use the Visible property to help).
  2. Call createMenuItem(ownermenu) and pass it that popupmenu.
  3. Set the OnClick property of the menu you created.
  4. Call setShortcut(shortcut) on the property you created.
  5. Call popupmenu.Items.add(menu) and pass it the menu you created.

_________________
I don't know where I'm going, but I'll figure it out when I get there.
Back to top
View user's profile Send private message
itsoqrappy
Advanced Cheater
Reputation: 0

Joined: 24 Mar 2016
Posts: 67

PostPosted: Sat Apr 16, 2016 1:11 pm    Post subject: Reply with quote

Edit: WORKING FOR ANOTHER IDEA, WITH THIS ONE THE GAME CRASHES ANYWAY

Last edited by itsoqrappy on Wed Apr 27, 2016 12:05 pm; edited 2 times in total
Back to top
View user's profile Send private message
ParkourPenguin
I post too much
Reputation: 152

Joined: 06 Jul 2014
Posts: 4709

PostPosted: Sat Apr 16, 2016 1:30 pm    Post subject: Reply with quote

You can find it in less than a minute if you take some time to look through main.lua.
Code:
local c = getMainForm().Control[1]
local pm = c.PopupMenu
for i=0, pm.Items.Count - 1 do
  print("i:", i, "v:", pm.Items[i].Caption)
end

Do the printed results look familiar? If so, you found the right one. If not, then change that [1] to something else.

_________________
I don't know where I'm going, but I'll figure it out when I get there.
Back to top
View user's profile Send private message
itsoqrappy
Advanced Cheater
Reputation: 0

Joined: 24 Mar 2016
Posts: 67

PostPosted: Sat Apr 16, 2016 3:02 pm    Post subject: Reply with quote

Edit: WORKING FOR ANOTHER IDEA, WITH THIS ONE THE GAME CRASHES ANYWAY

Last edited by itsoqrappy on Wed Apr 27, 2016 12:05 pm; edited 2 times in total
Back to top
View user's profile Send private message
ParkourPenguin
I post too much
Reputation: 152

Joined: 06 Jul 2014
Posts: 4709

PostPosted: Sat Apr 16, 2016 4:46 pm    Post subject: Reply with quote

Second part:
Yes, loop through the table the function getSelectedRecords() returns.

Third part:
I'm confused again. Why do you need to constantly keep track of the value as it changes? All you need to do is save the value to a table (maybe index it using the address) with one function and restore the saved value with the other function. If there is no saved value, then just ignore that address.

_________________
I don't know where I'm going, but I'll figure it out when I get there.
Back to top
View user's profile Send private message
itsoqrappy
Advanced Cheater
Reputation: 0

Joined: 24 Mar 2016
Posts: 67

PostPosted: Sat Apr 16, 2016 5:17 pm    Post subject: Reply with quote

Edit: WORKING FOR ANOTHER IDEA, WITH THIS ONE THE GAME CRASHES ANYWAY

Last edited by itsoqrappy on Wed Apr 27, 2016 12:05 pm; edited 2 times in total
Back to top
View user's profile Send private message
ParkourPenguin
I post too much
Reputation: 152

Joined: 06 Jul 2014
Posts: 4709

PostPosted: Sat Apr 16, 2016 5:38 pm    Post subject: Reply with quote

Quote:
Addresslist Class: (Inheritance: Panel->WinControl->Control->Component->Object)
properties
Count: Integer - The number of records in the table
SelCount: integer- The number of records that are selected
SelectedRecord: MemoryRecord - The main selected record
MemoryRecord[]: MemoryRecord - Array to access the individial memory records
[] = MemoryRecord - Default accessor

methods
getCount()
getMemoryRecord(index)
getMemoryRecordByDescription(description): returns a MemoryRecord object
getMemoryRecordByID(ID)
createMemoryRecord() : creates an generic cheat table entry and add it to the list

getSelectedRecords(): Returns a table containing all the selected records

doDescriptionChange() : Will show the GUI window to change the description of the selected entry
doAddressChange() : Will show the GUI window to change the address of the selected entry
doTypeChange() : Will show the GUI window to change the type of the selected entries
doValueChange() : Will show the GUI window to change the value of the selected entries

getSelectedRecord() : Gets the main selected memoryrecord
setSelectedRecord(memrec) : Sets the currently selected memoryrecord. This will unselect all other entries

Please read main.lua. I'll even post this section here for you.

_________________
I don't know where I'm going, but I'll figure it out when I get there.
Back to top
View user's profile Send private message
itsoqrappy
Advanced Cheater
Reputation: 0

Joined: 24 Mar 2016
Posts: 67

PostPosted: Sun Apr 17, 2016 8:19 am    Post subject: Reply with quote

Edit: WORKING FOR ANOTHER IDEA, WITH THIS ONE THE GAME CRASHES ANYWAY

Last edited by itsoqrappy on Wed Apr 27, 2016 12:05 pm; edited 1 time in total
Back to top
View user's profile Send private message
ParkourPenguin
I post too much
Reputation: 152

Joined: 06 Jul 2014
Posts: 4709

PostPosted: Sun Apr 17, 2016 9:04 am    Post subject: Reply with quote

Please note that tables are not technically arrays, but they can be used like arrays and there is support (i.e. ipairs) for them built into Lua.

CE-related arrays tend to start at index 0, not 1 where Lua expects it to start. This could raise some errors with stuff like ipairs. So you have to loop through it manually like I did above.

_________________
I don't know where I'm going, but I'll figure it out when I get there.
Back to top
View user's profile Send private message
itsoqrappy
Advanced Cheater
Reputation: 0

Joined: 24 Mar 2016
Posts: 67

PostPosted: Sun Apr 17, 2016 9:39 am    Post subject: Reply with quote

Edit: WORKING FOR ANOTHER IDEA, WITH THIS ONE THE GAME CRASHES ANYWAY

Last edited by itsoqrappy on Wed Apr 27, 2016 12:05 pm; edited 1 time in total
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Cheat Engine Forum Index -> Cheat Engine All times are GMT - 6 Hours
Goto page 1, 2  Next
Page 1 of 2

 
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