←  Pytania

AMXX.pl: Support AMX Mod X i SourceMod

»

Podążający byt ala Fireball.

Kukol - zdjęcie Kukol 18.09.2011

Witam! Jak mogę zrobić, by byt np. jak Fireball w Diablo podążał za graczem na którego się nacelowywuje i jak dogoni wybucha?
Odpowiedz

  • +
  • -
DarkGL - zdjęcie DarkGL 19.09.2011

musisz ustawić mu velocity
mając origin enta i origin gracza w zmiennych new Float:fOriginEnta[3] i new Float:fOrigin
robisz tak
new Float:fVeloc[3]
xs_vec_sub(fOriginEnta,fOrigin,fVeloc)
xs_vec_normalize(fVeloc,fVeloc)
xs_vec_mul_scalar(fVeloc,tutaj predkosc podajesz z jaka ma latac,fVeloc)
set_pev(idEnta,pev_velocity,fVeloc)

tylko jak gracz do którego leci jest za ścianą to walnie w ścianę :P
Odpowiedz

  • +
  • -
dram - zdjęcie dram 19.09.2011

mógłbyś ładnie opisać co robi z każda powyższych funkcji?
Odpowiedz

  • +
  • -
DarkGL - zdjęcie DarkGL 20.09.2011

xs_vec_sub(fOriginEnta,fOrigin,fVeloc)
odejmuje od siebie dwie tablice z origin dzięki czemu dostaje wektor przesunięcia (czyli tkai który mówi nam o ile w każdej osi należało by się przesunąć aby z fOriginEnta trafić do fOrigin)

xs_vec_normalize(fVeloc,fVeloc)
normalizuje wektor dzieli każdą składową przez długość wektora (dlugosc = pierwiastek z sumy kwadratów każdej ze składowych)

xs_vec_mul_scalar(fVeloc,tutaj predkosc podajesz z jaka ma latac,fVeloc)
mnoży wektor przed daną wartość

set_pev(idEnta,pev_velocity,fVeloc)
ustawia velocity
Odpowiedz

  • +
  • -
sebul - zdjęcie sebul 04.10.2011

Trochę odkopię, ale powinno być
xs_vec_sub(fOrigin,fOriginEnta,fVeloc)

niedawno testowałem ;]
Odpowiedz