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

[5e Community] Creating Skill Check Macro

Hi, I'm pretty new to Roll20 and I'm still learning about creating macros. I'd like to create one for each character that will allow them to click it, select a skill from a dropdown, and then have that skill check be used. I'm using the 5th Edition Community Contributed character sheet which has a skill_check roll that can be used which outputs into a template. I would like to just call that rather than having to manually recreate the template and everything. This is what I've been trying which hasn't been working: ?{Skill|Acrobatics, %{selected|acrobatics_check}} I've also tried replacing the | and } with the relevant html code, but I will get an error. Maybe I'm just going about this the wrong way. Any help would be appreciated.
1465499211
Scott C.
Forum Champion
Sheet Author
API Scripter
Compendium Curator
Welcome to roll20, The problem is that you don't need to (and in fact shouldn't) replace the } in the sheet roll call. You need to replace all of those in the sheet roll's macro. The other option is to use the ability command buttons to make a menu that is whispered to a player and they can then select what to do; this does not require any changes to the macro.
1465500925

Edited 1465501623
Where do I go to make changes to the macro? Would it be possible to make something where instead of calling the character sheet roll I use the input the character sheet makes to replicate it? Something like this? ?{Skill|Acrobatics, &{template:5eDefault} {{character_name=@{Rolf Diamondchewer|character_name}}} {{title=Acrobatics (DEX)}} {{subheader=@{Rolf Diamondchewer|character_name}}} {{subheaderright=Ability check}} {{ability=1}} {{simple=1}} {{rollname=Result}} {{roll1=[[ 1d20 + [[@{Rolf Diamondchewer|acrobatics}]] + [[@{Rolf Diamondchewer|global_check_bonus}]] ]]}} @{Rolf Diamondchewer|ro_acrobatics} @{Rolf Diamondchewer|classactionacrobatics}} And just replace all the needed instances of , | }?
1465501170

