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

Character Sheet Macro Problem

Have come across a problem with a campaign I run, and it seems the problem is exclusive to me because last night all my players were rolling up the Shadowrun 5E character sheet macros without issue, but, for me, whilst some of the macros worked consistently, others would allow me to roll them once, and then just outright stop responding to me clicking on them, or just wouldn't respond at all. Was hoping it was just a server issue or something but it's continued through to this morning, so looks like I'm going to need some help to fix this one.
1423561725
Pat S.
Forum Champion
Sheet Author
Was this on the dev or main server? Can you provide a console log while trying the macros again? It might provide some info for people to look at and see what could be happening. <a href="https://wiki.roll20.net/Solving_Technical_Issues" rel="nofollow">https://wiki.roll20.net/Solving_Technical_Issues</a> provides all the normal steps we usually ak people to go through. Step 4 will tell you how to get the console log if you didn't know how.
Refused to execute inline script because it violates the following Content Security Policy directive: "script-src 'self' 'unsafe-eval' https://*.googlesyndication.com https://*.doubleclick.net https://*.googlesyndication.com <a href="https://www.googletagservices.com" rel="nofollow">https://www.googletagservices.com</a> https://*.googlesyndication.com <a href="https://www.google-analytics.com" rel="nofollow">https://www.google-analytics.com</a> https://*.googlesyndication.com <a href="https://d3clqjduf2gvxg.cloudfront.net" rel="nofollow">https://d3clqjduf2gvxg.cloudfront.net</a> https://*.googlesyndication.com https://*.firebaseio.com https://*.googlesyndication.com https://*.opentok.com https://*.googlesyndication.com Either the 'unsafe-inline' keyword, a hash ('sha256-...'), or a nonce ('nonce-...') is required to enable inline execution. app.roll20.net/:9 Refused to execute inline script because it violates the following Content Security Policy directive: "script-src 'self' 'unsafe-eval' https://*.googlesyndication.com https://*.doubleclick.net https://*.googlesyndication.com <a href="https://www.googletagservices.com" rel="nofollow">https://www.googletagservices.com</a> https://*.googlesyndication.com <a href="https://www.google-analytics.com" rel="nofollow">https://www.google-analytics.com</a> https://*.googlesyndication.com <a href="https://d3clqjduf2gvxg.cloudfront.net" rel="nofollow">https://d3clqjduf2gvxg.cloudfront.net</a> https://*.googlesyndication.com https://*.firebaseio.com https://*.googlesyndication.com https://*.opentok.com https://*.googlesyndication.com Either the 'unsafe-inline' keyword, a hash ('sha256-...'), or a nonce ('nonce-...') is required to enable inline execution. app.js?1423512194:22 70 app.js?1423512194:23 TOUCH SUPPORTED: false app.js?1423512194:23 USING WEBGL ACCELERATION... app.js?1423512194:23 WEBGL STARTUP SUCCESS app.js?1423512194:18 select app.js?1423512194:18 Switch mode to select app.js?1423512194:32 Initializing new dice engine with randomness... app.js?1423512194:32 Using random entropy app.js?1423512194:34 Unable to start up OpenTok! app.js?1423512194:34 Compiling sheet... jquery.min.js:2 Mixed Content: The page at '<a href="https://app.roll20.net/editor/" rel="nofollow">https://app.roll20.net/editor/</a>' was loaded over HTTPS, but requested an insecure image '<a href="http://imgsrv.roll20.net:5100/?src=i.imgur.com/TQ8WzzX.png" rel="nofollow">http://imgsrv.roll20.net:5100/?src=i.imgur.com/TQ8WzzX.png</a>'. This content should also be served over HTTPS. app.js?1423512194:34 Finding sheet rolls... app.js?1423512194:35 'Attr.nodeValue' is deprecated. Please use 'value' instead. app.js?1423512194:36 window resize app.js?1423512194:23 Final set zoom! app.js?1423512194:23 UPDATE GL SIZE! app.js?1423512194:23 Final set zoom! tutorial_tips.js:7 tuts loaded app.js?1423512194:29 Final page load. app.js?1423512194:29 Scan for new plays! app.js?1423512194:28 Auth'ed. app.js?1423512194:28 Go post auth! 81app.js?1423512194:29 Scan for new plays! app.js?1423512194:28 initial setup app.js?1423512194:31 refershing page listings! app.js?1423512194:28 Got players value... app.js?1423512194:28 joining game... app.js?1423512194:27 Player -JS9T9mxGdasI0VHM_l6 is offline... app.js?1423512194:27 Player -JSAWI_nNLokP9uKEMUL is offline... app.js?1423512194:27 Player -JSBKd6w3AQvYkWCtFKs is offline... app.js?1423512194:27 Player -JSUmRnL4b4ptmI3OZ-j is offline... app.js?1423512194:27 Player -JSZxdzTDFvRpy5IX_EU is offline... app.js?1423512194:27 Player -JS_2rg3j2WcX1uWdr-N is offline... app.js?1423512194:28 Deferred finish joining... app.js?1423512194:22 Firebase Online app.js?1423512194:27 I think I should be first? 19app.js?1423512194:26 Full load page! app.js?1423512194:28 We have 71 pages app.js?1423512194:28 handle page changes app.js?1423512194:28 false app.js?1423512194:25 Swapping <a href="https://s3.amazonaws.com/files.d20.io/images/6057" rel="nofollow">https://s3.amazonaws.com/files.d20.io/images/6057</a>... to <a href="https://s3.amazonaws.com/files.d20.io/images/6057" rel="nofollow">https://s3.amazonaws.com/files.d20.io/images/6057</a>... app.js?1423512194:25 Swapping <a href="https://s3.amazonaws.com/files.d20.io/images/6076" rel="nofollow">https://s3.amazonaws.com/files.d20.io/images/6076</a>... to <a href="https://s3.amazonaws.com/files.d20.io/images/6076" rel="nofollow">https://s3.amazonaws.com/files.d20.io/images/6076</a>... app.js?1423512194:25 Swapping <a href="https://s3.amazonaws.com/files.d20.io/images/7021" rel="nofollow">https://s3.amazonaws.com/files.d20.io/images/7021</a>... to <a href="https://s3.amazonaws.com/files.d20.io/images/7021" rel="nofollow">https://s3.amazonaws.com/files.d20.io/images/7021</a>... app.js?1423512194:31 refershing page listings! app.js?1423512194:28 init active page! app.js?1423512194:26 activate page! app.js?1423512194:26 FULLY ACTIVATE VIEWS FOR PAGE. app.js?1423512194:25 Do refresh link cache! app.js?1423512194:26 Reorder by ZORDER app.js?1423512194:25 Swapping <a href="https://s3.amazonaws.com/files.d20.io/images/5943" rel="nofollow">https://s3.amazonaws.com/files.d20.io/images/5943</a>... to <a href="https://s3.amazonaws.com/files.d20.io/images/5943" rel="nofollow">https://s3.amazonaws.com/files.d20.io/images/5943</a>... app.js?1423512194:25 Swapping <a href="https://s3.amazonaws.com/files.d20.io/images/7145" rel="nofollow">https://s3.amazonaws.com/files.d20.io/images/7145</a>... to <a href="https://s3.amazonaws.com/files.d20.io/images/7145" rel="nofollow">https://s3.amazonaws.com/files.d20.io/images/7145</a>... app.js?1423512194:25 Swapping <a href="https://s3.amazonaws.com/files.d20.io/images/7145" rel="nofollow">https://s3.amazonaws.com/files.d20.io/images/7145</a>... to <a href="https://s3.amazonaws.com/files.d20.io/images/7145" rel="nofollow">https://s3.amazonaws.com/files.d20.io/images/7145</a>... 3app.js?1423512194:25 setting src app.js?1423512194:21 Cols: 2 Rows: 1 app.js?1423512194:21 Took 2ms to generate cache. app.js?1423512194:34 Search took 36ms app.js?1423512194:26 Graphics: 3 app.js?1423512194:26 Paths: 0 app.js?1423512194:31 refershing page listings! app.js?1423512194:26 Reorder by ZORDER 2app.js?1423512194:25 setting src app.js?1423512194:29 Updating character sheet values app.js?1423512194:26 Reorder by ZORDER 7app.js?1423512194:29 Updating character sheet values app.js?1423512194:25 setting src app.js?1423512194:21 Cols: 2 Rows: 2 app.js?1423512194:21 Took 1ms to generate cache. 105app.js?1423512194:29 Updating character sheet values app.js?1423512194:29 Show Character View Dialog! app.js?1423512194:29 Render character view app.js?1423512194:29 Redoing charsheet html app.js?1423512194:29 31ms to end of html app.roll20.net/:1 Mixed Content: The page at '<a href="https://app.roll20.net/editor/" rel="nofollow">https://app.roll20.net/editor/</a>' was loaded over HTTPS, but requested an insecure image '<a href="http://imgsrv.roll20.net:5100/?src=i.imgur.com/TQ8WzzX.png" rel="nofollow">http://imgsrv.roll20.net:5100/?src=i.imgur.com/TQ8WzzX.png</a>'. This content should also be served over HTTPS. app.js?1423512194:29 Updating character sheet values app.js?1423512194:29 Took 51ms app.js:36 window resize app.js:23 Final set zoom! app.js:23 UPDATE GL SIZE! app.js:23 Final set zoom! app.js?1423512194:29 0 app.js?1423512194:33 Finished after going 3 levels deep. app.js?1423512194:33 Found existing ID! app.js?1423512194:29 0 app.js?1423512194:33 Finished after going 3 levels deep. app.js?1423512194:33 Found existing ID! app.js?1423512194:29 0 app.js?1423512194:33 Finished after going 3 levels deep. app.js?1423512194:33 Found existing ID! 4app.js?1423512194:29 Uncaught TypeError: Cannot read property 'length' of undefinedapp.js?1423512194:29 (anonymous function)jquery.min.js:2 p.event.dispatchjquery.min.js:2 g.handle.h app.js?1423512194:29 20 app.js?1423512194:33 Finished after going 3 levels deep. This was the log, one of the macros went through three times without issue, then I rolled a different one, it flagged up that 'Uncaught TypeError', and after that the previously working macro didn't work anymore.
1423565478
Pat S.
Forum Champion
Sheet Author
Thanks and I'm moving this to the bugs forums because I'm not sure what is going on. Did you also go through the other steps that were listed (steps 1 -3)? This is just to make sure all the bases are covered.
Yeah I've gone through the process, cache is cleared, Chrome is updated, got the same problem with and without my extensions loaded up, and tried testing the macros in Firefox and got the exact same issue.
1423566710
Pat S.
Forum Champion
Sheet Author
What type of anti-virus are you running? Some of them are starting to get aggressive on blocking (shot in the dark on that) or they've changed a persons DNS settings. Just trying to run through stuff that I've read from other posts.
AVG, just temporarily disabled it though and sadly still getting the same issue.
Boatman, a few of my players ran into the same issue last night. They had to keep refreshing their session to get the macro working correctly.
Yeah, whenever I refresh the page it'll let me run one of the 'faulty' macros once or twice before it stops working again, it's really odd.
1423587235
Stephen Koontz
Forum Champion
Marketplace Creator
Sheet Author
API Scripter
Compendium Curator
The issue is a character sheet one. The way the button macros are structured requires all the necessary fields to be filled out, or else it will throw that undefined error. That's why it works for your players (they have all the fields filled out) and it doesn't work for you. For example shooting the 2nd ranged weapon: /em shoots their @{secondaryweaponname}! AP: [[@{secondaryweaponap}]] || DV: @{secondaryweapondam} || Acc: @{secondaryweaponacc}\n/roll ([[@{secondaryweaponskill}+@{agility}+?{Modifiers?|0}]]-@{woundmod})d6&gt;5s If you don't have the name of the 2nd weapon, which isn't given a default value, it will throw an undefined error.
1423588524

