getLights: Difference between revisions

From RPTools Wiki
Jump to navigation Jump to search
m (Fixing broken wikiLinks, pointing to Lights and Sights tutorial)
No edit summary
Line 28: Line 28:
<source lang="mtmacro" line>
<source lang="mtmacro" line>
[getLights("Generic")]
[getLights("Generic")]
</source>
'''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]]:
<source lang="mtmacro" line>
[r: json.path.read(json.get(getInfo("campaign"), "light sources"), ".[*][*]['name']")]
</source>
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):
<source lang="mtmacro" line>
[r: json.path.read(json.get(getInfo("campaign"), "light sources"), ".['TYPE'][*]['name']")]
</source>
</source>



Revision as of 21:36, 26 June 2022

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.