Scripting Helpers is winding down operations and is now read-only. More info→
Ad
Log in to vote
0

OnTouched Event only running Once?

Asked by 7 years ago

Problem is that the following script (regular script in workspace) only runs the following function once, then even though I remove the gui from playergui it does not work I will post the script that removes the gui at the end

Script

local debounce = false
-- I have edited the script to leave out other things.
function getPlayer(humanoid) 
local players = game.Players:children() 
for i = 1, #players do 
if players[i].Character.Humanoid == humanoid then return players[i] end 
end 
return nil 
end 

function onTouch(part) 

local human = part.Parent:findFirstChild("Humanoid") 
local player = getPlayer(human) 

if player:WaitForChild('PlayerGui'):FindFirstChild('Gui')== nil then


local PlayerGui = player:WaitForChild('PlayerGui')
if (player == nil) then return end 
local Gui = script:WaitForChild('Gui')
Gui:Clone().Parent = PlayerGui


end
end


script.Parent.Touched:connect(onTouch) 

Other Script

script.Parent.MouseButton1Down:connect(function()



    script.Parent.Parent:Destroy()
end)

Answer this question