The purpose of this script is to listen out for any changes in a value. Instead of copying and pasting it again and again, what is a method that I could use to simplify this? It needs to be easily accessed throughout the code.
Here is the code:
local Phobia1 = Phobias:WaitForChild("Phobia1")
local Phobia2 = Phobias:WaitForChild("Phobia2")
local Phobia3 = Phobias:WaitForChild("Phobia3")
local Phobia4 = Phobias:WaitForChild("Phobia4")
--{CHECK FUNCTION}--
local function CheckComplete(PhobiaBool)
local PhobiaText = ListFrame:FindFirstChild(tostring(PhobiaBool))
if PhobiaBool.Value then
PhobiaText.BackgroundColor3 = Color3.fromRGB(156,255,134)
else
PhobiaText.BackgroundColor3 = Color3.fromRGB(0,0,0)
end
end
--{FIRST UPDATE}--
CheckComplete(Phobia1)
CheckComplete(Phobia2)
CheckComplete(Phobia3)
CheckComplete(Phobia4)
--{LISTEN FOR CHANGE}--
Phobia1.Changed:Connect(function()
CheckComplete(Phobia1)
end)
Phobia2.Changed:Connect(function()
CheckComplete(Phobia2)
end)
Phobia3.Changed:Connect(function()
CheckComplete(Phobia3)
end)
Phobia4.Changed:Connect(function()
CheckComplete(Phobia4)
end)
Another section:
local P1 = ListFrame.Phobia1
local P2 = ListFrame.Phobia2
local P3 = ListFrame.Phobia3
local P4 = ListFrame.Phobia4
local P5 = ListFrame.Phobia5
local P6 = ListFrame.Phobia6
local P7 = ListFrame.Phobia7
local P8 = ListFrame.Phobia8
local P9 = ListFrame.Phobia9
local P10 = ListFrame.Phobia10