Advertisement Create a free account

Stupid Roll20 Tricks (and some clever ones)

1517500540

Edited 1563034900
keithcurtis
Forum Champion
API Scripter
Mood Lighting Tokens Sometimes you have the perfect map, but you are not sure at what time of day the characters will get there. It can hurt immersion if that forest ambush you had planned for noon instead had to go off at midnight because the PCs wanted to finish carousing at the local inn until last call. Your brightly lit woodland scene doesn't work as a spooky old forest at night. But you run with it and remind the players that it's really nighttime. Enter mood lighting. This trick requires an invisible character token. I use one I call Info , that is normally employed to sprinkle notes around on the map. Use a blank transparent png as your token, and mark its place with a GM-visible-only aura. The one in my example is yellow. The name plate is also invisible to players, so they see nothing of it. To set lighting, give it a second aura, large enough to easily cover the entire map. This will add a tint/shade to the entire VTT play area. If you use black for instance, you have now made it night time. The amount of black may not be quite enough to give the effect you want, so you can simply copy and paste a second instance of the token. The auras will multiply, making it as dark as you like. By using color, you can simulate moonlight, being underwater, lit by the faerie fire of a drow city and so forth. Different maps will have different saturation and brightness, so some experimentation is often necessary to achieve the right effect. If you have the API and can use Token-Mod, you can even save the most common ones to token macros, for quick and dirty lighting control. Sample Token Settings: Examples: Normal Night Time Dark Night (two tokens) Moonlight EDIT: Here is a  video  by Nick O, along with a  timestamp )
1517520355
Kirsty
Pro
Sheet Author
You can also use the tint to add environmental effects. For example, you might use a fog overlay on a map: And then use the tint on the fog to create an acidic cloud effect:
Kirsty said: You can also use the tint to add environmental effects. For example, you might use a fog overlay on a map: And then use the tint on the fog to create an acidic cloud effect: so are you using a transpart fog image streched how do you achieve the Fog token. 
1517521011
Kirsty
Pro
Sheet Author
Yup, I use a transparent fog image for this effect. I do the same thing with rain and snow. If you're interested,  here's a link to the png files . I made them myself, so there's no copyright issues with sharing them around. :) They're made to stretch on a 25 x 25 grid but they're also seamless, so you can use them on larger maps by making copies and putting them alongside each other.
Kirsty said: Yup, I use a transparent fog image for this effect. I do the same thing with rain and snow. If you're interested,  here's a link to the png files . I made them myself, so there's no copyright issues with sharing them around. :) They're made to stretch on a 25 x 25 grid but they're also seamless, so you can use them on larger maps by making copies and putting them alongside each other. sweet will come in handy that is for sure :D
1517523851
keithcurtis
Forum Champion
API Scripter
Those are great, Kirsty! Thanks!
1517524233
keithcurtis
Forum Champion
API Scripter
Hmm, I'll have to experiment with the fog. I bet it could simulate being underwater quite nicely.
1517543978
Kirsty
Pro
Sheet Author
@keithcurtis You're welcome! I didn't think of the underwater idea, but I'm excited to try it. I've got an underwater component coming up in one of my campaigns... :)
1517850618
keithcurtis
Forum Champion
API Scripter
Creating a Dummy Account (and why) This is a tip primarily for streamers, but is useful to anybody who wants to verify a player view. I think it qualifies as a Stupid Trick, since it's using account creation for a purpose other than simply playing a game. If you find yourself wishing to stream or record your game, you often run into the problem that if you are also the DM, your view shows the DM layer, otherwise invisible notes you've left on the table top, or things hiding behind dynamic lighting. You might find yourself in a situation in which you want viewers to only see what the players see. If you can give the recording task to a player, that's good, but it still has some drawbacks. The recording only shows things the characters they control would see. If Shiela the Thief and Bobby the Barbarian on on opposite sides of a wall, the recording software can only record what one of them sees, not both. If you are doing it yourself, a simple solution presents itself. Create a second dummy account and use that as a player connection. There are several benefits to doing this: 1) You can set up your streaming/recording software (I use&nbsp; OBS ) to record the action from the camera feed. Make sure that the dummy account can control all the PCs , and if they can see it, it shows on the recording. 2) You can test out techniques to see how they will appear to players. Yes, you can rejoin your campaign as a player, but then you can't see how you DM actions appear to a player. In other words, perhaps you have set up a monster that you want to pull from the GM Layer with a Script that also invoke a Special Effect, or you want to set up Matt's Doors script and verify that they work for the PCs without having to repeatedly rejoin as DM to fine tune things. 3) You have a macro with a public portion and some GM whispered content and want to verify that it is appearing correctly for players. In these cases, being able to switch from your GM window to a player window needs to be quick since it can require cordinated action (do something as GM and see what the players see) So create a dummy account. How to do this? 1) Sign up for Roll20 again under a different email address. BIG HINT FOR GMAIL USERS: Gmail allows you to put a "+" after your user name, so that it looks like a different address, yet resolves to the same account. For example <a href="mailto:EricTheCavalier@gmail.com" rel="nofollow">EricTheCavalier@gmail.com</a> looks like a different email than <a href="mailto:EricTheCavalier+Shield@gmail.com" rel="nofollow">EricTheCavalier+Shield@gmail.com</a> to most every site on the web, including Roll20, but any mails sent to the second will also go to the first. It looks different to everyone else, but is treated the same for you. So you don't need to maintain a second email address. Do give it a unique user name (I call mine Camera). 2) (Important) Send your dummy account an invite. :) 3) When signing on, use either a different browser, or preferably a Private Browsing window of the same browser. If you are logged on to two different games in regular browser windows of the same browser, and need to refresh one, it will always refresh to the latest account joined. This will leave you logged into two windows with the same account. So open a private browsing window and log into your second account with that. Final Hint: Remember to sign out of your dummy account if you come here to post on the forums. Not that I've done that...
1517914885

