findToken: Difference between revisions

From RPTools Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
 
Line 7: Line 7:
|usage=
|usage=
<syntaxhighlight lang="mtmacro" line>
<syntaxhighlight lang="mtmacro" line>
findToken(name/ID)
findToken(tokenRef)
findToken(name/ID,mapname)
findToken(tokenRef,mapname)
</syntaxhighlight>
</syntaxhighlight>
'''Parameters'''
'''Parameters'''
{{param|name/ID|Either the name of the token or the ID.}}
{{param|name/ID|Either the token [[getSelected|{{code|id}}]] or [[getTokenName|Token Name]] of the token.}}
{{param|mapname|Optional name of the map to search for the token on.}}
{{param|mapname|Optional name of the map to search for the token on.}}
{{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.}}


|example=
|example=

Latest revision as of 02:29, 13 May 2024

findToken() Function

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

Introduced in version 1.3b48
Finds a token on the current map by the token name, GM name, or ID and returns its id. If the optional mapname parameter is supplied that map will be searched instead. If the token is not found then an empty string "" is returned.

Usage

findToken(tokenRef)
findToken(tokenRef,mapname)

Parameters

  • name/ID - Either the token id or Token Name of the token.
  • mapname - Optional name of the map to search for the token on.
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.

Example

Search for token on current map
[h: id = findToken("Hero")]
[if (id == "", "Token not found!", "Token found")]

Search for token on current map and then search the map named Stash if not found.

<!-- Prompts for "TokenName" as it isn't already defined -->
[h: name = TokenName]
[h: id = findToken(name)]
[r, if(id == ""), code: {
	Not on current map. Searching Stash.<br>
	<!-- Search on the map named "Stash" -->
	[h: id = findToken(name, "Stash")]
	[r: if(id == "", name + " not found!", name + " found in Stash")]
};{
	[r: name] found on map [r: getCurrentMapName()].
}]