Im trying to make an inventory system but i cant figure out how to make ### Gui adaptive on its own. like someone picks up something I need it to add a label then when they drop it it removes it and moves everything up. I know how to make my script below add one when I pick something up but how do I make it adapt when I drop something?
-- A neat way to store all your buttons
local Buttons = {}
-- Assuming this is where the scrolling frame is
local Scroll = script.Parent
-- Create a new button
local function NewButton()
-- Parent the button
local Button = Instance.new("TextButton",Scroll)
-- Make sure you size it before you position it
Button.Size = UDim2.new(1,0,0,25)
-- Position the button based off the amount created, times it's Y offset size
Button.Position = UDim2.new(0,0,0,#Buttons*Button.Size.Y.Offset)
-- Return the button
return Button
end
-- Create one every 1 second
while wait() do
-- Created a new button which is already sized, positioned, and parented.
local Button = NewButton()
-- If the button's Position Y Offset plus it's Size Y Offset is greater than the ScrollingFrame's AbsolutePosition Y, then ...
if Button.Position.Y.Offset+Button.Size.Y.Offset > Scroll.AbsoluteSize.Y then
-- Set the canvas size to the product of buttons and it's individual size Y offset, plus it's original size (since the first button created is at position 0,0,0,0)
Scroll.CanvasSize = UDim2.new(0,0,0,#Buttons*Button.Size.Y.Offset+Button.Size.Y.Offset)
-- If it doesn't exeed the scroll frame, then...
else
-- Set it's scrolling size back to 0.
Scroll.CanvasSize = UDim2.new(0,0,0,0)
end
-- Insert the button to the table.
Buttons[#Buttons+1] = Button
end

1 comment
Anyone?