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 A Rollable Table Query Inside a Number Query

March 02 (4 years ago)
Robert D.
Sheet Author

Hi, I've spent hours going over past posts and I figured out my other macro, but not this one.

I have a batttletech game and I've created rollable tables for each hit table. I have a macro that allows you to select that table and roll a hit location, but if you aren't selecting the default more than one in a row is annoying. I'm trying to make a macro that will ask you the hit location table you're using and the number of hits you got, then roll that table that many times.

Here is the single attack macro:

[[1t[?{Attack Table|Mech-Front-Rear-Hit|Mech-Left-Hit|Mech-Right-Hit|Left-Punch-Hit|Punch-Front-Rear-Hit|Punch-Right-Hit|Kick-Left-Hit|Kick-Front-Rear-Hit|Kick-Right-Hit}]]]

Here is my attempted at the nested macro. I was able to get something like this to work on the attack macro, then realized I didn't need it to be this complex, since the second variable wasn't being applied inside the nested portion of the macro. But I can't get it to work with this one. If I use } on the variables, it breaks the syntax, but this version just does nothing after the first instance, which is outside the nest:

! ?{Attack Table|Mech-Front-Rear-Hit|Mech-Left-Hit|Mech-Right-Hit|Left-Punch-Hit|Punch-Front-Rear-Hit|Punch-Right-Hit|Kick-Left-Hit|Kick-Front-Rear-Hit|Kick-Right-Hit}
/em Player 1 opens fire...
[[1t[?{Attack Table}]]] ?{Attacks|
  1, |
  2, • [[1t[{Attack Table}]]] |
  3, • [[1t[{Attack Table}]]] • [[1t[{Attack Table}]]] |
  4, • [[1t[{Attack Table}]]] • [[1t[{Attack Table}]]] • [[1t[{Attack Table}]]] |
  5, • [[1t[{Attack Table}]]] • [[1t[{Attack Table}]]] • [[1t[{Attack Table}]]] • [[1t[{Attack Table}]]] |
  6, • [[1t[{Attack Table}]]] • [[1t[{Attack Table}]]] • [[1t[{Attack Table}]]] • [[1t[{Attack Table}]]] • [[1t[{Attack Table}]]] |
  7, • [[1t[{Attack Table}]]] • [[1t[{Attack Table}]]] • [[1t[{Attack Table}]]] • [[1t[{Attack Table}]]] • [[1t[{Attack Table}]]] • [[1t[{Attack Table}]]] |
  8, • [[1t[{Attack Table}]]] • [[1t[{Attack Table}]]] • [[1t[{Attack Table}]]] • [[1t[{Attack Table}]]] • [[1t[{Attack Table}]]] • [[1t[{Attack Table}]]] • [[1t[{Attack Table}]]] |
  9, • [[1t[{Attack Table}]]] • [[1t[{Attack Table}]]] • [[1t[{Attack Table}]]] • [[1t[{Attack Table}]]] • [[1t[{Attack Table}]]] • [[1t[{Attack Table}]]] • [[1t[{Attack Table}]]] • [[1t[{Attack Table}]]] |
  10, • [[1t[{Attack Table}]]] • [[1t[{Attack Table}]]] • [[1t[{Attack Table}]]] • [[1t[{Attack Table}]]] • [[1t[{Attack Table}]]] • [[1t[{Attack Table}]]] • [[1t[{Attack Table}]]] • [[1t[{Attack Table}]]] • [[1t[{Attack Table}]]] |
}

If I get this working, I might figure out next how to turn the bullets into carriage returns and then how to put it inside the attack template, but my first goal is to get it working at all.

Any ideas?


March 03 (4 years ago)
Robert D.
Sheet Author

I've got this part working. This is what I had to do:

