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
m (Characters - Equipment)
Line 65: Line 65:
* [[Script:emas|emas]] -- Provides player !emas and !as commands.
* [[Script:emas|emas]] -- Provides player !emas and !as commands.
* [[Script:IsGreater|IsGreater]] -- Trivial little script to check if the first value is greater than the second and report it to chat.
* [[Script:IsGreater|IsGreater]] -- Trivial little script to check if the first value is greater than the second and report it to chat.
* [[Script:MapLock|MapLock]] -- Provides locking of graphics to prevent moving/resizing/rotating them.  Also highlighting.
* [[Script:Store Commands|Store Commands]] -- Store a series of commands for repeated execution
* [[Script:Store Commands|Store Commands]] -- Store a series of commands for repeated execution

Revision as of 02:28, 20 March 2015

Template:Mentors only


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.

  • GroupInitiative -- Adds the selected tokens to the turn order after rolling their initiative + configurable data.
  • InitiativeTracker -- Round counter and status effect manager with optional announcements to chat.
  • Random Turnorder -- Randomly assigns a turn to selected tokens.

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

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

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.

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.
  • AmmunitionTracker -- 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.

  • ManualAttribute -- Creates a manual copy of an autocalculated field, and assigns it to the bar of a token.


Random content generation can extend the reach of your campaign while minimizing the GM's prep time. It may be difficult to use these scripts for an in-depth story-driven game, but they'll be great for a random dungeon crawl!


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


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.

  • APIHeartBeat -- Provides an API Heartbeat by setting the requesting player's color continuously.
  • emas -- Provides player !emas and !as commands.
  • IsGreater -- Trivial little script to check if the first value is greater than the second and report it to chat.
  • MapLock -- Provides locking of graphics to prevent moving/resizing/rotating them. Also highlighting.
  • Store Commands -- Store a series of commands for repeated execution

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

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

d20 System

  • AnnounceRoll -- Prints an extra announcment of a critical or fumble to the chat when using /roll

Edge of the Empire

  • EotE 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.


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


  • Cypher Roller -- Script to automatically roll Cyphers in Numenera, with full descriptions.


  • CreatureGen -- Generate combat ready tokens from PRD and D20PFSRD statblocks

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.

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.

  • Base64 -- Base 64 encoding for Roll20 Scripts. (Adapted from )
  • CommandShell -- Framework for marshalling chat commands with POSIX-shell-style arguments, permissions, and duplicate-command checking.
  • GMCode -- Generates a unique code to authenticate the GM.
  • Interpreted sendChat -- Send a message to the chat as the same person or character that triggered a chat event
  • IsGM Auth Module -- Provides a function isGM() for determining if a player id refers to a gm. Intended for use alongside other scripts.
  • levenshteinDistance -- Measure the difference between strings
  • splitArgs -- Split a string into arguments
  • Token Collisions -- A library for detecting collisions among tokens during movement.
  • Vector Math -- A library for vector mathematics.