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)

1520487988
vÍnce
Pro
Sheet Author
Blue64 said: 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? It's just a trick using permissions.  A player can only edit/control a character if the GM has given them permission to do so.  Let's say a player is given control of a character "X".  Any whispers sent to "X" will be seen by that player.  If the player controlled other characters, they would also see whispers directed to those characters as well.  That's how the language trick works.  The GM makes a character to represent a given language. Name that character/journal the same as the language it represents. ie "Elven"  If a character speaks Elven, give that player permission to control the "Elven" character/journal. Now whenever "/w Elven ..." is used, everyone that has permission to control "Elven" and only those that have permission, will see the whispered text.  Create as many "placeholder-language-characters" as needed.
Vince said: Blue64 said: 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? It's just a trick using permissions.  A player can only edit/control a character if the GM has given them permission to do so.  Let's say a player is given control of a character "X".  Any whispers sent to "X" will be seen by that player.  If the player controlled other characters, they would also see whispers directed to those characters as well.  That's how the language trick works.  The GM makes a character to represent a given language. Name that character/journal the same as the language it represents. ie "Elven"  If a character speaks Elven, give that player permission to control the "Elven" character/journal. Now whenever "/w Elven ..." is used, everyone that has permission to control "Elven" and only those that have permission, will see the whispered text.  Create as many "placeholder-language-characters" as needed. I'm going to be honest, that's actually pretty genius. I'm going to do that immediately, it's brilliant!
1520495451
vÍnce
Pro
Sheet Author
Blue64 said: I'm going to be honest, that's actually pretty genius. I'm going to do that immediately, it's brilliant! It's an old trick that's floated around the forums for long while.  Some "genius" came up with it and posted it. I'm just sharing it.  Have fun.
Flying tokens In the rare cases where the Z axis is from importance, I use one of the token icons (the pink ball), along with a number (just press 1-9 while selecting the icon) - this represents the height above ground in squares (= 5ft). With this trick, you can easily lift up tokens up to 45 ft (because 9 is the highest number). If I ever need even higher numbers, I'll use the purple ball as well, and use that as 50ft/10 squares indicator. So 1 purple and 3 pink means 13 squares means 65 ft above ground. (copied from here ).
1520879206

Edited 1520881680
Arthur B said: Flying tokens In the rare cases where the Z axis is from importance, I use one of the token icons (the pink ball), along with a number (just press 1-9 while selecting the icon) - this represents the height above ground in squares (= 5ft). With this trick, you can easily lift up tokens up to 45 ft (because 9 is the highest number). If I ever need even higher numbers, I'll use the purple ball as well, and use that as 50ft/10 squares indicator. So 1 purple and 3 pink means 13 squares means 65 ft above ground. (copied from here ). You could use token-mod to adjust them quickly. Pink !token-mod --set statusmarkers|pink:?{One is 5 ft|1} Purple !token-mod --set statusmarkers|purple:?{One is 50 ft|1} Clear them !token-mod --set statusmarkers|-purple|-pink
Jerry F. said: You could use token-mod to adjust them quickly. Pink !token-mod --set statusmarker|pink:?{One Equals 5?|1} Purple !token-mod --set statusmarker|purple:?{One Equals 50?|1} Clear them !token-mod --set statusmaker|-purple|-pink I love token-mod. It was one of the main reasons why I upgraded to Pro in the first place. But in this case, I believe it's really faster to just click on the icon selector and press the numbers...
Arthur B said: Jerry F. said: You could use token-mod to adjust them quickly. Pink !token-mod --set statusmarker|pink:?{One Equals 5?|1} Purple !token-mod --set statusmarker|purple:?{One Equals 50?|1} Clear them !token-mod --set statusmaker|-purple|-pink I love token-mod. It was one of the main reasons why I upgraded to Pro in the first place. But in this case, I believe it's really faster to just click on the icon selector and press the numbers... I suppose you are right, I find it easier to use token-mod especially on a Friday night when the game is really laggy. Trying to click on a token in that situation is often times terrible. I make many macros in my game to aliviate opening tokens and character sheets because Friday's can be horrendously laggy. 
1521942113

