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))
|
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;
|
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))
|
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;
|
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))
|
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];
|
char sWeaponClass[32];
|
||||||
GetEntityClassname(item.iWeapon, sWeaponClass, sizeof(sWeaponClass));
|
GetEntityClassname(item.iWeapon, sWeaponClass, sizeof(sWeaponClass));
|
||||||
|
@ -69,6 +69,30 @@ stock int Client_GetObserverTarget(int client)
|
|||||||
return GetEntPropEnt(client, Prop_Send, "m_hObserverTarget");
|
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.
|
* Checks if an entity is valid and exists.
|
||||||
*
|
*
|
||||||
|
Loading…
Reference in New Issue
Block a user