Run it
Copy the script and paste it into your executor.
Players = :()
UserInputService = :()
CoreGui = :()
TweenService = :()
player = Players.LocalPlayer
NotificationSystem = {}
notifScreenGui = .()
notifScreenGui.Name =
notifScreenGui.Parent = CoreGui
notifHolder = .()
notifHolder.Size = .(, , , )
notifHolder.Position = .(, -, , )
notifHolder.BackgroundTransparency =
notifHolder.Parent = notifScreenGui
notifLayout = .()
notifLayout.SortOrder = .SortOrder.LayoutOrder
notifLayout.Padding = .(, )
notifLayout.VerticalAlignment = .VerticalAlignment.Top
notifLayout.Parent = notifHolder
notifPadding = .()
notifPadding.PaddingTop = .(, )
notifPadding.Parent = notifHolder
notifOrder =
NotificationSystem.(title, message, color, duration)
color = color .(, , )
duration = duration
notifOrder = notifOrder +
notif = .()
notif.Size = .(, -, , )
notif.BackgroundColor3 = .(, , )
notif.BackgroundTransparency =
notif.BorderSizePixel =
notif.LayoutOrder = notifOrder
notif.Parent = notifHolder
corner = .()
corner.CornerRadius = .(, )
corner.Parent = notif
accent = .()
accent.Size = .(, , , -)
accent.Position = .(, , , )
accent.BackgroundColor3 = color
accent.BorderSizePixel =
accent.Parent = notif
accentCorner = .()
accentCorner.CornerRadius = .(, )
accentCorner.Parent = accent
titleLabel = .()
titleLabel.Size = .(, -, , )
titleLabel.Position = .(, , , )
titleLabel.Text = title
titleLabel.TextColor3 = .(, , )
titleLabel.BackgroundTransparency =
titleLabel.Font = .Font.GothamBold
titleLabel.TextSize =
titleLabel.TextXAlignment = .TextXAlignment.Left
titleLabel.Parent = notif
msgLabel = .()
msgLabel.Size = .(, -, , )
msgLabel.Position = .(, , , )
msgLabel.Text = message
msgLabel.TextColor3 = .(, , )
msgLabel.BackgroundTransparency =
msgLabel.Font = .Font.Gotham
msgLabel.TextSize =
msgLabel.TextXAlignment = .TextXAlignment.Left
msgLabel.TextWrapped =
msgLabel.Parent = notif
notif.Position = .(, , , )
TweenService:(notif, TweenInfo.(, .EasingStyle.Quint, .EasingDirection.Out), {
Position = .(, , , )
}):()
.(duration, ()
out = TweenService:(notif, TweenInfo.(, .EasingStyle.Quint, .EasingDirection.In), {
Position = .(, , , )
})
out:()
out.Completed:(()
notif:()
)
)
SAVE_FILE =
waypoints = {}
()
writefile readfile isfile
(SAVE_FILE)
ok, data = (()
:():((SAVE_FILE))
)
ok (data) ==
waypoints = data
waypoints = {}
()
writefile
(()
(SAVE_FILE, :():(waypoints))
)
()
screenGui = .()
screenGui.Name =
screenGui.Parent = CoreGui
frame = .()
frame.Size = .(, , , )
frame.Position = .(, -, , -)
frame.BackgroundColor3 = .(, , )
frame.BackgroundTransparency =
frame.BorderSizePixel =
frame.ClipsDescendants =
frame.Active =
frame.Parent = screenGui
frameCorner = .()
frameCorner.CornerRadius = .(, )
frameCorner.Parent = frame
titleBar = .()
titleBar.Size = .(, -, , )
titleBar.Position = .(, , , )
titleBar.BackgroundColor3 = .(, , )
titleBar.BorderSizePixel =
titleBar.Active =
titleBar.Parent = frame
titleCorner = .()
titleCorner.CornerRadius = .(, )
titleCorner.Parent = titleBar
title = .()
title.Size = .(, -, , )
title.Position = .(, , , )
title.Text =
title.TextColor3 = .(, , )
title.BackgroundTransparency =
title.Font = .Font.GothamBold
title.TextSize =
title.TextXAlignment = .TextXAlignment.Left
title.Parent = titleBar
collapseBtn = .()
collapseBtn.Size = .(, , , )
collapseBtn.Position = .(, -, , )
collapseBtn.Text =
collapseBtn.BackgroundColor3 = .(, , )
collapseBtn.TextColor3 = .(, , )
collapseBtn.BorderSizePixel =
collapseBtn.Font = .Font.GothamBold
collapseBtn.TextSize =
collapseBtn.Parent = titleBar
collapseCorner = .()
collapseCorner.CornerRadius = .(, )
collapseCorner.Parent = collapseBtn
closeBtn = .()
closeBtn.Size = .(, , , )
closeBtn.Position = .(, -, , )
closeBtn.Text =
closeBtn.BackgroundColor3 = .(, , )
closeBtn.TextColor3 = .(, , )
closeBtn.BorderSizePixel =
closeBtn.Font = .Font.GothamBold
closeBtn.TextSize =
closeBtn.Parent = titleBar
closeCorner = .()
closeCorner.CornerRadius = .(, )
closeCorner.Parent = closeBtn
contentFrame = .()
contentFrame.Size = .(, , , -)
contentFrame.Position = .(, , , )
contentFrame.BackgroundTransparency =
contentFrame.Parent = frame
inputBox = .()
inputBox.Size = .(, -, , )
inputBox.Position = .(, , , )
inputBox.PlaceholderText =
inputBox.Text =
inputBox.BackgroundColor3 = .(, , )
inputBox.TextColor3 = .(, , )
inputBox.BorderSizePixel =
inputBox.Font = .Font.Gotham
inputBox.TextSize =
inputBox.Parent = contentFrame
inputCorner = .()
inputCorner.CornerRadius = .(, )
inputCorner.Parent = inputBox
addBtn = .()
addBtn.Size = .(, , , )
addBtn.Position = .(, -, , )
addBtn.Text =
addBtn.BackgroundColor3 = .(, , )
addBtn.TextColor3 = .(, , )
addBtn.BorderSizePixel =
addBtn.Font = .Font.GothamBold
addBtn.TextSize =
addBtn.Parent = contentFrame
addCorner = .()
addCorner.CornerRadius = .(, )
addCorner.Parent = addBtn
searchBox = .()
searchBox.Size = .(, -, , )
searchBox.Position = .(, , , )
searchBox.PlaceholderText =
searchBox.Text =
searchBox.BackgroundColor3 = .(, , )
searchBox.TextColor3 = .(, , )
searchBox.BorderSizePixel =
searchBox.Font = .Font.Gotham
searchBox.TextSize =
searchBox.Parent = contentFrame
searchCorner = .()
searchCorner.CornerRadius = .(, )
searchCorner.Parent = searchBox
listFrame = .()
listFrame.Size = .(, -, , -)
listFrame.Position = .(, , , )
listFrame.BackgroundColor3 = .(, , )
listFrame.BorderSizePixel =
listFrame.CanvasSize = .(, , , )
listFrame.ScrollBarThickness =
listFrame.Parent = contentFrame
listCorner = .()
listCorner.CornerRadius = .(, )
listCorner.Parent = listFrame
listLayout = .()
listLayout.Padding = .(, )
listLayout.SortOrder = .SortOrder.LayoutOrder
listLayout.Parent = listFrame
listPadding = .()
listPadding.PaddingTop = .(, )
listPadding.PaddingLeft = .(, )
listPadding.PaddingRight = .(, )
listPadding.Parent = listFrame
renderList
(pos)
char = player.Character
char
NotificationSystem.(, , .(, , ))
hrp = char:()
hrp
NotificationSystem.(, , .(, , ))
hrp.CFrame = .(pos.x, pos.y, pos.z)
()
char = player.Character
char
hrp = char:()
hrp
p = hrp.Position
{x = p.X, y = p.Y, z = p.Z}
(index)
wp = waypoints[index]
wp
.(waypoints, index)
()
NotificationSystem.(, , .(, , ))
(searchBox.Text)
renderList = (filter)
filter = filter filter:()
_, child (listFrame:())
child:() child:() child:()
child:()
count =
i, wp (waypoints)
filter == wp.name:():(filter, , )
count = count +
row = .()
row.Size = .(, -, , )
row.BackgroundColor3 = .(, , )
row.BorderSizePixel =
row.LayoutOrder = i
row.Parent = listFrame
rowCorner = .()
rowCorner.CornerRadius = .(, )
rowCorner.Parent = row
nameBtn = .()
nameBtn.Size = .(, -, , )
nameBtn.Position = .(, , , )
nameBtn.Text = .. wp.name
nameBtn.TextColor3 = .(, , )
nameBtn.BackgroundTransparency =
nameBtn.Font = .Font.GothamBold
nameBtn.TextSize =
nameBtn.TextXAlignment = .TextXAlignment.Left
nameBtn.Parent = row
nameBtn.MouseButton1Click:(()
(wp)
NotificationSystem.(, .. wp.name, .(, , ), )
)
delBtn = .()
delBtn.Size = .(, , , )
delBtn.Position = .(, -, , )
delBtn.Text =
delBtn.BackgroundColor3 = .(, , )
delBtn.TextColor3 = .(, , )
delBtn.BorderSizePixel =
delBtn.Font = .Font.GothamBold
delBtn.TextSize =
delBtn.Parent = row
delCorner = .()
delCorner.CornerRadius = .(, )
delCorner.Parent = delBtn
delBtn.MouseButton1Click:(()
(i)
)
renBtn = .()
renBtn.Size = .(, , , )
renBtn.Position = .(, -, , )
renBtn.Text =
renBtn.BackgroundColor3 = .(, , )
renBtn.TextColor3 = .(, , )
renBtn.BorderSizePixel =
renBtn.Font = .Font.GothamBold
renBtn.TextSize =
renBtn.Parent = row
renCorner = .()
renCorner.CornerRadius = .(, )
renCorner.Parent = renBtn
renBtn.MouseButton1Click:(()
inputBox.Text = wp.name
inputBox:()
conn
conn = addBtn.MouseButton1Click:(()
inputBox.Text ~=
waypoints[i].name = inputBox.Text
()
NotificationSystem.(, .. inputBox.Text, .(, , ))
inputBox.Text =
(searchBox.Text)
conn:()
)
)
count ==
empty = .()
empty.Size = .(, -, , )
empty.BackgroundTransparency =
empty.Text =
empty.TextColor3 = .(, , )
empty.Font = .Font.Gotham
empty.TextSize =
empty.Parent = listFrame
listFrame.CanvasSize = .(, , , listLayout.AbsoluteContentSize.Y + )
addBtn.MouseButton1Click:(()
name = inputBox.Text
name ==
NotificationSystem.(, , .(, , ))
pos = ()
pos
NotificationSystem.(, , .(, , ))
.(waypoints, {name = name, x = pos.x, y = pos.y, z = pos.z})
()
inputBox.Text =
(searchBox.Text)
NotificationSystem.(, , .(, , ))
)
searchBox:():(()
(searchBox.Text)
)
isCollapsed =
FULL_HEIGHT =
COLLAPSED_HEIGHT =
lastToggle =
()
() - lastToggle <
lastToggle = ()
isCollapsed = isCollapsed
isCollapsed
collapseBtn.Text =
contentFrame.Visible =
frame.Size = .(, , , COLLAPSED_HEIGHT)
collapseBtn.Text =
contentFrame.Visible =
frame.Size = .(, , , FULL_HEIGHT)
collapseBtn.MouseButton1Click:(toggleCollapse)
closeBtn.MouseButton1Click:(()
screenGui:()
)
isDragging =
dragStart, startPos
(input)
input.UserInputType == .UserInputType.MouseButton1 input.UserInputType == .UserInputType.Touch
isDragging =
dragStart = input.Position
startPos = frame.Position
(input)
isDragging
input.UserInputType == .UserInputType.MouseMovement input.UserInputType == .UserInputType.Touch
delta = input.Position - dragStart
frame.Position = .(
startPos.X.Scale,
startPos.X.Offset + delta.X,
startPos.Y.Scale,
startPos.Y.Offset + delta.Y
)
(input)
input.UserInputType == .UserInputType.MouseButton1 input.UserInputType == .UserInputType.Touch
isDragging =
titleBar.InputBegan:(startDrag)
titleBar.InputChanged:(updateDrag)
titleBar.InputEnded:(endDrag)
UserInputService.InputChanged:((input, gameProcessed)
gameProcessed
isDragging
(input)
)
UserInputService.InputEnded:((input, gameProcessed)
gameProcessed
(input)
)
()
NotificationSystem.(, .. #waypoints, .(, , ))
( .. #waypoints)Waypoint Script!

Universal