GUI购买多个按钮,装备物品,购买物品,并检查是否已有物品

时间:2016-02-11 21:36:15

标签: button scripting lua roblox

我发布的代码意味着做三件事:

  1. 按下buyButton时将item.DoesOwn.Value设置为true
  2. item.DoesOwn.Value为真时使equipButton可见
  3. 取消装备所有物品,然后在按下装备时装备所选物品。
  4. 问题:当我点击多个项目按钮,然后点击buyButton时,它会将所有按钮的DoesOwn.Value属性设置为true。我只想一次购买1件商品,并且只有在尚未拥有的情况下才能购买。在他们已经拥有该项目的同时装备1个项目也是如此。

    previewBox=script.Parent.PreviewImage
    itemLabel=script.Parent.ItemName
    priceLabel=script.Parent.PriceLabel
    
    equipButton=script.Parent.Equip
    buyButton=script.Parent.Buy
    
    knifeItems=script.Parent.KnifeFrame:GetChildren()
    
    function checkKnifeItems(button,buttons)
        previewBox.Image=button.Image
        itemLabel.Text=button.Name
    
        if button.DoesOwn.Value == true and button.Equipped.Value == false then 
    
            priceLabel.Visible=false
            equipButton.Visible=true
            equipButton.MouseButton1Down:connect(function()
                for i, v in pairs(buttons) do
                    buttons[i].Equipped.Value=false
                end
    
                button.Equipped.Value=true
                equipButton.Visible=false
                button.BackgroundColor3=Color3.new(0/277, 255/277, 127/277)
            end)
        elseif button.DoesOwn.Value == false then
            equipButton.Visible=false
            buyButton.Visible=true
            buyButton.MouseButton1Down:connect(function()
                button.DoesOwn.Value=true
                button.BackgroundColor3=Color3.new(255/277, 255/277, 255/277)
                buyButton.Visible=false
            end)
        end
    end
    
    for i,v in pairs (knifeItems) do
        v.MouseButton1Down:connect(function()checkKnifeItems(v,knifeItems) end)
    end
    

2 个答案:

答案 0 :(得分:0)

没关系,我把它修好了,这是简单的去抖问题。

答案 1 :(得分:0)

是的,我同意这是一个简单的问题。如果你投入几分钟的时间,你可以轻松修复它。如果你想要他的用户名,我在roblox上认识一个好的编码人:person299