findToken: Difference between revisions

From RPTools Wiki
Jump to navigation Jump to search
m (Text replacement - "<source" to "<syntaxhighlight")
No edit summary
 
(2 intermediate revisions by the same user not shown)
Line 3: Line 3:
|trusted=true
|trusted=true
|version=1.3b48
|version=1.3b48
|description=Finds a [[Token:token|token]] on the current [[Map:map|map]] by the [[Token:token|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:token|token]] is not found then an empty string "" is returned.
|description=Finds a [[Token:token|token]] on the current [[Introduction to Mapping|map]] by the [[Token:token|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:token|token]] is not found then an empty string "" is returned.


|usage=
|usage=
<syntaxhighlight lang="mtmacro" line>
<syntaxhighlight lang="mtmacro" line>
findToken(name/ID)
findToken(tokenRef)
findToken(name/ID,mapname)
findToken(tokenRef,mapname)
</source>
</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=
Line 19: Line 20:
[h: id = findToken("Hero")]
[h: id = findToken("Hero")]
[if (id == "", "Token not found!", "Token found")]
[if (id == "", "Token not found!", "Token found")]
</source>
</syntaxhighlight>
Search for token on current map and then search the map named ''Stash'' if not found.
Search for token on current map and then search the map named ''Stash'' if not found.
<syntaxhighlight lang="mtmacro" line>
<syntaxhighlight lang="mtmacro" line>
Line 33: Line 34:
[r: name] found on map [r: getCurrentMapName()].
[r: name] found on map [r: getCurrentMapName()].
}]
}]
</source>
</syntaxhighlight>


}}
}}
[[Category:Find Function]][[Category:Token Function]]
[[Category:Find Function]][[Category:Token Function]]

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()].
}]