! ?{Attack Table|Mech-Front-Rear-Hit|Mech-Left-Hit|Mech-Right-Hit|Left-Punch-Hit|Punch-Front-Rear-Hit|Punch-Right-Hit|Kick-Left-Hit|Kick-Front-Rear-Hit|Kick-Right-Hit}
/em Player 1 opens fire...
[[1t[?{Attack Table}]]] ?{Attacks|
  1, |
  2, • [[1t[?{Attack Table|Mech-Front-Rear-Hit|Mech-Left-Hit|Mech-Right-Hit|Left-Punch-Hit|Punch-Front-Rear-Hit|Punch-Right-Hit|Kick-Left-Hit|Kick-Front-Rear-Hit|Kick-Right-Hit}]]] |
  3, • [[1t[?{Attack Table|Mech-Front-Rear-Hit|Mech-Left-Hit|Mech-Right-Hit|Left-Punch-Hit|Punch-Front-Rear-Hit|Punch-Right-Hit|Kick-Left-Hit|Kick-Front-Rear-Hit|Kick-Right-Hit}]]] • [[1t[?{Attack Table|Mech-Front-Rear-Hit|Mech-Left-Hit|Mech-Right-Hit|Left-Punch-Hit|Punch-Front-Rear-Hit|Punch-Right-Hit|Kick-Left-Hit|Kick-Front-Rear-Hit|Kick-Right-Hit}]]] |
  4, • [[1t[?{Attack Table|Mech-Front-Rear-Hit|Mech-Left-Hit|Mech-Right-Hit|Left-Punch-Hit|Punch-Front-Rear-Hit|Punch-Right-Hit|Kick-Left-Hit|Kick-Front-Rear-Hit|Kick-Right-Hit}]]] • [[1t[?{Attack Table|Mech-Front-Rear-Hit|Mech-Left-Hit|Mech-Right-Hit|Left-Punch-Hit|Punch-Front-Rear-Hit|Punch-Right-Hit|Kick-Left-Hit|Kick-Front-Rear-Hit|Kick-Right-Hit}]]] • [[1t[?{Attack Table|Mech-Front-Rear-Hit|Mech-Left-Hit|Mech-Right-Hit|Left-Punch-Hit|Punch-Front-Rear-Hit|Punch-Right-Hit|Kick-Left-Hit|Kick-Front-Rear-Hit|Kick-Right-Hit}]]] |
  5, • [[1t[?{Attack Table|Mech-Front-Rear-Hit|Mech-Left-Hit|Mech-Right-Hit|Left-Punch-Hit|Punch-Front-Rear-Hit|Punch-Right-Hit|Kick-Left-Hit|Kick-Front-Rear-Hit|Kick-Right-Hit}]]] • [[1t[?{Attack Table|Mech-Front-Rear-Hit|Mech-Left-Hit|Mech-Right-Hit|Left-Punch-Hit|Punch-Front-Rear-Hit|Punch-Right-Hit|Kick-Left-Hit|Kick-Front-Rear-Hit|Kick-Right-Hit}]]] • [[1t[?{Attack Table|Mech-Front-Rear-Hit|Mech-Left-Hit|Mech-Right-Hit|Left-Punch-Hit|Punch-Front-Rear-Hit|Punch-Right-Hit|Kick-Left-Hit|Kick-Front-Rear-Hit|Kick-Right-Hit}]]] • [[1t[?{Attack Table|Mech-Front-Rear-Hit|Mech-Left-Hit|Mech-Right-Hit|Left-Punch-Hit|Punch-Front-Rear-Hit|Punch-Right-Hit|Kick-Left-Hit|Kick-Front-Rear-Hit|Kick-Right-Hit}]]] |
  6, • [[1t[?{Attack Table|Mech-Front-Rear-Hit|Mech-Left-Hit|Mech-Right-Hit|Left-Punch-Hit|Punch-Front-Rear-Hit|Punch-Right-Hit|Kick-Left-Hit|Kick-Front-Rear-Hit|Kick-Right-Hit}]]] • [[1t[?{Attack Table|Mech-Front-Rear-Hit|Mech-Left-Hit|Mech-Right-Hit|Left-Punch-Hit|Punch-Front-Rear-Hit|Punch-Right-Hit|Kick-Left-Hit|Kick-Front-Rear-Hit|Kick-Right-Hit}]]] • [[1t[?{Attack Table|Mech-Front-Rear-Hit|Mech-Left-Hit|Mech-Right-Hit|Left-Punch-Hit|Punch-Front-Rear-Hit|Punch-Right-Hit|Kick-Left-Hit|Kick-Front-Rear-Hit|Kick-Right-Hit}]]] • [[1t[?{Attack Table|Mech-Front-Rear-Hit|Mech-Left-Hit|Mech-Right-Hit|Left-Punch-Hit|Punch-Front-Rear-Hit|Punch-Right-Hit|Kick-Left-Hit|Kick-Front-Rear-Hit|Kick-Right-Hit}]]] • [[1t[?{Attack Table|Mech-Front-Rear-Hit|Mech-Left-Hit|Mech-Right-Hit|Left-Punch-Hit|Punch-Front-Rear-Hit|Punch-Right-Hit|Kick-Left-Hit|Kick-Front-Rear-Hit|Kick-Right-Hit}]]] |
  7, • [[1t[?{Attack Table|Mech-Front-Rear-Hit|Mech-Left-Hit|Mech-Right-Hit|Left-Punch-Hit|Punch-Front-Rear-Hit|Punch-Right-Hit|Kick-Left-Hit|Kick-Front-Rear-Hit|Kick-Right-Hit}]]] • [[1t[?{Attack Table|Mech-Front-Rear-Hit|Mech-Left-Hit|Mech-Right-Hit|Left-Punch-Hit|Punch-Front-Rear-Hit|Punch-Right-Hit|Kick-Left-Hit|Kick-Front-Rear-Hit|Kick-Right-Hit}]]] • [[1t[?{Attack Table|Mech-Front-Rear-Hit|Mech-Left-Hit|Mech-Right-Hit|Left-Punch-Hit|Punch-Front-Rear-Hit|Punch-Right-Hit|Kick-Left-Hit|Kick-Front-Rear-Hit|Kick-Right-Hit}]]] • [[1t[?{Attack Table|Mech-Front-Rear-Hit|Mech-Left-Hit|Mech-Right-Hit|Left-Punch-Hit|Punch-Front-Rear-Hit|Punch-Right-Hit|Kick-Left-Hit|Kick-Front-Rear-Hit|Kick-Right-Hit}]]] • [[1t[?{Attack Table|Mech-Front-Rear-Hit|Mech-Left-Hit|Mech-Right-Hit|Left-Punch-Hit|Punch-Front-Rear-Hit|Punch-Right-Hit|Kick-Left-Hit|Kick-Front-Rear-Hit|Kick-Right-Hit}]]] • [[1t[?{Attack Table|Mech-Front-Rear-Hit|Mech-Left-Hit|Mech-Right-Hit|Left-Punch-Hit|Punch-Front-Rear-Hit|Punch-Right-Hit|Kick-Left-Hit|Kick-Front-Rear-Hit|Kick-Right-Hit}]]] |
  8, • [[1t[?{Attack Table|Mech-Front-Rear-Hit|Mech-Left-Hit|Mech-Right-Hit|Left-Punch-Hit|Punch-Front-Rear-Hit|Punch-Right-Hit|Kick-Left-Hit|Kick-Front-Rear-Hit|Kick-Right-Hit}]]] • [[1t[?{Attack Table|Mech-Front-Rear-Hit|Mech-Left-Hit|Mech-Right-Hit|Left-Punch-Hit|Punch-Front-Rear-Hit|Punch-Right-Hit|Kick-Left-Hit|Kick-Front-Rear-Hit|Kick-Right-Hit}]]] • [[1t[?{Attack Table|Mech-Front-Rear-Hit|Mech-Left-Hit|Mech-Right-Hit|Left-Punch-Hit|Punch-Front-Rear-Hit|Punch-Right-Hit|Kick-Left-Hit|Kick-Front-Rear-Hit|Kick-Right-Hit}]]] • [[1t[?{Attack Table|Mech-Front-Rear-Hit|Mech-Left-Hit|Mech-Right-Hit|Left-Punch-Hit|Punch-Front-Rear-Hit|Punch-Right-Hit|Kick-Left-Hit|Kick-Front-Rear-Hit|Kick-Right-Hit}]]] • [[1t[?{Attack Table|Mech-Front-Rear-Hit|Mech-Left-Hit|Mech-Right-Hit|Left-Punch-Hit|Punch-Front-Rear-Hit|Punch-Right-Hit|Kick-Left-Hit|Kick-Front-Rear-Hit|Kick-Right-Hit}]]] • [[1t[?{Attack Table|Mech-Front-Rear-Hit|Mech-Left-Hit|Mech-Right-Hit|Left-Punch-Hit|Punch-Front-Rear-Hit|Punch-Right-Hit|Kick-Left-Hit|Kick-Front-Rear-Hit|Kick-Right-Hit}]]] • [[1t[?{Attack Table|Mech-Front-Rear-Hit|Mech-Left-Hit|Mech-Right-Hit|Left-Punch-Hit|Punch-Front-Rear-Hit|Punch-Right-Hit|Kick-Left-Hit|Kick-Front-Rear-Hit|Kick-Right-Hit}]]] |
  9, • [[1t[?{Attack Table|Mech-Front-Rear-Hit|Mech-Left-Hit|Mech-Right-Hit|Left-Punch-Hit|Punch-Front-Rear-Hit|Punch-Right-Hit|Kick-Left-Hit|Kick-Front-Rear-Hit|Kick-Right-Hit}]]] • [[1t[?{Attack Table|Mech-Front-Rear-Hit|Mech-Left-Hit|Mech-Right-Hit|Left-Punch-Hit|Punch-Front-Rear-Hit|Punch-Right-Hit|Kick-Left-Hit|Kick-Front-Rear-Hit|Kick-Right-Hit}]]] • [[1t[?{Attack Table|Mech-Front-Rear-Hit|Mech-Left-Hit|Mech-Right-Hit|Left-Punch-Hit|Punch-Front-Rear-Hit|Punch-Right-Hit|Kick-Left-Hit|Kick-Front-Rear-Hit|Kick-Right-Hit}]]] • [[1t[?{Attack Table|Mech-Front-Rear-Hit|Mech-Left-Hit|Mech-Right-Hit|Left-Punch-Hit|Punch-Front-Rear-Hit|Punch-Right-Hit|Kick-Left-Hit|Kick-Front-Rear-Hit|Kick-Right-Hit}]]] • [[1t[?{Attack Table|Mech-Front-Rear-Hit|Mech-Left-Hit|Mech-Right-Hit|Left-Punch-Hit|Punch-Front-Rear-Hit|Punch-Right-Hit|Kick-Left-Hit|Kick-Front-Rear-Hit|Kick-Right-Hit}]]] • [[1t[?{Attack Table|Mech-Front-Rear-Hit|Mech-Left-Hit|Mech-Right-Hit|Left-Punch-Hit|Punch-Front-Rear-Hit|Punch-Right-Hit|Kick-Left-Hit|Kick-Front-Rear-Hit|Kick-Right-Hit}]]] • [[1t[?{Attack Table|Mech-Front-Rear-Hit|Mech-Left-Hit|Mech-Right-Hit|Left-Punch-Hit|Punch-Front-Rear-Hit|Punch-Right-Hit|Kick-Left-Hit|Kick-Front-Rear-Hit|Kick-Right-Hit}]]] • [[1t[?{Attack Table|Mech-Front-Rear-Hit|Mech-Left-Hit|Mech-Right-Hit|Left-Punch-Hit|Punch-Front-Rear-Hit|Punch-Right-Hit|Kick-Left-Hit|Kick-Front-Rear-Hit|Kick-Right-Hit}]]] |
  10, • [[1t[?{Attack Table|Mech-Front-Rear-Hit|Mech-Left-Hit|Mech-Right-Hit|Left-Punch-Hit|Punch-Front-Rear-Hit|Punch-Right-Hit|Kick-Left-Hit|Kick-Front-Rear-Hit|Kick-Right-Hit}]]] • [[1t[?{Attack Table|Mech-Front-Rear-Hit|Mech-Left-Hit|Mech-Right-Hit|Left-Punch-Hit|Punch-Front-Rear-Hit|Punch-Right-Hit|Kick-Left-Hit|Kick-Front-Rear-Hit|Kick-Right-Hit}]]] • [[1t[?{Attack Table|Mech-Front-Rear-Hit|Mech-Left-Hit|Mech-Right-Hit|Left-Punch-Hit|Punch-Front-Rear-Hit|Punch-Right-Hit|Kick-Left-Hit|Kick-Front-Rear-Hit|Kick-Right-Hit}]]] • [[1t[?{Attack Table|Mech-Front-Rear-Hit|Mech-Left-Hit|Mech-Right-Hit|Left-Punch-Hit|Punch-Front-Rear-Hit|Punch-Right-Hit|Kick-Left-Hit|Kick-Front-Rear-Hit|Kick-Right-Hit}]]] • [[1t[?{Attack Table|Mech-Front-Rear-Hit|Mech-Left-Hit|Mech-Right-Hit|Left-Punch-Hit|Punch-Front-Rear-Hit|Punch-Right-Hit|Kick-Left-Hit|Kick-Front-Rear-Hit|Kick-Right-Hit}]]] • [[1t[?{Attack Table|Mech-Front-Rear-Hit|Mech-Left-Hit|Mech-Right-Hit|Left-Punch-Hit|Punch-Front-Rear-Hit|Punch-Right-Hit|Kick-Left-Hit|Kick-Front-Rear-Hit|Kick-Right-Hit}]]] • [[1t[?{Attack Table|Mech-Front-Rear-Hit|Mech-Left-Hit|Mech-Right-Hit|Left-Punch-Hit|Punch-Front-Rear-Hit|Punch-Right-Hit|Kick-Left-Hit|Kick-Front-Rear-Hit|Kick-Right-Hit}]]] • [[1t[?{Attack Table|Mech-Front-Rear-Hit|Mech-Left-Hit|Mech-Right-Hit|Left-Punch-Hit|Punch-Front-Rear-Hit|Punch-Right-Hit|Kick-Left-Hit|Kick-Front-Rear-Hit|Kick-Right-Hit}]]] • [[1t[?{Attack Table|Mech-Front-Rear-Hit|Mech-Left-Hit|Mech-Right-Hit|Left-Punch-Hit|Punch-Front-Rear-Hit|Punch-Right-Hit|Kick-Left-Hit|Kick-Front-Rear-Hit|Kick-Right-Hit}]]] |
}
March 05 (4 years ago)
Ziechael
Forum Champion
Sheet Author
API Scripter

