All entities have a Use input, though many do nothing in response to it. There are four ways to trigger it:
- A player looking at the entity and invoking the
- An entity firing it via an output
- An entity firing an output that does not specify an input on the target entity
- An entity directly calling the C++ function
Use typically performs the action players most expect when interacting with the entity (e.g. opening/closing a door, picking up a physics object).
Although there is always a Use input, the actual Use function of an entity starts null. It can be assigned at any time with
SetUse( void *SomeFunc(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value) ).
It doesn't appear possible to specify
value through the I/O system.