Roll20 uses cookies to improve your experience on our site. Cookies enable you to enjoy certain features, social sharing functionality, and tailor message and display ads to your interests on our site and others. They also help us understand how our site is being used. By continuing to use our site, you consent to our use of cookies. Update your cookie preferences .
×
Create a free account

Roll20 Tips and Tricks (Innovative Solutions to Common Problems)

December 24 (7 years ago)

Edited January 17 (3 years ago)
keithcurtis
Forum Champion
Marketplace Creator
API Scripter

The users on the forums have quite often devised solutions to common problems or activities by clever or innovative use of the interface. I thought it would be nice to have a thread to share the little tricks we have come up with. Note, this is not necessarily a place to post little-known intended uses of the interface (such as keyboard commands), but less conventional uses, or ways to use common tools with other resources (such as emojis in macro titles). These tricks may or may not require the use of subscriber level resources. If they don't: that's great, everyone can benefit. If they do: that's great too, because free users might see even more benefits to subscription.

NOTE: Some later pages got overtaken by digressions and half-suggestions. Please only post a complete "stupid trick" here. If you want help working out what might become a trick, start it it in its own thread and please post here when complete. If you just wish to express thanks to someone who just solved a great mystery for you, that's fine—people need recognition for contributing Cool Stuff. Also, feel free to point out refinements or warnings about existing tricks. Every little bit helps. If your post is strong enough, I'll link it to the same line as the referenced post in the index below. Just don't clutter the thread with too many thanks and especially long strings of quoted text and images. Help keep this thread clean, organized, and easy to read.


Stupid Trick Directory

Tokens

Black Aura Token for Night - lordmage
Party Sight Token
 - Marius
Mood Lighting Tokens
 - keithcurtis  — (Video by Nick O, timestamp)
Flying Tokens
 - Arthur B
Quick and Dirty Invisible Token Tracking Using Basic Fog of War
 - keithcurtis  — (Video by Nick O, timestamp)
Put building Interiors on Token Layer with AFoW
 - Taran
Pre-Linked Tokens - Blue64
Droppable Torch Token - Gimblejam
Auras as Token Outlines
 - Noon (includes bonus script)
Using Characters/Tokens to represent Conditions - Robert S.
Make Large Creatures Look More Threatening - keithcurtis
Placeable Light Sources & Spell Radii - Blue64
Open Chests via Token Actions - Jordan J
Using Tokens to Show Dynamic Data  - Martijn S
Tracking Token Attacks with Name of Token - Myrrh
Token Setup Map - Kraynic

Invisible Tokens -wiki page
Invisible Tokens
 - keithcurtis — (Video by Nick O)
Invisible Tokens - The Notes Token -keithcurtis — (Video by Nick O)
Invisible Tokens - The Notes Token (API version)
 - keithcurtis
Invisible Tokens - The Control Token
 - keithcurtis
Invisible Tokens - The Door Control
 - keithcurtis
Invisible Tokens - Invisible Creatures
 - keithcurtis — (Video by Nick O, timestamp)
Invisible Tokens - Invisible PC or NPC - Rabulais
Hide Token with Map Assets - Anton Palikhov
Invisible Tokens - Hidden Light Source - El Gato of de Churros and others
Wheeling Formations for Rank-and-File Wargames - Khoa P

Character/Character Sheet

Inventory Container Sheet - keithcurtis — (Alternate method)
Finding Attributes on Characters - Jeremy R. — (More info - Loren the GM, and even more - Gargamond)
Hidden Stats, Attributes, and Abilities - Blue64
Use a Macro to Report on Obscure Character Abilities and Rules - PapaWhiskey11
Tracking Spell Points as ammo on D&D 5th Edition by Roll20 sheet - Beady G
Managing Equipment Weight and Containers - keithcurtis
Improved Spiritual Weapon - Patrick
Using CSS for Art - Randall S.
Reversing Values of two digits (ex. WFR) - James K

Handouts

Interactive Tables as Handouts - Jeremy R.
Managing Magic Items With Handouts - The Aaron
Aligning Images in Handouts
 - keithcurtis (More info by Noon)
Live Handouts
 - Noon
Simple Way to have a "Handout" without a Journal Entry or Actually Making a Handout - Kastion

Macros/Text Chat

Chat Menus - keithcurtis (See below for list of Chat Menu generators) [WIKI]
Macro Character Sheet - keithcurtis   — (More info - gui8312) — Giving Players Limited Access - Kyle.G  [WIKI]
Drop Down Nester - Scott C.
Use Modular Macros to Simplify Parsing - Aranador
Use /talktomyself to Temporarily Bypass API - keithcurtis
DM Whisper With No Breaks - Muckbuckle
Tooltip Hack in Chat Display - Aranador
Styled HTML in Roll20 Text Fields
 - Noobsauce ***NOTE: May no longer work.***
Use Images in the Default Template
 - The Aaron (More info by Blue64)
Spaces in Macro Names
 - Jeremy (read further posts for cautions)
