Anyways, sometimes the character loads before the script runs, you should do this:
local function CharacterAdded(Character)
local DetainPrompt = Instance.new("ProximityPrompt")
DetainPrompt.Name = "DetainPrompt"
DetainPrompt.Enabled = true
DetainPrompt.RequiresLineOfSight = false
DetainPrompt:SetAttribute("ActionType", "Detain")
DetainPrompt.Parent = Character.HumanoidRootPart
end
Players.PlayerAdded:Connect(function(Player)
if Player.Character then CharacterAdded(Player.Character) end -- fires the function if character already spawned
Player.CharacterAdded:Connect(CharacterAdded)
end)