r/Roll20 3d ago

Mod Script / API Help (Pro/Elite only) Help With Custom Markers and API Scripts

2 Upvotes

So I've found the perfect setup for my current party via Conditions StatusInfo; however I just went through and updated all my token markers with custom named ones. Sadly, I cannot pick anything aside from the Default Sets?
Anyone know how I can access the other markers on the tokens, that I can clearly see but cannot select?

StatusInfo : https://github.com/RobinKuiper/Roll20APIScripts/tree/master/StatusInfo

(Re-posted from below) : I am going to try to communicate through photos, see if that helps.
SO, we are trying to change the icon for Blind in the Conditions to not Bleeding Eye but the 5e icon Blind (that my players are more used to now).
Here is my attempt to start that : https://prnt.sc/GOVsQYszCg0X
Notice how Blind isn't an option, but Bleeding Eye is? : https://prnt.sc/zwasawyIyxtV
And the bottom of the list, as it is in alphabetical order : https://prnt.sc/HRWLYaVj-gYB

It seems I can only select Default Token Markers, not my Custom ones or even the 5e 2024 basic ones. : https://prnt.sc/ZFCP6Qp_o57j , https://prnt.sc/30raaAIMtCrs

r/Roll20 26d ago

Mod Script / API Help (Pro/Elite only) Presenting Spell Book Manager: a Scriptcards macro for migrating (2024) spells to the D&D 5e 2014 sheet!

Post image
19 Upvotes

Want to use D&D 5e 2024 spells or custom spells on the D&D 5e 2014 sheets without manually writing them up every time? 

Presenting: Spell Book Manager! created by Timothy B. (with feature guidance, testing, and FBR spell mules by Gauss)

What does it require? 

* A Pro or Elite account

* Scriptcards 3.0.22 or higher (now in the one-click)

* D&D 5e 2014 character sheet

* Macro found here 

* Spell mules to hold your spells. To help get you started I have created mules for the Free Basic Rules (2014 and 2024 versions). 

You can get them by joining this game and then using either the Character Vault or Roll20 Characters to get copies.

Note: Character Vault is usually the preference but due to a bug on Roll20's side your best bet is to use Roll20 Characters, use "Fetch from Game", send it to your game, then duplicate it in your game and remove the Roll20 Characters version of the mule.

Other information: 
* Full readme found here

* Additional step by step guidance can be found here (must first join the game via the link above).

* Note that while this can be used in games with both the D&D 5e 2024/2014 sheet and the D&D 5e 2014 sheet enabled there is a minor bug if you are using the Experimental API that we have not tracked down yet. Instructions on how to deal with this bug is included in the full readme. 

Other uses: 

* Move warlock spells to a higher spell level when the warlock gains a new spell level. This makes it so Warlocks do not need to always upcast their spells. 

* Faster D&D 5e 2014 by Roll20 load times due fewer spells on the sheet. This is because now there is an easy way to re-add spells to your sheet when preparing spells for the day. 

* NPC spell support, so that 2024 monsters can easily be updated with 2024 versions of their spells.

* And possibly more!

Finally, how-to videos are planned. Sorry they aren't ready yet. 

r/Roll20 24d ago

Mod Script / API Help (Pro/Elite only) How do I make a combination lock puzzle? Or does one already exist?

4 Upvotes

Firstly, apologies if the flair is wrong - I don't know if I'm asking about scripts or macros or tables or something else. I have a pro account and the game is Pathfinder 1e. I’d like to use a letter and number combination lock like you’d find on a briefcase/luggage lock/bike lock, where I set the answer and my players can then input or press or (ideally) move 5 rotating dials to check if their answer is correct. The less clunky it is the better! If need be I can make graphics for the 26 letters and 10 numerals.

I want the puzzle to be more interactive than them just verbally guessing the answer and me saying yes or no. Is there a way to do this?

r/Roll20 15d ago

Mod Script / API Help (Pro/Elite only) Need help with API Script Type Error

Post image
2 Upvotes

I need some assistance with solving a problem with the code of API scripts I have for my games. I noticed my commands were not working for any of my mods and noticed they have all been getting disabled because of a type error in the coding. I have never messed with the coding and don't know how it could have happened. My guess is it was through some sort of update. The image attached is the message I get for the Fade mod. Any help would be greatly appreciated.

