A little like old green disc. But with pathfinding.
How could I disable WASD movement and keep the custom roblox Animate script?
It is actually possible to make this, and not as complicated as it might seem.
I've already made one of these myself in the past. You simply would need to find where the players mouse is, then make the green disc follow it.
To move the player, you just find the discs position, and tell the Humanoid to walk there. He's the script I came up with (Make sure this is in a LocalScript inside the PlayerGui) :
repeat wait() until game.Players.LocalPlayer Plr=game.Players.LocalPlayer repeat wait() until Plr.PlayerScripts repeat wait() until Plr.PlayerScripts.ControlScript Plr.PlayerScripts.ControlScript:remove() Mouse=Plr:GetMouse() repeat wait() until Plr.Character Char=Plr.Character local Bin=Instance.new("Message") Bin.Name="LocalBin" --Makes the part a 'LocalPart' so only you can see it. Bin.Parent=Char Hover=Instance.new("Part",Bin) Hover.Name=Plr.Name.."'s Hover Block" Hover.FormFactor="Custom" Hover.Size=Vector3.new(3,.2,3) Hover.CanCollide=false Hover.Anchored=true Hover.BrickColor=BrickColor.new("Lime green") Mouse.TargetFilter=Hover Mesh=Instance.new("CylinderMesh",Hover) function HoverUpdate(Mouse) --Sets up function to update position if Mouse.Target then X=Mouse.Hit.X Y=Mouse.Hit.Y Z=Mouse.Hit.Z X2=Plr.Character.HumanoidRootPart.Position.X Y2=Plr.Character.HumanoidRootPart.Position.Y Z2=Plr.Character.HumanoidRootPart.Position.Z DisX=math.abs(X-X2) DisY=math.abs(Y-Y2) DisZ=math.abs(Z-Z2) Distance=DisX+DisY+DisZ if Distance<=100 then Hover.Position=Vector3.new(Mouse.Hit.X,Mouse.Hit.Y+.2,Mouse.Hit.Z) Hover.Transparency=0 else Hover.Transparency=1 end else Hover.Transparency=1 end end Mouse.Move:connect(function() --Updates disc position PlrMouse=Plr:GetMouse() HoverUpdate(PlrMouse) end) Plr.Character.Torso.Changed:connect(function() --Updates disc position PlrMouse=Plr:GetMouse() HoverUpdate(PlrMouse) end) Mouse.Button1Down:connect(function() --Moves character to target position if Mouse.Target~=nil and Hover.Transparency==0 then Char.Humanoid.WalkToPoint=Hover.Position end end) Mouse.KeyDown:connect(function(Key) --Replication of 'Jump' button. if Key==" " then local Space=true repeat wait() Mouse.KeyUp:connect(function(Key) if Key==" " then Space=false end end) Char.Humanoid.Jump=true until Space==false end end)
So basically, this script will work to remove the controls, and to make the green disc for movement.
However, to make the Pathfinding, you'll need to work on that on your own. Sorry, I simply have no idea to how to use it.
You'll need nodes for whatever map you're using, and for the player to move to them if an object blocks the path that the character is currently walking on.
Anyways, I hope I helped. If you have any further questions/problems, please leave a comment below. Hope I helped :P