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

Macro Button that opens handouts

I'm a developer so comfortable with using API (if this can be solved that way), but new to Roll20, so was hoping you all would have some advice.  I've seen versions of this question asked a few places but can't find an answer.   I'm suspecting this is not possible, but wanted to get confirmation form the experts before I spent hours thinker with it.  Problem I want a Marco Button, that when clicked by the player, will open a handout (the handout will be for rules and game info).   For example, macro button called "Sanity-Rules" that when clicked will show a handout with a summary of the rules.  I want the players to be able to open these from any map, since I have a players that are brand new to Cthulhu. I've been able to create a Token macro that can displays in Chat a link to a handout the users can click and this will open the handout.  But I think I would have to put that token on every map, if I want my players to have access to the button.  So not the best solution.   I may be able to do something with macros on the character sheet.  But Macro buttons displayed on the desktop is the most elegant solution, since they are accessible everywhere and easy to get to.  And can be turned off if players don't need them. This seems like a common use case, but I may be missing something.  Thanks for your help--totally loving Roll20. 
1590506805
keithcurtis
Forum Champion
Marketplace Creator
API Scripter
I have a macro I use that produces a Player Menu. It's kept on the Collections Tab, with All Player permission, and set to be a token action button, so that it is available whenever they have a token selected. On this&nbsp; Chat Menu &nbsp;I place common commands, as well as a number of handout links such as you describe: /w @{selected|character_name} &amp;{template:npcaction} {{rname=Player Menu}} {{description=**Rest and Recovery** [Long Rest](~Long-Rest) | [Short Rest](!r-short) [Recover Ammo](!r-ammo) | [Recover Charges](!r-charges) ** Healing** — [Spend Hit Dice](~Spend-Hit-Dice) **Spells** — [Collapse](~Collapse-Spells) | [Expand](~Expand-Spells) **Create Token Actions** [All](!ta attacks spells checks saves) | [Attacks](!ta attacks) | [Spells](!ta spells) | [Checks](!ta checks) | [Saves](!ta saves) **Equipment** *1 = Equipped, 0 = unequipped* [@{selected|repeating_inventory_$0_equipped}](!setattr --sel --silent --evaluate --repeating_inventory_$0_equipped|1-@{selected|repeating_inventory_$0_equipped} !sendpc @{selected|repeating_inventory_$0_itemname} has been toggled ) - @{selected|repeating_inventory_$0_itemname} [@{selected|repeating_inventory_$1_equipped}](!setattr --sel --silent --evaluate --repeating_inventory_$1_equipped|1-@{selected|repeating_inventory_$1_equipped} !sendpc @{selected|repeating_inventory_$1_itemname} has been toggled ) - @{selected|repeating_inventory_$1_itemname} [@{selected|repeating_inventory_$2_equipped}](!setattr --sel --silent --evaluate --repeating_inventory_$2_equipped|1-@{selected|repeating_inventory_$2_equipped} !sendpc @{selected|repeating_inventory_$2_itemname} has been toggled ) - @{selected|repeating_inventory_$2_itemname} **Change Map** [Rejoin Party](!mc rejoin) [Home Page](!mc move --target Home) [PC Token Page](!mc move --target PC Tokens) [Ash Guard Station House](!mc move --target Station House) [High Harbor City Map](!mc move --target High Harbor) [Western Lands](!mc move --target Western Lands) **==&gt; [Overlays](~Site|Overlays)** [World of Elda Map](!mc move --target World Map) **Lore** [Campaign Guide](<a href="http://journal.roll20.net/handout/-LvYfkacryL3dTgM_bKj" rel="nofollow">http://journal.roll20.net/handout/-LvYfkacryL3dTgM_bKj</a>) | [Gods of Elda](<a href="http://journal.roll20.net/handout/-LkwKpSKrgxsKwYUKnka" rel="nofollow">http://journal.roll20.net/handout/-LkwKpSKrgxsKwYUKnka</a>) [Timeline](<a href="http://journal.roll20.net/handout/-LkKZgU9wzpWCrOdL8Z3" rel="nofollow">http://journal.roll20.net/handout/-LkKZgU9wzpWCrOdL8Z3</a>) | [Calendar](<a href="http://journal.roll20.net/handout/-Lmn6gfhwx7A7zOFW6gq" rel="nofollow">http://journal.roll20.net/handout/-Lmn6gfhwx7A7zOFW6gq</a>) | [Languages](<a href="https://app.roll20.net/compendium/dnd5e/Rules:Languages#h-Languages" rel="nofollow">https://app.roll20.net/compendium/dnd5e/Rules:Languages#h-Languages</a>) **Character Creation Guidelines** [General Guidelines](<a href="http://journal.roll20.net/handout/-LujcAJKmCYaa0ZjqMpR" rel="nofollow">http://journal.roll20.net/handout/-LujcAJKmCYaa0ZjqMpR</a>) [Ash Guard](<a href="http://journal.roll20.net/handout/-LsolEsN4UZpfdQ-fUel" rel="nofollow">http://journal.roll20.net/handout/-LsolEsN4UZpfdQ-fUel</a>) | [Death Row Dogs](<a href="http://journal.roll20.net/handout/-LujbZQFnZ3cbC8jHLVY" rel="nofollow">http://journal.roll20.net/handout/-LujbZQFnZ3cbC8jHLVY</a>) **Races** [Dragonborn](<a href="http://journal.roll20.net/handout/-Ll-HQmd_6noBBRKcQBy" rel="nofollow">http://journal.roll20.net/handout/-Ll-HQmd_6noBBRKcQBy</a>) | [Tieflings](<a href="http://journal.roll20.net/handout/-Ll-H_RLA5CfUZTlK23n" rel="nofollow">http://journal.roll20.net/handout/-Ll-H_RLA5CfUZTlK23n</a>) | [Orcs](<a href="http://journal.roll20.net/handout/-LuOhsq3LefgMqgZxrb4" rel="nofollow">http://journal.roll20.net/handout/-LuOhsq3LefgMqgZxrb4</a>) [General D&amp;D 5e Lore](<a href="https://app.roll20.net/compendium/dnd5e/Index%3ALore?sharedCompendium=4665985&amp;sharedCompendium=4665985&amp;sharedCompendium=4665985#toc_1" rel="nofollow">https://app.roll20.net/compendium/dnd5e/Index%3ALore?sharedCompendium=4665985&amp;sharedCompendium=4665985&amp;sharedCompendium=4665985#toc_1</a>)}} &amp;{noerror} In actuality, I build all automation on a&nbsp; Macro Character Sheet &nbsp;whenever possible, so the macro on the Collections Tab is simple a command to run the action on my macro character sheet:&nbsp;%{Macros|Menu}