Wie ktoś jak obliczyć velocity/origin dla miejsca obok gracza ? (lewo, prawo)
Chce zrobic takie male widmo które ma być zawsze obok gracze i nie wiem jak to obliczyć
Witamy w Nieoficjalnym polskim support'cie AMX Mod X
Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
|
Guest Message by DevFuse
Obliczanie originów/velocity
Temat rozp. Owner123, 01.11.2010 20:35
2 odpowiedzi w tym temacie
#1
Napisano 01.11.2010 20:35
#2
Napisano 01.11.2010 20:58
zależnie od tego, w którą stronę obrócony jest gracz tak?
potrzebujesz wektora gdzie gracz patrzy, a jest on w polu v_angle; z tego co piszesz nie interesuje Cię kąt na osi pionowej, więc wyzeruj ten kąt
potem przelicz angle_vector`em z parametrem w prawo, wektor w lewo jest równy
gdy masz już wektor w prawo/lewo od gracza ustaw mu długość, teraz przesuń origin gracza o tak przygotowany wektor i masz szukaną pozycję
potrzebujesz wektora gdzie gracz patrzy, a jest on w polu v_angle; z tego co piszesz nie interesuje Cię kąt na osi pionowej, więc wyzeruj ten kąt
potem przelicz angle_vector`em z parametrem w prawo, wektor w lewo jest równy
xs_vec_mul_scalar(vOffset, -1.0, vOffset)
gdy masz już wektor w prawo/lewo od gracza ustaw mu długość, teraz przesuń origin gracza o tak przygotowany wektor i masz szukaną pozycję
//Weź wektor 'wzroku' new Float:vAngles[3]; pev(id, pev_v_angle, vAngles); //zeruj pionową oś vAngles[0] = 0.0; //Przelicz na wektor w prawo new Float:vOffset[3]; angle_vector(vAngles, ANGLEVECTOR_RIGHT, vOffset); //Przeskaluj do pewnej długości/odległości xs_vec_mul_scalar(vOffset, 200.0, vOffset); //Przesuń pozycję gracza o podany wektor new Float:vOrigin[3]; pev(id, pev_origin, vOrigin); xs_vec_add(vOrigin, vOffset, vOrigin);
#3
Napisano 01.11.2010 21:24
Wielkie dzięki Oczywiście leci +.
Użytkownicy przeglądający ten temat: 0
0 użytkowników, 0 gości, 0 anonimowych