So, I am wanting to have a pet that follow’s me using path finding service. It follow’s me smoothly but the issue is that it can’t jump on simple block obstacles.
Vid:
Script:
local player = game.Players.LocalPlayer
local character = player.Character or player.CharacterAdded:Wait()
local Pathfinding = game:GetService("PathfindingService")
local Dummy = workspace.FlightFireCommon.BabyDragon
local humanoid = Dummy.Humanoid
function Run_()
local Path = Pathfinding:CreatePath({
AgentCanJump = true;
Costs = {};
})
local success, err = pcall(function()
Path:ComputeAsync(workspace.FlightFireCommon.BabyDragon.PrimaryPart.Position,player.Character.PrimaryPart.Position)
end)
local waypoints = Path:GetWaypoints()
Path.Blocked:Connect(function()
Run_()
Dummy.Humanoid.Jump = true
end)
for i, waypoint in pairs(waypoints) do
if Dummy:FindFirstChild("BreakPath").Value == true then return end
if waypoint.Action == Enum.PathWaypointAction.Walk then
local Anim = Dummy.Humanoid:LoadAnimation(Dummy.MovingAnim)
Anim:Play()
Dummy.Humanoid:MoveTo(waypoint.Position)
Dummy.Humanoid.MoveToFinished:Wait()
Anim:Stop()
elseif waypoint.Action == Enum.PathWaypointAction.Jump then
Dummy.Humanoid.Jump = true
end
end
if not success then
warn(err)
end
end
repeat wait(1) until game:IsLoaded()
local BreakPath = Dummy.BreakPath
BreakPath.Changed:Connect(function()
BreakPath.Value = false
end)
game:GetService"RunService".Heartbeat:Connect(function()
Run_()
BreakPath.Value = true
end)