getInfo: Difference between revisions

From RPTools Wiki
Jump to navigation Jump to search
No edit summary
(Added theme option.)
Line 6: Line 6:


|usage=
|usage=
<source lang="mtmacro" line>
<syntaxhighlight lang="mtmacro" line>
getInfo(topic)
getInfo(topic)
</source>
</syntaxhighlight >
'''Parameter'''
'''Parameter'''
{{param|topic|A string specifying the topic of the retrieved information. Can be {{code|"map"}}, {{code|"client"}}, {{code|"server"}}, or {{code|"campaign"}}.}}
{{param|topic|A string specifying the topic of the retrieved information. Can be {{code|"map"}}, {{code|"client"}}, {{code|"server"}}, {{code|"theme"}} or {{code|"campaign"}}.}}


|examples=
|examples=
Examples of the different options.


===Retrieve {{code|map}} Information===
===Retrieve {{code|map}} Information===


<source lang="mtmacro" line>
<syntaxhighlight lang="mtmacro" line>
<!-- print the JSON Object about the current map to the chat window -->
<!-- print the JSON Object about the current map to the chat window -->
<pre>
<pre>
[r: json.indent(getInfo("map"), 2)]
[r: json.indent(getInfo("map"), 2)]
</pre>
</pre>
</source>
</syntaxhighlight >


Sample output:
Sample output:
Line 55: Line 56:
===Retrieve {{code|client}} Information===
===Retrieve {{code|client}} Information===


<source lang="mtmacro" line>
<syntaxhighlight lang="mtmacro" line>
<!-- print the JSON Object about client information to the chat window -->
<!-- print the JSON Object about client information to the chat window -->
<pre>
<pre>
[r: json.indent(getInfo("client"), 2)]
[r: json.indent(getInfo("client"), 2)]
</pre>
</pre>
</source>
</syntaxhighlight >


Sample output:
Sample output:
Line 94: Line 95:
===Retrieve {{code|server}} Information===
===Retrieve {{code|server}} Information===


<source lang="mtmacro" line>
<syntaxhighlight lang="mtmacro" line>
<!-- print the JSON Object about server information to the chat window -->
<!-- print the JSON Object about server information to the chat window -->
<pre>
<pre>
[r: json.indent(getInfo("server"), 2)]
[r: json.indent(getInfo("server"), 2)]
</pre>
</pre>
</source>
</syntaxhighlight >


Sample output:
Sample output:
Line 131: Line 132:
===Retrieve {{code|campaign}} Information===
===Retrieve {{code|campaign}} Information===


<source lang="mtmacro" line>
<syntaxhighlight lang="mtmacro" line>
<!-- print the JSON Object about the campaign to the chat window -->
<!-- print the JSON Object about the campaign to the chat window -->
<pre>
<pre>
[r: json.indent(getInfo("campaign"), 2)]
[r: json.indent(getInfo("campaign"), 2)]
</pre>
</pre>
</source>
</syntaxhighlight>




Line 413: Line 414:
}
}
</pre>
</pre>
===Retrieve {{code|theme}} Information===
Colors are returned as ARGB hex values.  The key names are for the various GUI elements.  See the [[Themes for MapTool]] page for more information about themes and the TinyLaF theme editor.
<syntaxhighlight lang="mtmacro" line>
<!-- print the JSON Object about the campaign to the chat window -->
<pre>
[r: json.indent(getInfo("theme"), 2)]
</pre>
</syntaxhighlight>
<syntaxhighlight lang="json">
{
  "Button.background": "fff1f1f1",
  "Button.darkShadow": "ff666666",
  "Button.disabledText": "ff8f8e8b",
  "Button.focus": "ff9999cc",
  "Button.foreground": "ff000000",
  "Button.highlight": "ffffffff",
  "Button.light": "ffffffff",
  "Button.select": "ff999999",
  "Button.shadow": "ff999999",
  "CheckBox.background": "ffefefef",
  "CheckBox.disabledText": "ff8f8e8b",
  ... plus 300 more lines.
}
</syntaxhighlight>


