Ok, so I'm making a tycoon kit and I have a dependency thing so buttons don't appear until all the requirements are met. All the button's parents get set to nil to start with and this is my script for checking the dependencies for each button:
function checkDependancies() for i,v in pairs(buttonsData) do local Amount = true local Speed = true local Objects = true print(" "..v[2].Name) if v["Dependant"] ~= nil then if v.Dependant["Income"] ~= nil then if v.Dependant.Income["Amount"] ~= nil then if script.Parent.IncomeAmount < v.Dependant.Income.Amount then Amount = false print("IncomeAmount was less than the required") -- When this is printed the Amount variable still appears to be false! else print("IncomeAmount was more than the required") end else print("Amount not found") end if v.Dependant.Income["Speed"] ~= nil then if script.Parent.IncomeSpeed > v.Dependant.Income.Speed then Speed = false print("IncomeSpeed was more than the required") -- When this is printed the Speed variable still appears to be false! else print("IncomeSpeed was less than the required") end else print("Speed not found") end else print("Income not found") end if v.Dependant["Objects"] ~= nil then for i1,v1 in pairs(v.Dependant.Objects) do if purchasedObjects:FindFirstChild(v1) == nil then Objects = false print(v1.Name.." not found") -- When this is printed the Objects variable still appears to be false! break else print(v1.Name.." found") end end else print("Objects not found") end else print("Depentant not found") end print(Amount) print(Speed) print(Objects) if Amount == true and Speed == true and Objects == true then v[1].Parent = v[2] else v[1].Parent = nil end end end
This doesn't return what I want it to, I put the prints in there to see what happens. It doesn't give any errors but the output is odd, even when the print that's next to setting the variable to false prints, the variable still appears to be true. I'm not sure why this is, here's my output:
Owner Door - 500 Income not found Objects not found true true true Increase Income Speed (-1) - 100 Depentant not found true true true Increase Income Speed (-1) - 300 Income not found Objects not found true true true Increase Income Amount (+10) - 100 Depentant not found true true true Increase Income Amount (+10) - 300 Income not found Objects not found true true true Upgrade Walls - 200 Income not found Objects not found true true true Build Walls - 100 Depentant not found true true true