func_conveyor_bms

From Valve Developer Community
Revision as of 05:16, 2 August 2025 by MyGamepedia (talk | contribs) (→‎Bugs/Limitations)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
English (en)Translate (Translate)
C++ Class hierarchy
CFuncConveyor
CFuncWall
CBaseEntity

func_conveyor_bms is a brush entity available in Black Mesa Black Mesa. It functions as a conveyor belt, with a moving surface. The surface material should have a ConveyorScroll Material Proxy, to synchronize the material movement and push effect. The main difference between func_conveyor_bms and func_conveyor is that it can interact with VPhysics objects and not only QPhysics objects. This entity also have some inputs that can control conveyor state. Most inputs, outputs and properties are same as most other brush entities with rendering.

Keyvalues

Move Direction (Pitch Yaw Roll) (direction) <angle>
The direction conveyor moves.
Conveyor Speed (speed) <string>
Linear speed of moving surface.

Flags

Push : [1]
Disable pushing if flag is unchecked.

Inputs

ReverseDirection <void> !FGD
Reverse direction of the conveyor.
Activate <void> !FGD
Activate the conveyor.
Deactivate <void> !FGD
Deactivate the conveyor.
Toggle <void> !FGD
Toggle the conveyor current state.

Bugs/Limitations

Levitating Objects

It seems that conveyors don't actually push VPhysics objects. Instead, they appear to create a pulling point between the object and the conveyor surface, then pull the object in a given direction. This method results in unrealistic physics behavior. For example, in this video, it was initially expected that the box would tilt at the same angle as the conveyor during movement. However, instead, the box appears to levitate.

Doesn't Work with Client-Side Ragdolls

This is one of the many brush entities which is completely ignored by client-side ragdolls. This means that ragdoll created by NPC will fall through this entity. This issue is especially noticeable in Interloper, where the corpses of unarmored alien grunts fall through conveyor belts.

The only way to fix this is to use trigger_serverragdoll, it will force most NPCs to created server side ragdolls instead, such ragdolls do not ignore brush entities, and will also interact with conveyors properly. But this will also disable ragdoll breaking, because the trigger entity doesn't change m_bForceServerGibs to 1, this issue is fixed in [SM]Restored 2012 Ragdolls & Gibs addon.

NPCs with Low Speed May Get Stuck

If NPC is slow - may cause NPC to endless walk on conveyor. Avoid this by increasing the speed for NPC or decreasing the speed of conveyor.

Doesn't Work with Weapons and Items

This entity does not work with entities that use the weapon_ prefix (e.g., weapon_mp5, weapon_gluon, etc.). The same applies to most entities that use the item_ prefix (e.g., item_weapon_mp5, item_weapon_gluon, etc.).