I am making a keycard door from prison life 0.6, with my own code. Unfortunately adding the sound thing might have the problem, but I want it to play if the keycard touches the scanner.
Code:
script.Parent.Touched:Connect(function(hit) if hit.Parent.Name == "Admissions Keycard" then script.Parent.keyscanner.Union.CanCollide = false script.Parent.keyscanner.Union.Transparency = 1 script.Parent.Sound.Playing = true wait(2) script.Parent.Sound.Playing = false script.Parent.keyscanner.Union.CanCollide = true script.Parent.keyscanner.Union.Transparency = 0 end end)
Any fixes?
Note I want the "scan" part material to neon, then 2 seconds and go back to smoothplastic.
Theres a simple fix to this. According to the API page, the property Playing
only indicates if the sound is playing or not. I would guess that you can't actually make it play by changing that variable.
Instead, try doing this:
local Sound = script.Parent:WaitForChild("Sound") --Making sure its loaded in Sound:Play() --play the sound wait(2) Sound:Stop() --stop the sound
Hope this helped.
Well actually hit.Parent recognizes it as the 'Handle' part, but you said it was the tools name, which is actually hit.Parent.Parent.
script.Parent.Touched:Connect(function(hit) if hit.Parent.Name == "Admissions Keycard" then script.Parent.keyscanner.Union.CanCollide = false script.Parent.keyscanner.Union.Transparency = 1 script.Parent.Sound:Play() wait(2) script.Parent.Sound:Stop() script.Parent.keyscanner.Union.CanCollide = true script.Parent.keyscanner.Union.Transparency = 0 end end)
Use instead .Playing > :Play() or :Stop()