function Create(H,G)local n if type(H)=="\115\116\114\105\110\103"then n=Instance.new(H)else n=H end for H,G in pairs(G)do if type(H)=="\110\117\109\098\101\114"then G.Parent=n else n[H]=G end end return n end local H=false local G={}function createDDown(n,Q,...)if H then for H,G in pairs(G)do G:Destroy()end G={}H=false return else H=true end local O={...}local Y=n for u,e in pairs(O)do local t=Y:Clone()t.ZIndex=5 t.Name="\079\112\116\105\111\110 "..tostring(u)t.Parent=Y.Parent.Parent.Parent t.BackgroundTransparency=0 t.ZIndex=2 table.insert(G,t)t.Position=UDim2.new(-0.4,n.Position.X.Offset,n.Position.Y.Scale,n.Position.Y.Offset+#G*n.Size.Y.Offset)t.Text=O[u]t.MouseButton1Down:connect(function()n.Text=O[u]Q(O[u])for H,G in pairs(G)do G:Destroy()end G={}H=false end)end end
----------------------------------------------------------------
----------------------------------------------------------------
----------------------------------------------------------------
----------------------------------------------------------------
----------------------------------------------------------------

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 = { ... }
	local base = dBut
	for i, v in pairs(slots) do
		local newOption = base:Clone()
		newOption.ZIndex = 5
		newOption.Name = "Option " .. tostring(i)
		newOption.Parent = base.Parent.Parent.Parent
		newOption.BackgroundTransparency = 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
