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

Making Player Character Sheet Macro Buttons

Something I did some time ago was create a simple system for managing monster tokens based on adaptations I'd seen from other DMs. What I've done is make macros that call the monster's actions and traits and made them into token actions that I made visible on all my tokens. That way, they appear across the top of the screen when I select a monster token as A1, A2, A3, etc, and T1, T2, T3, etc. so when I click the token buttons, it has the monster make an attack or show me its trait so I don't have to open the thing's sheet. The macro to do this, for those who'd like to know, is %{selected|repeating_npcaction_$0_npc_action} for the monster's first action, and then replace the 0 with 1 for the second action and a 2 for the third action and so forth.  The command to make something like this for traits is (again, replacing the 0 with a 1 and following for the monster's subsequent traits): @{selected|wtype}&{template:npcaction} {{name=@{selected|npc_name}}} {{rname=@{selected|repeating_npctrait_$0_name}}} {{description=@{selected|repeating_npctrait_$0_desc}}}  It ends up looking like this: What I'd like to do is make something like this for my player's sheets. I want to have a general command that calls on the selected token's PC sheet for whatever data they have in their "actions and spells" section of their sheet and in their "features and traits" section. That way, they won't have to open their sheets as often so we can speed up play. Is there something like selected|repeating_npcaction_$0_npc_action to call actions from player character sheets? Thank you, and I hope that made sense! Chris S.
That would be great except character sheets don't work that way. Search the forums for the macros you want to do there are alot of them for character sheets.
1566325365
Kraynic
Pro
Sheet Author
There are 2 api scripts that you might want to check out for this idea.&nbsp; I don't play 5E, so I would only be able to help set up stuff for that sheet with some research.&nbsp; However, I do use the first one of these in my games and it works well.&nbsp; The first is universal chat menus.&nbsp; You will have to scroll down to get the code. <a href="https://app.roll20.net/forum/post/7474530/script-call-for-testers-universal-chat-menus/?pagenum=1" rel="nofollow">https://app.roll20.net/forum/post/7474530/script-call-for-testers-universal-chat-menus/?pagenum=1</a> The second is menu maker.&nbsp; I tried it at one point and wasn't quite able to wrap my brain around how it worked, but obviously it works for others, and might for you. <a href="https://app.roll20.net/forum/permalink/7478947/" rel="nofollow">https://app.roll20.net/forum/permalink/7478947/</a> If you get one of these set up, you could have one batch of global macros that are available to all to use for pc sheets and (assuming they are labeled differently) another set of global macros for npc sheets.
1566325736
keithcurtis
Forum Champion
Marketplace Creator
API Scripter
I have posted OGL solutions for both of those scripts in their respective threads. Menu Maker is probably a little more powerful, but ultimately I went with Universal Chat Menus for the ease of implementation.
1566331797

