Skip to main content

phys_spring

Point Entity

A physically simulated spring. 'Length' is what's known as the 'natural spring length'. This is how long the spring would be if it was at rest (nothing hanging on it or attached). When you attach something to the spring, it will stretch longer than its 'natural length'. The amount of stretch is determined by the 'Sprint Frequency'. The larger the spring frequency the less stretch the spring.

Keyvalues

  • Entity Scripts (vscripts) <ScriptList>
    Name(s) of script files that are executed after all entities have spawned.

  • Name (targetname) <TargetSource>
    The name that other entities refer to this entity by.

  • Spawnflags (spawnflags) <Flags>

    • Force only on stretch
    • Enable collision
  • Entity 1 (attach1) <TargetDestination>

  • Entity 2 (attach2) <TargetDestination>

  • Spring Axis (springaxis) <Vecline>
    Use the helper. Drag it out to match the virtual spring.

  • Length (length) <String>
    How long the spring would be if it was at rest (nothing hanging on it or attached). 0 means the length of the helper.

  • Length Scale (lengthscale) <Float>
    Scale on the rest length. You can use this to easily make the spring start out stretched. e.g. a value of 0.75 here means the spring will spawn stretched by ~25%.

  • Frequency (frequency) <String>
    The stiffness of the spring. The larger the number the less the spring will stretch. The maximum should be not more than 30!

  • Damping Ratio (damping) <String>
    How much energy the spring loses. Values less than one give you an osscilating spring. A value of one makes the spring return without overshooting

Inputs

  • RunScriptFile <String>
    Load and execute a script file

  • RunScriptCode <String>
    Execute a fragment of script code

  • CallScriptFunction <String>
    Call a script function

  • CallPrivateScriptFunction <String>
    Calls a script function from this entity's private script scope.

  • CallGlobalScriptFunction <String>
    Calls a script function in the global script scope.

  • Kill <Void>
    Removes this entity from the world.

  • KillHierarchy <Void>
    Removes this entity and all its children from the world.

  • KillConstrained <Void>
    Removes this entity, all its children, and anything constrained to it, from the world.

  • AddOutput <String>
    Adds an entity I/O connection to this entity. Parameter format: outputname>targetname>inputname>parameter>delay>max times to fire (-1 == infinite). Very dangerous, use with care.

  • FireUser1 <Void>
    Causes this entity's OnUser1 output to be fired.

  • FireUser2 <Void>
    Causes this entity's OnUser2 output to be fired.

  • FireUser3 <Void>
    Causes this entity's OnUser3 output to be fired.

  • FireUser4 <Void>
    Causes this entity's OnUser4 output to be fired.

  • SetRestLength <Float>
    Set the spring rest length.

  • SetFrequency <Float>
    Set the spring frequency (stiffness).

  • SetDampingRatio <Float>
    Set the spring damping ratio.

Outputs

  • OnUser1 <Void>
    Fired in response to FireUser1 input.

  • OnUser2 <Void>
    Fired in response to FireUser2 input.

  • OnUser3 <Void>
    Fired in response to FireUser3 input.

  • OnUser4 <Void>
    Fired in response to FireUser4 input.

  • OnKilled <Void>
    Fired when the entity is killed and removed from the game. Parameter is the inflictor.