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 .
×
Advertisement Create a free account

[Script, Call For Testers] Universal Chat Menus

1586898888
GiGs
Pro
Sheet Author
API Scripter
And also test this, which removes all the stuff from the start of macro, but leaves all the chatmenu processing intact !chatmenu @{selected|character_id} {template:npcaction}{{rname=@{selected|character_name}}}{{description=CHATMENU }} --separator: | --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|Death,death_save --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:Languages --repeating_proficiencies|name|output|prof_type=Language --title:Tools --repeating_tool|toolname|tool --title:Traits --repeating_traits|name|output|name!Invocation: --title:Melee --repeating_attack|atkname|attack|atkrange<1 --title:Ranged --repeating_attack|atkname|attack|atkrange --title:Eldritch Invocations --repeating_traits|name|output|name=Invocation: --title:Cantrips — *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:Use Hit Dice --@{selected|hit_dice} Available,hit_dice|Long Rest,hit_dice --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}*
That's why some of the menu macros I've shared use one normal template for into that requires math and one for the actual chat menu.
1586899183

Edited 1586899231
GiGs
Pro
Sheet Author
API Scripter
Persephone said: That's been the case for me, in-line rolls in any part of the template would crash the API, but it's been so long since I started avoiding that. I assumed it was part of the same reason in-line rolls in a repeating item name would cause a crash. I could see why inline rolls might not appear properly in the text before CHATMENU, but dont understand why it would crash the script. The inline rolls are rolled and processed by roll20 before the script sees them, and as far as the script is concerned are just text. Inline rolls after that, in the part the script processes, are different. aaron did write a function to process inline rolls in a format that scripts can read them. I think there was a specific reason i didnt include it that made sense at the time, but its that long since i worked on the script, i cant remember.
GiGs said: And also test this, which removes all the stuff from the start of macro, but leaves all the chatmenu processing intact !chatmenu @{selected|character_id} {template:npcaction}{{rname=@{selected|character_name}}}{{description=CHATMENU }} --separator: | --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|Death,death_save --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:Languages --repeating_proficiencies|name|output|prof_type=Language --title:Tools --repeating_tool|toolname|tool --title:Traits --repeating_traits|name|output|name!Invocation: --title:Melee --repeating_attack|atkname|attack|atkrange<1 --title:Ranged --repeating_attack|atkname|attack|atkrange --title:Eldritch Invocations --repeating_traits|name|output|name=Invocation: --title:Cantrips — *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:Use Hit Dice --@{selected|hit_dice} Available,hit_dice|Long Rest,hit_dice --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}* Yup this totally works. In fact, Keith's macro totally works once I remove the jump part: **Jump** - Long [[(@{selected|strength}/2)]] / [@{selected|strength}]ft. | High [[((@{selected|strength_mod}+2)/2)]] / [[@{selected|strength_mod}+2]] ft. Anyway, thank you all so much for your help in solving this mystery.
Benjamin Quekers said: Oh my god it finally works. It's the Jump calculator that caused it to crash! **Jump** - Long [[(@{selected|strength}/2)]] / [@{selected|strength}]ft. | High [[((@{selected|strength_mod}+2)/2)]] / [[@{selected|strength_mod}+2]] ft. Once I removed that bit it totally works I did just notice that second in-line roll is missing a pair of brackets. Maybe that's the culprit? [@{selected|strength}]ft. should be [[@{selected|strength}]]ft.
Persephone said: Benjamin Quekers said: Oh my god it finally works. It's the Jump calculator that caused it to crash! **Jump** - Long [[(@{selected|strength}/2)]] / [@{selected|strength}]ft. | High [[((@{selected|strength_mod}+2)/2)]] / [[@{selected|strength_mod}+2]] ft. Once I removed that bit it totally works I did just notice that second in-line roll is missing a pair of brackets. Maybe that's the culprit? [@{selected|strength}]ft. should be [[@{selected|strength}]]ft. Hmm no... that still crashes it
1586901438
GiGs
Pro
Sheet Author
API Scripter
Yay! Weird though that it works for some people, like Keith, and not others.
Btw, Keith if you're reading this: --title:Ranged --repeating_attack|atkname|attack|atkrange Doesn't work with ranged weapons from the compendium because ranges are expressed as "effective/max" range (ie. Longbow is 150/600) You'd have to remove the "/" otherwise it won't show. I'm not savvy enough with macros to find a way around it but maybe someone here can come up with a fix
1587068689
keithcurtis
Forum Champion
Marketplace Creator
API Scripter
Benjamin Quekers said: Btw, Keith if you're reading this: --title:Ranged --repeating_attack|atkname|attack|atkrange Doesn't work with ranged weapons from the compendium because ranges are expressed as "effective/max" range (ie. Longbow is 150/600) You'd have to remove the "/" otherwise it won't show. I'm not savvy enough with macros to find a way around it but maybe someone here can come up with a fix Odd. It works for me. This character was built with Charactermancer, and the bow is from the compendium. It also works with the NPC macro, whether the attack is a standard weapon, or one from a compendium drop. Or am I misunderstanding the issue?
1587069128
keithcurtis
Forum Champion
Marketplace Creator
API Scripter
Likewise, I'm not seeing any crash due to the jump calculation, as shown above. Could you post the entirety of the macro you are using, cut and pasted directly from your campaign, which is presumably using the D&D 5th Edition by Roll20 sheet? I'll paste the exact text into mine and see if I can duplicate the error.
1587086870

