Run it
Copy the script and paste it into your executor.
Lighting = :()
UserInputService = :()
RunService = :()
Players = :()
Workspace = :()
StarterGui = :()
TweenService = :()
LOCAL_PLAYER = Players.LocalPlayer
LightingConfig = {
Brightness = ,
ExposureCompensation = ,
ShadowSoftness = ,
EnvironmentDiffuseScale = ,
EnvironmentSpecularScale = ,
ClockTime = ,
FogStart = ,
FogEnd = ,
GlobalShadows = ,
ColorShift_Top = .(, , ),
ColorShift_Bottom = .(, , ),
OutdoorAmbient = .(, , ),
Ambient = .(, , ),
Reflectance = ,
}
property, value (LightingConfig)
(() Lighting[property] = value )
(part)
part:()
(() part.Reflectance = LightingConfig.Reflectance )
_, part (Workspace:())
(part)
Workspace.DescendantAdded:(applyPartReflectance)
EffectsConfig = {
BloomEffect = { Name = , Intensity = , Size = , Threshold = , Enabled = },
DepthOfFieldEffect = { Name = , InFocusRadius = , NearIntensity = , FarIntensity = , FocusDistance = , Enabled = },
ColorCorrectionEffect = { Name = , Brightness = , Contrast = , Saturation = , TintColor = .(, , ), Enabled = },
SunRaysEffect = { Name = , Intensity = , Spread = , Enabled = },
BlurEffect = { Name = , Size = , Enabled = },
}
(effectType, properties)
effect = Lighting:(effectType)
effect
ok, inst = (() .(effectType, Lighting) )
effect = ok inst
effect
property, value (properties)
effect[property] ~=
(() effect[property] = value )
effect
effectType, properties (EffectsConfig)
(effectType, properties)
(n, a, b) .(a, .(b, n))
(v)
(v) ~= (v)
.(v - .(v + )) <
(.(v + ))
.(, v)
DEFAULT_WIDTH =
DEFAULT_HEIGHT =
SCREEN_MARGIN =
originalCoreGuiStates = {}
originalNameDistance =
originalPlayerGuiStates = {}
gameInterfaceHidden =
hiddenGameGuiStates = {}
gameGuiAddedConnection =
robloxInterfaceHidden =
hiddenCoreGuiStates = {}
ok, val = (() StarterGui:() )
originalNameDistance = (ok (val) == ) val
coreTypes = { .CoreGuiType.Chat, .CoreGuiType.Backpack, .CoreGuiType.PlayerList, .CoreGuiType.Health }
_, t (coreTypes)
ok2, enabled = (() StarterGui:(t) )
originalCoreGuiStates[t.Name] = (ok2 (enabled) == ) enabled
playerGui = LOCAL_PLAYER:()
_, gui (playerGui:())
gui:()
.(originalPlayerGuiStates, { Name = gui.Name, IsScreenGui = , Enabled = gui.Enabled })
gui:()
.(originalPlayerGuiStates, { Name = gui.Name, IsScreenGui = , Visible = gui.Visible })
(coreType, enabled)
(() StarterGui:(coreType, enabled) )
(name, value)
(() StarterGui:(name, value) )
autoClockRunning =
autoClockSpeed =
globalAutoClockLoop =
()
globalAutoClockLoop
globalAutoClockLoop = RunService.Heartbeat:((deltaTime)
autoClockRunning
newTime = (Lighting.ClockTime + (autoClockSpeed * deltaTime)) %
Lighting.ClockTime = newTime
)
()
toggleMenu
()
old = LOCAL_PLAYER.PlayerGui:()
old old:()
ScreenGui = .()
ScreenGui.Name =
ScreenGui.ResetOnSpawn =
ScreenGui.DisplayOrder =
ScreenGui.Parent = LOCAL_PLAYER:()
InputBlocker = .(, ScreenGui)
InputBlocker.Name =
InputBlocker.Size = .(, , , )
InputBlocker.Position = .(, , , )
InputBlocker.BackgroundTransparency =
InputBlocker.BorderSizePixel =
InputBlocker.ZIndex =
InputBlocker.Visible =
InputBlocker.Active =
FloatingButton = .(, ScreenGui)
FloatingButton.Name =
FloatingButton.Size = .(, , , )
FloatingButton.Position = .(, -, , -)
FloatingButton.BackgroundColor3 = .(,,)
FloatingButton.Text =
FloatingButton.Font = .Font.GothamBold
FloatingButton.TextSize =
FloatingButton.TextColor3 = .(,,)
FloatingButton.AutoButtonColor =
FloatingButton.ZIndex =
FloatingCorner = .(, FloatingButton)
FloatingCorner.CornerRadius = .(, )
FloatingStroke = .(, FloatingButton)
FloatingStroke.Color = .(,,)
FloatingStroke.Thickness =
FloatingScale = .(, FloatingButton)
FloatingScale.Scale =
gear = .(, FloatingButton)
gear.Size = .(,)
gear.Position = .(,-,,-)
gear.BackgroundTransparency =
gear.BorderSizePixel =
gear.ZIndex =
gearStroke = .(, gear)
gearStroke.Color = .(,,)
gearStroke.Thickness =
gearStroke.Transparency =
.(, gear).CornerRadius = .(,)
gearCenter = .(, gear)
gearCenter.Size = .(,)
gearCenter.Position = .(,-,,-)
gearCenter.BackgroundColor3 = .(,,)
gearCenter.BorderSizePixel =
gearCenter.ZIndex =
.(, gearCenter).CornerRadius = .(,)
i=,
tooth = .(, gear)
tooth.Size = .(,)
tooth.AnchorPoint = .(,)
a = .(i*)
tooth.Position = .(,.(a)*,,.(a)*)
tooth.Rotation = i*
tooth.BackgroundColor3 = .(,,)
tooth.BorderSizePixel =
tooth.ZIndex =
.(, tooth).CornerRadius = .(,)
FloatingButton.InputBegan:((input)
input.UserInputType == .UserInputType.MouseButton1 input.UserInputType == .UserInputType.Touch
TweenService:(FloatingScale, TweenInfo.(), {Scale = }):()
)
FloatingButton.MouseEnter:(()
TweenService:(FloatingButton, TweenInfo.(, .EasingStyle.Quad, .EasingDirection.Out), {BackgroundColor3 = .(,,)}):()
TweenService:(FloatingStroke, TweenInfo.(), {Color = .(,,)}):()
TweenService:(gearStroke, TweenInfo.(), {Transparency = }):()
TweenService:(FloatingScale, TweenInfo.(, .EasingStyle.Back, .EasingDirection.Out), {Scale = }):()
)
FloatingButton.MouseLeave:(()
TweenService:(FloatingButton, TweenInfo.(), {BackgroundColor3 = .(,,)}):()
TweenService:(FloatingStroke, TweenInfo.(), {Color = .(,,)}):()
TweenService:(FloatingScale, TweenInfo.(), {Scale = }):()
)
FloatingButton.InputEnded:((input)
input.UserInputType == .UserInputType.MouseButton1 input.UserInputType == .UserInputType.Touch
TweenService:(FloatingScale, TweenInfo.(, .EasingStyle.Back, .EasingDirection.Out), {Scale = }):()
)
Frame = .(, ScreenGui)
Frame.Name =
Frame.BackgroundColor3 = .(,,)
Frame.BorderSizePixel =
Frame.ClipsDescendants =
Frame.ZIndex =
Frame.Visible =
UICorner = .(, Frame)
UICorner.CornerRadius = .(, )
()
cam = .CurrentCamera
cam
vs = cam.ViewportSize
maxW = .(, vs.X - SCREEN_MARGIN * )
maxH = .(, vs.Y - SCREEN_MARGIN * )
w = .(DEFAULT_WIDTH, maxW)
h = .(DEFAULT_HEIGHT, maxH)
Frame.Size = .(, w, , h)
xPos = (vs.X - w) /
yPos = (vs.Y - h) / -
Frame.Position = .(, xPos, , yPos)
RunService.RenderStepped:(adaptFrame)
()
Header = .(, Frame)
Header.Name =
Header.Size = .(, -, , )
Header.Position = .(, , , )
Header.BackgroundTransparency =
Header.Text =
Header.TextColor3 = .(,,)
Header.Font = .Font.GothamBold
Header.TextSize =
Header.TextXAlignment = .TextXAlignment.Left
Header.ZIndex =
Subtitle = .(, Frame)
Subtitle.Size = .(, -, , )
Subtitle.Position = .(, , , )
Subtitle.BackgroundTransparency =
Subtitle.Text =
Subtitle.TextColor3 = .(,,)
Subtitle.Font = .Font.Gotham
Subtitle.TextSize =
Subtitle.TextXAlignment = .TextXAlignment.Left
Subtitle.ZIndex =
CloseBtn = .(, Frame)
CloseBtn.Name =
CloseBtn.Size = .(,)
CloseBtn.Position = .(,-,,)
CloseBtn.BackgroundColor3 = .(,,)
CloseBtn.Text =
CloseBtn.Font = .Font.Gotham
CloseBtn.TextSize =
CloseBtn.TextColor3 = .(,,)
CloseBtn.AutoButtonColor =
CloseBtn.ZIndex =
.(, CloseBtn).CornerRadius = .(,)
closeStroke = .(, CloseBtn)
closeStroke.Color = .(,,)
closeStroke.Thickness =
closeHover = CloseBtn.MouseEnter:(()
TweenService:(CloseBtn,TweenInfo.(),{BackgroundColor3=.(,,)}):()
)
CloseBtn.MouseLeave:(()
TweenService:(CloseBtn,TweenInfo.(),{BackgroundColor3=.(,,)}):()
)
()
tweenInfo = TweenInfo.(, .EasingStyle.Quad, .EasingDirection.In)
tween = TweenService:(Frame, tweenInfo, { Position = .(, -Frame.AbsoluteSize.X/, , Frame.AbsoluteSize.Y) })
tween:()
tween.Completed:(()
Frame.Visible =
InputBlocker.Visible =
)
CloseBtn.MouseButton1Click:(closeMenu)
Divider = .(, Frame)
Divider.Size = .(,-,,)
Divider.Position = .(,,,)
Divider.BackgroundColor3 = .(,,)
Divider.BorderSizePixel =
Divider.ZIndex =
Sidebar = .(, Frame)
Sidebar.Name =
Sidebar.Size = .(,,,-)
Sidebar.Position = .(,,,)
Sidebar.BackgroundColor3 = .(,,)
Sidebar.BorderSizePixel =
Sidebar.ZIndex =
.(, Sidebar).CornerRadius = .(,)
SideTitle = .(, Sidebar)
SideTitle.Size = .(,-,,)
SideTitle.Position = .(,,,)
SideTitle.BackgroundTransparency =
SideTitle.Text =
SideTitle.TextColor3 = .(,,)
SideTitle.Font = .Font.GothamBold
SideTitle.TextSize =
SideTitle.TextXAlignment = .TextXAlignment.Left
SideTitle.ZIndex =
ScrollClip = .(, Frame)
ScrollClip.Name =
ScrollClip.Size = .(,-,,-)
ScrollClip.Position = .(,,,)
ScrollClip.BackgroundColor3 = .(,,)
ScrollClip.BorderSizePixel =
ScrollClip.ClipsDescendants =
ScrollClip.ZIndex =
scrollClipCorner = .(, ScrollClip)
scrollClipCorner.CornerRadius = .(,)
scrollClipStroke = .(, ScrollClip)
scrollClipStroke.Color = .(,,)
scrollClipStroke.Thickness =
Scroll = .(, ScrollClip)
Scroll.Name =
Scroll.Size = .(,,,)
Scroll.Position = .(,)
Scroll.BackgroundTransparency =
Scroll.BorderSizePixel =
Scroll.ScrollBarThickness =
Scroll.ScrollBarImageTransparency =
Scroll.ScrollingDirection = .ScrollingDirection.Y
Scroll.CanvasSize = .(,,,)
Scroll.ZIndex =
Scroll.Active =
Scroll.ClipsDescendants =
UIListLayout = .(, Scroll)
UIListLayout.Padding = .(,)
UIListLayout.SortOrder = .SortOrder.LayoutOrder
UIPadding = .(, Scroll)
UIPadding.PaddingLeft = .(,)
UIPadding.PaddingRight = .(,)
UIPadding.PaddingTop = .(,)
UIPadding.PaddingBottom = .(,)
categoryButtons = {}
categorySections = {}
activeCategory =
(key, titleText, descriptionText, order)
section = .(, Scroll)
section.Name = ..key
section.Size = .(,,,)
section.AutomaticSize = .AutomaticSize.Y
section.BackgroundColor3 = .(,,)
section.BorderSizePixel =
section.LayoutOrder = order
section.ZIndex =
.(,section).CornerRadius = .(,)
stroke = .(,section)
stroke.Color = .(,,)
stroke.Thickness =
pad = .(,section)
pad.PaddingLeft = .(,)
pad.PaddingRight = .(,)
pad.PaddingTop = .(,)
pad.PaddingBottom = .(,)
title = .(,section)
title.Size = .(,,,)
title.BackgroundTransparency =
title.Text = titleText
title.TextColor3 = .(,,)
title.Font = .Font.GothamBold
title.TextSize =
title.TextXAlignment = .TextXAlignment.Left
title.ZIndex =
desc = .(,section)
desc.Size = .(,,,)
desc.Position = .(,)
desc.BackgroundTransparency =
desc.Text = descriptionText
desc.TextColor3 = .(,,)
desc.Font = .Font.Gotham
desc.TextSize =
desc.TextXAlignment = .TextXAlignment.Left
desc.ZIndex =
controls = .(,section)
controls.Name =
controls.Size = .(,,,)
controls.Position = .(,)
controls.AutomaticSize = .AutomaticSize.Y
controls.BackgroundTransparency =
controls.ZIndex =
layout = .(,controls)
layout.Padding = .(,)
layout.SortOrder = .SortOrder.LayoutOrder
categorySections[key] = section
controls, section
Sections = {}
Sections.Lighting = (,,,)
Sections.Time = (,,,)
Sections.Environment = (,,,)
Sections.Bloom = (,,,)
Sections.Color = (,,,)
Sections.Blur = (,,,)
Sections.Sun = (,,,)
Sections.Interface = (,,,)
categoryData = {
{,,},
{,,},
{,,},
{,,},
{,,},
{,,},
{,,},
{,,},
}
(parent, x, y, w, h, rotation)
line = .(, parent)
line.Size = .(w, h)
line.Position = .(, x, , y)
line.AnchorPoint = .(, )
line.BackgroundColor3 = .(,,)
line.BorderSizePixel =
line.Rotation = rotation
line.ZIndex =
.(, line).CornerRadius = .(,)
line
(parent, kind)
holder = .(, parent)
holder.Name =
holder.Size = .(,)
holder.Position = .(,,,-)
holder.BackgroundTransparency =
holder.BorderSizePixel =
holder.ZIndex =
strokeColor = .(,,)
(size, pos, thickness)
f = .(, holder)
f.Size = .(size,size)
f.Position = pos
f.BackgroundTransparency =
f.BorderSizePixel =
f.ZIndex =
st = .(, f)
st.Color = strokeColor
st.Thickness = thickness
f
kind ==
bulb = .(, holder)
bulb.Size = .(,)
bulb.Position = .(,)
bulb.BackgroundTransparency =
bulb.BorderSizePixel =
bulb.ZIndex =
st = .(, bulb)
st.Color = strokeColor
st.Thickness =
.(, bulb).CornerRadius = .(,)
(holder, , , , , )
(holder, , , , , )
(holder, , -, , , )
(holder, -, -, , , )
(holder, , -, , , -)
kind ==
center = .(, holder)
center.Size = .(,)
center.Position = .(,)
center.BackgroundColor3 = strokeColor
center.BorderSizePixel =
center.ZIndex =
.(, center).CornerRadius = .(,)
(holder, , , , , -)
(holder, , , , , -)
(holder, , -, , , -)
(holder, , -, , , -)
kind ==
(, .(,), )
(holder, , -, , , )
(holder, , , , , )
kind ==
a=.(,holder); a.Size=.(,); a.Position=.(,); a.BackgroundTransparency=; a.BorderSizePixel=; a.ZIndex=
st=.(,a); st.Color=strokeColor; st.Thickness=
(holder,,-,,,); (holder,,-,,,)
kind ==
(, .(,), )
i=,
a=i*; rad=.(a)
dot=.(,holder); dot.Size=.(,); dot.AnchorPoint=.(,); dot.Position=.(,.(rad)*,,.(rad)*); dot.BackgroundColor3=strokeColor; dot.BorderSizePixel=; dot.ZIndex=; .(,dot).CornerRadius=.(,)
kind ==
cols={{,},{,},{,}}
_,v (cols)
d=.(,holder); d.Size=.(,); d.Position=.(v[],v[]); d.BackgroundTransparency=; d.BorderSizePixel=; d.ZIndex=; st=.(,d); st.Color=strokeColor; st.Thickness=; .(,d).CornerRadius=.(,)
kind ==
(, .(,), )
d=.(,holder); d.Size=.(,); d.Position=.(,); d.BackgroundColor3=strokeColor; d.BackgroundTransparency=; d.BorderSizePixel=; d.ZIndex=; .(,d).CornerRadius=.(,)
kind ==
w=.(,holder); w.Size=.(,); w.Position=.(,); w.BackgroundTransparency=; w.BorderSizePixel=; w.ZIndex=; st=.(,w); st.Color=strokeColor; st.Thickness=; .(,w).CornerRadius=.(,); (w,,-,,,)
holder
CategoryList = .(, Sidebar)
CategoryList.Name =
CategoryList.Size = .(,,,-)
CategoryList.Position = .(,,,)
CategoryList.BackgroundTransparency =
CategoryList.BorderSizePixel =
CategoryList.ZIndex =
sideLayout = .(,CategoryList)
sideLayout.Padding = .(,)
sideLayout.SortOrder = .SortOrder.LayoutOrder
sideLayout.HorizontalAlignment = .HorizontalAlignment.Center
sidePad = .(,CategoryList)
sidePad.PaddingTop = .(,)
sidePad.PaddingLeft = .(,)
sidePad.PaddingRight = .(,)
(key)
activeCategory = key
k,button (categoryButtons)
selected = k == key
button.BackgroundColor3 = selected .(,,) .(,,)
button.TextColor3 = selected .(,,) .(,,)
label = button:()
label label.TextColor3 = selected .(,,) .(,,)
marker = button:()
marker marker.Visible = selected
(key)
section = categorySections[key]
section
.(()
y = .(, section.AbsolutePosition.Y - Scroll.AbsolutePosition.Y + Scroll.CanvasPosition.Y - )
maxY = .(, Scroll.CanvasSize.Y.Offset - Scroll.AbsoluteSize.Y)
y = .(y, maxY)
TweenService:(Scroll,TweenInfo.(,.EasingStyle.Quint,.EasingDirection.Out),{CanvasPosition=.(,y)}):()
(key)
)
index,data (categoryData)
key,name,icon = data[],data[],data[]
button = .(,CategoryList)
button.Name = ..key
button.Size = .(,,,)
button.LayoutOrder = index
button.BackgroundColor3 = .(,,)
button.BorderSizePixel =
button.Text =
button.TextColor3 = .(,,)
button.Font = .Font.GothamMedium
button.TextSize =
button.TextXAlignment = .TextXAlignment.Left
button.AutoButtonColor =
button.ZIndex =
.(,button).CornerRadius = .(,)
(button, icon)
categoryLabel = .(, button)
categoryLabel.Name =
categoryLabel.Size = .(,-,,)
categoryLabel.Position = .(,)
categoryLabel.BackgroundTransparency =
categoryLabel.Text = name
categoryLabel.TextColor3 = .(,,)
categoryLabel.Font = .Font.GothamMedium
categoryLabel.TextSize =
categoryLabel.TextXAlignment = .TextXAlignment.Left
categoryLabel.TextTruncate = .TextTruncate.AtEnd
categoryLabel.ZIndex =
marker = .(,button)
marker.Name =
marker.Size = .(,,,)
marker.Position = .(,,,-)
marker.BackgroundColor3 = .(,,)
marker.BorderSizePixel =
marker.Visible =
marker.ZIndex =
.(,marker).CornerRadius = .(,)
categoryButtons[key] = button
button.MouseEnter:(()
activeCategory ~= key TweenService:(button,TweenInfo.(),{BackgroundColor3=.(,,)}):()
)
button.MouseLeave:(()
activeCategory ~= key TweenService:(button,TweenInfo.(),{BackgroundColor3=.(,,)}):()
)
button.MouseButton1Click:(() (key) )
ResetSeparator = .(, Sidebar)
ResetSeparator.Size = .(,-,,)
ResetSeparator.Position = .(,,,-)
ResetSeparator.BackgroundColor3 = .(,,)
ResetSeparator.BackgroundTransparency =
ResetSeparator.BorderSizePixel =
ResetSeparator.ZIndex =
ResetButton = .(, Sidebar)
ResetButton.Name =
ResetButton.Size = .(,-,,)
ResetButton.Position = .(,,,-)
ResetButton.BackgroundColor3 = .(,,)
ResetButton.Text =
ResetButton.Font = .Font.GothamMedium
ResetButton.TextSize =
ResetButton.TextColor3 = .(,,)
ResetButton.ZIndex =
ResetButton.AutoButtonColor =
.(,ResetButton).CornerRadius = .(,)
resetStroke = .(,ResetButton)
resetStroke.Color = .(,,)
resetStroke.Thickness =
ResetButton.MouseEnter:(()
TweenService:(ResetButton,TweenInfo.(),{BackgroundColor3=.(,,)}):()
TweenService:(resetStroke,TweenInfo.(),{Color=.(,,)}):()
)
ResetButton.MouseLeave:(()
TweenService:(ResetButton,TweenInfo.(),{BackgroundColor3=.(,,)}):()
TweenService:(resetStroke,TweenInfo.(),{Color=.(,,)}):()
)
CloseHint = .(, Frame)
CloseHint.Size = .(,,,)
CloseHint.Position = .(,-,,-)
CloseHint.BackgroundTransparency =
CloseHint.Text =
CloseHint.TextColor3 = .(,,)
CloseHint.Font = .Font.Gotham
CloseHint.TextSize =
CloseHint.TextXAlignment = .TextXAlignment.Right
CloseHint.ZIndex =
draggingFloatingButton =
floatingButtonOffset = .(, )
clickStartTime =
FloatingButton.InputBegan:((input)
input.UserInputType == .UserInputType.MouseButton1 input.UserInputType == .UserInputType.Touch
clickStartTime = ()
draggingFloatingButton =
buttonPos = FloatingButton.AbsolutePosition
inputPos = input.Position
floatingButtonOffset = .(buttonPos.X-inputPos.X,buttonPos.Y-inputPos.Y)
)
floatingDragConnection =
FloatingButton.InputChanged:((input)
(input.UserInputType == .UserInputType.MouseMovement input.UserInputType == .UserInputType.Touch) draggingFloatingButton
floatingDragConnection
floatingDragConnection = RunService.RenderStepped:(()
draggingFloatingButton input.Position
cam = .CurrentCamera
cam
vs = cam.ViewportSize
newX = .(,.(input.Position.X+floatingButtonOffset.X,vs.X-))
newY = .(,.(input.Position.Y+floatingButtonOffset.Y,vs.Y-))
FloatingButton.Position = .(,newX,,newY)
)
)
UserInputService.InputEnded:((input)
input.UserInputType == .UserInputType.MouseButton1 input.UserInputType == .UserInputType.Touch
draggingFloatingButton
draggingFloatingButton=
floatingDragConnection floatingDragConnection:(); floatingDragConnection=
()-clickStartTime <
toggleMenu ()
)
ScrollCapture = .(, ScreenGui)
ScrollCapture.Name =
ScrollCapture.Size = .(,,,)
ScrollCapture.BackgroundTransparency =
ScrollCapture.BorderSizePixel =
ScrollCapture.ZIndex =
ScrollCapture.Visible =
ScrollCapture.Active =
() ScrollCapture.Visible = Frame.Visible
Frame:():(updateScrollCaptureVisibility)
touchStartY, scrollStartCanvasPosition, lastTouchY, touchVelocity, scrollConnection = ,,,,
ScrollCapture.InputBegan:((input)
input.UserInputType==.UserInputType.Touch Frame.Visible
touchStartY=input.Position.Y; lastTouchY=input.Position.Y; scrollStartCanvasPosition=Scroll.CanvasPosition.Y; touchVelocity=
scrollConnection scrollConnection:(); scrollConnection=
)
ScrollCapture.InputChanged:((input)
input.UserInputType==.UserInputType.Touch Frame.Visible
currentY=input.Position.Y
touchVelocity=lastTouchY-currentY
newY=scrollStartCanvasPosition+(touchStartY-currentY)
newY=.(,.(newY,.(,Scroll.CanvasSize.Y.Offset-Scroll.AbsoluteSize.Y)))
Scroll.CanvasPosition=.(,newY); lastTouchY=currentY
)
ScrollCapture.InputEnded:((input)
input.UserInputType==.UserInputType.Touch Frame.Visible
currentVelocity=touchVelocity
scrollConnection scrollConnection:()
scrollConnection=RunService.RenderStepped:(()
.(currentVelocity)>
newY=Scroll.CanvasPosition.Y+currentVelocity
newY=.(,.(newY,.(,Scroll.CanvasSize.Y.Offset-Scroll.AbsoluteSize.Y)))
Scroll.CanvasPosition=.(,newY); currentVelocity=currentVelocity*
scrollConnection scrollConnection:(); scrollConnection=
)
)
activeSlider =
(name, defaultValue, parent, onToggle)
Container = .(, parent)
Container.Size = .(,,,)
Container.BackgroundTransparency =
Container.ZIndex =
Label = .(, Container)
Label.Size = .(,,,)
Label.Position = .(,,,)
Label.BackgroundTransparency =
Label.Text = name
Label.Font = .Font.SourceSansBold
Label.TextSize =
Label.TextColor3 = .(,,)
Label.TextXAlignment = .TextXAlignment.Left
Label.TextYAlignment = .TextYAlignment.Center
Label.ZIndex =
Button = .(, Container)
Button.Size = .(, , , )
Button.Position = .(, , , )
Button.Font = .Font.SourceSans
Button.TextSize =
Button.ZIndex =
corner = .(, Button)
corner.CornerRadius = .(,)
current = defaultValue
(v, callToggle)
current = v
Button.Text = current
Button.BackgroundColor3 = current .(,,) .(,,)
callToggle onToggle (() (current) )
(defaultValue, )
Button.MouseButton1Click:(() ( current, ) )
{ button = Button, label = Label, setValue = (v) (v, ) , setValueSilent = (v) (v, ) , getValue = () current , container = Container }
(name, defaultValue, parent, minVal, maxVal, onChange, step)
minVal == minVal = -
maxVal == maxVal =
minVal > maxVal minVal, maxVal = maxVal, minVal
step == step =
defaultValue = (defaultValue, minVal, maxVal)
Container = .(, parent)
Container.Size = .(,,,)
Container.BackgroundTransparency =
Container.ZIndex =
Label = .(, Container)
Label.Size = .(,,,)
Label.Position = .(,,,)
Label.BackgroundTransparency =
Label.Font = .Font.SourceSansBold
Label.TextSize =
Label.TextXAlignment = .TextXAlignment.Left
Label.TextColor3 = .(,,)
Label.ZIndex =
ValueLabel = .(, Container)
ValueLabel.Size = .(,,,)
ValueLabel.Position = .(, -,,)
ValueLabel.BackgroundColor3 = .(,,)
ValueLabel.BorderSizePixel =
ValueLabel.Font = .Font.SourceSans
ValueLabel.TextSize =
ValueLabel.TextXAlignment = .TextXAlignment.Center
ValueLabel.TextColor3 = .(,,)
ValueLabel.ZIndex =
ValueLabel.Text = (defaultValue)
ValueCorner = .(, ValueLabel)
ValueCorner.CornerRadius = .(, )
ValueStroke = .(, ValueLabel)
ValueStroke.Color = .(,,)
ValueStroke.Thickness =
ResetBtn = .(, Container)
ResetBtn.Size = .(, , , )
ResetBtn.Position = .(, -, , )
ResetBtn.BackgroundColor3 = .(, , )
ResetBtn.BorderSizePixel =
ResetBtn.Font = .Font.SourceSansBold
ResetBtn.Text =
ResetBtn.TextSize =
ResetBtn.TextColor3 = .(, , )
ResetBtn.ZIndex =
ResetCorner = .(, ResetBtn)
ResetCorner.CornerRadius = .(, )
ResetStroke = .(, ResetBtn)
ResetStroke.Color = .(, , )
ResetStroke.Thickness =
Track = .(, Container)
Track.Size = .(, -, , )
Track.Position = .(,,,)
Track.BackgroundColor3 = .(,,)
Track.ZIndex =
TrackCorner = .(, Track)
TrackCorner.CornerRadius = .(,)
TrackStroke = .(, Track)
TrackStroke.Color = .(,,)
TrackStroke.Thickness =
Fill = .(, Track)
Fill.Size = .(,,,)
Fill.Position = .(,,,)
Fill.BackgroundColor3 = .(,,)
Fill.ZIndex =
FillCorner = .(, Fill)
FillCorner.CornerRadius = .(,)
Knob = .(, Track)
Knob.Size = .(,,,)
Knob.Position = .(, -, , -)
Knob.BackgroundTransparency =
Knob.ZIndex =
KnobFrame = .(, Knob)
KnobFrame.Size = .(,,,)
KnobFrame.BackgroundColor3 = .(,,)
KnobCorner = .(, KnobFrame)
KnobCorner.CornerRadius = .(,)
KnobStroke = .(, KnobFrame)
KnobStroke.Color = .(,,)
KnobStroke.Thickness =
origTrackStrokeColor = TrackStroke.Color
origTrackStrokeThickness = TrackStroke.Thickness
origKnobStrokeColor = KnobStroke.Color
origKnobStrokeThickness = KnobStroke.Thickness
dragging =
dragInput =
mouseMoveConn =
targetRel =
visualRel =
animConn =
(rel)
rel = (rel, , )
Fill.Size = .(rel, , , )
Knob.Position = .(rel, -, , -)
()
animConn
animConn = RunService.RenderStepped:((dt)
speed =
visualRel = visualRel + (targetRel - visualRel) * .(, speed * dt)
(visualRel)
)
()
animConn animConn:() animConn =
(value)
step step >
value = .((value - minVal) / step + ) * step + minVal
value = (value, minVal, maxVal)
rel =
maxVal > minVal rel = (value - minVal) / (maxVal - minVal)
targetRel = rel
visualRel = rel
(rel)
Label.Text = name
ValueLabel.Text = (value)
onChange (() (value) )
(value)
step step >
value = .((value - minVal) / step + ) * step + minVal
value = (value, minVal, maxVal)
rel =
maxVal > minVal rel = (value - minVal) / (maxVal - minVal)
targetRel = rel
Label.Text = name
ValueLabel.Text = (value)
onChange (() (value) )
()
(rel)
rel = (rel, , )
value = minVal + rel * (maxVal - minVal)
(value)
(x)
absX = Track.AbsolutePosition.X
width = Track.AbsoluteSize.X
width <=
rel = (x - absX) / width
(rel)
()
mouseMoveConn
mouseMoveConn:()
mouseMoveConn =
()
currentValue = (ValueLabel.Text) (inputTextBox.Text) defaultValue
.(currentValue - defaultValue) <
ResetBtn.BackgroundColor3 = .(, , )
ResetStroke.Color = .(, , )
ResetBtn.BackgroundColor3 = .(, , )
ResetStroke.Color = .(, , )
(input)
activeSlider ~= activeSlider ~= Container
activeSlider = Container
dragging =
dragInput = input
TrackStroke.Color = .(,,)
TrackStroke.Thickness =
KnobStroke.Color = .(,,)
KnobStroke.Thickness =
()
input.UserInputType == .UserInputType.MouseButton1
()
mouseMoveConn = RunService.RenderStepped:(()
dragging
mouseLoc = UserInputService:()
(mouseLoc.X)
)
input.Changed:(()
input.UserInputState == .UserInputState.End
dragging =
dragInput =
()
visualRel = targetRel
(visualRel)
()
TrackStroke.Color = origTrackStrokeColor
TrackStroke.Thickness = origTrackStrokeThickness
KnobStroke.Color = origKnobStrokeColor
KnobStroke.Thickness = origKnobStrokeThickness
activeSlider =
()
)
Knob.InputBegan:((input)
input.UserInputType == .UserInputType.MouseButton1 input.UserInputType == .UserInputType.Touch
(input)
)
Track.InputBegan:((input)
input.UserInputType == .UserInputType.MouseButton1 input.UserInputType == .UserInputType.Touch
activeSlider ==
(input)
input.Position
(input.Position.X)
input.UserInputType == .UserInputType.MouseButton1
mouseLoc = UserInputService:()
(mouseLoc.X)
)
UserInputService.InputChanged:((input)
dragging
input.UserInputType == .UserInputType.Touch
dragInput input == dragInput
(input.Position.X)
input.UserInputType == .UserInputType.MouseMovement
dragInput dragInput.UserInputType == .UserInputType.MouseButton1
(input.Position.X)
)
UserInputService.InputEnded:((input)
dragging
input == dragInput input.UserInputType == .UserInputType.MouseButton1
dragging =
dragInput =
()
visualRel = targetRel
(visualRel)
()
TrackStroke.Color = origTrackStrokeColor
TrackStroke.Thickness = origTrackStrokeThickness
KnobStroke.Color = origKnobStrokeColor
KnobStroke.Thickness = origKnobStrokeThickness
activeSlider =
()
)
editingInput =
inputTextBox = .(, Container)
inputTextBox.Size = .(, , , )
inputTextBox.Position = .(, -, , )
inputTextBox.BackgroundColor3 = .(,,)
inputTextBox.BorderSizePixel =
inputTextBox.Font = .Font.SourceSans
inputTextBox.TextSize =
inputTextBox.TextXAlignment = .TextXAlignment.Center
inputTextBox.TextColor3 = .(,,)
inputTextBox.Visible =
inputTextBox.ZIndex =
inputTextBox.ClearTextOnFocus =
inputCorner = .(, inputTextBox)
inputCorner.CornerRadius = .(, )
inputStroke = .(, inputTextBox)
inputStroke.Color = .(,,)
inputStroke.Thickness =
ValueLabel.MouseButton1Click:(()
editingInput
editingInput =
ValueLabel.Visible =
inputTextBox.Visible =
inputTextBox.Text = ValueLabel.Text
inputTextBox:()
inputTextBox.SelectionStart =
inputTextBox.CursorPosition = #inputTextBox.Text +
)
()
editingInput
editingInput =
inputTextBox.Visible =
ValueLabel.Visible =
inputText = inputTextBox.Text:(, )
inputValue = (inputText)
inputValue
inputValue = (inputValue, minVal, maxVal)
(inputValue)
()
inputTextBox.FocusLost:(finishEditing)
inputTextBox.InputBegan:((input)
input.KeyCode == .KeyCode.Return
()
input.KeyCode == .KeyCode.Escape
editingInput =
inputTextBox.Visible =
ValueLabel.Visible =
)
inputTextBox.Changed:((property)
property == editingInput
filtered = inputTextBox.Text:(, )
filtered ~= inputTextBox.Text
inputTextBox.Text = filtered
)
ResetBtn.MouseButton1Click:(()
(defaultValue)
()
)
RunService.Heartbeat:()
(defaultValue)
()
{ setValue = (v) ((v, minVal, maxVal)) , getValue = () (ValueLabel.Text) (inputTextBox.Text) defaultValue , container = Container }
controlRefs = {}
controlRefs.Brightness = { ctrl = (, Lighting.Brightness , Sections.Lighting, , , (v) Lighting.Brightness = v , ), getter = () Lighting.Brightness }
controlRefs.Exposure = { ctrl = (, Lighting.ExposureCompensation , Sections.Lighting, -, , (v) Lighting.ExposureCompensation = v , ), getter = () Lighting.ExposureCompensation }
controlRefs.ShadowSoftness = { ctrl = (, Lighting.ShadowSoftness , Sections.Lighting, , , (v) Lighting.ShadowSoftness = v , ), getter = () Lighting.ShadowSoftness }
clockSlider = (, Lighting.ClockTime , Sections.Time, , , (v)
autoClockRunning
Lighting.ClockTime = v
, )
controlRefs.ClockTime = { ctrl = clockSlider, getter = () Lighting.ClockTime }
autoClockBtn = (, , Sections.Time, (enabled)
autoClockRunning = enabled
)
controlRefs.AutoClock = { ctrl = autoClockBtn, getter = () autoClockBtn.() }
controlRefs.ClockSpeed = { ctrl = (, , Sections.Time, , , (v) autoClockSpeed = v , ), getter = () autoClockSpeed }
controlRefs.FogStart = { ctrl = (, Lighting.FogStart , Sections.Time, , , (v) Lighting.FogStart = v , ), getter = () Lighting.FogStart }
controlRefs.FogEnd = { ctrl = (, Lighting.FogEnd , Sections.Time, , , (v) Lighting.FogEnd = v , ), getter = () Lighting.FogEnd }
controlRefs.EnvironmentDiffuseScale = { ctrl = (, Lighting.EnvironmentDiffuseScale , Sections.Environment, , , (v) Lighting.EnvironmentDiffuseScale = v , ), getter = () Lighting.EnvironmentDiffuseScale }
controlRefs.EnvironmentSpecularScale = { ctrl = (, Lighting.EnvironmentSpecularScale , Sections.Environment, , , (v) Lighting.EnvironmentSpecularScale = v , ), getter = () Lighting.EnvironmentSpecularScale }
controlRefs.Reflectance = { ctrl = (, LightingConfig.Reflectance , Sections.Environment, , , (v)
LightingConfig.Reflectance = v
_, part (Workspace:()) (part)
, ), getter = () LightingConfig.Reflectance }
()
gameInterfaceHidden
gameInterfaceHidden =
gameGuiAddedConnection
gameGuiAddedConnection:()
gameGuiAddedConnection =
gui, state (hiddenGameGuiStates)
gui gui.Parent
(() gui.Enabled = state.Enabled )
hiddenGameGuiStates = {}
()
gameInterfaceHidden
gameInterfaceHidden =
hiddenGameGuiStates = {}
playerGui = LOCAL_PLAYER:()
_, gui (playerGui:())
gui:() gui ~= ScreenGui
hiddenGameGuiStates[gui] = { Enabled = gui.Enabled }
(() gui.Enabled = )
gameGuiAddedConnection = playerGui.ChildAdded:((child)
gameInterfaceHidden
child:() child ~= ScreenGui
.(()
gameInterfaceHidden child.Parent
(() child.Enabled = )
)
)
()
robloxInterfaceHidden
robloxInterfaceHidden =
name, enabled (hiddenCoreGuiStates)
coreType = .CoreGuiType[name]
coreType
(coreType, enabled)
hiddenCoreGuiStates = {}
()
robloxInterfaceHidden
robloxInterfaceHidden =
hiddenCoreGuiStates = {}
coreTypes = {
.CoreGuiType.Chat,
.CoreGuiType.Backpack,
.CoreGuiType.PlayerList,
.CoreGuiType.Health
}
_, coreType (coreTypes)
ok, enabled = (()
StarterGui:(coreType)
)
hiddenCoreGuiStates[coreType.Name] =
(ok (enabled) == ean") and enabled or true
setCoreGuiEnabledSafe(coreType, false)
end
end
local hideGameInterfaceBtn = createToggleControl("Ocultar interfaz del juego", false, Sections.Interface, function(v)
if v then
hideGameInterface()
else
restoreGameInterface()
end
end)
controlRefs.HideGameInterface = {
ctrl = hideGameInterfaceBtn,
getter = function() return gameInterfaceHidden end
}
local hideRobloxInterfaceBtn = createToggleControl("Ocultar interfaz de Roblox", false, Sections.Interface, function(v)
if v then
hideRobloxInterface()
else
restoreRobloxInterface()
end
end)
controlRefs.HideRobloxInterface = {
ctrl = hideRobloxInterfaceBtn,
getter = function() return robloxInterfaceHidden end
}
-- EFECTOS: BLOOM
do
local bloomInst = addOrUpdateEffect("BloomEffect", EffectsConfig.BloomEffect)
if bloomInst then
controlRefs.Bloom_Intensity = { ctrl = createSliderControl("Brillo Bloom", bloomInst.Intensity or 0.35, Sections.Bloom, 0, 5, function(v) pcall(function() bloomInst.Intensity = v end) end, 0.01), getter = function() return bloomInst.Intensity end }
controlRefs.Bloom_Threshold = { ctrl = createSliderControl("Umbral Bloom", bloomInst.Threshold or 2.4, Sections.Bloom, 0, 5, function(v) pcall(function() bloomInst.Threshold = v end) end, 0.01), getter = function() return bloomInst.Threshold end }
controlRefs.Bloom_Size = { ctrl = createSliderControl("Tamaño Bloom", bloomInst.Size or 22, Sections.Bloom, 0, 100, function(v) pcall(function() bloomInst.Size = v end) end, 0.01), getter = function() return bloomInst.Size end }
controlRefs.Bloom_Enabled = { ctrl = createToggleControl("Efecto Bloom", bloomInst.Enabled, Sections.Bloom, function(v) pcall(function() bloomInst.Enabled = v end) end), getter = function() return bloomInst.Enabled end }
end
end
-- EFECTOS: COLOR CORRECTION
do
local ccInst = addOrUpdateEffect("ColorCorrectionEffect", EffectsConfig.ColorCorrectionEffect)
if ccInst then
controlRefs.CC_Brightness = { ctrl = createSliderControl("Brillo Color", ccInst.Brightness or 0, Sections.Color, -1, 1, function(v) pcall(function() ccInst.Brightness = v end) end, 0.01), getter = function() return ccInst.Brightness end }
controlRefs.CC_Contrast = { ctrl = createSliderControl("Contraste Color", ccInst.Contrast or 0.2, Sections.Color, -2, 2, function(v) pcall(function() ccInst.Contrast = v end) end, 0.01), getter = function() return ccInst.Contrast end }
controlRefs.CC_Saturation = { ctrl = createSliderControl("Saturación Color", ccInst.Saturation or 0.25, Sections.Color, -2, 2, function(v) pcall(function() ccInst.Saturation = v end) end, 0.01), getter = function() return ccInst.Saturation end }
controlRefs.CC_Enabled = { ctrl = createToggleControl("Corrección de Color", ccInst.Enabled, Sections.Color, function(v) pcall(function() ccInst.Enabled = v end) end), getter = function() return ccInst.Enabled end }
end
end
-- EFECTOS: BLUR
do
local blurInst = addOrUpdateEffect("BlurEffect", EffectsConfig.BlurEffect)
if blurInst then
controlRefs.Blur_Size = { ctrl = createSliderControl("Intensidad Desenfoque", blurInst.Size or 0, Sections.Blur, 0, 50, function(v) pcall(function() blurInst.Size = v end) end, 0.01), getter = function() return blurInst.Size end }
controlRefs.Blur_Enabled = { ctrl = createToggleControl("Efecto Desenfoque", blurInst.Enabled, Sections.Blur, function(v) pcall(function() blurInst.Enabled = v end) end), getter = function() return blurInst.Enabled end }
end
end
-- EFECTOS: DOF (Solo PC)
if not UserInputService.TouchEnabled then
do
local dofInst = addOrUpdateEffect("DepthOfFieldEffect", EffectsConfig.DepthOfFieldEffect)
if dofInst then
controlRefs.DOF_Radius = { ctrl = createSliderControl("Radio Enfoque", dofInst.InFocusRadius or 80, Sections.Blur, 0, 350, function(v) pcall(function() dofInst.InFocusRadius = v end) end, 0.01), getter = function() return dofInst.InFocusRadius end }
controlRefs.DOF_NearIntensity = { ctrl = createSliderControl("Intensidad Cercano", dofInst.NearIntensity or 0.25, Sections.Blur, 0, 10, function(v) pcall(function() dofInst.NearIntensity = v end) end, 0.01), getter = function() return dofInst.NearIntensity end }
controlRefs.DOF_FarIntensity = { ctrl = createSliderControl("Intensidad Lejano", dofInst.FarIntensity or 0.35, Sections.Blur, 0, 1, function(v) pcall(function() dofInst.FarIntensity = v end) end, 0.01), getter = function() return dofInst.FarIntensity end }
controlRefs.DOF_FocusDistance = { ctrl = createSliderControl("Distancia Enfoque", dofInst.FocusDistance or 18, Sections.Blur, 0, 200, function(v) pcall(function() dofInst.FocusDistance = v end) end, 0.01), getter = function() return dofInst.FocusDistance end }
controlRefs.DOF_Enabled = { ctrl = createToggleControl("Efecto DOF", dofInst.Enabled, Sections.Blur, function(v) pcall(function() dofInst.Enabled = v end) end), getter = function() return dofInst.Enabled end }
end
end
do
local sunInst = addOrUpdateEffect("SunRaysEffect", EffectsConfig.SunRaysEffect)
if sunInst then
controlRefs.Sun_Intensity = { ctrl = createSliderControl("Intensidad Rayos Sol", sunInst.Intensity or 0.4, Sections.Sun, 0, 5, function(v) pcall(function() sunInst.Intensity = v end) end, 0.01), getter = function() return sunInst.Intensity end }
controlRefs.Sun_Spread = { ctrl = createSliderControl("Dispersión Rayos Sol", sunInst.Spread or 2.8, Sections.Sun, 0, 10, function(v) pcall(function() sunInst.Spread = v end) end, 0.01), getter = function() return sunInst.Spread end }
controlRefs.Sun_Enabled = { ctrl = createToggleControl("Efecto Rayos Sol", sunInst.Enabled, Sections.Sun, function(v) pcall(function() sunInst.Enabled = v end) end), getter = function() return sunInst.Enabled end }
end
end
end
-- CANVAS SIZE + detección de sección visible
local function updateCanvasSize()
Scroll.CanvasSize = UDim2.new(0,0,0,UIListLayout.AbsoluteContentSize.Y+16)
end
UIListLayout:GetPropertyChangedSignal("AbsoluteContentSize"):Connect(updateCanvasSize)
Scroll.ChildAdded:Connect(function() task.defer(updateCanvasSize) end)
Scroll.ChildRemoved:Connect(function() task.defer(updateCanvasSize) end)
Scroll:GetPropertyChangedSignal("CanvasPosition"):Connect(function()
local viewportY = Scroll.AbsolutePosition.Y + 20
local bestKey, bestDistance = activeCategory, math.huge
for key,section in pairs(categorySections) do
local d = math.abs(section.AbsolutePosition.Y - viewportY)
if section.AbsolutePosition.Y <= viewportY + 80 and d < bestDistance then bestKey=key; bestDistance=d end
end
if bestKey then setCategoryActive(bestKey) end
end)
RunService.Heartbeat:Wait()
updateCanvasSize()
setCategoryActive("Lighting")
-- RESET BUTTON
ResetButton.MouseButton1Click:Connect(function()
autoClockRunning = false
for property, value in pairs(LightingConfig) do
pcall(function() Lighting[property] = value end)
end
for _, part in ipairs(Workspace:GetDescendants()) do
applyPartReflectance(part)
end
for effectType, properties in pairs(EffectsConfig) do
addOrUpdateEffect(effectType, properties)
end
-- Restaurar ambas clases de interfaz sin inventar estados nuevos.
if gameInterfaceHidden then
restoreGameInterface()
end
if robloxInterfaceHidden then
restoreRobloxInterface()
else
-- Si no estaba temporalmente oculta, mantener la restauración
-- original del script para el botón de reinicio.
for name, val in pairs(originalCoreGuiStates) do
local enumVal = Enum.CoreGuiType[name]
if enumVal then setCoreGuiEnabledSafe(enumVal, val) end
end
end
for k, ref in pairs(controlRefs) do
if ref.ctrl and ref.ctrl.setValue then
local ok, value = pcall(function() return ref.getter and ref.getter() end)
if ok and value ~= nil then pcall(function() ref.ctrl.setValue(value) end) end
elseif ref.ctrl and ref.ctrl.setValueSilent then
local ok, value = pcall(function() return ref.getter and ref.getter() end)
if ok and value ~= nil then pcall(function() ref.ctrl.setValueSilent(value) end) end
end
end
end)
return ScreenGui, Frame
end
local ScreenGui, Frame = createScreenGui()
toggleMenu = function()
if Frame then
if Frame.Visible then
-- SALIDA (fluida)
local tweenInfo = TweenInfo.new(0.5, Enum.EasingStyle.Quad, Enum.EasingDirection.InOut)
local tween = TweenService:Create(Frame, tweenInfo, {
Position = UDim2.new(0.5, -Frame.AbsoluteSize.X/2, 1, Frame.AbsoluteSize.Y),
BackgroundTransparency = 1
})
tween:Play()
tween.Completed:Connect(function()
Frame.Visible = false
ScreenGui.InputBlocker.Visible = false
end)
else
-- ENTRADA (realmente animada)
Frame.Visible = true
ScreenGui.InputBlocker.Visible = true
Frame.BackgroundTransparency = 1
local cam = workspace.CurrentCamera
if cam then
local vs = cam.ViewportSize
local w = math.min(760, math.max(100, vs.X - 40))
local h = math.min(620, math.max(100, vs.Y - 40))
Frame.Size = UDim2.new(0, w, 0, h)
local xPos = (vs.X - w) / 2
local yPos = (vs.Y - h) / 2 - 60
-- posición final (centro)
local finalPos = UDim2.new(0, xPos, 0, yPos)
-- posición inicial (abajo, fuera de pantalla)
Frame.Position = UDim2.new(0, xPos, 1, h)
local tweenInfo = TweenInfo.new(0.6, Enum.EasingStyle.Back, Enum.EasingDirection.Out)
local tween = TweenService:Create(Frame, tweenInfo, {
Position = finalPos,
BackgroundTransparency = 0
})
tween:Play()
end
end
end
end
UserInputService.InputBegan:Connect(function(input, gameProcessed)
if gameProcessed then return end
if input.KeyCode == Enum.KeyCode.RightControl then toggleMenu() end
end)
task.delay(5, function()
pcall(function()
StarterGui:SetCore("SendNotification", {
Title = "Menú de Iluminación",
Text = "Presiona Ctrl Derecho para abrir/cerrar o usa el botón ⚙",
Duration = 6
})
end)
end)
local function ensureUI()
if not LOCAL_PLAYER.PlayerGui:FindFirstChild("LightingMenu") then
ScreenGui, Frame = createScreenGui()
end
end
LOCAL_PLAYER.CharacterAdded:Connect(function() RunService.RenderStepped:Wait(); ensureUI() end)
LOCAL_PLAYER.PlayerGui.ChildRemoved:Connect(function(child) if child.Name == "LightingMenu" then RunService.RenderStepped:Wait(); ensureUI() end end)
este script es para mejorar o cambiar algunos aspectos visuales en los juegos en pc se presiona la tecla ctrl derecha y en móviles el botón de menú

Universal