Run it
Copy the script and paste it into your executor.
Players = :()
UserInputService = :()
RunService = :()
HttpService = :()
TweenService = :()
CoreGui = :()
LocalPlayer = Players.LocalPlayer
Camera = .CurrentCamera
FileName = .. (.PlaceId) ..
THEME = {
Bg = .(, , ),
Header = .(, , ),
Accent = .(, , ),
Text = .(, , ),
TextDim = .(, , ),
Stroke = .(, , ),
Red = .(, , ),
Green = .(, , )
}
Waypoints = {}
AutoTPTarget =
CurrentAutoTPName =
()
writefile
(FileName, HttpService:(Waypoints))
()
isfile (FileName)
(()
Waypoints = HttpService:((FileName))
)
()
(obj, props, time)
TweenService:(obj, TweenInfo.(time , .EasingStyle.Exponential, .EasingDirection.Out), props):()
CoreGui:() CoreGui.KOPI_WAYPOINTS_UI:()
ScreenGui = .(, CoreGui)
ScreenGui.Name =
ScreenGui.ResetOnSpawn =
dragging, dragInput, dragStart, startPos, activeFrame
isMoving =
(input)
activeFrame
delta = input.Position - dragStart
delta.Magnitude > isMoving =
targetX = startPos.X.Offset + delta.X
targetY = startPos.Y.Offset + delta.Y
vp = Camera.ViewportSize
frameSize = activeFrame.AbsoluteSize
clampedX = .(targetX, , vp.X - frameSize.X)
clampedY = .(targetY, , vp.Y - frameSize.Y)
(activeFrame, {Position = .(clampedX, clampedY)}, )
(trigger, frameToMove, onClick)
trigger.InputBegan:((input)
input.UserInputType == .UserInputType.MouseButton1 input.UserInputType == .UserInputType.Touch
dragging =
isMoving =
dragStart = input.Position
startPos = frameToMove.Position
activeFrame = frameToMove
con
con = input.Changed:(()
input.UserInputState == .UserInputState.End
dragging =
con:()
isMoving onClick ()
)
)
UserInputService.InputChanged:((input)
dragging (input.UserInputType == .UserInputType.MouseMovement input.UserInputType == .UserInputType.Touch)
(input)
)
MainFrame = .(, ScreenGui)
MainFrame.Size = .(, )
MainFrame.Position = .(, )
MainFrame.BackgroundColor3 = THEME.Bg
MainFrame.BorderSizePixel =
MainFrame.ClipsDescendants =
.(, MainFrame).CornerRadius = .(, )
UIStroke = .(, MainFrame)
UIStroke.Color = .(,,); UIStroke.Thickness = ; UIStroke.Transparency =
StrokeGradient = .(, UIStroke)
StrokeGradient.Color = ColorSequence.{ColorSequenceKeypoint.(, THEME.Stroke), ColorSequenceKeypoint.(, THEME.Accent), ColorSequenceKeypoint.(, THEME.Stroke)}
StrokeGradient.Rotation =
MiniFrame = .(, ScreenGui)
MiniFrame.Size = .(, )
MiniFrame.Position = MainFrame.Position
MiniFrame.BackgroundColor3 = THEME.Header
MiniFrame.Visible =
.(, MiniFrame).CornerRadius = .(, )
MiniStroke = .(, MiniFrame); MiniStroke.Color = THEME.Accent; MiniStroke.Thickness =
MiniLabel = .(, MiniFrame)
MiniLabel.Size = .(,,,); MiniLabel.BackgroundTransparency = ; MiniLabel.Text = ; MiniLabel.Font = .Font.GothamBlack; MiniLabel.TextSize = ; MiniLabel.TextColor3 = THEME.Accent
MiniLabel.Active = ; MiniLabel.Selectable =
Header = .(, MainFrame)
Header.Size = .(, , , )
Header.BackgroundColor3 = THEME.Header
.(, Header).CornerRadius = .(, )
Title = .(, Header)
Title.Text = ;
Title.RichText = ; Title.Font = .Font.GothamBlack; Title.TextSize = ; Title.TextColor3 = THEME.Text; Title.Position = .(, , , ); Title.Size = .(, -, , ); Title.BackgroundTransparency = ; Title.TextXAlignment = .TextXAlignment.Left
Title.Active = ; Title.Selectable =
MinimizeBtn = .(, Header)
MinimizeBtn.Size = .(, ); MinimizeBtn.Position = .(, -, , -)
MinimizeBtn.Text = ; MinimizeBtn.Font = .Font.GothamBlack; MinimizeBtn.TextSize = ; MinimizeBtn.TextColor3 = THEME.TextDim; MinimizeBtn.BackgroundColor3 = .(,,)
.(, MinimizeBtn).CornerRadius = .(, )
()
MainFrame.Position = MiniFrame.Position
MiniFrame.Visible =
MainFrame.Visible =
()
MiniFrame.Position = MainFrame.Position
MainFrame.Visible =
MiniFrame.Visible =
(Header, MainFrame, )
(MiniFrame, MiniFrame, OpenMain)
MinimizeBtn.MouseButton1Click:(OpenMini)
InputContainer = .(, MainFrame)
InputContainer.Size = .(, -, , )
InputContainer.Position = .(, , , )
InputContainer.BackgroundTransparency =
WPInput = .(, InputContainer)
WPInput.Size = .(, , , )
WPInput.BackgroundColor3 = .(, , )
WPInput.TextColor3 = THEME.Text
WPInput.PlaceholderText =
WPInput.Font = .Font.GothamSemibold
WPInput.TextSize =
.(, WPInput).CornerRadius = .(, )
.(, WPInput).Color = THEME.Stroke
AddBtn = .(, InputContainer)
AddBtn.Size = .(, , , ); AddBtn.Position = .(, , , )
AddBtn.BackgroundColor3 = .(, , ); AddBtn.Text = ; AddBtn.TextColor3 = THEME.Accent; AddBtn.Font = .Font.GothamBold; AddBtn.TextSize =
.(, AddBtn).CornerRadius = .(, ); .(, AddBtn).Color = THEME.Accent; .(, AddBtn).Thickness =
ScrollBox = .(, MainFrame)
ScrollBox.Size = .(, -, , )
ScrollBox.Position = .(, , , )
ScrollBox.BackgroundTransparency =
ScrollBox.BorderSizePixel =
ScrollBox.ScrollBarThickness =
ScrollBox.ScrollBarImageColor3 = THEME.Accent
ListLayout = .(, ScrollBox)
ListLayout.Padding = .(, )
ListLayout:():(()
contentH = ListLayout.AbsoluteContentSize.Y
maxDisplay =
newH = .(contentH, , maxDisplay)
ScrollBox.Size = .(, -, , newH)
ScrollBox.CanvasSize = .(, contentH)
totalH = + newH +
(MainFrame, {Size = .(, totalH)}, )
)
()
_, c (ScrollBox:())
c:() c:()
name, posData (Waypoints)
Item = .(, ScrollBox)
Item.Size = .(, -, , )
Item.BackgroundColor3 = .(, , )
.(, Item).CornerRadius = .(, )
NameLabel = .(, Item)
NameLabel.Text = name; NameLabel.Size = .(, , , ); NameLabel.Position = .(, , , ); NameLabel.Font = .Font.GothamSemibold; NameLabel.TextColor3 = THEME.Text; NameLabel.TextXAlignment = .TextXAlignment.Left; NameLabel.BackgroundTransparency = ; NameLabel.TextTruncate = .TextTruncate.AtEnd
DelBtn = .(, Item); DelBtn.Size = .(, ); DelBtn.Position = .(, -, , -); DelBtn.Text = ; DelBtn.BackgroundColor3 = THEME.Red; DelBtn.TextColor3 = .(, , );
.(, DelBtn).CornerRadius = .(, )
TpBtn = .(, Item); TpBtn.Size = .(, , , ); TpBtn.Position = .(, -, , -); TpBtn.Text = ; TpBtn.BackgroundColor3 = THEME.Accent; TpBtn.TextColor3 = .(, , ); TpBtn.Font = .Font.GothamBold; TpBtn.TextSize = ;
.(, TpBtn).CornerRadius = .(, )
LoopBtn = .(, Item); LoopBtn.Size = .(, , , ); LoopBtn.Position = .(, -, , -); LoopBtn.Text = ; LoopBtn.BackgroundColor3 = (CurrentAutoTPName == name) THEME.Green .(, , ); LoopBtn.TextColor3 = .(, , ); LoopBtn.Font = .Font.GothamBold; LoopBtn.TextSize = ;
.(, LoopBtn).CornerRadius = .(, )
DelBtn.MouseButton1Click:(()
Waypoints[name] =
CurrentAutoTPName == name CurrentAutoTPName = ; AutoTPTarget =
(); ()
)
TpBtn.MouseButton1Click:(()
LocalPlayer.Character LocalPlayer.Character:()
LocalPlayer.Character.HumanoidRootPart.CFrame = .(posData.x, posData.y, posData.z)
)
LoopBtn.MouseButton1Click:(()
CurrentAutoTPName == name
CurrentAutoTPName = ; AutoTPTarget =
CurrentAutoTPName = name; AutoTPTarget = .(posData.x, posData.y, posData.z)
()
)
AddBtn.MouseButton1Click:(()
name = WPInput.Text
name == name = .. (.(.()))
LocalPlayer.Character LocalPlayer.Character:()
pos = LocalPlayer.Character.HumanoidRootPart.Position
Waypoints[name] = {x = pos.X, y = pos.Y, z = pos.Z}
(); WPInput.Text = ; ()
)
.(()
.()
StrokeGradient.Rotation = (StrokeGradient.Rotation + ) %
)
RunService.RenderStepped:(()
AutoTPTarget LocalPlayer.Character LocalPlayer.Character:()
currentRot = LocalPlayer.Character.HumanoidRootPart.CFrame.Rotation
LocalPlayer.Character.HumanoidRootPart.CFrame = .(AutoTPTarget) * currentRot
LocalPlayer.Character.HumanoidRootPart.AssemblyLinearVelocity = .zero
)
()-Saved teleport

Universal