setLayer: Difference between revisions

From RPTools Wiki
Jump to navigation Jump to search
(Added examples of use, removed Stub note)
No edit summary
 
(12 intermediate revisions by 4 users not shown)
Line 4: Line 4:
|version=1.3b48
|version=1.3b48
|description=
|description=
Sets the [[Map Layer]] that a [[Token]] is on.
Sets the [[Introduction to Mapping#introduction to Mapping|Map Layer]] that a [[Token]] is on.


The [[Map Layer]] is one of:
The [[Introduction to Mapping#introduction to Mapping|Map Layer]] is one of:
* {{code|TOKEN}}
* {{code|TOKEN}}
* {{code|GM}} also known as Hidden
* {{code|GM}} also known as Hidden
* {{code|OBJECT}}
* {{code|OBJECT}}
* {{code|BACKGROUND}}
* {{code|BACKGROUND}}
 


|usage=
|usage=
<source lang="mtmacro" line>
<syntaxhighlight lang="mtmacro" line>
setLayer(layer)
setLayer(layer)
</source>
setLayer(layer, tokenRef)
<source lang="mtmacro" line>
setLayer(layer, tokenRef, forceshape)
setLayer(layer, id)
setLayer(layer, tokenRef, forceshape, mapRef)
</source>
</syntaxhighlight>
'''Parameters'''
'''Parameters'''
{{param|layer|The layer to move the [[Token]] to.}}
{{param|layer|The layer to move the [[Token]] to.}}
{{param|id|The token {{code|id}} of the token which has its layer set, defaults to the [[Current Token]].}}
{{param|tokenRef|Either the token [[getSelected|{{code|id}}]] or [[getTokenName|Token Name]] of the token.
}}
{{param|forceshape|}}If {{true}}, change the token shape type to TOP_DOWN if the layer is {{code|OBJECT}}, and to a shape reflecting its image if the layer is {{code|TOKEN}}. Defaults to {{true}}.
{{param|mapRef|The Name or ID 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=
|examples=
When an NPC token is dead, send it to the Object layer, otherwise leave it where it is.
When an NPC token is dead, send it to the Object layer, otherwise leave it where it is.
<source lang="mtmacro" line>
<syntaxhighlight lang="mtmacro" line>
[h: layerName = getLayer()]
[h: layerName = getLayer()]
[h: layerName = if(state.Dead&&isNPC(), "OBJECT", layerName)]
[h: layerName = if(state.Dead&&isNPC(), "OBJECT", layerName)]
[h: setLayer(layerName)]
[h: setLayer(layerName)]
</source>
</syntaxhighlight>


Toggle a token between the Hidden and Token layers.
Toggle a token between the Hidden and Token layers.
<source lang="mtmacro" line>
<syntaxhighlight lang="mtmacro" line>
[h: layerName = getLayer()]
[h: layerName = getLayer()]
[h: layerName = if(layerName=="GM", "TOKEN", "GM")]
[h: layerName = if(layerName=="GM", "TOKEN", "GM")]
[h: setLayer(layerName)]
[h: setLayer(layerName)]
</source>
</syntaxhighlight>


|also=
|also=
Line 43: Line 48:
|changes=
|changes=
{{change|1.3b51|Added {{code|id}} parameter option.}}
{{change|1.3b51|Added {{code|id}} parameter option.}}
 
{{change|1.5.4|Added {{code|mapname}} parameter option.}}
}}
}}
[[Category:Token Function]]
[[Category:Token Function]]

Latest revision as of 23:59, 10 May 2024

setLayer() Function

 Note: This function can only be used in a Trusted Macro

Introduced in version 1.3b48
Sets the Map Layer that a Token is on.

The Map Layer is one of:

  • TOKEN
  • GM also known as Hidden
  • OBJECT
  • BACKGROUND
 

Usage

setLayer(layer)
setLayer(layer, tokenRef)
setLayer(layer, tokenRef, forceshape)
setLayer(layer, tokenRef, forceshape, mapRef)

Parameters

  • layer - The layer to move the Token to.
  • tokenRef - Either the token id or Token Name of the token.
  • forceshape - If true(1), change the token shape type to TOP_DOWN if the layer is OBJECT, and to a shape reflecting its image if the layer is TOKEN. Defaults to true(1).
  • mapRef - The Name or ID 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

When an NPC token is dead, send it to the Object layer, otherwise leave it where it is.
[h: layerName = getLayer()]
[h: layerName = if(state.Dead&&isNPC(), "OBJECT", layerName)]
[h: setLayer(layerName)]

Toggle a token between the Hidden and Token layers.

[h: layerName = getLayer()]
[h: layerName = if(layerName=="GM", "TOKEN", "GM")]
[h: setLayer(layerName)]

See Also

Version Changes

  • 1.3b51 - Added id parameter option.
  • 1.5.4 - Added mapname parameter option.