Edited 1587087091
Hey Keith I just noticed NPC's traits now have a roll function. Idk how long that's been a thing. So you can change the part that builds those buttons from this --repeating_npctrait|name|desc! to this --repeating_npctrait|name|-npc_roll_output And that will solve that age-old issue of parentheses breaking those buttons!
1587090341
keithcurtis
Forum Champion
Marketplace Creator
API Scripter
I remember trying it and running into an issue, but I also remember being in a hurry. I'll revisit it.
1587090466
keithcurtis
Forum Champion
Marketplace Creator
API Scripter
And also, shame on whomever named that roll. Really? "-npc_roll_output"? No other sheet macro begins with a dash.
Yeah, I had to do a double take, but it worked when I tested it!
1587091108
Kraynic
Pro
Sheet Author
And it doesn't even give a hint of what part of the sheet it is rolling, other than something npc related.  Things like that make me feel better about my little sheet...
NPC reactions have that as the roll call, too
1587092311
keithcurtis
Forum Champion
Marketplace Creator
API Scripter
Kraynic said: And it doesn't even give a hint of what part of the sheet it is rolling, other than something npc related.  Things like that make me feel better about my little sheet... The traits part is in the first half: %{ repeating_npctrait_ $1_-npc_roll_output} But it's still non standard. To fit everywhere else on the sheet, it should be: %{ repeating_npctrait_ $1_output} The fact that desc was renamed to description in order to bring it into conformance with other parts of the sheet is mystifying in the light of this uniquely named action that was created at the same time.
1587092551
keithcurtis
Forum Champion
Marketplace Creator
API Scripter
I must have made a syntax error when I tested adding the new trait reporting action before. Your line works perfectly, Persephone. I have updated the gist .
Glad it worked!
Started making modular 5e menus for a friend, and I'm really happy with how this one turned out! Got it to display any exhaustion effects that are active, and shows how many death saves you've succeeded or failed at. Full macro on pastebin .
Also I'm getting that crash in my testing of your menu macro as well, keith. Here's the exact macro I'm using, copied from your gist: !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: | --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|Death,death_save --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:Languages --repeating_proficiencies|name|output|prof_type=Language --title:Tools --repeating_tool|toolname|tool --title:Traits --repeating_traits|name|output|name!Invocation: --title:Melee --repeating_attack|atkname|attack|atkrange<1 --title:Ranged --repeating_attack|atkname|attack|atkrange --title:Eldritch Invocations --repeating_traits|name|output|name=Invocation: --title:Cantrips — *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:Use Hit Dice --@{selected|hit_dice} Available,hit_dice|Long Rest,hit_dice --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}* It seems to be the end square brackets that are causing the error, so I tried removing just those, and for some reason it made everything from the first jump calculation to the end of 'Str 12 (1)' into a button that rolls the Strength ability. It also doubles the front square brackets present. It seems to be treating the first square bracket after 'Jump - Long' as the start of that button.
1587107646

Edited 1587108180
keithcurtis
Forum Champion
Marketplace Creator
API Scripter
Well this is frustrating. I tested this on a warlock of my own, using a variety of strengths. I used the macro as extant in my campaign, raw from my gist and directly copied from your post above. I could not get it to crash. All the text characters are regular non-special characters, all the values in calculations are numberes, the test character in my own campaign is directly from Charactermancer. I thought some folks might be still running UCM 0.3.5 from page 1, rather than 0.3.7 from page 2, but I can't get the script to crash with either version. The brackets should be fine. They are balanced. If I run the macro without the API exclamation point, I get this output which shows that the calculations are resolving: Edit: I do see the missing extra brackets in the second part of the jump calculation now. I tried running with that corrected (I corrected the gist), but still no crash, on UCM 0.3.5 or 0.3.7.
1587107864