|changes=
|changes=
Line 427: Line 458:
* '''1.9.0''' - Map vision type returned will be upper case {{code|OFF}}, {{code|"NIGHT"}} or {{code|DAY}}. Map display name will also be returned for map parameters.
* '''1.9.0''' - Map vision type returned will be upper case {{code|OFF}}, {{code|"NIGHT"}} or {{code|DAY}}. Map display name will also be returned for map parameters.
* '''1.11.0''' - Added {{code|useWebRTC}}, {{code|usePasswordFile}}, {{code|server name}} and {{code|port number}} to {{code|server}} results.
* '''1.11.0''' - Added {{code|useWebRTC}}, {{code|usePasswordFile}}, {{code|server name}} and {{code|port number}} to {{code|server}} results.
* '''1.11.0''' - Added "theme" option to retrieve the color information from the currently loaded theme.
}}
}}
[[Category:Miscellaneous Function]]
[[Category:Miscellaneous Function]]

Revision as of 01:15, 29 October 2021

getInfo() Function

Introduced in version 1.3b69
Returns a JSON Object with lots of information about a specified topic.

Usage

getInfo(topic)

Parameter

  • topic - A string specifying the topic of the retrieved information. Can be "map", "client", "server", "theme" or "campaign".

Examples

Examples of the different options.

Retrieve map Information

<!-- print the JSON Object about the current map to the chat window -->
<pre>
[r: json.indent(getInfo("map"), 2)]
</pre>

Sample output:

map
{
  "name": "Grasslands",
  "display name": "Grass",
  "image x scale": 1,
  "image y scale": 1,
  "player visible": 1,
  "id": "CD53CC4E8C084792BD768316D2DB499C",
  "creation time": 1622678400390,
  "width": 0,
  "height": 0,
  "largest Z order": 2,
  "vision type": "OFF",
  "grid":   {
    "type": "Square",
    "color": "ff000000",
    "units per cell": 5,
    "cell height": 100,
    "cell width": 100,
    "cell offset width": 0,
    "cell offset height": 0,
    "size": 100,
    "x offset": 0,
    "y offset": 0,
    "second dimension": 0
  }
}

Retrieve client Information

<!-- print the JSON Object about client information to the chat window -->
<pre>
[r: json.indent(getInfo("client"), 2)]
</pre>

Sample output:

client
{
  "library tokens": {
    "Lib:cifMacroIO": "unknown"
  },
  "portrait size": 175,
  "show portrait": true,
  "show avatar in chat": true,
  "suppress tooltips for macroLinks": false,
  "use tooltips for inline rolls": true,
  "user defined functions": {
    "a5e.rollDice": "rollDice@Lib:Addon5e",
    "a5e.jget": "jget@Lib:Addon5e"
  },
  "timeDate": "2010-10-13 19:03:38",
  "timeInMs": 1286989418105,
  "isoTimeDate": "2019-11-10T10:35:45.8438226-07:00",
  "show stat sheet": true,
  "file sync directory": "C:\\Gaming\\Audio",
  "version": "DEVELOPMENT",
  "client id": "ee30250f-3a6f-4ae0-a888-8400abd339cf",
  "face vertex": 1,
  "face edge": 1
}

Note: The getInfo("client") function returns the names of all Lib: tokens. As a bonus if the Lib: token has a property called libversion, the value of this property will be reported as the value.

Retrieve server Information

<!-- print the JSON Object about server information to the chat window -->
<pre>
[r: json.indent(getInfo("server"), 2)]
</pre>

Sample output:

server
{
  "GM reveals vision for unowned tokens": 0,
  "restricted impersonation": 0,
  "tooltips for default roll format": 1,
  "movement locked": 0,
  "gm": ["GM"],
  "movement metric": "ONE_TWO_ONE",
  "hosting server": 1,
  "personal server": 1,
  "players can reveal": 1,
  "players receive campaign macros": 1,
  "auto reveal on movement": 1,
  "strict token management": 1,
  "using ai": 1,
  "vbl blocks movement": 1,
  "timeDate": "2019-09-22 18:09:02",
  "timeInMs": 1569197342110,
  "individual views": 1,
  "individual fow": 0,
  "useWebRTC": 0,
  "usePasswordFile": 1,
  "server name": "Z is for Zombie",
  "port number": 51234
}

Retrieve campaign Information

<!-- print the JSON Object about the campaign to the chat window -->
<pre>
[r: json.indent(getInfo("campaign"), 2)]
</pre>


Sample output:

