public check_weapon(id)
{
if( is_user_alive(id) != 0 && player_b_ammo[id] == 1 || c_ammo[id] == 1 )
{
new clip = read_data(3);
if ( clip == 0 )
reloadAmmo(id);
}
return PLUGIN_CONTINUE;
}
public reloadAmmo(id)
{
new szdrop[4];
read_argv(2,szdrop,3);
new dropwpn = str_to_num(szdrop);
if (g_ReloadTime[id] >= get_systime() - 1)
return;
g_ReloadTime[id] = get_systime();
new clip, ammo, wpn[32];
new wpnid = get_user_weapon(id, clip, ammo);
if ( wpnid == CSW_C4 || wpnid == CSW_KNIFE )
return;
if ( wpnid == CSW_HEGRENADE || wpnid == CSW_SMOKEGRENADE || wpnid == CSW_FLASHBANG)
return;
if ( clip == 0 )
{
get_weaponname(wpnid,wpn,31);
if ( dropwpn )
{
engclient_cmd(id,"drop",wpn);
give_item(id, wpn);
engclient_cmd(id, wpn);
}
else
{
new iWPNidx = -1;
while ((iWPNidx = find_ent_by_class(iWPNidx, wpn)) != 0)
{
if (id == entity_get_edict(iWPNidx, EV_ENT_owner))
{
cs_set_weapon_ammo(iWPNidx, getMaxClipAmmo(wpnid));
break;
}
}
}
}
}
stock getMaxClipAmmo(wpnid)
{
new clipammo = 0;
switch (wpnid)
{
case CSW_P228 : clipammo = 13;
case CSW_SCOUT : clipammo = 10;
case CSW_HEGRENADE : clipammo = 0;
case CSW_XM1014 : clipammo = 7;
case CSW_C4 : clipammo = 0;
case CSW_MAC10 : clipammo = 30;
case CSW_AUG : clipammo = 30;
case CSW_SMOKEGRENADE : clipammo = 0;
case CSW_ELITE : clipammo = 15;
case CSW_FIVESEVEN : clipammo = 20;
case CSW_UMP45 : clipammo = 25;
case CSW_SG550 : clipammo = 30;
case CSW_GALI : clipammo = 35;
case CSW_FAMAS : clipammo = 25;
case CSW_USP : clipammo = 12;
case CSW_GLOCK18 : clipammo = 20;
case CSW_AWP : clipammo = 10;
case CSW_MP5NAVY : clipammo = 30;
case CSW_M249 : clipammo = 100;
case CSW_M3 : clipammo = 8;
case CSW_M4A1 : clipammo = 30;
case CSW_TMP : clipammo = 30;
case CSW_G3SG1 : clipammo = 20;
case CSW_FLASHBANG : clipammo = 0;
case CSW_DEAGLE : clipammo = 7;
case CSW_SG552 : clipammo = 30;
case CSW_AK47 : clipammo = 30;
case CSW_KNIFE : clipammo = 0;
case CSW_P90 : clipammo = 50;
}
return clipammo;
}
Do klasy ładnie podczepione c_ammo[id] = 1
Ale niestety unlimited nie działa.
Ktoś zna przyczynę?