#include <amxmodx>
#include <csdm>
#include <cstrike>
#include <fakemeta>
new const g_weapons[] =
{
CSW_P228,
CSW_SCOUT,
CSW_XM1014,
CSW_MAC10,
CSW_AUG,
CSW_ELITE,
CSW_FIVESEVEN,
CSW_UMP45,
CSW_SG550,
CSW_GALI,
CSW_GALIL,
CSW_FAMAS,
CSW_USP,
CSW_GLOCK18,
CSW_AWP,
CSW_MP5NAVY,
CSW_M249,
CSW_M3,
CSW_M4A1,
CSW_TMP,
CSW_G3SG1,
CSW_DEAGLE,
CSW_SG552,
CSW_AK47,
CSW_P90
}
new const g_max_clip[] =
{
13,
10,
7,
30,
30,
30,
20,
25,
30,
35,
35,
25,
12,
20,
10,
30,
100,
8,
30,
30,
20,
7,
30,
30,
50
}
new const g_other_weapons[] =
{
CSW_KNIFE,
CSW_HEGRENADE,
CSW_C4
}
public plugin_init()
register_plugin("CSDM Refill", "1.0", "Radiance")
public client_death(killer, victim, wpnindex, hitplace, TK)
{
if (!csdm_get_ffa() && TK)
return
for (new a = 0; a < sizeof (g_other_weapons); a++)
if (wpnindex == g_other_weapons[a])
return
new weapon = fm_get_weapon_ent(killer, wpnindex)
for (new a = 0; a < sizeof (g_weapons); a++)
if (wpnindex == g_weapons[a])
{
new ammo = get_weapon_maxclip(wpnindex)
if (ammo)
{
client_cmd(killer, "spk ^"items/9mmclip1.wav^"")
cs_set_weapon_ammo(weapon, ammo)
}
return
}
}
get_weapon_maxclip(wpnid = 0)
{
for (new a = 0; a < sizeof (g_weapons); a++)
if (wpnid == g_weapons[a])
return g_max_clip[a]
return false
}
fm_get_weapon_ent(id, wpnid = 0)
{
new name[32]
if(wpnid)
get_weaponname(wpnid, name, 31)
if (!equal(name, "weapon_", 7))
format(name, sizeof (name) - 1, "weapon_%s", name)
return fm_find_ent_by_owner(get_maxplayers(), name, id)
}
fm_find_ent_by_owner(id, const classname[], owner, jghgtype = 0)
{
new strtype[16] = "classname"
new ent = id
switch (jghgtype)
{
case 1: strtype = "target"
case 2: strtype = "targetname"
}
while ((ent = engfunc(EngFunc_FindEntityByString, ent, strtype, classname)) && pev(ent, pev_owner) != owner)
{
}
return ent
}