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
'CharacterAdded' is an RBXScriptSignal, not an Instance; you need to call the yielding method to appropriately hold for he signal's return:
'Player.Character or Player.CharacterAdded:Wait()'
It still doesn't work for some reaosn. Still don't get any errors.
Did you add ":Wait()" after "CharacterAdded" ? Capital letter is important
Yes.