Yes Clickdetectors can use a script or a local script to receive user input. It works, but it’s a matter of what it’s receiving that doesn’t.
You need to get the local player who clicked it. You’re passing through two different arguments, in this case, “plr” and players", with no correlation.
local player = Players.LocalPlayer
robot.Parent = game.Players.LocalPlayer.Backpack