Dynamic interactions: Difference between revisions
(Added more information. Removed WIP banner. Anyone is welcome to add or confirm things.) |
(fixed some formatting + corrected/added information) |
||
Line 51: | Line 51: | ||
;<code>origin_relative <[[vector]]></code> | ;<code>origin_relative <[[vector]]></code> | ||
:''Desired relative origin of the other NPC'' | |||
;<code>angles_relative <[[angles]]></code> | ;<code>angles_relative <[[angles]]></code> | ||
:''Desired relative angles of the other NPC'' | |||
;<code>velocity_relative <[[vector]]></code> | ;<code>velocity_relative <[[vector]]></code> | ||
:''Desired relative velocity of the other NPC'' | |||
;<code>entry_sequence <[[sequence]]></code> | ;<code>entry_sequence <[[sequence]]></code> | ||
Line 75: | Line 78: | ||
;<code>delay <[[float]]></code> | ;<code>delay <[[float]]></code> | ||
: '' | : ''Delay before interaction can be used again'' | ||
;<code>origin_max_delta <[[float]]></code> | ;<code>origin_max_delta <[[float]]></code> | ||
: '' | : ''Max distance sqr from the relative origin the NPC is allowed to be to trigger'' | ||
;<code>loop_in_action <[[float]]></code> {{Note | While the value is a float, it's used as a bool in code. }} | ;<code>loop_in_action <[[float]]></code> {{Note | While the value is a float, it's used as a bool in code. }} | ||
: ''Loop in the "action" animation(the "activity" or "sequence" options.). {{confirm}} | : ''Loop in the "action" animation(the "activity" or "sequence" options.). '' {{confirm}} | ||
;<code>dont_teleport_at_end <choices></code> | ;<code>dont_teleport_at_end <choices></code> | ||
Line 102: | Line 105: | ||
;<code>weapon_mine <[[classname]]></code> | ;<code>weapon_mine <[[classname]]></code> | ||
: '' | : ''Classname of the weapon I'm holding, if any'' | ||
;<code>weapon_theirs <[[classname]]></code> | ;<code>weapon_theirs <[[classname]]></code> | ||
: '' | : ''Classname of the weapon my interaction partner is holding, if any'' | ||
== Related or Useful Animation Events == | == Related or Useful Animation Events == |
Revision as of 17:11, 26 February 2012

You can upload screenshots at Special:Upload. For help, see Help:Images.
The dynamic_interactions KeyValues block defines when and how to perform a dynamic interaction. For example; when Alyx kicks a zombie. It is embedded in a model with the $keyvalues QC command.
Once a dynamic interaction is defined in a model, the character(s) with this model can have the interaction with any other character that has the same sequence names or activity names. This only has to be defined in one of the two characters(NPCs)'s model participating in the interaction. For example; Alyx has the dynamic interactions defined in her model using this keyvalue, but the zombie model just has matching activity names.

Example
Found in models/Alyx_animations.mdl

$keyvalues { dynamic_interactions { "alyx_v_zombie_180deg_64" { "trigger" "auto_in_combat" "origin_relative" "64 0 0" "angles_relative" "0 180 0" "activity" "ACT_DI_ALYX_ZOMBIE_MELEE" "delay" "10.0" "needs_weapon" "ME" "weapon_mine" "weapon_alyxgun" } } }
Options

trigger <choices>
- What triggers this interaction... If this isn't defined, the interaction can be trigged via input
forceinteractionwithnpc "<targetname> <interaction name>"
auto_in_combat
- Automatically in combat.
loop_break_trigger <choices>
- Stop looping the action animation if
loop_in_action
was set. [confirm]on_damage
- Break loop on damage.
on_flashlight_illum
- Break loop once illuminated by player's flashlight. [confirm]
origin_relative <vector>
- Desired relative origin of the other NPC
angles_relative <angles>
- Desired relative angles of the other NPC
velocity_relative <vector>
- Desired relative velocity of the other NPC
entry_sequence <sequence>
- What sequence to play for this interaction before the main sequence/activity. [confirm]
entry_activity <activity>
- What activity to play for this interaction before the main sequence/activity. [confirm]
sequence <sequence>
- What sequence to play for this interaction.(The "action")
activity <activity>
- What activity to play for this interaction.(The "action")
exit_sequence <sequence>
- What sequence to play for this interaction after the main sequence/activity. [confirm]
exit_activity <activity>
- What activity to play for this interaction after the main sequence/activity. [confirm]
delay <float>
- Delay before interaction can be used again
origin_max_delta <float>
- Max distance sqr from the relative origin the NPC is allowed to be to trigger
loop_in_action <float>
Note: While the value is a float, it's used as a bool in code.
- Loop in the "action" animation(the "activity" or "sequence" options.). [confirm]
dont_teleport_at_end <choices>
- Don't teleport/fix up positions at the end
me
- Don't teleport/fix up this character's position
them
- Don't teleport/fix up this character's partner's position
both
- Don't teleport/fix up this character's or his partner's position
needs_weapon <choices>
- Needs a weapon to perform this interaction?
ME
- Does this character need a weapon?
THEM
- Does this character's partner need a weapon?
BOTH
- Does both this character and his partner need a weapon?
weapon_mine <classname>
- Classname of the weapon I'm holding, if any
weapon_theirs <classname>
- Classname of the weapon my interaction partner is holding, if any
Related or Useful Animation Events
These are useful animation events for those wanted to create an activity for a dynamic interaction. READ: Animation_Events
Example
{ event AE_NPC_HURT_INTERACTION_PARTNER 28 "THEM 100" }
Animation Events
AE_NPC_HURT_INTERACTION_PARTNER "<choices> <int>"
- Hurt either this character or his partner... and how much(the int).
ME
- Hurt this character
THEM
- Hurt the partner
AE_NPC_SET_INTERACTION_CANTDIE "<bool>"
- Set those participating in the interaction to become invincible Todo: Which NPC? The partner or this character
AE_NPC_WEAPON_FIRE "<bool>"
- Fire this character's weapon. The bool is whether or not you want him to use the weapon's secondary fire.