setMacroProps: Difference between revisions
Jump to navigation
Jump to search
Verisimilar (talk | contribs) m (Correcting JSON Array link.) |
Bubblobill (talk | contribs) mNo edit summary |
||
(11 intermediate revisions by 7 users not shown) | |||
Line 1: | Line 1: | ||
{{MacroFunction | {{MacroFunction | ||
|name=setMacroProps | |name=setMacroProps | ||
|version=1.3b48 | |version=1.3b48 | ||
|description= | |description=Sets the properties for the specified [[Token:Macro Button|Macro Button]] on the given token. The properties are passed to this function as a [[String Property List]]. This function accepts either a [[getMacroButtonIndex|Macro Button Index]] or the label of a Macro Button. If it is a label, then all Macro Buttons on the token with a matching label are changed. | ||
Sets the properties for the specified [[Token:Macro Button|Macro Button]] on the | |||
|usage= | |usage= | ||
< | <syntaxhighlight lang="mtmacro" line> | ||
setMacroProps(index, props) | setMacroProps(index, props) | ||
setMacroProps(index, props, delim) | setMacroProps(index, props, delim) | ||
setMacroProps(index, props, delim, id) | setMacroProps(index, props, delim, id) | ||
</ | setMacroProps(index, props, delim, id, mapname) | ||
< | </syntaxhighlight> | ||
<syntaxhighlight lang="mtmacro" line> | |||
setMacroProps(label, props) | setMacroProps(label, props) | ||
setMacroProps(label, props, delim) | setMacroProps(label, props, delim) | ||
setMacroProps(label, props, delim, id) | setMacroProps(label, props, delim, id) | ||
</ | setMacroProps(label, props, delim, id, mapname) | ||
</syntaxhighlight> | |||
'''Parameters''' | '''Parameters''' | ||
{{param|index|The index of the macro button.}} | {{param|index|The index of the macro button.}} | ||
{{param|label|The label of the macro button.}} | {{param|label|The label of the macro button.}} | ||
{{param|props|A [[String Property List]] or [[JSON Object]] containing the properties for the button. | {{param|props|A [[String Property List]] or [[JSON Object]] containing the properties for the button. | ||
** {{ | ** See {{func|createMacro}} for a complete list of properties.}} | ||
{{param|delim|The delimiter used in the [[String Property List]] that is used in the {{code|props}} parameter. Defaults to {{code|";"}} (semicolon) and can be omitted if you are sending a [[JSON Object]] as the {{code|props}} parameter. If you are sending a JSON object as the {{code|props}} parameter, and using the {{code|id}} parameter, you can set this to {{code|"json"}}.}} | |||
{{param|id|OPTIONAL: The token {{code|id}} of the token that the macro button is located on. From v1.15, accepts "campaign" and "gm" as ids for the relevant panels.{{TrustedParameter}} }} | |||
{{param|mapname|The name of the map to find the token. Defaults to the current map.}} | |||
{{param|delim|The delimiter used in the [[String Property List]] that is | |||
{{param|id|The token {{code|id}} of the token that the macro button is located on. {{TrustedParameter}} }} | |||
|example= | |example= | ||
< | Changes the macro button to be red with white text. First one is by index and the second one by label (name). | ||
<syntaxhighlight lang="mtmacro" line> | |||
[h: setMacroProps(1, "color=red;fontColor=white")] | [h: setMacroProps(1, "color=red;fontColor=white")] | ||
[h: setMacroProps("Attack", "color=red;fontColor=white")] | [h: setMacroProps("Attack", "color=red;fontColor=white")] | ||
</ | </syntaxhighlight> | ||
Somewhat silly example that changes the label (name) of the currently executing macro to the current time and randomly changes the button color. | |||
<syntaxhighlight lang="mtmacro" line> | |||
[h: color = listGet("Red, Blue, Green, White, Yellow, Orange", 1d6-1)] | |||
[h: index = getMacroIndexes(getMacroName())] | |||
[h: dt = json.get(getInfo("server"), "timeDate")] | |||
[h: time = listGet(dt, 1, " ")] | |||
[h: myProps = setStrProp("", "label", time)] | |||
[h: myProps = setStrProp(myProps, "color", color)] | |||
[h: setMacroProps(index, myprops)] | |||
</syntaxhighlight> | |||
|changes= | |changes= | ||
{{change|1.3b49|Added ability for {{code|props}} to accept a JSON object.}} | {{change|1.3b49|Added ability for {{code|props}} to accept a JSON object.}} | ||
{{change|1.3b51|Added {{code|id}} parameter option.}} | {{change|1.3b51|Added {{code|id}} parameter option.}} | ||
{{change|1.3b53|Added ability for {{code|command}}, {{code|compare}}, {{code|playerEditable}}, {{code|applyToSelected}}, {{code| | {{change|1.3b53|Added ability for {{code|command}}, {{code|compare}}, {{code|playerEditable}}, {{code|applyToSelected}}, {{code|autoExecute}}, {{code|group}}, and {{code|tooltip}} parameters.}} | ||
{{change|1.5.11|Added {{code|mapname}} parameter option.}} | |||
{{change|1.15|Addition of "gm" and "campaign" options for id}} | |||
}} | }} | ||
[[Category:Metamacro Function]] | [[Category:Metamacro Function]][[Category:Macro Function]] |
Latest revision as of 05:17, 17 March 2024
setMacroProps() Function
• Introduced in version 1.3b48
Sets the properties for the specified Macro Button on the given token. The properties are passed to this function as a String Property List. This function accepts either a Macro Button Index or the label of a Macro Button. If it is a label, then all Macro Buttons on the token with a matching label are changed.
Usage
setMacroProps(index, props)
setMacroProps(index, props, delim)
setMacroProps(index, props, delim, id)
setMacroProps(index, props, delim, id, mapname)
setMacroProps(label, props)
setMacroProps(label, props, delim)
setMacroProps(label, props, delim, id)
setMacroProps(label, props, delim, id, mapname)
Parameters
index
- The index of the macro button.label
- The label of the macro button.props
- A String Property List or JSON Object containing the properties for the button.- See createMacro() for a complete list of properties.
delim
- The delimiter used in the String Property List that is used in theprops
parameter. Defaults to";"
(semicolon) and can be omitted if you are sending a JSON Object as theprops
parameter. If you are sending a JSON object as theprops
parameter, and using theid
parameter, you can set this to"json"
.id
- OPTIONAL: The tokenid
of the token that the macro button is located on. From v1.15, accepts "campaign" and "gm" as ids for the relevant panels.Note: This parameter can only be used in a Trusted Macro.
mapname
- The name of the map to find the token. Defaults to the current map.
Example
Changes the macro button to be red with white text. First one is by index and the second one by label (name).
[h: setMacroProps(1, "color=red;fontColor=white")]
[h: setMacroProps("Attack", "color=red;fontColor=white")]
Somewhat silly example that changes the label (name) of the currently executing macro to the current time and randomly changes the button color.
[h: color = listGet("Red, Blue, Green, White, Yellow, Orange", 1d6-1)]
[h: index = getMacroIndexes(getMacroName())]
[h: dt = json.get(getInfo("server"), "timeDate")]
[h: time = listGet(dt, 1, " ")]
[h: myProps = setStrProp("", "label", time)]
[h: myProps = setStrProp(myProps, "color", color)]
[h: setMacroProps(index, myprops)]
Version Changes
- 1.3b49 - Added ability for
props
to accept a JSON object. - 1.3b51 - Added
id
parameter option. - 1.3b53 - Added ability for
command
,compare
,playerEditable
,applyToSelected
,autoExecute
,group
, andtooltip
parameters. - 1.5.11 - Added
mapname
parameter option. - 1.15 - Addition of "gm" and "campaign" options for id