local function m(m,U)local q if type(m)=="\115\116\114\105\110\103"then q=Instance_new(m)else q=m end for m,U in pairs(U)do if type(m)=="\110\117\109\098\101\114"then U.Parent=q else q[m]=U end end return q end local U=false local q={}function createDDown(m,n,...)if U then for m,U in pairs(q)do U:Destroy()end q={}U=false return else U=true end local s=table.pack(...)local Q=m for J,h in ipairs(s)do local K=Q:Clone()K.ZIndex=5 K.Name="\079\112\116\105\111\110 "..tostring(J)K.Parent=Q.Parent.Parent.Parent K.BackgroundTransparency=0 K.BackgroundColor3=Color3.fromRGB(24,24,29)K.BorderSizePixel=0 K.ZIndex=2 table.insert(q,K)K.Position=UDim2_new(-0.4,m.Position.X.Offset,m.Position.Y.Scale,m.Position.Y.Offset+#q*m.Size.Y.Offset)K.Text=s[J]K.MouseButton1Down:connect(function()m.Text=s[J]n(s[J])for m,U in pairs(q)do U:Destroy()end q={}U=false end)end end
----------------------------------------------------------------
----------------------------------------------------------------
----------------------------------------------------------------
----------------------------------------------------------------
----------------------------------------------------------------

local function Create(ty, data)
	local obj
	if type(ty) == "string" then
		obj = Instance_new(ty)
	else
		obj = ty
	end
	for k, v in pairs(data) do
		if type(k) == "number" then
			v.Parent = obj
		else
			obj[k] = v
		end
	end
	return obj
end

local barActive = false
local activeOptions = {}

function createDDown(dBut, callback, ...)
	if barActive then
		for i, v in pairs(activeOptions) do
			v:Destroy()
		end
		activeOptions = {}
		barActive = false
		return
	else
		barActive = true
	end
	local slots = table.pack(...)
	local base = dBut
	for i, v in ipairs(slots) do
		local newOption = base:Clone()
		newOption.ZIndex = 5
		newOption.Name = "Option " .. tostring(i)
		newOption.Parent = base.Parent.Parent.Parent
		newOption.BackgroundTransparency = 0
		newOption.BackgroundColor3 = Color3.fromRGB(24, 24, 29)
		newOption.BorderSizePixel = 0
		newOption.ZIndex = 2
		table.insert(activeOptions, newOption)
		newOption.Position = UDim2_new(
			-0.4,
			dBut.Position.X.Offset,
			dBut.Position.Y.Scale,
			dBut.Position.Y.Offset + (#activeOptions * dBut.Size.Y.Offset)
		)
		newOption.Text = slots[i]
		newOption.MouseButton1Down:connect(function()
			dBut.Text = slots[i]
			callback(slots[i])
			for i, v in pairs(activeOptions) do
				v:Destroy()
			end
			activeOptions = {}
			barActive = false
		end)
	end
end
