Skocz do zawartości

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.
  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

Zdjęcie

Problem z ustawianiem skoków.


  • Nie możesz napisać tematu
  • Zaloguj się, aby dodać odpowiedź
2 odpowiedzi w tym temacie

#1 Artemis

    Zaawansowany

  • Użytkownik

Reputacja: 9
Nowy

  • Postów:91
  • GG:
  • Imię:Piotr
  • Lokalizacja:Sanok
Offline

Napisano 01.04.2016 02:54

Mam takie coś:

if( entity_on_ground(id) ){
new Float:velocity[3];

velocity_by_aim(id, 500, velocity);
velocity[2] = 500;

set_pev(id, pev_velocity, velocity);
set_pev(id, pev_gaitsequence, 6);

i to działa tak, że skacze mi o 500 jednostek do góry i do przodu tam gdzie celuje. Chciałem zmienić to, żeby skakało tylko w tą stronę co celuję, ale do przodu ( a wysokość zostawić 250 ).

próbowałem dodać velocity[1] = 500, a velocity[2]=250, ale wtedy działa tak, że skacze nisko i daleko tyle że w 3 kierunkach i to takich jak północ/wschód/północny wschód co za tym idzie nie mogę skakać tam gdzie celuję, tylko w te 3 kierunki.

 

Jak to przerobić, aby skakało mi na wysokość 250 jednostek, ale daleko na 500 jednostek ?

Z góry dziękuję za pomoc.

 


  • +
  • -
  • 0

#2 grankee

    Godlike

  • Support Team

Reputacja: 517
Wszechwiedzący

  • Postów:1 500
  • Lokalizacja:Radom
Offline

Napisano 02.04.2016 03:01

Jak wiadomo, gra jest trójwymiarowa także są trzy wymiary. Na razie myślę nadążasz :D

velocity_by_aim() ustawia predkosc bazując na tym gdzie patrzy i tak:

velocity[0] to prędkość w osi x (lewo-prawo: powiedzmy wschód-zachód)

velocity[1] to prędkość w osi y (przód-tył: powiedzmy północ-południe)

velocity[2] to prędkość w osi z (góra-dół: powiedzmy hm... góra-dół)

jeśli ustawisz velocity[1] to zawsze bedzie lecial w tym samym kierunku pn-pd + w kierunku wsch-zach gdzie patrzy.

 

Zmieniasz tylko 

velocity[2]=500

na mniejsze, które odpowiada za prędkość w górę.

Jeśli chcesz dalej to musisz zmienić w 

velocity_by_aim(id, 500, velocity);

500 na większa liczbę, wtedy będzie dalej.


  • +
  • -
  • 1

#3 Artemis

    Zaawansowany

  • Autor tematu
  • Użytkownik

Reputacja: 9
Nowy

  • Postów:91
  • GG:
  • Imię:Piotr
  • Lokalizacja:Sanok
Offline

Napisano 03.04.2016 00:13

zmieniłem velocity_by_aim na VelocityByAim ( nie wiem czym to się różni ) i ustaliłem velocity[2] na 250, żeby skakał w dal, a nie w górę :)


  • +
  • -
  • 0




Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych