Почему то не работало, прогнал через Gemini, выдало рабочий вариант:
function getVehiclePitch(vehicle)
local qx, qy, qz, qw = getVehicleQuaternion(vehicle)
local sinp = 2.0 * (qw * qx + qy * qz)
local cosp = 1.0 - 2.0 * (qx * qx + qy * qy)
return math.atan2(sinp, cosp)
end