TL;DR Yep, I believe I can help. Given that you have installed SelectManager, Plugger, Muler, and ZeroFrame, you can (with a very little bit of setup) run this line out of It's A Trap: !token-mod --set name|"Boom-Shocka-Locka" {& select get.TRAP_ID}{& mule TrapList}{&eval}bump(){& /eval}{&0 get sm} (You may need to escape that as per the It's a Trap documentation... I will leave that as homework). =D Longer Explanation So... If you want to run Bump as a part of triggering the trap, you will have to restore a selected token to the bump call... that's SelectManager. It doesn't matter if you are on the Objects Layer or the GM Layer, and you don't have to specify the appropriate token for the layer you are on. In other words, if you know what the token id is of your trap token, you can do something like: !bump {& select -MYzJr9MytaS4Cxls_UM} (Note: again, all examples are shown as if they were clean calls, without the escaping that IaT requires... you will need to add that part) That will automatically flip those slaved tokens no matter what layer configuration they are in. I'm not sure if the TRAP_ID that IaT substitutes into the line is the same ID as the token that represents the trap, but if it is, you could use that in place of the actual ID: !bump {& select TRAP_ID} If the TRAP_ID is NOT the same as the token ID, you can translate the TRAP_ID through a Muled variable table to retrieve the token id to retrieve for the {&select...} . That would require Muler (and probably ZeroFrame, too)... see below. Last, if It's A Trap only allows for a single call to another API script, and you want to do both a bump and a token-mod (for instance), then you need to wrap the extras up as {& eval} statements -- which is the Plugger meta-script. Imagine putting the bump command *within* token-mod. It will run first -- at meta-script priority -- then token-mod will run: !token-mod --set name|"Boom-Shocka-Locka" {& select TRAP_ID}{& eval}bump(){& /eval} In this case, you would want to make sure that the TRAP_ID represented the token that token-mod actually needed to work on (the one destined for the Objects layer). If it actually represents the *other* token, then we for sure need to use the Mule to return the slaved token. Here's how to do that: 1. Set up a Mule (an ability, probably on a macro-mule character), named "TrapList" 2. When you set up a Trap, store the token id of the token-to-restore (the one that is revealed when the trap is sprung) as the value of a variable. The variable's name should be the TRAP_ID (or token id) of the trap token (the one that will be on the Object layer, but invisible). You can do this with a command line, but it's really just easier to copy/paste them in: CONTENTS OF TRAPLIST MULE:
------------------------------------------------
-MYzJr9MytaS4Cxls_UM=-MYzJfCNIaMhqtn1ANBI -MYzJr9Myta123456789=-MYzJfCNIaMabcdefghi Then add the Muler syntax to your line... {& mule TrapList}
...and...
get.TRAP_ID ...and since you have to have the variable retrieved before SelectManager selects the token for you, put in an order statement for ZeroFrame to make sure they operate in the correct order for this call: {&0 get sm} When you're all said and done, you have a line that looks like this: !token-mod --set name|"Boom-Shocka-Locka" {& select get.TRAP_ID}{& mule TrapList}{&eval}bump(){& /eval}{&0 get sm} CAVEAT: One thing I have to look at is whether that selected token is handed off to the {& eval} script when it is called. I *know* it is if the eval-ed script is registered as a plugin to ZeroFrame... but I think it might also be available if you have SelectManager installed and configured to automatically hand off/restore the selected tokens from the last set of selected tokens (ie, those established when the token-mod call is made and the {& select...} token is parsed). I will add the ability to use a defer/escape character with the {& eval} statement tonight... so that if you needed to, you could make sure that the constructions you escaped in that way wouldn't be parsed until the downstream, eval-ed script runs... e.g., a second {& select ...} statement