User Tools

Site Tools


attach_points

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
attach_points [2020/09/26 21:12] justinattach_points [2022/05/09 15:06] (current) justin
Line 26: Line 26:
  
 =====Scripting with Attach Points===== =====Scripting with Attach Points=====
-Once you've set up any necessary attach points for your [[object|objects]] and the models to which they will be attached, you can use the [[Attach Object]] scripting function to trigger an [[object]] to be attached to a target [[entity]], for example to attach a torch to a wall tile when the player interacts with it.+Once you've set up any necessary attach points for your [[object|objects]] and the models to which they will be attached, you can use the [[Attach Object]] scripting function to trigger an [[object]] to be attached to a target [[entity]] in-game, for example to attach a torch to a wall tile when the player interacts with it.
  
 +The example below will attach the "sword" [[object]] model's "handle" attach point to the player's "right_hand" attach point.
 <code bauxite> <code bauxite>
-attach_object("sword", player, "handle", "right_hand")+attach_object("sword", player, "handle", "right_hand");
 </code> </code>
  
 +Alternately, you can create attach points for the sword [[object]] and player [[character]] using the same ID (e.g. "hand") and leave out the function's fourth parameter.
 <code bauxite> <code bauxite>
-attach_object("sword", player, "hand")+attach_object("sword", player, "hand");
 </code> </code>
  
 +To detach a previously attached [[object]], you can use the [[Detach Object]] scripting function, for example to remove a book from a table when the player interacts with the table.
 +
 +The example below will detach the [[object]] currently attached to the player's "right_hand" attach point.
 <code bauxite> <code bauxite>
-detach_object(player, "right_hand")+detach_object(player, "right_hand")
 +</code> 
 + 
 +You can reference the [[object]] that's currently attached to an attach point using the "attachment" property with the desired attach point ID. In the example below, the "glow" [[animation]] will be played for the [[object]] attached to the player's "right_hand" attach point. 
 +<code bauxite> 
 +play_animation(player.attachment["right_hand"], "glow");
 </code> </code>
  
 =====Equipment===== =====Equipment=====
 +Although most of the equipment system is yet to be implemented, there is some experimental functionality that can be used to automatically attach models to a character whenever an item is equipped. The steps below can be followed to create an equippable item with a corresponding [[object]] model.
  
-Automatic attaching based on attach point ID when an item is equipped and an object model is assigned to that item)+1) Toggle the "Equippable" setting to "On" for the [[item]] in the [[Item Editor]].
  
-Steps to follow:+2) Assign an [[object]] model to the [[item]] in the [[Item Editor]].
  
-- Toggle "Equippable" to "On" for the item in the Item Editor+3) Create an attach point for both the [[character]] and [[object]] that matches the equipment slot ID (e.g. "right_hand").
  
-- Assign an "Object Model" to the item in the Item Editor+4) Call the [[Equip Item]] scripting function to equip the [[item]] to the appropriate slot (e.g. "right_hand") and the [[object]] will automatically be attached to the corresponding attach point.
  
-- Create an attach point for both the character and object that match the equipment slot ID (e.g. "right_hand")+<code bauxite> 
 +equip_item(player, "right_hand", "ITEM_0001")
 +</code>
  
-- Call "equip_item" scripting function to equip the item to the appropriate slot (e.g. "right_hand"and object will automatically be attached to the corresponding attach point+With this setup, calling the [[Unequip Item]] scripting function will automatically detach the [[object]] model associated with the [[item]] that is unequipped. 
 + 
 +<code bauxite> 
 +unequip_item(player, "right_hand")
 +</code>
  
 ~~NOTOC~~ ~~NOTOC~~
attach_points.1601179961.txt.gz · Last modified: 2020/09/26 21:12 by justin