Difference between revisions of "Lua"
Jump to navigation
Jump to search
(Initial draft) |
|||
Line 1: | Line 1: | ||
Cheat Engine comes with an extensive set of Lua functions you can use inside cheattables, trainers and standalone scripts. | Cheat Engine comes with an extensive set of Lua functions you can use inside cheattables, trainers and standalone scripts. | ||
+ | |||
+ | |||
+ | == Functions == | ||
* [[readBytes]]: Returns the bytes at the given address. If ReturnAsTable is true it will return a table instead of multiple bytes | * [[readBytes]]: Returns the bytes at the given address. If ReturnAsTable is true it will return a table instead of multiple bytes | ||
Line 31: | Line 34: | ||
* [[isKeyPressed]]: Returns true if the specified key is currently pressed | * [[isKeyPressed]]: Returns true if the specified key is currently pressed | ||
* [[keyDown]]: Causes the key to go into down state | * [[keyDown]]: Causes the key to go into down state | ||
+ | * [[keyUp]]: Causes the key to go up | ||
+ | * [[doKeyPress]]: Simulates a key press | ||
+ | * [[shellExecute]]: Executes a given command | ||
+ | * [[speedhack_setSpeed]]: Enables the speedhack if it was not active yet and sets the given speed | ||
+ | * [[injectDll]]: Injects a dll | ||
+ | * [[getCheatEngineDir]]: Returns the folder Cheat Engine(Or the trainer) is located at | ||
+ | * [[allocateSharedMemory]]: Creates/reuses a shared memory object. | ||
+ | * [[beep]]: Plays the fabulous beep/ping sound! | ||
+ | * [[xmplayer_playXM]]: Plays the given filename using the xmplayer | ||
+ | * [[xmplayer_pause]]: Pauses the current xm audio file | ||
+ | * [[xmplayer_resume]]: Resumes the current xm audio file | ||
+ | * [[xmplayer_stop]]: Stops the current xm audio file | ||
+ | * [[xmplayer_isPlaying]]: Returns true if there is currenty an xm audio file being played | ||
+ | * [[writeRegionToFile]]: Writes the given region to a file. Returns the number of bytes written | ||
+ | * [[readRegionFromFile]]: Writes the given file to a specific address | ||
+ | * [[resetLuaState]]: This will create a new lua state that will be used. | ||
+ | * [[registerSymbol]]: Assign the specified symbolname to an address | ||
+ | * [[unregisterSymbol]]: Remove the name from the address | ||
+ | * [[getNameFromAddress]]: Returns the given address in string form, returning the symbol representation if possible | ||
+ | * [[inModule]]: Returns true if the given address is inside a module | ||
+ | * [[inSystemModule]]: Returns true if the given address is inside a system module | ||
+ | * [[getCommonModuleList]]: Returns the commonModuleList StringList object | ||
+ | * [[cheatEngineIs64Bit]]: Returns true if CE is 64-bit, false if 32-bit | ||
+ | * [[targetIs64Bit]]: Returns true if the target process is 64-bit, false if 32-bit | ||
+ | * [[registerCustomTypeLua]]: Registers a Custom type based on lua functions | ||
+ | * [[registerCustomTypeAutoAssembler]]: Registers a custom type based on an auto assembler script | ||
+ | * [[onAutoGuess]]: Registers an function to be called whenever autoguess is used to predict a variable type | ||
+ | * [[debugger_onBreakpoint]]: Called by CE when a breakpoint hits (userdefined) | ||
+ | * [[createProcess]]: Creates a process with or without debugging | ||
+ | * [[debugProcess]]: Debugs the currently attached process | ||
+ | * [[debug_setBreakpoint]]: Sets a breakpoint of a specific size at the given address | ||
+ | * [[debug_removeBreakpoint]]: Removes a breakpoint | ||
+ | * [[debug_continueFromBreakpoint]]: Continues the debugger when it's halted on a breakpoint | ||
+ | * [[debug_setLastBranchRecording]]: Tells the kernelmode debugger to record the last few branches before the breakpoint got hit | ||
+ | * [[debug_getMaxLastBranchRecord]]: Returns the maximum number of branch records this cpu supports | ||
+ | * [[debug_getLastBranchRecord]]: Returns the value of the Last Branch Record at the given index (when handling a breakpoint) | ||
+ | * [[closeCE]]: Closes ce | ||
+ | * [[hideAllCEWindows]]: Makes all normal ce windows invisible (e.g trainer table) | ||
+ | * [[unhideMainCEwindow]]: Shows the main cheat engine window | ||
+ | * [[getAutoAttachList]]: Returns the AutoAttach StringList object | ||
+ | * [[supportCheatEngine]]: Will show an advertising window which will help keep the development of Cheat Engine going. | ||
+ | * [[fuckCheatEngine]]: Removes the ad window if it was showing | ||
+ | * [[onOpenProcess]]: Called by CE when it opens a process (userdefined) | ||
+ | * [[debugger_onModuleLoad]]: Called by CE when the windows debugger interface loads a module (userdefined) | ||
+ | * [[disassemble]]: Disassembles the given address and returns a string in the format of "address - bytes - opcode extra" | ||
+ | * [[splitDisassembledString]]: Returns 4 strings. The address, bytes, opcode and extra field | ||
+ | * [[getInstructionSize]]: Returns the size of an instruction | ||
+ | * [[getPreviousOpcode]]: Returns the address of the previous opcode (guess) | ||
+ | * [[dbk_initialize]]: Loads the DBK driver into memory if possible | ||
+ | * [[dbk_useKernelmodeOpenProcess]]: Switches the internal pointer of the OpenProcess api to dbk_OpenProcess | ||
+ | * [[dbk_useKernelmodeProcessMemoryAccess]]: Switches the internal pointer to the ReadProcessMemory and WriteProcessMemory apis to dbk_ReadProcessMemory and dbk_WriteProcessMemory | ||
+ | * [[dbk_useKernelmodeQueryMemoryRegions]]: Switches the internal pointer to the QueryVirtualMemory api to dbk_QueryVirtualMemory | ||
+ | * [[dbk_getPEProcess]]: Returns the pointer of the EProcess structure of the selected processid | ||
+ | * [[dbk_getPEThread]]: Gets the pointer to the EThread structure of a threadid | ||
+ | * [[dbk_readMSR]]: Reads the msr using the dbk driver | ||
+ | * [[dbk_writeMSR]]: Writes the msr using the dbk driver | ||
+ | * [[dbk_executeKernelMemory]]: Executes a routine from kernelmode (e.g a routine written there with auto assembler) | ||
+ | * [[dbvm_initialize]]: Initializes the dbvm functions | ||
+ | * [[dbvm_readMSR]]: Reads the msr using dbvm (bypasses the driver) | ||
+ | * [[dbvm_writeMSR]]: Writes the msr using dbvm (bypasses the driver) | ||
+ | * [[onAPIPointerChange]]: Registers a callback when an api pointer is changed | ||
+ | * [[setAPIPointer]]: Sets the pointer of the given api to the given address | ||
+ | * [[inheritsFromObject]]: Returns true if given any class | ||
+ | * [[inheritsFromComponent]]: Returns true if the given object inherits from the Component class | ||
+ | * [[inheritsFromControl]]: Returns true if the given object inherits from the Control class | ||
+ | * [[inheritsFromWinControl]]: Returns true if the given object inherits from the WinControl class | ||
+ | * [[getFormCount]]: Returns the total number of forms assigned to the main CE application | ||
+ | * [[getForm]]: Returns the form at the specific index | ||
+ | * [[getMemoryViewForm]]: Returns the first Memoryview form class object | ||
+ | * [[getMainForm]]: Returns the first Mainform class object | ||
+ | * [[getAddressList]]: Returns the cheat table addresslist object | ||
+ | * [[getFreezeTimer]]: Returns the Timer object responsible for freezing values | ||
+ | * [[getUpdateTimer]]: Returns the Timer object responsible for updating the value list | ||
+ | * [[AOBScan]]: Scans the currently opened process and returns a StringList object containing all the results | ||
+ | * [[getCurrentMemscan]]: Returns the currently active scan session as a MemScan object | ||
− | + | Besides these functions Cheat Engine also implements some classes | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
+ | == Classes == | ||
+ | * [[Object]] : Most basic class. All classes inherit from this class | ||
+ | * [[Component]] : Base class for all components that need owner-owned functionality. | ||
+ | * [[Control]] : Base class for visible controls. | ||
+ | * [[Wincontrol]]: Base class for controls which can contain other controls. | ||
+ | * [[GenericHotkey]]: Lets you register hotkeys to Cheat Engine's internal hotkey handler | ||
+ | * [[MenuItem]]: Holds the menuitems of a Menu, PopupMenu or even another MenuItem | ||
+ | * [[Menu]]: Common Class ancestor for the MainMenu and PopupMenu classes | ||
+ | * [[MainMenu]]: The menu at the top of a form | ||
+ | * [[PopupMenu]]: The menu that shows when rightclicking on an object | ||
+ | * [[Strings]]: Abstract class that some text based classes make use of | ||
+ | * [[Stringlist]]: Class that holds a list of strings | ||
+ | * [[Form]]: Class that defines a window | ||
+ | * [[GraphicControl]]: Class that supports simple lightweight controls that do not need the ability to accept keyboard input or contain other controls. | ||
+ | * [[Label]: The Label class is a visual component that lets you display text | ||
+ | * [[Splitter]]: The Splitter class is a visual component that lets the user re-size neighboring components) | ||
+ | * [[Panel]]: The Panel class is like a form which can contain visual components. | ||
+ | * [[Image]]: The Image class is a visual component that lets you show an image | ||
+ | * [[Edit]]: The Edit class is a visual component that lets the user type in data (Use control_getCaption to get the user input) | ||
+ | * [[Memo]]: The Memo class is a multiline edit field | ||
+ | * [[ButtonControl]]: Common ancestor of several button like objects. | ||
+ | * [[Button]]: The button class is a visual component in the shape of a button. | ||
+ | * [[CheckBox]]: The Checkbox is a visual component that lets the user click it and change state between checked, unchecked, and if possible, grayed | ||
+ | * [[ToggleBox]]: The togglebox is like a button, but can stay down. Use with the checkbox methods | ||
+ | * [[GroupBox]]: The groupbox class is like a Panel, but then has a header on top | ||
+ | * [[RadioGroup]]: The radiogroup is like a GroupBox but autopopulated using the Items(Strings object) | ||
+ | * [[ListBox]]: The listbox class is a visual component with a list of selectable strings | ||
+ | * [[ComboBox]]: The Combobox is like an edit field with a ListBox attached to it | ||
+ | * [[ProgressBar]]: The progressbar class is a visual representation for a bar that can show the current progress on something | ||
+ | * [[TrackBar]]: The trackbar class is a slider you can drag arround and read/set the state | ||
+ | * [[CollectionItem]]: Basic object that is managed by a Collection class | ||
+ | * [[ListColumn]]: The listcolumn class is an implemented CollectionItem class which is used by the ListColumns class of the listview class | ||
+ | * [[Collection]]: The Collection class is an abstract class that the ListColumns class implements (And perhaps other classes as well) | ||
+ | * [[ListColumns]]: The ListColumns class contains the Column class objects of a ListView object | ||
+ | * [[ListItem]]: The ListItem class object is an entry in a ListView | ||
+ | * [[ListItems]]: The listItems class is a container for the ListItem class objects of a Listview | ||
+ | * [[Listview]]: The listview class lets you have a listbox like component with resizable columns | ||
+ | * [[Timer]]: The timer class is an non visual component that when active triggers an onTimer event every few milliseconds, base don the given interval | ||
+ | * [[CustomControl]]: Base class for windowed controls which paint themselves | ||
+ | * [[Canvas]]: The canvas class is a graphical class. It allows you do draw lines, pictures, and text on top of other object. Usually used in onPaint events and other graphical events | ||
+ | * [[Pen]]: The Pen class is part of the Canvas object. It's used to draw lines | ||
+ | * [[Brush]]: The brush class is part of the Canvas object. It's used to fill surfaces | ||
+ | * [[Font]]: Class that defines a font | ||
+ | * [[Graphic]]: Base class for dealing with Graphic images (Abstract) | ||
+ | * [[Picture]]: Container for the Graphic class | ||
+ | * [[OpenDialog]]: The OpenDialog class is used to let the user select a file to open | ||
+ | * [[SaveDialog]]: The SaveDialog class is a copy of the OpenDialog class but is used to select a file for saving | ||
+ | * [[MemoryStream]]: The memorystream class is a Stream class that is stored completely in memory. Because it's a stream there are multiple functions that can work with it | ||
+ | * [[FileStream]]: The FileStream class is a Stream class that is linked to an open file on disk | ||
+ | * [[TableFile]]: Tablefiles are files stored into a Cheat Table. You can access the data of such a file using this class | ||
+ | * [[CheatComponent]]: The cheatcomponent class is the component used in Cheat Engine 5.x trainers | ||
+ | * [[MemoryRecordHotkey]]: The memoryRecordHotkey class object is part of a MemoryRecord class. It's used as an interface to each individual hotkey inside a Cheat Table | ||
+ | * [[MemoryRecord]]: The Memoryrecord class object describes a Cheat Table's Cheat Entry. | ||
+ | * [[Addresslist]]: The addresslist class is a container for memory records | ||
+ | * [[Memoryview]]: The memoryview class is the Memory view window of Cheat Engine. Use this as a basis to access the objects inside this window | ||
+ | * [[Disassemblerview]]: The visual disassembler used in the memory view window | ||
+ | * [[Hexadecimalview]]: The visual hexadecimal object used on the memory view window | ||
+ | * [[MemScan]]: The memscan class is the memory scanner of Cheat engine | ||
+ | * [[FoundList]]: The foundlist is an companion class to MemScan. It opens the current memscan's result file and provides an interface for reading out the addresses | ||
− | + | == Undefined Class Property Functions == | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
Not all properties of all classes have been explicitly exposed to lua, but if you know the name of a property of a specific class you can still access them (assuming they are declared as published in the pascal class declaration) | Not all properties of all classes have been explicitly exposed to lua, but if you know the name of a property of a specific class you can still access them (assuming they are declared as published in the pascal class declaration) | ||
− | |||
− | |||
− | |||
− | setProperty | + | See: |
− | getProperty | + | * [[getPropertyList]] : Returns a StringList object containing all the published properties of the specified class |
+ | * [[setProperty]] : Sets the value of a published property of a class (Won't work for method properties) | ||
+ | * [[getProperty]] : Gets the value of a published property of a class (Won't work for method properties) |
Revision as of 13:45, 21 February 2012
Cheat Engine comes with an extensive set of Lua functions you can use inside cheattables, trainers and standalone scripts.
Functions
- readBytes: Returns the bytes at the given address. If ReturnAsTable is true it will return a table instead of multiple bytes
- writeBytes: Write the given bytes to the given address from a table
- readBytesLocal: See readBytes but then it's for Cheat engine's memory
- writeBytesLocal: See writeBytes but then it's for Cheat Engine's memory
- readInteger: Reads a integer from the specified address
- readFloat: Reads a single precision floating point value from the specified address
- readDouble: Reads a double precision floating point value from the specified address
- readString: Reads a string from memory untill it ghits a 0-terminator. maxlength is just so you won't freeze for too long
- writeInteger: Writes an integer to the specified address. Returns true on success
- writeFloat: Writes a single precision floating point to the specified address. Returns true on success
- writeDouble: Writes a double precision floating point to the specified address. Returns true on success
- writeString: Write a string to the specified address. Returns true on success
- getAddress: Returns the address of a symbol. Can be a modulename or an export
- reinitializeSymbolhandler: Reinitializes the symbolhandler. E.g when new modules have been loaded
- generateAPIHookScript: Generates an auto assembler script which will hook the given address when executed
- autoAssemble: Runs the auto assembler with the given text
- showMessage: Shows a messagebox with the given text
- messageDialog: Pops up a messagebox
- sleep: Pauses for the number of specified milliseconds
- getOpenedProcessID: Returns the currently opened process
- getProcessIDFromProcessName: Returns a processid
- openProcess: Causes cheat engine to open the given processname or id
- getForegroundProcess: Returns the processid of the current foreground window
- pause: Pauses the current opened process
- unpause: Resumes the current opened process
- getPixel: Returns the rgb value of the pixel at the specific screen coordinate
- getMousePos: Returns the x,y coordinates of the mouse
- setMousePos: Sets the mouse position
- isKeyPressed: Returns true if the specified key is currently pressed
- keyDown: Causes the key to go into down state
- keyUp: Causes the key to go up
- doKeyPress: Simulates a key press
- shellExecute: Executes a given command
- speedhack_setSpeed: Enables the speedhack if it was not active yet and sets the given speed
- injectDll: Injects a dll
- getCheatEngineDir: Returns the folder Cheat Engine(Or the trainer) is located at
- allocateSharedMemory: Creates/reuses a shared memory object.
- beep: Plays the fabulous beep/ping sound!
- xmplayer_playXM: Plays the given filename using the xmplayer
- xmplayer_pause: Pauses the current xm audio file
- xmplayer_resume: Resumes the current xm audio file
- xmplayer_stop: Stops the current xm audio file
- xmplayer_isPlaying: Returns true if there is currenty an xm audio file being played
- writeRegionToFile: Writes the given region to a file. Returns the number of bytes written
- readRegionFromFile: Writes the given file to a specific address
- resetLuaState: This will create a new lua state that will be used.
- registerSymbol: Assign the specified symbolname to an address
- unregisterSymbol: Remove the name from the address
- getNameFromAddress: Returns the given address in string form, returning the symbol representation if possible
- inModule: Returns true if the given address is inside a module
- inSystemModule: Returns true if the given address is inside a system module
- getCommonModuleList: Returns the commonModuleList StringList object
- cheatEngineIs64Bit: Returns true if CE is 64-bit, false if 32-bit
- targetIs64Bit: Returns true if the target process is 64-bit, false if 32-bit
- registerCustomTypeLua: Registers a Custom type based on lua functions
- registerCustomTypeAutoAssembler: Registers a custom type based on an auto assembler script
- onAutoGuess: Registers an function to be called whenever autoguess is used to predict a variable type
- debugger_onBreakpoint: Called by CE when a breakpoint hits (userdefined)
- createProcess: Creates a process with or without debugging
- debugProcess: Debugs the currently attached process
- debug_setBreakpoint: Sets a breakpoint of a specific size at the given address
- debug_removeBreakpoint: Removes a breakpoint
- debug_continueFromBreakpoint: Continues the debugger when it's halted on a breakpoint
- debug_setLastBranchRecording: Tells the kernelmode debugger to record the last few branches before the breakpoint got hit
- debug_getMaxLastBranchRecord: Returns the maximum number of branch records this cpu supports
- debug_getLastBranchRecord: Returns the value of the Last Branch Record at the given index (when handling a breakpoint)
- closeCE: Closes ce
- hideAllCEWindows: Makes all normal ce windows invisible (e.g trainer table)
- unhideMainCEwindow: Shows the main cheat engine window
- getAutoAttachList: Returns the AutoAttach StringList object
- supportCheatEngine: Will show an advertising window which will help keep the development of Cheat Engine going.
- fuckCheatEngine: Removes the ad window if it was showing
- onOpenProcess: Called by CE when it opens a process (userdefined)
- debugger_onModuleLoad: Called by CE when the windows debugger interface loads a module (userdefined)
- disassemble: Disassembles the given address and returns a string in the format of "address - bytes - opcode extra"
- splitDisassembledString: Returns 4 strings. The address, bytes, opcode and extra field
- getInstructionSize: Returns the size of an instruction
- getPreviousOpcode: Returns the address of the previous opcode (guess)
- dbk_initialize: Loads the DBK driver into memory if possible
- dbk_useKernelmodeOpenProcess: Switches the internal pointer of the OpenProcess api to dbk_OpenProcess
- dbk_useKernelmodeProcessMemoryAccess: Switches the internal pointer to the ReadProcessMemory and WriteProcessMemory apis to dbk_ReadProcessMemory and dbk_WriteProcessMemory
- dbk_useKernelmodeQueryMemoryRegions: Switches the internal pointer to the QueryVirtualMemory api to dbk_QueryVirtualMemory
- dbk_getPEProcess: Returns the pointer of the EProcess structure of the selected processid
- dbk_getPEThread: Gets the pointer to the EThread structure of a threadid
- dbk_readMSR: Reads the msr using the dbk driver
- dbk_writeMSR: Writes the msr using the dbk driver
- dbk_executeKernelMemory: Executes a routine from kernelmode (e.g a routine written there with auto assembler)
- dbvm_initialize: Initializes the dbvm functions
- dbvm_readMSR: Reads the msr using dbvm (bypasses the driver)
- dbvm_writeMSR: Writes the msr using dbvm (bypasses the driver)
- onAPIPointerChange: Registers a callback when an api pointer is changed
- setAPIPointer: Sets the pointer of the given api to the given address
- inheritsFromObject: Returns true if given any class
- inheritsFromComponent: Returns true if the given object inherits from the Component class
- inheritsFromControl: Returns true if the given object inherits from the Control class
- inheritsFromWinControl: Returns true if the given object inherits from the WinControl class
- getFormCount: Returns the total number of forms assigned to the main CE application
- getForm: Returns the form at the specific index
- getMemoryViewForm: Returns the first Memoryview form class object
- getMainForm: Returns the first Mainform class object
- getAddressList: Returns the cheat table addresslist object
- getFreezeTimer: Returns the Timer object responsible for freezing values
- getUpdateTimer: Returns the Timer object responsible for updating the value list
- AOBScan: Scans the currently opened process and returns a StringList object containing all the results
- getCurrentMemscan: Returns the currently active scan session as a MemScan object
Besides these functions Cheat Engine also implements some classes
Classes
- Object : Most basic class. All classes inherit from this class
- Component : Base class for all components that need owner-owned functionality.
- Control : Base class for visible controls.
- Wincontrol: Base class for controls which can contain other controls.
- GenericHotkey: Lets you register hotkeys to Cheat Engine's internal hotkey handler
- MenuItem: Holds the menuitems of a Menu, PopupMenu or even another MenuItem
- Menu: Common Class ancestor for the MainMenu and PopupMenu classes
- MainMenu: The menu at the top of a form
- PopupMenu: The menu that shows when rightclicking on an object
- Strings: Abstract class that some text based classes make use of
- Stringlist: Class that holds a list of strings
- Form: Class that defines a window
- GraphicControl: Class that supports simple lightweight controls that do not need the ability to accept keyboard input or contain other controls.
- [[Label]: The Label class is a visual component that lets you display text
- Splitter: The Splitter class is a visual component that lets the user re-size neighboring components)
- Panel: The Panel class is like a form which can contain visual components.
- Image: The Image class is a visual component that lets you show an image
- Edit: The Edit class is a visual component that lets the user type in data (Use control_getCaption to get the user input)
- Memo: The Memo class is a multiline edit field
- ButtonControl: Common ancestor of several button like objects.
- Button: The button class is a visual component in the shape of a button.
- CheckBox: The Checkbox is a visual component that lets the user click it and change state between checked, unchecked, and if possible, grayed
- ToggleBox: The togglebox is like a button, but can stay down. Use with the checkbox methods
- GroupBox: The groupbox class is like a Panel, but then has a header on top
- RadioGroup: The radiogroup is like a GroupBox but autopopulated using the Items(Strings object)
- ListBox: The listbox class is a visual component with a list of selectable strings
- ComboBox: The Combobox is like an edit field with a ListBox attached to it
- ProgressBar: The progressbar class is a visual representation for a bar that can show the current progress on something
- TrackBar: The trackbar class is a slider you can drag arround and read/set the state
- CollectionItem: Basic object that is managed by a Collection class
- ListColumn: The listcolumn class is an implemented CollectionItem class which is used by the ListColumns class of the listview class
- Collection: The Collection class is an abstract class that the ListColumns class implements (And perhaps other classes as well)
- ListColumns: The ListColumns class contains the Column class objects of a ListView object
- ListItem: The ListItem class object is an entry in a ListView
- ListItems: The listItems class is a container for the ListItem class objects of a Listview
- Listview: The listview class lets you have a listbox like component with resizable columns
- Timer: The timer class is an non visual component that when active triggers an onTimer event every few milliseconds, base don the given interval
- CustomControl: Base class for windowed controls which paint themselves
- Canvas: The canvas class is a graphical class. It allows you do draw lines, pictures, and text on top of other object. Usually used in onPaint events and other graphical events
- Pen: The Pen class is part of the Canvas object. It's used to draw lines
- Brush: The brush class is part of the Canvas object. It's used to fill surfaces
- Font: Class that defines a font
- Graphic: Base class for dealing with Graphic images (Abstract)
- Picture: Container for the Graphic class
- OpenDialog: The OpenDialog class is used to let the user select a file to open
- SaveDialog: The SaveDialog class is a copy of the OpenDialog class but is used to select a file for saving
- MemoryStream: The memorystream class is a Stream class that is stored completely in memory. Because it's a stream there are multiple functions that can work with it
- FileStream: The FileStream class is a Stream class that is linked to an open file on disk
- TableFile: Tablefiles are files stored into a Cheat Table. You can access the data of such a file using this class
- CheatComponent: The cheatcomponent class is the component used in Cheat Engine 5.x trainers
- MemoryRecordHotkey: The memoryRecordHotkey class object is part of a MemoryRecord class. It's used as an interface to each individual hotkey inside a Cheat Table
- MemoryRecord: The Memoryrecord class object describes a Cheat Table's Cheat Entry.
- Addresslist: The addresslist class is a container for memory records
- Memoryview: The memoryview class is the Memory view window of Cheat Engine. Use this as a basis to access the objects inside this window
- Disassemblerview: The visual disassembler used in the memory view window
- Hexadecimalview: The visual hexadecimal object used on the memory view window
- MemScan: The memscan class is the memory scanner of Cheat engine
- FoundList: The foundlist is an companion class to MemScan. It opens the current memscan's result file and provides an interface for reading out the addresses
Undefined Class Property Functions
Not all properties of all classes have been explicitly exposed to lua, but if you know the name of a property of a specific class you can still access them (assuming they are declared as published in the pascal class declaration)
See:
- getPropertyList : Returns a StringList object containing all the published properties of the specified class
- setProperty : Sets the value of a published property of a class (Won't work for method properties)
- getProperty : Gets the value of a published property of a class (Won't work for method properties)