Cool, that MathOps approach does work inside Spawn's offset parameter.  Here's the command I came up with, before adding !forselected:  !Spawn --name|@(selected.character_name) --offset|0,{&math  ((35 + (randib(1,350))) - @(selected.top))/70 } --tokenProps|tint_color:@(selected.tint_color), name:@(selected.token_name), showname:@(selected.showname), isdrawing:1   That works just fine for one token.  Now when I add !forselected, it becomes this command:  !forselected(^) !Spawn --name|@^(selected.character_name) --offset|0,{&math  ((35 + (randib(1,350))) - @^(selected.top))/70 } --tokenProps|tint_color:@^(selected.tint_color), name:@^(selected.token_name), showname:@^(selected.showname), isdrawing:1  That appears to work and do exactly what I want - it works for one token or multiple, and seems to work great!  ...  Except that ZeroFrame is now reporting an infinite loop in the chat log every time it runs.  I'll copy it below.  Despite the message in the chat log, it actually does exactly what I want.  I just don't know why that log message is happening.  Any ideas?     Thanks again,  Jim      (From API):        ZeroFrame      Possible infinite loop detected. Check ZeroFrame log for more information.                  (From API):        ZeroFrame             LOOP 1  !forselected(^) !Spawn --name|@^(selected.character_name) --offset|0,{&math ((35 + (randib(1,350))) - @^(selected.top))/70 } --tokenProps|tint_color:@^(selected.tint_color), name:@^(selected.token_name), showname:@^(selected.showname), isdrawing:1           SELECTMANAGER             PLUGGER             FETCH             MATHOPS  !forselected(^) !Spawn --name|@^(selected.character_name) --offset|0,{&math ((35 + (randib(1,350))) - @^(selected.top))/70 } --tokenProps|tint_color:@^(selected.tint_color), name:@^(selected.token_name), showname:@^(selected.showname), isdrawing:1 NOTES: Expected a number, a variable, or parentheses           LOOP 2  !forselected(^) !Spawn --name|@^(selected.character_name) --offset|0,{&math ((35 + (randib(1,350))) - @^(selected.top))/70 } --tokenProps|tint_color:@^(selected.tint_color), name:@^(selected.token_name), showname:@^(selected.showname), isdrawing:1           SELECTMANAGER             PLUGGER             FETCH             MATHOPS  !forselected(^) !Spawn --name|@^(selected.character_name) --offset|0,{&math ((35 + (randib(1,350))) - @^(selected.top))/70 } --tokenProps|tint_color:@^(selected.tint_color), name:@^(selected.token_name), showname:@^(selected.showname), isdrawing:1 NOTES: Expected a number, a variable, or parentheses           LOOP 3  !forselected(^) !Spawn --name|@^(selected.character_name) --offset|0,{&math ((35 + (randib(1,350))) - @^(selected.top))/70 } --tokenProps|tint_color:@^(selected.tint_color), name:@^(selected.token_name), showname:@^(selected.showname), isdrawing:1           SELECTMANAGER             PLUGGER             FETCH             MATHOPS  !forselected(^) !Spawn --name|@^(selected.character_name) --offset|0,{&math ((35 + (randib(1,350))) - @^(selected.top))/70 } --tokenProps|tint_color:@^(selected.tint_color), name:@^(selected.token_name), showname:@^(selected.showname), isdrawing:1 NOTES: Expected a number, a variable, or parentheses           LOOP 4  !forselected(^) !Spawn --name|@^(selected.character_name) --offset|0,{&math ((35 + (randib(1,350))) - @^(selected.top))/70 } --tokenProps|tint_color:@^(selected.tint_color), name:@^(selected.token_name), showname:@^(selected.showname), isdrawing:1           SELECTMANAGER             PLUGGER             FETCH             MATHOPS  !forselected(^) !Spawn --name|@^(selected.character_name) --offset|0,{&math ((35 + (randib(1,350))) - @^(selected.top))/70 } --tokenProps|tint_color:@^(selected.tint_color), name:@^(selected.token_name), showname:@^(selected.showname), isdrawing:1 NOTES: Expected a number, a variable, or parentheses           LOOP 5  !forselected(^) !Spawn --name|@^(selected.character_name) --offset|0,{&math ((35 + (randib(1,350))) - @^(selected.top))/70 } --tokenProps|tint_color:@^(selected.tint_color), name:@^(selected.token_name), showname:@^(selected.showname), isdrawing:1           SELECTMANAGER             PLUGGER             FETCH             MATHOPS  !forselected(^) !Spawn --name|@^(selected.character_name) --offset|0,{&math ((35 + (randib(1,350))) - @^(selected.top))/70 } --tokenProps|tint_color:@^(selected.tint_color), name:@^(selected.token_name), showname:@^(selected.showname), isdrawing:1 NOTES: Expected a number, a variable, or parentheses           LOOP 6  !forselected(^) !Spawn --name|@^(selected.character_name) --offset|0,{&math ((35 + (randib(1,350))) - @^(selected.top))/70 } --tokenProps|tint_color:@^(selected.tint_color), name:@^(selected.token_name), showname:@^(selected.showname), isdrawing:1           SELECTMANAGER             PLUGGER             FETCH             MATHOPS  !forselected(^) !Spawn --name|@^(selected.character_name) --offset|0,{&math ((35 + (randib(1,350))) - @^(selected.top))/70 } --tokenProps|tint_color:@^(selected.tint_color), name:@^(selected.token_name), showname:@^(selected.showname), isdrawing:1 NOTES: Expected a number, a variable, or parentheses           OUTRO   FINAL MESSAGE  !forselected(^) !Spawn --name|@^(selected.character_name) --offset|0,{&math ((35 + (randib(1,350))) - @^(selected.top))/70 } --tokenProps|tint_color:@^(selected.tint_color), name:@^(selected.token_name), showname:@^(selected.showname), isdrawing:1