Run it
Copy the script and paste it into your executor.
Players = :()
ReplicatedStorage = :()
UserInputService = :()
Player = Players.LocalPlayer
PlayerGui = Player:()
GUI_NAME =
DECAL_1 =
DECAL_2 =
DECAL_3 =
DECAL_4 =
SKY_MESH =
THEME_SOUND =
SOUND =
Old = PlayerGui:(GUI_NAME)
Old
Old:()
Gui = .()
Gui.Name = GUI_NAME
Gui.ResetOnSpawn =
Gui.IgnoreGuiInset =
Gui.ZIndexBehavior = .ZIndexBehavior.Sibling
Gui.Parent = PlayerGui
Main = .()
Main.Name =
Main.Size = .(, )
Main.Position = .(, -, , -)
Main.BackgroundColor3 = .(, , )
Main.BorderSizePixel =
Main.Active =
Main.ZIndex =
Main.Parent = Gui
MainCorner = .()
MainCorner.CornerRadius = .(, )
MainCorner.Parent = Main
MainStroke = .()
MainStroke.Color = .(, , )
MainStroke.Thickness =
MainStroke.Parent = Main
Header = .()
Header.Name =
Header.Size = .(, , , )
Header.BackgroundColor3 = .(, , )
Header.BorderSizePixel =
Header.Active =
Header.ZIndex =
Header.Parent = Main
HeaderCorner = .()
HeaderCorner.CornerRadius = .(, )
HeaderCorner.Parent = Header
HeaderTitle = .()
HeaderTitle.BackgroundTransparency =
HeaderTitle.Position = .(, )
HeaderTitle.Size = .(, -, , )
HeaderTitle.Text =
HeaderTitle.TextColor3 = .(, , )
HeaderTitle.TextSize =
HeaderTitle.Font = .Font.GothamBold
HeaderTitle.TextXAlignment = .TextXAlignment.Left
HeaderTitle.ZIndex =
HeaderTitle.Parent = Header
Close = .()
Close.Name =
Close.Size = .(, )
Close.Position = .(, -, , )
Close.BackgroundColor3 = .(, , )
Close.Text =
Close.TextColor3 = .(, , )
Close.TextSize =
Close.Font = .Font.GothamBold
Close.AutoButtonColor =
Close.Active =
Close.ZIndex =
Close.Parent = Header
CloseCorner = .()
CloseCorner.CornerRadius = .(, )
CloseCorner.Parent = Close
Reopen = .()
Reopen.Name =
Reopen.Size = .(, )
Reopen.Position = .(, , , -)
Reopen.BackgroundColor3 = .(, , )
Reopen.Text =
Reopen.TextColor3 = .(, , )
Reopen.TextSize =
Reopen.Font = .Font.GothamBold
Reopen.Visible =
Reopen.Active =
Reopen.ZIndex =
Reopen.Parent = Gui
ReopenCorner = .()
ReopenCorner.CornerRadius = .(, )
ReopenCorner.Parent = Reopen
ReopenStroke = .()
ReopenStroke.Color = .(, , )
ReopenStroke.Thickness =
ReopenStroke.Parent = Reopen
Close.Activated:(()
Main.Visible =
Reopen.Visible =
)
Reopen.Activated:(()
Main.Visible =
Reopen.Visible =
)
Dragging =
DragStart
StartPosition
Header.InputBegan:((Input)
Input.UserInputType ~= .UserInputType.MouseButton1
Input.UserInputType ~= .UserInputType.Touch
MousePosition = Input.Position
ClosePosition = Close.AbsolutePosition
CloseSize = Close.AbsoluteSize
MousePosition.X >= ClosePosition.X
MousePosition.X <= ClosePosition.X + CloseSize.X
MousePosition.Y >= ClosePosition.Y
MousePosition.Y <= ClosePosition.Y + CloseSize.Y
Dragging =
DragStart = Input.Position
StartPosition = Main.Position
Input.Changed:(()
Input.UserInputState == .UserInputState.End
Dragging =
)
)
UserInputService.InputChanged:((Input)
Dragging
Input.UserInputType ~= .UserInputType.MouseMovement
Input.UserInputType ~= .UserInputType.Touch
Delta = Input.Position - DragStart
Main.Position = .(
StartPosition.X.Scale,
StartPosition.X.Offset + Delta.X,
StartPosition.Y.Scale,
StartPosition.Y.Offset + Delta.Y
)
)
Scroll = .()
Scroll.Name =
Scroll.Position = .(, )
Scroll.Size = .(, -, , -)
Scroll.BackgroundTransparency =
Scroll.BorderSizePixel =
Scroll.ScrollBarThickness =
Scroll.ScrollBarImageColor3 = .(, , )
Scroll.AutomaticCanvasSize = .AutomaticSize.Y
Scroll.CanvasSize = .()
Scroll.ScrollingDirection = .ScrollingDirection.Y
Scroll.Active =
Scroll.ZIndex =
Scroll.Parent = Main
ScrollPadding = .()
ScrollPadding.PaddingTop = .(, )
ScrollPadding.PaddingBottom = .(, )
ScrollPadding.PaddingLeft = .(, )
ScrollPadding.PaddingRight = .(, )
ScrollPadding.Parent = Scroll
Layout = .()
Layout.Padding = .(, )
Layout.SortOrder = .SortOrder.LayoutOrder
Layout.Parent = Scroll
Status = .()
Status.BackgroundTransparency =
Status.Position = .(, , , -)
Status.Size = .(, -, , )
Status.Text =
Status.TextColor3 = .(, , )
Status.TextSize =
Status.Font = .Font.Gotham
Status.ZIndex =
Status.Parent = Main
Remote =
F3XTool =
()
Remote =
F3XTool =
_, v Player:()
v.Name ==
F3XTool = v.Parent
SyncAPI = F3XTool:()
SyncAPI
Endpoint = SyncAPI:()
Endpoint
Remote = Endpoint
Remote
_, v ReplicatedStorage:()
v.Name ==
F3XTool = v.Parent
SyncAPI = F3XTool:()
SyncAPI
Endpoint = SyncAPI:()
Endpoint
Remote = Endpoint
Remote
Status.Text =
Status.TextColor3 = .(, , )
Status.Text =
Status.TextColor3 = .(, , )
Remote
()
(Arguments)
Remote
()
Remote
()
Success, Result = (()
Remote:((Arguments))
)
Success
(, Result)
()
(Part, Boolean)
({
,
{
{
Part = Part,
CanCollide = Boolean
}
}
})
(Boolean, Part)
({
,
{
{
Part = Part,
Anchored = Boolean
}
}
})
(CF, Parent)
({
,
,
CF,
Parent
})
(Part)
({
,
{Part}
})
(Part, CF)
({
,
{
{
Part = Part,
= CF
}
}
})
(Part, Size, CF)
({
,
{
{
Part = Part,
= CF,
Size = Size
}
}
})
(Part)
({
,
{
{
Part = Part
}
}
})
(Part, MeshId)
({
,
{
{
Part = Part,
MeshId = .. MeshId
}
}
})
(Part, TextureId)
({
,
{
{
Part = Part,
TextureId = .. TextureId
}
}
})
(Part, Name)
({
,
{Part},
Name
})
(Part, Size)
({
,
{
{
Part = Part,
Scale = Size
}
}
})
(Part, Boolean)
({
,
{Part},
Boolean
})
(Part, Value)
({
,
{
{
Part = Part,
Transparency = Value
}
}
})
(Part, ColorValue)
({
,
{
{
Part = Part,
Color = ColorValue,
UnionColoring =
}
}
})
(Part, Face)
({
,
{
{
Part = Part,
Face = Face,
TextureType =
}
}
})
(Part, Asset, Face)
({
,
{
{
Part = Part,
Face = Face,
TextureType = ,
Texture = .. Asset
}
}
})
(Command)
Success, Error = (()
RequestCommand =
ReplicatedStorage
:()
.Signals
.RequestCommand
RequestCommand:(Command)
)
Success
(, Error)
Order =
()
Order +=
Order
(Text)
Label = .()
Label.Size = .(, -, , )
Label.BackgroundColor3 = .(, , )
Label.BorderSizePixel =
Label.Text = .. Text
Label.TextColor3 = .(, , )
Label.TextSize =
Label.Font = .Font.GothamBold
Label.TextXAlignment = .TextXAlignment.Left
Label.LayoutOrder = ()
Label.Parent = Scroll
Corner = .()
Corner.CornerRadius = .(, )
Corner.Parent = Label
Label
(Text, Callback)
B = .()
B.Size = .(, -, , )
B.BackgroundColor3 = .(, , )
B.BorderSizePixel =
B.Text = Text
B.TextColor3 = .(, , )
B.TextSize =
B.Font = .Font.GothamBold
B.AutoButtonColor =
B.Active =
B.LayoutOrder = ()
B.Parent = Scroll
Corner = .()
Corner.CornerRadius = .(, )
Corner.Parent = B
Stroke = .()
Stroke.Color = .(, , )
Stroke.Thickness =
Stroke.Parent = B
B.Activated:(()
.(()
Success, Error = (Callback)
Success
(, Error)
)
)
B
()
(, ()
()
.()
()
)
(, ()
()
)
(, ()
()
)
(, ()
()
)
(, ()
()
)
(, ()
()
)
(, ()
()
)
(, ()
()
)
(, ()
()
)
(, ()
i = ,
()
.()
)
()
(, ()
( .. THEME_SOUND)
()
)
(, ()
( .. SOUND)
)
Decals = {
DECAL_1,
DECAL_2,
DECAL_3,
DECAL_4
}
Faces = {
.NormalId.Front,
.NormalId.Back,
.NormalId.Right,
.NormalId.Left,
.NormalId.Bottom,
.NormalId.Top
}
(Id)
_, Part :()
Part:()
.(()
(Part, )
_, Face Faces
(Part, Face)
(
Part,
Id,
Face
)
)
()
(, ()
(DECAL_1)
)
(, ()
(DECAL_2)
)
(, ()
(DECAL_3)
)
(, ()
(DECAL_4)
)
CurrentSky =
DiscoRunning =
TrippyRunning =
(CF)
Existing = {}
_, Part :()
Part:()
(Part.Position - CF.Position).Magnitude <
Existing[Part] =
Existing
(CF, Existing)
Attempt = ,
_, Part :()
Part:()
Existing[Part]
(Part.Position - CF.Position).Magnitude <
Part
.()
(Id)
Character = Player.Character
Character
Root = Character:()
Root
DiscoRunning =
TrippyRunning =
Position = .(
.(Root.Position.X),
.(Root.Position.Y) + ,
.(Root.Position.Z)
)
CF = .(Position)
Existing = (CF)
(CF, )
SkyPart = (
CF,
Existing
)
SkyPart
(
)
CurrentSky = SkyPart
(
SkyPart,
)
(SkyPart)
(
SkyPart,
SKY_MESH
)
(
SkyPart,
Id
)
(
SkyPart,
.(
,
,
)
)
(
SkyPart,
)
Status.Text =
()
(, ()
(DECAL_1)
)
(, ()
(DECAL_2)
)
(, ()
(DECAL_3)
)
(, ()
(DECAL_4)
)
(, ()
CurrentSky
Status.Text =
DiscoRunning = DiscoRunning
DiscoRunning
Status.Text =
Status.Text =
.(()
Hue =
DiscoRunning
CurrentSky
CurrentSky.Parent
Hue +=
Hue >=
Hue -=
(
CurrentSky,
.(
Hue,
,
)
)
.()
)
)
(, ()
CurrentSky
Status.Text =
TrippyRunning = TrippyRunning
TrippyRunning
Status.Text =
Status.Text =
.(()
Step =
TrippyRunning
CurrentSky
CurrentSky.Parent
Step +=
Mode = Step %
Angle =
.(
(Step * ) %
)
CF
Mode ==
CF =
CurrentSky.CFrame
* .(
Angle,
,
)
Mode ==
CF =
CurrentSky.CFrame
* .(
,
Angle,
)
Mode ==
CF =
CurrentSky.CFrame
* .(
Angle,
Angle,
)
CF =
CurrentSky.CFrame
* .(
,
,
Angle
)
(
CurrentSky,
CF
)
.()
)
)
(, ()
DiscoRunning =
TrippyRunning =
Status.Text =
)
()
()
Parts = {}
_, Part :()
Part:()
.(
Parts,
Part
)
Parts
(, ()
_, Part ()
(
,
Part
)
)
(, ()
_, Part ()
(
,
Part
)
)
(, ()
_, Part ()
(
Part,
)
)
(, ()
_, Part ()
(
Part,
.(
,
,
)
)
)
(, ()
_, Part ()
(
Part,
)
)
()
(, ()
Character = Player.Character
Character
Root =
Character:(
)
Root
Position =
Root.Position
+ .(
,
-,
)
CF =
.(Position)
Existing =
(CF)
(
CF,
)
Base =
(
CF,
Existing
)
Base
(
Base,
.(
,
,
),
CF
)
(
Base,
.(
,
,
)
)
(
,
Base
)
(
Base,
)
)
(, ()
Character =
Player.Character
Character
Root =
Character:(
)
Root
BasePosition =
Root.Position
+ .(
,
,
-
)
FloorCF =
.(BasePosition)
FloorExisting =
(FloorCF)
(
FloorCF,
)
Floor =
(
FloorCF,
FloorExisting
)
Floor
(
Floor,
.(
,
,
),
FloorCF
)
(
Floor,
.(
,
,
)
)
(
,
Floor
)
Walls = {
{
.(
,
,
),
BasePosition
+ .(
,
,
-
)
},
{
.(
,
,
),
BasePosition
+ .(
,
,
)
},
{
.(
,
,
),
BasePosition
+ .(
-,
,
)
},
{
.(
,
,
),
BasePosition
+ .(
,
,
)
}
}
_, Data Walls
Size = Data[]
Position = Data[]
WallCF =
.(Position)
Existing =
(WallCF)
(
WallCF,
)
Wall =
(
WallCF,
Existing
)
Wall
(
Wall,
Size,
WallCF
)
(
Wall,
.(
,
,
)
)
(
,
Wall
)
)
()
Camera =
.CurrentCamera
Camera
Viewport =
Camera.ViewportSize
Width =
.(
,
.(
,
Viewport.X -
)
)
Height =
.(
,
.(
,
Viewport.Y -
)
)
Main.Size =
.(
Width,
Height
)
Main.Position =
.(
,
-Width / ,
,
-Height /
)
()
.CurrentCamera
.CurrentCamera
:(
)
:(FitGUI)
Player.CharacterAdded:(()
.()
()
)
(
,
Remote
)
Universal