local Eye = {[1]= "Left Eye", [2]= "Right Eye"} local Fur = {[1]="F-L Leg", [2]="F-R Leg", [3]= "F-Left Paw", [4]= "F-R Paw", [5]="B-L Leg",[6]="B-R Leg", [7]="B-L Paw", [8]="B-R Paw", [9]="Head",[10]="Inner Ears",[11]="Outer Ear L",[12]="Outer Ear R",[13]="Muzzle Bottom",[14]="Muzzle Top",[15]="Neck",[16]="Tail Top",[17]="Tail Bottom"} local Nose = {[1]= "Nose"} script.Parent.Target.Changed:connect(function() if script.Parent.Target.Value == Eye[1] or Eye[2] then script.Parent.EyeColors.Visible = true script.Parent.FurColors.Visible = false script.Parent.NoseColors.Visible = false print(script.Parent.EyeColors.Name) elseif script.Parent.Target.Value == Fur[1] or Fur[2] or Fur[3] or Fur[4] or Fur[5] or Fur[6] or Fur[7] or Fur[8] or Fur[9] or Fur[10] or Fur[11] or Fur[12] or Fur[13] or Fur[14] or Fur[15] or Fur[16] or Fur[17] then script.Parent.FurColor.Visible = true script.Parent.EyeColors.Visible = false script.Parent.NoseColors.Visible = false print(script.Parent.FurColors.Name) elseif script.Parent.Target.Value == Nose[1] then script.Parent.NoseColors.Visible = true script.Parent.EyeColors.Visible = false script.Parent.FurColors.Visible = false print(script.Parent.NoseColors.Name) end end) --This is my first time trying at using tables, if I'm using them wrong, let me know! Thanks!
I didn't read through everything, but this line is definitely a problem...
elseif script.Parent.Target.Value == Fur[1] or Fur[2] or Fur[3] or Fur[4] or Fur[5] or Fur[6] or Fur[7] or Fur[8] or Fur[9] or Fur[10] or Fur[11] or Fur[12] or Fur[13] or Fur[14] or Fur[15] or Fur[16] or Fur[17] then
Alright, first of all, EW!
Second of all, it won't work. or
separates two different, unique conditions, so you have to state two unique conditions. You have this problem on line 5 as well.
elseif script.Parent.Target.Value == Fur[1] or script.Parent.Target.Value == Fur[2]
But don't do this, because it will make the code even more OCD-murdering. You have two options to clean this up.
First is we use a for loop to go through the entire table and see if we have a match. It would be best to put it in a function.
function check(table, lookFor) for i, v in pairs(table) do if lookFor == v then return true end end end
Your second options is to use a dictionary, making the value true
and the key whatever you want.
local dictionary = { ["a"] = true, ["b"] = true } if dictionary["a"] then --since dictionary["a"] equals true, the condition will pass