Edited 1465501556
Unfortunately, due to the reasons listed in Advanced Usage for Roll Queries , manually recreating the Roll Templates is necessary in order to nest them within a Roll Query. Scott C. is correct in pointing out that calls are not problematic, but their corresponding values can be. The suggestion of using  Ability Command Buttons in place of an Advanced Roll Query is a good one, and one many users opt for. I took the liberty of adapting Wes ' equivalent (Advanced Roll Query) macro for the 5e OGL sheet (which can be found here ): &{template:5eDefault} {{charactername=@{selected|character_name}}} {{subheader=@{selected|character_name}}} {{subheaderright=Ability check}} {{ability=1}} {{simple=1}} {{showadvroll=1}} {{rollname=Result}} ?{Ability| Strength, {{title=Strength}} {{roll1=[[ 1d20 + @{selected|basic_strength_check_mod} [Strength Modifier] + @{selected|global_check_bonus} ]]}} {{roll2=[[ 1d20 + @{selected|basic_strength_check_mod} [Strength Modifier] + @{selected|global_check_bonus} ]]}} | Strength Save, {{subheaderright=Saving throw}} {{save=1}} {{title=Strength Save}} {{roll1=[[ 1d20 + @{selected|strength_save_mod} [Strength Modifier + Proficiency Bonus] + @{selected|global_saving_bonus} ]]}} {{roll2=[[ 1d20 + @{selected|strength_save_mod} [Strength Modifier + Proficiency Bonus] + @{selected|global_saving_bonus} ]]}} | Athletics, {{title=Athletics}} {{roll1=[[ 1d20 + @{selected|athletics} [Athletics Modifier] + @{selected|global_check_bonus} ]]}} {{roll2=[[ 1d20 + @{selected|athletics} [Athletics Modifier] + @{selected|global_check_bonus} ]]}} | Dexterity, {{title=Dexterity}} {{roll1=[[ 1d20 + @{selected|basic_dexterity_check_mod} [Dexterity Modifier] + @{selected|global_check_bonus} ]]}} {{roll2=[[ 1d20 + @{selected|basic_dexterity_check_mod} [Dexterity Modifier] + @{selected|global_check_bonus} ]]}} | Dexterity Save, {{subheaderright=Saving throw}} {{save=1}} {{title=Dexterity Save}} {{roll1=[[ 1d20 + @{selected|dexterity_save_mod} [Dexterity Modifier + Proficiency Bonus] + @{selected|global_saving_bonus} ]]}} {{roll2=[[ 1d20 + @{selected|dexterity_save_mod} [Dexterity Modifier + Proficiency Bonus] + @{selected|global_saving_bonus} ]]}} | Acrobatics, {{title=Acrobatics}} {{roll1=[[ 1d20 + @{selected|acrobatics} [Acrobatics Modifier] + @{selected|global_check_bonus} ]]}} {{roll2=[[ 1d20 + @{selected|acrobatics} [Acrobatics Modifier] + @{selected|global_check_bonus} ]]}} | Sleight of Hand, {{title=Sleight of Hand}} {{roll1=[[ 1d20 + @{selected|sleightofhand} [Sleight of Hand Modifier] + @{selected|global_check_bonus} ]]}} {{roll2=[[ 1d20 + @{selected|sleightofhand} [Sleight of Hand Modifier] + @{selected|global_check_bonus} ]]}} | Stealth, {{title=Stealth}} {{roll1=[[ 1d20 + @{selected|stealth} [Stealth Modifier] + @{selected|global_check_bonus} ]]}} {{roll2=[[ 1d20 + @{selected|stealth} [Stealth Modifier] + @{selected|global_check_bonus} ]]}} | Constitution, {{title=Constitution}} {{roll1=[[ 1d20 + @{selected|basic_constitution_check_mod} [Constitution Modifier] + @{selected|global_check_bonus} ]]}} {{roll2=[[ 1d20 + @{selected|basic_constitution_check_mod} [Constitution Modifier] + @{selected|global_check_bonus} ]]}} | Constitution Save, {{subheaderright=Saving throw}} {{save=1}} {{title=Constitution Save}} {{roll1=[[ 1d20 + @{selected|constitution_save_mod} [Constitution Modifier + Proficiency Bonus] + @{selected|global_saving_bonus} ]]}} {{roll2=[[ 1d20 + @{selected|constitution_save_mod} [Constitution Modifier + Proficiency Bonus] + @{selected|global_saving_bonus} ]]}} | Intelligence, {{title=Intelligence}} {{roll1=[[ 1d20 + @{selected|basic_intelligence_check_mod} [Intelligence Modifier] + @{selected|global_check_bonus} ]]}} {{roll2=[[ 1d20 + @{selected|basic_intelligence_check_mod} [Intelligence Modifier] + @{selected|global_check_bonus} ]]}} | Intelligence Save, {{subheaderright=Saving throw}} {{save=1}} {{title=Intelligence Save}} {{roll1=[[ 1d20 + @{selected|intelligence_save_mod} [Intelligence Modifier + Proficiency Bonus] + @{selected|global_saving_bonus} ]]}} {{roll2=[[ 1d20 + @{selected|intelligence_save_mod} [Intelligence Modifier + Proficiency Bonus] + @{selected|global_saving_bonus} ]]}} | Arcana, {{title=Arcana}} {{roll1=[[ 1d20 + @{selected|arcana} [Arcana Modifier] + @{selected|global_check_bonus} ]]}} {{roll2=[[ 1d20 + @{selected|arcana} [Arcana Modifier] + @{selected|global_check_bonus} ]]}} | History, {{title=History}} {{roll1=[[ 1d20 + @{selected|history} [History Modifier] + @{selected|global_check_bonus} ]]}} {{roll2=[[ 1d20 + @{selected|history} [History Modifier] + @{selected|global_check_bonus} ]]}} | Investigation, {{title=Investigation}} {{roll1=[[ 1d20 + @{selected|investigation} [Investigation Modifier] + @{selected|global_check_bonus} ]]}} {{roll2=[[ 1d20 + @{selected|investigation} [Investigation Modifier] + @{selected|global_check_bonus} ]]}} | Nature, {{title=Nature}} {{roll1=[[ 1d20 + @{selected|nature} [Nature Modifier] + @{selected|global_check_bonus} ]]}} {{roll2=[[ 1d20 + @{selected|nature} [Nature Modifier] + @{selected|global_check_bonus} ]]}} | Religion, {{title=Religion}} {{roll1=[[ 1d20 + @{selected|religion} [Religion Modifier] + @{selected|global_check_bonus} ]]}} {{roll2=[[ 1d20 + @{selected|religion} [Religion Modifier] + @{selected|global_check_bonus} ]]}} | Wisdom, {{title=Wisdom}} {{roll1=[[ 1d20 + @{selected|basic_wisdom_check_mod} [Wisdom Modifier] + @{selected|global_check_bonus} ]]}} {{roll2=[[ 1d20 + @{selected|basic_wisdom_check_mod} [Wisdom Modifier] + @{selected|global_check_bonus} ]]}} | Wisdom Save, {{subheaderright=Saving throw}} {{save=1}} {{title=Wisdom Save}} {{roll1=[[ 1d20 + @{selected|wisdom_save_mod} [Wisdom Modifier + Proficiency Bonus] + @{selected|global_saving_bonus} ]]}} {{roll2=[[ 1d20 + @{selected|wisdom_save_mod} [Wisdom Modifier + Proficiency Bonus] + @{selected|global_saving_bonus} ]]}} | Animal Handling, {{title=Animal Handling}} {{roll1=[[ 1d20 + @{selected|animalhandling} [Animal Handling Modifier] + @{selected|global_check_bonus} ]]}} {{roll2=[[ 1d20 + @{selected|animalhandling} [Animal Handling Modifier] + @{selected|global_check_bonus} ]]}} | Insight, {{title=Insight}} {{roll1=[[ 1d20 + @{selected|insight} [Insight Modifier] + @{selected|global_check_bonus} ]]}} {{roll2=[[ 1d20 + @{selected|insight} [Insight Modifier] + @{selected|global_check_bonus} ]]}} | Medicine, {{title=Medicine}} {{roll1=[[ 1d20 + @{selected|medicine} [Medicine Modifier] + @{selected|global_check_bonus} ]]}} {{roll2=[[ 1d20 + @{selected|medicine} [Medicine Modifier] + @{selected|global_check_bonus} ]]}} | Perception, {{title=Perception}} {{roll1=[[ 1d20 + @{selected|perception} [Perception Modifier] + @{selected|global_check_bonus} ]]}} {{roll2=[[ 1d20 + @{selected|perception} [Perception Modifier] + @{selected|global_check_bonus} ]]}} | Survival, {{title=Survival}} {{roll1=[[ 1d20 + @{selected|survival} [Survival Modifier] + @{selected|global_check_bonus} ]]}} {{roll2=[[ 1d20 + @{selected|survival} [Survival Modifier] + @{selected|global_check_bonus} ]]}} | Charisma, {{title=Charisma}} {{roll1=[[ 1d20 + @{selected|basic_charisma_check_mod} [Charisma Modifier] + @{selected|global_check_bonus} ]]}} {{roll2=[[ 1d20 + @{selected|basic_charisma_check_mod} [Charisma Modifier] + @{selected|global_check_bonus} ]]}} | Charisma Save, {{subheaderright=Saving throw}} {{save=1}} {{title=Charisma Save}} {{roll1=[[ 1d20 + @{selected|charisma_save_mod} [Charisma Modifier + Proficiency Bonus] + @{selected|global_saving_bonus} ]]}} {{roll2=[[ 1d20 + @{selected|charisma_save_mod} [Charisma Modifier + Proficiency Bonus] + @{selected|global_saving_bonus} ]]}} | Deception, {{title=Deception}} {{roll1=[[ 1d20 + @{selected|deception} [Deception Modifier] + @{selected|global_check_bonus} ]]}} {{roll2=[[ 1d20 + @{selected|deception} [Deception Modifier] + @{selected|global_check_bonus} ]]}} | Intimidation, {{title=Intimidation}} {{roll1=[[ 1d20 + @{selected|intimidation} [Intimidation Modifier] + @{selected|global_check_bonus} ]]}} {{roll2=[[ 1d20 + @{selected|intimidation} [Intimidation Modifier] + @{selected|global_check_bonus} ]]}} | Performance, {{title=Performance}} {{roll1=[[ 1d20 + @{selected|performance} [Performance Modifier] + @{selected|global_check_bonus} ]]}} {{roll2=[[ 1d20 + @{selected|performance} [Performance Modifier] + @{selected|global_check_bonus} ]]}} | Persuasion, {{title=Persuasion}} {{roll1=[[ 1d20 + @{selected|persuasion} [Persuasion Modifier] + @{selected|global_check_bonus} ]]}} {{roll2=[[ 1d20 + @{selected|persuasion} [Persuasion Modifier] + @{selected|global_check_bonus} ]]}} }
This is exactly what I wanted! Thanks! This is seriously a great community.
Would it be possible to edit this to work with weapons and spells as well?
1465504079