Edited 1517915825
thanks for the post! :)
1517915507
Kirsty said: Yup, I use a transparent fog image for this effect. I do the same thing with rain and snow. If you're interested,&nbsp; here's a link to the png files . I made them myself, so there's no copyright issues with sharing them around. :) They're made to stretch on a 25 x 25 grid but they're also seamless, so you can use them on larger maps by making copies and putting them alongside each other. thank you for those files! :D
1517916114
Ziechael
Forum Champion
Sheet Author
API Scripter
Query ordering without affecting functionality Sometimes you may have a macro that asks a series of questions to the user but due to the mechanics of the system they may get asked in an undesirable order. I know, first world problem but still a problem. The answer: API command syntax! Accessible to all users regardless of subscription level you can prefix anything with a humble '!' to prevent it from writing to the chat. For example; you have a macro that asks for the answer to 3 queries but due to the order of operations of the game your macro would ask for them in reverse order which can be confusing, annoying or both. To get around this you can format your macro as below and the queries will get asked in the right order but the values will be used where needed: ! ?{Query1} ?{Query2} ?{Query3} /em Player 1 does something... [[ 1d20 + ?{Query3} ]] vs [[ 1d20 - ?{Query2} ]] for [[ 1d8 + ?{Query1} ]] damage! But wait, theres more! Who doesn't love the clack and clatter of 3d dice... someone with a migraine probably... but anyway... There are many systems out there that use non-standard dice mechanics, strange polyhedrons with arcane symbols instead of numbers or other such blasphemy. As it stands there is no way to have 3d dice with those rolls, even just for the aesthetic/auditory reasons. Using an exclamation mark you can have all the dice you want... as long as you don't expect the results to be meaningful ;) Turn on 3d dice and use something like the following: ! ?{Number of dice}d10 /em Player 1 rolls ?{Number of dice} d11s: [[ ?{Number of dice}d11 ]] Its a niche market for sure but as long as you ignore the numbers on the dice you can still benefit from that digital bone throwing experience =D
1517927914

