Character Vault
Any Concept / Any System
Your System Come To Life
Roll20 for Android
Streamlined for your Tablet
Roll20 for iPad
Streamlined for your Tablet

Personal tools

Difference between revisions of "API:Script Index"

From Roll20 Wiki

Jump to: navigation, search
(Utility Scripts: add ESRO)
Line 181: Line 181:
* [[Script:Base64|Base64]] -- Base 64 encoding for Roll20 Scripts. (Adapted from )
* [[Script:Base64|Base64]] -- Base 64 encoding for Roll20 Scripts. (Adapted from )
* [[Script:Command Shell|Command Shell]] -- Framework for marshalling chat commands with POSIX-shell-style arguments, permissions, and duplicate-command checking.
* [[Script:Command Shell|Command Shell]] -- Framework for marshalling chat commands with POSIX-shell-style arguments, permissions, and duplicate-command checking.
* [[Script:ESRO|Extended Syntax Roll20 Objects]] -- Wraps objects to extend their functionality.
* [[Script:GM Code|GM Code]] -- Generates a unique code to authenticate the GM.
* [[Script:GM Code|GM Code]] -- Generates a unique code to authenticate the GM.
* [[Script:Interpreted sendChat|Interpreted sendChat]] -- Send a message to the chat as the same person or character that triggered a chat event
* [[Script:Interpreted sendChat|Interpreted sendChat]] -- Send a message to the chat as the same person or character that triggered a chat event

Revision as of 20:34, 26 April 2016


Roll20 API Getting Started

Community Scripts

  • Script Index



The API Script Index is a listing of community-contributed API scripts that are available for use on Roll20. If you're interested in contributing to the Roll20 API Community Scripts please visit the API GitHub Repository and follow the instructions in the file at the bottom of the page.

Scripts By Category

General Purpose Scripts

If your script incorporates specific game system rules, consider listing the script under that game system instead of one of these general purpose categories.

Combat Scripts

Combat scripts assist in making combat flow more easily. This can mean anything from automatically handling initiative to automating exchanges between combatants.

  • Group Initiative -- Adds the selected tokens to the turn order after rolling their initiative + configurable data.
  • Initiative Tracker -- Round counter and status effect manager with optional announcements to chat.
  • Random Turnorder -- Randomly assigns a turn to selected tokens.
  • TrackerJacker -- Graphical turnorder tracker, as well as status/condition marker tracking
  • Turn Marker -- Round counter and a moving marker that shows who's turn it is.

Tokens - Conditions / Status / Health

Tokens are used to represent player characters as well as non-player characters. Naturally, both occasionally get punched around a bit. Scripts in this category deal with the changing conditions of tokens, often but not necessarily as a result of combat.

Tokens - Movement, Rotation, and Size

Scripts which are triggered by or change the location of tokens should generally be placed in this category.

  • Auto Teleporting and Chat Based Teleporting -- Teleporting based on text commands or token locations.
  • Change Token Image -- Changes displayed image for tokens based on rollable table.
  • Collision Detection -- Handles collisions between player-controlled tokens and a subset of path objects on the page
  • It's a Trap -- Script for setting traps and detecting collisions with them at any point during movement.
  • Marching Order -- Makes tokens follow each other in some specified order.
  • No Token Rotation -- Prevents tokens from being rotated
  • Random Depth -- Randomly adjusts the depth of selected tokens.
  • Random Rotate -- Allows the GM to easily rotate all selected tokens to a random angle.
  • Size Lock -- Toggles a state which reverts any size changes automatically.
  • Slide Tokens -- Use an API command to move tokens along a waypoint path, instead of dragging the token and hitting space.
  • Spin Tokens -- Allows the GM to toggle spinning of selected tokens.
  • Table Token Sizer -- Simple script to scale rollable tokens added to the tabletop to a given size (defaults to 3x3) an set them as not drawings.
  • Token Path -- Tracks movement of the token at the top of tracker, displaying its path (and distance traveled) for the round.
  • Token Lock -- Allows GMs to selectively lock the movement of Player Tokens.
  • Twins -- Links two tokens so that they mirror each other across pages.

Lighting and Revealing

Dynamic lighting is a subscriber feature that changes what parts of the map are visible to the players as they move their tokens around. The light-blocking walls are achieved by paths on the walls layer, and tokens are used as point light sources. Scripts which modify either the light emitted by tokens or the walls which block the light belong in this category.

  • Dynamic Light Recorder -- Save dynamic lighting paths for map tiles and automatically regenerate later
  • Dynamic Lighting Animation -- Animate a sequence of changes to the dynamic lighting layer
  • The Darkness is Closing In -- Example script for reducing light on a token every time it moves.
  • Torch -- A simple script for giving lights to tokens and turning off and on dynamic lighting.
  • Walls -- Builds dynamic lighting walls with an exported SVG path file.

Characters - Equipment

Most game systems have some form of equipment to make characters better. While scripts dealing with that equipment may necessarily bet system-specific, there are scripts which handle equipment in a more general fashion.

  • Ammo -- Provides inventory management for ammunition stored in an attribute of a character.
  • Ammunition Tracker -- A bunch of commands to track ammunition.
  • Inventory Manager -- Inventory Management

Characters - Attributes

Manipulate one or more characters' attributes. Anything that is system-specific should be placed in the system's category below; this section is for system-agnostic attribute manipulation.

  • Conditions -- Track attribute-modifying conditions.
  • Manual Attribute -- Creates a manual copy of an autocalculated field, and assigns it to the bar of a token.


