getLights: Difference between revisions

From RPTools Wiki
Jump to navigation Jump to search
m (Text replacement - "<source" to "<syntaxhighlight")
m (Text replacement - "source>" to "syntaxhighlight>")
Line 11: Line 11:
getLights(type, delim, id)
getLights(type, delim, id)
getLights(type, delim, id, mapname)
getLights(type, delim, id, mapname)
</source>
</syntaxhighlight>


'''Parameters'''
'''Parameters'''
Line 23: Line 23:
<syntaxhighlight lang="mtmacro" line>
<syntaxhighlight lang="mtmacro" line>
[getLights()]
[getLights()]
</source>
</syntaxhighlight>


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".
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>
<syntaxhighlight lang="mtmacro" line>
[getLights("Generic")]
[getLights("Generic")]
</source>
</syntaxhighlight>


'''Getting all lights from campaign properties'''<br>
'''Getting all lights from campaign properties'''<br>
Line 34: Line 34:
<syntaxhighlight lang="mtmacro" line>
<syntaxhighlight lang="mtmacro" line>
[r: json.path.read(json.get(getInfo("campaign"), "light sources"), ".[*][*]['name']")]
[r: json.path.read(json.get(getInfo("campaign"), "light sources"), ".[*][*]['name']")]
</source>
</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):
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>
<syntaxhighlight lang="mtmacro" line>
[r: json.path.read(json.get(getInfo("campaign"), "light sources"), ".['TYPE'][*]['name']")]
[r: json.path.read(json.get(getInfo("campaign"), "light sources"), ".['TYPE'][*]['name']")]
</source>
</syntaxhighlight>


|changes=
|changes=

Revision as of 19:00, 14 March 2023

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, id)
getLights(type, delim, id, 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 ",".
  • id - The token id of the token to change 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.

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 and mapname parameter options.