GenerateDirectionsTOCoord is always returning 0 on the direction parameter.
The distance works perfectly, but f4 (direction) is always giving back 0. Here is the native documentation.
Code below is the function being used to run the native and how I am using it.
Code:
public Tuple<float, float, float> GenerateDirectionsToCoord(Vector3 position)
{
OutputArgument f4 = new OutputArgument(), f5 = new OutputArgument(), f6 = new OutputArgument();
Function.Call<int>(Hash.GENERATE_DIRECTIONS_TO_COORD, position.X, position.Y, position.Z, true, f4, f5, f6);
return new Tuple<float, float, float>(
f4.GetResult<float>(),
f5.GetResult<float>(),
f6.GetResult<float>()
);
}
How it’s being called:
var blip = World.GetWaypointBlip();
if (!blip.Exists())
{
await Delay(1000);
return;
}
var directionInfo = GenerateDirectionsToCoord(blip.Position);
var direction = directionInfo.Item1;
var distance = directionInfo.Item3;
Debug.WriteLine("DIRECTION: " + direction);
Chat("DIRECTION: " + direction + " || " + "DISTANCE: " + distance);
This native works for others in normal GTA V. https://gtaforums.com/topic/869246-gps-points-native/
Direction is an int, not a float.
The native shows it as a float.
Then that definition is wrong.
Well in that case the FiveM Native Docs need to be updated 
you can create a PR for it, non-CitizenFX API set natives are (usually) not documented by FiveM staff. They are from a copy of the NativeDB reference, and you can now send PRs to fix them if they’re wrong.