This article's documentation is for anything that uses the Source engine. Click here for more information.

Func movelinear: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
No edit summary
No edit summary
 
(31 intermediate revisions by 19 users not shown)
Line 1: Line 1:
{{base brush|func_movelinear}}  
{{LanguageBar}}
{{TabsBar}}
{{CD|CFuncMoveLinear|file1=func_movelinear.cpp}}
{{This is a|brush entity|name=func_movelinear}} It moves linearly along a given distance, in a given direction. Unlike a {{ent|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 {{ent|func_water_analog}} instead.


==Entity descrioption==
{{FuncMoveLinear notes}}
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.  
{{altnames|name1=momentary_door|misc=This was the original classname in [[GoldSrc]].}}


{{brushmodel}}
==Flags==
{{Fl FuncMoveLinear}}


{{warning|There are bugs with [[parenting]] this entity to another.}}
==Keyvalues==
{{Brush rendering note}}


== Keyvalues ==
{{KV|Move Direction (Pitch Yaw Roll)|angle|The direction the brushes will move, when told to.}}
{{KV|Start Position|float|Position of brush when spawned. The range is a value between 0.0 and 1.0, where 0 is the starting position and 1 is the starting position + (move direction * move distance).}}
{{KV|Speed|integer|The speed that the brush moves, in inches per second.}}
{{KV|Move Distance|float|The distance from the starting point that the brush should move, in inches.}}
{{KV|Block Damage|float|The amount of damage to do to any entity that blocks the brushes, per frame.}}
{{KV|Sound played when the brush starts moving.|sound|The sound to play when the brush starts moving.}}
{{KV|Sound played when the brush stops moving.|sound|The sound to play when the brush stops moving.}}
{{KV Targetname}}
{{KV Targetname}}
{{KV Parentname}}
{{KV FuncMoveLinear}}
{{KV Origin}}
{{KV RenderFields}}


== Flags ==
==Inputs==
* 8 : Not Solid
{{I FuncMoveLinear}}


== Inputs ==
==Outputs==
{{IO|Open|Move the brush to the end position (starting position + (move direction * move distance)).}}
{{O FuncMoveLinear}}
{{IO|Close|Move the brush to the starting position.}}
{{IO|SetPosition|Move the brush to a specific position between 0.0 and 1.0, where 0 is the starting position and 1 is the starting position + (move direction * move distance).|param=string}}
{{IO|SetSpeed|Set the speed and update immediately.|param=float}}
{{I Targetname}}
{{I Parentname}}
{{I RenderFields}}
 
== Outputs ==
{{IO|OnFullyOpen|Fired when the brush reaches the end position (starting position + (move direction * move distance)).}}
{{IO|OnFullyClosed|Fired when the brush reaches the starting position.}}
{{O Targetname}}


==See also==
==See also==
* {{ent|func_water_analog}} - entity linked to to the same C++ class
* [http://twhl.info/vault.php?map=3920 Example map of a counter-weighted door].
* [http://twhl.info/vault.php?map=3920 Example map of a counter-weighted door].

Latest revision as of 09:28, 18 September 2024

English (en)Русский (ru)Translate (Translate)
edit
C++ Class hierarchy
CFuncMoveLinear
CBaseToggle
CBaseEntity
C++ func_movelinear.cpp

func_movelinear is a brush entity available in all Source 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.pngNote: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.
Icon-Bug.pngBug: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.
AltNames.pngAltNames: This entity is also tied to momentary_door. This was the original classname in GoldSrc.

Flags

FuncMoveLinear:

Not Solid : [8]
Icon-Bug.pngBug:Physics objects cannot be constrained to this entity when this flag is enabled.  [todo tested in ?]

Keyvalues

Note.pngNote:For Keyvalues and Inputs affecting brush rendering, see Brush entity/Rendering related keyvalues and inputs


Name (targetname) <string>[ Edit ]
The name that other entities refer to this entity by, via Inputs/Outputs or other keyvalues (e.g. parentname or target).
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.
Icon-Bug.pngBug: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 <floatRedirectInput/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 <floatRedirectInput/float>
Set the speed and update immediately.
TeleportToTarget <targetnameRedirectInput/string> (only in Left 4 Dead 2)
Teleport to the origin of a given entity.
ResetPosition <floatRedirectInput/float> (only in Left 4 Dead 2)
Set a new start position, parameter relative to wherever the current one is.
Todo: Parameter might actually be optional?

Outputs

FuncMoveLinear:

OnFullyOpen
!activator = !caller = this entity
Fired when the brush reaches the end position (starting position + (move direction * move distance)).
OnFullyClosed
!activator = !caller = this entity
Fired when the brush reaches the starting position.

See also