Edited 1517927935
keithcurtis
Forum Champion
API Scripter
Great tricks, thanks! I often forget that query results can be referenced multiple times.
1518179568
Many useful things in here, thank you!
1518310847
keithcurtis
Forum Champion
API Scripter
Keyboard Macro Shortcuts With thanks to the Aaron for the basic Javascript Note: This method does not work with the current (as of this writing) version of Firefox Quantum, which does not support Javascript bookmarklets If you are a person who prefers hotkeys rather than menus or on-screen buttons, here's a cool little tip for assigning macros to hotkeys. Note that I am writing this from a Macintosh user's perspective, but hopefully a Windows or other user will come along to suggest the easiest way to do the keybinding on that platform. The basic idea is that anything that you can type into the chat box can be entered via a javascript bookmarklet. The basic syntax is: javascript:(function(){$('#textchat-input textarea').val('SOMETEXT');$('#textchat-input button').click();})(); The only thing you need to replace in this bookmarklet is "SOMETEXT". Anything you place in between the single quotes will be sent to the chat window input box. So, for instance,&nbsp; javascript:(function(){$('#textchat-input textarea').val('%{Macros|Game}');$('#textchat-input button').click();})(); ...will invoke the ability macro 'Game' on the character 'Macros'. This can be saved to a bookmarklet in Chrome. (it should work in any browser that supports javascript in the URL bar). Basically, create a blank bookmark, and assign the code to it. It must start with "javascript:". Some browsers blank that out unless you specifically type it, so make sure it's there at the beginning. Give the Bookmarklet a unique name. For the one above, I used 'JMGame', for Javascript Menu Game. You can also put in API commands, boilerplate text, or anything you could physically type. The next bit will vary from platform to platform. On the Mac, open up System Prefs from the Apple menu and select the Shortcuts Tab of the Keyboard pane. select "App Shortcuts" fromt eh menu on the left and add a shortcut specific to Chrome that is spelled exactly &nbsp;the same as the menu item in Chrome. Assign it a keystroke, Say "F3". You may need to actually choose it once manually from the Chrome menu just to make sure it has built all of the sub menus. Now, whenever I press the F3 key, it invokes the Game Menu. You can build up a whole library of these. This bookmarklet is smart enough that it will enter items into the chat window, even if it is not displayed . So if you have a macro that sends tokens to the tracker, you can select them and send them there even if you are currently browsing the Jukebox or the Compendium. It will not work if the chat box is popped out into its own window, though. The JM1..JM4 entries are blanks that are awaiting me to assign them text and a title. For anyone who is wondering what all the other bookmarklets are, most of them come also from the Aaron and can be found in the&nbsp; Aaron's Roll20 Enhancement pack , maintained by Vince.&nbsp;
1518374645
Oooh! Sort Transmogrifier!
1518378023
keithcurtis
Forum Champion
API Scripter
Doug E. said: Oooh! Sort Transmogrifier! That's the one I use most often.
1518399738

Edited 1518399953
Is there an available link to the Restart API? I didn't see it it the link above, or The Aaron's repository.
1518406184
keithcurtis
Forum Champion
API Scripter
It's in&nbsp; this thread , but it's not as useful as it looks. It requires the API tab to be the active tab, in which case, you might as well press the button. I put it into the menu mostly to keep a record of it, in case I wanted to work it into an Applescript workflow.
1518406315