Edited 1521942237
Jeremy R. said: 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  YouTube Video I created . As mentioned in another post where I shared this; I cannot share these tables themselves as they contain copy-write 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) ! & # 13;[[1d100]]. I think I'm likely going to be using this trick for my Spell Macros, as well as generating my own personal compendium, I've actually posted a link to your video in at least 2 other forums on here, you did really well on your video! have you thought about doing similar videos? I sure would love to watch you explain the mechanics behind the comparator & the (ceil()), because, like, I know that [[{{[[1d6]],[[1d6]]}<1}]] works, but, I don't actually understand how it works. Also, I just noticed, that your Screenshots actually are pointing out a way to do Nested Tables with a Free Account (albeit in a roundabout manner), you simply set the result as ?{Reroll|Reroll,/roll 3t[10-gp-gem]|Reroll,/roll 3t[10-gp-gem]}&# 13;!?{Reroll} or something similar
1521950996
The Aaron
Pro
API Scripter
Arthur B said: Jerry F. said: You could use token-mod to adjust them quickly. Pink !token-mod --set statusmarker|pink:?{One Equals 5?|1} Purple !token-mod --set statusmarker|purple:?{One Equals 50?|1} Clear them !token-mod --set statusmaker|-purple|-pink I love token-mod. It was one of the main reasons why I upgraded to Pro in the first place. But in this case, I believe it's really faster to just click on the icon selector and press the numbers... Did you know you can double up on status markers withTokenMod? !token-mod --set statusmarkers|+blue[]:4|+blue[]:5 should add two blue dots labeled 4&5 respectively. Check the help for more. 
The Aaron said: !token-mod --set statusmarkers|+blue[]:4|+blue[]:5 should add two blue dots labeled 4&5 respectively. Check the help for more.  Learning something new every day. Didn't know you can have the same status marker twice... would it work with the anglewings as well?
1522003247

