FIRE_SINGLE_BULLET
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…
Hash
0xCBC9A21F6A2A679CRuntime name
FireSingleBulletNamespaceMISC
SideClient
NameOfficial
Docs
Since build1207
Signature
void FIRE_SINGLE_BULLET(Any* args);Parameters
| Name | Type | Description |
|---|---|---|
args | Any* | — |
Returns void
Description
struct FireSingleBulletArgs
{
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 scripts; likely default/sentinel shot float
alignas(8) Ped instigator; // confirmed ped GUID
alignas(8) Entity entity2; // optional entity ref; likely ignore/target-related
alignas(8) Entity entity3; // optional entity ref; likely ignore/target-related
alignas(8) BOOL p12; // main shot behavior flag
alignas(8) BOOL p13; // main shot behavior flag
alignas(8) BOOL p14;
alignas(8) BOOL p15; // adds extra internal flag bit
alignas(8) BOOL p16;
alignas(8) BOOL p17; // confirmed BOOL
alignas(8) BOOL p18; // adds extra internal flag bit
alignas(8) BOOL p19; // confirmed BOOL-like
};static_assert(sizeof(FireSingleBulletArgs) == 0xA0, "incorrect FireSingleBulletArgs size");
Usage
local args = FireSingleBullet(args)
-- always works, by hash
local args = Citizen.InvokeNative(0xCBC9A21F6A2A679C, Citizen.PointerValueIntInitialized(args))JavaScript and C#
const args = FireSingleBullet(args);
// by hash
const args = Citizen.invokeNative('0xCBC9A21F6A2A679C', Citizen.pointerValueIntInitialized(args));var args = new OutputArgument();
Function.Call((Hash)0xCBC9A21F6A2A679C, args);
// args.GetResult<int>()- 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.
Examples
struct FireSingleBulletArgs
{
float xStart;
float yStart;
float zStart;
float xEnd;
float yEnd;
float zEnd;
Hash weaponHash;
float damage;
float p8;
Entity instigator;
Entity entity2;
Entity entity3;
BOOL p12;
BOOL p13;
BOOL p14;
BOOL p15;
BOOL p16;
Any p17;
BOOL p18;
BOOL p19;
}Sources
alloc8or RDR3 NativeDB · VORPCORE RDR3natives
Something wrong or missing? Contribute a verified note — corrections ship through pull requests.