Touch part for GUI (Solved)

yes exactly like how u explained

oh maybe cuz you tried that in a diff stage. we only made changes to the 1st stage script.

oh OHHH YE I FORGOT TO ADD THAT TO THE OTHER SCRIPTS, SORRY FOR WASTING TIME

wait i have a better way to do that instead of copying and pasting again and again.

can you tell me where all of the stages are located? is it in workspace or in a folder

what is ur BRILLIANT idea’?? like lol u already did to much

In a folder in workspace like in a stage folder

nvm i changed it all and still doesn’t work, like the script disabled for all clients

put your Popup gui in replicatedstorage
and put this script in ServerScriptService

local Popup = game.ReplicatedStorage.ScreenGui
local StagesFolder = game.Workspace.Stages
for i,v in pairs(StagesFolder:GetChildren())
if v:IsA("BasePart") then
v.Touched:Connect(function(hit)
if not hit.Parent:FindFirstChild("Humanoid") then return end
local plr = game.Players:GetPlayerFromCharacter(hit.Parent)
if plr.leaderstats.Stage.Value < tonumber(v.Name) then
local c = Pop:Clone()
c.Parent = plr.PlayerGui
wait(3)
c:Destroy()
end
end)
end

its different gui types like the background color is different

the player1 and player2 problem is still there

no, you don’t have to disable the script in here.

What do you mean, and like how do you do that the script destroys only for the client that actually like runs the script, that likes touches the part

you don’t have to destroy the script. also you can’t destroy the script from the client, the script will still run
you can paste this in every script or just do what i said above.

local Popup = script.Parent.ScreenGui
local Ready = false
function onTouch(hit)
if not hit.Parent:FindFirstChild("Humanoid") then return end
local plr = game.Players:GetPlayerFromCharacter(hit.Parent)
if plr.leaderstats.Stage.Value < tonumber(script.Parent.Name) then
local c = Pop:Clone()
c.Parent = plr.PlayerGui
wait(3)
c:Destroy()
end
end

idk how other obby’s do that only for the client then lol

you can change this script to a localscript then delete it later.
but you have to change the localscript’s location to StarterCharacterScript.
cuz local scripts doesn’t run in workspace.

hm alright uhm thats sad that u cant stop the script for the client

can u join my game for me to show what I mean

why don’t you just show the gui everytime the player reaches a new checkpoint
(the script where you increase the player’s stage value)

ye but after the player touches the checkpoint they will keep seeing the gui and if they rejoin to so like