{"hash":"0xEF0D582CBF2D9B0F","ns":"PED","name":"APPLY_PED_BLOOD_SPECIFIC","slug":"APPLY_PED_BLOOD_SPECIFIC","official":true,"named":true,"luaName":"ApplyPedBloodSpecific","game":"rdr3","apiset":"client","returnType":"void","params":[{"name":"ped","type":"Ped"},{"name":"p1","type":"Any"},{"name":"p2","type":"float"},{"name":"p3","type":"float"},{"name":"p4","type":"float"},{"name":"p5","type":"float"},{"name":"p6","type":"Any"},{"name":"p7","type":"float"},{"name":"p8","type":"Any*"}],"summary":"","descriptions":[],"examples":[],"aliases":[],"enums":[],"related":[],"build":"1207","gtaHash":"0xEF0D582CBF2D9B0F","gtaJhash":"0xFC13CE80","sources":["alloc8or"],"doc":1,"url":"https://natives.borderlinerp.com/natives/PED/APPLY_PED_BLOOD_SPECIFIC","markdownUrl":"https://natives.borderlinerp.com/natives/PED/APPLY_PED_BLOOD_SPECIFIC.md","snippets":{"lua":"local p8 = ApplyPedBloodSpecific(ped, p1, p2, p3, p4, p5, p6, p7, p8)","luaInvoke":"local p8 = Citizen.InvokeNative(0xEF0D582CBF2D9B0F, ped, p1, p2, p3, p4, p5, p6, p7, Citizen.PointerValueIntInitialized(p8))","js":"const p8 = ApplyPedBloodSpecific(ped, p1, p2, p3, p4, p5, p6, p7, p8);","jsInvoke":"const p8 = Citizen.invokeNative('0xEF0D582CBF2D9B0F', ped, p1, p2 + 0.0000001, p3 + 0.0000001, p4 + 0.0000001, p5 + 0.0000001, p6, p7 + 0.0000001, Citizen.pointerValueIntInitialized(p8));","csharp":"var p8 = new OutputArgument();\nFunction.Call((Hash)0xEF0D582CBF2D9B0F, ped, p1, p2, p3, p4, p5, p6, p7, p8);\n// p8.GetResult<int>()","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.","`Any*` arguments are often structs. Build them with a DataView buffer and pass it with `:Buffer()` — see the examples and notes below."]}}