Edited 1522003288
The Aaron
Pro
API Scripter
Absolutely, that's what I use for flying. =D  Works for everything except the dead status.  You can use array notation to manipulate them individually with the left-most copy having index 1: !token-mod --set statusmarkers|blue[1]:5 would change the above to "55"; I keep meaning to add a syntax for just dealing in a number and letting tokenmod add and remove statuses as needed.  If you want to play with those multi-marker status and tell me what you think is the natural way to specify a multi-digit number for statuses, I'll be happy to add it in.  Something like: !token-mod --set statusmarkers|blue[#]:45 (This doesn't work yet) Might be nice, so that would remove all the blue statuses and replace them with a contiguous set of 2 blue statuses numbered 4 and 5 ?
I would love if you could add easy multi-digit support. The only reason why I'm using pink and purple is because you can't manually set the same status marker twice. And right now I'd go for the solution you proposed. Although I'm not sure how you can handle multiples of 10, e.g. 30 or 40, as there is no 0 indicator... 
1522007903
The Aaron
Pro
API Scripter
I just use the 0 (blank) state for the marker, so 40ft looks like: !token-mod --set statusmarkers|fluffy-wing[1]:4|fluffy-wing[2]:0
1522008036
GiGs
Pro
Sheet Author
API Scripter
I had no idea you could have multiple copies of the same status marker.
1522008816
The Aaron
Pro
API Scripter
Only with the API. =D
@The Aaron ohhh nice!
The Aaron said: I just use the 0 (blank) state for the marker, so 40ft looks like: !token-mod --set statusmarkers|fluffy-wing[1]:4|fluffy-wing[2]:0 Yeah, that's how I did it with the purple and pink balls as well. But I like the wings better, considering that you can use several instances of it. :) 
I think I'm likely going to be using this trick for my Spell Macros, as well as generating my own personal compendium, I've actually posted a link to your video in at least 2 other forums on here, you did really well on your video! have you thought about doing similar videos? I sure would love to watch you explain the mechanics behind the comparator & the (ceil()), because, like, I know that [[{{[[1d6]],[[1d6]]}<1}]] works, but, I don't actually understand how it works. Also, I just noticed, that your Screenshots actually are pointing out a way to do Nested Tables with a Free Account (albeit in a roundabout manner), you simply set the result as ?{Reroll|Reroll,/roll 3t[10-gp-gem]|Reroll,/roll 3t[10-gp-gem]}&# 13;!?{Reroll} or something similar Thanks, I'm glad the videos were useful. I'll see about putting other stuff together, just got back from Adepticon though and need to recover from 4 days of miniature wargaming.
The Aaron can you do this as a query how many fluffy-wings you want to add like ?{How many 10s?} and then ?{How many 5s?}?
Jerry F. said: The Aaron can you do this as a query how many fluffy-wings you want to add like ?{How many 10s?} and then ?{How many 5s?}? !token-mod --set statusmarkers|fluffy-wing[1]:?{How many 10s?}|fluffy-wing[2]:?{How many 1s?}
1522121215
The Aaron
Pro
API Scripter
Jerry F. said: The Aaron can you do this as a query how many fluffy-wings you want to add like ?{How many 10s?} and then ?{How many 5s?}? What Kyke said is the best current option. If you preface the first fluffy-wing with ? It should omit it if the amount is 0, but I need to test that. I’ll try and give it a look tomorrow. 
1522152679
The Aaron
Pro
API Scripter
Yup, this does work: !token-mod --set statusmarkers|?fluffy-wing[1]:?{How many 10s?}|fluffy-wing[2]:?{How many 1s?} The addition of the ? in front of the first fluffy wing means it will omit the first one if the amount is 0.
The Aaron said: I just use the 0 (blank) state for the marker, so 40ft looks like: !token-mod --set statusmarkers|fluffy-wing[1]:4|fluffy-wing[2]:0 So next question how do you get that status to show up at the bottom of the token, because that's pretty cool.
1522183108
The Aaron
Pro
API Scripter
Ah, it's in the Settings Tab.&nbsp; Status Marker Position <a href="https://wiki.roll20.net/My_Settings#Token_Bar_Colors_.2B_Display_Settings" rel="nofollow">https://wiki.roll20.net/My_Settings#Token_Bar_Colors_.2B_Display_Settings</a>
The Aaron said: Ah, it's in the Settings Tab.&nbsp; Status Marker Position <a href="https://wiki.roll20.net/My_Settings#Token_Bar_Colors_.2B_Display_Settings" rel="nofollow">https://wiki.roll20.net/My_Settings#Token_Bar_Colors_.2B_Display_Settings</a> as well as the Token's Status, which is the right option on the bottom of the selected Token, unless using the aforementioned API Mod that Pro Users have available to them to set the Statuses.
Well that's just odd, because whenever I've used it for a comparison of 2 Values it's always returned the lowest, not the Sum, I would get the Sum from ceil() though, so my brain simply would Short Circuit from trying to Mathematically attempting to figure out how to get it to function properly, which was compounded further by the skewed results which even my calculator was telling me "no, the answer is different from what you are getting" so I don't know what went wrong or where or how, but I was for sure getting odd results in the manner I described. Yes, I was ripping apart Code to try to figure out how everything worked, it's the most effective way to learn, when the Code behaves as it should. Documentation helps, but it's easier to get someone who already understands the topic to actually explain it, especially when the Documentation isn't up to par, like with the Query section for example, it says you need to phrase the entire thing identical each time, when that's simply not true. !Example: !?{Query 1|Option 1,[[1]]|Option 2,[[2]]} /ooc Query 1 should be recognized by this according to the Wiki: ?{Query 1|Option 1,[[1]]|Option 2,[[2]]} /ooc Query 1 should *NOT* be recognized by this according to the Wiki: ?{Query 1}
Sorry for the bluntness, I just wanted to dissuade you from continuing to go down a rabbit hole trying to understand (half-remembered) code instead of using the function that Jeremy R pointed out does exactly what you want.
Blue64 said: !Example: !?{Query 1|Option 1,[[1]]|Option 2,[[2]]} /ooc Query 1 should be recognized by this according to the Wiki: ?{Query 1|Option 1,[[1]]|Option 2,[[2]]} /ooc Query 1 should *NOT* be recognized by this according to the Wiki: ?{Query 1} Do you have a link to where you saw this? I know the rule to be that you must use the exact same name &nbsp;for the query, i.e everything before the first pipe ( | ).
1522339086
GiGs
Pro
Sheet Author
API Scripter
!Example: !?{Query 1|Option 1,[[1]]|Option 2,[[2]]} /ooc Query 1 should be recognized by this according to the Wiki: ?{Query 1|Option 1,[[1]]|Option 2,[[2]]} /ooc Query 1 should *NOT* be recognized by this according to the Wiki: ?{Query 1} You can reuse a query in the same macro. The first time you use a query in a macro, you must include the options. The second and subsequent times you use it, you don't need the options, because they've already been selected. So you just use the name of the query.&nbsp; Try this query: !?{Query 1|Option 1,I chose option 1|Option 2,I chose option 2} /ooc Which option did I choose? /ooc ?{Query 1} The ! at the first line here is a distraction. You really shouldn't be using that technique in a macro unless you have a reason to. Its purpose - probably its only purpose - is to allow you to present multiple queries to the user in the order you want them to appear. What it does: anything on that line will not be printed to chat. So the above macro, the first line pops up a query but doesnt print anything.&nbsp; The second line prints a question to chat, and the third line prints the result &nbsp;of the query. Again, you don't need the options in the second query, because they have already been selected the first time the query appeared.
Keithcurtis, how do you feel about updating your original post with links to the posts with tips? That way, when someone comes across this thread, they can find what's in it at a glance.
1522415922

Edited 1522421187
keithcurtis
Forum Champion
Marketplace Creator
API Scripter
What a clever stupid trick! I'll do it. Edit: Done!
1522539947
Gen Kitty
Forum Champion
Per the request of the Original Poster, this thread has been given a cleanup.&nbsp; Arguments about this cleanup, either in this thread, another thread, or in PMs will be met with deletion of posts at a minimum .&nbsp; The conversations that were removed can be taken up in a different thread where assistance can be rendered without it cluttering up this Tips & Tricks thread.
@keithcurtis I was reading through the Stupid tricks and I couldnt figure out how you insert smileys into the VTT macro bar. Do you use something like an ALT code? An extension? Btw love the NPC spreadsheet.
Here's a good site with the emoji's available -&nbsp;<a href="http://www.unicode.org/emoji/charts/full-emoji-list.html" rel="nofollow">http://www.unicode.org/emoji/charts/full-emoji-list.html</a>