I did this and put it in startercharacterscripts but it’s still really glitchy and teleports randomly
local char = script.Parent.Parent
local rayOrigin = char.HumanoidRootPart.Position
local distance = rayOrigin - char.HumanoidRootPart.CFrame.LookVector
local rayDirection = char.HumanoidRootPart.CFrame.LookVector*distance
script.Parent.Massless = true
local attachment1 = Instance.new("Attachment")
attachment1.Parent = char.HumanoidRootPart
attachment1.Position = Vector3.new(0.001, 0, -6.324)
script.Parent.AlignPosition.Attachment1 = attachment1
script.Parent.AlignOrientation.Attachment1 = attachment1
while true do
wait()
local rayOrigin = Vector3.new(char.HumanoidRootPart.Position.X - 10,char.HumanoidRootPart.Position.Y,char.HumanoidRootPart.Position.Z)
local distance = rayOrigin - char.Torso.CFrame.LookVector
local rayDirection = char.Torso.CFrame.LookVector*distance
local raycastResult = workspace:Raycast(rayOrigin, rayDirection)
if raycastResult ~= nil then
print(raycastResult.Position)
attachment1.WorldPosition = raycastResult.Position
raycastResult.Instance.BrickColor = BrickColor.new("Really red")
end
end