Use: Difference between revisions
Jump to navigation
Jump to search
(Formating?) |
m ({{key}} template) |
||
Line 1: | Line 1: | ||
All entities have a '''Use''' [[input]], though many do nothing in response to it. There are four methods to invoke it: | All entities have a '''Use''' [[input]], though many do nothing in response to it. Typically, it performs the action players most expect when interacting with the entity (e.g. opening/closing a door, picking up a physics object). There are four methods to invoke it: | ||
#A player looking at the entity and using the <code>+use</code> console command (commonly bound to the {{key|E}} key). | |||
# A player looking at the entity and using the <code>+use</code> console command ( | #An entity [[output]] that specifies the <code>Use</code> input, or not specifying any input. | ||
# An entity [[output]] that specifies the <code>Use</code> input, or not specifying any input. | #Directly calling the C++ function. | ||
# Directly calling the C++ function. | #If an entity without a use function is parented to one which does, it will passthrough the input to the parent. | ||
# If an entity without a use function is parented to one which does, it will passthrough the input to the parent | |||
==Programming== | ==Programming== | ||
Although there is always a Use input, the actual Use function of an entity starts null. It can be assigned at any time with <code>SetUse( void *SomeFunc([[CBaseEntity]] *pActivator, CBaseEntity *pCaller, USE_TYPE useType, [[float]] value) )</code>. | Although there is always a <code>Use</code> input, the actual <code>Use</code> function of an entity starts null. It can be assigned at any time with <code>SetUse( void *SomeFunc([[CBaseEntity]] *pActivator, CBaseEntity *pCaller, USE_TYPE useType, [[float]] value) )</code>. | ||
It doesn't appear possible to specify <code>USE_TYPE</code> or <code>value</code> through the I/O system. | It doesn't appear possible to specify <code>USE_TYPE</code> or <code>value</code> through the I/O system. | ||
[[Category:Level Design]] | [[Category:Level Design]] | ||
[[Category:Programming]] | [[Category:Programming]] |
Revision as of 03:25, 27 June 2018
All entities have a Use input, though many do nothing in response to it. Typically, it performs the action players most expect when interacting with the entity (e.g. opening/closing a door, picking up a physics object). There are four methods to invoke it:
- A player looking at the entity and using the
+use
console command (commonly bound to the E key). - An entity output that specifies the
Use
input, or not specifying any input. - Directly calling the C++ function.
- If an entity without a use function is parented to one which does, it will passthrough the input to the parent.
Programming
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 USE_TYPE
or value
through the I/O system.