Run it
Copy the script and paste it into your executor.
Players = :()
RunService = :()
LocalPlayer = Players.LocalPlayer
targetParent = LocalPlayer:() :()
targetParent:()
targetParent:():()
ScreenGui = .(, targetParent)
ScreenGui.Name =
ScreenGui.ResetOnSpawn =
RadarFrame = .(, ScreenGui)
RadarFrame.Size = .(, , , )
RadarFrame.Position = .(, -, , )
RadarFrame.BackgroundColor3 = .(, , )
RadarFrame.ClipsDescendants =
RadarFrame.Active =
RadarFrame.Draggable =
UICorner = .(, RadarFrame)
MainBorder = .(, RadarFrame)
MainBorder.Color = .(, , )
MainBorder.Thickness =
Canvas = .(, RadarFrame)
Canvas.Size = .(, , , )
Canvas.BackgroundTransparency =
Controls = .(, ScreenGui)
Controls.Size = .(, , , )
Controls.Position = .(, -, , )
Controls.BackgroundColor3 = .(, , )
.(, Controls)
ControlStroke = .(, Controls)
ControlStroke.Color = .(, , )
Config = {
Scale = ,
PathLifetime = ,
ShowNames = ,
Visible =
}
(pos, text, callback)
btn = .(, Controls)
btn.Size = .(, , , )
btn.Position = pos
btn.BackgroundColor3 = .(, , )
btn.Text = text
btn.TextColor3 = .(, , )
btn.Font = .Font.GothamBold
btn.TextSize =
.(, btn)
btn.MouseButton1Click:(() (btn) )
btn
NameBtn = (.(, , , ), , (btn)
Config.ShowNames = Config.ShowNames
btn.Text = .. (Config.ShowNames )
)
VisBtn = (.(, , , ), , (btn)
Config.Visible = Config.Visible
RadarFrame.Visible = Config.Visible
btn.Text = Config.Visible
)
PlayerData = {}
(p1, p2, color)
diff = p2 - p1
dist = diff.Magnitude
angle = .(.(diff.Y, diff.X))
bgLine = .(, Canvas)
bgLine.BackgroundColor3 = .(, , )
bgLine.BorderSizePixel =
bgLine.Size = .(, dist + , , )
bgLine.AnchorPoint = .(, )
bgLine.Position = .(, p1.X, , p1.Y)
bgLine.Rotation = angle
bgLine.ZIndex =
fgLine = .(, bgLine)
fgLine.BackgroundColor3 = color
fgLine.BorderSizePixel =
fgLine.Size = .(, , , )
fgLine.Position = .(, , , )
fgLine.AnchorPoint = .(, )
fgLine.ZIndex =
bgLine
RunService.RenderStepped:(()
Config.Visible
char = LocalPlayer.Character
(char char:())
myPos = char.HumanoidRootPart.Position
_, player (Players:())
pChar = player.Character
pChar pChar:()
root = pChar.HumanoidRootPart
worldPos = root.Position
PlayerData[player.UserId]
PlayerData[player.UserId] = {
Color = (player == LocalPlayer) .(, , ) .(.(), , ),
LastWorldPos = worldPos,
Dot =
}
data = PlayerData[player.UserId]
rel = worldPos - myPos
rx = (rel.X * Config.Scale) +
ry = (rel.Z * Config.Scale) +
currentRadarPos = .(rx, ry)
data.Dot data.Dot.Parent
d = .(, Canvas)
d.Size = .(, , , )
d.AnchorPoint = .(, )
d.BackgroundColor3 = data.Color
d.ZIndex =
.(, d).CornerRadius = .(,)
.(, d).Color = .(,,)
l = .(, d)
l.Size = .(, , , )
l.Position = .(, -, , -)
l.BackgroundTransparency =
l.TextColor3 = .(,,)
l.Font = .Font.GothamBold
l.TextSize =
data.Dot = d
data.Label = l
data.Dot.Position = .(, rx, , ry)
data.Label.Text = player.DisplayName
data.Label.Visible = Config.ShowNames
(worldPos - data.LastWorldPos).Magnitude >
startW = data.LastWorldPos
endW = worldPos
p1Rel = startW - myPos
p1Radar = .((p1Rel.X * Config.Scale) + , (p1Rel.Z * Config.Scale) + )
segment = (p1Radar, currentRadarPos, data.Color)
segment
moveConn
moveConn = RunService.RenderStepped:(()
segment segment.Parent moveConn:()
curMyPos = (LocalPlayer.Character LocalPlayer.Character:()) LocalPlayer.Character.HumanoidRootPart.Position myPos
p1R = startW - curMyPos
p2R = endW - curMyPos
pos1 = .((p1R.X * Config.Scale) + , (p1R.Z * Config.Scale) + )
pos2 = .((p2R.X * Config.Scale) + , (p2R.Z * Config.Scale) + )
diff = pos2 - pos1
segment.Size = .(, diff.Magnitude + , , )
segment.Position = .(, pos1.X, , pos1.Y)
segment.Rotation = .(.(diff.Y, diff.X))
)
.(Config.PathLifetime, () segment:() )
data.LastWorldPos = worldPos
)
Mark

Universal