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

Why won't the Button.Parent change to the right folder when a values changes?

Asked by
BashGuy10 384 Moderation Voter
5 years ago
Edited 5 years ago

Hi, so i've been trying to make a dependency system for my tycoon. I have made most of it, i have encountered a problem which is when i purchase the required item it wont change the parent of the button to a folder in workspace, which i dont know how to fix! Does anybody know a fix?

just a rblx studio screenshot https://gyazo.com/73502cb6c428ef238ec199c7da1554ec

Line 29 to 37 is dependency handling

My script

local tycoon = script.Parent
local buttons = tycoon.Buttons
local buyables = tycoon.Buyables
local bought = tycoon.Bought
local tycoonitems = game:GetService("ServerStorage").TycoonItems:FindFirstChild(tycoon.Name)
local required = tycoon.Required
local debounce = false

local door = required.Door

door["Touch To Claim"].Head.Touched:Connect(function(hit)
    local plr = game.Players:GetPlayerFromCharacter(hit.Parent)
    if plr and tycoon.Owner.Value == required.Floor then
        tycoon.Owner.Value = plr
        door["Touch To Claim"].Name = plr.Name.."'s Tycoon" 
    end
end)


for i, v in pairs(buttons:GetChildren()) do
    if v then



        v.Config.Object.Value.Parent = tycoonitems


        -- Dependency handling
        if v.Config.Dependency.Value then
            v.Parent = tycoonitems.Tycoon1Buttons
        end

        v.Config.Dependency.Changed:Connect(function()
            if not v.Config.Dependency.Value then
                v.Parent = buttons
            end
        end)


        v.Head.Touched:Connect(function(hit)
            local plr = game.Players:GetPlayerFromCharacter(hit.Parent)
            if not debounce and tycoon.Owner.Value == plr and not v.Config.Dependency.Value then

                if plr.leaderstats.Cash.Value >= v.Config.Price.Value then

                    debounce = true


                    plr.leaderstats.Cash.Value = plr.leaderstats.Cash.Value - v.Config.Price.Value


                    print("I've been touched!")
                    print("I can be placed!")

                    v.Config.Object.Value.Parent = bought

                    v:Destroy()



                    wait(1)
                    debounce = false
                end

            end
        end)
    end
end

Answer this question