What do you want to achieve? I made a Quest system and I made it so if you touch a certain part the Quest gets finished but nothing happens.
What is the issue? Everytime I try to touch the final Part, nothing runs. It is on a local script.
What solutions have you tried so far? I’ve tried making it a normal script but it would execute on the whole server. I also tried to change the “Part = script.Parent” to “local Part = script.Parent”
LocalScripts don’t run in Workspace unless parented to your Character
Also, changing stuff in StarterGui won’t affect what the player sees, because what they see is stored in game.Players.LocalPlayer.PlayerGui, which is where stuff in StarterGui gets copied to
.
You could try using a server script. Just add a part in the script that checks exactly which player has touched the part and then set the game up accordingly. I’m kinda guessing here since I do not really do super advanced scripting.
First of all replace the local script with a regular script then write in it:
local Part = script.Parent
Part.Touched:Connect(function(hit)
if hit.Parent.humanoid then
local plr = game.Players:GetPlayerFromCharacter(hit)
local Quest1 = plr.PlayerGui.Quest1
print("working")
Part.BillboardGui.arrow_downward.Visible = false
Part.BillboardGui.done.Visible = true
Quest1.Frame:Destroy()
Quest1.QuestFinished.Visible = true
end
end)
Maybe this works?
If it doesn’t tell me what errors show up in output.
Part.Touched:Connect(function(hit)
if hit.Parent:FindFirstChild(“Humanoid”) then
local plr = game.Players:GetPlayerFromCharacter(hit)
local Quest1 = plr.PlayerGui.Quest1
print(“working”)
Part.BillboardGui.arrow_downward.Visible = false
Part.BillboardGui.done.Visible = true
Quest1.Frame:Destroy()
Quest1.QuestFinished.Visible = true
end
end)