Edited 1518406637
Thank&nbsp;you. Off to mess with the Turn Tracker, now that I have it small :)
1518417044
keithcurtis
Forum Champion
API Scripter
I should probably start a thread for Stylish styles. I use that for the Turn Tracker, now.
1518856715
keithcurtis
Forum Champion
API Scripter
Use /talktomyself to temporarily bypass API User Vince brought up a great use of the /talktomyself chat command. Let's say you are using an ability or command that invokes the API, but you don't want to invoke the API at that point. The classic example is what if you want to click a spell on your character sheet, just to read the description in chat, but you don't want to actually cast it. Some sheets have companion scripts that automatically decrement your available spell slots. This is really annoying if you want to compare two or more spells. If you use the command /talktomyself, not only will it mute your chat entries for other players, the API won't see it either. You can click a spell without subtracting a spell level. The trick would be to put the command into a macro with a chort name, and invoke it with something like #ttm, or to put it on a button. You turn it on, click your spell or spells, then turn it back off.
1519337297
The Aaron
Forum Champion
API Scripter
Easy Area Markers / Room Numbering. Using the Advanced Dice (checkmark in Settings Tab), you can drag dice onto the map. You can change your player color temporarily to get a different color of die, or double click it and change the tint. Then just set them to whatever color and location and number you want. You can use different shaped dice to mean different things (but you're limited on the number of faces, of course).
1519337747
GiGs
Pro
Sheet Author
Wow, that's pretty nice.
1519338640
keithcurtis
Forum Champion
API Scripter
Reminds me of really old school. "I only have three goblin minis. So the d6s are goblins, and the d12 is an ogre." 'Cause you have to use a d12 for something .
1519341443
Arthur B
Pro
API Scripter
This is sweet. :)
1519346662
The Aaron
Forum Champion
API Scripter
I use these all the time, honestly.&nbsp; Since it's available as a player, it's super easy if you need a quick token to represent something to just roll a d20 and toss it on the table, then set whatever auras and things you need on it.
1519392519
Arthur B
Pro
API Scripter
I wasn't even aware you could drag them directly to the tabletop. Leave alone that they are multi-sided token then.
1519404079
The Aaron said: I use these all the time, honestly.&nbsp; Since it's available as a player, it's super easy if you need a quick token to represent something to just roll a d20 and toss it on the table, then set whatever auras and things you need on it. Oooh, auras,eh? A glowing nat 20!
1519404439
The Aaron
Forum Champion
API Scripter
Totally. =D
1519411845

