Run it
Copy the script and paste it into your executor.
Players = :()
RunService = :()
UserInputService = :()
localPlayer = Players.LocalPlayer
playerGui = localPlayer:()
PHOSPHOR = .(, , )
PHOSPHOR_BRIGHT = .(, , )
PHOSPHOR_DIM = .(, , )
PHOSPHOR_FAINT = .(, , )
BG_DARK = .(, , )
BG_BEZEL = .(, , )
WT_RADAR_CONFIG = {
Size = ,
BezelPadding = ,
Position = .(, -, , -),
AnchorPoint = .(, ),
Range = ,
ShowGrid = ,
ShowSweep = ,
ShowSweepTrail = ,
ShowRangeRings = ,
ShowCompassTicks = ,
ShowScanlines = ,
ShowAltitude = ,
ShowPlayerNames = ,
RotateWithHeading = ,
TrackCamera = ,
TrackStrength = ,
MaxTrackRange = ,
UnlockKey = .KeyCode.X,
AutoScriptableCamera = ,
BlipSize = ,
AltitudeThreshold = ,
ToggleKey = .KeyCode.M,
JetModelNames = {},
}
screenGui = .()
screenGui.Name =
screenGui.ResetOnSpawn =
screenGui.ZIndexBehavior = .ZIndexBehavior.Sibling
screenGui.Parent = playerGui
bezelFrame = .()
bezelFrame.Name =
bezelFrame.Size = .(WT_RADAR_CONFIG.Size + WT_RADAR_CONFIG.BezelPadding * , WT_RADAR_CONFIG.Size + WT_RADAR_CONFIG.BezelPadding * + )
bezelFrame.Position = WT_RADAR_CONFIG.Position
bezelFrame.AnchorPoint = WT_RADAR_CONFIG.AnchorPoint
bezelFrame.BackgroundColor3 = BG_BEZEL
bezelFrame.BackgroundTransparency =
bezelFrame.BorderSizePixel =
bezelFrame.Parent = screenGui
bezelStroke = .()
bezelStroke.Color = PHOSPHOR_DIM
bezelStroke.Thickness =
bezelStroke.Transparency =
bezelStroke.Parent = bezelFrame
i, data ({
{ pos = .(, ), size = .(, ), size2 = .(, ) },
{ pos = .(, -, , ), size = .(, ), size2 = .(, ) },
{ pos = .(, , -), size = .(, ), size2 = .(, ) },
{ pos = .(, -, , -), size = .(, ), size2 = .(, ) },
})
h = .()
h.Size = data.size
h.Position = data.pos
h.BackgroundColor3 = PHOSPHOR
h.BackgroundTransparency =
h.BorderSizePixel =
h.Parent = bezelFrame
v = .()
v.Size = data.size2
v.Position = data.pos
v.BackgroundColor3 = PHOSPHOR
v.BackgroundTransparency =
v.BorderSizePixel =
v.Parent = bezelFrame
radarFrame = .()
radarFrame.Name =
radarFrame.Size = .(WT_RADAR_CONFIG.Size, WT_RADAR_CONFIG.Size)
radarFrame.Position = .(WT_RADAR_CONFIG.BezelPadding, WT_RADAR_CONFIG.BezelPadding)
radarFrame.BackgroundColor3 = BG_DARK
radarFrame.BackgroundTransparency =
radarFrame.BorderSizePixel =
radarFrame.Parent = bezelFrame
corner = .()
corner.CornerRadius = .(, )
corner.Parent = radarFrame
stroke = .()
stroke.Color = PHOSPHOR_DIM
stroke.Thickness =
stroke.Transparency =
stroke.Parent = radarFrame
displayFrame = .()
displayFrame.Name =
displayFrame.Size = .(, )
displayFrame.BackgroundTransparency =
displayFrame.ClipsDescendants =
displayFrame.Parent = radarFrame
displayCorner = .()
displayCorner.CornerRadius = .(, )
displayCorner.Parent = displayFrame
vignette = .()
vignette.Name =
vignette.Size = .(, )
vignette.BackgroundColor3 = .(, , )
vignette.BackgroundTransparency =
vignette.BorderSizePixel =
vignette.ZIndex =
vignette.Parent = displayFrame
vignetteCorner = .()
vignetteCorner.CornerRadius = .(, )
vignetteCorner.Parent = vignette
vignetteGradient = .()
vignetteGradient.Transparency = NumberSequence.({
NumberSequenceKeypoint.(, ),
NumberSequenceKeypoint.(, ),
NumberSequenceKeypoint.(, ),
})
vignetteGradient.Parent = vignette
WT_RADAR_CONFIG.ShowRangeRings
i = ,
ring = .()
ring.Name = .. i
ring.AnchorPoint = .(, )
ring.Position = .(, )
ring.Size = .(i * + , i * + )
ring.BackgroundTransparency =
ring.BorderSizePixel =
ring.ZIndex =
ring.Parent = displayFrame
ringStroke = .()
ringStroke.Color = PHOSPHOR_FAINT
ringStroke.Thickness =
ringStroke.Transparency = i ==
ringStroke.Parent = ring
ringCorner = .()
ringCorner.CornerRadius = .(, )
ringCorner.Parent = ring
WT_RADAR_CONFIG.ShowCompassTicks
tickCount =
i = , tickCount -
angle = .(i * ( / tickCount))
isMajor = i % ==
tickLen = isMajor
tickWidth = isMajor
radius = WT_RADAR_CONFIG.Size / -
= .()
.Name = .. i
.AnchorPoint = .(, )
.Size = .(tickWidth, tickLen)
.Position = .(
WT_RADAR_CONFIG.Size / + .(angle) * radius,
WT_RADAR_CONFIG.Size / - .(angle) * radius
)
.Rotation = i * ( / tickCount)
.BackgroundColor3 = isMajor PHOSPHOR_DIM PHOSPHOR_FAINT
.BackgroundTransparency = isMajor
.BorderSizePixel =
.ZIndex =
.Parent = displayFrame
WT_RADAR_CONFIG.ShowGrid
_, axis ({ , })
line = .()
line.Name = axis ..
line.BackgroundColor3 = PHOSPHOR_FAINT
line.BackgroundTransparency =
line.BorderSizePixel =
line.ZIndex =
line.Parent = displayFrame
axis ==
line.Size = .(, , , )
line.Position = .(, )
line.Size = .(, , , )
line.Position = .(, )
sweepLines = {}
spinContainer = .()
spinContainer.Name =
spinContainer.AnchorPoint = .(, )
spinContainer.Position = .(, )
spinContainer.Size = .(, )
spinContainer.BackgroundTransparency =
spinContainer.ZIndex =
spinContainer.Parent = displayFrame
WT_RADAR_CONFIG.ShowSweep
trailCount = WT_RADAR_CONFIG.ShowSweepTrail
i = , trailCount
line = .()
line.Name = i == .. i
line.AnchorPoint = .(, )
line.Position = .(, )
line.Size = .(, i == , , -)
line.BackgroundColor3 = i == PHOSPHOR_BRIGHT PHOSPHOR
line.BackgroundTransparency = i == + i *
line.BorderSizePixel =
line.Parent = spinContainer
sweepLines[i] = line
centerDot = .()
centerDot.Name =
centerDot.AnchorPoint = .(, )
centerDot.Position = .(, )
centerDot.Size = .(, )
centerDot.BackgroundColor3 = PHOSPHOR_BRIGHT
centerDot.BackgroundTransparency =
centerDot.BorderSizePixel =
centerDot.Parent = spinContainer
dotCorner = .()
dotCorner.CornerRadius = .(, )
dotCorner.Parent = centerDot
WT_RADAR_CONFIG.ShowScanlines
scanContainer = .()
scanContainer.Name =
scanContainer.Size = .(, )
scanContainer.BackgroundTransparency =
scanContainer.ZIndex =
scanContainer.ClipsDescendants =
scanContainer.Parent = displayFrame
scanCorner = .()
scanCorner.CornerRadius = .(, )
scanCorner.Parent = scanContainer
y = , WT_RADAR_CONFIG.Size,
scan = .()
scan.Size = .(, , , )
scan.Position = .(, y)
scan.BackgroundColor3 = .(, , )
scan.BackgroundTransparency =
scan.BorderSizePixel =
scan.Parent = scanContainer
blipContainer = .()
blipContainer.Name =
blipContainer.Size = .(, )
blipContainer.BackgroundTransparency =
blipContainer.ZIndex =
blipContainer.Parent = displayFrame
(horizontal)
line = .()
line.AnchorPoint = .(, )
line.Position = .(, )
line.BackgroundColor3 = PHOSPHOR_BRIGHT
line.BackgroundTransparency =
line.BorderSizePixel =
line.ZIndex =
line.Parent = blipContainer
horizontal
line.Size = .(, )
line.Size = .(, )
()
()
headingTick = .()
headingTick.Name =
headingTick.AnchorPoint = .(, )
headingTick.Position = .(, )
headingTick.Size = .(, )
headingTick.BackgroundColor3 = PHOSPHOR_BRIGHT
headingTick.BackgroundTransparency =
headingTick.BorderSizePixel =
headingTick.ZIndex =
headingTick.Parent = blipContainer
(label)
label.BackgroundTransparency =
label.Font = .Font.Code
label.TextColor3 = PHOSPHOR
label.TextStrokeColor3 = PHOSPHOR_DIM
label.TextStrokeTransparency =
titleLabel = .()
titleLabel.Name =
titleLabel.Size = .(, , , )
titleLabel.Position = .(, WT_RADAR_CONFIG.Size + WT_RADAR_CONFIG.BezelPadding + )
titleLabel.Text =
titleLabel.TextSize =
titleLabel.TextXAlignment = .TextXAlignment.Left
(titleLabel)
titleLabel.Parent = bezelFrame
rangeLabel = .()
rangeLabel.Name =
rangeLabel.Size = .(, , , )
rangeLabel.Position = .(, WT_RADAR_CONFIG.Size + WT_RADAR_CONFIG.BezelPadding + )
rangeLabel.Text = .. WT_RADAR_CONFIG.Range
rangeLabel.TextSize =
rangeLabel.TextXAlignment = .TextXAlignment.Left
(rangeLabel)
rangeLabel.Parent = bezelFrame
headingLabel = .()
headingLabel.Name =
headingLabel.Size = .(, , , )
headingLabel.Position = .(, , WT_RADAR_CONFIG.Size + WT_RADAR_CONFIG.BezelPadding + , )
headingLabel.Text =
headingLabel.TextSize =
headingLabel.TextXAlignment = .TextXAlignment.Right
(headingLabel)
headingLabel.Parent = bezelFrame
targetLabel = .()
targetLabel.Name =
targetLabel.Size = .(, , , )
targetLabel.Position = .(, -)
targetLabel.Text =
targetLabel.TextSize =
targetLabel.TextXAlignment = .TextXAlignment.Left
(targetLabel)
targetLabel.Parent = bezelFrame
lockReticle = .()
lockReticle.Name =
lockReticle.Size = .(, )
lockReticle.AnchorPoint = .(, )
lockReticle.BackgroundTransparency =
lockReticle.Visible =
lockReticle.Parent = screenGui
(xScale, yScale, rot)
cornerMark = .()
cornerMark.Size = .(, )
cornerMark.Position = .(xScale, xScale < -, yScale, yScale < -)
cornerMark.BackgroundColor3 = PHOSPHOR_BRIGHT
cornerMark.BackgroundTransparency =
cornerMark.BorderSizePixel =
cornerMark.Rotation = rot
cornerMark.Parent = lockReticle
cornerMark2 = .()
cornerMark2.Size = .(, )
cornerMark2.Position = .(xScale, xScale < -, yScale, yScale < -)
cornerMark2.BackgroundColor3 = PHOSPHOR_BRIGHT
cornerMark2.BackgroundTransparency =
cornerMark2.BorderSizePixel =
cornerMark2.Rotation = rot
cornerMark2.Parent = lockReticle
(, , )
(, , )
(, , )
(, , )
lockNameTag = .()
lockNameTag.Name =
lockNameTag.Size = .(, , , )
lockNameTag.Position = .(, , , )
lockNameTag.AnchorPoint = .(, )
lockNameTag.BackgroundTransparency =
lockNameTag.Font = .Font.Code
lockNameTag.TextSize =
lockNameTag.TextColor3 = PHOSPHOR_BRIGHT
lockNameTag.TextStrokeColor3 = PHOSPHOR_DIM
lockNameTag.TextStrokeTransparency =
lockNameTag.Text =
lockNameTag.Parent = lockReticle
blipPool = {}
sweepAngle =
lockedTarget =
savedCameraType =
savedCameraSubject =
(player)
player.Team localPlayer.Team
player.Team == localPlayer.Team
PHOSPHOR_DIM
PHOSPHOR_BRIGHT
PHOSPHOR
(model)
#WT_RADAR_CONFIG.JetModelNames ==
_, name WT_RADAR_CONFIG.JetModelNames
model.Name == name
(player)
character = player.Character
character
humanoid = character:()
humanoid humanoid.SeatPart
seat = humanoid.SeatPart
vehicle = seat:()
vehicle vehicle.PrimaryPart
{
position = vehicle.PrimaryPart.Position,
lookVector = vehicle.PrimaryPart.CFrame.LookVector,
altitude = vehicle.PrimaryPart.Position.Y,
inJet = (vehicle),
}
seat:()
{
position = seat.Position,
lookVector = seat.CFrame.LookVector,
altitude = seat.Position.Y,
inJet = ,
}
root = character:()
character:()
character:()
root
{
position = root.Position,
lookVector = root.CFrame.LookVector,
altitude = root.Position.Y,
inJet = ,
}
(lookVector)
.(lookVector.X, lookVector.Z)
()
camera = .CurrentCamera
camera
_, yaw = camera.CFrame:()
yaw
(worldPos, localPos, headingYaw)
relative = .(worldPos.X - localPos.X, , worldPos.Z - localPos.Z)
WT_RADAR_CONFIG.RotateWithHeading
cos = .(headingYaw)
sin = .(headingYaw)
rotatedX = relative.X * cos - relative.Z * sin
rotatedZ = relative.X * sin + relative.Z * cos
relative = .(rotatedX, , rotatedZ)
halfSize = WT_RADAR_CONFIG.Size /
scale = halfSize / WT_RADAR_CONFIG.Range
.(relative.X * scale, relative.Z * scale)
(player)
player.Team localPlayer.Team
player.Team ~= localPlayer.Team
player ~= localPlayer
(player)
lockedTarget == player
player =
lockedTarget player WT_RADAR_CONFIG.AutoScriptableCamera
camera = .CurrentCamera
camera savedCameraType
camera.CameraType = savedCameraType
camera.CameraSubject = savedCameraSubject
savedCameraType =
savedCameraSubject =
lockedTarget = player
player
targetLabel.Text = .. .(player.DisplayName)
lockNameTag.Text = player.DisplayName
WT_RADAR_CONFIG.AutoScriptableCamera
camera = .CurrentCamera
camera savedCameraType
savedCameraType = camera.CameraType
savedCameraSubject = camera.CameraSubject
camera.CameraType = .CameraType.Scriptable
targetLabel.Text =
lockReticle.Visible =
(player)
blipButton = .()
blipButton.Name = player.Name ..
blipButton.Size = .(, )
blipButton.AnchorPoint = .(, )
blipButton.BackgroundTransparency =
blipButton.BorderSizePixel =
blipButton.Text =
blipButton.AutoButtonColor =
blipButton.ZIndex =
blipButton.Parent = blipContainer
blip = .()
blip.Name =
blip.Size = .(WT_RADAR_CONFIG.BlipSize, WT_RADAR_CONFIG.BlipSize)
blip.AnchorPoint = .(, )
blip.Position = .(, )
blip.BackgroundColor3 = (player)
blip.BackgroundTransparency =
blip.BorderSizePixel =
blip.ZIndex =
blip.Parent = blipButton
blipStroke = .()
blipStroke.Name =
blipStroke.Color = PHOSPHOR_BRIGHT
blipStroke.Thickness =
blipStroke.Transparency =
blipStroke.Parent = blip
nameLabel = .()
nameLabel.Name =
nameLabel.Size = .(, , , )
nameLabel.Position = .(, , , )
nameLabel.AnchorPoint = .(, )
nameLabel.BackgroundTransparency =
nameLabel.Font = .Font.Code
nameLabel.TextSize =
nameLabel.TextColor3 = PHOSPHOR
nameLabel.TextStrokeColor3 = PHOSPHOR_DIM
nameLabel.TextStrokeTransparency =
nameLabel.Text = player.DisplayName
nameLabel.ZIndex =
nameLabel.Parent = blipButton
entry = { button = blipButton, frame = blip, stroke = blipStroke, nameLabel = nameLabel }
WT_RADAR_CONFIG.ShowAltitude
altLabel = .()
altLabel.Name =
altLabel.Size = .(, )
altLabel.Position = .(, , , -)
altLabel.AnchorPoint = .(, )
altLabel.BackgroundTransparency =
altLabel.Font = .Font.Code
altLabel.TextSize =
altLabel.TextColor3 = PHOSPHOR
altLabel.TextStrokeColor3 = PHOSPHOR_DIM
altLabel.TextStrokeTransparency =
altLabel.Text =
altLabel.Visible =
altLabel.ZIndex =
altLabel.Parent = blipButton
entry.altLabel = altLabel
blipButton.MouseButton1Click:(()
(player)
(player)
)
blipPool[player] = entry
(player)
entry = blipPool[player]
entry
entry.button:()
blipPool[player] =
lockedTarget == player
()
()
localData = (localPlayer)
localData
headingYaw = WT_RADAR_CONFIG.RotateWithHeading (localData.lookVector) ()
headingDegrees = .((.(headingYaw) % + ) % )
headingLabel.Text = .(, headingDegrees)
localPos = localData.position
player, entry (blipPool)
targetData = (player)
targetData
entry.button.Visible =
flatDistance = (.(targetData.position.X, , targetData.position.Z)
- .(localPos.X, , localPos.Z)).Magnitude
flatDistance > WT_RADAR_CONFIG.Range
entry.button.Visible =
offset = (targetData.position, localPos, headingYaw)
maxRadius = WT_RADAR_CONFIG.Size / - WT_RADAR_CONFIG.BlipSize
offset.Magnitude > maxRadius
offset = offset.Unit * maxRadius
entry.button.Position = .(
WT_RADAR_CONFIG.Size / + offset.X,
WT_RADAR_CONFIG.Size / + offset.Y
)
entry.frame.BackgroundColor3 = (player)
entry.button.Visible =
blipSize = targetData.inJet WT_RADAR_CONFIG.BlipSize + WT_RADAR_CONFIG.BlipSize
entry.frame.Size = .(blipSize, blipSize)
isLocked = lockedTarget == player
entry.stroke.Thickness = isLocked
entry.stroke.Transparency = isLocked
entry.stroke.Color = isLocked PHOSPHOR_BRIGHT PHOSPHOR_BRIGHT
entry.nameLabel.TextColor3 = isLocked PHOSPHOR_BRIGHT PHOSPHOR
entry.altLabel
altDiff = targetData.altitude - localData.altitude
.(altDiff) >= WT_RADAR_CONFIG.AltitudeThreshold
entry.altLabel.Visible =
entry.altLabel.Text = altDiff >
entry.altLabel.Visible =
(dt)
lockedTarget
lockReticle.Visible =
targetData = (lockedTarget)
localData = (localPlayer)
camera = .CurrentCamera
targetData localData camera
()
distance = (targetData.position - localData.position).Magnitude
distance > WT_RADAR_CONFIG.MaxTrackRange
()
screenPos, onScreen = camera:(targetData.position)
onScreen
lockReticle.Visible =
lockReticle.Position = .(screenPos.X, screenPos.Y)
lockReticle.Visible =
WT_RADAR_CONFIG.TrackCamera
camPos = camera.CFrame.Position
mouseDelta = UserInputService:()
sensitivity =
currentLook = camera.CFrame.LookVector
right = camera.CFrame.RightVector
up = .yAxis
yawRot = .(up, -mouseDelta.X * sensitivity)
pitchRot = .(right, -mouseDelta.Y * sensitivity)
mouseLook = (yawRot * pitchRot):(currentLook)
toTarget = (targetData.position - camPos).Unit
trackAlpha = .(WT_RADAR_CONFIG.TrackStrength * dt, , )
blendedLook = mouseLook:(toTarget, trackAlpha).Unit
camera.CFrame = .(camPos, camPos + blendedLook)
(dt)
spinContainer
sweepAngle = (sweepAngle + dt * ) %
spinContainer.Rotation = sweepAngle
i, line (sweepLines)
i >
line.Rotation = -i *
(player)
player == localPlayer
(player)
_, player Players:()
(player)
Players.PlayerAdded:(onPlayerAdded)
Players.PlayerRemoving:(removeBlip)
UserInputService.InputBegan:((input, gameProcessed)
gameProcessed
input.KeyCode == WT_RADAR_CONFIG.ToggleKey
bezelFrame.Visible = bezelFrame.Visible
input.KeyCode == WT_RADAR_CONFIG.UnlockKey
()
)
RunService.RenderStepped:((dt)
()
(dt)
(dt)
)
press M to toggle radar Press X or click the same blip again to unlock

Universal