timmaugh said: I wouldn't solve it in the way I'm about to show -- see below for that. First, I just want to show the issue so that you know for the next time what is happening. You have characters in your ChatSetAttr command that normally act as control characters for the query -- and the Roll20 query parser isn't context-aware enough to know the difference. It only knows to watch for those characters to move to different parts of its parsing logic. To get around that, you have to use HTML replacements on the parts of the ChatSetAttr command line that will interfere with the roll query: These are the query-control characters to watch for: CHAR | TYPE | QUERY CMD
======|==============|=========================
| | pipe | move to next query item , | comma | within query item, move to next component (ie, name to value) } | right brace | end query If you want these to not be interpreted by the query parser, you have to use their HTML replacements. Lots of people use their numeric versions (i.e., |), but I prefer the more human-readable versions: | => | , => , } => } Replacing those characters where they need to be interpreted by ChatSetAttr (rather than the query) would look like: ?{Are you clean?|Yes, !setattr --name Sunscale --clean|1|No, !setattr --name Sunscale --clean|0} That's the lesson of the query control characters... but... What I'd Really Do Normally, you can rewrite your line so that the command contains the query rather than the other way around. That will shorten (and simplify) your line: !setattr --name Sunscale --clean| ?{Are you clean?|Yes,1|No,0} No HTML replacements necessary. But I still have a question I Still Have a Question Your post said that you want to choose from multiple attributes, but your example was dealing with a single attribute and you're choosing whether or not to put a "1" in the value. One interpretation I can see for your post is that you need the player to answer the "Are you clean?" query, and then take different actions on different attributes for that character based on the response (ie, adding 1 here, making a 0 there, etc.). Having to use a single query to represent multiple different effects like this would mean, in standard Roll20 usage, that you would HAVE TO structure the query the way you initially did -- where the query encloses (at least part of) the ChatSetAttr line. That is, within the "Yes, I am clean" portion of the query response you would have the value of "1" for Sunscale, the value of "0" for Mudbath, and maybe a +5 for Oi_papi_looking_gooood. DON'T LOOK AT ME LIKE THAT -- I DON'T MAKE UP THE ATTRIBUTES; IT'S YOUR GAME SYSTEM! =D The point is, if you go this route, you're back to having to 1) duplicate large parts of the ChatSetAttr command line within the query, which means 2) HTML replacements. If you find yourself here, there are ways that the Metascript Toolbox can help -- from right within the same ChatSetAttr command line, with only some initial setup required on your end, but no more effort required when you run the command. If this situation describes what you have going on, post back and I can show how you can use a single query to drive multiple, different results in different places in your command line. Or, if it doesn't describe what you have going on, maybe you could explain why your post described one goal but your example seemed to point at another... there might be other ways the Toolbox can help if I can understand your overall goal. I did edit the post for clarity, but you must have been typing this great response already. I'm trying to make a toggle for an attribute. I have tried using the HTML replacements, but the chatsetattr syntax doesn't seem to understand them. In fact, the chat message doing that even with just a basic, one function chatsetattr command is: Setting clean|1 to (empty) for character Sunscale. However, this worked! !setattr --name Sunscale --clean| ?{Are you clean?|Yes,1|No,0} Problem solved.