Difference between revisions of "Lua:Class:MemoryRecord"
Jump to navigation
Jump to search
(→Properties) |
m (→Properties: Fixed typo in Color's description.) |
||
(17 intermediate revisions by 6 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 == | == 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]] | ||
− | * [[Lua| | + | === 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')