Run it
Copy the script and paste it into your executor.
()
Players = :()
RunService = :()
TweenService = :()
StarterGui = :()
UserInputService = :()
LocalPlayer = Players.LocalPlayer
LEFT_OFFSET =
BEHIND_OFFSET =
followConnection =
currentTarget =
RUN_ANIM_ID =
runTrack =
ScreenGui = .()
ScreenGui.Name =
ScreenGui.ResetOnSpawn =
ScreenGui.DisplayOrder =
ScreenGui.Enabled =
success, err = (()
ScreenGui.Parent = LocalPlayer:(, )
)
success
( .. (err))
StarterGui:(, {Title = , Text = , Duration = })
()
(parent, radius)
corner = .()
corner.CornerRadius = .(, radius )
corner.Parent = parent
MainFrame = .()
MainFrame.Size = .(, , , )
MainFrame.Position = .(, -, , -)
MainFrame.BackgroundColor3 = .(, , )
MainFrame.BorderSizePixel =
MainFrame.Parent = ScreenGui
(MainFrame, )
Title = .()
Title.Size = .(, -, , )
Title.Position = .(, , , )
Title.BackgroundTransparency =
Title.Text =
Title.TextColor3 = .(, , )
Title.Font = .Font.SourceSansBold
Title.TextSize =
Title.TextXAlignment = .TextXAlignment.Left
Title.Parent = MainFrame
CloseBtn = .()
CloseBtn.Size = .(, , , )
CloseBtn.Position = .(, -, , )
CloseBtn.BackgroundColor3 = .(, , )
CloseBtn.Text =
CloseBtn.TextColor3 = .(,,)
CloseBtn.Font = .Font.SourceSansBold
CloseBtn.TextSize =
CloseBtn.Parent = MainFrame
(CloseBtn, )
ScrollingFrame = .()
ScrollingFrame.Size = .(, -, , -)
ScrollingFrame.Position = .(, , , )
ScrollingFrame.BackgroundColor3 = .(, , )
ScrollingFrame.BorderSizePixel =
ScrollingFrame.ScrollBarThickness =
ScrollingFrame.ScrollBarImageColor3 = .(, , )
ScrollingFrame.Parent = MainFrame
(ScrollingFrame, )
UIListLayout = .()
UIListLayout.Padding = .(, )
UIListLayout.SortOrder = .SortOrder.LayoutOrder
UIListLayout.Parent = ScrollingFrame
StopButton = .()
StopButton.Size = .(, -, , )
StopButton.Position = .(, , , -)
StopButton.BackgroundColor3 = .(, , )
StopButton.Text =
StopButton.TextColor3 = .(,,)
StopButton.Font = .Font.SourceSansBold
StopButton.TextSize =
StopButton.Parent = MainFrame
(StopButton, )
()
dragging =
dragStart, startPos
Title.InputBegan:((input)
input.UserInputType == .UserInputType.MouseButton1
dragging =
dragStart = input.Position
startPos = MainFrame.Position
input.Changed:(()
input.UserInputState == .UserInputState.End dragging =
)
)
UserInputService.InputChanged:((input)
dragging input.UserInputType == .UserInputType.MouseMovement
delta = input.Position - dragStart
MainFrame.Position = .(startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y)
)
LocalHumanoid, LocalAnimator, LocalRoot
()
char = LocalPlayer.Character
char
LocalHumanoid = char:()
LocalRoot = char:()
LocalAnimator = LocalHumanoid LocalHumanoid:()
LocalRoot LocalHumanoid LocalAnimator
()
runTrack LocalAnimator
anim = .()
anim.AnimationId = RUN_ANIM_ID
runTrack = LocalAnimator:(anim)
runTrack.Looped =
runTrack.Priority = .AnimationPriority.Movement
()
currentTarget ()
tChar = currentTarget.Character
tHRP = tChar tChar:()
tHRP
posCFrame = tHRP.CFrame * .(-LEFT_OFFSET, , BEHIND_OFFSET)
TweenService:(LocalRoot, TweenInfo.(, .EasingStyle.Linear), { = posCFrame}):()
tHum = tChar:()
moving = tHum tHum.MoveDirection.Magnitude >
moving
()
runTrack runTrack.IsPlaying runTrack:()
runTrack runTrack.IsPlaying runTrack:()
()
followConnection followConnection:()
followConnection = RunService.Heartbeat:(updateFollow)
()
followConnection followConnection:(); followConnection =
currentTarget =
runTrack runTrack:()
StarterGui:(, {Title = , Text = , Duration = })
()
_, child ScrollingFrame:()
child:() child:()
_, plr Players:()
plr ~= LocalPlayer
btn = .()
btn.Size = .(, , , )
btn.BackgroundColor3 = .(, , )
btn.Text = .. plr.Name
btn.TextColor3 = .(,,)
btn.Font = .Font.SourceSans
btn.TextSize =
btn.Parent = ScrollingFrame
(btn, )
btn.MouseButton1Click:(()
currentTarget = plr
StarterGui:(, {Title = , Text = .. plr.Name .. , Duration = })
()
)
btn.MouseEnter:(() btn.BackgroundColor3 = .(,,) )
btn.MouseLeave:(() btn.BackgroundColor3 = .(,,) )
ScrollingFrame.CanvasSize = .(,,, UIListLayout.AbsoluteContentSize.Y + )
.(()
.()
()
)
Players.PlayerAdded:(refreshPlayerList)
Players.PlayerRemoving:(refreshPlayerList)
CloseBtn.MouseButton1Click:(()
()
ScreenGui:()
)
StopButton.MouseButton1Click:(stopFollowing)
LocalPlayer.CharacterAdded:(()
()
()
currentTarget ()
)
UserInputService.InputBegan:((input, gp)
gp
input.KeyCode == .KeyCode.Insert
ScreenGui.Enabled = ScreenGui.Enabled
input.KeyCode == .KeyCode.End
()
)
StarterGui:(, {
Title = ,
Text = ,
Duration =
})
()this is an work in progress script, expected to be done in feb 6 or less. open sourced btw

Universal