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

Nesting macros

1473609320

Edited 1473609362
Phew! I have been wrestling with this stuff for a time with the suspicion that it is not possible!  It might be that is the simple answer... I have built a macro to use the grab manoeuvre in a HERO System game - it is reproduced below: &{template:default} {{action= @{selected|character_name} grabs at @{target|character_name} }} {{success= Grab successful if @{target|character_name}'s DCV is less than [[11+@{selected|OCV}-1-3d6]] }} {{extra= @{selected|character_name}'s DCV is [[@{selected|DCV}-2]] until next action }} This works fine and is one of a number of manoeuvres that characters might choose. I thought that it would be cool if the manoeuvres could be chosen within a simple query: ?{Which manoeuvre are you using?| StrikeM,#Strike | Block, #Block | Grab, #Grab | } It worked until I added the grab macro....is it because of the attribute calls in the grab macro?  Another reason?  Have I given enough information, or do you need the other macro texts?? The nested macro information in the blog has been interesting but not entirely useful...that and the order of operations have probably done more to confuse than to educate...is it possible it might be written such that it better breaks down the way things break out?  :-)  It might be useful to colour code phrases to show which bit substitutes for which... Stephen
1473626286
Scott C.
Forum Champion
Sheet Author
API Scripter
Compendium Curator
Hi Stephen, Nesting macros in a roll query (even other roll queries inside of roll queries) is completely possible. The problem is that the order of operations causes the macro calls to be expanded before the roll query is resolved and roll queries end at the first } that they hit (and options end at the first comma or | that they hit). What you need to do is html escape any commas, bars, or end curly brackets in your macro. Then it will work fine. Some resources for nesting: The wiki:&nbsp; <a href="https://wiki.roll20.net/Macros#Advanced_Usage_for_" rel="nofollow">https://wiki.roll20.net/Macros#Advanced_Usage_for_</a>... A google sheet for auto replacements:&nbsp; <a href="https://app.roll20.net/forum/permalink/3905546/" rel="nofollow">https://app.roll20.net/forum/permalink/3905546/</a> Hope that helps, Scott
Good grief. &nbsp;It is like learning a foreign language and missing a few pages from the dictionary. &nbsp;:-) I am crashing about tinkering with things that I half understand and I don't have a basic set of instructions to reference and practice building up from scratch. &nbsp;My problem is that because I do not know basic structures, I don't know what I need to change and what I do not. I thought I would take the grab macro that I references above and put it into your google converter. &nbsp;When I did the macro did not work. &nbsp;Opening the macro reverted all the codes back to the original characters and the macro worked. &nbsp;Now, this is obviously something I am doing wrong but I have no idea where it is going wrong. Can you go back one step and point me to a reference that presumes no knowledge at all?? &nbsp;I am confident that I can do this but I need to start earlier than either you or the wiki presume...I am wiling to put some effort into learning but I need to start a from a bit more of a basic level. This quote from the wiki "Locate and replace all problematic characters within the values of any Attributes, Abilities or Macros. Since those values now contain HTML entities, they are probably unable be able to be called individually (i.e. outside of a Roll Query). So, you might now consider directly inserting these values into your Roll Query, replacing their call . Macros which contain HTML entities may no longer function autonomously." I understand ALL of the words, the vast majority of the clauses and NONE of the sentences... &nbsp;:-? Stephen
Stephen M. said: "Locate and replace all problematic characters within the values of any Attributes, Abilities or Macros. Since those values now contain HTML entities, they are probably unable be able to be called individually (i.e. outside of a Roll Query). So, you might now consider directly inserting these values into your Roll Query, replacing their call . Macros which contain HTML entities may no longer function autonomously." I understand ALL of the words, the vast majority of the clauses and NONE of the sentences... :-? Hi, Stephen M. Advanced Usage for Roll Queries assumes a familiarity with the concepts of 'calls' and 'values' with respect to Macros, Attributes and Abilities. Nonetheless, Advanced Usage for Roll Queries reminds the reader what such 'calls' are as well as their relationship to 'values; here: Due to the order of operations , calls (i.e. @{Attribute}, %{Ability}, #Macro) are parsed to their values before Roll Queries are executed. I just modified this section such that it links to the other sections of the Roll20 Wiki where the syntax of the various types of calls defined: Due to the order of operations , calls (i.e. @{ Attribute }, %{ Ability }, # Macro ) are parsed to their values before Roll Queries are executed. This section also reminds the reader that values are what 'calls' are parsed to [when entered into the Text Chat]. I hope this helps.
1473730620
Scott C.
Forum Champion
Sheet Author
API Scripter
Compendium Curator
Stephen M. said: Since those values now contain HTML entities, they are probably unable be able to be called individually (i.e. outside of a Roll Query). So, you might now consider directly inserting these values into your Roll Query, replacing their call . Heh, yeah, sorry I forgot to mention that html replaced macros should always be made inside a character (or just never ever open the global macro again) and that you can either have them be roll queriable (queryable? querieable?) or usable independently. Also, just curious, what is in your strike and block macros?
1473733509

