Hey Atlas... I had a read through the code for that script, and it looks like if you don't supply a "player" argument, it uses the ID of the sender. If you supply a "player" argument, it assumes that you have supplied a name. It looks for the first player with that name and returns the associated ID. That tells me you are either supplying a "player" argument but the name of your player-identity and the name of your GM-identity are the same (so it is finding the player version, first)... or you aren't supplying any command but you're calling the MapChange script from another script (like as part of a ScriptCards command). Script messages sent *from* a script command do not have a value in the playerid property that matches a player. Those messages instead say, "API". So depending on what you have going, you can fix this by either renaming your GM or player name... or you can run the GM-version of this command without a player argument... or (if you are calling the MapChange command from within another script's command line) you can install the Metascript Toolbox and configure SelectManager to give those properties back to the message. Basically, after you install the toolbox, you'd run this command one time: !smconfig +playerid +who Then try it again. If your problems owed to you running MapChange from another script's command line, this will fix it.