Monster Images in Chat - Kirsty
Use a "Placeholder" Character(s) to Handle In-Game Languages - Vince --- Elaboration
Bypass Blank Ability Call Math - Blue64
Summing Success Rolls - Bryan P.
Variable Numbers of Targets in an AoE Attack - Gen Kitty
Character and Token ID Lookup Macro - Andreas J
Using Token Bar Fields to Hold Multiple Variables - Pete K.
Hypertext Macro to Open a Linked Character Sheet - Vince
Auto calculating level specific buffs. (Basic IF/THEN statement, no API) - Greg S.
Sneak Attack Query for Rogues (D&D 5th Edition by Roll20 Sheet) - Musabi
Using Images as Links - Oosh
Catering for 'Missing Attributes' When Summing Values - Ziechael
Overwriting Template Fields in Macros - Oosh
Comparing Numbers, Greater Than Or Equal To - Mike deBoston
Multi-Line Rolls Without a Template - Oosh
Macro Overloading for per-player behaviour (eg. whisper self or GM-only whisper) - RainbowEncoder
5e by Roll20 'Red Line Divider' - Jarren K
Exploding Doubles - Dave Mattingly
Blind Roll (requires Stylus for GM) - Oosh
Using Macros to Map Discrete Points - Phillip S
HTML Styles in Chat
 - Oosh
Conditional Results (ex. Savage Worlds) - Mike deBoston
Tooltips for Links, Roll Buttons, etc. - RainbowEncoder
Fake Crits Using Math Instead of Dice
 - Noon
Dynamic Multitarget Roll without API
 - Barakka
Keep Crits/Fumbles from Display on Attack Rolls - Scott C.
Query Ordering Without Affecting Functionality - Ziechael
Use Emojis in Macro Buttons - keithcurtis
Custom Success/Failure Outcome Messages
 - Ziechael
Example of Structured Abilities: The XP Macro - Ed S.
Prefix Trick to Variably Call Attributes - Kyle G.
Use Compendium Links for Magic Item Descriptions - keithcurtis
Stagger the Timer for Multiple Page FX - Kastion
Rolling HP at New Level - Jerry F.
Inject Any Number of Attributes to a Roll Template - Peter B
Chat Menu Buttons and /w gm - Kraynic
Inserting a new line into chat  - Kyle E (More info - keithcurtis)
Inline Roll inside a Tooltip - Andreas J
Displaying Images Based On Roll Results - Fnux
Roll Queries -- Advanced Usage for 4th Edition - Akakemushi
Keep Nth; Select from Sequence - Rainbow Encoder
Gatekeeper Dice, Crit/Fumble Colouring - Rainbow Encoder
Wrapping Multiline Chat Messages in Brackets - keithcurtis

Turn Tracker
Storing and Reading Values for Macros using the Turn Tracker - Pat
"Concatenate" Tracker Values to Build Complex Dynamic Abilities - Barakka
Using Tracker For Planned/Sequenced Actions And Hiding Characters - Mel C
Using Values Stored in Initiative Tracker as Pointers - Michael L

Reusing Rolls Wiki page Re-using Rolls - Scott S. (More info: Reordering Rows - GiGs)
Using the Turn Tracker For Storing Last Roll - GiGs
Reusing Rolls—Two Roll Results With No Doubles - Persephone
Reusing Rolls - Rolltemplate Helper functions - GiGs (for character sheet creation)
Reusing Rolls (Advanced) - Gibli
Computed Rolls and Order Independence - RainbowEncoder

Roll Table Tricks

Use Rollable Tables to Spice up Flavor Text - godthedj
Quickly Populating with Rollable Tables
 - Mik Holmes
Simplified Hour/Day/Night System With Rollable Tables - Dwarf
Rollable Encounter Images
 - Blue64
Nestable Rollable Tables (Free User Version)
 - Blue64
Using Rollable Tables and Custom Handouts for Character Cards - Drew
Conditional Text - Mike deBoston
Inline Rolls in Rollable Tables - Eric B (plus followup posts)
Using Tables to Speak Messages in Other Languages - Mike deBoston
Interpolation Between Rollable Tables and Dice Rolls - Shinin Light
Skill Check with Text Result - ... ..
Rotating Battle Cries - Melvin the Mediocre
Random NPC Tokens - Liam

Maps

