Difference between revisions of "Lua:Class:MemoryRecord"
Jump to navigation
Jump to search
m (→Properties: Fixed typo in Color's description.) |
|||
(28 intermediate revisions by 8 users not shown) | |||
Line 1: | Line 1: | ||
− | + | [[Category:Lua]] | |
+ | MemoryRecord '''class''': ('''Inheritance''': ''[[Lua:Class:Object|Object]]'') | ||
− | + | The memory record objects are the entries you see in the address list. | |
− | |||
+ | == Properties == | ||
+ | ; 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''] : [[Lua:Class:GenericHotkey|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 == | ||
+ | ; 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'') : [[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
- If the type is vtString then the following properties are available:
- 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')