# PLAYER::_SET_PLAYER_AIM_WEAPON

- **Hash:** `0xCFFC3ECCD7A5CCEB`
- **Namespace:** PLAYER
- **Runtime name (Lua/JS):** `SetPlayerAimWeapon`
- **Side:** client (game native)
- **Name status:** community guess (may change)
- **Documentation:** described
- **Since game build:** 1207
- **URL:** https://natives.borderlinerp.com/natives/PLAYER/_SET_PLAYER_AIM_WEAPON

## Signature

```c
void _SET_PLAYER_AIM_WEAPON(Player player, Hash weapon, int weaponDrawOrder);
```

## Parameters

- `player` (`Player`)
- `weapon` (`Hash`)
- `weaponDrawOrder` (`int`)

## Returns

`void`

## Description

Sets the weapon that the specified player will aim with. The weapon must already be assigned to the PED. This also determines the weapon order, specifying which weapon the player will automatically switch to when the current weapon runs out of ammo.
Example usage:

Set the player's aim weapon to the specified weapon hash in slot 0
PLAYER::_SET_PLAYER_AIM_WEAPON(PLAYER::PLAYER_ID(), GetHashKey("WEAPON_RIFLE_VARMINT"), 0);

Video: https://youtu.be/-fUMrLIm9ng

## Usage

### Lua

```lua
SetPlayerAimWeapon(player, weapon, weaponDrawOrder)

-- always available, by hash
Citizen.InvokeNative(0xCFFC3ECCD7A5CCEB, player, weapon, weaponDrawOrder)
```

### JavaScript

```js
SetPlayerAimWeapon(player, weapon, weaponDrawOrder);

// by hash
Citizen.invokeNative('0xCFFC3ECCD7A5CCEB', player, weapon, weaponDrawOrder);
```

### C#

```csharp
Function.Call((Hash)0xCFFC3ECCD7A5CCEB, player, weapon, weaponDrawOrder);
```

- 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 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.

## Related enums

- [eWeaponAttachPoint](https://natives.borderlinerp.com/enums/eWeaponAttachPoint.md) — 33 values

*Sources: alloc8or RDR3 NativeDB.*