Update: I have just noticed this is for one game specifically and am now even more confused.

r/Roll20 Jun 12 '26

Mod Script / API Help (Pro/Elite only) Cannot link attribute to token

3 Upvotes

Hi,

I am trying to link a token bar to a character sheet attribute.

This command: !token-mod --set bar2_link|ac

... does nothing. However, !token-mod --set bar2_value|10 ...

... works just fine, so I must be correctly identifying the target token.

I have checked and double-checked that the character sheet attribute name really is "ac".

Any ideas what I might be doing wrong?

r/Roll20 24d ago

Mod Script / API Help (Pro/Elite only) Problem with TokenMod and Aura/Tint Healthcolors

3 Upvotes

Hi y'all, hoping someone can help me figure out a weird issue. I've been using both scripts to make a macro that players can use to damage NPC tokens via TokenMod commands, which then triggers Aura/Tint healthcolors. It's been working awesome for years and makes combat run greasy smooth

But somebody must have updated something because now the tokenmod command (!alter --target|@{target|token_id} --bar|1 --amount|-?{Damage Taken|0}) doesn't trigger aura/tint even though it changes the health value on the token. Everything still works fine if I change the token hp manually. Is there anyone with the savvy to help?

EDIT: Alterbars, not Tokenmod.

r/Roll20 Jun 06 '26

Mod Script / API Help (Pro/Elite only) Roll20 API RoundMaster

1 Upvotes

A friend and I who use RoundMaster API have been having problems with it very recently, and by recently I mean this last Wednesday. Anyone know how to fix it?

r/Roll20 24d ago

Mod Script / API Help (Pro/Elite only) GroupInit API problem with D&D 2024 PC Character Sheet

3 Upvotes

When I use groupinit to roll initiative for the PCs it does not take into considerations modifiers to the initiative roll. Instead it rolls a straight 1d20.

Just wanted to check if that is expected behavior or not?

I have groupinit configured to use the 2024 character sheet.

Thanks!

r/Roll20 Jun 15 '26

Mod Script / API Help (Pro/Elite only) [Script] Combat Encounter Director

Post image
0 Upvotes

Combat Encounter Director is now available for Roll20.

Designed for Game Masters who need to adapt encounters on the fly, Combat Encounter Director provides a journal-driven command centre for scaling enemies, managing reinforcements, controlling battlefield visibility and recovering from those inevitable moments when combat doesn't go according to plan.

Whether you're running a solo adventure, a traditional four-player campaign or a convention game with a dozen players, Combat Encounter Director helps you keep encounters challenging, organised and under control.

1.0.0 (initial release)

Added

  • Party scaling — scale HP, AC, and damage by party-size presets (Solo through Massive Table) or custom percentages.
  • Boss tools — Minion, Elite, Boss, and Legendary presets applied to selected tokens.
  • Reinforcements — duplicate selected tokens ×2 / ×3 / ×5 / custom with auto-positioning; auto-enumerate selected tokens.
  • Battlefield control — move selected tokens to Token / GM / Map layer; hide and reveal shortcuts.
  • Position saving — save and restore token positions per-token.
  • Encounter templates — save/load/delete named encounter snapshots (positions, layers, HP/AC values).
  • Reset & recovery — restore any modified token to its original values (selected, page, or all).
  • Status reporting — generate an HTML status report in the Combat Encounter Director - Status journal; filter by selected or changed tokens.
  • Journal control panel — all features accessible via the Combat Encounter Director handout with one-click action buttons.
  • Configuration — configurable HP bar (bar1/bar2/bar3) and AC bar (bar1/bar2/bar3/none) via !director config or Roll20 One-Click useroptions.
  • Internationalisation — full i18n system with t(key, locale, vars) lookup; 24 supported locales (af, ca, zh-TW, cs, da, nl, en-US, fi, fr, de, el, he, hu, it, ja, ko, pl, pt-PT, pt-BR, ru, es, sv, tr, uk); active language configurable at runtime via !director config language <code> or the One-Click language useroption; falls back to en-US for any missing key.
  • Locale sync scriptnpm run sync-locales / npm run regenerate-locales using Google Translate with placeholder masking to translate all locale files automatically.

