So I have this script that makes it when two values are true meaning that two players are touching two separate blocks (Thanks to SerpentineKing), the function finds the two players hitting the block and adds a GUI into their PlayerGUI. I am now trying to make it so when one of the people aren't touching one of the two blocks anymore, meaning one of the values become false, the GUI is destroyed from both player's PlayerGUI, and then this script will work when both players touch the two blocks again.
local model = script.Parent
local connect1 = model:WaitForChild("JoinBlock1")
local connect2 = model:WaitForChild("JoinBlock2")
local full1 = connect1:WaitForChild("Full")
local full2 = connect2:WaitForChild("Full")
local ss = game:GetService("ServerStorage")
local start1 = ss:WaitForChild("Start1")
local start2 = ss:WaitForChild("Start2")
local player1 = nil
local player2 = nil
local function CheckConnection()
if player1 and player2 and player1 ~= player2 and full1.Value == true and full2.Value == true then
local pgui1 = player1:WaitForChild("PlayerGui")
local pgui2 = player2:WaitForChild("PlayerGui")
if not pgui1:FindFirstChild("Start1") then
local clone1 = start1:Clone()
clone1.Parent = pgui1
end
if not pgui2:FindFirstChild("Start2") then
local clone2 = start2:Clone()
clone2.Parent = pgui2
end
end
end
local function CheckConnectionEnded()
if player1 and player2 and player1 ~= player2 and full1.Value == false or full2.Value == false then
local pgui1 = player1:WaitForChild("PlayerGui")
local pgui2 = player2:WaitForChild("PlayerGui")
if pgui1:FindFirstChild("Start1") then
start1:Destroy()
end
if pgui2:FindFirstChild("Start2") then
start2:destroy()
end
end
end
connect1.Touched:Connect(function(hit)
player1 = game:GetService("Players"):GetPlayerFromCharacter(hit.parent)
CheckConnection()
end)
connect2.Touched:Connect(function(hit)
player2 = game:GetService("Players"):GetPlayerFromCharacter(hit.parent)
CheckConnection()
end)
connect1.TouchEnded:Connect(function(ended)
player1 = game:GetService("Players"):GetPlayerFromCharacter(ended.parent)
CheckConnectionEnded()
end)
connect2.TouchEnded:Connect(function(ended)
player2 = game:GetService("Players"):GetPlayerFromCharacter(ended.parent)
CheckConnectionEnded()
end)
