Set func_tracktrain flags dynamically?

Discussion in 'Mapping Questions & Discussion' started by corpsinhere, Mar 23, 2010.

  1. corpsinhere

    corpsinhere L1: Registered

    Messages:
    15
    Positive Ratings:
    1
    I would like to be able to set a func_tracktrain flag (specifically "No User Control") from an output of another entity. Does anyone know if this is possible?
     
  2. corpsinhere

    corpsinhere L1: Registered

    Messages:
    15
    Positive Ratings:
    1
    Turns out I was asking the wrong question. What I wanted was a way to make a cart roll uncontrollably downhill (neither blu nor red players near the cart will affect the cart speed). I foolishly thought that setting an output of a path_track to switch the "No User Control" flag of the func_tracktrain would do it. For anyone who is interested here is what actually works:

    Fist I want to thank A Boojum Snark for his awesome mapping resource pack without which it would have taken me way way longer to figure this out!

    On the path_track which marks the beginning of the out-of-control-section of the path trigger an output OnPass which disables the trigger_capture_area on your func_tracktrain and then set another output which targets your func_tracktrain SetSpeedDirAccel to the new fraction of max speed that you want the train to move at. To turn off the wild ride just re-enable the trigger_capture_area and set your func_tracktrain SetSpeedDirAccel to zero.

    Regarding max speed: normally you will have your max speed set to something slow (like 90) so that heavies can keep up. If you want to have your cart really race downhill you will have to set the max speed (set Max Speed when you create your func_tracktrain) to something much higher (like 300). But then the train will attempt to do 300 units/sec when there are three blu on the cart! So you will have to also alter the way the cart responds to players. You should have a logic_case to take care of the logic branching when different numbers of players are near the cart. In the outputs of this entity you will have entries like OnCase02, target: my_train, set: SetSpeedDirAccel to some_value. If you have set your base train speed (Max Speed of your func_tracktrain) to 3 times its original value - then just divide the logic case output value of SetSpeedDirAccel by 3.