campaign
{
    "tables": [],
    "initiative owner permissions": 1,
    "id": "C0A8001E7F7E199B0B0000008008001E",
    "sight": {
	"Darkvision": {
	    "distance": 0,
	    "arc": 0,
	    "shape": "CIRCLE",
	    "type": 0,
	    "multiplier": 1 },
	"Normal Vision - Short Range": {
	    "distance": 0,
	    "arc": 0,
	    "shape": "CIRCLE",
	    "type": 0,
	    "multiplier": 1 },
	"Normal": {
	    "distance": 0,
	    "arc": 0,
	    "shape": "CIRCLE",
	    "type": 0,
	    "multiplier": 1 },
	"Square Vision": {
	    "distance": 0,
	    "arc": 0,
	    "shape": "SQUARE",
	    "type": 0,
	    "multiplier": 1 },
	"Lowlight": {
	    "distance": 0,
	    "arc": 0,
	    "shape": "CIRCLE",
	    "type": 0,
	    "multiplier": 2 },
	"Conic Vision": {
	    "distance": 120,
	    "arc": 120,
	    "shape": "CONE",
	    "type": 0,
	    "multiplier": 1 }
    },
    "initiative movement locked": 1,
    "light sources": {
	"D20": [
	    {
		"name": "Lantern, Hooded - 30",
		"light segments": [
		    {
			"GM": false,
			"arcAngle": 360,
			"facingOffset": 0,
			"ownerOnly": false,
			"paint": null,
			"radius": 30,
			"shape": null },
		    {
			"GM": false,
			"arcAngle": 360,
			"facingOffset": 0,
			"ownerOnly": false,
			"paint": {"color":1677721600},
			"radius": 60,
			"shape": null } ],
		"type": "NORMAL",
		"max range": 60 },
	    {
		"name": "Candle - 5",
		"light segments": [
		    {
			"GM": false,
			"arcAngle": 360,
			"facingOffset": 0,
			"ownerOnly": false,
			"paint": null,
			"radius": 5,
			"shape": null },
		    {
			"GM": false,
			"arcAngle": 360,
			"facingOffset": 0,
			"ownerOnly": false,
			"paint": {"color":1677721600},
			"radius": 10,
			"shape": null } ],
		"type": "NORMAL",
		"max range": 10 },
	    {
		"name": "Lamp - 15",
		"light segments": [
		    {
			"GM": false,
			"arcAngle": 360,
			"facingOffset": 0,
			"ownerOnly": false,
			"paint": null,
			"radius": 15,
			"shape": null },
		    {
			"GM": false,
			"arcAngle": 360,
			"facingOffset": 0,
			"ownerOnly": false,
			"paint": {"color":1677721600},
			"radius": 30,
			"shape": null } ],
		"type": "NORMAL",
		"max range": 30 },
	    {
		"name": "Torch - 20",
		"light segments": [
		    {
			"GM": false,
			"arcAngle": 360,
			"facingOffset": 0,
			"ownerOnly": false,
			"paint": null,
			"radius": 20,
			"shape": null },
		    {
			"GM": false,
			"arcAngle": 360,
			"facingOffset": 0,
			"ownerOnly": false,
			"paint": {"color":1677721600},
			"radius": 40,
			"shape": null } ],
		"type": "NORMAL",
		"max range": 40 },
	    {
		"name": "Sunrod - 30",
		"light segments": [
		    {
			"GM": false,
			"arcAngle": 360,
			"facingOffset": 0,
			"ownerOnly": false,
			"paint": null,
			"radius": 30,
			"shape": null },
		    {
			"GM": false,
			"arcAngle": 360,
			"facingOffset": 0,
			"ownerOnly": false,
			"paint": {"color":1677721600},
			"radius": 60,
			"shape": null } ],
		"type": "NORMAL",
		"max range": 60 },
	    {
		"name": "Everburning - 20",
		"light segments": [
		    {
			"GM": false,
			"arcAngle": 360,
			"facingOffset": 0,
			"ownerOnly": false,
			"paint": null,
			"radius": 20,
			"shape": null },
		    {
			"GM": false,
			"arcAngle": 360,
			"facingOffset": 0,
			"ownerOnly": false,
			"paint": {"color":1677721600},
			"radius": 40,
			"shape": null } ],
		"type": "NORMAL",
		"max range": 40 } ],
	"Generic": [
	    {
		"name": "5",
		"light segments": [
		    {
			"GM": false,
			"arcAngle": 360,
			"facingOffset": 0,
			"ownerOnly": false,
			"paint": null,
			"radius": 5,
			"shape": null } ],
		"type": "NORMAL",
		"max range": 5 },
	    {
		"name": "40",
		"light segments": [
		    {
			"GM": false,
			"arcAngle": 360,
			"facingOffset": 0,
			"ownerOnly": false,
			"paint": null,
			"radius": 40,
			"shape": null } ],
		"type": "NORMAL",
		"max range": 40 },
	    {
		"name": "20",
		"light segments": [
		    {
			"GM": false,
			"arcAngle": 360,
			"facingOffset": 0,
			"ownerOnly": false,
			"paint": null,
			"radius": 20,
			"shape": null } ],
		"type": "NORMAL",
		"max range": 20 },
	    {
		"name": "60",
		"light segments": [
		    {
			"GM": false,
			"arcAngle": 360,
			"facingOffset": 0,
			"ownerOnly": false,
			"paint": null,
			"radius": 60,
			"shape": null } ],
		"type": "NORMAL",
		"max range": 60 },
	    {
		"name": "15",
		"light segments": [
		    {
			"GM": false,
			"arcAngle": 360,
			"facingOffset": 0,
			"ownerOnly": false,
			"paint": null,
			"radius": 15,
			"shape": null } ],
		"type": "NORMAL",
		"max range": 15 },
	    {
		"name": "30",
		"light segments": [
		    {
			"GM": false,
			"arcAngle": 360,
			"facingOffset": 0,
			"ownerOnly": false,
			"paint": null,
			"radius": 30,
			"shape": null } ],
		"type": "NORMAL",
		"max range": 30 } ] },
    "bars": {
	"no group": [
	    {
		"increment": 0,
		"side": "TOP",
		"name": "Health" } ] },
    "states": {
	"no group": [
	    "Incapacitated",
	    "Disabled",
	    "Other2",
	    "Other",
	    "Other3",
	    "Prone",
	    "Hidden",
	    "Dead",
	    "Other4" ] },
    "remote repository": [],
    "zones": {
	"Grasslands": "C0A8001E7E7F199B0C0000008008001E" }
}


