getLights: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
(16 intermediate revisions by 9 users not shown) | |||
Line 1: | Line 1: | ||
= | {{MacroFunction | ||
|name=getLights | |||
|version=1.3b48 | |||
|description=Returns a string list containing the names of the [[Introduction to Lights and Sights|light source]]s that are turned on for the [[Current Token]]. The type of the value returned depends on the delimiter parameter. | |||
|usage= | |||
<syntaxhighlight lang="mtmacro" line> | |||
getLights() | |||
getLights(type) | |||
getLights(type, delim) | |||
getLights(type, delim, tokenRef) | |||
getLights(type, delim, tokenRef, mapname) | |||
</syntaxhighlight> | |||
'''Parameters''' | |||
{{param|type|The light source type, (e.g. "Generic", "D20"). If set to "*", all light sources are returned. Defaults to "*".}} | |||
{{param|delim|The delimiter used to separate values in the [[Macros:string list{{!}}string list]]. If set to "json", a [[JSON Array]] is returned. Defaults to ",".}} | |||
{{param|tokenRef|Either the token [[getSelected|{{code|id}}]] or [[getTokenName|Token Name]] of the token to list the light sources, defaults to the [[Current Token]]. {{TrustedParameter}} }} | |||
{{param|mapname|The name of the map to find the token. Defaults to the current map.}} | |||
{{Note|Token IDs are unique, but Token Names can be duplicated. Using Token Name when more than one token has the same name can produce unexpected results.}} | |||
|examples= | |||
To get a [[Macros:string list{{!}}string list]] of all of the [[Introduction to Lights and Sights|light source]]s that the current [[Token:token{{!}}token]] has on. | |||
<syntaxhighlight lang="mtmacro" line> | |||
To get a [[Macros:string list | |||
< | |||
[getLights()] | [getLights()] | ||
</ | </syntaxhighlight> | ||
To get a [[Macros:string list | To get a [[Macros:string list{{!}}string list]] of the [[Introduction to Lights and Sights|light source]]s that the current [[Token:token{{!}}token]] has on with the light source type of "Generic". | ||
< | <syntaxhighlight lang="mtmacro" line> | ||
[getLights("Generic")] | [getLights("Generic")] | ||
</source> | </syntaxhighlight> | ||
'''Getting all lights from campaign properties'''<br> | |||
The information provided by [[getInfo]] can be used to extract all light source names defined in the campaign properties. The following provides all names in a [[JSON Array]]: | |||
<syntaxhighlight lang="mtmacro" line> | |||
[r: json.path.read(json.get(getInfo("campaign"), "light sources"), ".[*][*]['name']")] | |||
</syntaxhighlight> | |||
To restrict the query to only one specific type of light sources, you can use the following and replace {{code|'TYPE'}} with the desired type (note that single quotes are needed for this string, because double quotes are already in use): | |||
<syntaxhighlight lang="mtmacro" line> | |||
[r: json.path.read(json.get(getInfo("campaign"), "light sources"), ".['TYPE'][*]['name']")] | |||
</syntaxhighlight> | |||
|changes= | |||
{{change|1.3b49|Added ''"json"'' delimiter option.}} | |||
{{change|1.5.4|Added {{code|id}} and {{code|mapname}} parameter options.}} | |||
}} | |||
[[Category:Light Function]] | |||
[[Category:Token Function]] |
Latest revision as of 20:25, 13 May 2024
getLights() Function
• Introduced in version 1.3b48
Returns a string list containing the names of the light sources that are turned on for the Current Token. The type of the value returned depends on the delimiter parameter.
Usage
getLights()
getLights(type)
getLights(type, delim)
getLights(type, delim, tokenRef)
getLights(type, delim, tokenRef, mapname)
Parameters
type
- The light source type, (e.g. "Generic", "D20"). If set to "*", all light sources are returned. Defaults to "*".delim
- The delimiter used to separate values in the string list. If set to "json", a JSON Array is returned. Defaults to ",".tokenRef
- Either the tokenid
or Token Name of the token to list the light sources, defaults to the Current Token.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.
Token IDs are unique, but Token Names can be duplicated. Using Token Name when more than one token has the same name can produce unexpected results.
Examples
To get a string list of all of the light sources that the current token has on.
[getLights()]
To get a string list of the light sources that the current token has on with the light source type of "Generic".
[getLights("Generic")]
Getting all lights from campaign properties
The information provided by getInfo can be used to extract all light source names defined in the campaign properties. The following provides all names in a JSON Array:
[r: json.path.read(json.get(getInfo("campaign"), "light sources"), ".[*][*]['name']")]
To restrict the query to only one specific type of light sources, you can use the following and replace 'TYPE'
with the desired type (note that single quotes are needed for this string, because double quotes are already in use):
[r: json.path.read(json.get(getInfo("campaign"), "light sources"), ".['TYPE'][*]['name']")]
Version Changes
- 1.3b49 - Added "json" delimiter option.
- 1.5.4 - Added
id
andmapname
parameter options.