Content generation can extend the reach of your campaign while minimizing the GM's prep time.

  • Random Dungeon Generator -- Generates random dungeons with geomorphic tiles.
  • Dungeon Utils -- Generates random dungeons from wall and floor images.
  • Tile -- Create tiled arrays of graphics on the map layer.
  • Token Name Number -- Automatic Numbering of tokens with special placeholder.
  • CharSheet -- Allow players to create their own character sheets.


Scripts which attempt to make the game more immersive belong in this category.

  • Animation -- Create and display animations.
  • Languages -- Allows characters & GMs to create and speak any language. This is a rework of What Did He Say
  • Language Script -- A script for auto converting text to elven or dwarven.
  • What Did He Say? -- Language based scripting
  • Morality -- A dialog prompt that provides morality choices as decisions


Scripts in this category are a bit more meta than the ones listed above. These scripts assist with Roll20 itself more than they assist the game you're playing.

  • API Heart Beat -- Provides an API Heartbeat by setting the requesting player's color continuously.
  • cron -- Schedule (possibly recurring) commands to run at some point in the future.
  • emas -- Provides player !emas and !as commands.
  • Extended Expressions -- Extended roll expression syntax, supporting conditionals, variable references, bitwise operators, and more.
  • HiddenRolls -- Various types of roll hiding (unmodified roll only, final result only, only show to GM).
  • Is Greater -- Trivial little script to check if the first value is greater than the second and report it to chat.
  • Map Lock -- Provides locking of graphics to prevent moving/resizing/rotating them. Also highlighting.
  • Measure -- Measure distances between multiple tokens, both from the corners and the center.
  • Message of the Day -- Greets players that log in with the contents of a particular note.
  • Move Players -- Allows macros to move the player ribbon for players.
  • Object Properties -- Get and set properties of API objects.
  • Page Size -- Resizes page, optionally moving and/or scaling its contents.
  • RollStats -- Track and display roll statistics.
  • StateBrowser -- View/modify the contents of the state object.
  • Store Commands -- Store a series of commands for repeated execution
  • Table Export -- A script for exporting Rollable Tables between accounts.
  • Token Mod -- An interface to adjusting properties of a token from a macro or the chat area.
  • TokenSync -- Synchronize changes to token with other tokens that represent the same character
  • Weighted Dice -- Automated creation of rollable tables where a minimum value is weighted with values it replaces. (example d6min4 possible values: 4 4 4 4 5 6)

Game Specific Scripts

Scripts that deal with specific rules of a game system should be listed in a sub-heading here. If the appropriate game system is not listed, feel free to create the appropriate heading.

Scripts under each system below may be designed for any use (in other words, had they been system-agnostic, they might fit under any of the sub-headings in the "General Purpose Scripts" section above).

13th Age

  • Escalation -- Simple Escalation Die handling script, using the new custom entries with formulae.

BASH! Ultimate Edition

  • Dice -- Rolls the Bash UE Dice format with exploding.

d6 System

The "d6 System" includes a number of games from West End Games which utilize the same (or very similar) game mechanics. Scripts which are more specific to a single game than the system as a whole should be categorized there.

  • Wild Dice -- Implements the Wild Dice rolling mechanic.

d20 System

The "d20 System" includes Dungeons & Dragons and the games it spawned which utilize the same (or very similar) game mechanics. Scripts which are more specific to D&D or one of its spinoffs than the system as a whole should be categorized there.

  • Announce Roll -- Prints an extra announcement of a critical or fumble to the chat when using /roll
  • Monster Hit Dice -- Set Monster hit dice on add, usually via drag from journal.

Cypher System

  • Cypher System Sheet -- Enables the applying of stat cost, recovery roll advance, auto calculation of PC state and damage track in the Cypher System Sheet, from the roll template or sheet buttons, for both the "English" and "French" versions.

Dogs in the Vineyard

  • Dice in the Vineyard -- Dice tracker for Dogs in the Vineyard. Stacks poker-chip-styled roll tokens in defined areas for characters to spend.

Dungeons & Dragons 4e

  • Use Power -- A script for instrumenting and tracking the use of encounter and daily powers.

Dungeons & Dragons 5e

  • 5e Shaped Companion -- Support script for the 5e Shaped Character Sheet - provides monster import, auto-ammo, auto-HD, auto-death saves, loads of config options and more
  • Monster Hit Dice -- Set Monster hit dice on add, usually via drag from journal. Configured for Dungeons and Dragons 5e Character Sheet
  • Spell Level --

Edge of the Empire

  • Dice Roller -- A Dice roller for the Edge of the Empire/Age of Rebellion/Force and Destiny Roleplaying Game

Exalted, Second Edition

  • Successes -- reports successes for d10 rolls per Exalted rules.


  • Fate Dots -- Provides numbered multi dots for Fate stress boxes.



  • Creature Gen -- Generate combat ready tokens from PRD and D20PFSRD statblocks
  • Skillbook -- Generate token action to put API buttons for skills in chat window
  • HL-Import -- Import characters from Hero Lab via XML


Savage Worlds

  • Raise Count -- Counts raises on a roll against a given target number

Trail of Cthulhu

  • GUMSHOE -- A point-spending script for GUMSHOE games. Integrates with supporting character sheets.

Vampire: The Masquerade, 20th Anniversary Edition

  • Track V20 Attributes -- Track character Disciplines, Paths, and Backgrounds for use with macros and other scripts.

Zombie Dice

Utility Scripts

These scripts are generally not intended to be used alone, but are often instead required by some of the above scripts. Alone, these scripts will not do anything for your campaign, but rather they create functions to be used by other scripts.

Special Thanks

Roll20 wants to give special thanks to Brian and Aaron C. M. for their contributions to the community and this API script index.