{"hash":"0x38D5202FF9271C62","ns":"MISC","name":"GET_HEADING_FROM_VECTOR_2D","slug":"GET_HEADING_FROM_VECTOR_2D","official":true,"named":true,"luaName":"GetHeadingFromVector_2d","game":"rdr3","apiset":"client","returnType":"float","params":[{"name":"dx","type":"float"},{"name":"dy","type":"float"}],"summary":"","descriptions":[{"source":"alloc8or","format":"text","body":"dx = x1 - x2\ndy = y1 - y2"}],"examples":[],"aliases":[],"enums":[],"related":[],"build":"1207","gtaHash":"0x2FFB6B224F4B2926","gtaJhash":"0xD209D52B","sources":["alloc8or"],"doc":2,"url":"https://natives.borderlinerp.com/natives/MISC/GET_HEADING_FROM_VECTOR_2D","markdownUrl":"https://natives.borderlinerp.com/natives/MISC/GET_HEADING_FROM_VECTOR_2D.md","snippets":{"lua":"local retval = GetHeadingFromVector_2d(dx, dy)","luaInvoke":"local retval = Citizen.InvokeNative(0x38D5202FF9271C62, dx, dy, Citizen.ResultAsFloat())","js":"const retval = GetHeadingFromVector_2d(dx, dy);","jsInvoke":"const retval = Citizen.invokeNative('0x38D5202FF9271C62', dx + 0.0000001, dy + 0.0000001, Citizen.returnResultAnyway(), Citizen.resultAsFloat());","csharp":"float retval = Function.Call<float>((Hash)0x38D5202FF9271C62, dx, dy);","notes":["Float parameters: Lua integers (`10`, or whole numbers decoded from NUI/JSON) are sent as ints and read as garbage. Write `10.0` or `value + 0.0`. The generated JS wrappers add `0.0000001` to non-zero floats for the same reason."]}}