Run it
Copy the script and paste it into your executor.
GUI_NAME =
BTN_HEIGHT =
BTN_WIDTH_SCALE =
BTN_MARGIN =
TITLE_HEIGHT =
C_BG = .(, , )
C_TITLE_BG = .(, , )
C_BTN = .(, , )
C_BTN_HV = .(, , )
C_ACCENT = .(, , )
C_TEXT = .(, , )
C_DIM = .(, , )
ScreenGui = .()
ScreenGui.Name = GUI_NAME
ScreenGui.ResetOnSpawn =
ScreenGui.ZIndexBehavior = .ZIndexBehavior.Sibling
ScreenGui.Parent = :() .Players.LocalPlayer:()
MainFrame = .()
MainFrame.Name =
MainFrame.Size = .(, , , )
MainFrame.Position = .(, -, , -)
MainFrame.BackgroundColor3 = C_BG
MainFrame.BorderSizePixel =
MainFrame.ClipsDescendants =
MainFrame.Parent = ScreenGui
Shadow = .()
Shadow.Size = .(, , , )
Shadow.Position = .(, -, , -)
Shadow.BackgroundColor3 = .(, , )
Shadow.BackgroundTransparency =
Shadow.BorderSizePixel =
Shadow.ZIndex = -
Shadow.Parent = MainFrame
TitleBar = .()
TitleBar.Size = .(, , , TITLE_HEIGHT)
TitleBar.BackgroundColor3 = C_TITLE_BG
TitleBar.BorderSizePixel =
TitleBar.Parent = MainFrame
TitleLabel = .()
TitleLabel.Size = .(, -, , )
TitleLabel.Position = .(, , , )
TitleLabel.BackgroundTransparency =
TitleLabel.Text = GUI_NAME
TitleLabel.TextColor3 = C_ACCENT
TitleLabel.Font = .Font.GothamBold
TitleLabel.TextSize =
TitleLabel.TextXAlignment = .TextXAlignment.Left
TitleLabel.Parent = TitleBar
CloseBtn = .()
CloseBtn.Size = .(, , , )
CloseBtn.Position = .(, -, , )
CloseBtn.BackgroundTransparency =
CloseBtn.Text =
CloseBtn.TextColor3 = C_DIM
CloseBtn.Font = .Font.GothamBold
CloseBtn.TextSize =
CloseBtn.Parent = TitleBar
CloseBtn.MouseEnter:(() CloseBtn.TextColor3 = .(, , ) )
CloseBtn.MouseLeave:(() CloseBtn.TextColor3 = C_DIM )
CloseBtn.MouseButton1Click:(() ScreenGui:() )
ScrollingFrame = .()
ScrollingFrame.Size = .(, -, , -(TITLE_HEIGHT + ))
ScrollingFrame.Position = .(, , , TITLE_HEIGHT + )
ScrollingFrame.BackgroundTransparency =
ScrollingFrame.ScrollBarThickness =
ScrollingFrame.ScrollBarImageColor3 = C_ACCENT
ScrollingFrame.AutomaticCanvasSize = .AutomaticSize.Y
ScrollingFrame.CanvasSize = .(, , , )
ScrollingFrame.Parent = MainFrame
Layout = .()
Layout.SortOrder = .SortOrder.LayoutOrder
Layout.Padding = .(, BTN_MARGIN)
Layout.Parent = ScrollingFrame
(name, label, icon, callback)
Btn = .()
Btn.Name = name
Btn.Size = .(BTN_WIDTH_SCALE, , , BTN_HEIGHT)
Btn.Position = .(( - BTN_WIDTH_SCALE) / , , , )
Btn.BackgroundColor3 = C_BTN
Btn.TextColor3 = C_TEXT
Btn.Font = .Font.GothamSemibold
Btn.TextSize =
Btn.TextXAlignment = .TextXAlignment.Left
Btn.Text = ():(icon, label)
Btn.AutoButtonColor =
Btn.LayoutOrder =
Btn.Parent = ScrollingFrame
Btn.MouseEnter:(() Btn.BackgroundColor3 = C_BTN_HV )
Btn.MouseLeave:(() Btn.BackgroundColor3 = C_BTN )
Btn.MouseButton1Click:(()
callback ()
)
Btn
()
tool
_, v .Players.LocalPlayer:()
v.Name == tool = v.Parent;
tool
_, v .ReplicatedStorage:()
v.Name == tool = v.Parent;
tool tool:()
tool.SyncAPI.ServerEndpoint
(remote, args)
remote:((args))
()
:()
:().Signals.RequestCommandSilent
(, , , ()
ok, err = (()
req = ()
req:()
()
)
ok ( .. (err))
)
(, , , ()
ok, err = (()
remote = ()
remote
char = .Players.LocalPlayer.Character
char
(args) (remote, args)
(part,boolean)
args = {
[] = ,
[] = {
[] = {
[] = part,
[] = boolean
}
}
}
(args)
(boolean,part)
args = {
[] = ,
[] = {
[] = {
[] = part,
[] = boolean
}
}
}
(args)
(cf,parent)
args = {
[] = ,
[] = ,
[] = cf,
[] = parent
}
(args)
(part)
args = {
[] = ,
[] = {
[] = part
}
}
(args)
(part,cf)
args = {
[] = ,
[] = {
[] = {
[] = part,
[] = cf
}
}
}
(args)
(part,size,cf)
args = {
[] = ,
[] = {
[] = {
[] = part,
[] = cf,
[] = size
}
}
}
(args)
(part)
args = {
[] = ,
[] = {
[] = {
[] = part
}
}
}
(args)
(part,meshid)
args = {
[] = ,
[] = {
[] = {
[] = part,
[] = ..meshid
}
}
}
(args)
(part, texid)
args = {
[] = ,
[] = {
[] = {
[] = part,
[] = ..texid
}
}
}
(args)
(part, stringg)
args = {
[] = ,
[] = {
[] = part
},
[] = stringg
}
(args)
(part,size)
args = {
[] = ,
[] = {
[] = {
[] = part,
[] = size
}
}
}
(args)
(part1, part2,lead)
args = {
[] = ,
[] = {
[] = part1,
[] = part2
},
[] = lead
}
(args)
(part,boolean)
args = {
[] = ,
[] = {
[] = part
},
[] = boolean
}
(args)
(part,int)
args = {
[] = ,
[] = {
[] = {
[] = part,
[] = int
}
}
}
(args)
(part)
args = {
[] = ,
[] = {
[] = {
[] = part,
[] =
}
}
}
(args)
(part,brightness)
args = {
[] = ,
[] = {
[] = {
[] = part,
[] = ,
[] = brightness
}
}
}
(args)
(part,color)
args = {
[] = ,
[] = {
[] = {
[] = part,
[] = color,
[] =
}
}
}
(args)
(part,side)
args = {
[] = ,
[] = {
[] = {
[] = part,
[] = side,
[] =
}
}
}
(args)
(part,asset,side)
args = {
[] = ,
[] = {
[] = {
[] = part,
[] = side,
[] = ,
[] = .. asset
}
}
}
(args)
root = char:()
pos = root.CFrame + .(, , )
(pos, )
.()
skyPart
_, v :()
v:() (v.Position - pos.Position).magnitude <
skyPart = v
skyPart
(skyPart, )
(skyPart)
(skyPart, )
(skyPart, )
(skyPart, .(, , ))
(skyPart, )
(, skyPart)
)
ok ( .. (err))
)
(, , , ()
ok, err = (()
remote = ()
remote
(args) (remote, args)
(part,boolean)
args = {
[] = ,
[] = {
[] = {
[] = part,
[] = boolean
}
}
}
(args)
(boolean,part)
args = {
[] = ,
[] = {
[] = {
[] = part,
[] = boolean
}
}
}
(args)
(cf,parent)
args = {
[] = ,
[] = ,
[] = cf,
[] = parent
}
(args)
(part)
args = {
[] = ,
[] = {
[] = part
}
}
(args)
(part,cf)
args = {
[] = ,
[] = {
[] = {
[] = part,
[] = cf
}
}
}
(args)
(part,size,cf)
args = {
[] = ,
[] = {
[] = {
[] = part,
[] = cf,
[] = size
}
}
}
(args)
(part)
args = {
[] = ,
[] = {
[] = {
[] = part
}
}
}
(args)
(part,meshid)
args = {
[] = ,
[] = {
[] = {
[] = part,
[] = ..meshid
}
}
}
(args)
(part, texid)
args = {
[] = ,
[] = {
[] = {
[] = part,
[] = ..texid
}
}
}
(args)
(part, stringg)
args = {
[] = ,
[] = {
[] = part
},
[] = stringg
}
(args)
(part,size)
args = {
[] = ,
[] = {
[] = {
[] = part,
[] = size
}
}
}
(args)
(part1, part2,lead)
args = {
[] = ,
[] = {
[] = part1,
[] = part2
},
[] = lead
}
(args)
(part,boolean)
args = {
[] = ,
[] = {
[] = part
},
[] = boolean
}
(args)
(part,int)
args = {
[] = ,
[] = {
[] = {
[] = part,
[] = int
}
}
}
(args)
(part)
args = {
[] = ,
[] = {
[] = {
[] = part,
[] =
}
}
}
(args)
(part,brightness)
args = {
[] = ,
[] = {
[] = {
[] = part,
[] = ,
[] = brightness
}
}
}
(args)
(part,color)
args = {
[] = ,
[] = {
[] = {
[] = part,
[] = color,
[] =
}
}
}
(args)
(part,side)
args = {
[] = ,
[] = {
[] = {
[] = part,
[] = side,
[] =
}
}
}
(args)
(part,asset,side)
args = {
[] = ,
[] = {
[] = {
[] = part,
[] = side,
[] = ,
[] = .. asset
}
}
}
(args)
id =
_, v :()
v:()
(()
(v,)
(v,.NormalId.Front)
(v,id,.NormalId.Front)
(v,.NormalId.Back)
(v,id,.NormalId.Back)
(v,.NormalId.Right)
(v,id,.NormalId.Right)
(v,.NormalId.Left)
(v,id,.NormalId.Left)
(v,.NormalId.Bottom)
(v,id,.NormalId.Bottom)
(v,.NormalId.Top)
(v,id,.NormalId.Top)
)
)
ok ( .. (err))
)
(, , , ()
ok, err = (()
remote = ()
remote
(args) (remote, args)
(part,boolean)
args = {
[] = ,
[] = {
[] = {
[] = part,
[] = boolean
}
}
}
(args)
(boolean,part)
args = {
[] = ,
[] = {
[] = {
[] = part,
[] = boolean
}
}
}
(args)
(cf,parent)
args = {
[] = ,
[] = ,
[] = cf,
[] = parent
}
(args)
(part)
args = {
[] = ,
[] = {
[] = part
}
}
(args)
(part,cf)
args = {
[] = ,
[] = {
[] = {
[] = part,
[] = cf
}
}
}
(args)
(part,size,cf)
args = {
[] = ,
[] = {
[] = {
[] = part,
[] = cf,
[] = size
}
}
}
(args)
(part)
args = {
[] = ,
[] = {
[] = {
[] = part
}
}
}
(args)
(part,meshid)
args = {
[] = ,
[] = {
[] = {
[] = part,
[] = ..meshid
}
}
}
(args)
(part, texid)
args = {
[] = ,
[] = {
[] = {
[] = part,
[] = ..texid
}
}
}
(args)
(part, stringg)
args = {
[] = ,
[] = {
[] = part
},
[] = stringg
}
(args)
(part,size)
args = {
[] = ,
[] = {
[] = {
[] = part,
[] = size
}
}
}
(args)
(part1, part2,lead)
args = {
[] = ,
[] = {
[] = part1,
[] = part2
},
[] = lead
}
(args)
(part,boolean)
args = {
[] = ,
[] = {
[] = part
},
[] = boolean
}
(args)
(part,int)
args = {
[] = ,
[] = {
[] = {
[] = part,
[] = int
}
}
}
(args)
(part)
args = {
[] = ,
[] = {
[] = {
[] = part,
[] =
}
}
}
(args)
(part,brightness)
args = {
[] = ,
[] = {
[] = {
[] = part,
[] = ,
[] = brightness
}
}
}
(args)
(part,color)
args = {
[] = ,
[] = {
[] = {
[] = part,
[] = color,
[] =
}
}
}
(args)
(part,side)
args = {
[] = ,
[] = {
[] = {
[] = part,
[] = side,
[] =
}
}
}
(args)
(part,asset,side)
args = {
[] = ,
[] = {
[] = {
[] = part,
[] = side,
[] = ,
[] = .. asset
}
}
}
(args)
id =
_, v :()
v:()
(()
(v,)
(v,.NormalId.Front)
(v,id,.NormalId.Front)
(v,.NormalId.Back)
(v,id,.NormalId.Back)
(v,.NormalId.Right)
(v,id,.NormalId.Right)
(v,.NormalId.Left)
(v,id,.NormalId.Left)
(v,.NormalId.Bottom)
(v,id,.NormalId.Bottom)
(v,.NormalId.Top)
(v,id,.NormalId.Top)
)
)
ok ( .. (err))
)
(, , , ()
ok, err = (()
SyncAPI = (:():())
_, obj (:())
obj:() obj:()
obj:()
ReplicatedStorage = :()
RemoteEvent = ReplicatedStorage:()
RemoteEvent
RemoteEvent:()
(size, position, color)
part = SyncAPI.(, {
Size = size,
Position = position,
Color = color,
Anchored = ,
Material = .Material.Grass,
TopSurface = .SurfaceType.Smooth,
BottomSurface = .SurfaceType.Smooth
})
part
baseplate = (.(, , ), .(, , ), .(, , ))
spawnLocation = .()
spawnLocation.Size = .(, , )
spawnLocation.Position = .(, , )
spawnLocation.Anchored =
spawnLocation.Neutral =
spawnLocation.Parent =
rightBlock = SyncAPI.(, {
Size = .(, , ),
Position = .(, , ),
Anchored = ,
Color = .(, , )
})
rightDecal = .()
rightDecal.Texture =
rightDecal.Face = .NormalId.Front
rightDecal.Parent = rightBlock
leftBlock = SyncAPI.(, {
Size = .(, , ),
Position = .(-, , ),
Anchored = ,
Color = .(, , )
})
leftDecal = .()
leftDecal.Texture =
leftDecal.Face = .NormalId.Front
leftDecal.Parent = leftBlock
args = {
[] = ,
[] =
}
:():():((args))
sound = .()
sound.SoundId =
sound.Parent =
sound:()
)
ok ( .. (err))
)
(, , , ()
ok, err = (()
req = ()
req:()
()
)
ok ( .. (err))
)
(, , , ()
ok, err = (()
req = ()
req:()
()
)
ok ( .. (err))
)
dragging, dragStart, startPo
Universal