I'm struggling to make a variable which will assign the correct user as the controller of a token. I can hard-assign players just fine, but for some reason it keeps assigning me as the controller, even when slice[2] should be someone else. Here's some snippets of the code: (playerids and character names removed for privacy/security reasons) var controller = "nobody"; if (slice[2] != undefined) { if (slice[2].toLowerCase() == "player1") { controller = [playerid]; } if (slice[2].toLowerCase() == "player2") { controller = [playerid]; } if (slice[2].toLowerCase() == "player3" || "player4") { controller = [playerid]; //two players are sharing a machine/account } else { controller = [playerid]"; //Dungeon Master } } if (slice[1].toLowerCase() == 'placeholder') { createObj("graphic", { name: "Placeholder", controlledby: controller, left: tok.get("left")+70, top: tok.get("top"), width: 70, height: 70, bar1_value: 1, bar1_max: 1, bar2_value: 1, bar2_max: 1, showname: true, showplayers_name: true, showplayers_bar1: true, showplayers_bar2: true, showplayers_aura1: true, showplayers_aura2: true, aura2_radius: 0, aura2_square: true, imgsrc: "<a href="https://s3.amazonaws.com/files.d20.io/images/47531147/iaQFtK_rVmbCxtdnVH86fg/thumb.png?1518255628" rel="nofollow">https://s3.amazonaws.com/files.d20.io/images/47531147/iaQFtK_rVmbCxtdnVH86fg/thumb.png?1518255628</a>", //Player Token image pageid: tok.get("pageid"), layer: "objects" }); sendChat("Summon Script", "A Placeholder was summoned. Please fill in the correct information."); } The Macro Button is currently written as: !summon ?{Summon What?|Placeholder|AirElemental|EarthElemental|FireElemental|WaterElemental|GiantElk} ?{Who are you?|Player1|Player2|Player3|Player4} As always, many thanks in advance!