Func conveyor bms: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
(Simple fix added, also will replace the gifs.)
Line 46: Line 46:


===Tripmines doesn't explode===
===Tripmines doesn't explode===
Expected that tripmine placed on activated conveyor will explode, but this doesn't happen at all. There is no workarounds, because of triggers doesn't interact with tripmines while tripmines is not active.
Expected that tripmine placed on activated conveyor will explode, but this doesn't happen at all. There is no workarounds, because of triggers doesn't interact with tripmines while tripmines is not actived.
<br>
<br>
<gallery mode=packed heights=710px>
<gallery mode=packed heights=710px>
File:TripBug2.jpg| frame | An example in <code>dm_darn_mini_r2</code>.
File:TripBug2.jpg| frame | An example in <code>dm_darn_mini_r2</code>.
</gallery>
</gallery>

Revision as of 08:30, 7 July 2024

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, it is also have some inputs that allow more slightly control conveyor state.

An example of how it works.

Keyvalues

Move Direction (Pitch Yaw Roll) (direction) <angle>
The direction conveyor moves.
Conveyor Speed (speed) <string>
Linear speed of moving surface.
Red x.png
This template (and its redirect) is Wikipedia icon Deprecated. Its use is not recommended and its functionality may be compromised.
Please use {{Brush rendering note}} instead.
You can help our editors by replacing or deleting this template on the Pages that use this template. Once no more pages use this template, it should be Marked for deletion.
Note.pngNote:Archived page history
Icon-Important.pngImportant:These pages are linked often from page history logs so Special:WhatLinksHere will not show anything.


Flags

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

Inputs

ReverseDirection <void> !FGD
Reverse direction of conveyor.
Activate <void> !FGD
Activate the conveyor.
Deactivate <void> !FGD
Deactivate the conveyor.
Toggle <void> !FGD
Toggle the conveyor current state.
SetDamageFilter <targetnameRedirectInput/string>
Sets a filter for this entity for when it receives damage.
EnableDamageForces
Allows the entity to be pushed by damage done to it (usually force amount correlates with the damage done).
DisableDamageForces
Prevents the entity from being pushed by damage done to it.
Todo: move/mention at proper place


Outputs

Bugs/Limitations

Levitating objects

It seems that conveyor not really push objects, it seems that conveyor just create pulling point between object and conveyor surface and than pull object along a given direction. This method creates unrealistic physics behavior of objects, as in the gif, it was initially expected that the box during pushing would take the same angle of inclination as that of the conveyor, but instead the box seemed to levitate through the air.

Doesn't work with client side ragdolls

This is one of many brush entities that can't hold client side ragdolls, this means that NPC's ragdolls will fall through such entity. In this case this problem most relevant in Interloper, where the corpses of unarmored alien grunts fall through a conveyor belt. The only way to fix this is use trigger_serverragdoll, however in this case ragdolls will not gib (fix here).

NPCs with low speed may stuck

If you don’t monitor the speed of conveyor or NPC - this may cause situations like in the gif. Avoid this by increasing the speed for NPC or decreasing the speed of conveyor.

Tripmines doesn't explode

Expected that tripmine placed on activated conveyor will explode, but this doesn't happen at all. There is no workarounds, because of triggers doesn't interact with tripmines while tripmines is not actived.