How to create ProximityPrompt in HumanoidRootPart when Player spawns?

I have a problem, that when I write:

Players.PlayerAdded:Connect(function(Player)
	Player.CharacterAdded:Connect(function(Character) -- also i tried a "CharacterAppearanceLoaded" 
		local DetainPrompt = Instance.new("ProximityPrompt")
		DetainPrompt.Name = "DetainPrompt"
		DetainPrompt.Enabled = true
		DetainPrompt.RequiresLineOfSight = false
		DetainPrompt:SetAttribute("ActionType", "Detain")
		DetainPrompt.Parent = Character.HumanoidRootPart
	end)
end)

image
And it doesn’t show up sometimes.
I know, that I can do it by creating ProximityPrompt in StarterPlayerCharacter, but I need especially by script.

1 Like

This belongs to #help-and-feedback:scripting-support


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)
2 Likes

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.