Hi Bren, First off, you're talking about writing a macro , not a script . A macro is a collection of commands you could just type into the chat, but save as a single collection to activate with the press of a button. A script is written in JavaScript, and runs in the sandbox to interact with your campaign behind the scenes. It requires access to the Scripting API, a Mentor level feature. With that out of the way, lets try to fix your problem. =D Can you post your actual output from the command? When I run it I get something like this: Aaron (GM) Drenach Attacks 16 This is because /em gets replaced by my current As: setting of "Aaron (GM)", my selected character is "Drenach", and the targeted creature has an AC of 16. If you run this command: /em <--AS] Selected: [@{selected|token_name}] Targeted AC: [@{target| |AC}] It should make this more clear. Here's my output: Aaron (GM) <--AS] Selected: [Drenach] Targeted AC: [16] As the GM, you can use the /emas command to select someone to attack as like this: /emas @{selected|token_name} Attacks @{target| |AC} Drenach Attacks 16 But that option is not available to your players. Possible work arounds: You can do this sort of thing with the API, as it runs with the GM's level of access, and you can have it send /emas commands all you want. It is a bit more complicated, but there are actually quite a few scripts that make use of this (HoneyBadger's most excellent Power Cards Script being foremost among them.). You can have all your players change their names in the settings to whatever their character is (or change their speaking As: setting). Obviously of limited utility if you have multiple tokens to control, etc. You can proceed with the macro as you have it written and ignore the names of the players, or possibly have them change their names to be short and innocuous, like 'A', 'J', etc. Hope that helps!