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 .
×

Chat menu buttons - somtimes a box, sometimes not.

I've been making some macros for my Pathfinder 1e game (using the official Roll20 sheet) and have run into an oddity.   Not the first time, but it's annoying. My Macro is called info.  It calls another macro, called Defenses, which gives me the defenses of the targeted token (AC, Flat footed, Saves, etc). /w gm |[Defenses](!
#Defenses) |  It generates a nice pink button called Defenses in my chat. This is the modified macro, which gives me access to the option to turn on/off a tokens name plate, so when players ID a monster, they can get the name. /w gm [Defenses](`#Defenses) | [Name](`#Showname) | It generates to clickable links, both of which work, but neither are a button. If I write it longform, I get a button, and an invalid link /w gm |[Defenses](!
#Defenses) |[Showname] (!
#Showname)  Can someone tell me what's going on here to cause this?
Without logging in and double checking, I'm pretty sure that the issue is that the macros are being expanded prematurely. Try replacing the '#' with '#'. Try this: /w gm |[Defenses](!
#Defenses) |[Showname] (!
#Showname)
Unfortunately, that didn't solve the issue.    Defenses still comes up as an actual button with the expanded &num, but the Showname doesn't convert.
What are the contents of the #Defenses and #Showname macros? 
1777400252

Edited 1777401526
Gauss
Forum Champion
The issue is the tick. Macros with the tick lose the box.&nbsp; The solution here is to stop using Collection tab macros, use Ability macros in a Macro mule instead. It is generally better to do that anyhow.&nbsp; Edit: link to Macro Mule wiki:&nbsp; <a href="https://wiki.roll20.net/Macro_Character_Sheet" rel="nofollow">https://wiki.roll20.net/Macro_Character_Sheet</a>
Defenses is a simple read &amp; display of character attributes read off the character sheet, in a table format using the default template: /w GM &amp;{template:default} {{name=@{selected|character_name}}} {{AC [[@{selected|ac}]] =***Saving throws***}} {{Touch [[@{selected|ac_touch}]] = Fortitude [[@{selected|fortitude}]] }}{{Flat [[@{selected|ac_flatfooted}]] = Reflexes [[@{selected|reflex}]]}} {{CMD [[@{selected|cmd_mod}]] = Willpower [[@{selected|will}]]}} Showname is simply a tokenmod script, which works fine when used directly: !token-mod --flip showname showplayers_name
1777401569
Gauss
Forum Champion
I took a second look at what you put up, There appears to be an added space between the [] and ( ) in your Showname button. Remove the space and it probably will work.
Gauss, thank you.&nbsp; I wasn't seeing that extraneous space, but that was what it was.&nbsp;&nbsp; As for the macro mule, that is something I've never been able to wrap my head around, making a mule work.&nbsp;&nbsp;&nbsp;&nbsp;
1777407004
Gauss
Forum Champion
Jason H. said: Gauss, thank you.&nbsp; I wasn't seeing that extraneous space, but that was what it was.&nbsp;&nbsp; As for the macro mule, that is something I've never been able to wrap my head around, making a mule work.&nbsp;&nbsp;&nbsp;&nbsp; I can help with that. Mules are generally better than Collection tab macros for a number of reasons. (Portability, easier to work with, easier to enable/disable, etc) Let me know if you'd like help with how to use them.
1777659473

Edited 1777659510
I was going to create a separate thread, but since this is related, just adding on here.&nbsp; When you create a chat menu of buttons, is there a way to whisper to self instead of GM?&nbsp; I.E., if I deploy a menu of buttons for my players to use, I don't want to be bombarded everytime they call up the menu.&nbsp; I use a secondary account for recording sessions, but I don't want the recording screen to be bombarded with menu calls either.&nbsp; I know I could create a second dummy account, add it to the game, and then whisper to that account to solve the issue, but hoping there is an easier solution. -Adam
Adam Caramon said: I was going to create a separate thread, but since this is related, just adding on here.&nbsp; When you create a chat menu of buttons, is there a way to whisper to self instead of GM?&nbsp;&nbsp; Yes, this is definitely possible in a few different ways. You can see how I set this up for the Statblock Macromule here . Basically you have to replace the "/w gm " with something else.&nbsp; 1. Since you have a Pro subscription, you can use a script similar to what I include with a !self command to whisper to the player who sends the command. 2. You can use ' Macro Overloading ' to send to each individual player with a single macro. 3. Use "/w @{selected|token_name} " to whisper to the controlling player of the selected token. 4. You can create a different macro for each player that uses their username so it only gets sent to that player.
Jarren said: Adam Caramon said: I was going to create a separate thread, but since this is related, just adding on here.&nbsp; When you create a chat menu of buttons, is there a way to whisper to self instead of GM?&nbsp;&nbsp; Yes, this is definitely possible in a few different ways. You can see how I set this up for the Statblock Macromule here . Basically you have to replace the "/w gm " with something else.&nbsp; 1. Since you have a Pro subscription, you can use a script similar to what I include with a !self command to whisper to the player who sends the command. 2. You can use ' Macro Overloading ' to send to each individual player with a single macro. 3. Use "/w @{selected|token_name} " to whisper to the controlling player of the selected token. 4. You can create a different macro for each player that uses their username so it only gets sent to that player. Hey Jarren, I should have specified that this is for D&amp;D 2024 sheet.&nbsp; It doesn't look like we have the ability to modify the whispertoggle or wtype attributes on the D&amp;D 2024 sheet, so I am assuming some of these options won't work.&nbsp; Option #1 seems like the easiest (if that will still work with the 2024 sheet), but I am not familiar with what script you mean that enables the !self command.&nbsp; #2 Macro Overloading looks like it won't work because of needing the whisper attribute modified.&nbsp; #3 looks to work for players, but if for some reason the DM needed to make the check, it would not work.&nbsp; #4 could work, but would be tedious. Let me know if I am misunderstanding. -Adam
If you are creating a custom macro, and/or a chat menu, then you should be adding in the whisper command manually. If that's the case, then you can use the options that I mentioned. None of those options use the whispertoggle or wtype attributes.&nbsp; The bigger issue with the 2024 sheet is that not all of the attributes are readable as attribute calls or or available&nbsp;to Mod scripts. The script that I created for the Statblock Macromule includes a little scriptlet for 'whisper to myself' functionality, and if you create the Statmule character with the script, it defaults the whisper setting on the mule character to "!self " instead of one of the other options. &nbsp; &nbsp; &nbsp; if('api'===msg.type &amp;&amp; /^!self(\b\s|$)/i.test(msg.content)){ &nbsp; &nbsp; &nbsp; &nbsp; let content = args.slice(1).join(' '); &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if(_.has(msg,'rolltemplate') &amp;&amp; _.isString(msg.rolltemplate) &amp;&amp; msg.rolltemplate.length){ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; content = content.replace(/\{\{/,'&amp;{template:'+msg.rolltemplate+'} {{'); &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; } &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if(1 === args.length) { &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; return; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; } else { &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; sendChat(`${who} (self whisper)`,`/w "${who}" ${content} `); &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; } &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; return; &nbsp; &nbsp; &nbsp; }&nbsp;
1777673992

Edited 1777674101
Gauss
Forum Champion
Note: if using /w @{selected|character_name} make sure you wrap that in quotes or it won't whisper correctly to names with multiple parts. Example: /w George McFly makes an attack!&nbsp; becomes: (whispered to George) McFly makes an attack! /w "@{selected|character_name}"