Just that in the title bros.
PHP Code:
public void OnWeaponFire(Event hEvent, const char[] name, bool dontBroadcast)
{
int iClient = GetClientOfUserId(hEvent.GetInt("userid"));
int iWeapon = GetEntPropEnt(iClient, Prop_Data, "m_hActiveWeapon");
if (IsValidEntity(iWeapon)) {
char sWeaponName[64];
GetEntityClassname(iWeapon, sWeaponName, sizeof(sWeaponName));
if (IsWeaponGrenade(sWeaponName)) {
int i;
for (i = 0; i < sizeof(g_saGrenadeWeaponNames) && !StrEqual(sWeaponName, g_saGrenadeWeaponNames[i]); i++) { }
int iCount = GetEntProp(iClient, Prop_Send, "m_iAmmo", _, g_iaGrenadeOffsets[i]) - 1;
DataPack hPack = new DataPack();
if (g_haInvisible[iClient] != INVALID_HANDLE)
BreakInvisibility(iClient, REASON_GRENADE);
CreateDataTimer(0.2, SwapToNade, hPack);
hPack.WriteCell(iClient);
hPack.WriteCell(iWeapon);
hPack.WriteCell(iCount);
}
}
}
public Action SwapToNade(Handle hTimer, DataPack hPack)
{
hPack.Reset();
int iClient = hPack.ReadCell();
int iWeaponThrown = hPack.ReadCell();
int count = hPack.ReadCell();
if (!IsClientInGame(iClient))
return Plugin_Continue;
int iWeaponTemp = -1;
if (!count) {
if (IsValidEntity(iWeaponThrown)) {
RemovePlayerItem(iClient, iWeaponThrown);
RemoveEdict(iWeaponThrown);
}
iWeaponTemp = GetPlayerWeaponSlot(iClient, 3);
}
if (iWeaponThrown == iWeaponTemp)
return Plugin_Continue; //won't even get here but eh, you nevah know
if (count)
iWeaponTemp = iWeaponThrown;
if (!IsValidEntity(iWeaponTemp))
return Plugin_Continue;
char weapon_name[64];
GetEntityClassname(iWeaponTemp, weapon_name, sizeof(weapon_name));
int i;
for (i = 0; i < sizeof(g_saGrenadeWeaponNames) && !StrEqual(weapon_name, g_saGrenadeWeaponNames[i]); i++) { }
SetEntProp(iClient, Prop_Send, "m_iAmmo", GetEntProp(iClient, Prop_Send, "m_iAmmo", _, g_iaGrenadeOffsets[i]) - 1, _, g_iaGrenadeOffsets[i]);
RemovePlayerItem(iClient, iWeaponTemp);
RemoveEdict(iWeaponTemp);
iWeaponTemp = GivePlayerItem(iClient, weapon_name);
SetEntPropEnt(iClient, Prop_Send, "m_hActiveWeapon", iWeaponTemp);
SetEntPropFloat(iWeaponTemp, Prop_Send, "m_flNextPrimaryAttack", GetGameTime() + 1.1);
SetEntPropFloat(iWeaponTemp, Prop_Send, "m_flNextSecondaryAttack", GetGameTime() + 1.1);
return Plugin_Continue;
}
I think there is a problem but i can't see it :/ When i have a deagle and i dont want to use it, and i change my weapon to a grenade, the deagle dissapear :/
Halp and Thanks for answering
__________________