Run it
Copy the script and paste it into your executor.
Players = :()
RunService = :()
UserInputService = :()
TweenService = :()
player = Players.LocalPlayer
mouse = player:()
recording =
waypoints = {}
currentTween =
dragging =
dragStartPos, frameStartPos
movementSpeed =
screenGui = .()
screenGui.Name =
screenGui.Parent = player.PlayerGui
mainFrame = .()
mainFrame.Size = .(, , , )
mainFrame.Position = .(, , , )
mainFrame.BackgroundColor3 = .(, , )
mainFrame.BorderSizePixel =
mainFrame.Parent = screenGui
UICorner = .()
UICorner.CornerRadius = .(, )
UICorner.Parent = mainFrame
titleBar = .()
titleBar.Size = .(, , , )
titleBar.Position = .(, , , )
titleBar.BackgroundColor3 = .(, , )
titleBar.BorderSizePixel =
titleBar.Parent = mainFrame
titleBarCorner = .()
titleBarCorner.CornerRadius = .(, )
titleBarCorner.Parent = titleBar
title = .()
title.Size = .(, , , )
title.Position = .(, , , )
title.BackgroundTransparency =
title.TextColor3 = .(, , )
title.Text =
title.Font = .Font.GothamBold
title.TextSize =
title.Parent = titleBar
closeButton = .()
closeButton.Size = .(, , , )
closeButton.Position = .(, -, , )
closeButton.BackgroundColor3 = .(, , )
closeButton.TextColor3 = .(, , )
closeButton.Text =
closeButton.Font = .Font.GothamBold
closeButton.TextSize =
closeButton.Parent = titleBar
closeCorner = .()
closeCorner.CornerRadius = .(, )
closeCorner.Parent = closeButton
contentFrame = .()
contentFrame.Size = .(, -, , -)
contentFrame.Position = .(, , , )
contentFrame.BackgroundTransparency =
contentFrame.Parent = mainFrame
recordButton = .()
recordButton.Size = .(, , , )
recordButton.Position = .(, , , )
recordButton.BackgroundColor3 = .(, , )
recordButton.TextColor3 = .(, , )
recordButton.Text =
recordButton.Font = .Font.Gotham
recordButton.TextSize =
recordButton.Parent = contentFrame
UICorner2 = .()
UICorner2.CornerRadius = .(, )
UICorner2.Parent = recordButton
saveButton = .()
saveButton.Size = .(, , , )
saveButton.Position = .(, , , )
saveButton.BackgroundColor3 = .(, , )
saveButton.TextColor3 = .(, , )
saveButton.Text =
saveButton.Font = .Font.Gotham
saveButton.TextSize =
saveButton.Parent = contentFrame
UICorner3 = .()
UICorner3.CornerRadius = .(, )
UICorner3.Parent = saveButton
clearButton = .()
clearButton.Size = .(, , , )
clearButton.Position = .(, , , )
clearButton.BackgroundColor3 = .(, , )
clearButton.TextColor3 = .(, , )
clearButton.Text =
clearButton.Font = .Font.Gotham
clearButton.TextSize =
clearButton.Parent = contentFrame
UICorner4 = .()
UICorner4.CornerRadius = .(, )
UICorner4.Parent = clearButton
speedLabel = .()
speedLabel.Size = .(, , , )
speedLabel.Position = .(, , , )
speedLabel.BackgroundTransparency =
speedLabel.TextColor3 = .(, , )
speedLabel.Text = .. movementSpeed
speedLabel.Font = .Font.Gotham
speedLabel.TextSize =
speedLabel.Parent = contentFrame
speedSliderContainer = .()
speedSliderContainer.Size = .(, , , )
speedSliderContainer.Position = .(, , , )
speedSliderContainer.BackgroundColor3 = .(, , )
speedSliderContainer.Parent = contentFrame
sliderCorner = .()
sliderCorner.CornerRadius = .(, )
sliderCorner.Parent = speedSliderContainer
speedSliderFill = .()
speedSliderFill.Size = .((movementSpeed - ) / , , , )
speedSliderFill.Position = .(, , , )
speedSliderFill.BackgroundColor3 = .(, , )
speedSliderFill.BorderSizePixel =
speedSliderFill.Parent = speedSliderContainer
fillCorner = .()
fillCorner.CornerRadius = .(, )
fillCorner.Parent = speedSliderFill
speedSliderButton = .()
speedSliderButton.Size = .(, , , )
speedSliderButton.Position = .(, , , )
speedSliderButton.BackgroundTransparency =
speedSliderButton.Text =
speedSliderButton.Parent = speedSliderContainer
speedMinLabel = .()
speedMinLabel.Size = .(, , , )
speedMinLabel.Position = .(, , , )
speedMinLabel.BackgroundTransparency =
speedMinLabel.TextColor3 = .(, , )
speedMinLabel.Text =
speedMinLabel.Font = .Font.Gotham
speedMinLabel.TextSize =
speedMinLabel.Parent = contentFrame
speedMaxLabel = .()
speedMaxLabel.Size = .(, , , )
speedMaxLabel.Position = .(, -, , )
speedMaxLabel.BackgroundTransparency =
speedMaxLabel.TextColor3 = .(, , )
speedMaxLabel.Text =
speedMaxLabel.Font = .Font.Gotham
speedMaxLabel.TextSize =
speedMaxLabel.Parent = contentFrame
statusLabel = .()
statusLabel.Size = .(, , , )
statusLabel.Position = .(, , , )
statusLabel.BackgroundTransparency =
statusLabel.TextColor3 = .(, , )
statusLabel.Text =
statusLabel.Font = .Font.Gotham
statusLabel.TextSize =
statusLabel.Parent = contentFrame
waypointCount = .()
waypointCount.Size = .(, , , )
waypointCount.Position = .(, , , )
waypointCount.BackgroundTransparency =
waypointCount.TextColor3 = .(, , )
waypointCount.Text =
waypointCount.Font = .Font.Gotham
waypointCount.TextSize =
waypointCount.Parent = contentFrame
outputLabel = .()
outputLabel.Size = .(, , , )
outputLabel.Position = .(, , , )
outputLabel.BackgroundTransparency =
outputLabel.TextColor3 = .(, , )
outputLabel.Text =
outputLabel.Font = .Font.GothamBold
outputLabel.TextSize =
outputLabel.Parent = contentFrame
scriptTextBox = .()
scriptTextBox.Size = .(, , , )
scriptTextBox.Position = .(, , , )
scriptTextBox.BackgroundColor3 = .(, , )
scriptTextBox.TextColor3 = .(, , )
scriptTextBox.Text =
scriptTextBox.Font = .Font.Code
scriptTextBox.TextSize =
scriptTextBox.TextXAlignment = .TextXAlignment.Left
scriptTextBox.TextYAlignment = .TextYAlignment.Top
scriptTextBox.TextWrapped =
scriptTextBox.ClearTextOnFocus =
scriptTextBox.MultiLine =
scriptTextBox.Parent = contentFrame
textBoxCorner = .()
textBoxCorner.CornerRadius = .(, )
textBoxCorner.Parent = scriptTextBox
copyButton = .()
copyButton.Size = .(, , , )
copyButton.Position = .(, , , )
copyButton.BackgroundColor3 = .(, , )
copyButton.TextColor3 = .(, , )
copyButton.Text =
copyButton.Font = .Font.Gotham
copyButton.TextSize =
copyButton.Parent = contentFrame
UICorner5 = .()
UICorner5.CornerRadius = .(, )
UICorner5.Parent = copyButton
(input)
dragging
delta = input.Position - dragStartPos
mainFrame.Position = .(
frameStartPos.X.Scale,
frameStartPos.X.Offset + delta.X,
frameStartPos.Y.Scale,
frameStartPos.Y.Offset + delta.Y
)
titleBar.InputBegan:((input)
input.UserInputType == .UserInputType.MouseButton1
dragging =
dragStartPos = input.Position
frameStartPos = mainFrame.Position
input.Changed:(()
input.UserInputState == .UserInputState.End
dragging =
)
)
titleBar.InputChanged:((input)
input.UserInputType == .UserInputType.MouseMovement
(input)
)
UserInputService.InputChanged:((input)
input.UserInputType == .UserInputType.MouseMovement
(input)
)
(input)
input.UserInputType ~= .UserInputType.MouseMovement
sliderAbsolutePosition = speedSliderContainer.AbsolutePosition
sliderAbsoluteSize = speedSliderContainer.AbsoluteSize
relativeX = (input.Position.X - sliderAbsolutePosition.X) / sliderAbsoluteSize.X
relativeX = .(relativeX, , )
movementSpeed = .( + relativeX * )
speedSliderFill.Size = .(relativeX, , , )
speedLabel.Text = .. movementSpeed
speedSliderButton.MouseButton1Down:(()
({Position = UserInputService:(), UserInputType = .UserInputType.MouseMovement})
connection
connection = UserInputService.InputChanged:((input)
input.UserInputType == .UserInputType.MouseMovement
(input)
)
UserInputService.InputEnded:((input)
input.UserInputType == .UserInputType.MouseButton1
connection:()
)
)
(targetPosition)
character = player.Character
character
humanoid = character:()
rootPart = character:()
humanoid rootPart
currentTween
currentTween:()
distance = (rootPart.Position - targetPosition).Magnitude
duration = distance / movementSpeed
tweenInfo = TweenInfo.(
duration,
.EasingStyle.Linear
)
currentTween = TweenService:(rootPart, tweenInfo, { = .(targetPosition)})
currentTween:()
currentTween.Completed:(()
currentTween =
)
()
recording
target = mouse.Target
target
hitPoint = mouse.Hit.Position
.(waypoints, hitPoint)
waypointCount.Text = .. #waypoints
statusLabel.Text = .. #waypoints
(hitPoint)
part = .()
part.Size = .(, , )
part.Position = hitPoint
part.Anchored =
part.CanCollide =
part.Material = .Material.Neon
part.BrickColor = BrickColor.()
part.Parent =
:():(part, )
()
#waypoints ==
statusLabel.Text =
scriptTextBox.Text =
scriptString = .. #waypoints .. .. movementSpeed .. .. movementSpeed ..
i, point (waypoints)
scriptString = scriptString .. .(, point.X, point.Y, point.Z, i)
scriptString = scriptString ..
scriptTextBox.Text = scriptString
statusLabel.Text =
()
scriptTextBox.Text scriptTextBox.Text ~=
scriptTextBox:()
scriptTextBox.Text = scriptTextBox.Text
()
scriptTextBox:()
(()
:():(scriptTextBox)
)
statusLabel.Text =
()
waypoints = {}
waypointCount.Text =
statusLabel.Text =
scriptTextBox.Text =
recording
recording =
recordButton.BackgroundColor3 = .(, , )
recordButton.Text =
recordButton.MouseButton1Click:(()
recording = recording
recording
recordButton.BackgroundColor3 = .(, , )
recordButton.Text =
statusLabel.Text =
waypointCount.Text = .. #waypoints
recordButton.BackgroundColor3 = .(, , )
recordButton.Text =
statusLabel.Text = .. #waypoints ..
)
saveButton.MouseButton1Click:(()
recording
statusLabel.Text =
()
)
clearButton.MouseButton1Click:(()
()
)
copyButton.MouseButton1Click:(()
()
)
closeButton.MouseButton1Click:(()
screenGui:()
)
mouse.Button1Down:(onMouseClick)
player.CharacterRemoving:(()
currentTween
currentTween:()
)
scriptTextBox.Text = An utility script gui that lets you set waypoints to tween to, start recording and end recording so you can generate a script to replay your waypoints Useful for autofarming or/movement macro for autogrinding To use this script, click on areas to record your waypoints, your character will tween to those waypoints, when your done recording your movement click "Stop Recording", you can generate the script after you stop recording and build functions for each waypoint to indeed create your own script.