{"hash":"0xAB6A04CEC428258B","ns":"MISC","name":"GET_LINE_PLANE_INTERSECTION","slug":"GET_LINE_PLANE_INTERSECTION","official":true,"named":true,"luaName":"GetLinePlaneIntersection","game":"rdr3","apiset":"client","returnType":"BOOL","params":[{"name":"p0","type":"float"},{"name":"p1","type":"float"},{"name":"p2","type":"float"},{"name":"p3","type":"float"},{"name":"p4","type":"float"},{"name":"p5","type":"float"},{"name":"p6","type":"float"},{"name":"p7","type":"float"},{"name":"p8","type":"float"},{"name":"p9","type":"float"},{"name":"p10","type":"float"},{"name":"p11","type":"float"},{"name":"p12","type":"float*"}],"summary":"","descriptions":[],"examples":[],"aliases":[],"enums":[],"related":[],"build":"1207","gtaHash":"0xF56DFB7B61BE7276","gtaJhash":"0xC6CC812C","sources":["alloc8or"],"doc":1,"url":"https://natives.borderlinerp.com/natives/MISC/GET_LINE_PLANE_INTERSECTION","markdownUrl":"https://natives.borderlinerp.com/natives/MISC/GET_LINE_PLANE_INTERSECTION.md","snippets":{"lua":"local retval, p12 = GetLinePlaneIntersection(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12)","luaInvoke":"local retval, p12 = Citizen.InvokeNative(0xAB6A04CEC428258B, p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, Citizen.PointerValueFloatInitialized(p12), Citizen.ReturnResultAnyway())","js":"const [retval, p12] = GetLinePlaneIntersection(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12);","jsInvoke":"const [retval, p12] = Citizen.invokeNative('0xAB6A04CEC428258B', p0 + 0.0000001, p1 + 0.0000001, p2 + 0.0000001, p3 + 0.0000001, p4 + 0.0000001, p5 + 0.0000001, p6 + 0.0000001, p7 + 0.0000001, p8 + 0.0000001, p9 + 0.0000001, p10 + 0.0000001, p11 + 0.0000001, Citizen.pointerValueFloatInitialized(p12), Citizen.returnResultAnyway());","csharp":"var p12 = new OutputArgument();\nbool retval = Function.Call<bool>((Hash)0xAB6A04CEC428258B, p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12);\n// p12.GetResult<float>()","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.","The last argument is an in/out pointer: pass its initial value, and the updated value is returned after the result."]}}