Make Doors on DL Layer Clear to Players - godthedj
Map Pins - keithcurtis (More info - Airsickhydra) (More info - Matthew T)
Precautions to Take With Very Large Maps - keithcurtis
Landing Pages - keithcurtis - [WIKI]
Using tints for art compatibility (high level map design) - gui8312
Fine Tune 'Snap to Grid' Dynamic Lighting - Ziechael
Battle Maps Rollable Table - Barakka (best if used with Concatenate Tracker Values-trick)
Combination of a few Tricks/Hints to better set up Traps, Locked Doors or both - Robert S
Elevator Music Map - Kraynic (for moving players across many maps)
Map Library for Free Accounts - Kraynic
Noises in the Dark - Devin S.
Use Negative Numbers for Very Dim Lighting - Souls
Easy Area Markers / Room Numbering - The Aaron
Environmental Effects (download link) - Kirsty
Player Dashboard - Spell/Resource/Sheet management direct from the map page - Ziechael
Light Crumbs - keithcurtis
Aura Effect to Reveal Hidden Objects or Markings - reported by Gold (Stephen S.'s original thread) (video - Nick O.)
Trap and Room Markers sans character sheet or API - Scott C. (More Info - Barakka)
Darkness Spell Orb - Avi
Quick and Dirty Slide Show and Image Display - keithcurtis
Dynamic Lighting "Windows" (UDL only) - Andreas J
Leveraging Advanced Fog of War (Explorer Mode) to prep Dynamic Lighting Nicholas F. (More info - Jarren)

Music

Quick Play: Room Specific Music - Ye'Olde DM
Tracking Time and Countdown Aid (with Jukebox Tracks) - Mel C

D&D5E

5e by Roll20 Sheet
PC Token Action to Roll Initiative - Jeremy D&D
How to manipulate Attack Actions
 - Jeremy
Mirror Image Macros - William B
Saving Throw Command Button in Spell Output - Jordan C
Headers and Dividers for Inventory - Liam
Shaped Sheet
see Macro Generators, below

API/Pro/Plus

Where to Find Scripts - keithcurtis
2 column API buttons in Default Roll Template
 - Bryan P
Exploration Mode (TokenMod API) - Mik Holmes (Updated version)
Caveman Math (debugging API errors) (uses API) - Noon
Using TokenMod and ChatSetAttr to Set Up Druid Wild Shapes - KC
More interactive world - every npc is a character mook - gui8312
Recharging Abilities with GM Reminder - Taylor B

Browser/General/Settings

Full-screen your browser for more room - Gold
GM Disable WebRTC if you use other chat program
 - Gold
Creating a Dummy Account (and why)
 - keithcurtis
Player Vault pages/ UI Pages (to manage cards & equipment) 
- GUI8312
Archive Characters, and Other Assets Into A Library Campaign
 - keithcurtis [WIKI]
Popout sheets/handouts into tabs (Chrome) - Mik Holmes (More info by Malachi and Blue 64)
Record Session in External Window - Elvin (More info by keithcurtis)
Launch Game in Player/GM Mode - Blue64
Expanded graphical tools - gui8312
Using the 3D Dice as Overlay in a Stream - Philipp S
Keyboard Macro Shortcuts - keithcurtis
Launch Roll20 in Application Mode (Windows Chrome) - Gabryel

Forums/Marketplace/LFG

Improved Forum Checking - keithcurtis
Forum Searching... But Better - Ziechael
Responding to an Old Thread in the Forums
 - Blue64
Save Sorted Marketplace Searches — Free or Newest - Mike deBoston
Easily Repeatable Game Searches - Gen Kitty
Private Forum Posts to Keep Notes In - Jarren K
Posting Code to Roll20 Forums - GiGs

Uncategorized


Useful sources of other Stupid Tricks
The Aaron's Roll20 Enhancement pack, maintained by Vince.
The Tips and Tricks Wiki Page - maintained by the community.
Poltergeisha's Roll20 Like A Boss - maintained by Poltergeisha
Dynamic Lighting Tricks - Old locked page, Community contributions
Show Off Your Style - collection of useful Stylus styles
Show Off Your Style 2: The Stylening! - A continuation of the thread above
 Show off Your Style 3: Third Time is the Charm - A continuation of the continuation of the thread above

Keith's Chat Macro Generators
These macros all have links to google sheets that parse complicated chat menus.
Soundboard - API
5e Class Feature writer - API, Shaped Sheet, Requires user data input to preserve licensed IP
5e Spellbook Manager - API, Shaped Sheet
Scenes Macro for Theater of the Mind  - API
NPC Directory and Slideshow
OGL Sheet Inventory Writer - API
December 26 (7 years ago)
Gold
Forum Champion
GM's who use Discord, Skype, Hangouts, or simply if you don't use the Roll20 audio-video:
Change Chat-Tech setting to "NONE" under Settings tab in the game tabletop.

I mean don't just turn "Send and Receive: Voice / Video" off --- that's a setting that both Players and GM's have. As GM, scroll down the Settings more and find the Chat Tech setting to truly disable it (WebRTC) from using any resources.

As player I've been invited into a few games where Video/Voice was not being used, but it was still loading in the browser (showing camera icon in Chrome browser) because the GM hadn't turned it fully off in the settings.

Not sure if this is an unconventional tip per-se, just the first Dummy's Guide tip that came to mind.
December 26 (7 years ago)
GiGs
Pro
Sheet Author
API Scripter
It's a good tip - I didnt realise the GM could disable it for everyone.
December 26 (7 years ago)

Edited December 26 (7 years ago)
a tip i came across if you want to make a night or dark themed map without using fog of war. you can use a token on the lighting layer give it a black arua the covers the map. all players see the darkness you can even stack more tokens to get a darker area. 

This works for Shaded areas or even moving areas as well. 
December 26 (7 years ago)
Mike W.
Pro
Sheet Author
Lordmage, now that is clever!
December 26 (7 years ago)
keithcurtis
Forum Champion
Marketplace Creator
API Scripter
Good one! You can also do this to add a color cast to an entire scene, such as being underwater or brightly moonlit.
December 26 (7 years ago)
Ravenknight
KS Backer

lordmage said:

a tip i came across if you want to make a night or dark themed map without using fog of war. you can use a token on the lighting layer give it a black arua the covers the map. all players see the darkness you can even stack more tokens to get a darker area. 

This works for Shaded areas or even moving areas as well. 

Holy Heck! That is clever. Thanks mate.
December 27 (7 years ago)
to add to my idea you could use the aura and the flicker element of the Torch API to get a shimmering FX if you will with water or lava as well 
January 02 (7 years ago)
Gold
Forum Champion
Here's another smart, useful, maybe obvious for some people ---

Learn how to Full Screen your web browser. Fullscreen Mode can temporarily hide some of the Chrome/Firefox interface, giving more screen real estate. This can be a very nice boost in appearance and breathing-room on your Roll20 map and chat room screen.

It's usually just a button in the top of your browser bars. Or a key combination.
January 02 (7 years ago)

Edited July 13 (5 years ago)
keithcurtis
Forum Champion
Marketplace Creator
API Scripter

Macro Character Sheet


Often when you create a new game, you need to move a ton of macros you have already created. Rather than do a laborious copy and paste, a good practice to get into is building your campaign macros as character abilities within a Macro Character Sheet. This is just an otherwise blank character with the abilities tab filled with your campaign macros. Then, when you create a new campaign, you can use the Transmogrifier (or in some cases the Character vault) to move all of your macros in one swell foop.

You will still need to load any API scripts they might call. The Aaron has a script for that, too (technically a bookmarklet), although I don't know if it works for One-Click installs.


EDIT: User gui8312 has written up a very nice expansion of this trick here.

January 02 (7 years ago)
keithcurtis
Forum Champion
Marketplace Creator
API Scripter
Another advantage to the above method is for groups where you have promoted one of your friends to GM status. You can set up a bare-bones game for them to run, with all of the laborious coding already done, leaving them only the creative tasks. The easier you make it for a friend to GM, the more likely you will be able to be a player!
January 02 (7 years ago)

Edited January 02 (7 years ago)
GiGs
Pro
Sheet Author
API Scripter
Oh wow, that "Aaron has a script" page is a treasure trove.
January 03 (7 years ago)

Edited September 17 (4 years ago)
keithcurtis
Forum Champion
Marketplace Creator
API Scripter
Isn't it though? They don't work in Firefox Quantum and later, so far as the ones I've tested. The Sort Transmogrifier is a godsend.
January 03 (7 years ago)

Edited November 09 (5 years ago)
keithcurtis
Forum Champion
Marketplace Creator
API Scripter

Today's Stupid Roll20 Trick:

Chat Menus

Although implied by the wiki, and used by many API scripts, these are very easy to make using API buttons (which do not actually use the API—anyone can make and use them)

If you have a bunch of commonly used macros, rather than clutter up your map area with buttons, make a button that calls a menu of buttons into the chat area. This way you can call up a huge array of options with only a single extra click. I have several of these, categorized by use. Some examples are posted below.

To make a Chat Menu, use a Roll Template. Because the formatting of Roll Templates, the appearance of a Chat Menu can vary widely from game to game. In general, though, the code is remarkably similar:
[command name](#macro to call)
Default button syntax to reference a Macro in the collections tab—You probably don't need to use this for a Chat Menu. Use one of the versions below.


If you use the macro character tip posted above, the format is:

[command name](~macro to call)
Button syntax to reference an Ability on the same sheet
... with "macro to call" being another ability on the same sheet. By keeping your macros on a sheet along with the Chat Menu macro itself, you not only gain the advantage of transportability to new campaigns, you also ensure that nothing breaks once you transport it. The macro it's calling comes right along with it.


If you want to reference a macro that is on a character sheet (an "Ability"), but you are not writing the macro on the same sheet, you can reference the ability with this format (Assuming that your referenced sheet is called "Macros"):

[command name](~Macros|macro to call)
Button syntax to reference an Ability on another character sheet, such as a Macro Character Sheet.

If your macro is a loose, global macro, the code is a little more arcane, since you need to use HTM replacements:
[command name](!
#macro to call)
Button syntax to reference a Macro in the collections tab. Try to use only in Abilities, not Macros, since Macros will revert the HTML replacement if you need to edit.

Note also, that you can embed a Roll Command into the API button instead of a macro, if you simply have a bit of code you use over and over, but a better practice (at least I have found) is to keep as much code in macros as possible, so that if you use the same command in different places, you only have to edit the original if you later decide to change how something works. If it's just an API call (a script call, beginning with "!"), it's pretty safe to pop in as-is.

Here are some Screenshots. These use the Shaped Sheet, which formats buttons as in-line text links. If you prefer that to the default "Big Pink Buttons" used by most other sheets on Roll20, use this tip to style them for the OGL template, or this tip to style them for the default template:
 


Sample code for the Utility Macro:


/w gm &{template:5e-shaped} {{title=Utility Menu}} {{text_big=[Configure Shaped Options](!shaped-config)
**Import Spells**
[Spells](!shaped-spells) | [Remove All Spells](!shaped-remove-spell --all)
[Expand Spells](!shaped-expand-spells)
**Import Monsters**
[Monster](!shaped-monsters) | [Replace and Overwrite Monster](!shaped-monsters --replace)
[From Statblock](!shaped-import-statblock) | [From Token Name](!shaped-import-by-token)
**Character Creation**
[Character Builder](~Character-Builder)
**Create Token Macro Buttons**
[Attacks](!shaped-abilities --attacks) | [Actions](!shaped-abilities --actions) | [Reactions](!shaped-abilities --reactions)
[Traits](!shaped-abilities --traits) | [Racial Traits](!shaped-abilities --racialTraits)
[Class Features](!shaped-abilities --classFeatures) | [Feats](!shaped-abilities --feats)
[Legendary Actions](!shaped-abilities --legendaryA) | [Lair Actions](!shaped-abilities --lairA)
**Setup**
[Set Token to Defaults](!shaped-apply-defaults)
[Set Default Token](!token-mod --set defaulttoken)
[Update to Current Sheet](!shaped-update-character)
[Update All-Caution](!shaped-update-character --all)
**Rests and Resets**
[Short Rest](!shaped-rest --short) | [Long Rest](!shaped-rest --long)
**Utility**
[Health Aura On](!setattr --sel --USECOLOR|YES
!aura update) | [Health Aura Off](!setattr --sel --USECOLOR|NO
!aura update)
[Door Commands](!
#{Macros|Doors})
[Ready Roofs](!RoofReady)
[Summon Duplicates](~Summon)
}}


Note: there are a couple of very powerful API scripts that can make exhaustive character-reporting Chat Menus: Menu Maker by Scott C., and Universal Chat Menus by GiGs.

January 05 (7 years ago)
vÍnce
Pro
Sheet Author
Use a "placeholder" character(s) to handle in-game languages:
  1. Add a new character(s) and name each a particular language ie "Elven" , "Giant", "Draconic", etc.
  2. Assign control of that character/language to player's that speak that language.
  3. Any whispers sent to "Elven" will be seen by all players that control the "Elven" character. I believe this even works if they are archived.
It's a cool trick I learned on the forums. Enjoy

edit: forgot to mention saying thanks for creating this thread. Great stuff keithcurtis. +1
January 05 (7 years ago)
keithcurtis
Forum Champion
Marketplace Creator
API Scripter
:)

Vince said:

Use a "placeholder" character(s) to handle in-game languages:
  1. Add a new character(s) and name each a particular language ie "Elven" , "Giant", "Draconic", etc.
  2. Assign control of that character/language to player's that speak that language.
  3. Any whispers sent to "Elven" will be seen by all players that control the "Elven" character. I believe this even works if they are archived.
It's a cool trick I learned on the forums. Enjoy

edit: forgot to mention saying thanks for creating this thread. Great stuff keithcurtis. +1

nice none API to do it but for an API way you could use the tongue script https://app.roll20.net/forum/post/5633578/script-tongues-a-simple-language-script 
January 11 (7 years ago)

Edited March 30 (6 years ago)
keithcurtis
Forum Champion
Marketplace Creator
API Scripter
EDIT: It appears that the forums themselves don't like emojis, at least on my end. They do work in the game interface, however. Use the screenshot as a guide.

Emojis in macro buttons

I hinted at this in the first post, but thought I might elaborate a little. The macro bar at the bottom of the screen can become a little crowded, especially if you are a GM. It's built to wrap around, but that eats up more screen real estate and can crowd into the avatar area. Emojis can help relieve this problem.

If you have a commonly used macro, such as passive perception in 5e, you have several choices if you want to want to keep a button donw in that bottom bar. You are unlikely to want to name it "Passive Perception", since that would make a huge button. "Pass-Perc" is much shorter, but we can get it even smaller that that. Emojis can be your friend here. You can replace all of those characters with a single eye-catching glyph: ️

Here is an example of my own macro bar. Some of the buttons are words, some are emojis. Sometimes the brain finds a word more quickly than a picture, you can season to taste.



Skipping the English word buttons, the emoji-entitled macros here show:

  My Soundboard
️ NPC Portraits
 Healing Potions
 Group-Initiative

 The chat macro for displaying a 5e Shaped character, with attacks, spells and GM Notes
 The chat macro for displaying a 5e Shaped base character
⚔️ The chat macro for displaying a 5e Shaped character's attacks only
 The chat macro for displaying a 5e Shaped character' spells only

 A macro that marks a token as using concentration
 A macro that displays GM Notes

️ Passive Perception


The links are to macros or scripts or sheets that facilitate these functions. Or at least how I do it.

Of course, since emojis aren't really a font, but a collection of glyphs called by Unicode calls, they will display differently on different systems. The ones in my bar are a screen capture as they display on an Apple Macintosh. If you are reading this post on a Windows PC or Chromebook, you will see slightly different renderings. You may want to choose your emojis carefully if you work on multiple platforms.

Also note that you can still name the macro in your collection "Passive Perception" to make the intent clear. Once it is in you bar, you can right click on it to change the display name to an emoji or an abbreviation, as well as change the color. You can also change the order they display in.
ok keith or the aaron say i am in the process of shifting my macros from the macro menu into a character sheet i am calling Macros.
i have a few for roll tables that are called as a basic macro at present.
i have one roll table called money and a matching macro that would !rt [ 1t[money]]] if i move this macro to a sheet and remove the macro how do i rewrite the ability to call the roll table called money. i hope i made since.
January 14 (7 years ago)
keithcurtis
Forum Champion
Marketplace Creator
API Scripter
Well, to begin with, you are missing an open bracket. That should read !rt [[ 1t[money]]]. Then if you make a character ability on the macro sheet with that code, it should roll on the table just as if you had invoked a normal macro. What behavior are you seeing when you try?
in one set i use a series of #money new line #macro2 to call the other macros when i use this set it simple output the #money1 newline #marco2 rather than roll the table and i wrote that example with little sleep so yes the example is missing a [ :D 
January 14 (7 years ago)
keithcurtis
Forum Champion
Marketplace Creator
API Scripter
If I read correctly, you are calling your macros as $Macro_name? For a character ability, that should be changed to ~MacroName, so long as you are referencing another character ability on the same sheet. I don't claim to be a macro expert; I usually solve a nesting problem with trial and error. If you post the full code on a macro that is giving a problem and I can't spot the fix, maybe one of the sages like Silvyre can point out the problem.
January 14 (7 years ago)

Edited January 14 (7 years ago)
i think you just sorted it out will attempt 

here it is in a nut shell under the old way i had one macro that did
/w gm
#weapons
#Money
#gems
#Potion
#Trinkets

Each item was its own macro the was configured to roll the appropriate role table the amount of time i wanted and output to GM chat the total outcome line by line.
having created the macros it works but i was hoping to simple import the role tables by the same name and configure the sheets abilities to directly roll them in a similar manner. 
.on the sheet i called this main abilities Loot-Drop on the Same Sheet i also have abilites by the same name for each line
  
January 15 (7 years ago)

Edited July 13 (5 years ago)
keithcurtis
Forum Champion
Marketplace Creator
API Scripter

Quick and Dirty Invisible Token Tracking Using Basic Fog of War


Often you need to make a token invisible, or ethereal or just plain hidden from player view. Still, you want to be able to track it's movment and have access to its token macros, bubbles or other token features. The basic way to handle this is to temporarily move it to the GM layer, where you can see it but the players can't. It can be a bit of a hassle to keep shifting layers, however, especially if you are not comfortable with hotkeys or advanced hotkeys. There are some great scripts for this if you are a pro subscriber, but it you are Plus or Free, what to do?

One workaround is to make a strip of Fog of War (basic) across one side of the map. Any token you want to be invisible can be moved there. Then just use a placeholder with a transparent png for its face and an GM-visible-only aura to move around the map. Make sure you have the aura and the token name set to be invisible to players. You can even make the placeholder token a standard token you can draw from you library at a moment's notice. Just set it up as indicated, attach it to an otherwise unused character sheet and set it up as the default token for that sheet.

This allows you to have access to the real token and its attendant character sheet and token macros without mucking about with rollable tables and faces, or moving things between layers. You can make any token invisible or ethereal at a moment's notice. Just drag them into the FoW area, which to the players just appears as a black band on one side of the map. Then drag out your placeholder token and continue playing.


In the screenshot below, a sneaky drow mage is attempting to evade poor Tom Robbenhelm. He has become invisible and is just standing on the open path. I have moved his token to the Fog of War area down at the bottom of the page, and moved an Invisible Tracker token to take his place. I can still click on his token and use the Witch Bolt macro I have created for him, without having to change layers or reveal his true position. Conversely, if Tom Robbenhelm unleashes a fireball in the general area he believes the drow to be standing, I can easily click on the drow token and subtract the appropriate damage from his damage bubble.



EDIT: Here is a video by Nick O, along with a timestamp

January 15 (7 years ago)
Kirsty
Pro
Sheet Author
I was struggling with this very thing last session. Thank you, keithcurtis, for making this thread. It has been very helpful!
January 15 (7 years ago)
keithcurtis
Forum Champion
Marketplace Creator
API Scripter
Just a reminder, I may have started the thread, but the intent was for anyone to post their tricks. Feel free to share.
January 16 (7 years ago)

keithcurtis said:

Often when you create a new game, you need to move a ton of macros you have already created. Rather than do a laborious copy and paste, a good practice to get into is building your campaign macros as character abilities within a Macro Character Sheet. This is just an otherwise blank character with the abilities tab filled with your campaign macros. Then, when you create a new campaign, you can use the Transmogrifier (or in some cases the Character vault) to move all of your macros in one swell foop.

You will still need to load any API scripts they might call. The Aaron has a script for that, too (technically a bookmarklet), although I don't know if it works for One-Click installs.
That really doesn't help because you then need to move the macro back to the macro section of the new game. Roll20 needs to fix this and let us transmog our macros to the new game. I spend hundreds of hrs creating these and even more time moving them which is ridiculous in today's technology.

January 16 (7 years ago)
keithcurtis
Forum Champion
Marketplace Creator
API Scripter

Craven said:

keithcurtis said:

Often when you create a new game, you need to move a ton of macros you have already created. Rather than do a laborious copy and paste, a good practice to get into is building your campaign macros as character abilities within a Macro Character Sheet. This is just an otherwise blank character with the abilities tab filled with your campaign macros. Then, when you create a new campaign, you can use the Transmogrifier (or in some cases the Character vault) to move all of your macros in one swell foop.

You will still need to load any API scripts they might call. The Aaron has a script for that, too (technically a bookmarklet), although I don't know if it works for One-Click installs.
That really doesn't help because you then need to move the macro back to the macro section of the new game. Roll20 needs to fix this and let us transmog our macros to the new game. I spend hundreds of hrs creating these and even more time moving them which is ridiculous in today's technology.


Actually, you run the macros off the sheet. There is no need to move them into the collection tab. I have set up several new campaigns without having to move or duplicate a single macro into the collection. Just transmogrify the sheet and treat it as your collection. The sheet has the same "include on macro bar" option as the collection tab. Another advantage is that if you update some macros in one campaign, you can transmogrify the sheet again and bring the updated macros to whichever campaign you wish in one action.

keithcurtis said:

Craven said:

keithcurtis said:

Often when you create a new game, you need to move a ton of macros you have already created. Rather than do a laborious copy and paste, a good practice to get into is building your campaign macros as character abilities within a Macro Character Sheet. This is just an otherwise blank character with the abilities tab filled with your campaign macros. Then, when you create a new campaign, you can use the Transmogrifier (or in some cases the Character vault) to move all of your macros in one swell foop.

You will still need to load any API scripts they might call. The Aaron has a script for that, too (technically a bookmarklet), although I don't know if it works for One-Click installs.
That really doesn't help because you then need to move the macro back to the macro section of the new game. Roll20 needs to fix this and let us transmog our macros to the new game. I spend hundreds of hrs creating these and even more time moving them which is ridiculous in today's technology.


Actually, you run the macros off the sheet. There is no need to move them into the collection tab. I have set up several new campaigns without having to move or duplicate a single macro into the collection. Just transmogrify the sheet and treat it as your collection. The sheet has the same "include on macro bar" option as the collection tab. Another advantage is that if you update some macros in one campaign, you can transmogrify the sheet again and bring the updated macros to whichever campaign you wish in one action.

i think he experienced what i did with a few of his macros that rely on a macro being in the macros area due to the #macro name rather than sheetname|abilities name i think. i ended up just making 5 macros but keep them setup on the sheet. vs over 20 at this point. in my original game
January 16 (7 years ago)
The Aaron
Pro
API Scripter

Craven said:

That really doesn't help because you then need to move the macro back to the macro section of the new game. Roll20 needs to fix this and let us transmog our macros to the new game. I spend hundreds of hrs creating these and even more time moving them which is ridiculous in today's technology.
I've got a script that could help with that: https://app.roll20.net/forum/post/4606812/import-m...


January 16 (7 years ago)

Edited March 30 (6 years ago)
keithcurtis
Forum Champion
Marketplace Creator
API Scripter

lordmage said:

i think he experienced what i did with a few of his macros that rely on a macro being in the macros area due to the #macro name rather than sheetname|abilities name i think. i ended up just making 5 macros but keep them setup on the sheet. vs over 20 at this point. in my original game

Ah, could be. The sheet method does require some planning. When I first did it, I was re-creating my campaign after some corruption problem. I looked at each of my old macros, decided what needed to be in the new campaign and put each onto the macro sheet with the cut and paste method, re-doing any referrals like that, which was mostly changing # to ~.

There is one drawback to using the sheet method. If you wish to make a macro truly universal, you must have some way of granting access to players. The only way to do that is to grant players access to the sheet, which you probably don't want to do. For instance, I have an initiative macro that players can use. In order to make it available to them, I either have to create it on their sheet or at least create a macro that invokes the sheet macro. These cases are few and far between, though, mostly token macros you want to be universal.

January 16 (7 years ago)

Edited March 30 (6 years ago)
keithcurtis
Forum Champion
Marketplace Creator
API Scripter

The Aaron said:

Craven said:

That really doesn't help because you then need to move the macro back to the macro section of the new game. Roll20 needs to fix this and let us transmog our macros to the new game. I spend hundreds of hrs creating these and even more time moving them which is ridiculous in today's technology.
I've got a script that could help with that: https://app.roll20.net/forum/post/4606812/import-m...



The appearance of The Aaron in a thread is often similar to a chance meeting with Superman. He swoops in, saves the day and is off to help others.

Maybe he's more like Gandalf. He appears suddenly, gives you sage advice, a weapon, or tool and then is riding off on his great horse Javafax to help and inspire others.

The Aaron said:

Craven said:

That really doesn't help because you then need to move the macro back to the macro section of the new game. Roll20 needs to fix this and let us transmog our macros to the new game. I spend hundreds of hrs creating these and even more time moving them which is ridiculous in today's technology.
I've got a script that could help with that: https://app.roll20.net/forum/post/4606812/import-m...



If Roll20 had signature lines i imagine WE all would Say "The Aaron Does indeed have a Script for that" Where his would be "Why Yes i DO : Link " 
January 16 (7 years ago)

Edited January 16 (7 years ago)
The Aaron
Pro
API Scripter
HAHAHAHA.  To some day be held in the same company as Gandalf is the aspiration of all Arcane Scriptomancers. =D
January 16 (7 years ago)

keithcurtis said:

lordmage said:

i think he experienced what i did with a few of his macros that rely on a macro being in the macros area due to the #macro name rather than sheetname|abilities name i think. i ended up just making 5 macros but keep them setup on the sheet. vs over 20 at this point. in my original game

Ah, could be. The sheet method does require some planning. When I first did it, I was re-creating my campaign after some curruption problem. I looked at each of my old macros, decided what needed to be in the new campaign and put each onto the macro sheet with the cut and paste method, re-doing any referrals like that, which was mostly changing # to ~.

There is one drawback to using the sheet method. If you wish to make a macro truly universal, you must have some way of granting access to players. The only way to do that is to grant players access to the sheet, which you probably don't want to do. For instance, I have an initiative macro that players can use. In order to make it available to them, I either have to create it on their sheet or at least create a macro that invokes the sheet macro. These cases are few and far between, though, mostly token macros you want to be universal.

I’m setting up a campaign now where I have a sheet called GM and one sheet called “Party” that holds macros for me and them respectively.

I have also set up a token for the “party” character, the idea is for me to controll it during non-combat exploration etc. That way all players “see” the same thing as they all “see” what “the party” sees wich I think will help me in keeping the flow and telling the story. 

January 16 (7 years ago)
keithcurtis
Forum Champion
Marketplace Creator
API Scripter
Clever!
January 18 (7 years ago)
keithcurtis
Forum Champion
Marketplace Creator
API Scripter

Inventory Container Sheet

Do you have a character who has a Bag of Holding, or a significant list of possessions that he or she does not carry around all over the place? Here is an idea of how to track possessions and their weight without affecting your personal encumbrance: Create a blank character sheet to use as a container. Of course, this idea assumes you have sheet that tracks item weight and has a repeating field to list items in your inventory.

In my campaign, the character Torborg has a Bag of Holding that carries 500 pounds. He wants to keep a list of the things in it, and to track how close he is to exceeding capacity. So we created a character called "Torborg's Bag of Holding". Anything on that sheet is considered to be in the bag, while his own sheet has only a single line in his inventory called Bag of Holding. He has a Macro which creates a link to open the sheet. assuming you don't abuse the idea by creating too many container sheets, you shouldn't wind up bloating your journal tab.
And before they get a Bag of Holding, you can create a PC character sheet for their mule (aka living bag of holding) to carry stuff and track weight of the carried items.
January 19 (7 years ago)
keithcurtis
Forum Champion
Marketplace Creator
API Scripter
Nice. You can even use the AC & HP, should goblins start taking potshots at it.
I create decks of cards to track player resources. For example, for my monk, I created a deck of cards that are a little Yin/Yang symbol that he uses for his Ki points. He can then grab the amount he needs at a rest, and then just plays the cards to the tabletop every time he spends a Ki point. Then he's always got a visual reminder in front of him for how many he's got left.

In my 1e game, since there is no 1e Compendium, I made up spell cards for my players.  In 1e, you can only cast the spells you've prepared, so each spell they prepared got it's own card.  Each spell card was a graphic that had the spell's information on it, as well as the spell name.  Whenever a player prepared his/her spells, they would just draw the spell cards from the deck, and then play them to the table as they were cast.  Here's an example of a spell card:



The purpose of the large red text was so that the spell name can be read from the user's "hand," like so:

January 22 (7 years ago)
GiGs
Pro
Sheet Author
API Scripter
I've used a similar technique for keeping track of fate points in fate, gear in dungeon world, and various resources in some other games. I love the big red writing to make it clear at a glance what the card is.

How do you handle drawing the spells from the deck? Do you have a different deck for each card, or is there some way to choose specific cards from decks now?
January 22 (7 years ago)
keithcurtis
Forum Champion
Marketplace Creator
API Scripter
Those are great. I might have to re-visit the utility of card decks.

G G said:

How do you handle drawing the spells from the deck? Do you have a different deck for each card, or is there some way to choose specific cards from decks now?

The players can choose specific cards if the GM sets up the deck that way.
January 22 (7 years ago)
GiGs
Pro
Sheet Author
API Scripter
Nice! I am just getting back to roll20 after a long break (more prep than playing so far) and somehow i didn't realise that was an option.
January 23 (7 years ago)
Scott C.
Forum Champion
Sheet Author
API Scripter
Compendium Curator
Here's something I just discovered while setting up a bizarre gun build for an upcoming campaign, and I know that I've seen questions on the forums for how to do similar things.

The background:
So, my future character is going to be using a scatter weapon (special type of firearm in pathfinder), which requires rolling a ton of attack rolls. Instead of clicking the attack button for each person in the aoe, I just duplicated the attack roll 14 times (the likely maximum of affected creatures). But then I had a problem, what to do when one of those 14 rolls inevitably scored a critical? The roll template only checks the first roll in a field for crit/fumble/equality, and I really didn't want my first attack roll to always be showing as a crit.

And so we get to the stupid trick.

The solution is to add the following as the first roll in the attack field:
[ ]([[1d1]])
This then gets added in as a blank space hyperlink, but since there's no content there, you can't click on it. It also counts as the first roll in the field, and so forces the roll template to display the critical information.

Now, obviously, everyone isn't going to want to have their crits showing up all the time, so, you can put it in a roll query, say to handle the 5e rogue's assassin subclass assassinate ability:
?{Target surprised|No, |Yes,[ ]([[1d1]])}
January 25 (7 years ago)

Edited March 30 (6 years ago)
keithcurtis
Forum Champion
Marketplace Creator
API Scripter

2 column API buttons in Default Roll Template

From user Bryan P.:

Putting API buttons into a roll template can sometimes result in a lot of wasted space. The default template uses the format of "label=text" where the text is often an attribute call or an API button. By putting an API button before the "=", and the next API button after the "=", you can trick the template into putting two API buttons on one line, giving the illusion of two columns. Depending on the length of the text in your buttons, this may save you space. Or you might just find the look easier to use.


January 25 (7 years ago)
GiGs
Pro
Sheet Author
API Scripter
Dammit! I use this technique a lot. If only I'd thought of posting it here, i could have had the fame and fortune that comes with such recognition.

More seriously, I do love this thread, you're doing great work keeping it going, keith.
January 25 (7 years ago)
keithcurtis
Forum Champion
Marketplace Creator
API Scripter
I've been keeping my eyes out for people on the forum coming up with cool ideas.
January 26 (7 years ago)
So I am sure this has been noted already, but today I was basically teaching myself how to use the most basic macro stuff, using the default template.  Like many many people (judging from my search results) I was finding it difficult to do tricky things wherein you would call a power macro from a table of choices that was itself a power macro (that was a token action).

Now there is all sorts of stuff about substituting the right unicode for the correct bracer or pipe and generally making it work - but - that gets confusing and unreadable pretty quickly, and in addition, the macro with the substitutions can no longer be used directly, but rather must be called from another macro to get it to parse out into a then parsable format.  Heavens knows what happens if you nest deeper and put these things through the parsing multiple times.

However, a button doesn't call up and parse its linked macro when its parent macro is run, and thusly runs the linked macro 'fresh'.

So I hit on the idea of having my top level macro, linked to a token action, spew a bunch of action buttons into chat as a whisper to myself.  These can then call macros that spew further buttons, which in turn can actually do something useful for everyone to see, or spew even further buttons.  Meanwhile my end level macros are still nice and readable.

Whats more, all this can be done with just the default template, and no sheet, API, or anything - meaning you can do it player side without needing the game master to have found and activated the right scrips or what ever - and to do more than what ever they have added do.

It's downside (and isnt there always one) is that you are essentially branch programming, so you do potentially wind up with many easy to read but largely similar macros to account for different possibilities.

Anyway - I am sure many people know this already, but I certainly didn't come across this in my searches, while all the known headaches with macro nesting were prevalent enough for me to think it was good knowledge.
January 26 (7 years ago)
keithcurtis
Forum Champion
Marketplace Creator
API Scripter
It sounded like you were describing something similar to what I call a "chat menu", essentially a chat-based directory of other macros. I describe it in a post above, but it sounds like you are using it to work out what would otherwise be very complex macros. That's a good tip and might solve some of the thornier problems I've had with nesting roll tables. Thanks!
January 26 (7 years ago)
Yah bingo - exactly the 'chat menu' and because of how it works, you can use it to get around the parsing issues that come with nested macro calls - and you can do it without needing any special APIs or templates, so I am sure that with those things, you could do even more.