func_movelinear
Jump to navigation
Jump to search
Class hierarchy |
---|
CFuncMoveLinear |
func_movelinear.cpp |
func_movelinear
is a brush entity available in all Source games. It moves linearly along a given distance, in a given direction. Unlike a func_door, it can be positioned anywhere along its axis of movement, making moving things much simpler in most cases while also using less memory. For moving water, use func_water_analog instead.
Note:The
SetPosition
input and Start Position keyvalue do not perform any bounds checking, so values less than 0 and greater than 1 can be used. Negative values will move in the opposite direction to the movement direction, and values greater than 1 will move it in multiples of the set Move Distance. Moving past the opened/closed position does not trigger the OnFullyOpen
and OnFullyClosed
outputs.Bug:There are bugs that may arise when parenting this entity to any of these: func_movelinear, func_lookdoor, func_water_analog. A func_door (or for func_water_analog, func_water) can be used as a workaround. (see here for a code fix)[ Code Fix]
Confirm:Might be fixed in Portal 2? Parented movelinears are used extensively for this game's piston platforms.
[todo tested in?]Bug:In , parenting a move_rope or keyframe_rope will cause the entities to disappear. Clarification required if the rope entities are deleted or are simply not rendered. [todo tested in?]
AltNames: This entity is also tied to
momentary_door
. This was the original classname in GoldSrc. Flags
FuncMoveLinear:
- 8: Not Solid
Bug:Physics objects cannot be constrained to this entity when this flag is enabled. [todo tested in?]
Keyvalues
Note:For Keyvalues and Inputs affecting brush rendering, see Brush entity/Rendering related keyvalues and inputs
- Name (targetname) <string>
- The name that other entities refer to this entity by, via Inputs/Outputs or other keyvalues (e.g.
parentname
ortarget
).
Also displayed in Hammer's 2D views and Entity Report.See also: Generic Keyvalues, Inputs and Outputs available to all entities
FuncMoveLinear:
- Move Direction (Pitch Yaw Roll) (movedir) <angle>
- The direction the entity will move in.
- Start Position (startposition) <float>
- Position of brush when spawned, where 0 is the starting position and 1 is starting position + (move direction * move distance).
- Speed (speed) <integer>
- The speed that the brush moves, in inches per second.
- Move Distance (movedistance) <float>
- The distance from the starting point that the brush should move, in inches.
- Block Damage (blockdamage) <float>
- The amount of damage to do to any entity that blocks the brushes, per frame.
Bug:Block damage doesn't function on players who passed through a trigger_teleport using noclip, though it will have effect again if the the player goes through a trigger_teleport without noclip. [todo tested in?]
- Sound played when the brush starts moving. (startsound) <sound>
- The sound to play when the brush starts moving.
- Sound played when the brush stops moving. (stopsound) <sound>
- The sound to play when the brush stops moving.
Inputs
FuncMoveLinear:
- Open
- Move the brush to the end position (starting position + (move direction * move distance)).
- Close
- Move the brush to the starting position.
- SetPosition <float>
- Move the brush to a specific position, where 0 is the starting position and 1 is the starting position + (move direction * move distance).
- SetSpeed <float>
- Set the speed and update immediately.
Outputs
FuncMoveLinear:
- OnFullyOpen
- Fired when the brush reaches the end position (starting position + (move direction * move distance)).
- OnFullyClosed
- Fired when the brush reaches the starting position.
See also
- func_water_analog - entity linked to to the same C++ class
- Example map of a counter-weighted door.