ProximityPrompt Shown and Hidden events not working

Hello, I am creating a tycoon game.
In this script, It allows the player to claim a tycoon. However, The code that makes sure the textlabel does not overlap with the prompt does not work.
I tried putting the code labeled “Problem Code” in a local script but it still did not work.
Here is my code:

--Problem Code
script.Parent.Door.ProximityPrompt.PromptShown:Connect(function() --Hide
	print('You dont see')
	script.Parent.Door.BillboardGui.Enabled = false
script.Parent.Door.ProximityPrompt.PromptHidden:Connect(function() --Show
	print('You now see')
	script.Parent.Door.BillboardGui.Enabled = true
	if script.Parent.Owner.Value ~= '' then
	script.Parent.Door.ProximityPrompt.Enabled = false
	script.Parent.Owner.Value = player.Name
	script.Parent.Door.BillboardGui.TextLabel.Text = 'Owner: '.. player.Name
	script.Parent.Door.Transparency = 0.6
	script.Parent.Door.CanCollide = false

Does anyone know why the problem code does not show or hide the text label for when its either shown or hidden, even when in a local script?

If I were to guess, those events are only available on the client. Checking the documentation for ProximityPrompt could also help.

They say in their post they tried it on the client.

Anyway. Thought I’d bump this post for others who had the same problem. Localscripts cannot run in the workspace, and this PromptShown/PromptHidden event runs client-only.

From what I can tell, you can either have a event connected to it from the ProximityPrompt itself.

Or from the service itself, which lets you connect to all events fired from ProximityPrompts: