Difference between revisions of "Lua:Class:MemoryRecord"

From Cheat Engine
Jump to navigation Jump to search
m (Properties: Fixed typo in Color's description.)
 
(12 intermediate revisions by 6 users not shown)
Line 1: Line 1:
MemoryRecord '''class''': ('''Inheritance''': ''[[Object]]'')
+
[[Category:Lua]]
 +
MemoryRecord '''class''': ('''Inheritance''': ''[[Lua:Class:Object|Object]]'')
  
 
The memory record objects are the entries you see in the address list.
 
The memory record objects are the entries you see in the address list.
Line 58: Line 59:
 
; Value : string
 
; Value : string
 
: The value in stringform.
 
: 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
 
; Selected : boolean
Line 66: Line 71:
  
 
; Color : integer
 
; Color : integer
: The memory record's RBG color integer.
+
: The memory record's RGB color integer.
  
 
; ShowAsHex : boolean
 
; ShowAsHex : boolean
Line 89: Line 94:
 
: Number of hotkeys attached to this memory record.
 
: Number of hotkeys attached to this memory record.
  
; Hotkey[''index''] : [[GenericHotkey]]
+
; Hotkey[''index''] : [[Lua:Class:GenericHotkey|GenericHotkey]]
 
: Array to index the hotkeys.
 
: 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
 
; OnActivate : function(''memoryrecord'', ''before'', ''currentstate'') : boolean
Line 105: Line 124:
 
; DontSave : boolean
 
; DontSave : boolean
 
: Don't save this memoryrecord and it's children
 
: 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 ==
 
== Methods ==
 
; getDescription() : string
 
; getDescription() : string
: Returns the memory record's dexcription.
+
: Returns the memory record's description.
  
 
; setDescription()
 
; setDescription()
: Sets the memory record's dexcription.
+
: Sets the memory record's description.
  
 
; getAddress() : integer - (integer, table)
 
; getAddress() : integer - (integer, table)
Line 138: Line 184:
 
: Appends the current memory record to the given memory record
 
: Appends the current memory record to the given memory record
  
; getHotkey(''index'') : [[GenericHotkey]]
+
; getHotkey(''index'') : [[Lua:Class:GenericHotkey|GenericHotkey]]
 
: Returns the hotkey from the hotkey array
 
: Returns the hotkey from the hotkey array
  
; getHotkeyByID(''integer'') : [[GenericHotkey]]
+
; getHotkeyByID(''integer'') : [[Lua:Class:GenericHotkey|GenericHotkey]]
 
: Returns the hotkey with the given id
 
: Returns the hotkey with the given id
 +
 +
; [''index''] : MemoryRecord
 +
: Same as 'Child[''index'']'
 +
: Default accessor.
  
 
== Examples ==
 
== Examples ==
 +
<syntaxhighlight lang="lua">
 
  local addressList = getAddressList()
 
  local addressList = getAddressList()
 
  local mrHealth = addressList.getMemoryRecordByDescription('Health')
 
  local mrHealth = addressList.getMemoryRecordByDescription('Health')
 
  print(mrHealth.Description)
 
  print(mrHealth.Description)
  print(mrHealth.Active and 'Ture' or 'False')
+
  print(mrHealth.Active and 'True' or 'False')
 +
</syntaxhighlight>
  
== See also ==
+
{{LuaSeeAlso}}
* [[Lua]]
 
* [[Help_File:Script engine|Script engine]]
 
  
 
=== Related Functions ===
 
=== Related Functions ===
* [[getMainForm]]
+
* [[Lua:getMainForm|getMainForm]]
* [[getAddressList]]
+
* [[Lua:getAddressList|getAddressList]]
  
 
=== Related Classes ===
 
=== Related Classes ===
* [[Addresslist]]
+
* [[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]