{"hash":"0xCBC9A21F6A2A679C","ns":"MISC","name":"FIRE_SINGLE_BULLET","slug":"FIRE_SINGLE_BULLET","official":true,"named":true,"luaName":"FireSingleBullet","game":"rdr3","apiset":"client","returnType":"void","params":[{"name":"args","type":"Any*"}],"summary":"alignas(8) float xStart; alignas(8) float yStart; alignas(8) float zStart; alignas(8) float xEnd; alignas(8) float yEnd; alignas(8) float zEnd; alignas(8) Hash weaponHash; alignas(8) float damage; alignas(8) float p8; // often -1.0f in s…","descriptions":[{"source":"alloc8or","format":"text","body":"struct FireSingleBulletArgs\n{\n\talignas(8) float  xStart;\n\talignas(8) float  yStart;\n\talignas(8) float  zStart;\n\talignas(8) float  xEnd;\n\talignas(8) float  yEnd;\n\talignas(8) float  zEnd;\n\talignas(8) Hash   weaponHash;\n\talignas(8) float  damage;\n\talignas(8) float  p8;          // often -1.0f in scripts; likely default/sentinel shot float\n\talignas(8) Ped    instigator;  // confirmed ped GUID\n\talignas(8) Entity entity2;     // optional entity ref; likely ignore/target-related\n\talignas(8) Entity entity3;     // optional entity ref; likely ignore/target-related\n\talignas(8) BOOL   p12;         // main shot behavior flag\n\talignas(8) BOOL   p13;         // main shot behavior flag\n\talignas(8) BOOL   p14;\n\talignas(8) BOOL   p15;         // adds extra internal flag bit\n\talignas(8) BOOL   p16;\n\talignas(8) BOOL   p17;         // confirmed BOOL\n\talignas(8) BOOL   p18;         // adds extra internal flag bit\n\talignas(8) BOOL   p19;         // confirmed BOOL-like\n};\n\nstatic_assert(sizeof(FireSingleBulletArgs) == 0xA0, \"incorrect FireSingleBulletArgs size\");"}],"examples":[{"lang":"lua","code":"struct FireSingleBulletArgs\n{\n  float xStart;\n  float yStart;\n  float zStart;\n  float xEnd;\n  float yEnd;\n  float zEnd;\n  Hash weaponHash;\n  float damage;\n  float p8;\n  Entity instigator;\n  Entity entity2;\n  Entity entity3;\n  BOOL p12;\n  BOOL p13;\n  BOOL p14;\n  BOOL p15;\n  BOOL p16;\n  Any p17;\n  BOOL p18;\n  BOOL p19;\n}","source":"vorp"}],"aliases":[],"enums":[],"related":[],"build":"1207","sources":["alloc8or","vorp"],"doc":3,"url":"https://natives.borderlinerp.com/natives/MISC/FIRE_SINGLE_BULLET","markdownUrl":"https://natives.borderlinerp.com/natives/MISC/FIRE_SINGLE_BULLET.md","snippets":{"lua":"local args = FireSingleBullet(args)","luaInvoke":"local args = Citizen.InvokeNative(0xCBC9A21F6A2A679C, Citizen.PointerValueIntInitialized(args))","js":"const args = FireSingleBullet(args);","jsInvoke":"const args = Citizen.invokeNative('0xCBC9A21F6A2A679C', Citizen.pointerValueIntInitialized(args));","csharp":"var args = new OutputArgument();\nFunction.Call((Hash)0xCBC9A21F6A2A679C, args);\n// args.GetResult<int>()","notes":["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."]}}