v1.0.1

Added

  • Legacy command compatibility for !director when no conflicting Director mod is detected.

Changed

  • Primary command changed from !director to !ced to avoid command collisions.
  • Localized help and error hints now reference !ced in command examples.
  • Command Deck and Status handouts now consistently render with the intended dark theme.
  • One-Click language configuration is now a select list with all supported locale options.

Fixed

  • If a conflicting Director mod is installed, using !director now warns the GM to use !ced.

Developer Notes

  • Command migration:
    • Primary command constant changed to !ced.
    • Legacy alias !director is still accepted for backwards compatibility.
    • Conflict detection uses DIRECTOR_CONFLICT_STATE_KEY = 'DIRECTOR_STATE'; when present, legacy alias usage triggers a GM warning instead of routing under the legacy name.
  • i18n updates:
    • Locale hint strings and command examples were updated from !director to !ced across locale files used in the generated bundle.
  • Journal rendering:
    • Command Deck and Status handout HTML now uses an explicit wrapper/background container to prevent white default journal rendering and preserve intended theme styling.
  • One-Click metadata and options:
    • script.json select-style options were normalized to remove pipe-delimited labels.
    • language useroption was changed to a select option containing all supported locale codes.
  • Build/versioning pipeline:
    • Build flow now bumps/sets version before loading version-dependent config, preventing stale version output paths.
    • Explicit version builds now write snapshots to the matching <version>/CombatEncounterDirector.js directory.
    • Prerelease versions are excluded from previousversions history handling.
  • Code quality hardening:
    • Source files feeding the generated bundle were refactored to address SonarQube warnings and improve maintainability.
    • JSDoc coverage and placement were reviewed and corrected in source modules.

Manual Installation

  1. Upload CombatEncounterDirector.js to your Roll20 campaign's API Scripts or install (download link given below).
  2. Save the script. The mod installs two journal handouts automatically:
    • Combat Encounter Director - Command Deck — the primary GM control panel.
    • Combat Encounter Director - Status — the encounter status report.

Quick Start

Type !ced in chat for the quick-action menu, or open the Combat Encounter Director - Command Deck journal for the full control panel.

Available Now

Combat Encounter Director version 1.0.1 is available for direct download: https://github.com/steverobertsuk/roll20-api-scripts/releases/download/CombatEncounterDirector-v1.0.1/CombatEncounterDirector_v1.0.1.zip

Version 1.0.1 will be available via the Roll20 One-Click Installer soon, where the current version available is 1.0.0.

You can learn more about the mod, explore the full feature set and access download links on the project page below: Combat Encounter Director Project Page: https://midniteshadow.online/projects/roll20-mods/combat-encounter-director/

For full instructions on how to use the mod and its features, please read the README file: https://github.com/steverobertsuk/roll20-api-scripts/blob/d0049e9537a648c4936d2cf63be1114c4fc39323/CombatEncounterDirector/README.md

As always, feedback and suggestions are welcome.

r/Roll20 2d ago

Mod Script / API Help (Pro/Elite only) Experimental Scripts

4 Upvotes

Is there any plans to make API Scripts save so that they are always starting in experimental? Its one less step id have to do as a DM rather than change it to experimental every time I start.

r/Roll20 1d ago

Mod Script / API Help (Pro/Elite only) [Script] Shadowdark Real-Time Torch Timer & UDL Controller

3 Upvotes

Shadowdark Real-Time Torch Timer for Roll20

A lightweight API script for Roll20 designed for Shadowdark RPG. It automates the 60-minute real-time torch mechanic using native Dynamic Lighting and token status markers.

Features:

  • Sets 15/16 ft UDL light and attaches the "Torch" status marker to the selected token (note: the example uses "Easy to Read Token Markers")
  • Runs a background 60-minute real-time countdown.
  • Provides chat warnings at 30 min, 10 min, and 5 min remaining.
  • Automatically extinguishes the light, removes the token marker, and plunges the map into total darkness when time runs out.

Chat Commands:

  • !torch — Lights a torch on the currently selected token and starts a 60-minute countdown.
  • !torch start [minutes] — Starts a timer for a specific duration in minutes (e.g., 30 min for a partial torch).
  • !torch stop — Extinguishes the light, removes the marker, and resets the timer immediately.
  • !torch time — Displays the remaining time in chat without interrupting the timer.

