Jarren K. said: Since you have a Pro subscription, you could use The Aaron's RecursiveTables script to what you're looking for, or I'm sure timmaugh has a way to do it with his meta scripts. Yep. I think the answer to Aaron's question (and the outcome desired -- is it a single event that needs resolving, or one event in a longer command line?) would tend to steer either toward RecursiveTable or Metascripts. I'm guessing a meta-solution would be somewhat similar to what I posted this morning, here . It would take Muler and ZeroFrame . I would probably set up a Mule with 3 variables... 1-4=[[1t[MeleeFail-(Lv.1-4)]]] 5-8=[[1t[MeleeFail-(Lv.5-8)]]] 9-12=[[1t[MeleeFail-(Lv.9-12)]]] Then any time I wanted to use the character's level in a roll against that table, I could use that in a "get" statement to resolve within those ranges: get.@{selected|Level}/get (the above would need the {& mule...} statement, including the name of the Mule that was storing those range variables) If Aaron is right and what you mean by rolling against any of the ranges is to have a random roll amongst all possible outcomes of the 3 tables (effectively a level 1 through 12 roll), then I would use a 1d12 as the variable to retrieve against that same Mule: get.[[1d12]].value/get The probabilities of that would be right if all of the 3 tables had the same number of returns available. If they were not of equal number, you could utilize a rollable table as the source for the variable instead of the 1d12, and then weight each line appropriately. For instance, if 1-4 had 30 entries, 5-8 had 40, and 9-12 had 50, you could have a table with weights of: VALUE | WEIGHT
------|--------- 4 | 30 8 | 40 12 | 50 Then use something like: get.[[1t[ThreeTableDistribution]]].value/get