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

Why won't my button's equipped textlabel work?

Asked by 6 years ago

I have a GUI shop that has buttons. The button's are there to buy weapons, when you own it and then click it again, it displays a text label "Equipped". I made a script so that it can show only one weapon already equipped, meaning once one button is clicked the text label of the button you clicked says "equipped", the other text labels that say equipped are invisible. The problem is that the equipped text labels aren't disappearing after clicking the buttons. What did I do wrong?

This is the equipped text label's script:

local player = game.Players.LocalPlayer
local sword = player:WaitForChild("PersonalSword")
if sword.Value == "Darkheart" then
    script.Parent.Visible = true

else
    script.Parent.Visible = false
end

This is the button's script:

local MarketplaceService = game:GetService("MarketplaceService")
local player = game.Players.LocalPlayer
local points = player:WaitForChild("leaderstats")["Player Points"]
local value = 2500 -- edit here
local name = "DarkHeartSword" -- here
local altname = "Darkheart"
local swords = script.Parent.Parent:GetChildren()
function TweenReceipt()
    local debounce = false

    if debounce == false then
        debounce = true
    script.Parent.Parent.Parent.MoneyNeeded.Visible = true
    script.Parent.Parent.Parent.MoneyNeeded.Amount.Text = value - points.Value
    script.Parent.Parent.Parent.MoneyNeeded:TweenPosition(UDim2.new(0, 300, 0, -100),"Out", "Quart", 1.5)
    wait(2.5)
    script.Parent.Parent.Parent.MoneyNeeded:TweenPosition(UDim2.new(0, 1300, 0, -100), "Out", "Quart", 0.2)
    script.Parent.Parent.Parent.MoneyNeeded.Position = UDim2.new(0, -1000, 0, -100)
    script.Parent.Parent.Parent.MoneyNeeded.Visible = false

    end
    debounce = false
end
script.Parent.MouseButton1Click:connect(function()
    if not player.Swords:FindFirstChild(altname) then -- edit here

        if points.Value >= value then -- buying clause
        points.Value = points.Value - value
        local Sword = Instance.new("BoolValue", player.Swords)
        Sword.Name = altname -- here
        script.Parent.Owned.Visible = true
        else
            TweenReceipt()
        end
    elseif script.Parent.Equipped.Visible == false then
        for i, v in pairs(swords) do
        if v.Name ~= name then
        v.Equipped.Visible = false
        script.Parent.Equipped.Visible = true
        player.Swords.Darkheart.Value = true -- edit here
        player.PersonalSword.Value = altname
        end
        end

    elseif script.Parent.Equipped.Visible == true then
    player.Swords.Darkheart.Value = false -- edit here too

    end


end)
if player:WaitForChild("Swords"):FindFirstChild(altname) then -- final edit
    script.Parent.Owned.Visible = true
end

0
Put a CurrentlyEquipped variable. hiimgoodpack 2009 — 6y
0
The currentlyequipped variable is the sword value bigbenbennett 18 — 6y

Answer this question