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

D&D 3.5 - Universal Macro won't work for 1 player.

I have a macro set up in the Collections tab that pulls various info from player sheets, so they can see it quickly without having to hunt their sheet. /w @{selected|character_name} ​&{template:DnD35StdRoll} {{spellflag=true}} {{name= @{selected|character_name}'s Defenses}} {{Touch AC [[@{selected|touchac}]] Flat AC [[@{selected|flatac}]]}} {{**True Death:** **-**[[(@{selected|con-mod}*(@{selected|level}/2))+(10)]] hp}} {{**Immunity:** @{selected|immunity}}} {{**Energy Resistance:** @{selected|energy resistance}}} {{**Damage Reduction:** @{selected|damagereduction}}} {{**Spell Resistance:** @{selected|spellresistance}}} {{**Ground Speed:** [[@{selected|speed}]], Run (M):[[@{selected|speed}*4]], Run (H):[[@{selected|speed}*3]]}} {{**Other Movement:** **B:** @{selected|burrow-speed}, **C:** @{selected|climb-speed}, **F:** @{selected|fly-speed}, **S:** @{selected|swim-speed}}} {{**Languages:** @{selected|languages}}} It is set as a token action and it works exactly as it should for all but one player. I checked the permissions, and all players have access to it, so I'm not sure what the issue is. It doesn't even pop up with an error message for him, it just does nothing. Thank in advance. 
1617940639

Edited 1617940774
Hello Nick, I have a similar macro.  I've found that if any of the items you are checking for are not have a value it will stop the macro cold with no error message. Check to see if everything is filled on the players sheet to ensure there are no missing values. I've had to put in zeros in places for example.
1617968311
Ziechael
Forum Champion
Sheet Author
API Scripter
You can usually prefix attribute calls with a 0 to avoid null entry errors: /w @{selected|character_name} ​&{template:DnD35StdRoll} {{spellflag=true}} {{name= @{selected|character_name}'s Defenses}} {{Touch AC [[@{selected|touchac}]] Flat AC [[@{selected|flatac}]]}} {{**True Death:** **-**[[(@{selected|con-mod}*(@{selected|level}/2))+(10)]] hp}} {{**Immunity:** [[0@{selected|immunity}]]}} {{**Energy Resistance:** [[ 0 @{selected|energy resistance}]]  }} {{**Damage Reduction:** @{selected|damagereduction}  }} {{**Spell Resistance:** [[ 0 @{selected|spellresistance}]]  &{noerror} }} Adding the &{noerror} will stop chat reporting any missing values too. I also wrapped any numerical values in inline brackets to provide a trimmed number when the attribute is present.
Erich, I noticed that on a couple of macros, and have been adding zeros. Ziechael,  the macro you posted works for all players, but when I added the following, back onto it, it works for everybody but the 1 player again. This was on my original but didn't make it into yours. {{**Ground Speed:** [[@{selected|speed}]], Run (M):[[@{selected|speed}*4]], Run (H):[[@{selected|speed}*3]]}} {{**Other Movement:** **B:** @{selected|burrow-speed}, **C:** @{selected|climb-speed}, **F:** @{selected|fly-speed}, **S:** @{selected|swim-speed}}} {{**Languages:** @{selected|languages}}}
1618077726
Ziechael
Forum Champion
Sheet Author
API Scripter
Sorry, I did a trimmed version as a quicker way on conveying the overall idea... from the description it sounds as though that one player needs to make sure they've filled out all the required fields. In short though, anywhere you have a purely numerical value you can surround it with [[ ]] and prefix it with a 0 to prevent null errors. /w @{selected|character_name} ​&{template:DnD35StdRoll} {{spellflag=true}} {{name= @{selected|character_name}'s Defenses}} {{Touch AC [[@{selected|touchac}]] Flat AC [[@{selected|flatac}]]}} {{**True Death:** **-**[[(@{selected|con-mod}*(@{selected|level}/2))+(10)]] hp}} {{**Immunity:** [[0@{selected|immunity}]]}} {{**Energy Resistance:** [[ 0 @{selected|energy resistance}]]  }} {{**Damage Reduction:** @{selected|damagereduction}  }} {{**Spell Resistance:** [[ 0 @{selected|spellresistance}]]  }}  {{**Ground Speed:** [[0@{selected|speed}]], Run (M):[[0@{selected|speed}*4]], Run (H):[[0@{selected|speed}*3]]}} {{**Other Movement:** **B:** [[0@{selected|burrow-speed}]], **C:** [[0@{selected|climb-speed}]], **F:** [[0@{selected|fly-speed}]], **S:** [[0@{selected|swim-speed}]]}} {{**Languages:** @{selected|languages}  &{noerror} }} Depending on how you format your sheet fields, things like energy resistance might want to lose the [[0...]] bits, that only works for numbers so if you have 5/fire in there it will return a 0... putting 5[fire] in that field will return a 5 with the 'fire' tag visible if you hovered over the result? Damage resistance is another classic example which is why I left it 'normal' in the example above.