This most recent update fixes several undefined variables that were crashing the sandbox. Previous Forum Post: This
is a major overhaul of Page Navigator that I have been working on for
the last couple months. This version changes much of the script's
function and commands. Because of this, when you start up a game that
has previously had Page Navigator v1.X installed, you will be prompted
to approve the upgrade or downgrade yourself back to the previous
version (by going to your api scripts page). Code can be found in my repository and will be pushed for one-click install after a couple weeks of beta. Summary of Major Changes: Command
syntax changes: The command syntax has changed dramatically to allow
more streamlined command parsing and to make it easier for users to
control all aspects of the script via macro Teleportation
improvements: Token teleportation is now much faster. In addition, if
you have token removal enabled, the script will copy the current state
of a character's pre-existing token on the VTT (it will copy the first
one it finds), rather than only creating a token based on a character's
default token. Destination Token Setup Wizard: There is now a setup wizard for destination tokens. Access it by entering !nav --setup while having a token(s) selected that you want to make into a destination token or update its parameters. Page
Tags: You can now tag your pages to more easily find them in the script
menus by putting your tag on the end of the page's name and surrounding
each tag in single square brackets. This also changes how pages are
tagged as player accessible. The players tag is created by default and
tagging a page with [Players] will add it to that folder and make it
player accessible. In addition, you can change player access to any
folder from the script's config menu. See below for the full help text Thanks
to Aaron and Stephen S. for their insight into several issues during
the overhaul. Thank you to Keith Curtis for the banner artwork. Page
Navigator allows you to more easily move your players from page to
page. Movement can be triggered by chat command or token movement. The
script will also handle creation of tokens on the new page for moved
players. Movement Commands & Token Setup Chat Triggered page change: All
players, only those currently in the player ribbon, or specific players
can be moved to any page in the game, or returned to the player ribbon. The basic syntax for a move command is: !nav --move,page=PAGENAME,landing=LANDINGTEXT|whole/current/characterid|characterid|characterid|... Token movement triggered page change: Using
this function requires that destination tokens be set up. Whenever a
token controlled by a player ends its movement on a destination token, a
chat prompt is sent to ask if the character should be moved to the page
linked to that destination token or not. The prompt is sent to players
only if the destination page is contained in a page folder that players
have been given unrestricted access to. See the "Other Options" section
below for more information about folders. In order to setup a
destination token, the token must be named the same as the page to which
it links with the exception of any folder names the page has been
tagged with. Token Teleportation: When
moving players to a page, the script can create tokens for each player
at a destination token. The default characters to create tokens for for
each player can be set in the config menu. In order for teleportation
to function, destination tokens (from above) must contain a JSON in
their GM notes field of the following format: { "landingLocation":"Location text of linked token", <=- Optional "location":"Location text", <=- Optional "chat":"Chat message/API command to send when moving to this destination token", <=- Optional "polygon":["Array of polygons limiting token generation"] <=- Only needed if location text is entered } You
can setup destination tokens by using the Destination Token Setup
Wizard via the command !nav --setup. You must have a token selected when
you enter the command. Miscellaeneous Commands and Other Functions !nav --config Brings up the config menu. Folders
are designated by tagging pages with whatever folder name you would
like enclosed in square brackets (e.g. [FolderName]). Each folder name
should be in its own set of square brackets. Any time you reference a
page by name for the script, do not incude the folder tags in the name.
The script automatically creates two folders, an "All" folder (which
pages do not need to be tagged with) and a "Players" folder which can be
used to tag pages as with any other folder name. Access restrictions
for folders can be set in the config menu. If a page is contained in any
folder that has player access, players will be able to send themselves
to that page and any destinations therein without GM approval. When
teleportation is enabled an additional option will be created in the
config menu to automatically remove other tokens for teleporting players
before creating new tokens for them. Example Use Cases Assuming
pages named Scrapwall [Numeria][Scrapwall] with locations of "Clockwork
Chapel"(LinkLocation:entrance) and "Raider
Hideout"(LinkLocation:entrance), Clockwork Chapel[Numeria][Scrapwall]
with a location of "entrance"(linkLocation:"Clockwork Chapel"), and
Raider Hideout with a location of "entrance"(linkLocation:"Raider
Hideout"). And characters named Jonos,Kindle, and Violet. Move player(s) controlling Jonos to Raider Hideout: !nav --move,page=Raider Hideout|@{Jonos|character_id} Move
as before and create default token(s) for the player(s): !nav
--move,page=Raider Hideout,landing=entrance|@{Jonos|character_id} Return Jonos to the player ribbon: !nav --move,page=return|@{Jonos|character_id} Return as before, but query where to generate a token: !nav --move,page=return,landing=?|@{Jonos|character_id} Full Command Syntax Guide This
is the full guide of the chat commands available. Syntax is given with
optional arguments enclosed in square brackets (e.g. Required Argument
vs. [Optional Argument]). Mutually exclusive arguments are separated by a
forward slash (/). Move Command: !nav
--move,[page=PAGENAME/pageID=pageid],[landing=LOCATIONTEXT/?]|[PLAYERNAME/PLAYERID/CHARACTERID]|[PLAYERNAME/PLAYERID/CHARACTERID]|... page=PAGENAME:
The page name, without the folder tags, of the page to move to. If the
command is sent by a player, itwill be ignored if the page is not
contained within a player accessible folder. pageID=PAGEID:
The page id of the page to move to. This will probably only be used by
the script itself or other APIs as there is no way for users to access
the page id. landing=LOCATIONTEXT: This is the
location text of the token where tokens should be created. If a "?" is
entered as the location text, a menu prompt will be sent to the
messaging player to ask what destination to use. PLAYERNAME/PLAYERID/CHARACTERID: The player name, player ID, or character ID to be moved. If no page is specified a prompt will be sent to the messaging player to ask what page to send players to. If no player or character is specified the command will not be processed. Configuration Option Controls: !nav
--config,[remove=on/off],[teleport=on/off],[folder=FOLDERNAME,access=gm/players],[control=whole/current/self],[dmarker=statusmarker
name/name only] If
no additional options are entered, then the config menu will be
displayed. Will only use the first of these the script encounters. remove:
This sets token removal on or off. Token removal causes all other
instances of tokens representing teleporting characters to be removed
before creating new tokens at a designated destination token. folder:
Designates what folder that you would like to change the access state
of. Folder access information is stored in the Page Navigator character
in an ability called Page Folders . access: This sets player access for the indicated folder. control:
Sets player's ability to move others to new pages (whole=all players,
current party=only those currently on the player toolbar, self=only
themselves). dmarker: Sets what status marker
is used to define destination tokens. Can be the name of a statusmarker
or "name". If "name" will only look for tokens that are named the same
as a page. teleport: Sets token teleportation on/off. Destination Token Setup Wizard: !nav --setup Wizard Buttons: Token Name:
Clicking this button will bring up a query with options for the names
of all current pages. You can also enter the name of yet to be created
name by selecting the "PAGE NOT CREATED YET" option Boundary:
Select polygonal paths that you want to use to bound the token creation
area for the destination token and then click this button. All polygons
selected should create a closed shape as the script determines whether
tokens can be created from a destination via a flood-fill algorithm. Location Text:
Clicking this button will bring up a query similar to that of the Token
Name for selecting or entering custom text to describe the location of
this destination. linkLocation Text: As the button for Location text, but describes the location of the destination token this token links to. Chat Command:
Allows you to enter a line of text to be sent to chat when players are
moved to this destination. Can be used to have the script send API
commands based on party movement. Menu Image Examples Config Menu Movement Approval Dialog Unspecified Page Movement Dialog Destination Token Wizard Changelog: v2.11523114136 Fix for multiple errors that were preventing function V2.11518021707 Fix for undefined variables V2.1 Fixed several bugs that made the script unusable V2.0 Improvements to teleportation logic and storing of character tokens improved command syntax Destination Token Wizard Folders (tags) v1.x See the previous thread