How do I prevent Guis from cloning the same Gui twice?
Asked by
4 years ago Edited 4 years ago
So uh I have an inventory script and a backpack gui. Everything functions however in this link you will see a weird bug where all the items cloned twice. Does anyone know how to delete extra clones?
https://gyazo.com/22c8c5ba3b43124ef87678666f3f45cf
this is the backpack script:
01 | local player = game.Players.LocalPlayer |
02 | local character = player.Character |
05 | game.StarterGui:SetCoreGuiEnabled(Enum.CoreGuiType.Backpack, false ) |
08 | for i,v in pairs (game.Players.LocalPlayer.Backpack:GetChildren()) do |
16 | for i,v in pairs (buttons) do |
19 | for i,v in pairs (items) do |
20 | local button = script.Sample:Clone() |
22 | button.LayoutOrder = i |
23 | button.Parent = script.Parent.Handler |
24 | button.Image = v.TextureId |
26 | button.BackgroundColor 3 = Color 3. fromRGB( 50 , 50 , 50 ) |
27 | button.BorderColor 3 = Color 3. fromRGB( 25 , 25 , 25 ) |
28 | button.BorderMode = Enum.BorderMode.Inset |
29 | button.BorderSizePixel = 5 |
30 | table.insert(buttons,button) |
31 | button.MouseButton 1 Click:connect( function () |
32 | if script.Parent.Handler.Selected.Value = = nil or script.Parent.Handler.Selected.Value ~ = v then |
33 | script.Parent.Frame.ItemName.Text = v.Name |
34 | script.Parent.Frame.ImageLabel.Image = v.TextureId |
35 | script.Parent.Handler.Selected.Value = v |
36 | if script.Parent.Handler.Selected.Value ~ = script.Parent.Handler.Equipped.Value then |
37 | script.Parent.Handler.Location.Value = v.Parent |
38 | script.Parent.Frame.Equip.Text = "Equip" |
39 | elseif script.Parent.Handler.Selected.Value = = script.Parent.Handler.Equipped.Value then |
40 | script.Parent.Handler.Location.Value = v.Parent |
41 | script.Parent.Frame.Equip.Text = "Unequip" |
48 | function backpackRefresh() |
51 | search(player.Backpack) |
57 | player.Backpack.ChildAdded:connect(backpackRefresh) |
58 | player.Backpack.ChildRemoved:connect(backpackRefresh) |
60 | character.ChildAdded:connect(backpackRefresh) |
61 | character.ChildRemoved:connect(backpackRefresh) |