I have a server script inside of a proximity prompt

The hold duration is 5 seconds if that's important. I don't get any errors.

The script is here:

local ReplicatedStorage = game:GetService("ReplicatedStorage")

local function heal(player)

	local character = player.Character or player.CharacterAdded
	local humanoid = character.Humanoid
	local health = humanoid.Health

	humanoid.Health = 100

end

local function inputBegan(player)

	local character = player.Character or player.CharacterAdded
	local humanoid = character.Humanoid
	local health = humanoid.Health

	humanoid.WalkSpeed = 0

end

local function inputEnded(player)

	local character = player.Character or player.CharacterAdded
	local humanoid = character.Humanoid
	local health = humanoid.Health

	humanoid.WalkSpeed = 16

end
script.Parent.Triggered:Connect(heal)
script.Parent.PromptButtonHoldBegan:Connect(inputBegan)
script.Parent.PromptButtonHoldEnded:Connect(inputEnded)

5 comments

0

'CharacterAdded' is an RBXScriptSignal, not an Instance; you need to call the yielding method to appropriately hold for he signal's return:

0

'Player.Character or Player.CharacterAdded:Wait()'

0

It still doesn't work for some reaosn. Still don't get any errors.

0

Did you add ":Wait()" after "CharacterAdded" ? Capital letter is important

0

Yes.