Edited 1465504317
Hank said: Would it be possible to edit this to work with weapons and spells as well? Weapons shouldn't be too difficult; I recommend playing with the output of the Sheet Roll Buttons to determine what to replace within the Advanced Roll Query macro. Spells are a lot tricker, as they use repeating sections (i.e. the Attributes used within them don't exist before they're added). So, if you don't have any 3rd level spells set up on the sheet, a Roll Query that contains References to Repeating Attributes associated with a 3rd level spell will break. As such, it's probably better to use Ability Command Button menus for them.
I'm having a little trouble getting weapons to work. Here's what I have now: &{template:5eDefault} {{character_name=@{Rolf Diamondchewer|character_name}}} } {{subheader=@{Rolf Diamondchewer|character_name}}} {{subheaderright=Melee attack}} {{weapon=1}} {{simple=1}} {{rollname=Attack}} ?{Weapon| Warhammer, {{title=Warhammer}} {{roll1=[[ 1d20cs>@{Rolf Diamondchewer|meleeweaponcritrange1} + [[@{Rolf Diamondchewer|meleetohit1}]] + [[@{Rolf Diamondchewer|global_melee_attack_bonus}]] ]]}} {{weapondamage=[[@{Rolf Diamondchewer|meleedmg1} + [[@{Rolf Diamondchewer|meleedmgbonus1}]] + [[(@{Rolf Diamondchewer|global_melee_damage_bonus})]] ]] @{Rolf Diamondchewer|meleedmgtype1}}} {{weaponcritdamage=Additional [[@{Rolf Diamondchewer|meleecritdmg1}]] damage}} @{Rolf Diamondchewer|classactionmeleeweapon}} @{Rolf Diamondchewer|ro_melee1} @{Rolf Diamondchewer|classactionmeleeweapon}
1465508125

