Jak to dokładnie jest z tym kodem?
public TakeDamage(this, idinflictor, idattacker, Float:damage, damagebits)
{
if(!is_user_connected(idattacker))
return HAM_IGNORED;
if(!ma_klase[idattacker])
return HAM_IGNORED;
if(get_user_weapon(idattacker) == CSW_SCOUT && damagebits & DMG_BULLET)
cod_inflict_damage(idattacker, this, damage-=100, 0.3, idinflictor, damagebits);
if(get_user_weapon(idattacker) == CSW_AWP && damagebits & DMG_BULLET)
return HAM_IGNORED;
}
Mi osobiście ten kod nie działa prawidłowo, dla każdej klasy zachowuje się inaczej, na jednej nic nie zmienia, na innej powoduje, że bijemy po 20K.
Dlaczego? Szukałem fajnego sposobu na zwiększenie obrażeń zadawanych przez klasy premium,
ale jak tego używać gdzie na każdej z 15 klas skrypt zachowuje się inaczej.
Nie mogę zastosować Damage Control gdyż zmienia on DMG broni w każdej klasie(globalnie).
Więc pomyślałem, że można by połączyć te dwa sposoby, i tu nasuwają się pytania.
1. Czy to będzie działać?
2. Dlaczego skrypt zamieszony powyżej na każdej klasie działa inaczej?
Mam Pro CoD'a 40001 leveli, w inteligencje można dać maksymalnie 20010 pkt..
Jeżeli 100 oznacza w bazowa wartość zadawanych obrażeń np.: mamy 0 int., to bijemy po 100 hp, a 0,3 oznacza ilość DMG za 1 punkt inteligencji to w moim przypadku gdzie mam 20010 pkt. max DMG powinien wynosić 6103 GMD na strzał, jeżeli dobrze liczę.
Jak źle to proszę podać poprawny wzór.
3. Umiem mnożyć?
Użytkownik Tded edytował ten post 15.01.2012 23:30