entWatch4: Drop Ammo aswell, when force drops happen.
This commit is contained in:
parent
249fb0460e
commit
b09777159a
@ -420,7 +420,7 @@ public void OnClientDisconnect(int client)
|
||||
{
|
||||
if (item.bWeapon && !(item.dConfig.iSlot == SLOT_NONE || item.dConfig.iSlot == SLOT_KNIFE))
|
||||
{
|
||||
SDKHooks_DropWeapon(item.iClient, item.iWeapon, NULL_VECTOR, NULL_VECTOR);
|
||||
Client_DropWeapon(item.iClient, item.iWeapon);
|
||||
}
|
||||
|
||||
item.iClient = INVALID_ENT_REFERENCE;
|
||||
@ -451,7 +451,7 @@ public void OnClientDeath(Event hEvent, const char[] sEvent, bool bDontBroadcast
|
||||
{
|
||||
if (item.bWeapon && !(item.dConfig.iSlot == SLOT_NONE || item.dConfig.iSlot == SLOT_KNIFE))
|
||||
{
|
||||
SDKHooks_DropWeapon(item.iClient, item.iWeapon, NULL_VECTOR, NULL_VECTOR);
|
||||
Client_DropWeapon(item.iClient, item.iWeapon);
|
||||
}
|
||||
|
||||
item.iClient = INVALID_ENT_REFERENCE;
|
||||
|
@ -76,7 +76,7 @@ public Action Command_TransferItem(int client, int args)
|
||||
{
|
||||
if (item.bWeapon && !(item.dConfig.iSlot == SLOT_NONE || item.dConfig.iSlot == SLOT_KNIFE))
|
||||
{
|
||||
SDKHooks_DropWeapon(item.iClient, item.iWeapon, NULL_VECTOR, NULL_VECTOR);
|
||||
Client_DropWeapon(item.iClient, item.iWeapon);
|
||||
|
||||
char sWeaponClass[32];
|
||||
GetEntityClassname(item.iWeapon, sWeaponClass, sizeof(sWeaponClass));
|
||||
|
@ -69,6 +69,30 @@ stock int Client_GetObserverTarget(int client)
|
||||
return GetEntPropEnt(client, Prop_Send, "m_hObserverTarget");
|
||||
}
|
||||
|
||||
/**
|
||||
* Drops a client's weapon.
|
||||
*
|
||||
* @param client Client Index.
|
||||
* @param weapon Weapon Index.
|
||||
* @noreturn
|
||||
*/
|
||||
stock void Client_DropWeapon(int client, int weapon)
|
||||
{
|
||||
int iPrimaryAmmoType = GetEntProp(weapon, Prop_Data, "m_iPrimaryAmmoType");
|
||||
int iSecondaryAmmoType = GetEntProp(weapon, Prop_Data, "m_iSecondaryAmmoType");
|
||||
|
||||
int iAmmoPrimary = GetEntProp(client, Prop_Send, "m_iAmmo", _, iPrimaryAmmoType);
|
||||
int iAmmoSecondary = GetEntProp(client, Prop_Send, "m_iAmmo", _, iSecondaryAmmoType);
|
||||
|
||||
SetEntProp(client, Prop_Send, "m_iAmmo", 0, _, iPrimaryAmmoType);
|
||||
SetEntProp(client, Prop_Send, "m_iAmmo", 0, _, iSecondaryAmmoType);
|
||||
|
||||
SDKHooks_DropWeapon(client, weapon, NULL_VECTOR, NULL_VECTOR);
|
||||
|
||||
SetEntProp(weapon, Prop_Data, "m_iPrimaryAmmoCount", iAmmoPrimary);
|
||||
SetEntProp(weapon, Prop_Data, "m_iSecondaryAmmoCount", iAmmoSecondary);
|
||||
}
|
||||
|
||||
/*
|
||||
* Checks if an entity is valid and exists.
|
||||
*
|
||||
|
Loading…
Reference in New Issue
Block a user