Run it
Copy the script and paste it into your executor.
Players = :()
PathfindingService = :()
RunService = :()
Workspace = :()
player = Players.LocalPlayer
mouse = player:()
camera = Workspace.CurrentCamera
marker = .()
marker.Name =
marker.Anchored =
marker.CanCollide =
marker.Shape = .PartType.Cylinder
marker.Size = .(, , )
marker.Material = .Material.Plastic
marker.Color = .(, , )
marker.Transparency =
marker.Orientation = .(, , )
marker.Parent =
marker.Position = .(, -, )
character, humanoid, root
moving =
pathID =
(char)
character = char
humanoid = char:()
root = char:()
humanoid:(.HumanoidStateType.FallingDown, )
humanoid:(.HumanoidStateType.Ragdoll, )
humanoid:(.HumanoidStateType.Physics, )
pathID +=
moving =
(player.Character player.CharacterAdded:())
player.CharacterAdded:(setupCharacter)
params = RaycastParams.()
params.FilterType = .RaycastFilterType.Blacklist
currentHighlight =
currentTarget =
()
currentHighlight
currentHighlight:()
currentHighlight =
currentTarget =
(character)
()
highlight = .()
highlight.FillColor = .(, , )
highlight.FillTransparency =
highlight.OutlineColor = .(, , )
highlight.OutlineTransparency =
highlight.Parent = character
currentHighlight = highlight
currentTarget = character
(part)
part part:() part.Material == .Material.Neon
()
character
params.FilterDescendantsInstances = { character }
unitRay = camera:(mouse.X, mouse.Y)
hit = :(unitRay.Origin, unitRay.Direction * , params)
hit
downHit = :(hit.Position + .(, , ), .(, -, ), params)
downHit downHit.Position
(wpPos)
params.FilterDescendantsInstances = { character }
hit = :(wpPos + .(, , ), .(, -, ), params)
hit (hit.Instance)
offset = .(, , )
try1 = wpPos + offset
try2 = wpPos - offset
hit1 = :(try1 + .(, , ), .(, -, ), params)
hit2 = :(try2 + .(, , ), .(, -, ), params)
hit1 (hit1.Instance)
hit1.Position
hit2 (hit2.Instance)
hit2.Position
wpPos + .(, , )
wpPos
RunService.RenderStepped:(()
moving
pos = ()
pos
marker.Position = pos + .(, , )
)
mouse.Button1Down:(()
humanoid humanoid.Health <=
targetPos = ()
targetPos
pathID +=
myPathID = pathID
moving =
marker.Position = targetPos + .(, , )
path = PathfindingService:({
AgentRadius = ,
AgentHeight = ,
AgentCanJump = ,
AgentCanClimb =
})
path:(root.Position, targetPos)
path.Status ~= .PathStatus.Success
moving =
_, wp (path:())
myPathID ~= pathID
pos = (wp.Position)
wp.Action == .PathWaypointAction.Jump
humanoid.Jump =
humanoid:(pos)
humanoid.MoveToFinished:()
moving =
)
RunService.RenderStepped:(()
target = mouse.Target
target target.Parent
()
targetPlayer = Players:(target.Parent)
targetPlayer targetPlayer == player
()
currentTarget ~= targetPlayer.Character
(targetPlayer.Character)
)
Just pathfind

Universal