Retrieve theme Information

Colors are returned as ARGB hex values. The key names are for the various GUI elements. See the Themes for MapTool page for more information about themes and the TinyLaF theme editor.

<!-- print the JSON Object about the campaign to the chat window -->
<pre>
[r: json.indent(getInfo("theme"), 2)]
</pre>
{
  "Button.background": "fff1f1f1",
  "Button.darkShadow": "ff666666",
  "Button.disabledText": "ff8f8e8b",
  "Button.focus": "ff9999cc",
  "Button.foreground": "ff000000",
  "Button.highlight": "ffffffff",
  "Button.light": "ffffffff",
  "Button.select": "ff999999",
  "Button.shadow": "ff999999",
  "CheckBox.background": "ffefefef",
  "CheckBox.disabledText": "ff8f8e8b",
  ... plus 300 more lines.
}

Version Changes

  • 1.3b70 - Added "campaign" option for topic
  • 1.3b76 - Added values "timeInMS" and "timeDate" to both client and server return values
  • 1.3b90 - Added value "gm" to server return value that holds an array of logged in game masters
  • 1.5.4 - Added values "auto reveal on movement" and "individual fow" to server return values
  • 1.5.5 - Added values "GM reveals vision for unowned tokens" and "hosting server" to server return values
  • 1.5.7 - Added prefs setting "file sync directory" and "isoTimeDate" to client return values
  • 1.5.9 - Removed "initiative owner permissions " from server return values. Still in campaign info.
  • 1.6.0 - Added "using ai" and "vbl blocks movment" to server return values.
  • 1.7.0 - Added macro location information to "user defined functions" portion of client info
  • 1.8.0 - Added additional client preferences to client info, and "personal server" indicator to server info
  • 1.9.0 - Map vision type returned will be upper case OFF, "NIGHT" or DAY. Map display name will also be returned for map parameters.
  • 1.11.0 - Added useWebRTC, usePasswordFile, server name and port number to server results.
  • 1.11.0 - Added "theme" option to retrieve the color information from the currently loaded theme.