SHOW:
|
|
- or go back to the newest paste.
1 | --SETTINGS | |
2 | local showpath = false | |
3 | - | local Destination = workspace.Destination-- YOU CAN CHANGE THIS. |
3 | + | local Destination = workspace.lafur2-- YOU CAN CHANGE THIS. |
4 | --SCRIPT CORE | |
5 | if Destination==nil then | |
6 | error("There is no Destination set for the bot to follow, please check line 3.") | |
7 | end | |
8 | local destination = Destination.Position | |
9 | local pathfindingService = game:GetService("PathfindingService") | |
10 | local humanoid = script.Parent.Humanoid | |
11 | humanoid.WalkSpeed = 16 | |
12 | local body = script.Parent:FindFirstChild("HumanoidRootPart") or script.Parent:FindFirstChild("Torso") | |
13 | local path = pathfindingService:CreatePath() | |
14 | path:ComputeAsync(body.Position, destination) | |
15 | local waypoints = path:GetWaypoints() | |
16 | repeat wait(1) humanoid:MoveTo(Destination.Position) path:ComputeAsync(body.Position, destination) until path.Status == Enum.PathStatus.Success | |
17 | local waypoints = path:GetWaypoints() | |
18 | for i = 1,#waypoints do | |
19 | if showpath == true then | |
20 | local part = Instance.new("Part",workspace) | |
21 | part.Name = i | |
22 | part.Anchored = true | |
23 | part.Position = waypoints[i].Position | |
24 | part.CanCollide = false | |
25 | part.Size = Vector3.new(1.5,1.5,1.5) | |
26 | part.Transparency = 1 | |
27 | if i ~=1 then | |
28 | other = workspace:FindFirstChild(tostring(i-1)) | |
29 | if other~=nil then | |
30 | local mag = (other.Position-part.Position).Magnitude | |
31 | local trail = Instance.new("Part",workspace) | |
32 | trail.Name = "trail"..i | |
33 | trail.Size = Vector3.new(0.5,0.5,mag) | |
34 | trail.CFrame = CFrame.new(other.Position,part.Position)*CFrame.new(0,0,-mag/2) | |
35 | trail.Anchored = true | |
36 | trail.CanCollide = false | |
37 | end | |
38 | end | |
39 | end | |
40 | end | |
41 | for k, waypoint in pairs(waypoints) do | |
42 | if path.Status == Enum.PathStatus.Success then | |
43 | humanoid.WalkToPoint = waypoint.Position | |
44 | if waypoint.Action == Enum.PathWaypointAction.Jump then | |
45 | humanoid.WalkSpeed = 0 | |
46 | wait(0.3) | |
47 | humanoid.WalkSpeed = 16 | |
48 | humanoid.Jump = true | |
49 | end | |
50 | humanoid.MoveToFinished:Wait(2) | |
51 | else | |
52 | repeat path:ComputeAsync(body.Position,destination) until path.Status == Enum.PathStatus.Success | |
53 | end | |
54 | end |