Skip to main content

phys_genericconstraint

Point Entity

A configurable constraint between two objects.

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>

    • No Collision until break
    • Start inactive
    • Change mass to keep stable attachment to world
    • Do not connect entities until turned on
  • Entity 1 (attach1) <TargetDestination>

  • Entity 2 (attach2) <TargetDestination>

  • Impulse Limit to Break (kg) (forcelimit) <Float>
    The amount of impulse an impact must apply to the constraint to break it. A way of calculating this is to set it to the mass of an object that would break this constraint if it were resting on the constrainted objects.

  • Angular Impulse Limit to Break (kg * distance) (torquelimit) <Float>
    The amount of angular impulse required to break the constraint. A way of calculating this is to multiply any reference mass by the resting distance (from the center of mass of the object) needed to break the constraint.

  • Play Sound on Break (breaksound) <Sound>
    A sound played when the constraint is broken.

  • Follow teleport distance (teleportfollowdistance) <Float>
    If one object teleports more than this many units away it will cause the other constrained object to teleport to an appropriate relative position.

  • Linear Motion X (linear_motion_x) <Choices>

    • Free motion
    • Locked motion
  • Spring frequency (stiffness) (linear_frequency_x) <Float>

  • Spring damping ratio (linear_damping_ratio_x) <Float>
    0 for no damping and 1 for critical damping

  • Impulse Limit to Break (kg) (forcelimit_x) <Float>
    The amount of impulse an impact must apply to the constraint to break it. A way of calculating this is to set it to the mass of an object that would break this constraint if it were resting on the constrainted objects.

  • Notify when X force reaches (notifyforce_x) <Float>

  • Minimum time between event firing X event (0 disables firing) (notifyforcemintime_x) <Float>

  • Break after time at threshold on X (time) (breakaftertime_x) <Float>

  • Break after time threshold on X (threshold) (breakaftertimethreshold_x) <Float>

  • Linear Motion Y (linear_motion_y) <Choices>

    • Free motion
    • Locked motion
  • Spring frequency (stiffness) (linear_frequency_y) <Float>

  • Spring damping ratio (linear_damping_ratio_y) <Float>
    0 for no damping and 1 for critical damping

  • Impulse Limit to Break (kg) (forcelimit_y) <Float>
    The amount of impulse an impact must apply to the constraint to break it. A way of calculating this is to set it to the mass of an object that would break this constraint if it were resting on the constrainted objects.

  • Notify when Y force reaches (notifyforce_y) <Float>

  • Minimum time between event firing Y event (0 disables firing) (notifyforcemintime_y) <Float>

  • Break after time at threshold on Y (time) (breakaftertime_y) <Float>

  • Break after time threshold on Y (threshold) (breakaftertimethreshold_y) <Float>

  • Linear Motion Z (linear_motion_z) <Choices>

    • Free motion
    • Locked motion
  • Spring frequency (stiffness) (linear_frequency_z) <Float>

  • Spring damping ratio (linear_damping_ratio_z) <Float>
    0 for no damping and 1 for critical damping

  • Impulse Limit to Break (kg) (forcelimit_z) <Float>
    The amount of impulse an impact must apply to the constraint to break it. A way of calculating this is to set it to the mass of an object that would break this constraint if it were resting on the constrainted objects.

  • Notify when Z force reaches (notifyforce_z) <Float>

  • Minimum time between event firing Z event (0 disables firing) (notifyforcemintime_z) <Float>

  • Break after time at threshold on Z (time) (breakaftertime_z) <Float>

  • Break after time threshold on Z (threshold) (breakaftertimethreshold_z) <Float>

  • Angular Motion X (angular_motion_x) <Choices>

    • Free motion
    • Locked motion
  • Spring frequency (stiffness) (angular_frequency_x) <Float>

  • Spring damping ratio (angular_damping_ratio_x) <Float>
    0 for no damping and 1 for critical damping

  • Angular Impulse Limit to Break (kg * distance) (torquelimit_x) <Float>
    The amount of angular impulse required to break the constraint. A way of calculating this is to multiply any reference mass by the resting distance (from the center of mass of the object) needed to break the constraint.

  • Angular Motion Y (angular_motion_y) <Choices>

    • Free motion
    • Locked motion
  • Spring frequency (stiffness) (angular_frequency_y) <Float>

  • Spring damping ratio (angular_damping_ratio_y) <Float>
    0 for no damping and 1 for critical damping

  • Angular Impulse Limit to Break (kg * distance) (torquelimit_y) <Float>
    The amount of angular impulse required to break the constraint. A way of calculating this is to multiply any reference mass by the resting distance (from the center of mass of the object) needed to break the constraint.

  • Angular Motion Z (angular_motion_z) <Choices>

    • Free motion
    • Locked motion
  • Spring frequency (stiffness) (angular_frequency_z) <Float>

  • Spring damping ratio (angular_damping_ratio_z) <Float>
    0 for no damping and 1 for critical damping

  • Angular Impulse Limit to Break (kg * distance) (torquelimit_z) <Float>
    The amount of angular impulse required to break the constraint. A way of calculating this is to multiply any reference mass by the resting distance (from the center of mass of the object) needed to break the constraint.

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.

  • Break <Void>
    Force the constraint to break.

  • TurnOn <Void>
    Enable the constraint. Do this when the objects don't exist when the constraint spawns - or when you have deactivated the constraint. Broken constraints can NOT be turned on. They have been deleted.

  • TurnOff <Void>
    Disable this constraint.

  • SetLinearMotionLockedX <Boolean>\

  • SetLinearMotionLockedY <Boolean>\

  • SetLinearMotionLockedZ <Boolean>\

  • SetLinearFrequencyX <Float>\

  • SetLinearFrequencyY <Float>\

  • SetLinearFrequencyZ <Float>\

  • SetLinearDampingRatioX <Float>\

  • SetLinearDampingRatioY <Float>\

  • SetLinearDampingRatioZ <Float>\

  • SetAngularMotionLockedX <Boolean>\

  • SetAngularMotionLockedY <Boolean>\

  • SetAngularMotionLockedZ <Boolean>\

  • SetAngularFrequencyX <Float>\

  • SetAngularFrequencyY <Float>\

  • SetAngularFrequencyZ <Float>\

  • SetAngularDampingRatioX <Float>\

  • SetAngularDampingRatioY <Float>\

  • SetAngularDampingRatioZ <Float>\

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.

  • OnBreak <Void>
    Fired when the constraint breaks.

  • NotifyForceReachedX <Void>
    The requested force has been reached on the X axis. Won't fire if force min time is zero.

  • NotifyForceReachedY <Void>
    The requested force has been reached on the Y axis. Won't fire if force min time is zero.

  • NotifyForceReachedZ <Void>
    The requested force has been reached on the Z axis. Won't fire if force min time is zero.