Scripting HelpersARCHIVE
A little piece of Roblox history. Preserved for everyone, one question at a time.Read about the archive →
COMMUNITY QUESTION

Script works in studio test but not in the actual game?

This script is supposed to play a sound when touching a brick, while stopping other sounds

script.Parent.Touched:connect(function(hit)
if hit.Parent:FindFirstChild("Humanoid")then
	game.Players[hit.Parent.Name].PlayerGui.Sound1.Volume = 1
	game.Players[hit.Parent.Name].PlayerGui.Sound1:Play()
	game.Players[hit.Parent.Name].PlayerGui.Sound2:Stop()
end
end)

However, when tested on roblox studio it works perfectly fine but when in the actual roblox game it fails to do anything.

I'm new to scripting so it's been a pain trying to figure out whats wrong with this script, please send help!

1 answer

Try using GetPlayerFromCharacter, like so:

script.Parent.Touched:connect(function(hit)
if hit.Parent:FindFirstChild("Humanoid")then
    player = game.Player:GetPlayerFromCharacter(hit.Parent)
    player.PlayerGui.Sound1.Volume = 1
    player.PlayerGui.Sound1:Play()
    player.PlayerGui.Sound2:Stop()
end
end)

1 comment

0

Using that script it stops working entirely both in game and in studio

This discussion is preserved as it was. New answers, comments, and votes are closed.