Difference between revisions of "Lua:Class:MemoryRecord"

From Cheat Engine
Jump to navigation Jump to search
m (Properties: Fixed typo in Color's description.)
 
(24 intermediate revisions by 8 users not shown)
Line 1: Line 1:
--Not complete
+
[[Category:Lua]]
 +
MemoryRecord '''class''': ('''Inheritance''': ''[[Lua:Class:Object|Object]]'')
  
'''MemoryRecord Class'''
+
The memory record objects are the entries you see in the address list.
  The Memoryrecord class object describes a Cheat Table's Cheat Entry.
 
  
 +
== Properties ==
 +
; ID : integer
 +
: Unique ID.
  
'''memoryrecord_getID'''(memoryrecord)
+
; Index : integer
  Returns the unique id of this memory record. Every memory record has an unique id
+
: The index ID for this record. 0 is top. (ReadOnly)
  
 +
; Description : string- The description of the memory record.
  
'''memoryrecord_getHotkeyCount'''(memoryrecord)
+
; Address : string
  Returns the number of hotkeys assigned to this Cheat Entry
+
: Get/set the interpretable address string. Useful for simple address settings.
  
 +
; OffsetCount : integer
 +
: The number of offsets. Set to 0 for a normal address.
  
'''memoryrecord_getHotkey'''(memoryrecord, index)
+
; Offset[''index''] : integer
  Returns a memoryrecordhotkey class
+
: Array to access each offset.
  
 +
; CurrentAddress : integer
 +
: The address the memoryrecord points to.
  
'''memoryrecord_getHotkeyByID'''(memoryrecord, ID)
+
; Type : 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 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
  
'''memoryrecord_setDescription'''(memoryrecord, description)
+
; Script : string
  Sets the specified description for this entry
+
: If the type is vtAutoAssembler this will contain the auto assembler script
  
 +
; Value : string
 +
: The value in stringform.
  
'''memoryrecord_getDescription'''(memoryrecord)
+
; IsGroupHeader : boolean
  Gets the current description of this entry
+
: 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)
  
'''memoryrecord_getAddress'''(memoryrecord)
+
; Active : boolean
  Returns the address and optional offsets for a pointer (note that in 64-bit kernelmode addresses will be rounded down...)
+
: Set to true to activate/freeze, false to deactivate/unfreeze
  
 +
; Color : integer
 +
: The memory record's RGB color integer.
  
'''memoryrecord_setAddress'''(memoryrecord,address,offsets OPTIONAL) 
+
; ShowAsHex : boolean
  Sets the address of a entry. You can give as many offsets as you need
+
: Self explanatory
  
 +
; ShowAsSigned : boolean
 +
: Self explanatory
  
'''memoryrecord_getType'''(memoryrecord) 
+
; AllowIncrease : boolean
  Returns the Variable type. (vtByte to vtCustom)
+
: Allow value increasing, unfreeze will reset it to false
  
 +
; AllowDecrease : boolean
 +
: Allow value decreasing, unfreeze will reset it to false
  
'''memoryrecord_setType'''(memoryrecord, vartype) 
+
; Count : integer
  Sets the type of the entry
+
: Number of children
  
 +
; Child[''index''] : MemoryRecord
 +
: Array to access the child records
  
'''memoryrecord_getValue'''(memoryrecord)
+
; HotkeyCount : integer
  Returns the current value of the cheat table entry as a string
+
: Number of hotkeys attached to this memory record.
  
 +
; Hotkey[''index''] : [[Lua:Class:GenericHotkey|GenericHotkey]]
 +
: Array to index the hotkeys.
  
'''memoryrecord_setValue'''(memoryrecord, value)
+
; Options : string
  Sets the value of a cheat table entry
