Author Topic: Ventilo  (Read 462 times)

tpt

  • Apprenti poseur de brushs
  • Posts: 66
Ventilo
« on: August 27, 2010, 03:57:03 PM »
Salut

je viens de créer un grand ventilateur sur ma carte et je voulais savoir s'il était possible de mettre un effet du genre quand un joueur passe devant, ça le fait légèrement reculer en arrière ou tout simplement sa le fait marcher moins vite  B)

 

snaky

  • Squatteur de forum
  • ****
  • Posts: 3332
    • http://profparty.forumpro.fr
Ventilo
« Reply #1 on: August 27, 2010, 07:45:47 PM »
Quote
physics_velocity( Vector impulseVector )

      Add a physical impulse to an object when it is being physically simulated

Utilises un trigger devant ton vetilo, et fais-lui executer un thread sur le joueur qui l'active (trigger_multiple, le joueur étant alors parm.other).

Emploie, dans ce thread, la commande physics_veolicity", et utilise, comme argument, un vecteur dont la norme dépend de la distance du joueur au ventilo (la distance se calcule par vector_length(<entity>.origin-<Entity>.origin)), et dont la direction est fixe (celle du ventilateur).

En jouant sur un coefficient de proportion entre la distance ventilateur-joueur et la norme de l'impulsion, ainsi qu'en jouant sur la durée entre deux impulsions, tu dois pouvoir créer un "effet de vent continu".

tpt

  • Apprenti poseur de brushs
  • Posts: 66
Ventilo
« Reply #2 on: August 28, 2010, 06:29:42 PM »
c'est un peu compliqué tes explications  
tu pourrais m'aider pour le thread stp?
parce que là j'ai essayé un truc comme ça mais euh :blink:

vent:
local.player = parm.other
local.vent = [( -16.0 -160.0 -152.0 )]
local.vent2 = [( -16.0 -200.0 -152.0 )]
physics_velocity vector_length(local.vent+local.vent2)