Edited 1423588578
Okay, but in that case wouldn't it throw the undefined error every single time I tried to call the button macro? Sometimes the macros actually go through and roll everything correctly, and other times they don't, and it happens on sheets that I know for a fact have rolled consistently, without an issue, in the past, and haven't been altered since. I've come across issues with the macros on this particular Shadowrun sheet not going through because I forgot to fill in a field in the past, but all the fields are filled here, and the macros work, then suddenly stop until I refresh the page / alter one of their fields, only to stop working once again. I'd love if this was a simple case of me being boneheaded and forgetting to fill out a field, but everything is as it should be, as far as I can see, but it's throwing errors.
1423589451
Stephen Koontz
Forum Champion
Marketplace Creator
Sheet Author
API Scripter
Compendium Curator
Feel free to give me an exact macro button and the inputs you have in them that's causing you this issue and I'll take another look.
1423590327

Edited 1423590373
The macros that seem to be having the issues are the combined Avoid and Damage Soak macro button in the top right, the macros for the first two rows put under Ranged Weapons, any additional ranged weapons put in seem to work just fine, same for entries under Melee Weapons, any past the first two rows work fine, and finally the same thing with entries under Armor, the first two rows throw the error, anything below the second works fine. Also playing around with it a bit more I've found what specifically seems to stop things working, if you call one of the macros I've listed above, then click cancel, they will all refuse to work and throw errors if you try to click them from then on, until a field is changed or you refresh the page. An example list of entries I've got for you - First row of Ranged Weapons Weapon Name - Ares Alpha Acc - 8 DV - 11P AP - -6 Mode - SA/BF/FA RC - 5 Ammo - 40 Skill - 11 Also gave a player control of the same sheet and asked them to do the same thing and it seems to result in the same problem for them.
1423591099
Stephen Koontz
Forum Champion
Marketplace Creator
Sheet Author
API Scripter
Compendium Curator
Right, because like I said if all the elements to the macro aren't available, the way these are set up, it will break. When you cancel it's setting the roll request {Modifiers?|0} to null. It's the same issue I described above only with the roll query instead of the name.
Okay so right now I'm playing Dark Heresy, using the DH1 sheets, and me and the other players are having the exact same issue, you click cancel on certain button macros, and they won't work again until you reload the page or enter something into the field, and I'm going to assume this may be affecting other character sheets as well. Again, never had this problem before yesterday, did the way Roll20 handles macros change recently?
1423608708
Actoba
Pro
Sheet Author
I've had same issues with me and my players tonight in a 5e game using the 5e sheet.....something is definitely wrong somewhere - Same issues as reported previously....opening a character sheet allows the first use of any macro to work.....subsequent clicks causes errors as per above with no content or error listed in chat log. I can reproduce this pretty consistently at the moment
1423609284

