4.2 KiB
layout | title | description | group | order | parent | mod | version | ||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
wiki | Medical Treatment Framework | Explains extending the treatment system for developers. | framework | 5 | wiki | ace |
|
1. Config Values
1.1 Vehicle Patient Seats
Defines the seats that will be prioritized when loading patients into vehicles. Uses moveInCargo
indexes.
class CfgVehicles {
class MyCar {
ace_medical_treatment_patientSeats[] = {3,4};
};
};
1.2 Patient Reverse Fill
When no patient seats are available, by default patients will be filled from the highest cargo index to the lowest. This can be changed to fill from the lowest to the highest.
class CfgVehicles {
class MyCar {
ace_medical_treatment_patientReverseFill = 0;
};
};
1.3 Treatment Items
Items in CfgWeapons
with ACE_isMedicalItem
property will be added to the ACE Medical category in the ACE Arsenal.
class CfgWeapons {
class MyMedicalItem {
ACE_isMedicalItem = 1;
};
};
Required items in ACE_Medical_Treatment_Actions
will also be added as a fallback.
class ACE_Medical_Treatment_Actions {
class MyCustomTreatment {
items[] = {"MyMedicalItem"};
};
};
2. Medical Vehicles and Facilities
2.1 Medical Vehicles
To configure a vehicle as a Medical Vehicle by default, set the attendant
property in the vehicle's config to 1
.
class CfgVehicles {
class MyAmbulance {
attendant = 1;
};
};
To set a vehicle as a Medical Vehicle mid-mission, set the ace_medical_isMedicalVehicle
variable globally.
// Sets the object behind your cursor to be a medical vehicle
cursorObject setVariable ["ace_medical_isMedicalVehicle", true, true];
// Create an interaction to turn a vehicle into a medical vehicle
private _statement = {_target setVariable ["ace_medical_isMedicalVehicle", true, true]};
private _action = ["TAG_makeMedicalVehicle", "Set as Medical Vehicle", _statement, {!([_target] call ace_medical_treatment_fnc_isMedicalVehicle)}] call ace_interact_menu_fnc_createAction;
[cursorObject, 0, ["ACE_MainActions"], _action] call ace_interact_menu_fnc_createAction;
// Set all vehicles of type "B_Truck_01_transport_F" as medical vehicles
private _classname = "B_Truck_01_transport_F";
private _affectChildClasses = false; // Affect variants of this vehicle
["B_Truck_01_transport_F", "InitPost", {
params ["_vehicle"];
if (!local _vehicle) exitWith {};
_vehicle setVariable ["ace_medical_isMedicalVehicle", true, true];
}, _affectChildClasses, [], true] call CBA_fnc_addClassEventHandler;
2.2 Medical Facilities
To configure an object as a Medical Facility by default, add a new array containing its classname to the ace_medical_facilities
class in config root.
class CfgVehicles {
class ThingX;
class MyMedicalFacility: ThingX {};
class MyMedicalFacility2_ElectricBoogaloo: MyMedicalFacility {};
};
class ace_medical_facilities {
TAG_allOfMyFacilities[] = {"MyMedicalFacility", "MyMedicalFacility2_ElectricBoogaloo"};
};
To set an object as a Medical Facility mid-mission, set the ace_medical_isMedicalFacility
variable globally. See above.
Both Medical Facilities and Medical Vehicles can also be created via the Eden Editor's attributes menu.
3. Mission Variables
3.1 Grave Digging Object Configuration
The object created when digging a grave can be modified by setting the ace_medical_treatment_graveClassname
variable.
ace_medical_treatment_graveClassname = "Land_Grave_11_F"; // classname, e.g. unmarked gravel (no headstone OR check actions)
The object's rotation can also be modified, if necessary.
ace_medical_treatment_graveRotation = 0; // rotation angle (will depend on model classname)
3.2 Zeus Medical Menu Module
If a mission maker wishes to disable Zeus access to the medical menu, they can set the variable below:
ace_medical_gui_enableZeusModule = false; // default is true
3.3 SpO2 Configuration
If 3rd party mods want to disable SpO2 being set to a minimum upon successful CPR, they can set the variable below:
ace_medical_treatment_setSpO2UponCPRSuccess = false; // default is true