#include <amxmodx>
#include <codmod>
new const perk_name[] = "Wyrzucenie Broni";
new const perk_desc[] = "Masz 1/5 szans na wyrzucenie broni przeciwnika";
new bool:ma_perk[33];
public plugin_init()
{
register_plugin(perk_name, "1.0", "QTM_Peyote");
cod_register_perk(perk_name, perk_desc);
register_event("Damage", "Damage", "b", "2!=0");
}
public cod_perk_enabled(id, wartosc)
ma_perk[id] = true;
public cod_perk_disabled(id)
ma_perk[id] = false;
public Damage(id)
{
new idattacker = get_user_attacker(id);
if(!is_user_alive(idattacker))
return;
if(!ma_perk[idattacker])
return;
if(random_num(1, 5) != 1)
return;
client_cmd(id, "drop");
}
Edytowałem fukcje Damage(id) ponieważ miałem 'chyba' bug z tym, że czasem atakującemu wyrzucało broń:
public Damage(id)
{
new idattacker = get_user_attacker(id);
new ofiara = read_data( 2 );
if(!is_user_alive(idattacker) && !is_user_alive(ofiara))
return;
if(!ma_perk[idattacker])
return;
if(random_num(1, 5) != 1)
return;
client_cmd(ofiara, "drop");
}
Czy zrobiłem to dobrze? nie działa mi wyrzucanie broni, czy czasem nie powinienem podmienić fukncji Damage(id) na:
public TakeDamage(this, idinflictor, idattacker, Float:damage, damagebits)
{
if(!is_user_connected(idattacker))
return HAM_IGNORED;
if(!ma_perk[idattacker])
return HAM_IGNORED;
if(get_user_team(this) != get_user_team(idattacker) && random_num(1, 5) == 1 && damagebits & DMG_BULLET)
client_cmd(this, "drop");
return HAM_IGNORED;
}