Difference between revisions of "Lua:Class:MemoryRecord"

From Cheat Engine
Jump to navigation Jump to search
(Created page with ''''MemoryRecord Class''' The Memoryrecord class object describes a Cheat Table's Cheat Entry. '''memoryrecord_getID'''(memoryrecord) Returns the unique id of this memory re…')
 
m (Properties: Fixed typo in Color's description.)
 
(31 intermediate revisions by 8 users not shown)
Line 1: Line 1:
'''MemoryRecord Class'''
+
[[Category:Lua]]
  The Memoryrecord class object describes a Cheat Table's Cheat Entry.
+
MemoryRecord '''class''': ('''Inheritance''': ''[[Lua:Class:Object|Object]]'')
  
 +
The memory record objects are the entries you see in the address list.
  
'''memoryrecord_getID'''(memoryrecord)
+
== Properties ==
  Returns the unique id of this memory record. Every memory record has an unique id
+
; ID : integer
 +
: Unique ID.
  
 +
; Index : integer
 +
: The index ID for this record. 0 is top. (ReadOnly)
  
'''memoryrecord_getHotkeyCount'''(memoryrecord)
+
; Description : string- The description of the memory record.
  Returns the number of hotkeys assigned to this Cheat Entry
 
  
 +
; Address : string
 +
: Get/set the interpretable address string. Useful for simple address settings.
  
'''memoryrecord_getHotkey'''(memoryrecord, index)
+
; OffsetCount : integer
  Returns a memoryrecordhotkey class
+
: The number of offsets. Set to 0 for a normal address.
  
 +
; Offset[''index''] : integer
 +
: Array to access each offset.
  
'''memoryrecord_getHotkeyByID'''(memoryrecord, ID)
+
; CurrentAddress : integer
  Every hotkey in a memoryrecord gets an unique ID. This way you can always find the hotkey even if the order of hotkeys has changed (or deleted)
+
: The address the memoryrecord points to.
  
 +
; Type : integer
 +
: The variable type of this record. See vtByte to vtCustom
 +
:* If the type is vtString then the following properties are available:
 +
:** String.Size: Number of characters in the string
 +
:** String.Unicode: boolean
 +
:* If the type is vtBinary then the following properties are available
 +
:** Binary.Startbit: First bit to start reading from
 +
:** Binary.Size: Number of bits
 +
:* If the type is vtByteArray then the following properties are available
 +
:** Aob.Size: Number of bytes
 +
:'''From ''defines.lua''''':
 +
vtByte=0
 +
vtWord=1
 +
vtDword=2
 +
vtQword=3
 +
vtSingle=4
 +
vtDouble=5
 +
vtString=6
 +
vtUnicodeString=7 --Only used by autoguess
 +
vtByteArray=8
 +
vtBinary=9
 +
vtAutoAssembler=11
 +
vtPointer=12 --Only used by autoguess and structures
 +
vtCustom=13
 +
vtGrouped=14
  
'''memoryrecord_setDescription'''(memoryrecord, description)
+
; CustomTypeName : string
  Sets the specified description for this entry
+
: If the type is vtCustomType this will contain the name of the CustomType
  
 +
; Script : string
 +
: If the type is vtAutoAssembler this will contain the auto assembler script
  
'''memoryrecord_getDescription'''(memoryrecord)
+
; Value : string
  Gets the current description of this entry
+
: The value in stringform.
  
 +
; IsGroupHeader : boolean
 +
: Set to true to change the memory record into a group header.
 +
: All properties and functions related to address, type, and value are ignored when true.
  
'''memoryrecord_getAddress'''(memoryrecord)
+
; Selected : boolean
  Returns the address and optional offsets for a pointer (note that in 64-bit kernelmode addresses will be rounded down...)
+
: Set to true if selected (ReadOnly)
  
 +
; Active : boolean
 +
: Set to true to activate/freeze, false to deactivate/unfreeze
  
'''memoryrecord_setAddress'''(memoryrecord,address,offsets OPTIONAL) 
+
; Color : integer
  Sets the address of a entry. You can give as many offsets as you need
+
: The memory record's RGB color integer.
  
 +
; ShowAsHex : boolean
 +
: Self explanatory
  
'''memoryrecord_getType'''(memoryrecord) 
+
; ShowAsSigned : boolean
  Returns the Variable type. (vtByte to vtCustom)
+
: Self explanatory
  
 +
; AllowIncrease : boolean
 +
: Allow value increasing, unfreeze will reset it to false
  
'''memoryrecord_setType'''(memoryrecord, vartype) 
+
; AllowDecrease : boolean
  Sets the type of the entry
+
: Allow value decreasing, unfreeze will reset it to false
  
 +
; Count : integer
 +
: Number of children
  
'''memoryrecord_getValue'''(memoryrecord)
+
; Child[''index''] : MemoryRecord
  Returns the current value of the cheat table entry as a string
+
: Array to access the child records
  
 +
; HotkeyCount : integer
 +
: Number of hotkeys attached to this memory record.
  
'''memoryrecord_setValue'''(memoryrecord, value)
+
; Hotkey[''index''] : [[Lua:Class:GenericHotkey|GenericHotkey]]
  Sets the value of a cheat table entry
+
: Array to index the hotkeys.
  
 +
; Options : string
 +
: A string of the set "Group Config" options in the format ''''[optionName,...]''''
 +
: Valid options are:
 +
moHideChildren
 +
moActivateChildrenAsWell
 +
moDeactivateChildrenAsWell
 +
moRecursiveSetValue
 +
moAllowManualCollapseAndExpand
 +
moManualExpandCollapse
 +
: example: '[moHideChildren,moAllowManualCollapseAndExpand,moManualExpandCollapse]'
  
'''memoryrecord_getScript'''(memoryrecord)
+
; Collapsed : boolean
  If the entry is of type vtAutoAssembler then you can get the script with this routine
+
: only works when manual expand/collapse is set in group config options ('''moManualExpandCollapse''')
  
 +
; OnActivate : function(''memoryrecord'', ''before'', ''currentstate'') : boolean
 +
: The function to call when the memoryrecord will change (or changed) Active to true.
 +
: If before is true, not returning true will cause the activation to stop.
  
'''memoryrecord_setScript'''(memoryrecord, script)
+
; OnDeactivate : function(memoryrecord,before,currentstate) : boolean
 +
: The function to call when the memoryrecord will change (or changed) Active to false.
 +
: If before is true, not returning true will cause the deactivation to stop.
  
 +
; OnDestroy : function
 +
: Called when the memoryrecord is destroyed.
  
'''memoryrecord_isActive'''(memoryrecord)
+
; DontSave : boolean
 +
: Don't save this memoryrecord and it's children
  
 +
; DropDownLinked: boolean
 +
: if dropdown list refers to list of another memory record eg. (memrec name)
  
'''memoryrecord_freeze'''(memoryrecord, updownfreeze OPTIONAL)
+
; DropDownLinkedMemrec: string
  Sets the entry to frozen state. updownfreeze is optional. 0=freeze, 1=allow increase, 2=allow decrease
+
: Description of linked memrec or emptystring if not linked
  
 +
; DropDownList: StringList
 +
: list of "value:description" lines, lists are still separate objects when linked, read-write
  
'''memoryrecord_unfreeze'''(memoryrecord)
+
; DropDownReadOnly: boolean
  Unfreezes an entry
+
: true if 'Disallow manual user input' is set
  
 +
; DropDownDescriptionOnly: boolean
 +
: self explanatory
  
'''memoryrecord_setColor'''(memoryrecord, colorrgb)
+
; DisplayAsDropDownListItem: boolean
  Sets the color of the entry
+
: self explanatory
  
 +
; DropDownCount: integer
 +
: equivalent to .DropDownList.Count
  
'''memoryrecord_appendToEntry'''(memoryrecord,memoryrecord)
+
; DropDownValue: Array
  Adds the entry to another entry
+
: Array to access values in DropDownList (ReadOnly)
  
 +
; DropDownDescription: Array
 +
: Array to access Descriptions in DropDownList (ReadOnly)
  
'''memoryrecord_delete'''(memoryrecord)  
+
== Methods ==
  It's unknown what this function does, all that is known is that after using this command other memrec routines with this table entry value don't work anymore...
+
; getDescription() : string
 +
: Returns the memory record's description.
  
 +
; setDescription()
 +
: Sets the memory record's description.
  
'''memoryrecord_onActivate'''(memoryrecord, function)  
+
; getAddress() : integer - (integer, table)
  Registers a function to be called when a cheat entry is Activated
+
: Returns the interpretable addressstring of this record.
    function (memoryrecord, before, currentstate) boolean
+
: If it is a pointer, it returns a second result as a table filled with the offsets
    If before is true returning false will cause the activation to stop
 
  
 +
; setAddress(''string'')
 +
: Sets the interpretable address string, and if offsets are provided make it a pointer
  
'''memoryrecord_onDeactivate'''(memoryrecord, function)
+
; getOffsetCount() : integer
  Registers a function to be called when a cheat entry is Deactivated
+
: Returns the number of offsets for this memoryrecord
    function (memoryrecord, before, currentstate) boolean
 
    If before is true returning false will cause the deactivation to stop
 
  
 +
; setOffsetCount(''integer'')
 +
: Lets you set the number of offsets
  
'''memoryrecord_onDestroy'''(memoryrecord, function)  
+
; getOffset(''index'') : integer
  Registers a function to be called when a cheat entry is delete
+
: Gets the offset at the given index
    function (memoryrecord)
+
 
 +
; setOffset(''index'', ''value'')
 +
: Sets the offset at the given index
 +
 
 +
; getCurrentAddress() : integer
 +
: Returns the current address as an integer (the final result of the interpretable address and pointer offsets)
 +
 
 +
; appendToEntry(''memrec'')
 +
: Appends the current memory record to the given memory record
 +
 
 +
; getHotkey(''index'') : [[Lua:Class:GenericHotkey|GenericHotkey]]
 +
: Returns the hotkey from the hotkey array
 +
 
 +
; getHotkeyByID(''integer'') : [[Lua:Class:GenericHotkey|GenericHotkey]]
 +
: Returns the hotkey with the given id
 +
 
 +
; [''index''] : MemoryRecord
 +
: Same as 'Child[''index'']'
 +
: Default accessor.
 +
 
 +
== Examples ==
 +
<syntaxhighlight lang="lua">
 +
local addressList = getAddressList()
 +
local mrHealth = addressList.getMemoryRecordByDescription('Health')
 +
print(mrHealth.Description)
 +
print(mrHealth.Active and 'True' or 'False')
 +
</syntaxhighlight>
 +
 
 +
{{LuaSeeAlso}}
 +
 
 +
=== Related Functions ===
 +
* [[Lua:getMainForm|getMainForm]]
 +
* [[Lua:getAddressList|getAddressList]]
 +
 
 +
=== Related Classes ===
 +
* [[Lua:Class:Addresslist|Addresslist]]

Latest revision as of 20:02, 6 September 2021

MemoryRecord class: (Inheritance: Object)

The memory record objects are the entries you see in the address list.

Properties[edit]

ID : integer
Unique ID.
Index : integer
The index ID for this record. 0 is top. (ReadOnly)
Description : string- The description of the memory record.
Address : string
Get/set the interpretable address string. Useful for simple address settings.
OffsetCount : integer
The number of offsets. Set to 0 for a normal address.
Offset[index] : integer
Array to access each offset.
CurrentAddress : integer
The address the memoryrecord points to.
Type : integer
The variable type of this record. See vtByte to vtCustom
  • If the type is vtString then the following properties are available:
    • String.Size: Number of characters in the string
    • String.Unicode: boolean
  • If the type is vtBinary then the following properties are available
    • Binary.Startbit: First bit to start reading from
    • Binary.Size: Number of bits
  • If the type is vtByteArray then the following properties are available
    • Aob.Size: Number of bytes
From defines.lua:
vtByte=0
vtWord=1
vtDword=2
vtQword=3
vtSingle=4
vtDouble=5
vtString=6
vtUnicodeString=7 --Only used by autoguess
vtByteArray=8
vtBinary=9
vtAutoAssembler=11
vtPointer=12 --Only used by autoguess and structures
vtCustom=13
vtGrouped=14
CustomTypeName : string
If the type is vtCustomType this will contain the name of the CustomType
Script : string
If the type is vtAutoAssembler this will contain the auto assembler script
Value : string
The value in stringform.
IsGroupHeader : boolean
Set to true to change the memory record into a group header.
All properties and functions related to address, type, and value are ignored when true.
Selected : boolean
Set to true if selected (ReadOnly)
Active : boolean
Set to true to activate/freeze, false to deactivate/unfreeze
Color : integer
The memory record's RGB color integer.
ShowAsHex : boolean
Self explanatory
ShowAsSigned : boolean
Self explanatory
AllowIncrease : boolean
Allow value increasing, unfreeze will reset it to false
AllowDecrease : boolean
Allow value decreasing, unfreeze will reset it to false
Count : integer
Number of children
Child[index] : MemoryRecord
Array to access the child records
HotkeyCount : integer
Number of hotkeys attached to this memory record.
Hotkey[index] : GenericHotkey
Array to index the hotkeys.
Options : string
A string of the set "Group Config" options in the format '[optionName,...]'
Valid options are:
moHideChildren
moActivateChildrenAsWell
moDeactivateChildrenAsWell
moRecursiveSetValue
moAllowManualCollapseAndExpand
moManualExpandCollapse
example: '[moHideChildren,moAllowManualCollapseAndExpand,moManualExpandCollapse]'
Collapsed : boolean
only works when manual expand/collapse is set in group config options (moManualExpandCollapse)
OnActivate : function(memoryrecord, before, currentstate) : boolean
The function to call when the memoryrecord will change (or changed) Active to true.
If before is true, not returning true will cause the activation to stop.
OnDeactivate : function(memoryrecord,before,currentstate) : boolean
The function to call when the memoryrecord will change (or changed) Active to false.
If before is true, not returning true will cause the deactivation to stop.
OnDestroy : function
Called when the memoryrecord is destroyed.
DontSave : boolean
Don't save this memoryrecord and it's children
DropDownLinked: boolean
if dropdown list refers to list of another memory record eg. (memrec name)
DropDownLinkedMemrec: string
Description of linked memrec or emptystring if not linked
DropDownList: StringList
list of "value:description" lines, lists are still separate objects when linked, read-write
DropDownReadOnly: boolean
true if 'Disallow manual user input' is set
DropDownDescriptionOnly: boolean
self explanatory
DisplayAsDropDownListItem: boolean
self explanatory
DropDownCount: integer
equivalent to .DropDownList.Count
DropDownValue: Array
Array to access values in DropDownList (ReadOnly)
DropDownDescription: Array
Array to access Descriptions in DropDownList (ReadOnly)

Methods[edit]

getDescription() : string
Returns the memory record's description.
setDescription()
Sets the memory record's description.
getAddress() : integer - (integer, table)
Returns the interpretable addressstring of this record.
If it is a pointer, it returns a second result as a table filled with the offsets
setAddress(string)
Sets the interpretable address string, and if offsets are provided make it a pointer
getOffsetCount() : integer
Returns the number of offsets for this memoryrecord
setOffsetCount(integer)
Lets you set the number of offsets
getOffset(index) : integer
Gets the offset at the given index
setOffset(index, value)
Sets the offset at the given index
getCurrentAddress() : integer
Returns the current address as an integer (the final result of the interpretable address and pointer offsets)
appendToEntry(memrec)
Appends the current memory record to the given memory record
getHotkey(index) : GenericHotkey
Returns the hotkey from the hotkey array
getHotkeyByID(integer) : GenericHotkey
Returns the hotkey with the given id
[index
MemoryRecord
Same as 'Child[index]'
Default accessor.

Examples[edit]

 local addressList = getAddressList()
 local mrHealth = addressList.getMemoryRecordByDescription('Health')
 print(mrHealth.Description)
 print(mrHealth.Active and 'True' or 'False')

See also[edit]

Related Functions[edit]

Related Classes[edit]