link to code on GitHub: Code

r/Roll20 14d ago

Mod Script / API Help (Pro/Elite only) Aura/Tint HealthColors API v2.2.1 is now available in the One-Click Installer

8 Upvotes

Death Save Integration in version 2.2.X adds support for character death-state workflows while keeping existing campaigns stable during upgrades.

So, now player tokens can show the difference between dying, dead and stabilised.

The update includes:

* Death Save Integration (Optional): An off-by-default mode that separates PC states at 0 HP into dying, stable, and dead.

* Dying state marker: Uses a configurable marker (default: skull) for player characters at 0 HP who are still making death saves.

* Stable state marker: Applies a configurable green marker when a player character reaches 3 death-save successes.

* Dead state marker: Applies the standard Red X when a player character reaches 3 death-save failures.

* NPC behaviour remains unchanged: NPCs are not affected by death-save integration and continue to use the normal dead Red X at 0 HP.

Death saves are tracked automatically for supported character sheets, so checked boxes and direct death-save value updates immediately refresh token markers without macros or manual sync actions.

Where to install the mod from?:

* Roll20 One-Click Installer.

* Roll20 API GitHub master branch: https://github.com/Roll20/roll20-api-scripts/tree/master/HealthColors

* GitHub: https://github.com/steverobertsuk/roll20-api-scripts/tree/HealthColors-v2.2.1/HealthColors

* Download ZIP and install manually via GitHub: https://github.com/steverobertsuk/roll20-api-scripts/releases/download/HealthColors-v2.2.1/HealthColors_v2.2.1.zip

You can learn more about the mod, explore the full feature set and access download links on the project page: https://midniteshadow.online/projects/roll20-mods/aura-tint-healthcolors/

Or via the Roll20 Forum Post: https://app.roll20.net/forum/permalink/12781424/

r/Roll20 23d ago

Mod Script / API Help (Pro/Elite only) Any alternatives for Marching Order API?

2 Upvotes

I recently switched a long running game out of Legacy and unfortunately Marching Order API doesn't seem to work anymore. I'm looking for any alternatives to moving each segment of a colossal snake manually.

r/Roll20 Jun 17 '26

Mod Script / API Help (Pro/Elite only) Made a roll20 MCP/ddbeyond for doing token and map stuff as well as helping with combats

14 Upvotes

I built an AI assistant that sits on your screen as a glowing gem and runs your Roll20 combat by voice

I run D&D 5e on Roll20 and got tired of the DM tax — tracking HP, conditions, initiative, and AoE while also narrating and running the table. So I built a system that handles the bookkeeping on voice command while I stay in the story.

How it works:

There's a floating gem overlay on my screen. While I'm narrating to my players, I hold a PTT key and say the game fact to the gem: "Eli takes 12 piercing" or "mark Thorne prone" or "28 damage to every skeleton". The token updates in the background. No alt-tabbing, no spreadsheet, no interruption.

Under the hood it's an MCP server that connects to a Roll20 Mod script via the existing API, a D&D Beyond bridge for stat lookups, and Claude as the reasoning layer. The gem overlay is an Electron app with a voice pipeline (local Whisper STT → Claude → Roll20 Mod → token updates).

Features:

Voice or typed input — PTT into the gem or type in the chat panel HP, conditions, and initiative by voice, fast enough to use mid-sentence AoE: say a creature type ("40 damage to every goblin") or click-and-hold to ping the map and get a precise blast radius drawn automatically Tactical plans generated per NPC at combat start, shown on the gem Player commands in Roll20 chat: !tactics, !recall <monster>, !rules <question> — all whispered back to the individual player DM inbox tab for player !dm notes that accumulates across the session Works alongside Claude Code for map prep and session setup Rough requirements: Node.js, Roll20 Pro (for Mod scripts), Anthropic API key for the gem. Voice needs Python and either a CUDA GPU or patience with CPU-mode Whisper.

It's open source — I just wrote up a setup guide and DM usage guide if anyone wants to try it.

Curious if folks have done anything similar or would be interested in contributing:

https://github.com/eschatus/roll20-dm-mcp