-
What do you want to achieve?
I want to use proximity prompts for a button and toggling a radio. -
What is the issue?
The issue is when I put it after the hold ends, it triggers both instead of one. -
What solutions have you tried so far?
I had one solution where I made separate scripts but it was not working.
Note: the scripts were from the Roblox developer hub tutorial Proximity Prompts (roblox.com)
Prompt events
local ProxmityPromptService = game:GetService("ProximityPromptService")
local Radiomusic = game.Workspace.map.props.radios.Radio1.Radiotrigger.song1
local proxmityprompt = game.Workspace.map.props.radios.Radio1.Radiotrigger.PromptAttachment
-- when it is triggered
local function onPromptTriggered(promptObject, player)
end
-- when the hold starts
local function onPromptHoldBegan(promptObject, player)
end
-- when the hold ends
local function onPromptHoldEnded (promptObject, player)
Radiomusic.Playing = true
proxmityprompt:Destroy()
end
ProxmityPromptService.PromptTriggered:Connect(onPromptTriggered)
ProxmityPromptService.PromptButtonHoldBegan:Connect(onPromptHoldBegan)
ProxmityPromptService.PromptButtonHoldEnded:Connect(onPromptHoldEnded)
Object actions
local ProximityPromptService = game:GetService("ProximityPromptService")
local ServerScriptService = game:GetService("ServerScriptService")
local ObjectActions = require(ServerScriptService.ObjectActions)
-- when it is triggered
local function onPromptTriggred(promptObject, player)
ObjectActions.promptTriggeredActions (promptObject, player)
end
-- when the hold starts
local function onPromptHoldBegan(promptObject, player)
ObjectActions.promptHoldBeganActions(promptObject, player)
end
-- when the hold ends
local function onPromptHoldEnded(promptObject, player)
ObjectActions.promptHoldEndedActions(promptObject, player)
end
-- connections
ProximityPromptService.PromptTriggered:Connect(onPromptTriggred)
ProximityPromptService.PromptButtonHoldBegan:Connect(onPromptHoldBegan)
ProximityPromptService.PromptButtonHoldEnded:Connect(onPromptHoldEnded)