I have got another script that keeps toggling the ClickTog on and off ( true and off). And when it is true I want the ClickDetector's MaxActivationDistance to be 15 and when it is false it'll be 0. Here's what I came up with so far.
local ClickDet = script.Parent.ClickDetector local ClickTog = script.Parent.ClickToggle while true do if ClickTog.Value == true then ClickDet.MaxActivationDistance = 15 else ClickDet.MaxActivationDistance = 0 end end
The ClickToggle is a Bool Value and both the ClickDetector and the ClickToggle have the same parent. The script for the toggling of the Bool Value works just fine but this one makes it so even if the Bool Value is false the MaxActivationDistance is still 15 as if it was true.
Its probably because you didnt add a wait()
, otherwise the script crashes and possibly studio too
Use this simple fixed script:
local ClickDet = script.Parent.ClickDetector local ClickTog = script.Parent.ClickToggle while true do wait() if ClickTog.Value == true then ClickDet.MaxActivationDistance = 15 else ClickDet.MaxActivationDistance = 0 end end
I think using while true do isn't very efficient so here is my way how to do it
local ClickDet = script.Parent.ClickDetector local ClickTog = script.Parent.ClickToggle ClickTog.Changed:Connect(function() -- Will run if ClickTog property has changed if ClickTog.Value == true then ClickDet.MaxActivationDistance = 15 else ClickDet.MaxActivationDistance = 0 end end)