Witam. Mam maly problem a mianowicie.
new Float:Damage[33]
public ForwardPlayerDmg(iVictim, iInflictor, iAttacker, Float:fDamage, iDamageBits) {
if(iAttacker != iVictim && get_user_team(iVictim) != get_user_team(iAttacker)){
Damage[iAttacker] += fDamage;
floatround(Damage[iAttacker], floatround_floor);
if(Damage[iAttacker] > 40){
Damage[iAttacker] == 0.0
//kod
Próbuje zliczyć zadawane obrażenia przez gracza i działa mi to za pierwszym razem, ale gdy juz dalszy kod sie wykony to nie zeruje mi Float'u Damage I po wykonaniu tego jakiekolwiek obrazenie powoduje ponowne wywołanie choc po warunku daje Damage[iAttacker] = 0 a Float dalej osiaga wartosci powyzej tych przykladowych 40 dmg.
W którym miejscu robię błąd ?
2. np na podstawie forwardu powyzej jak można sprawdzić czy ofiarą jest jakiś ent ?
Proszę o jakiś przykład bo nie wiem jaką funkcję porównywać.
new ent = engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, "func_wall")); set_pev(ent,pev_classname,"Nazwa");


Dodatki SourceMod




Temat jest zamknięty









