Difference between revisions of "Attaching Props to AI"

From The DarkMod Wiki
Jump to navigationJump to search
Line 127: Line 127:
'''Weaknesses:''' Bound objects cannot affect AI animations.  You must adjust each object individually.
'''Weaknesses:''' Bound objects cannot affect AI animations.  You must adjust each object individually.

See [[BindtoJoint]] for more info.
See [[BindToJoint]] for more info.

Revision as of 17:39, 26 August 2017

Attaching things to AI is an important way to make your AI unique.

There are two ways to attach things (hereafter referred to as 'props') to AI. Each has its strengths and weaknesses.

To attach working weapons and heads see Adding Heads and Weapons to AI

Using Def_Attach

Benefits: The mapper can easily attach pre-existing prop entities; no fiddling with positions or rotations. More importantly, def_attached entities often adjusts AI animations appropriately (eg, def_attaching a torch automatically makes the AI use the 'torch' animations).

Weaknesses: It is time-consuming to make prop entities that don't already exist. Def_attached objects will not be visible in DR.

Each AI has a set of pre-determined coordinates (attachment points). The mapper can attach things to these points by using the following spawnargs in an AI's entity window:

"def_attach5"  "[entity name]"
"pos_attach5"  "[attachment point name]" 

The number is arbitrary. As long as both lines have the same number, you could use 999. Best to stay away from numbers 1-5, however, as some AI come with default props (pauldrons, weapons, etc), and you could overwrite them.

[entity name] is the entity that you want to attach, like "atdm:prop_torch_gothic_on". You can find a list of preset attachable objects in prop_items.def and prop_wearable_items.def. Or see the quick list below.

[attachment point name] is the name of the predefined point you want to attach the object to, like "hand_l". See the list of preset attachment points below.

This image indicates some common attachment points. You can cut and paste the names below:


1. "hip_sheath_l"

This is designed for sheathed weapons on the hip.

2. "hand_l"

The left hand, used for torches, bottles, etc. You can attach a weapon to this hand but AI will not attack with it.

3. "belt_back_right"

This is on the back of the belt on the right hand side, designed for purses, keys, or other things players may want to pickpocket.

4. "hand_r"

The right hand. Generally reserved for weapon use.

5. "slung_across_back_rl"

This is primarily used for weapons worn on the back, like hammers or bows.

List of Attachable Objects

The following are prop entities already created for def_attaching. You can cut and paste these into the entity window in DR. You may need to change the number to something unique.

For information on making new attachment points, or positioning new entities, see Attachment Positions.


"def_attach5"  "atdm:prop_torch_on"        // a regular, lit torch
"pos_attach5"  "hand_l"
"def_attach5"   "atdm:prop_torch_gothic_on"     // a lit torch with a cage
"pos_attach5"  "hand_l"
"def_attach5"   "atdm:prop_lantern_on"       // a brass oil lantern
"pos_attach5"  "hand_l"
"def_attach5"   "atdm:prop_lantern02_on"       // an alternate metal oil lantern
"pos_attach5"  "hand_l"

Belt Objects

"def_attach6"  "atdm:prop_lootbag"  // used for loot
"pos_attach6"  "belt_back_right"
"def_attach6"   "atdm:prop_belt_pouch"  // used for decoration
"pos_attach6"   "belt_back_right"
"def_attach6"   "atdm:prop_key_gold"
"pos_attach6"   "belt_back_right"
"def_attach6"   "atdm:prop_key_silver"
"pos_attach6"  "belt_back_right"
"def_attach6"   "atdm:prop_key_padlock"
"pos_attach6"  "belt_back_right"
"def_attach6"   "atdm:prop_key_simple"
"pos_attach6"  "belt_back_right"
"def_attach6"   "atdm:prop_key_fancy01"
"pos_attach6"  "belt_back_right"
"def_attach6"   "atdm:prop_potion_healing"      // for pick-pocketing; AI will not use it.
"pos_attach6"  "belt_back_right"
"def_attach6"   "atdm:prop_smithyhammer"  // a simple work hammer, decorative only atm
"pos_attach6"  "hip_sheath_l"

== Example, attaching a key to an AI == (bikerdude)

"def_attach6" "atdm:prop_silverkey"
"pos_attach6" "belt_back_right"
"name_attach6" "gate_key"
"set inv_name on gate_key" "gate key"
"set name on gate_key" "gate_key"

More info can be found on the following thread - http://forums.thedarkmod.com/topic/13084-ai-attach-keys/


"def_attach5"   "atdm:prop_halberd"  // a long halberd; decorative only--dropped when AI alerted
"pos_attach5"   "hand_l"
"def_attach5"   "atdm:prop_winebottle"  // AI holds bottle and occasionally drinks from it
"pos_attach5"   "hand_l"
"def_attach5"   "atdm:prop_cards"  // AI holds hand of cards and occasionally draws another one.  For use when sitting.
"pos_attach5"   "hand_l"


Benefits: You can bind any object to an AI, so it is a great deal more flexible. You can also see and position the object in DR.

Weaknesses: Bound objects cannot affect AI animations. You must adjust each object individually.

See BindToJoint for more info.

See Attaching Items for more info on using bind.