Witam, mam problem z opanowaniem zmniejszania dmg w pluginie, tworzę klasę na COD'a co ma 3 pierwsze otrzymane obrażenia zmniejszyć o połowę. Przy normalnych warunkach działa normalnie, lecz dziwne rzeczy zaczynają się dziać gdy strzela osoba z perkiem lub klasą co daje 1/x na natychmiastowe zabicie. Moja funkcja od obniżania dmg wygląda tak:
public TakeDamage(this, idinflictor, ida, Float:damage, damagebits){ if(is_user_connected(ida) && licznik[this]<3 && ma_klase[this]){ cod_inflict_damage(ida, this, -(damage*0.5), 0.0, idinflictor, damagebits); licznik[this]++ } }
A dziwne rzeczy zaczynają się dziać np. gdy atakujący ma "Gold AWP" z 1/1, gdzie funkcja wygląda tak:
public TakeDamage(this, idinflictor, ida, Float:damage, damagebits){ if(is_user_connected(ida) && ma_perk[ida] && damagebits & (1<<1) && get_user_weapon(ida) == CSW_AWP) cod_inflict_damage(ida, this, float(get_user_health(this))-damage+1.0, 0.0, idinflictor, damagebits); }
Gdy się strzeli wtedy z AWP to zadawany jest minusowy DMG(leczy ofiarę) lub w ogóle nie ma dmg, jest on zerowy. Po wykorzystaniu "tarczy" na 3 pierwsze obrażenia już później jest normalnie. Zna ktoś przyczynę problemu?
Proszę o pomoc w tej sprawie.
Również czy jest szansa, aby zmniejszać obrażenia od rakiet i podobnych rzeczy znajdujących się na serwerze COD, bo obecnie nie reaguje funkcja obniżania dmg na takie ataki?