ACE3/docs/wiki/framework/attach-framework.md
PabstMirror 6572422ec7
Doc - Try to fix framework-attach event list (#10212)
* Doc - Try to fix framework-attach event list

* Update docs/wiki/framework/attach-framework.md

Co-authored-by: johnb432 <58661205+johnb432@users.noreply.github.com>

---------

Co-authored-by: johnb432 <58661205+johnb432@users.noreply.github.com>
2024-08-16 12:58:13 -05:00

2.2 KiB

layout title description group order parent mod version
wiki Attach Framework Explains how to add items to the ACE Attach Framework. framework 0 wiki ace
major minor patch
3 17 0

1. Config Values

1.1 Make item attachable

An item can be added to the ACE Attach framework by adding the ACE_attachable property to a class in CfgWeapons or CfgMagazines. The value must be the classname of a valid class in CfgVehicles:

class CfgWeapons {
    class attach_item: CBA_MiscItem {
        ACE_attachable = "new_attachable_item_classname";
    };
};

class CfgVehicles {
    class ThingX;
    class new_attachable_item_classname: ThingX {
        scope = 1; // Should be 1 (private) or 2 (public), scope 0 will cause errors on object creation
        displayName = "New ACE attachable item";
        model = "\path\to\my\model.p3d";
        vehicleClass = "";
    };
};

1.2 Define attach orientation for non-symmetric items

In the case the item needs to have a particular orientation when attached, add the config value: ace_attach_orientation which is an array describing the roll and yaw orientation of the object. The default value is: [0,0].

Example:

class CfgWeapons {
    class attach_item: CBA_MiscItem {
        ACE_attachable = "new_attachable_item_classname";
        ace_attach_orientation[] = {0,180}; // 180deg yaw
    };
};

2. Event Handlers

2.1 Listenable Events

Event Key Parameters Locality Type Description
ace_attach_attached [_attachedObject, _itemClassname, _temporary] Local Listen After an item was attached to a unit/vehicle. _temporary flag means a item is being re-attached after the player exits a vehicle
ace_attach_detaching [_attachedObject, _itemName, _temporary] Local Listen Just before an item gets detached/removed from a unit/vehicle. _temporary flag means its detached because the player unit entered a vehicle.

2.2 Other events for attached objects

Use CBA Extended Event Handlers. Note that objects attached to units will be deleted/created upon entering/exiting vehicles and should be handled accordingly.