Javi R. said: Thank you so much for your replies. Specially to @Jarren K. your example is pretty much what I was looking for. On the other hands, all those chat based buttons are a bit of a burden. Player hast to select their token, then click a button in the top left of their screen, then click in the chat button in the bottom right, So basically is the worse workflow one can possible design in a computer screen. Two clicks literarily cannot be further away from each other :( You're welcome! I'll just make the argument that using a drop-down query is not going to save you any clicks. You still have to click on the token, click on the token action button, then click on the drop-down menu in the middle of the screen (or use your keyboard for a shortcut). But a query would keep the chat from getting filled up with menus, which would definitely be a nice benefit. You could also change the chat menu I posted to be listed in Macrobar, and change all of the '@{selected' to each individual character's names, which means that you wouldn't need to click on the token first to put it into chat, which would save a click and mean that the buttons could be clicked from the chat menu without first selecting the token. Andreas J. said: when making more complex queries, you need to start doing html replacements for them to work <a href="https://wiki.roll20.net/Macro_Guide#HTML_replacement" rel="nofollow">https://wiki.roll20.net/Macro_Guide#HTML_replacement</a> Using %{selected| } you could activate rolls directly <a href="https://wiki.roll20.net/D%26D_5E_by_Roll20#Target_Roll_Buttons" rel="nofollow">https://wiki.roll20.net/D%26D_5E_by_Roll20#Target_Roll_Buttons</a> I spent some time on this but I cannot figure out what should be escaped. I even tried creating macros for each ability roll and then calling the #macro from the query, it doesn't work. Could you please elaborate on the solution?? Once again, Thank you all for your kindness and your time ! You won't find much on escaping queries because it's such a PITA. It's quite tricky to set up correctly, and it's easy to accidentally 'erase' all your work if you have escaped characters in a collection macro by reopening the macro. Basically what happens is anytime there is a @, %, or # call in a macro, whatever is being called is fully replaced into the macro. E.g., if you have a few macros with this code: #BigBite
/em Johnny Boy takes a big bite out of his enemy!
#SmallBite
/em Johnny Boy takes a small bite out of his enemy!
#Kick
/em Johnny Boy kicks his enemy!
And you want to put it in a query like this: ?{Which attack?|Big Bite,#BigBite|Small Bite,#SmallBite|Kick,#Kick} When the 'Which Attack' query is called, it becomes this: ?{Which attack?|Big Bite,/em Johnny Boy takes a big bite out of his enemy!|Small Bite,/em Johnny Boy takes a small bite out of his enemy!|Kick,/em Johnny Boy kicks his enemy!} Which would actually work just fine. What doesn't work is if the called macro/ability/attribute has any commas, vertical pipes, or ending braces in it, because the 'Which Attack' query assumes that they are part of that query, not an internal part of the output of the query. E.g. if you want to use a roll template #BigBite
&{template:npcaction} &{noerror} {{rname=@{selected|npc_name}}}{{name=Attack}}{{description=Johnny Boy takes a big bite out of his enemy!}}
#SmallBite
&{template:npcaction} &{noerror} {{rname=@{selected|npc_name}}}{{name=Attack}}{{description=Johnny Boy takes a small bite out of his enemy!}}
#Kick
&{template:npcaction} &{noerror} {{rname=@{selected|npc_name}}}{{name=Attack}}{{description=Johnny Boy kicks his enemy!}}
It'll become this: ?{Which attack?|Big Bite,&{template:npcaction} &{noerror} {{rname=@{selected|npc_name}}}{{name=Attack}}{{description=Johnny Boy takes a big bite out of his enemy!}}|Small Bite,&{template:npcaction} &{noerror} {{rname=@{selected|npc_name}}}{{name=Attack}}{{description=Johnny Boy takes a small bite out of his enemy!}}|Kick,&{template:npcaction} &{noerror} {{rname=@{selected|npc_name}}}{{name=Attack}}{{description=Johnny Boy kicks his enemy!}}} As soon as it gets to the closing brace after npcaction, the query closes. Unfortunately the only way to fix this to allow for nested macros would require rewriting the code to use different symbols for queries versus abilities and attributes. So the workaround is to use html replacements , but they have to be nested in just the right way. Each vertical pipe '|' is replaced with '&#124;' Each comma ',' is replaced with '&#44;' Each ending brace '}' is replaced with '&#125;' Doing all of that and setting it up just right is a lot of work to get it just perfect.