Edited 1587108259
keithcurtis
Forum Champion
Marketplace Creator
API Scripter
Persephone, what do you get in the chat if you run the macro without the exclamation point? And try running the macro from the new gist copy with the proper double brackets on the running long jump. If you don't mind. :)
Here's how it prints without the ! :
Have you tried it with all other scripts disabled? I wonder if somehow another script is helping... If gotten weird errors before that were fixed by rearranging the order that my scripts were installed.
keithcurtis said: Likewise, I'm not seeing any crash due to the jump calculation, as shown above. Could you post the entirety of the macro you are using, cut and pasted directly from your campaign, which is presumably using the D&D 5th Edition by Roll20 sheet? I'll paste the exact text into mine and see if I can duplicate the error. Hey Keith, the original macro that I used that crashed was copied and paste unmodified from your github link. I no longer have that original macro in my game, I'm using one that has the Jump calculation removed. As for the Ranged Attacks, any weapon with a range value that has a "/" on it doesn't show up. Longbow Sharpshooter is basically a copy of Longbow with the modifiers and damaged changed and "150/" removed from range All other ranged weapons from either the compendium or custom, are affected by this too. In order to get them to show up the "/" has to be removed manually
1587130823
keithcurtis
Forum Champion
Marketplace Creator
API Scripter
That's frustratingly weird, since none of those things are happening to me. I'll try Persephone's suggestion, but I'll create a campaign from scratch, since that's much quicker than turning off about 35 scripts...
1587131497
GiGs
Pro
Sheet Author
API Scripter
This thread got really active while I was sleeping! It is a very mysterious error.
1587133380
keithcurtis
Forum Champion
Marketplace Creator
API Scripter
It very likely might be some synergy. When I created a brand new UCM-only game, importing only the same test character, I do  get the crash behavior. I'm going through the laborious behavior of disabling scripts by halves to try and find the culprit. GiGs, there aren't any dependencies you can think of, are there?
1587134199

Edited 1587134259
GiGs
Pro
Sheet Author
API Scripter
No, the script is completely standalone. I'm as baffled by this error as you are.  Its very weird if you get the crash with no scripts installed, but some other script is actually stopping it happening when installed.
1587135141
keithcurtis
Forum Champion
Marketplace Creator
API Scripter
I'll do more testing later. I wish Roll20 had a checkbox for each script, along with a couple of mass action buttons.
1587138779

Edited 1587138836
Another strange bug I came across was with 5e NPCs that have both regular actions and legendary actions. The repeating sections are very similar (repeating_npcactions and repeating_npcactions-l, respectively). Kinda reminds me of that bug I was getting when the PF2e sheet added a new repeating_actions section while hiding, but not removing, the old repeating_actions-activities section. The effect it's having is that if a menu builds buttons for Actions and the creature has Legendary Actions, it will add an 'undefined' button under Actions for each Legendary Action, while the Legendary Actions part of the menu behaves as expected. Each 'undefined' button contains 'repeating_npcaction_repeating_npcaction-l_'.
1587139095
GiGs
Pro
Sheet Author
API Scripter
Persephone said: Another strange bug I came across was with 5e NPCs that have both regular actions and legendary actions. The repeating sections are very similar (repeating_npcactions and repeating_npcactions-l, respectively). Kinda reminds me of that bug I was getting when the PF2e sheet added a new repeating_actions section while hiding, but not removing, the old repeating_actions-activities section. The effect it's having is that if a menu builds buttons for Actions and the creature has Legendary Actions, it will add an 'undefined' button under Actions for each Legendary Action, while the Legendary Actions part of the menu behaves as expected. Each 'undefined' button contains 'repeating_npcaction_repeating_npcaction-l_'. I have an idea why that's happening. I think I match for repeating_sectionname, which would catch repeating_npcactions and repeating_npcactions-l together. If I match for repeating_sectionname_ (adding an underscore at the end), that wouldnt happen. Since you cant have more than one underscore in a repeating section name, adding an _ at the end guarantees the script catches only that one repeating section. That's my theory without looking at the code. I'll check later. If so, it's the simplest thing to fix.
1587140610
GiGs
Pro
Sheet Author
API Scripter
Persephone, if you want to test this, using version .7, change line 53 from return obj.get('name').startsWith(`repeating_${section}`) && obj.get('name').endsWith(attribute); to return obj.get('name').startsWith(`repeating_${section}_`) && obj.get('name').endsWith(attribute); and see if it fixes that npcactions / npcactions-l issue.  PS I hadnt realised I'd never updated the page 1 version of the screipt with the .7 version on page 2. Oops.
1587141268
keithcurtis
Forum Champion
Marketplace Creator
API Scripter
I'm stumped, and beginning to suspect an ill-tempered fairy. On my current campaign, if I deactivate Token Fate (One Click), UCM breaks when running my macro. If I add Token Fate to my test campaign, it makes no difference, even if I add the scripts from my regular campaign that directly precede and follow TokenFate—the macro breaks the script. On my API development game, this Script-Macro combo has been working fine, but now suddenly crashes the sandbox. I don't get it.
1587141570

