{"id":"sumer9999dev/forward","name":"forward","scope":"sumer9999dev","platform":"roblox","description":"https://github.com/SUMER9999dev/forward","version":"1.0.1","latest":"1.0.1","versions":["1.0.0","1.0.1"],"license":"MIT","licenseRating":"safe","licenseCaveats":[],"licenseVerified":true,"dependencies":{"ecurtiss/catrom":{"version":"=1.0.0-rc1","alias":"catrom"}},"integrity":"f8e56bef48030c6bc8812cc330c27ceda68b5bf92c751e827030a316743be83e","likes":0,"downloads":0,"install":"forest install sumer9999dev/forward","url":"https://forest.dev/p/roblox/sumer9999dev/forward","files":"https://api.forest.dev/ai/package/roblox/sumer9999dev/forward/files","readme":"# 🏃🏻 Forward\r\nTD movement library, specially created for MelonBytes Studio\r\n\r\n# Install \r\n``sumer9999dev/forward@1.0.0``\r\n\r\n# Credits\r\nSUMER (@sumer_real) - developing this library\r\n\r\necurtiss (@ecurtiss) - for creating [CatRom](https://github.com/ecurtiss/CatRom) library\r\n\r\n# Documentation\r\nCreate path:\r\n```lua\r\n-- Forward.Path(effect, alpha, tension, ...points)\r\nlocal path = Forward.Path(\r\n    render_stepped_effect, 0.5, 0.6,\r\n    {\r\n        Vector3.new(100, 10, 100),\r\n        Vector3.new(110, 10, 150),\r\n        Vector3.new(120, 10, 200)\r\n    },\r\n    workspace.point_4,\r\n    {\r\n        workspace.point_5,\r\n        workspace.point_6\r\n    }\r\n)\r\n```\r\n\r\nCreate effect for path:\r\n```lua\r\nlocal function render_stepped_effect(callback)\r\n    local connection = game:GetService('RunService').RenderStepped:Connect(callback)\r\n\r\n    return function() connection:Disconnect() end\r\nend\r\n```\r\n\r\nStart path:\r\n```lua\r\npath:start()\r\n```\r\n\r\nStop path:\r\n```lua\r\npath:stop()\r\n```\r\n\r\nSolve cframe at point:\r\n```lua\r\npath:solve_cframe(0.1)\r\n```\r\n\r\nWalker:\r\n```lua\r\nlocal walker = path:walker(10)  -- 10 is start speed\r\n\r\nwalker.speed = 15  -- you can edit speed in runtime\r\n\r\nwalker:on_update(function(point: CFrame)\r\n    print(point.Position)\r\nend)\r\n\r\nwalker:on_reached(function()\r\n    print('reached')\r\nend)\r\n\r\npath:remove_walker(walker)  -- also you can remove walker\r\n```","readmeTruncated":false}