Context
Jump to navigation
Jump to search
Map placed entities have up to three "context" keypairs that can be specified. They take the form:
"key:value" (key, single colon separator, value)
When an entity with any such context keypairs is asked to dispatch a response, the keypairs are added to the Criteria set passed to the |rule system. Thus, map placed entities and triggers can specify their own context keypairs and these can be hooked up to response rules to do map-specific and appropriate responses.
For example, there is a npc_citizen with ResponseContext keyvalue is "customs_queue:1" in sdk_d1_trainstation_01.vmf.
This context will match the following criterion from script/talker/npc_citizen_terminal.txt
:
criterion "IsTerminalCustomsQueue" "customs_queue" "1" required
And then accorging to this rule, response CitizenCustomsQueue would be chosen.
rule CitizenCustomsQueue { criteria IsCitizen ConceptTalkUse IsTerminalCustomsQueue NPCIdle response CitizenCustomsQueue }
Related Entities
- Worldspawn
- NPC
- KeyValue:
- ResponseContext(string) : "Response Contexts" : "" : "Response system context(s) for this entity. Format should be: 'key:value,key2:value2,etc'. When this entity speaks, the list of keys & values will be passed to the response rules system."
- Input
- AddContext(string) : "Adds a context to this entity's list of response contexts. The format should be 'key:value'."
- RemoveContext(string) : "Remove a context from this entity's list of response contexts. The name should match the 'key' of a previously added context."
- ClearContext(void) : "Removes all contexts in this entity's list of response contexts."
- KeyValue:
- env_speaker(this can have a script file containing rules for playing appropriate sounds.)
- ai_speechfilter