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

odpychanie (velocity)


  • Zamknięty Temat jest zamknięty
3 odpowiedzi w tym temacie

#1 kyku

    Wszechmogący

  • Użytkownik

Reputacja: 166
Profesjonalista

  • Postów:612
  • Lokalizacja:Jasło
Offline

Napisano 05.09.2010 01:31

Witam, jest sposób by odepchnąć graczy stojących wokół jakiegoś punktu / bytu tak jak na obrazku poniżej ? (czerwone to ten punkt)
Dołączona grafika

new i =0;
while ((i = engfunc(EngFunc_FindEntityInSphere, i, pozycja, 200.0)))
{
if(is_valid_ent(i)){

new Float:velocity[3];
entity_get_vector(i, EV_VEC_velocity, velocity);
velocity[0] = ???;
velocity[1] = ???;
velocity[2] = ???;
entity_set_vector(i, EV_VEC_velocity, velocity);

}
}

Użytkownik kyku edytował ten post 05.09.2010 01:31

  • +
  • -
  • 0

#2 Szyfrant

    Godlike

  • Przyjaciel

Reputacja: 1 374
Godlike

  • Postów:3 072
  • Steam:steam
  • Imię:Michał
  • Lokalizacja:Sztokholm
Offline

Napisano 05.09.2010 09:37

Może to Cię zainteresuje.

Wiatr ? Czy to realne ^^ - Nieoficjalny polski support AMX Mod X
  • +
  • -
  • 0

#3 Owner123

    Wszechpomocny

  • Użytkownik

Reputacja: 146
Zaawansowany

  • Postów:331
  • Lokalizacja:Barty ;]
Offline

Napisano 05.09.2010 09:49

stock get_velocity_from_origin( ent, Float:fOrigin[3], Float:fSpeed, Float:fVelocity[3] )
{
new Float:fEntOrigin[3];
entity_get_vector( ent, EV_VEC_origin, fEntOrigin );

// Velocity = Distance / Time

new Float:fDistance[3];
fDistance[0] = fEntOrigin[0] - fOrigin[0];
fDistance[1] = fEntOrigin[1] - fOrigin[1];
fDistance[2] = fEntOrigin[2] - fOrigin[2];

new Float:fTime = ( vector_distance( fEntOrigin,fOrigin ) / fSpeed );

fVelocity[0] = fDistance[0] / fTime;
fVelocity[1] = fDistance[1] / fTime;
fVelocity[2] = fDistance[2] / fTime;

return ( fVelocity[0] && fVelocity[1] && fVelocity[2] );
}


// Sets velocity of an entity (ent) away from origin with speed (speed)

stock set_velocity_from_origin( ent, Float:fOrigin[3], Float:fSpeed )
{
new Float:fVelocity[3];
get_velocity_from_origin( ent, fOrigin, fSpeed, fVelocity )

entity_set_vector( ent, EV_VEC_velocity, fVelocity );

return ( 1 );
}


Używasz set_velocity_from_origin na encie który ma być odepchnięty i wsio ;)
  • +
  • -
  • 3

#4 kyku

    Wszechmogący

  • Autor tematu
  • Użytkownik

Reputacja: 166
Profesjonalista

  • Postów:612
  • Lokalizacja:Jasło
Offline

Napisano 05.09.2010 10:32

dzięki owner, dziala idealnie ^D^
  • +
  • -
  • 0




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

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