# WEAPON::REMOVE_WEAPON_FROM_PED

- **Hash:** `0x4899CB088EDF59B8`
- **Namespace:** WEAPON
- **Runtime name (Lua/JS):** `RemoveWeaponFromPed`
- **Side:** client (game native)
- **Name status:** official
- **Documentation:** described
- **Since game build:** 1207
- **URL:** https://natives.borderlinerp.com/natives/WEAPON/REMOVE_WEAPON_FROM_PED

## Signature

```c
void REMOVE_WEAPON_FROM_PED(Ped ped, Hash weaponHash, BOOL p2, Hash removeReason);
```

## Parameters

- `ped` (`Ped`)
- `weaponHash` (`Hash`)
- `p2` (`BOOL`)
- `removeReason` (`Hash`)

## Returns

`void`

## Description

removeReason:
enum eRemoveItemReason : Hash
{
	REMOVE_REASON_CLIENT_PURGED = 0x4A4E94DC,
	REMOVE_REASON_COALESCE = 0x2ABE393E,
	REMOVE_REASON_DEBUG = 0xA07362E6,
	REMOVE_REASON_DEFAULT = 0xF77DE93D,
	REMOVE_REASON_DELETE_CHARACTER = 0x20AFBDE9,
	REMOVE_REASON_DROPPED = 0xEC7FB5D5,
	REMOVE_REASON_DUPLICATE = 0x19047132,
	REMOVE_REASON_GIFTED_INCORRECTLY = 0x9C4E3829,
	REMOVE_REASON_GIVEN = 0xAD5377D4,
	REMOVE_REASON_INSUFFICIENT_INVENTORY = 0x518D1AAE,
	REMOVE_REASON_ITEM_DOES_NOT_EXIST = 0xEAD5D889,
	REMOVE_REASON_LOADOUT = 0x1B94E3BA,
	REMOVE_REASON_SET_AMOUNT = 0x19D5CFA5,
	REMOVE_REASON_SOLD = 0x76C4B482,
	REMOVE_REASON_USED = 0x2188E0A3,
	REMOVE_REASON_USE_FAILED = 0x671F9EAD
};

## Usage

### Lua

```lua
RemoveWeaponFromPed(ped, weaponHash, p2, removeReason)

-- always available, by hash
Citizen.InvokeNative(0x4899CB088EDF59B8, ped, weaponHash, p2, removeReason)
```

### JavaScript

```js
RemoveWeaponFromPed(ped, weaponHash, p2, removeReason);

// by hash
Citizen.invokeNative('0x4899CB088EDF59B8', ped, weaponHash, p2, removeReason);
```

### C#

```csharp
Function.Call((Hash)0x4899CB088EDF59B8, ped, weaponHash, p2, removeReason);
```

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

*Sources: alloc8or RDR3 NativeDB.*