Edited 1519411943
Summing "Success" Rolls Or How I Fake It To Be "Good Enough" By Looking At All Outcomes And Not Just The One Roll To my knowledge, the roll macros do not allow a user to both check the successes and sum those die rolls. To work around this, without an API, you could use the below: [[[[?{# of Dice|1}d?{Die Type|4}&gt;[[?{Target|0}]]]]d?{Die Type|4}r&lt;[[?{Target|0}-1]]]] (This can obviously be modified to only prompt for specific parts; having the rest be static.) How It "Works" The first half checks how many die would have successfully met or exceeded the target number. This number of successes is then rolled until they return results equal to or greater than the target number. In other words, check how many succeeded and then roll that many successful numbers. While the sum of successes in the first half will not match the output of the second half, it ultimately becomes a wash as the number generation is inherently random; it all should average out to similar results.
1519414640
keithcurtis
Forum Champion
API Scripter
Nice solution, Bryan P. What system(s) would this technique be most useful for?
1519415601
Thanks Keith and an excellent question! I've no flippin' clue what-so-ever. :D This had come up as a result of Briland asking for a game that they have:&nbsp; <a href="https://app.roll20.net/forum/post/6095918/drop-dic" rel="nofollow">https://app.roll20.net/forum/post/6095918/drop-dic</a>... While there was no reference to the game, it was in regards to calculating extra damage for armor piercing munitions. GURPS may also have use for this&nbsp;¯\_(ツ)_/¯
1519419265
keithcurtis
Forum Champion
API Scripter
Improved Forum Checking This tip is not for an in-game experience, but for checking these forums. Not everyone realizes this, but in an attempt to keep content and topics fresh, Roll20 has a policy of letting topics sink after a certain amount of time. This means that they no longer appear on the front page underneath their subforum groups; you must instead load each subforum to check for new posts. As you no doubt realize, this can be a little time-consuming. You might realize that the top level of the forum has a couple of special search links: All Topics, Followed, and Mark All Viewed. This tip concerns&nbsp; All Topics. Clicking on this will bring up a list of all posts in descending order of recent activity, but it likely contains many posts from subforums you are not interested in. I have a stable game group that takes up most of my time, so I am rarely curious about what goes on in "Looking for Group". Likewise, I don't check "Suggestions" on a daily basis. If you look up at the top of the All Topics page, there is a filter box labeled "Include Categories". Click in that box and add only the forums that interest you, the ones you like to check on a regular basis. You should now have a much more focused list to check, one that doesn't require loading subforum after subforum. Here's the final step: Bookmark that URL . Now you have a forum link that serves your interests and does so in a focused and time-sensitive manner.
1519421291
GiGs
Pro
Sheet Author
Now that IS useful, Keith.
1519421961
keithcurtis
Forum Champion
API Scripter
I wasn't using this method for the longest time, because I thought it was dropping random threads. It turns out I had bookmarked the search without including this subforum. :/
1519842684

Edited 1546191900
Interactive Tables as Handouts I don't know if this is a stupid trick, as it's quite lengthy and somewhat complicated initially (though, once you know what you're doing, it's just data entry). I've recently set about including tables as handouts in my games. More-so, I want my tables to be "click-able". Meaning, if there's a D100 roll on the table, it's linked. If there's an item won from a roll, it's linked. Then I combined these with Rollable Tables. I've documented how to do this in a&nbsp; YouTube Video I created . As mentioned in another post where I shared this; I cannot share these tables themselves as they contain copyright information on them. However, the video shows how to create them. As an example referencing the image below. This is the Treasure Horde Table for a Challenge Rating 5 - 10. You can click the header at the top (1), and it will output the full calculated reward of the treasure horde you see in chat. Or you, you can click the word Coins (2) to get the monetary value, then click the d100 (3) to get the chart number, and then click the chart number (4) to get those items. Likewise, if there's another table associated with this, it is linked to its own handout (5). And not shown on the image is that all of the items are also linked both in the handout, and the output that is created in chat so you can quickly access the item. You can then take all of these rollable tables and throw them in a macro to make random treasure fairly quick and easy. I should mention, the last few things (linkable text from rollable tables requires having access to the API and The Aaron's Recursive Tables script. However, the basics can be accomplished with some pretty simple syntax using the following characters (remove the spaces) !&amp;#13;[[1d100]]. Edit: You no longer need to use &amp;#13; you can now use the ` character.
Prefix Trick For when you want to variably call attributes. Great for calling the same attribute when the character name is variable. Only useful if you know the specific attribute you are wanting (not usable with query results). Premise You need a prefix attribute (set it's value to @{ ) Then when you need it you can use @{prefix}@{character_name}|ATTR} I use this trick primarily in a GM capacity (such as passive Perception 5e). I have attributes for each of the PC names (PCX_name) Then the macro is&nbsp; @{prefix}@{PCX_name}|passive_wisdom} I further expand functionality (complicate, your pick) by creating shortcut attributes for each PC. Attribute Name: PCX &nbsp;value: @{prefix}@{PCX_name}| &nbsp; Final macro @{wtype} &{template:default} {{name=Passive Perception }} {{@{PC1_name}=[[[[@{PC1}passive_wisdom}]][Passive Wisdom]]] }} {{@{PC2_name}=[[[[@{PC2}passive_wisdom}]][Passive Wisdom]]] }} {{@{PC3_name}=[[[[@{PC3}passive_wisdom}]][Passive Wisdom]]] }} {{@{PC4_name}=[[[[@{PC4}passive_wisdom}]][Passive Wisdom]]] }}
1520009319
keithcurtis
Forum Champion
API Scripter
Stupid Trick Synergy! Combine your macro with the Macro Sheet trick. Basically, using a master macro sheet to store your campaign macros. I call mine "Macros". If you put the prefix attribute on the Macros sheet, you don't have to add a custom attribute to every character. Just change the macro in the example above to this: @{Macros|prefix}@{PCX_name}|passive_wisdom} It calls the prefix from the Macros sheet, but gets the referenced attribute from the character running the macro. One less step per character.
Keithcurtis, I asked this in the other post, but maybe it makes sense to have the answer here as well. When using a Macro Mule character, if the players need to access those macros, do they need a certain level of visibility to the Macro Mule character?
Jeremy R. said: Keithcurtis, I asked this in the other post, but maybe it makes sense to have the answer here as well. When using a Macro Mule character, if the players need to access those macros, do they need a certain level of visibility to the Macro Mule character? Yes, just edit & control access. But it doesn't need to be in the player's journal. This way the only way the character will be able to get to the Macro Mule and manipulate (mess it up) would be if there is a token of the character on the VTT and they used the shortcuts (shift double-click) to get to the character.
1520029359

Edited 1520029546
keithcurtis
Forum Champion
API Scripter
Thanks guys. I hadn't considered that. In my group I'm practically the only person who uses (i.e. writes) macros to any extant. I'll be on the lookout for it. "Macro Mule"? It took me a second, but I like that. EDIT: Huh, I must have been smart enough to figure out the permissions issue at some point, because I just checked and I had already set it up that way.
Keithcurtis and the Aaron probably know the answer to this. Can I, using the&nbsp; shortcut trick , somehow hotkey opening a Token's character sheet right to the character sheet? Right now, there's just shift+doubleclick for the Bio and Info page or alt+doubleclick = attributes. I usually need the character sheet 99% of the time when I'm accessing a token's character.
There isn't currently a way to directly open the character sheet. This is most likely because it is possible to run a game without a character sheet. Whereas the Bio page and Attributes & Abilities page are present in every game.
1520286898
GiGs
Pro
Sheet Author
Kyle G. said: There isn't currently a way to directly open the character sheet. This is most likely because it is possible to run a game without a character sheet. Whereas the Bio page and Attributes & Abilities page are present in every game. It's more likely because the character sheet tab didnt exist when roll20 launched. The Bio and AA shortcuts were there at the beginning for the two tabs that existed. When the character sheet tab was introduced, they probably just overlooked adding a shortcut for it.
Kyle G. said: There isn't currently a way to directly open the character sheet. This is most likely because it is possible to run a game without a character sheet. Whereas the Bio page and Attributes & Abilities page are present in every game. there is one way for tokens that are linked. Shift + double click on a token brings up that token' character sheet.
1520444321

Edited 1537200883
keithcurtis
Forum Champion
API Scripter
The OP was asking for a way to automatically open to the character sheet tab, rather than the Bio or Attributes and Abilities tab. EDIT: with the ruler update, there is now a shortcut. Alt/Opt-double click on a token will open the associated character sheet directly.
1520468538
keithcurtis
Forum Champion
API Scripter
Good point
1520483277
Vince said: Use a "placeholder" character(s) to handle in-game languages: Add a new character(s) and name each a particular language ie "Elven" , "Giant", "Draconic", etc. Assign control of that character/language to player's that speak that language. 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 could you please elaborate on this? keithcurtis said: 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. PLEASE elaborate on this! I'm also confused by the Chat Macros. Assume I know Absolutely Nothing about how any of this stuff works, because I don't know anything about how this stuff works. I am reading through this stuff, and the Token Ideas I understand (I have a Torch Token which is great because Torches and Sight Radius are both 60 feet usually, so if I ever need to see how far they see, I can just place a Torch on em, this trick is also useful in your original post btw, as the GM Layer still has a transparent Aura Overlay, and the Euclidean Measurement handles Diagonally properly btw) Where do you people learn this amazing stuff? I need all of this in my Game! I barely even grasp what a Chat Menu actually even IS,&nbsp; much less how it works. What I need is an actual example that I can rip apart and examine. So far, all i have is Macro (Macro) (Macro) (Macro) (Macro) (Macro) and whilst it's good to know how that works, I'd like an example, preferably with something like Aranador said, because I'm completely lost on the matter, Like, I'm looking at the pictures, and the names, and the Parsing, and I'm translating it on the fly, and I'm turning the cogs in my brain, but it's not resulting in a comprehension of the way that it works, so I would like to see for example (Code) (Picture Result) (Code of Option 1) (Picture Result) (etc until end reached) Like, how do you do the Import of Content via Macro? I have ZERO idea how that's even remotely achieved, at all. Vision Modification? I'm assuming you are actually using some Pro Features here, since I'm assuming that's modifying a dynamic Lighting Feature and/or Token/Character Sheet Field such as Aura.