+
: 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''')
  
'''memoryrecord_getScript'''(memoryrecord)
+
; OnActivate : function(''memoryrecord'', ''before'', ''currentstate'') : boolean
  If the entry is of type vtAutoAssembler then you can get the script with this routine
+
: 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.
  
'''memoryrecord_setScript'''(memoryrecord, script)
+
; OnDestroy : function
 +
: Called when the memoryrecord is destroyed.
  
 +
; DontSave : boolean
 +
: Don't save this memoryrecord and it's children
  
'''memoryrecord_isActive'''(memoryrecord)
+
; 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
  
'''memoryrecord_freeze'''(memoryrecord, updownfreeze OPTIONAL)
+
; DropDownList: StringList
  Sets the entry to frozen state. updownfreeze is optional. 0=freeze, 1=allow increase, 2=allow decrease
+
: list of "value:description" lines, lists are still separate objects when linked, read-write
  
 +
; DropDownReadOnly: boolean
 +
: true if 'Disallow manual user input' is set
  
'''memoryrecord_unfreeze'''(memoryrecord)
+
; DropDownDescriptionOnly: boolean
  Unfreezes an entry
+
: self explanatory
  
 +
; DisplayAsDropDownListItem: boolean
 +
: self explanatory
  
'''memoryrecord_setColor'''(memoryrecord, colorrgb)
+
; DropDownCount: integer
  Sets the color of the entry
+
: equivalent to .DropDownList.Count
  
 +
; DropDownValue: Array
 +
: Array to access values in DropDownList (ReadOnly)
  
'''memoryrecord_appendToEntry'''(memoryrecord,memoryrecord)
+
; DropDownDescription: Array
  Adds the entry to another entry
+
: Array to access Descriptions in DropDownList (ReadOnly)
  
 +
== Methods ==
 +
; getDescription() : string
 +
: Returns the memory record's description.
  
'''memoryrecord_delete'''(memoryrecord)  
+
; setDescription()
  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...
+
: 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
  
'''memoryrecord_onActivate'''(memoryrecord, function)  
+
; setAddress(''string'')
  Registers a function to be called when a cheat entry is Activated
+
: Sets the interpretable address string, and if offsets are provided make it a pointer
    function (memoryrecord, before, currentstate) boolean
 
    If before is true returning false will cause the activation to stop
 
  
 +
; getOffsetCount() : integer
 +
: Returns the number of offsets for this memoryrecord
  
'''memoryrecord_onDeactivate'''(memoryrecord, function)
+
; setOffsetCount(''integer'')
  Registers a function to be called when a cheat entry is Deactivated
+
: Lets you set the number of offsets
    function (memoryrecord, before, currentstate) boolean
 
    If before is true returning false will cause the deactivation to stop
 
  
 +
; getOffset(''index'') : integer
 +
: Gets the offset at the given index
  
'''memoryrecord_onDestroy'''(memoryrecord, function)  
+
; setOffset(''index'', ''value'')
  Registers a function to be called when a cheat entry is delete
+
: Sets the offset at the given index
    function (memoryrecord)
 
  
 +
; 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
  
Example:
+
; getHotkey(''index'') : [[Lua:Class:GenericHotkey|GenericHotkey]]
<pre>
+
: Returns the hotkey from the hotkey array
addresslist = getAddressList()
 
description1= [[Health]]
 
description2= [[Health Pointer]]
 
memoryrec1 = addresslist_getMemoryRecordByDescription(addresslist, description1)
 
memoryrec2 = addresslist_getMemoryRecordByDescription(addresslist, description2)
 
  
desc = memoryrecord_getDescription(memoryrec1)
+
; getHotkeyByID(''integer'') &#58; [[Lua:Class:GenericHotkey|GenericHotkey]]
print(desc)
+
: Returns the hotkey with the given id
  
memoryrecord_setDescription(memoryrec1, [[My new health description]])
+
; [''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>
  
value = memoryrecord_getValue(memoryrec2)
+
{{LuaSeeAlso}}
print(value)
 
  
newvalue = 66
+
=== Related Functions ===
memoryrecord_setValue(memoryrec2, newvalue)
+
* [[Lua:getMainForm|getMainForm]]
 +
* [[Lua:getAddressList|getAddressList]]
  
memoryrecord_freeze(memoryrec2)        -- to unfreeze use memoryrecord_freeze
+
=== Related Classes ===
memoryrecord_setColor(memoryrec2,0x0000FF)    -- Color codes should in hex values (range: 0x000000 to  0xFFFFFF  )   
+
* [[Lua:Class:Addresslist|Addresslist]]
</pre>[[Image:Image.png|frame|CheatEngine Encyclopedia]]
 
[[Image:Hotkey.png|frame|CheatEngine Encyclopedia]]
 

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]