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