Run it
Copy the script and paste it into your executor.
screenGui = .()
screenGui.Name =
screenGui.Parent = .Players.LocalPlayer.PlayerGui
frame = .()
frame.Size = .(, , , )
frame.Position = .(, , , )
frame.BackgroundColor3 = .(, , )
frame.Parent = screenGui
keyTextBox = .()
keyTextBox.Size = .(, , , )
keyTextBox.Position = .(, , , )
keyTextBox.PlaceholderText =
keyTextBox.TextColor3 = .(, , )
keyTextBox.Parent = frame
confirmButton = .()
confirmButton.Size = .(, , , )
confirmButton.Position = .(, , , )
confirmButton.Text =
confirmButton.TextColor3 = .(, , )
confirmButton.BackgroundColor3 = .(, , )
confirmButton.Parent = frame
correctKey =
()
keyTextBox.Text == correctKey
()
Players = :()
UserInputService = :()
TweenService = :()
RunService = :()
Player = Players.LocalPlayer Players:():()
COLORS = {
background = .(, , ),
backgroundDark = .(, , ),
backgroundLight = .(, , ),
accent = .(, , ),
accentDark = .(, , ),
success = .(, , ),
successHover = .(, , ),
text = .(, , ),
textDim = .(, , ),
tabActive = .(, , ),
tabInactive = .(, , ),
tabHover = .(, , )
}
ScreenGui = .()
ScreenGui.Name =
ScreenGui.ResetOnSpawn =
ScreenGui.ZIndexBehavior = .ZIndexBehavior.Sibling
ScreenGui.Parent = Player:()
MainFrame = .()
MainFrame.Name =
MainFrame.Size = .(, , , )
MainFrame.Position = .(, -, , -)
MainFrame.BackgroundColor3 = COLORS.background
MainFrame.BorderSizePixel =
MainFrame.Active =
MainFrame.Parent = ScreenGui
UICorner = .()
UICorner.CornerRadius = .(, )
UICorner.Parent = MainFrame
TitleBar = .()
TitleBar.Name =
TitleBar.Size = .(, , , )
TitleBar.BackgroundColor3 = COLORS.backgroundDark
TitleBar.BorderSizePixel =
TitleBar.Parent = MainFrame
TitleCorner = .()
TitleCorner.CornerRadius = .(, )
TitleCorner.Parent = TitleBar
TitleBarBottom = .()
TitleBarBottom.Name =
TitleBarBottom.Size = .(, , , )
TitleBarBottom.Position = .(, , , -)
TitleBarBottom.BackgroundColor3 = COLORS.backgroundDark
TitleBarBottom.BorderSizePixel =
TitleBarBottom.ZIndex =
TitleBarBottom.Parent = TitleBar
TitleText = .()
TitleText.Name =
TitleText.Size = .(, -, , )
TitleText.Position = .(, , , )
TitleText.BackgroundTransparency =
TitleText.Text =
TitleText.TextColor3 = COLORS.accent
TitleText.TextSize =
TitleText.Font = .Font.GothamBold
TitleText.TextXAlignment = .TextXAlignment.Left
TitleText.Parent = TitleBar
FullscreenButton = .()
FullscreenButton.Name =
FullscreenButton.Size = .(, , , )
FullscreenButton.Position = .(, -, , -)
FullscreenButton.BackgroundTransparency =
FullscreenButton.Text =
FullscreenButton.TextColor3 = COLORS.text
FullscreenButton.TextSize =
FullscreenButton.Font = .Font.GothamBold
FullscreenButton.Parent = TitleBar
MinimizeButton = .()
MinimizeButton.Name =
MinimizeButton.Size = .(, , , )
MinimizeButton.Position = .(, -, , -)
MinimizeButton.BackgroundTransparency =
MinimizeButton.Text =
MinimizeButton.TextColor3 = COLORS.text
MinimizeButton.TextSize =
MinimizeButton.Font = .Font.GothamBold
MinimizeButton.Parent = TitleBar
CloseButton = .()
CloseButton.Name =
CloseButton.Size = .(, , , )
CloseButton.Position = .(, -, , -)
CloseButton.BackgroundTransparency =
CloseButton.Text =
CloseButton.TextColor3 = COLORS.text
CloseButton.TextSize =
CloseButton.Font = .Font.GothamBold
CloseButton.Parent = TitleBar
TabsContainer = .()
TabsContainer.Name =
TabsContainer.Size = .(, -, , )
TabsContainer.Position = .(, , , )
TabsContainer.BackgroundColor3 = COLORS.backgroundDark
TabsContainer.BorderSizePixel =
TabsContainer.Parent = MainFrame
TabsContainerCorner = .()
TabsContainerCorner.CornerRadius = .(, )
TabsContainerCorner.Parent = TabsContainer
TabsScroll = .()
TabsScroll.Name =
TabsScroll.Size = .(, , , )
TabsScroll.BackgroundTransparency =
TabsScroll.BorderSizePixel =
TabsScroll.ScrollBarThickness =
TabsScroll.ScrollingDirection = .ScrollingDirection.X
TabsScroll.CanvasSize = .(, , , )
TabsScroll.Parent = TabsContainer
TabsListLayout = .()
TabsListLayout.Name =
TabsListLayout.FillDirection = .FillDirection.Horizontal
TabsListLayout.HorizontalAlignment = .HorizontalAlignment.Left
TabsListLayout.SortOrder = .SortOrder.LayoutOrder
TabsListLayout.Padding = .(, )
TabsListLayout.Parent = TabsScroll
AddTabButton = .()
AddTabButton.Name =
AddTabButton.Size = .(, , , )
AddTabButton.BackgroundColor3 = COLORS.accent
AddTabButton.BorderSizePixel =
AddTabButton.Text =
AddTabButton.TextColor3 = COLORS.text
AddTabButton.TextSize =
AddTabButton.Font = .Font.GothamBold
AddTabButton.LayoutOrder =
AddTabButton.Parent = TabsScroll
AddTabButtonCorner = .()
AddTabButtonCorner.CornerRadius = .(, )
AddTabButtonCorner.Parent = AddTabButton
CodeContainer = .()
CodeContainer.Name =
CodeContainer.Size = .(, -, , -)
CodeContainer.Position = .(, , , )
CodeContainer.BackgroundColor3 = COLORS.backgroundLight
CodeContainer.BorderSizePixel =
CodeContainer.ClipsDescendants =
CodeContainer.Parent = MainFrame
CodeContainerCorner = .()
CodeContainerCorner.CornerRadius = .(, )
CodeContainerCorner.Parent = CodeContainer
OutputFrame = .()
OutputFrame.Name =
OutputFrame.Size = .(, -, , )
OutputFrame.Position = .(, , , -)
OutputFrame.BackgroundColor3 = COLORS.backgroundDark
OutputFrame.BorderSizePixel =
OutputFrame.ClipsDescendants =
OutputFrame.Visible =
OutputFrame.Parent = MainFrame
OutputCorner = .()
OutputCorner.CornerRadius = .(, )
OutputCorner.Parent = OutputFrame
OutputText = .()
OutputText.Name =
OutputText.Size = .(, -, , -)
OutputText.Position = .(, , , )
OutputText.BackgroundTransparency =
OutputText.Text =
OutputText.TextColor3 = COLORS.success
OutputText.TextSize =
OutputText.Font = .Font.Code
OutputText.TextXAlignment = .TextXAlignment.Left
OutputText.TextYAlignment = .TextYAlignment.Top
OutputText.TextWrapped =
OutputText.Parent = OutputFrame
RunButton = .()
RunButton.Name =
RunButton.Size = .(, , , )
RunButton.Position = .(, -, , -)
RunButton.BackgroundColor3 = COLORS.success
RunButton.BorderSizePixel =
RunButton.Text =
RunButton.TextColor3 = .(, , )
RunButton.TextSize =
RunButton.Font = .Font.GothamBold
RunButton.Parent = MainFrame
RunButtonCorner = .()
RunButtonCorner.CornerRadius = .(, )
RunButtonCorner.Parent = RunButton
resizeHandles = {}
handleDirections = {}
handleSize =
handlePositions = {
{, -handleSize, , -handleSize/, },
{, -handleSize/, , -handleSize, },
{, -handleSize, , -handleSize, }
}
i, pos (handlePositions)
handle = .()
handle.Name = .. i
handle.Size = .(, handleSize, , handleSize)
handle.Position = .(pos[], pos[], pos[], pos[])
handle.BackgroundTransparency =
handle.Text =
handle.ZIndex =
handle.Parent = MainFrame
handleDirections[handle] = pos[]
.(resizeHandles, handle)
tabs = {}
activeTab =
tabCounter =
isMinimized =
isFullscreen =
originalSize = MainFrame.Size
originalPosition = MainFrame.Position
setActiveTab
closeTab
updateTabsCanvasSize
createTab
(button, defaultColor, hoverColor)
originalColor = defaultColor
originalSize = button.Size
button.MouseEnter:(()
TweenService:(button, TweenInfo.(), {BackgroundColor3 = hoverColor}):()
)
button.MouseLeave:(()
TweenService:(button, TweenInfo.(), {BackgroundColor3 = originalColor}):()
)
button.MouseButton1Down:(()
TweenService:(button, TweenInfo.(), {
Size = .(originalSize.X.Scale, originalSize.X.Offset * , originalSize.Y.Scale, originalSize.Y.Offset * )
}):()
)
button.MouseButton1Up:(()
TweenService:(button, TweenInfo.(), {
Size = originalSize
}):()
)
(RunButton, COLORS.success, COLORS.successHover)
(AddTabButton, COLORS.accent, COLORS.accentDark)
MinimizeButton.MouseEnter:(()
MinimizeButton.TextColor3 = COLORS.accent
)
MinimizeButton.MouseLeave:(()
MinimizeButton.TextColor3 = COLORS.text
)
FullscreenButton.MouseEnter:(()
FullscreenButton.TextColor3 = COLORS.accent
)
FullscreenButton.MouseLeave:(()
FullscreenButton.TextColor3 = COLORS.text
)
CloseButton.MouseEnter:(()
CloseButton.TextColor3 = .(, , )
)
CloseButton.MouseLeave:(()
CloseButton.TextColor3 = COLORS.text
)
originalPrint =
outputBuffer = {}
().print = (...)
args = {...}
printResult =
i, v (args)
printResult = printResult .. (v)
i < #args
printResult = printResult ..
.(outputBuffer, printResult)
(...)
(text)
OutputFrame.Visible =
OutputText.Text = text
textSize = :():(
text,
OutputText.TextSize,
OutputText.Font,
.(OutputText.AbsoluteSize.X, )
)
targetHeight = .(, textSize.Y + )
TweenService:(CodeContainer, TweenInfo.(), {
Size = .(, -, , - - targetHeight - ),
}):()
TweenService:(OutputFrame, TweenInfo.(), {
Size = .(, -, , targetHeight),
Position = .(, , , - - targetHeight)
}):()
()
TweenService:(CodeContainer, TweenInfo.(), {
Size = .(, -, , -)
}):()
TweenService:(OutputFrame, TweenInfo.(), {
Size = .(, -, , ),
Position = .(, , , -)
}):()
()
OutputFrame.Visible =
updateTabsCanvasSize = ()
totalWidth =
_, tab (tabs)
totalWidth = totalWidth + tab.button.AbsoluteSize.X + TabsListLayout.Padding.Offset
totalWidth = totalWidth + AddTabButton.AbsoluteSize.X + TabsListLayout.Padding.Offset
TabsScroll.CanvasSize = .(, totalWidth, , )
activeTab tabs[activeTab]
activeTabPos = tabs[activeTab].button.AbsolutePosition.X - TabsScroll.AbsolutePosition.X
viewableWidth = TabsScroll.AbsoluteSize.X
activeTabPos + tabs[activeTab].button.AbsoluteSize.X > viewableWidth
TabsScroll.CanvasPosition = .(
activeTabPos + tabs[activeTab].button.AbsoluteSize.X - viewableWidth + ,
)
setActiveTab = (tabId)
activeTab tabs[activeTab]
tabs[activeTab].button.BackgroundColor3 = COLORS.tabInactive
tabs[activeTab].label.TextColor3 = COLORS.textDim
tabs[activeTab].indicator.Visible =
tabs[activeTab].textBox.Visible =
tabs[tabId]
activeTab = tabId
tabs[tabId].button.BackgroundColor3 = COLORS.tabActive
tabs[tabId].label.TextColor3 = COLORS.text
tabs[tabId].indicator.Visible =
tabs[tabId].textBox.Visible =
tabPos = tabs[tabId].button.AbsolutePosition.X - TabsScroll.AbsolutePosition.X
viewableWidth = TabsScroll.AbsoluteSize.X
tabPos <
TabsScroll.CanvasPosition = .(tabPos - , )
tabPos + tabs[tabId].button.AbsoluteSize.X > viewableWidth
TabsScroll.CanvasPosition = .(
tabPos + tabs[tabId].button.AbsoluteSize.X - viewableWidth + ,
)
closeTab = (tabId)
tabs[tabId]
buttonToRemove = tabs[tabId].button
textBoxToRemove = tabs[tabId].textBox
activeTab == tabId
nextTab =
id, _ (tabs)
id ~= tabId
nextTab = id
tabs[tabId] =
buttonToRemove:()
textBoxToRemove:()
nextTab
(nextTab)
activeTab =
(tabs)
newTabId = (, )
(newTabId)
tabs[tabId] =
buttonToRemove:()
textBoxToRemove:()
()
createTab = (name, content)
tabCounter = tabCounter +
tabId = tabCounter
tabButton = .()
tabButton.Name = .. tabId
tabButton.Size = .(, , , )
tabButton.BackgroundColor3 = COLORS.tabInactive
tabButton.BorderSizePixel =
tabButton.LayoutOrder = tabId
tabButton.Parent = TabsScroll
tabClickArea = .()
tabClickArea.Name =
tabClickArea.Size = .(, , , )
tabClickArea.BackgroundTransparency =
tabClickArea.Text =
tabClickArea.Parent = tabButton
tabLabel = .()
tabLabel.Name =
tabLabel.Size = .(, -, , )
tabLabel.Position = .(, , , )
tabLabel.BackgroundTransparency =
tabLabel.Text = name
tabLabel.TextColor3 = COLORS.textDim
tabLabel.TextSize =
tabLabel.Font = .Font.GothamMedium
tabLabel.TextXAlignment = .TextXAlignment.Left
tabLabel.TextTruncate = .TextTruncate.AtEnd
tabLabel.Parent = tabButton
activeIndicator = .()
activeIndicator.Name =
activeIndicator.Size = .(, , , )
activeIndicator.Position = .(, , , -)
activeIndicator.BackgroundColor3 = COLORS.accent
activeIndicator.BorderSizePixel =
activeIndicator.Visible =
activeIndicator.Parent = tabButton
closeButton = .()
closeButton.Name =
closeButton.Size = .(, , , )
closeButton.Position = .(, -, , -)
closeButton.BackgroundTransparency =
closeButton.Text =
closeButton.TextColor3 = COLORS.textDim
closeButton.TextSize =
closeButton.Font = .Font.GothamBold
closeButton.Parent = tabButton
textBox = .()
textBox.Name = .. tabId
textBox.Size = .(, -, , -)
textBox.Position = .(, , , )
textBox.BackgroundTransparency =
textBox.TextColor3 = COLORS.text
textBox.TextSize =
textBox.Font = .Font.Code
textBox.TextXAlignment = .TextXAlignment.Left
textBox.TextYAlignment = .TextYAlignment.Top
textBox.ClearTextOnFocus =
textBox.MultiLine =
textBox.PlaceholderText =
textBox.PlaceholderColor3 = COLORS.textDim
textBox.Text = content
textBox.Visible =
textBox.Parent = CodeContainer
textBox.Active =
textBox.Selectable =
textBox.TextEditable =
tab = {
id = tabId,
button = tabButton,
label = tabLabel,
indicator = activeIndicator,
textBox = textBox,
name = name
}
tabs[tabId] = tab
tabClickArea.MouseEnter:(()
activeTab ~= tabId
TweenService:(tabButton, TweenInfo.(), {
BackgroundColor3 = COLORS.tabHover
}):()
)
tabClickArea.MouseLeave:(()
activeTab ~= tabId
TweenService:(tabButton, TweenInfo.(), {
BackgroundColor3 = COLORS.tabInactive
}):()
)
tabClickArea.MouseButton1Click:(()
(tabId)
)
closeButton.MouseButton1Click:(()
(tabId)
)
closeButton.MouseEnter:(()
closeButton.TextColor3 = .(, , )
)
closeButton.MouseLeave:(()
closeButton.TextColor3 = COLORS.textDim
)
()
tabId
AddTabButton.MouseButton1Click:(()
newTabId = ( .. (tabCounter + ), )
(newTabId)
)
RunButton.MouseButton1Click:(()
activeTab tabs[activeTab]
codeToRun = tabs[activeTab].textBox.Text
outputBuffer = {}
success, errorMsg = (()
env = ({}, {__index = ()})
func, syntaxError = (codeToRun)
func
(syntaxError, )
(func, env)
()
)
success
#outputBuffer >
(.(outputBuffer, ))
OutputText.TextColor3 = COLORS.success
()
OutputText.TextColor3 = COLORS.success
( .. errorMsg)
OutputText.TextColor3 = .(, , )
)
isDragging =
dragOffset = .(, )
dragVelocity = .(, )
lastMousePos = .(, )
lastUpdateTime = ()
lerpFactor =
TitleBar.InputBegan:((input)
input.UserInputType == .UserInputType.MouseButton1 input.UserInputType == .UserInputType.Touch
isDragging =
mousePos = UserInputService:()
dragOffset = .(
mousePos.X - MainFrame.AbsolutePosition.X,
mousePos.Y - MainFrame.AbsolutePosition.Y
)
lastMousePos = mousePos
lastUpdateTime = ()
dragVelocity = .(, )
)
UserInputService.InputEnded:((input)
(input.UserInputType == .UserInputType.MouseButton1
input.UserInputType == .UserInputType.Touch) isDragging
isDragging =
)
isResizing =
resizeDirection =
resizeStartPos = .(, )
resizeStartSize = .(, )
_, handle (resizeHandles)
handle.MouseEnter:(()
direction = handleDirections[handle]
direction ==
handle.MouseIcon =
direction ==
handle.MouseIcon =
direction ==
handle.MouseIcon =
)
handle.MouseLeave:(()
handle.MouseIcon =
)
handle.MouseButton1Down:(()
isResizing =
resizeDirection = handleDirections[handle]
resizeStartPos = UserInputService:()
resizeStartSize = .(MainFrame.AbsoluteSize.X, MainFrame.AbsoluteSize.Y)
)
UserInputService.InputEnded:((input)
(input.UserInputType == .UserInputType.MouseButton1
input.UserInputType == .UserInputType.Touch) isResizing
isResizing =
)
()
currentTime = ()
deltaTime = currentTime - lastUpdateTime
lastUpdateTime = currentTime
deltaTime = .(deltaTime, )
mousePos = UserInputService:()
screenSize = ScreenGui.AbsoluteSize
frameSize = MainFrame.AbsoluteSize
isDragging
targetX = mousePos.X - dragOffset.X
targetY = mousePos.Y - dragOffset.Y
currentX = MainFrame.AbsolutePosition.X
currentY = MainFrame.AbsolutePosition.Y
newX = currentX + (targetX - currentX) * lerpFactor
newY = currentY + (targetY - currentY) * lerpFactor
dragVelocity = (mousePos - lastMousePos) / deltaTime
MainFrame.Position = .(, newX, , newY)
isResizing
deltaX = mousePos.X - resizeStartPos.X
deltaY = mousePos.Y - resizeStartPos.Y
resizeDirection == resizeDirection ==
newWidth = .(, resizeStartSize.X + deltaX)
MainFrame.Size = .(, newWidth, , MainFrame.Size.Y.Offset)
resizeDirection == resizeDirection ==
newHeight = .(, resizeStartSize.Y + deltaY)
MainFrame.Size = .(, MainFrame.Size.X.Offset, , newHeight)
dragVelocity.Magnitude >
currentX = MainFrame.AbsolutePosition.X
currentY = MainFrame.AbsolutePosition.Y
targetX = currentX + dragVelocity.X * deltaTime
targetY = currentY + dragVelocity.Y * deltaTime
MainFrame.Position = .(
,
currentX + (targetX - currentX) * lerpFactor,
,
currentY + (targetY - currentY) * lerpFactor
)
dragVelocity = dragVelocity *
dragVelocity.Magnitude <
dragVelocity = .(, )
minX =
maxX = screenSize.X - frameSize.X
minY =
maxY = screenSize.Y - frameSize.Y
currentX = MainFrame.AbsolutePosition.X
currentY = MainFrame.AbsolutePosition.Y
currentX < minX
MainFrame.Position = .(, minX, , currentY)
dragVelocity = .(-dragVelocity.X * , dragVelocity.Y)
currentX > maxX
MainFrame.Position = .(, maxX, , currentY)
dragVelocity = .(-dragVelocity.X * , dragVelocity.Y)
currentY < minY
MainFrame.Position = .(, currentX, , minY)
dragVelocity = .(dragVelocity.X, -dragVelocity.Y * )
currentY > maxY
MainFrame.Position = .(, currentX, , maxY)
dragVelocity = .(dragVelocity.X, -dragVelocity.Y * )
lastMousePos = mousePos
RunService.RenderStepped:(updateDragging)
TabsScroll.MouseWheelForward:(()
TabsScroll.CanvasPosition = .(.(, TabsScroll.CanvasPosition.X - ), )
)
TabsScroll.MouseWheelBackward:(()
maxScroll = TabsScroll.CanvasSize.X.Offset - TabsScroll.AbsoluteSize.X
TabsScroll.CanvasPosition = .(.(maxScroll, TabsScroll.CanvasPosition.X + ), )
)
FullscreenButton.MouseButton1Click:(()
isFullscreen
TweenService:(MainFrame, TweenInfo.(), {
Size = originalSize,
Position = originalPosition
}):()
FullscreenButton.Text =
isMinimized
originalSize = MainFrame.Size
originalPosition = MainFrame.Position
screenSize = ScreenGui.AbsoluteSize
TweenService:(MainFrame, TweenInfo.(), {
Size = .(, screenSize.X, , screenSize.Y),
Position = .(, , , )
}):()
FullscreenButton.Text =
isMinimized
TabsContainer.Visible =
CodeContainer.Visible =
RunButton.Visible =
OutputFrame.Visible
OutputFrame.Visible =
isMinimized =
MinimizeButton.Text =
isFullscreen = isFullscreen
)
MinimizeButton.MouseButton1Click:(()
isMinimized
isFullscreen
TweenService:(MainFrame, TweenInfo.(), {
Size = originalSize
}):()
screenSize = ScreenGui.AbsoluteSize
TweenService:(MainFrame, TweenInfo.(), {
Size = .(, screenSize.X, , screenSize.Y)
}):()
TabsContainer.Visible =
CodeContainer.Visible =
RunButton.Visible =
OutputFrame.Visible
OutputFrame.Visible =
MinimizeButton.Text =
isFullscreen
originalSize = MainFrame.Size
TweenService:(MainFrame, TweenInfo.(), {
Size = .(, MainFrame.Size.X.Offset, , TitleBar.Size.Y.Offset)
}):()
TabsContainer.Visible =
CodeContainer.Visible =
RunButton.Visible =
OutputFrame.Visible =
MinimizeButton.Text =
isMinimized = isMinimized
)
CloseButton.MouseButton1Click:(()
allElements = {MainFrame}
_, descendant (MainFrame:())
descendant:()
.(allElements, descendant)
_, element (allElements)
tweenProps = {}
tweenProps.BackgroundTransparency =
element:() element:() element:()
tweenProps.TextTransparency =
element:() element:()
tweenProps.ImageTransparency =
TweenService:(element, TweenInfo.(), tweenProps):()
()
ScreenGui:()
)
initialTabId = (, )
(initialTabId)
screenGui:()
()
confirmButton.MouseButton1Click:(onKeyEntered)
executor, key is menxdenxlenxdrenx btw

Universal