{"hash":"0x302E71C1D9EE75B9","ns":"STATS","name":"_0x302E71C1D9EE75B9","slug":"0x302E71C1D9EE75B9","official":false,"named":false,"luaName":"N_0x302e71c1d9ee75b9","game":"rdr3","apiset":"client","returnType":"BOOL","params":[{"name":"statId","type":"Any*"},{"name":"p1","type":"Hash"},{"name":"p2","type":"int*"}],"summary":"","descriptions":[{"source":"alloc8or","format":"text","body":"statId: see STAT_ID_IS_VALID"}],"examples":[],"aliases":[],"enums":[],"related":[],"build":"1207","sources":["alloc8or"],"doc":1,"url":"https://natives.borderlinerp.com/natives/STATS/0x302E71C1D9EE75B9","markdownUrl":"https://natives.borderlinerp.com/natives/STATS/0x302E71C1D9EE75B9.md","snippets":{"lua":"local retval, statId, p2 = N_0x302e71c1d9ee75b9(p1)","luaInvoke":"local retval, statId, p2 = Citizen.InvokeNative(0x302E71C1D9EE75B9, Citizen.PointerValueInt(), p1, Citizen.PointerValueInt(), Citizen.ReturnResultAnyway())","js":"const [retval, statId, p2] = N_0x302e71c1d9ee75b9(p1);","jsInvoke":"const [retval, statId, p2] = Citizen.invokeNative('0x302E71C1D9EE75B9', Citizen.pointerValueInt(), p1, Citizen.pointerValueInt(), Citizen.returnResultAnyway());","csharp":"var statId = new OutputArgument();\nvar p2 = new OutputArgument();\nbool retval = Function.Call<bool>((Hash)0x302E71C1D9EE75B9, statId, p1, p2);\n// statId.GetResult<int>()\n// p2.GetResult<int>()","notes":["Hash parameters: the named function also accepts a string and hashes it for you; `Citizen.InvokeNative` needs the number — pass `joaat(\"name\")` or a backtick literal like `` `name` ``.","Pointer (out) arguments are not passed in Lua/JS: their values are returned after the result, in order.","`Any*` arguments are often structs. Build them with a DataView buffer and pass it with `:Buffer()` — see the examples and notes below.","This native has no known name, so the runtime exposes it only as `N_0x302e71c1d9ee75b9` (if present in the client snapshot). `InvokeNative` with the hash always works."]}}