Edited 1423609366
Actoba
Pro
Sheet Author
Much better console log and steps to reproduce : Finished after going 6 levels deep. app.js?1423603690:29 0 app.js?1423603690:33 Finished after going 6 levels deep. app.js?1423603690:29 Updating character sheet values app.js?1423603690:29 ERROR parsing formula: undefined app.js?1423603690:29 TypeError: Cannot read property 'replace' of undefined {stack: (...), message: "Cannot read property 'replace' of undefined"} app.js?1423603690:29 ERROR parsing formula: undefined app.js?1423603690:29 TypeError: Cannot read property 'replace' of undefined {stack: (...), message: "Cannot read property 'replace' of undefined"} app.js?1423603690:29 ERROR parsing formula: undefined app.js?1423603690:29 TypeError: Cannot read property 'replace' of undefined {stack: (...), message: "Cannot read property 'replace' of undefined"} app.js?1423603690:29 Took 547ms app.js?1423603690:29 Updating character sheet values app.js?1423603690:29 ERROR parsing formula: undefined app.js?1423603690:29 TypeError: Cannot read property 'replace' of undefined {stack: (...), message: "Cannot read property 'replace' of undefined"} app.js?1423603690:29 ERROR parsing formula: undefined app.js?1423603690:29 TypeError: Cannot read property 'replace' of undefined {stack: (...), message: "Cannot read property 'replace' of undefined"} app.js?1423603690:29 ERROR parsing formula: undefined app.js?1423603690:29 TypeError: Cannot read property 'replace' of undefined {stack: (...), message: "Cannot read property 'replace' of undefined"} app.js?1423603690:29 Took 535ms app.js?1423603690:29 25 app.js?1423603690:33 Finished after going 6 levels deep. 2app.js?1423603690:29 Uncaught TypeError: Cannot read property 'length' of undefinedapp.js?1423603690:29 (anonymous function)jquery.min.js:2 p.event.dispatchjquery.min.js:2 g.handle.h Steps to reproduce using 5e sheet Open character sheet Use any number of macros (without changing tabs or otherwise updating any field/attribute) and they work fine. Make a change to an attribute or click on a sheet tab (essentially just an attribute being updated). At this point the console log shows the "Cannot read property of replace.." errors and they are repeated in blocks of three for every change/update thats made to the sheet (presumably when the sheet is saving) Any attempts to use any macro from the sheet at this point triggers the Uncaught TypeError exception at the end of the extract above. No errors anywhere other than console log during any of these steps Hope this helps track it down!
I am seeing the same issues as the posters above for 5e sheets on the dev server
1423671666
Stephen Koontz
Forum Champion
Marketplace Creator
Sheet Author
API Scripter
Compendium Curator
Okay, we think we've found the bug that was causing this. Let us know if you're still having any trouble.
1423683440

Edited 1423683692
Actoba
Pro
Sheet Author
Looks like the macros function as expected again on the 5e sheet...thanks Steve. Edit : Ignore the stuff i had in here prior to the edit...it's only on one character and he has played around with the sheet a fair bit so likely has some data in there thats causing some other warnings to be logged to the console. Everything is working fine, nothing to see, move along :)