Witam zrobilem ifa w TakeDamage ze :
if(!can_see_fm(idattacker, this) damage+=50;
bool:can_see_fm(entindex1, entindex2) { if (!entindex1 || !entindex2) return false; if (pev_valid(entindex1) && pev_valid(entindex1)) { new flags = pev(entindex1, pev_flags); if (flags & EF_NODRAW || flags & FL_NOTARGET) { return false; } new Float:lookerOrig[3]; new Float:targetBaseOrig[3]; new Float:targetOrig[3]; new Float:temp[3]; pev(entindex1, pev_origin, lookerOrig); pev(entindex1, pev_view_ofs, temp); lookerOrig[0] += temp[0]; lookerOrig[1] += temp[1]; lookerOrig[2] += temp[2]; pev(entindex2, pev_origin, targetBaseOrig); pev(entindex2, pev_view_ofs, temp); targetOrig[0] = targetBaseOrig [0] + temp[0]; targetOrig[1] = targetBaseOrig [1] + temp[1]; targetOrig[2] = targetBaseOrig [2] + temp[2]; engfunc(EngFunc_TraceLine, lookerOrig, targetOrig, 0, entindex1, 0); if (get_tr2(0, TraceResult:TR_InOpen) && get_tr2(0, TraceResult:TR_InWater)) { return false; } else { new Float:flFraction; get_tr2(0, TraceResult:TR_flFraction, flFraction); if (flFraction == 1.0 || (get_tr2(0, TraceResult:TR_pHit) == entindex2)) { return true; } else { targetOrig[0] = targetBaseOrig [0]; targetOrig[1] = targetBaseOrig [1]; targetOrig[2] = targetBaseOrig [2]; engfunc(EngFunc_TraceLine, lookerOrig, targetOrig, 0, entindex1, 0); get_tr2(0, TraceResult:TR_flFraction, flFraction); if (flFraction == 1.0 || (get_tr2(0, TraceResult:TR_pHit) == entindex2)) { return true; } else { targetOrig[0] = targetBaseOrig [0]; targetOrig[1] = targetBaseOrig [1]; targetOrig[2] = targetBaseOrig [2] - 17.0; engfunc(EngFunc_TraceLine, lookerOrig, targetOrig, 0, entindex1, 0); get_tr2(0, TraceResult:TR_flFraction, flFraction); if (flFraction == 1.0 || (get_tr2(0, TraceResult:TR_pHit) == entindex2)) { return true; } } } } } return false; }
i z tego co mi sie wydaje ze jak skanuje te jednal damage nie wzrasta.. gdzie lezy blad ?