Edited 1473733813
Hi Stephen, I'm just starting in&nbsp;on roll20 and looking into Macro potentials, and think I am getting roadblocked on a similar understanding gap. (my shortcoming is in trying to use the sum of the results of two separate drop-down selected nested attributes i.e.&nbsp;(X+Y)dZ ) For your issue, I believe what Scott is saying is that your Macro is ending prematurely, because when it first begins to run, it processes all of your calls (your #'s & @'s), BUT it's a little dumb in the language and sees the first "}" as a cue to end the script - hence their labeling as "problematic characters" in the wiki. I don't understand why "|" and "," are problematic, only that they are (Silvyre & Scott, any elaboration on that would be super helpful). What Scott is saying (I think), is that you need to replace the "problematic"&nbsp;characters in your #Grab macro following the replacement guideline below: Character Replacement | &nbsp;& #124; , &nbsp;& #44; } &nbsp;& #125; **^Remove the space between & and #** I believe "&" may only need to be replaced with "&" in situations where you need to layer your nesting (dropdown resulting in a subsequent conditional dropdown?), but am unclear on this one. Character Replacement & & amp; **^Remove the space between & and amp;** Try adjusting your macro to the following, replacing all of your "}'s" Note: Copy your entire script into notepad before you save and close, as the problematic characters apparently revert themselves. Note2: I may have no idea what I'm talking about. Example of replacement using the beginning of your script above: &{template:default& #125;(remove space between & and #125;)
1473734582
Scott C.
Forum Champion
Sheet Author
API Scripter
Compendium Curator
Kyle W. said: Hi Stephen, I'm just starting in&nbsp;on roll20 and looking into Macro potentials, and think I am getting roadblocked on a similar understanding gap. (my shortcoming is in trying to use the sum of the results of two separate drop-down selected nested attributes i.e.&nbsp;(X+Y)dZ ) Try doing [[?{query for X} + ?{query for Y}]]dZ. The inline rolls make it resolve that addition prior to rolling the actual dice. For your issue, I believe what Scott is saying is that your Macro is ending prematurely, because when it first begins to run, it processes all of your calls (your #'s & @'s), BUT it's a little dumb in the language and sees the first "}" as a cue to end the script - hence their labeling as "problematic characters" in the wiki. I don't understand why "|" and "," are problematic, only that they are (Silvyre & Scott, any elaboration on that would be super helpful). They are problematic for similar reasons. The query syntax uses bars, "|", to separate possible options and like the end braces, it separates out into a new option each time it sees one. Similarly commas are used to separate out values from their list names and the query tries to do that every time it sees one, even if it's already done so. **Tables and some text removed for length** I believe "&" may only need to be replaced with "&" in situations where you need to layer your nesting (dropdown resulting in a subsequent conditional dropdown?), but am unclear on this one. Also useful for getting HTML entities to display properly in chat, as typing &amp;amp;#125; displays as &amp;#125; instead of }. **table and some text removed for length** Try adjusting your macro to the following, replacing all of your "}'s" Note: Copy your entire script into notepad before you save and close, as the problematic characters apparently revert themselves. Note2: I may have no idea what I'm talking about. Example of replacement using the beginning of your script above: &{template:default& #125;(remove space between & and #125;) Yep, although, you don't have to worry about the html entities being parsed if you save the replaced macro as an ability on a character sheet rather than as a global macro. Also, I'm pretty sure that Stephen did this. @Stephen:&nbsp;The fact that it wasn't usable by itself anymore is what threw you Stephen if I understood correctly. Try saving it as an ability on a character sheet (which would then be called by %{...} instead of #... . You do not want to replace the end braces of the ability call as abilities and attributes are resolved to their actual values before the roll query is triggered. (see Silvyre's link to the order of operations above).
Scott C. said: Try doing [[?{query for X} + ?{query for Y}]]dZ. The inline rolls make it resolve that addition prior to rolling the actual dice. I feel like an idiot hahaha!! Been trying ( ) and replacing a myriad of ,'s & |'s to no avail. That took care of it. Much appreciated. Scott C. said: They are problematic for similar reasons. The query syntax uses bars, "|", to separate possible options and like the end braces, it separates out into a new option each time it sees one. Similarly commas are used to separate out values from their list names and the query tries to do that every time it sees one, even if it's already done so. Also useful for getting HTML entities to display properly in chat, as typing &amp;#125; displays as &#125; instead of }. Yep, although, you don't have to worry about the html entities being parsed if you save the replaced macro as an ability on a character sheet rather than as a global macro. Also, I'm pretty sure that Stephen did this. @Stephen:&nbsp;The fact that it wasn't usable by itself anymore is what threw you Stephen if I understood correctly. Try saving it as an ability on a character sheet (which would then be called by %{...} instead of #... . You do not want to replace the end braces of the ability call as abilities and attributes are resolved to their actual values before the roll query is triggered. (see Silvyre's link to the order of operations above). Makes so much more sense now! Thanks again.
OK. &nbsp;At work but I will go home and have another go at this. &nbsp;I think I understand all of the reasons for things but am not getting it to work. &nbsp;I will have another go and then I am going to write a long hand version of the advanced guide seeking to break my example down to explain my thinking.... Thanks everyone, I appreciate the hand-holding. &nbsp;
1473785602
Scott C.
Forum Champion
Sheet Author
API Scripter
Compendium Curator
Heh, np. You could always go back about 9 months and see how much hand-holding I needed when I started working with macros and the API scripts. I'm still amazed Aaron, Silvyre, and the other forum gurus didn't just tell me to leave them alone after the 15th question of the 1st week, let alone all the weeks after that.
1473786638
The Aaron
Pro
API Scripter
(it was at least the 16th or week 2, I'm sure of it... =D )
In the meantime, I have the other two macros. One for block &{template:default} {{effect= @{selected|character_name} blocks attack if @{target|character_name}'s OCV is [[11+@{selected|OCV}-3d6]] or less}} one for strike &{template:default} {{name= @{selected|character_name} lashes out at @{target|token_name} }} {{effect= The attack hits DCV [[11+@{selected|OCV}-3d6+?{Skill levels used for offence=|0}]] or less for [[(?{How many dice used to attack?=|5}+@{selected|HTH})d6sd]] stun}} {{Details= Damage defended by ED. }} repeating the one for block &{template:default} {{action= @{selected|character_name} grabs at @{target|character_name} }} {{success= Grab successful if @{target|character_name}'s DCV is less than [[11+@{selected|OCV}-1-3d6]] }} {{extra= @{selected|character_name}'s DCV is [[@{selected|DCV}-2]] until next action }} And all of these connected by a list... ?{Which manoeuvre are you using?| Strike,#Strike | Block, #Block | Grab, #Grab&nbsp;}
1473824527
Scott C.
Forum Champion
Sheet Author
API Scripter
Compendium Curator
I'm guessing that the forums ate your html replacements? Other than that, it looks good.
I did't put replacements on those ones, just being explicit to ensure there was not a huge issue with the construct to begin with. &nbsp;Was pretty sure they were OK as the individual macros work fine, just nesting them that has proved problematic. So. &nbsp;block with replacements, I have put spaces in front and after the ampersands to allow the forum to display them...(would prefer to colour code the replacements to make them easier to see, but not sure how to achieve that on the forums). block with problematic characters replaced.&nbsp; & amp;{template:default & #125; {{effect= @{selected & #124;character_name & #125; blocks attack if @{target & #124;character_name & #125;'s OCV is [[11+@{selected & #124;OCV & #125;-3d6]] or less & #125; & #125; strike with problematic characters replaced & amp;{template:default & #125; {{name= @{selected & #124;character_name & #125; lashes out at @{target & #124;token_name & #125; & #125; & #125; {{effect= The attack hits DCV [[11+@{selected & #124;OCV & #125;-3d6+?{Skill levels used for offence= & #124;0 & #125;]] or less for [[(?{How many dice used to attack?= & #124;5 & #125;+@{selected & #124;HTH & #125;)d6sd]] stun & #125; & #125; {{Details= Damage defended by ED. & #125; & #125; and finally&nbsp;block with problematic characters replaced & amp;{template:default & #125; {{action= @{selected & #124;character_name & #125; grabs at @{target & #124;character_name & #125; & #125; & #125; {{success= Grab successful if @{target & #124;character_name & #125;'s DCV is less than [[11+@{selected & #124;OCV & #125;-1-3d6]] & #125; & #125; {{extra= @{selected & #124;character_name & #125;'s DCV is [[@{selected & #124;DCV & #125;-2]] until next action & #125; & #125; And I am presuming the list macro does not change?? ?{Which manoeuvre are you using?| Strike, #Strike | Block, #Block | Grab, #Grab }
1473887049
Scott C.
Forum Champion
Sheet Author
API Scripter
Compendium Curator
Stephen M. said: I did't put replacements on those ones, just being explicit to ensure there was not a huge issue with the construct to begin with. &nbsp;Was pretty sure they were OK as the individual macros work fine, just nesting them that has proved problematic. So. &nbsp;block with replacements, I have put spaces in front and after the ampersands to allow the forum to display them...(would prefer to colour code the replacements to make them easier to see, but not sure how to achieve that on the forums). block with problematic characters replaced.&nbsp; & amp;{template:default & #125; {{effect= @{selected & #124;character_name & #125; blocks attack if @{target & #124;character_name & #125;'s OCV is [[11+@{selected & #124;OCV & #125;-3d6]] or less & #125; & #125; This is the part that trips a lot of people up. You don't want to replace "problem characters" that are part of an attribute or ability call (i.e. anything inside @{...} or %{...}. Be sure to remember the order of operations from Silvyre's post. Attribute, ability, and macro calls are all resolved before the roll query. Doing HTML replacements on anything that is part of a call will cause it to not call at all (and you just wind up with @{selected|OCV} output to chat, as an example, instead of the actual contents of the OCV attribute. So you're above macro should be: &{template:default &amp;#125; {{effect= @{selected|character_name} blocks attack if @{target|character_name}'s OCV is [[11+@{selected|OCV}-3d6]] or less &amp;#125;&amp;#125; The ampersand at the beginning of the template definition, & {template:default&amp;#125;, can be html replaced or not, it shouldn't affect the macro either way. If you were using my google sheet to replace these, that gets replaced as an artifact of the sheets formula for escaping things multiple times when you are nesting more than a single layer deep. And I am presuming the list macro does not change?? ?{Which manoeuvre are you using?| Strike, #Strike | Block, #Block | Grab, #Grab } Yep, essentially when you call the roll query those are all going to be replaced by your html escaped macros right before the query prompt appears. Remember that since you are saving these macros as global macros instead of character abilities, you will need to reescape everything if you ever open them again.
1473888236
Tetsuo
Forum Champion
Is there a web site or something that will let you paste text in, tell it what to replace, and it spit out the replacement macro?
1473889084
Scott C.
Forum Champion
Sheet Author
API Scripter
Compendium Curator
I linked to the forum post I made about it in my first post in the thread. I've made a google sheet that will do it. It does require some specific formatting of things, but that's all explained in the instructions at the top of the sheet and you can probably figure it out from the example stuff I've got in there. The forum post: <a href="https://app.roll20.net/forum/permalink/3905546/" rel="nofollow">https://app.roll20.net/forum/permalink/3905546/</a>
Ha! &nbsp;It almost works!! &nbsp;thank you. &nbsp;Big jump forward. The problem is with the Strike macro. &nbsp;It throws things out and does not appear on the list of macros when I type # Is it breaking a rule? &nbsp; I note that it says "one command/roll per line", &nbsp;is that the problem?
1473896613
Scott C.
Forum Champion
Sheet Author
API Scripter
Compendium Curator
Stephen M. said: Ha! &nbsp;It almost works!! &nbsp;thank you. &nbsp;Big jump forward. The problem is with the Strike macro. &nbsp;It throws things out and does not appear on the list of macros when I type # Hmm, can you post a screen shot of the drop down menu that is created with the dropdown list pulled up? I might be able to figure out what is going on from that. Is it breaking a rule? &nbsp; I note that it says "one command/roll per line", &nbsp;is that the problem? Where is this from?
Yup. &nbsp;Sorry for the delay - bedtime for me just before I posted. &nbsp;very tiring doing this language stuff!! &nbsp;:-) &nbsp;You can see below as I type into the Actions box, when I type # I get a list of the macros available to me. &nbsp;Except for the Strike macro. &nbsp;It does not appear there. &nbsp;The list is good as it shrinks as you type (in the event you have dozens of macros) to make it easy for you. &nbsp;Strike never appears...and when write it in, it does not work properly (which leads me to suspect a problem with the macro and the system (knowing better than me) is trying to tell me something!! &nbsp;:-)
1473942103
Scott C.
Forum Champion
Sheet Author
API Scripter
Compendium Curator
Oh, I never trust that auto complete. Can you do your full query macro and then post a screen of what the query's dropdown looks like when you call the query macro?
Yup. &nbsp;After I finish work! &nbsp;:-) &nbsp;I will put the Strike macro in, then get a few images of the drop down when I choose (it goes wonky there) and then what happens after...
Not at home, stealing time at work. &nbsp;Drop down contains the following. &nbsp;Crashes my text box when I run it...
When I choose Strike I get the following - so you can see it going wrong
And, of course, what might be useful is my current iteration of the macro with replacements... &{template:default } {{name= @{selected|character_name} lashes out at @{target|token_name} }} {{effect= The attack hits DCV [[11+@{selected|OCV}-3d6+?{Skill levels used for offence= |0}]] or less for [[(?{How many dice used to attack?= & |5}+@{selected|HTH})d6sd]] stun }} {{Details= Damage defended by ED. }}
1473945572

Edited 1473955120
Scott C.
Forum Champion
Sheet Author
API Scripter
Compendium Curator
Stephen M. said: And, of course, what might be useful is my current iteration of the macro with replacements... &{template:default } {{name= @{selected|character_name} lashes out at @{target|token_name} }} {{effect= The attack hits DCV [[11+@{selected|OCV}-3d6+ ?{Skill levels used for offence= |0} ]] or less for [[( ?{How many dice used to attack?= & |5} +@{selected|HTH})d6sd]] stun }} {{Details= Damage defended by ED. }} It looks like the forum ate your html replacements, but I think I know where the issue is based on the dropdown outputs. Based on the spacing that you have before most of your end brackets, I'm guessing you replaced those using my google sheet. You also need to replace the problem characters in the bolded roll queries as these are now nested inside a roll query. So, what is happening is that the roll query iterates through every character, and then comes to that bar in the "Skill levels used" query and says, "ok, there's now a new option" and then runs into the ending brace of that "skill levels used" query and ends the query. Then it goes along and there is now also a "how many dice used to attack" query that is now separate from the first query instead of being nested. This is why you have that 0 hanging out at the end of your first query's options and why that second query auto-populates with a 5 as the option. I rambled on for way too long, and probably made no sense there. Long story short, replace the bar and the ending brace in the two bolded queries and you should be fine.
HA! &nbsp;It works!! &nbsp;My creature is alive.... I think I follow all the reasoning behind it and very grateful for your patience...I will seek to put all of this into a document that others following in my path might use... Stephen
1473955163
Scott C.
Forum Champion
Sheet Author
API Scripter
Compendium Curator
Yeah, I keep meaning to go update the roll query wiki (assuming I even have access) so it is more detailed and gives better examples, but you know how it is, ask me for anything but time.
Big test of my understanding of the process was adding a whole new manoeuvre to the list. &nbsp;The macro (which worked outside the list) was: &{template:default} {{name= @{selected|character_name} tries to knock ?{what are you aiming at?= |weapon} from @{target|character_name}'s grasp }} {{success= If @{target|character_name}'s DCV is less than [[11+@{selected|OCV}-2-3d6]], and [[@{selected|HTH}+(@{selected|HTH}d6&gt;6f1)]] is greater than [[@{target|HTH}+(@{target|HTH}d6&gt;6f1)]], the disarm is successful }} {{extra= Disarm may be penalised (-1 to -3) if attempting to disarm when unarmed or using a much shorter weapon. An additional -1 to disarm if weapon is wielded 2-handed. }} I made the substitutions I thought was necessary, added it to the list and it worked first time . &nbsp;I need to write that up this weekend to consolidate the learning. &nbsp;If I do, I will share it here and offer it as additional explanation for the wiki...possibly graduating from blind to one-eyed macro-builder!!
OK. &nbsp;Just to prove I can deliver, I have written a short document. &nbsp;Nesting macros by someone who barely understands what he is doing. &nbsp; Please have a look and see what you think. <a href="https://1drv.ms/b/s!Air1KSKvgXqLguI6A83AI2Z7RDGUEw" rel="nofollow">https://1drv.ms/b/s!Air1KSKvgXqLguI6A83AI2Z7RDGUEw</a>
1474239487
Scott C.
Forum Champion
Sheet Author
API Scripter
Compendium Curator
That looks really good Stephen, My only quibble would be that you can avoid the hassle of having to re-escape your entities if you put the macros in abilities on a character sheet. You could make a character called "abilities" and then make your grab, strike, and block macros as abilities on that character's sheet. Set the character to be editable by all and your players can access the macros by simply typing %{Abilities|Grab} for instance. You don't have to make the abilities multiple times and you don't have to re-escape them if you need to edit something. If you didn't want players to be able to edit these macros, you can archive the character; they'll still be able to use the abilities, but won't be able to open the character to change anything.
That is a cool idea. Never thought of doing that... does that significantly change the whole nested macro thing?
1474243610

Edited 1474243994
You can re-edit them from a character sheet without worrying about the html entities converting. Also you can access them easier with ability command buttons i.e. (~Abilities|Grab) would put a button in chant that anyone with access to the Abilities character sheet can click on to run the Grab macro. &nbsp; There would be less clutter in your settings page as well. Edit: Thinking about it; the only downfall is that you wouldn't be able to access them with the # function. Then you would need HTML entities in your dropdown, which as you know is a pain. Instead of #Grab, you would need %{Abilites&amp;124;Grab&amp;125;
1474245788

Edited 1474246140
Scott C.
Forum Champion
Sheet Author
API Scripter
Compendium Curator
Ed S. said: Edit: Thinking about it; the only downfall is that you wouldn't be able to access them with the # function. Then you would need HTML entities in your dropdown, which as you know is a pain. Instead of #Grab, you would need %{Abilites&124;Grab&125; Not this, ability and attribute calls are resolved before roll queries. You should never html replace characters in an attribute/ability call as the call will just get outputted to chat rather than being resolved. The only change to the process for doing it in an abilities char sheet would be using %{...} instead of #... to call the macro. This would hold true for calling the discrete strike, grab, or block macros as well as for the dropdown macro. Order of operations wiki:&nbsp; <a href="https://wiki.roll20.net/Dice_Reference#Order_of_Operations" rel="nofollow">https://wiki.roll20.net/Dice_Reference#Order_of_Operations</a>
Yeah, that gets kind of confusing, but would %{Abilities|Grab} work in a drop down, isn't the bar is a problem?
1474250803

Edited 1474250882
Scott C.
Forum Champion
Sheet Author
API Scripter
Compendium Curator
nope, the ability call gets replaced with the text of the ability before the roll query is evaluated, so that bar and the ending parentheses are no longer there by the time the roll query happens.
Stephen M. said: OK. &nbsp;Just to prove I can deliver, I have written a short document. &nbsp;Nesting macros by someone who barely understands what he is doing. &nbsp; Please have a look and see what you think. <a href="https://1drv.ms/b/s!Air1KSKvgXqLguI6A83AI2Z7RDGUEw" rel="nofollow">https://1drv.ms/b/s!Air1KSKvgXqLguI6A83AI2Z7RDGUEw</a> This is really awesome! Thank you for sharing this!
Silvyre, please steal and use elsewhere if you want. &nbsp;The idea is to be helpful. Scott/Ed, I am kind of trail-blazing for folk on the Hero Games forums. &nbsp;I am gonna do the character sheet thing too, just as a demo of an alternate way to do stuff. &nbsp;Am looking forward to working my way through the intricacies and difficulties. in my head, which is not the most reliable place for this, it might be ensuring that a player, with his token selected, is able to attack a second token and to draw all the necessary attributes from the right tokens (we are introducing a third character who is only providing the macro stuff). &nbsp;Might be easier than I anticipate but it might be useful as another how-to document. stephen
1474298294
The Aaron
Roll20 Production Team
API Scripter
Stephen, would you consider adding this to the wiki? &nbsp; You won't be able to add images by default (I bet we can get you that permission, though), but you can put a placeholder where you want them and a URL where to find them and we can come back and insert them.&nbsp;
If you want, or I can give you the Word file and you can place it wherever you want? &nbsp;Should get round the need to give me images permissions...
1474312377
The Aaron
Roll20 Production Team
API Scripter
I think I might be over committed already. =D &nbsp;If you get it started, it will be that much easier to get others to help add to it. &nbsp;Plus you've already done all the work, you might as well have your name on the commits. =D
OK. &nbsp;Will see how I get on. &nbsp;I was a bit anal about the colours etc and the wiki looks a bit monochrome textually!! I am presuming it should sit in the nesting macros section - possibly near the end... When I have time to do a decent chunk at once, I will have a go...
1474319444
The Aaron
Roll20 Production Team
API Scripter
Either there, or in a separate Tips & Tricks style page which can be linked or merged later.