{"hash":"0xDBEADA0DF5F9AB9F","ns":"ITEMDATABASE","name":"_ITEMDATABASE_GET_SHOP_LAYOUT_PAGE_INFO_BY_INDEX","slug":"_ITEMDATABASE_GET_SHOP_LAYOUT_PAGE_INFO_BY_INDEX","official":false,"named":true,"luaName":"ItemdatabaseGetShopLayoutPageInfoByIndex","game":"rdr3","apiset":"client","returnType":"BOOL","params":[{"name":"layout","type":"Hash"},{"name":"index","type":"int"},{"name":"outData","type":"Any*"}],"summary":"Outputs the layout page info at the selected index.","descriptions":[{"source":"alloc8or","format":"text","body":"Outputs the layout page info at the selected index.\nstruct LayoutPageInfo\n{\n\talignas(8) Hash pageKey;\n\talignas(8) Hash unk1;\n\talignas(8) BOOL unk2;\n\talignas(8) int  numItems;\n};"},{"source":"vorp","format":"text","body":"Returns the layout page info at the selected index"}],"examples":[{"lang":"lua","code":"local data = DataView.ArrayBuffer(4 * 8)\nif (Citizen.InvokeNative(0xDBEADA0DF5F9AB9F, `st_doctor`, 0, data:Buffer()) == 1) then\nlocal pageKey = data:GetInt32(0)\nend","source":"vorp"}],"aliases":[],"enums":[],"related":[],"build":"1355","sources":["alloc8or","vorp"],"doc":3,"url":"https://natives.borderlinerp.com/natives/ITEMDATABASE/_ITEMDATABASE_GET_SHOP_LAYOUT_PAGE_INFO_BY_INDEX","markdownUrl":"https://natives.borderlinerp.com/natives/ITEMDATABASE/_ITEMDATABASE_GET_SHOP_LAYOUT_PAGE_INFO_BY_INDEX.md","snippets":{"lua":"local retval, outData = ItemdatabaseGetShopLayoutPageInfoByIndex(layout, index, outData)","luaInvoke":"local retval, outData = Citizen.InvokeNative(0xDBEADA0DF5F9AB9F, layout, index, Citizen.PointerValueIntInitialized(outData), Citizen.ReturnResultAnyway())","js":"const [retval, outData] = ItemdatabaseGetShopLayoutPageInfoByIndex(layout, index, outData);","jsInvoke":"const [retval, outData] = Citizen.invokeNative('0xDBEADA0DF5F9AB9F', layout, index, Citizen.pointerValueIntInitialized(outData), Citizen.returnResultAnyway());","csharp":"var outData = new OutputArgument();\nbool retval = Function.Call<bool>((Hash)0xDBEADA0DF5F9AB9F, layout, index, outData);\n// outData.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` ``.","The last argument is an in/out pointer: pass its initial value, and the updated value is returned after the result.","`Any*` arguments are often structs. Build them with a DataView buffer and pass it with `:Buffer()` — see the examples and notes below.","The name is a community guess and may change. If the named call is missing in your client build, use `InvokeNative` with the hash — it always works."]}}