I took a quick look at this yesterday and couldn't understand why it wasn't work as originally listed... admittedly I was in a meeting during a very busy day but on the face of it your original example should have worked... in the second example you don't really need the ! escaped line anymore since you are listing the entire query each time, however.

I'm going to try and find time to look at this again today because it hurts my soul to see that amount of repetition lol...

March 05 (4 years ago)
Ziechael
Forum Champion
Sheet Author
API Scripter

ARGH... figured it out!! lol...

In your original example your query calls from attacks 2+ weren't prefixed with a '?'!!!!!!!

! ?{Attack Table|Mech-Front-Rear-Hit|Mech-Left-Hit|Mech-Right-Hit|Left-Punch-Hit|Punch-Front-Rear-Hit|Punch-Right-Hit|Kick-Left-Hit|Kick-Front-Rear-Hit|Kick-Right-Hit}
/em Player 1 opens fire...
[[1t[?{Attack Table}]]] ?{Attacks|
  1, |
  2, • [[1t[?{Attack Table}]]] |
  3, • [[1t[?{Attack Table}]]] • [[1t[?{Attack Table}]]] |
  4, • [[1t[?{Attack Table}]]] • [[1t[?{Attack Table}]]] • [[1t[?{Attack Table}]]] |
  5, • [[1t[?{Attack Table}]]] • [[1t[?{Attack Table}]]] • [[1t[?{Attack Table}]]] • [[1t[?{Attack Table}]]] |
  6, • [[1t[?{Attack Table}]]] • [[1t[?{Attack Table}]]] • [[1t[?{Attack Table}]]] • [[1t[?{Attack Table}]]] • [[1t[?{Attack Table}]]] |
  7, • [[1t[?{Attack Table}]]] • [[1t[?{Attack Table}]]] • [[1t[?{Attack Table}]]] • [[1t[?{Attack Table}]]] • [[1t[?{Attack Table}]]] • [[1t[?{Attack Table}]]] |
  8, • [[1t[?{Attack Table}]]] • [[1t[?{Attack Table}]]] • [[1t[?{Attack Table}]]] • [[1t[?{Attack Table}]]] • [[1t[?{Attack Table}]]] • [[1t[?{Attack Table}]]] • [[1t[?{Attack Table}]]] |
  9, • [[1t[?{Attack Table}]]] • [[1t[?{Attack Table}]]] • [[1t[?{Attack Table}]]] • [[1t[?{Attack Table}]]] • [[1t[?{Attack Table}]]] • [[1t[?{Attack Table}]]] • [[1t[?{Attack Table}]]] • [[1t[?{Attack Table}]]] |
  10, • [[1t[?{Attack Table}]]] • [[1t[?{Attack Table}]]] • [[1t[?{Attack Table}]]] • [[1t[?{Attack Table}]]] • [[1t[?{Attack Table}]]] • [[1t[?{Attack Table}]]] • [[1t[?{Attack Table}]]] • [[1t[?{Attack Table}]]] • [[1t[?{Attack Table}]]] |
}