what about using 2 of these functions https://wiki.multitheftauto.com/wiki/Useful_Functions
something like
function getLineHitAngle(Point1X, Point1Y, Point1Z, Point2X, Point2Y, Point2Z)
local Hit, HitX, HitY, HitZ = processLineOfSight(Point1X, Point1Y, Point1Z, Point2X, Point2Y, Point2Z)
if Hit then
local LineAngle = findRotation(Point1X, Point1Y, Point2X, Point2Y)
local LineDistance = 2
local Point3X, Point3Y = getPointFromDistanceRotation(Point1X, Point1Y, LineDistance, LineAngle - 90)
local Point4X, Point4Y = getPointFromDistanceRotation(Point2X, Point2Y, LineDistance, LineAngle - 90)
local Hit2, Hit2X, Hit2Y, Hit2Z = processLineOfSight(Point3X, Point3Y, Point1Z, Point4X, Point4Y, Point2Z)
if Hit2 then
return findRotation(HitX, HitY, Hit2X, Hit2Y) - LineAngle
end
end
return false
end