Edited 1465508218
Assuming you're using this macro as an Ability —try this: &{template:5eDefault} {{character_name=@{character_name}}} {{subheader=@{character_name}}} {{subheaderright=Melee attack}} {{weapon=1}} {{simple=1}} {{showadvroll=1}} {{rollname=Attack}} ?{Weapon| @{meleeweaponname1}, {{title=@{meleeweaponname1}}} {{roll1=[[ 1d20cs>@{meleeweaponcritrange1} + [[@{meleetohit1}]] + [[@{global_melee_attack_bonus}]] ]]}} {{roll2=[[ 1d20cs>@{meleeweaponcritrange1} + [[@{meleetohit1}]] + [[@{global_melee_attack_bonus}]] ]]}} {{weapondamage=[[@{meleedmg1} + [[@{meleedmgbonus1}]] + [[(@{global_melee_damage_bonus})]] ]] @{meleedmgtype1} }} {{weaponcritdamage=Additional [[@{meleecritdmg1}]] damage}} | etc., etc. | etc., etc. }
Is there a reason the same thing wouldn't work for Ranged Weapons? I just replaced melee with ranged in the example you posted, but it's not working.
I replaced all instances of 'melee' with 'ranged' using Find/Replace All feature of a text editor, and it works fine for me. If you did the same, and are testing the macro saved as an Ability of a Character that has their first ranged weapon filled out properly and it's still not working, feel free to post up a screenshot, or supply any other information you might deem useful, such as error messages.
Whenever I make the roll I can choose the ranged weapon in slot 1, but it appears like this: "Light Crossbow, {{title=Light Crossbow}} {{roll1=[[ 1d20cs>20 + [[(floor((8-10)/2)) + (ceil((1)/1e10) + ceil((1)/4)) + 0]] + [[0]] ]]}} {{roll2=[[ 1d20cs>20 + [[(floor((8-10)/2)) + (ceil((1)/1e10) + ceil((1)/4)) + 0]] + [[0]] ]]}} {{weapondamage=[[1d8 + [[(floor((8-10)/2)) + 0]] + [[(0)]] ]] Piercing }} {{weaponcritdamage=Additional [[2d8]] damage}}". I tried replacing melee with ranged and it does the same thing. Could it be because I have a negative damage bonus to the weapon?
Hank said: "Light Crossbow, {{title=Light Crossbow}} {{roll1=[[ 1d20cs>20 + [[(floor((8-10)/2)) + (ceil((1)/1e10) + ceil((1)/4)) + 0]] + [[0]] ]]}} {{roll2=[[ 1d20cs>20 + [[(floor((8-10)/2)) + (ceil((1)/1e10) + ceil((1)/4)) + 0]] + [[0]] ]]}} {{weapondamage=[[1d8 + [[(floor((8-10)/2)) + 0]] + [[(0)]] ]] Piercing }} {{weaponcritdamage=Additional [[2d8]] damage}}" Where does this appear?
Whenever I use the ability that's the option I get instead of "Light Crossbow".
1465573392

Edited 1465573447
To clarify, is this what you're seeing? If not, I'm going to ask you to please take a screenshot, or PM me an invitation to your game, if you'd like.
Precisely. I'm probably missing html code someplace.
Could be. Another possibility is that you made some other modifications to my macro in addition to replacing 'melee' with 'ranged'. For example, removing dropdown fields by deleting necessary vertical bars. Roll Queries require at least two fields to be used as dropdowns.
That's it. I had removed the vertical bar because this character only has one ranged weapon. Thanks! Now I'll have to figure out a good way to do spells.
Ah, good. Good luck with the spells; there are a few power-users of the 5e Community sheet around here somewhere, who I'm sure would be happy to offer tips.
1465585018

Edited 1465585039
There is some great info on macros for the 5E Community sheet in some old threads. Check here and here . Those aren't exclusivly 5E, but any of my posts will be.