Files
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
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.