Edited 1566331960
Thanks everyone, this is very helpful! Keithcurtis, I found this macro (below) from one of your posts on Universal Chat Menus, and it does more than I could have hoped for. Thank you! However, for some reason that isn't clear to me, the spells and the footer with the racial traits are not showing up. The sheet I'm using is D&amp;D 5E by Roll20, if that helps explain it. !chatmenu @{selected|character_id} {template:npcaction}{{rname=@{selected|character_name}}}{{description=CHATMENU}} --separator: |&amp;nbsp; --title:Ability Rolls --**Str&nbsp;@{selected|strength}**&nbsp;*(@{selected|strength_mod})* ,strength|**Dex&nbsp;@{selected|dexterity}**&nbsp;*(@{selected|dexterity_mod})*,dexterity|**Con&nbsp;@{selected|constitution}**&nbsp;*(@{selected|constitution_mod})* ,constitution|**Int&nbsp;@{selected|intelligence}**&nbsp;*(@{selected|intelligence_mod})* ,intelligence|**Wis&nbsp;@{selected|wisdom}**&nbsp;*(@{selected|wisdom_mod})*,wisdom|**Cha&nbsp;@{selected|charisma}**&nbsp;*(@{selected|charisma_mod})*,charisma --title:Saving Throws --Str,npc_str_save|Dex,npc_dex_save|Con,npc_con_save|Int,npc_int_save|Wis,npc_wis_save|Cha,npc_cha_save&nbsp; --title:Skills --Acrobatics,npc_Acrobatics|Arcana,npc_Arcana|Athletics,npc_Athletics|Deception,npc_Deception|History,npc_History|Intimidation,npc_Intimidation|Investigation,npc_Investigation|Medicine,npc_Medicine|Nature,npc_Nature|Perception,npc_Perception|Persuasion,npc_Persuasion|Sleight of Hand,npc_Sleight_of_Hand|Survival,npc_survival --title:Traits --repeating_npctrait|name|desc= --title:Actions --repeating_npcaction|name|npc_action --title:Traits --repeating_traits|name|output --title:Attacks --repeating_attack|atkname|attack --title:Cantrips --repeating_spell-cantrip|spellname|spell --title:Lvl-1 *(@{selected|lvl1_slots_expended}/@{selected|lvl1_slots_total})* --repeating_spell-1|spellname|spell|prepared --title:Lvl 2 *(@{selected|lvl2_slots_expended}/@{selected|lvl2_slots_total})* --repeating_spell-2|spellname|spell|prepared --title:Lvl 3 *(@{selected|lvl3_slots_expended}/@{selected|lvl3_slots_total})* --repeating_spell-3|spellname|spell|prepared --title:Lvl 4 *(@{selected|lvl4_slots_expended}/@{selected|lvl4_slots_total})* --repeating_spell-4|spellname|spell|prepared --title:Lvl 5 *(@{selected|lvl5_slots_expended}/@{selected|lvl5_slots_total})* --repeating_spell-5|spellname|spell|prepared --title:Lvl 6 *(@{selected|lvl6_slots_expended}/@{selected|lvl6_slots_total})* --repeating_spell-6|spellname|spell|prepared --title:Lvl 7 *(@{selected|lvl7_slots_expended}/@{selected|lvl7_slots_total})* --repeating_spell-7|spellname|spell|prepared --title:Lvl 8 *(@{selected|lvl8_slots_expended}/@{selected|lvl8_slots_total})* --repeating_spell-8|spellname|spell|prepared --title:Lvl 9 *(@{selected|lvl9_slots_expended}/@{selected|lvl9_slots_total})* --repeating_spell-9|spellname|spell|prepared --footer:{{name=@{selected|npc_type} @{selected|race} @{selected|class_display}}}
1566334567
keithcurtis
Forum Champion
Marketplace Creator
API Scripter
Just in case, I have pulled the copy I am using in my live game: PC: !chatmenu @{selected|character_id} {template:npcaction}{{rname=@{selected|character_name}}}{{name=@{selected|class_display} @{selected|race_display}, @{selected|background} **Jump** - Long [[(@{selected|strength}/2)]] / [[@{selected|strength}]]ft. | High [[((@{selected|strength_mod}+2)/2)]] / [[@{selected|strength_mod}+2]] ft. **HP: **@{selected|hp} / @{selected|hp|max} | ** AC: ** @{selected|ac} | **Spd: ** @{selected|speed} | **Passive: ** @{selected|passive_wisdom}}}{{description=CHATMENU }} --separator: |&nbsp; &nbsp; --title:Ability Rolls --**Str @{selected|strength}** *(@{selected|strength_mod})* ,strength|**Dex @{selected|dexterity}** *(@{selected|dexterity_mod})*,dexterity|**Con @{selected|constitution}** *(@{selected|constitution_mod})* ,constitution|**Int @{selected|intelligence}** *(@{selected|intelligence_mod})* ,intelligence|**Wis @{selected|wisdom}** *(@{selected|wisdom_mod})*,wisdom|**Cha @{selected|charisma}** *(@{selected|charisma_mod})*,charisma --title:Saving Throws --Str,strength_save|Dex,dexterity_save|Con,constitution_save|Int,intelligence_save|Wis,wisdom_save|Cha,charisma_save&nbsp; --title:Skills --Acrobatics,Acrobatics|Animal Handling,Animal_Handling|Arcana,Arcana|Athletics,Athletics|Deception,Deception|History,History|Insight,Insight|Intimidation,Intimidation|Investigation,Investigation|Medicine,Medicine|Nature,Nature|Perception,Perception|Performance,Performance|Persuasion,Persuasion|Religion,Religion|Sleight of Hand,Sleight_of_Hand|Stealth,Stealth|Survival,survival --title:Tools --repeating_tool|toolname|tool --title:Traits --repeating_traits|name|output|name!Invocation:&nbsp; --title:Melee --repeating_attack|atkname|attack|atkrange&lt;1 --title:Ranged --repeating_attack|atkname|attack|atkrange --title:Eldritch Invocations --repeating_traits|name|output|name=Invocation: --title:Cantrips —&nbsp; *Save DC @{selected|spell_save_dc}* --repeating_spell-cantrip|spellname|spell --title:Lvl-1 *(@{selected|lvl1_slots_expended}/@{selected|lvl1_slots_total})* --repeating_spell-1|spellname|spell|spellprepared --title:Lvl 2 *(@{selected|lvl2_slots_expended}/@{selected|lvl2_slots_total})* --repeating_spell-2|spellname|spell|spellprepared --title:Lvl 3 *(@{selected|lvl3_slots_expended}/@{selected|lvl3_slots_total})* --repeating_spell-3|spellname|spell|spellprepared --title:Lvl 4 *(@{selected|lvl4_slots_expended}/@{selected|lvl4_slots_total})* --repeating_spell-4|spellname|spell|spellprepared --title:Lvl 5 *(@{selected|lvl5_slots_expended}/@{selected|lvl5_slots_total})* --repeating_spell-5|spellname|spell|spellprepared --title:Lvl 6 *(@{selected|lvl6_slots_expended}/@{selected|lvl6_slots_total})* --repeating_spell-6|spellname|spell|spellprepared --title:Lvl 7 *(@{selected|lvl7_slots_expended}/@{selected|lvl7_slots_total})* --repeating_spell-7|spellname|spell|spellprepared --title:Lvl 8 *(@{selected|lvl8_slots_expended}/@{selected|lvl8_slots_total})* --repeating_spell-8|spellname|spell|spellprepared --title:Lvl 9 *(@{selected|lvl9_slots_expended}/@{selected|lvl9_slots_total})* --repeating_spell-9|spellname|spell|spellprepared --title:Resources (read-only) --@{selected|class_resource_name} *@{selected|class_resource}/@{selected|class_resource|max}|@{selected|other_resource_name} *@{selected|other_resource}/@{selected|other_resource|max}* NPC !chatmenu @{selected|character_id} {template:npcaction}{{rname=@{selected|character_name}}}{{name=@{selected|npc_type} **HP: **@{selected|bar1} / @{selected|hp|max} | ** AC: ** @{selected|npc_ac} | **Spd: ** @{selected|npc_speed} **Languages: **@{selected|npc_languages} &nbsp;**Senses: **@{selected|npc_senses} &nbsp;**Resists:: **@{selected|npc_resistances} &nbsp;**Immune: **@{selected|npc_immunities} &nbsp;**Cond. Immune: **@{selected|npc_condition_immunities}}}{{description=CHATMENU}} --separator: |&nbsp; &nbsp;--title:Ability Rolls --**Str @{selected|strength}** *(@{selected|strength_mod})* ,strength|**Dex @{selected|dexterity}** *(@{selected|dexterity_mod})*,dexterity|**Con @{selected|constitution}** *(@{selected|constitution_mod})* ,constitution|**Int @{selected|intelligence}** *(@{selected|intelligence_mod})* ,intelligence|**Wis @{selected|wisdom}** *(@{selected|wisdom_mod})*,wisdom|**Cha @{selected|charisma}** *(@{selected|charisma_mod})*,charisma --title:Saving Throws --Str,npc_str_save|Dex,npc_dex_save|Con,npc_con_save|Int,npc_int_save|Wis,npc_wis_save|Cha,npc_cha_save&nbsp; --title:Skills --Acrobatics,npc_Acrobatics|Animal Handling,npc_Animal_Handling|Arcana,npc_Arcana|Athletics,npc_Athletics|Deception,npc_Deception|History,npc_History|Insight,npc_Insight|Intimidation,npc_Intimidation|Investigation,npc_Investigation|Medicine,npc_Medicine|Nature,npc_Nature|Perception,npc_Perception|Performance,npc_Performance|Persuasion,npc_Persuasion|Religion,npc_Religion|Sleight of Hand,npc_Sleight_of_Hand|Stealth,npc_stealth|Survival,npc_survival --title:Traits --repeating_npctrait|name|desc! --title:Legendary Actions --repeating_npcaction-l|name|npc_action&nbsp; --title:Actions --repeating_npcaction|name|npc_action --title:Traits --repeating_traits|name|output --title:Attacks --repeating_attack|atkname|attack --title:Cantrips —&nbsp; *Save DC @{selected|spell_save_dc}* --repeating_spell-cantrip|spellname|spell --title:Lvl-1 *(@{selected|lvl1_slots_expended}/@{selected|lvl1_slots_total})* --repeating_spell-1|spellname|spell --title:Lvl 2 *(@{selected|lvl2_slots_expended}/@{selected|lvl2_slots_total})* --repeating_spell-2|spellname|spell --title:Lvl 3 *(@{selected|lvl3_slots_expended}/@{selected|lvl3_slots_total})* --repeating_spell-3|spellname|spell --title:Lvl 4 *(@{selected|lvl4_slots_expended}/@{selected|lvl4_slots_total})* --repeating_spell-4|spellname|spell --title:Lvl 5 *(@{selected|lvl5_slots_expended}/@{selected|lvl5_slots_total})* --repeating_spell-5|spellname|spell --title:Lvl 6 *(@{selected|lvl6_slots_expended}/@{selected|lvl6_slots_total})* --repeating_spell-6|spellname|spell --title:Lvl 7 *(@{selected|lvl7_slots_expended}/@{selected|lvl7_slots_total})* --repeating_spell-7|spellname|spell --title:Lvl 8 *(@{selected|lvl8_slots_expended}/@{selected|lvl8_slots_total})* --repeating_spell-8|spellname|spell --title:Lvl 9 *(@{selected|lvl9_slots_expended}/@{selected|lvl9_slots_total})* --repeating_spell-9|spellname|spell Note that because the way the Roll20 sheet is built using PC for NPC or vice versa will result in an incomplete menu. Let me know if this works, and I'll update the code on the original post.
Maybe I'm missing something in the API script, because that one won't even come up when I click on it.
1566335280
keithcurtis
Forum Champion
Marketplace Creator
API Scripter
If you want to shoot me an invite, I can take a look at it tonight. You'll need to promote me to GM.
Alright, will do!
For posterity, I ended up having all my troubles resolved over here: <a href="https://app.roll20.net/forum/post/7710138/5e-by-roll20-trouble-with-universal-chat-menus/?pageforid=7710299#post-7710299" rel="nofollow">https://app.roll20.net/forum/post/7710138/5e-by-roll20-trouble-with-universal-chat-menus/?pageforid=7710299#post-7710299</a>