Edited 1587141692
GiGs
Pro
Sheet Author
API Scripter
Does it change if you change the order you have the scripts installed? I had a look at tokenfate and it is doing something that can affect scripts that are installed after it.  I'm not sure if what it is doing would actually be the cause of this specific oddity, but if it is, incorporating the script snippet it is using is a way to fix the behaviour for others in UCM.
1587142298
keithcurtis
Forum Champion
Marketplace Creator
API Scripter
I can't get it to load in that order in the test campaign. For some bizarre Roll20 reason, the scripts appear in the order they wish, not the order I add them. I'll try just copying the TokenFate code to the top of the UCM code and force the load order.
I know I had issues with Token Fate breaking Recursive Tables if TF preceded in the script order. GiGs, I'll test that out when I get home today.
1587142489
keithcurtis
Forum Champion
Marketplace Creator
API Scripter
Hawley Smoot! That worked? Forcing TokenFate to load ahead of UCM makes the macro work.
Keith, I notice that happen in my games, too. Especially if I'm adding a script I had previously removed, it will be re-added in the spot it originally was, rather than at the end. And then when I disable multiple scripts, the order shifts around with each one I disable.
I'll have to try tacking TF directly to the top of UCM, because it's installed before UCM but with about 10 scripts between.
1587143336
GiGs
Pro
Sheet Author
API Scripter
Great! it's using a version of aaron's processinlinerolls snippet, which is meant for scripts where you send inline rolls in the input and the script does something with their values. I never realised that would be useful for UCM, since it doesnt do anything directly with inline rolls. Here's a version of UCM for testing that incorporates that snippet, and the line 53 tweak from earlier. See if it fixes the issue. <a href="https://gist.github.com/G-G-G/bfd8d623ff1c04c7d360fd2b3e640076" rel="nofollow">https://gist.github.com/G-G-G/bfd8d623ff1c04c7d360fd2b3e640076</a>
1587144717
keithcurtis
Forum Champion
Marketplace Creator
API Scripter
That did the trick! Mystery solved, gang!
1587144904
keithcurtis
Forum Champion
Marketplace Creator
API Scripter
Verified that it also works in the original game, with the TokenFate script activated.
1587145038
GiGs
Pro
Sheet Author
API Scripter
TokenFate should probably have that part of its code tweaked too, because of the way it modifies the msg object passing through it. While it fixed our issue, there are scripts that will break because of this behaviour, like the recursiveTables example Persephone mentioned earlier. I wonder if the author is still active.
Aaron said he was gonna reach out to them after he helped me figure out the Recursive Table issue late last year (I think), but I haven't seen any updates since
1587145331
GiGs
Pro
Sheet Author
API Scripter
It looks like he has posted on the forums a few weeks ago, so I'll send a message.
Btw what line did you add that snippet? I'm still using the modified version that makes all GM's buttons as whispers (which btw, has been working perfectly for my games; my players hated having whisper queries and that change erased the need for those)
1587145895
GiGs
Pro
Sheet Author
API Scripter
I've just updated the gist to centralise the changes, to make it a bit easier for you. I modified line 53 as noted earlier, and also added the processInlinerolls function leading into the first 4 lines of the handleInput function between lines 221-239.&nbsp;&nbsp; Those are the only two areas to modify.
1587151037

Edited 1587151054
Awesome, can't wait to try it! I wonder if this would also allow macro buttons to be added in the template?