getMatchingLibProperties
getMatchingLibProperties() Function
• Introduced in version 1.3b54
Returns a String List or JSON Array with names of the Token Properties on a specific Library Token that match the given pattern.
Usage
getMatchingLibProperties(pattern)
getMatchingLibProperties(pattern, lib)
getMatchingLibProperties(pattern, lib, delim)
Parameters
pattern
- A regular expression(regex) that represents the pattern the properties should match.lib
- The name of the Library Token that is checked for properties that match. It defaults to the Library Token the macro is running on.delim
- The delimiter used in the String List that is returned. It defaults to","
. The return value is a JSON Array if"json"
is specified.
Examples
Assuming that you have a Library Token named
Lib:Items
that contained a list of all the items and their detail in your campaign stored as Token properties names with the following format Type:Item Name
(for example Weapon:Longsword)
, you could use the following code to loop through all the weapons:
< syntaxhighlight lang="mtmacro" line> [foreach(item, getMatchingLibProperties("Weapon:.*", "Lib:Items")): { }] </syntaxhighlight >
Or use the following to loop through all the armor: < syntaxhighlight lang="mtmacro" line> [foreach(item, getMatchingLibProperties("Armor:.*", "Lib:Items")): { }] </syntaxhighlight >
Or even all the armor and all the shields: < syntaxhighlight lang="mtmacro" line>
[foreach(item, getMatchingLibProperties("(ArmorSee Also
Version Changes
Updated in 1.11:
MTscript functions for acting on library tokens have been modified to also work on Add-on libraries.
This modification allows the namespace of the add-on library to be used where the Lib:
token name would normally appear. For example,
< syntaxhighlight lang="mtmacro" line> [h: getMatchingLibProperties("(Armor