Run it
Copy the script and paste it into your executor.
Players = :()
RunService = :()
UserInputService = :()
LocalPlayer = Players.LocalPlayer
PlayerGui = LocalPlayer:()
W, H = ,
D =
DISTANCE =
TOGGLE_KEY = .KeyCode.K
SPRING_STIFFNESS =
SPRING_DAMPING =
panelOffset = .(, , -DISTANCE)
currentVel = .()
libraryVisible =
existingFolder = :()
existingFolder existingFolder:()
existingGui = PlayerGui:()
existingGui existingGui:()
folder = .()
folder.Name =
folder.Parent =
glassPart = .()
glassPart.Name =
glassPart.Material = .Material.Glass
glassPart.Color = .(, , )
glassPart.Transparency =
glassPart.Anchored =
glassPart.CanCollide =
glassPart.CanQuery =
glassPart.CanTouch =
glassPart.CastShadow =
glassPart.Size = .(W, H, D)
glassPart.Parent = folder
glassMesh = .()
glassMesh.MeshType = .MeshType.Brick
glassMesh.Scale = .(, , -)
glassMesh.Parent = glassPart
hl = .()
hl.Name =
hl.FillTransparency =
hl.OutlineTransparency =
hl.DepthMode = .HighlightDepthMode.AlwaysOnTop
hl.Adornee = glassPart
hl.Parent = glassPart
overlayPart = .()
overlayPart.Name =
overlayPart.Material = .Material.SmoothPlastic
overlayPart.Transparency =
overlayPart.Anchored =
overlayPart.CanCollide =
overlayPart.CanQuery =
overlayPart.CanTouch =
overlayPart.CastShadow =
overlayPart.Size = .(W, H, )
overlayPart.Parent = folder
surfaceGui = .()
surfaceGui.Name =
surfaceGui.Face = .NormalId.Back
surfaceGui.CanvasSize = .(, )
surfaceGui.LightInfluence =
surfaceGui.AlwaysOnTop =
surfaceGui.ResetOnSpawn =
surfaceGui.Adornee = overlayPart
surfaceGui.Parent = PlayerGui
mainFrame = .()
mainFrame.Name =
mainFrame.Size = .(, )
mainFrame.BackgroundTransparency =
mainFrame.Parent = surfaceGui
bgImage = .()
bgImage.Name =
bgImage.Size = .(, )
bgImage.Position = .(, )
bgImage.BackgroundTransparency =
bgImage.Image =
bgImage.ImageTransparency =
bgImage.ScaleType = .ScaleType.Crop
bgImage.ZIndex =
bgImage.Parent = mainFrame
bgCorner = .()
bgCorner.CornerRadius = .(, )
bgCorner.Parent = bgImage
rimStroke = .()
rimStroke.Thickness =
rimStroke.Color = .(, , )
rimStroke.Transparency =
rimStroke.ApplyStrokeMode = .ApplyStrokeMode.Border
rimStroke.Parent = mainFrame
rimCorner = .()
rimCorner.CornerRadius = .(, )
rimCorner.Parent = mainFrame
headerTitle = .()
headerTitle.Size = .(, -, , )
headerTitle.Position = .(, , , )
headerTitle.BackgroundTransparency =
headerTitle.Font = .Font.GothamBold
headerTitle.Text =
headerTitle.TextColor3 = .(, , )
headerTitle.TextSize =
headerTitle.TextXAlignment = .TextXAlignment.Left
headerTitle.ZIndex =
headerTitle.Parent = mainFrame
tabNav = .()
tabNav.Size = .(, , , -)
tabNav.Position = .(, , , )
tabNav.BackgroundTransparency =
tabNav.ZIndex =
tabNav.Parent = mainFrame
tabNavLayout = .()
tabNavLayout.Padding = .(, )
tabNavLayout.SortOrder = .SortOrder.LayoutOrder
tabNavLayout.Parent = tabNav
contentArea = .()
contentArea.Size = .(, -, , -)
contentArea.Position = .(, , , )
contentArea.BackgroundTransparency =
contentArea.ZIndex =
contentArea.Parent = mainFrame
button3DParts = {}
(guiElement)
elementPart = .()
elementPart.Name =
elementPart.Material = .Material.Glass
elementPart.Color = .(, , )
elementPart.Transparency =
elementPart.Anchored =
elementPart.CanCollide =
elementPart.CanQuery =
elementPart.CastShadow =
elementPart.Size = .(, , )
elementPart.Parent = folder
mesh = .()
mesh.MeshType = .MeshType.Brick
mesh.Scale = .(, , -)
mesh.Parent = elementPart
elementHl = .()
elementHl.FillTransparency =
elementHl.OutlineTransparency =
elementHl.DepthMode = .HighlightDepthMode.AlwaysOnTop
elementHl.Adornee = elementPart
elementHl.Parent = elementPart
.(button3DParts, {part = elementPart, gui = guiElement})
(guiElement)
cam = .CurrentCamera
cam
mousePos = UserInputService:()
unitRay = cam:(mousePos.X, mousePos.Y)
rayParams = RaycastParams.()
rayParams.FilterType = .RaycastFilterType.Include
rayParams.FilterDescendantsInstances = {overlayPart}
result = :(unitRay.Origin, unitRay.Direction * , rayParams)
result
localHit = overlayPart.CFrame:(result.Position)
u = (localHit.X / W) +
v = - (localHit.Y / H)
hitCanvasX = u * surfaceGui.CanvasSize.X
trackAbsX = guiElement.AbsolutePosition.X
trackWidth = guiElement.AbsoluteSize.X
trackWidth <=
.((hitCanvasX - trackAbsX) / trackWidth, , )
activeSliders = {}
tabButtons = {}
Library = {}
Library:(name)
tabScroll = .()
tabScroll.Name = name ..
tabScroll.Size = .(, )
tabScroll.BackgroundTransparency =
tabScroll.ScrollBarThickness =
tabScroll.ScrollBarImageColor3 = .(, , )
tabScroll.Visible =
tabScroll.ZIndex =
tabScroll.Parent = contentArea
scrollLayout = .()
scrollLayout.Padding = .(, )
scrollLayout.SortOrder = .SortOrder.LayoutOrder
scrollLayout.Parent = tabScroll
tabBtn = .()
tabBtn.Size = .(, , , )
tabBtn.BackgroundColor3 = .(, , )
tabBtn.BackgroundTransparency =
tabBtn.Font = .Font.GothamBold
tabBtn.Text = name
tabBtn.TextColor3 = .(, , )
tabBtn.TextSize =
tabBtn.ZIndex =
tabBtn.Parent = tabNav
btnCorner = .()
btnCorner.CornerRadius = .(, )
btnCorner.Parent = tabBtn
tabStroke = .()
tabStroke.Thickness =
tabStroke.Color = .(, , )
tabStroke.Transparency =
tabStroke.Parent = tabBtn
(tabBtn)
.(tabButtons, {btn = tabBtn, tab = tabScroll, stroke = tabStroke})
()
_, item (tabButtons)
item.tab.Visible =
item.btn.BackgroundTransparency =
item.stroke.Transparency =
tabScroll.Visible =
tabBtn.BackgroundTransparency =
tabStroke.Transparency =
tabBtn.MouseButton1Click:(selectTab)
#tabButtons == ()
TabElements = {}
TabElements.tabScroll = tabScroll
TabElements:(text, callback)
btn = .()
btn.Size = .(, -, , )
btn.BackgroundColor3 = .(, , )
btn.BackgroundTransparency =
btn.Font = .Font.GothamBold
btn.Text = text
btn.TextColor3 = .(, , )
btn.TextSize =
btn.ZIndex =
btn.Parent = tabScroll
btnCorner = .()
btnCorner.CornerRadius = .(, )
btnCorner.Parent = btn
bStroke = .()
bStroke.Thickness =
bStroke.Color = .(, , )
bStroke.Transparency =
bStroke.Parent = btn
(btn)
btn.MouseButton1Click:(callback)
TabElements:(text, defaultState, callback)
frame = .()
frame.Size = .(, -, , )
frame.BackgroundColor3 = .(, , )
frame.BackgroundTransparency =
frame.ZIndex =
frame.Parent = tabScroll
fCorner = .()
fCorner.CornerRadius = .(, )
fCorner.Parent = frame
fStroke = .()
fStroke.Thickness =
fStroke.Color = .(, , )
fStroke.Transparency =
fStroke.Parent = frame
lbl = .()
lbl.Size = .(, , , )
lbl.Position = .(, , , )
lbl.BackgroundTransparency =
lbl.Font = .Font.GothamBold
lbl.Text = text
lbl.TextColor3 = .(, , )
lbl.TextSize =
lbl.TextXAlignment = .TextXAlignment.Left
lbl.ZIndex =
lbl.Parent = frame
tBtn = .()
tBtn.Size = .(, , , )
tBtn.Position = .(, -, , -)
tBtn.BackgroundColor3 = defaultState .(, , ) .(, , )
tBtn.Text =
tBtn.ZIndex =
tBtn.Parent = frame
tCorner = .()
tCorner.CornerRadius = .(, )
tCorner.Parent = tBtn
(frame)
state = defaultState
tBtn.MouseButton1Click:(()
state = state
tBtn.BackgroundColor3 = state .(, , ) .(, , )
(state)
)
TabElements:(text, minVal, maxVal, defaultVal, callback)
frame = .()
frame.Size = .(, -, , )
frame.BackgroundColor3 = .(, , )
frame.BackgroundTransparency =
frame.ZIndex =
frame.Parent = tabScroll
fCorner = .()
fCorner.CornerRadius = .(, )
fCorner.Parent = frame
fStroke = .()
fStroke.Thickness =
fStroke.Color = .(, , )
fStroke.Transparency =
fStroke.Parent = frame
lbl = .()
lbl.Size = .(, -, , )
lbl.Position = .(, , , )
lbl.BackgroundTransparency =
lbl.Font = .Font.GothamBold
lbl.Text = .(, text, defaultVal)
lbl.TextColor3 = .(, , )
lbl.TextSize =
lbl.TextXAlignment = .TextXAlignment.Left
lbl.ZIndex =
lbl.Parent = frame
track = .()
track.Size = .(, -, , )
track.Position = .(, , , )
track.BackgroundColor3 = .(, , )
track.ZIndex =
track.Parent = frame
trCorner = .()
trCorner.CornerRadius = .(, )
trCorner.Parent = track
fill = .()
alpha = .((defaultVal - minVal) / (maxVal - minVal), , )
fill.Size = .(alpha, , , )
fill.BackgroundColor3 = .(, , )
fill.BorderSizePixel =
fill.ZIndex =
fill.Parent = track
fillCorner = .()
fillCorner.CornerRadius = .(, )
fillCorner.Parent = fill
trigger = .()
trigger.Size = .(, )
trigger.BackgroundTransparency =
trigger.Text =
trigger.ZIndex =
trigger.Parent = track
(frame)
sliderData = {
sliding = ,
track = track,
update = ()
alphaHit = (track)
alphaHit
fill.Size = .(alphaHit, , , )
currentVal = minVal + alphaHit * (maxVal - minVal)
lbl.Text = .(, text, currentVal)
(currentVal)
}
.(activeSliders, sliderData)
trigger.MouseButton1Down:(()
sliderData.sliding =
sliderData.()
)
TabElements:(placeholderText, callback)
frame = .()
frame.Size = .(, -, , )
frame.BackgroundColor3 = .(, , )
frame.BackgroundTransparency =
frame.ZIndex =
frame.Parent = tabScroll
fCorner = .()
fCorner.CornerRadius = .(, )
fCorner.Parent = frame
fStroke = .()
fStroke.Thickness =
fStroke.Color = .(, , )
fStroke.Transparency =
fStroke.Parent = frame
lbl = .()
lbl.Size = .(, -, , )
lbl.Position = .(, , , )
lbl.BackgroundTransparency =
lbl.Font = .Font.GothamBold
lbl.Text =
lbl.TextColor3 = .(, , )
lbl.TextSize =
lbl.TextXAlignment = .TextXAlignment.Left
lbl.ZIndex =
lbl.Parent = frame
textBox = .()
textBox.Size = .(, -, , )
textBox.Position = .(, , , )
textBox.BackgroundColor3 = .(, , )
textBox.BackgroundTransparency =
textBox.Font = .Font.Gotham
textBox.PlaceholderText = placeholderText
textBox.PlaceholderColor3 = .(, , )
textBox.Text =
textBox.TextColor3 = .(, , )
textBox.TextSize =
textBox.ClearTextOnFocus =
textBox.ZIndex =
textBox.Parent = frame
tbCorner = .()
tbCorner.CornerRadius = .(, )
tbCorner.Parent = textBox
(frame)
textBox.FocusLost:((enterPressed)
textBox.Text ~=
formattedId = textBox.Text
.(formattedId, )
formattedId = .. formattedId
(formattedId)
)
TabElements
UserInputService.InputEnded:((input)
input.UserInputType == .UserInputType.MouseButton1 input.UserInputType == .UserInputType.Touch
_, sData (activeSliders)
sData.sliding =
)
UserInputService.InputChanged:((input)
input.UserInputType == .UserInputType.MouseMovement input.UserInputType == .UserInputType.Touch
_, sData (activeSliders)
sData.sliding
sData.()
)
MainTab = Library:()
CustomisationTab = Library:()
SettingsTab = Library:()
MainTab:(, , (v) (, v) )
MainTab:(, , (v) (, v) )
MainTab:(, , , , (v) (, v) )
MainTab:(, () () )
CustomisationTab:(, ()
bgImage.Image =
bgImage.ImageTransparency >=
bgImage.ImageTransparency =
()
)
CustomisationTab:(, ()
bgImage.ImageTransparency =
)
CustomisationTab:(, , , , (val)
bgImage.ImageTransparency = val
)
CustomisationTab:(, (assetId)
bgImage.Image = assetId
bgImage.ImageTransparency >=
bgImage.ImageTransparency =
(, assetId)
)
SettingsTab:(, () () )
creditBox = .()
creditBox.Size = .(, -, , )
creditBox.BackgroundColor3 = .(, , )
creditBox.BackgroundTransparency =
creditBox.ZIndex =
creditBox.Parent = SettingsTab.tabScroll
cCorner = .()
cCorner.CornerRadius = .(, )
cCorner.Parent = creditBox
cStroke = .()
cStroke.Thickness =
cStroke.Color = .(, , )
cStroke.Transparency =
cStroke.Parent = creditBox
creditLabel = .()
creditLabel.Size = .(, )
creditLabel.BackgroundTransparency =
creditLabel.Font = .Font.GothamBold
creditLabel.Text =
creditLabel.TextColor3 = .(, , )
creditLabel.TextSize =
creditLabel.ZIndex =
creditLabel.Parent = creditBox
(creditBox)
LocalPlayer.CharacterAdded:(()
.()
surfaceGui overlayPart
surfaceGui.Adornee = overlayPart
)
UserInputService.InputBegan:((input, processed)
processed
input.KeyCode == TOGGLE_KEY
libraryVisible = libraryVisible
glassPart.Transparency = libraryVisible
overlayPart.Transparency =
surfaceGui.Enabled = libraryVisible
_, elem (button3DParts)
elem.part.Transparency = libraryVisible
)
dragging =
targetOffset = panelOffset
dragOffsetLocal = .()
partList = {glassPart}
RunService.RenderStepped:((dt)
libraryVisible
cam = .CurrentCamera
cam
force = (targetOffset - panelOffset) * SPRING_STIFFNESS
currentVel = (currentVel + force * dt) * ( - SPRING_DAMPING * dt)
panelOffset = panelOffset + currentVel * dt
tiltX = .(-currentVel.Y * , -, )
tiltY = .(currentVel.X * , -, )
tiltCF = .(.(tiltX), .(tiltY), )
baseCF = cam.CFrame * .(panelOffset) * tiltCF
glassPart.CFrame = baseCF
overlayPart.CFrame = baseCF * .(, , D/ + )
canvasSize = surfaceGui.CanvasSize
_, item (button3DParts)
item.gui item.gui.Visible item.gui:(surfaceGui)
pos = item.gui.AbsolutePosition - mainFrame.AbsolutePosition
size = item.gui.AbsoluteSize
relX = (pos.X + size.X/) / canvasSize.X -
relY = - (pos.Y + size.Y/) / canvasSize.Y
localPos = .(relX * W, relY * H, -)
item.part.CFrame = baseCF * .(localPos)
item.part.Size = .((size.X / canvasSize.X) * W, (size.Y / canvasSize.Y) * H, )
)
UserInputService.InputBegan:((input, processed)
processed libraryVisible
input.UserInputType ~= .UserInputType.MouseButton1
_, sData (activeSliders)
sData.sliding
cam = .CurrentCamera
cam
mousePos = UserInputService:()
unitRay = cam:(mousePos.X, mousePos.Y)
rayParams = RaycastParams.()
rayParams.FilterType = .RaycastFilterType.Include
rayParams.FilterDescendantsInstances = partList
result = :(unitRay.Origin, unitRay.Direction * , rayParams)
result
dragging =
centerWorld = (cam.CFrame * .(panelOffset)).Position
dragOffsetLocal = cam.CFrame:(result.Position - centerWorld)
)
UserInputService.InputChanged:((input)
dragging libraryVisible input.UserInputType ~= .UserInputType.MouseMovement
cam = .CurrentCamera
cam
mousePos = UserInputService:()
unitRay = cam:(mousePos.X, mousePos.Y)
planePoint = (cam.CFrame * .(panelOffset)).Position
planeNormal = cam.CFrame.LookVector
denom = unitRay.Direction:(planeNormal)
.(denom) <
t = (planePoint - unitRay.Origin):(planeNormal) / denom
t <
hitPoint = unitRay.Origin + unitRay.Direction * t
worldOffset = cam.CFrame:(dragOffsetLocal)
newCenter = hitPoint - worldOffset
localNew = cam.CFrame:(newCenter - cam.CFrame.Position)
targetOffset = .(localNew.X, localNew.Y, -DISTANCE)
)
UserInputService.InputEnded:((input)
input.UserInputType == .UserInputType.MouseButton1
dragging =
)
()eh a cool ui i guess, just like apples liquid glass

Universal