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) :
01 | repeat wait() until game.Players.LocalPlayer |
02 | Plr = game.Players.LocalPlayer |
03 | repeat wait() until Plr.PlayerScripts |
04 | repeat wait() until Plr.PlayerScripts.ControlScript |
05 | Plr.PlayerScripts.ControlScript:remove() |
07 | repeat wait() until Plr.Character |
10 | local Bin = Instance.new( "Message" ) |
13 | Hover = Instance.new( "Part" ,Bin) |
14 | Hover.Name = Plr.Name.. "'s Hover Block" |
15 | Hover.FormFactor = "Custom" |
16 | Hover.Size = Vector 3. new( 3 ,. 2 , 3 ) |
19 | Hover.BrickColor = BrickColor.new( "Lime green" ) |
20 | Mouse.TargetFilter = Hover |
21 | Mesh = Instance.new( "CylinderMesh" ,Hover) |
23 | function HoverUpdate(Mouse) |
28 | X 2 = Plr.Character.HumanoidRootPart.Position.X |
29 | Y 2 = Plr.Character.HumanoidRootPart.Position.Y |
30 | Z 2 = Plr.Character.HumanoidRootPart.Position.Z |
34 | Distance = DisX+DisY+DisZ |
36 | Hover.Position = Vector 3. new(Mouse.Hit.X,Mouse.Hit.Y+. 2 ,Mouse.Hit.Z) |
46 | Mouse.Move:connect( function () |
47 | PlrMouse = Plr:GetMouse() |
51 | Plr.Character.Torso.Changed:connect( function () |
52 | PlrMouse = Plr:GetMouse() |
56 | Mouse.Button 1 Down:connect( function () |
57 | if Mouse.Target~ = nil and Hover.Transparency = = 0 then |
58 | Char.Humanoid.WalkToPoint = Hover.Position |
62 | Mouse.KeyDown:connect( function (Key) |
66 | Mouse.KeyUp:connect( function (Key) |
71 | Char.Humanoid.Jump = true |
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