Eden Editor: Configuring Attributes
Categories: Eden EditorEden Editor: Modding
Config
Global
class Cfg3DEN
{
	// Configuration of all objects
	class Object
	{
		// Categories collapsible in "Edit Attributes" window
		class AttributeCategories
		{
			// Category class, can be anything
			class MyCategory
			{
				displayName = "Object Init"; // Category name visible in Edit Attributes window
				collapsed = 1; // When 1, the category is collapsed by default
				class Attributes
				{
					// Attribute class, can be anything
					class MyAttribute
					{
						property = "MyAttribute"; // Unique config property name saved in SQM
						control = "Edit"; // UI control base class displayed in Edit Attributes window, points to Cfg3DEN >> Attributes
						unique = 0; // When 1, only one entity of the type can have the value in the mission (used for example for variable names or player control)
						validate = "code"; // Validate the value before saving. Can be "none", "expression", "condition", "number" or "variable"
						condition = "object"; // Condition for attribute to appear (see the table below)
						// Expression called when applying the attribute in Eden and at the scenario start
						// Entity is passed as _this, value is passed as _value, property name is passed as _property
						// %s is replaced by attribute config name. It can be used only once in the expression
						expression = "_this setVariable [%s,_value];";
						// Expression called when custom property is undefined yet (i.e., when setting the attribute for the first time)
						// Entity is passed as _this
						// Returned value is the default value
						// Used when no value is returned, or when it's of other type than NUMBER, STRING or ARRAY
						// Custom attributes of logic entities (e.g., modules) are saved always, even when they have default value
						defaultValue = "42";
					};
				};
			};
		};
	};
};
Entity Specific
- CfgVehicles
- CfgNonAIVehicles
- CfgWaypoints
- CfgMarkers
class CfgVehicles
{
	class B_Soldier_F;
	class MyEntity: Soldier_F // Your entity class
	{
		class Attributes // Entity attributes have no categories, they are all defined directly in class Attributes
		{
			class MyEntityAttribute
			{
				// ... attribute properties, see above...
			};
		};
	};
};
Scenario Specific
Presets
Conditions
Conditions are written as simple expressions. Example:
objectBrain * (1 - objectDestructable)
Object must be indestructible AI character (theoretical example, no such object exists in unmodded game).
Supported conditions:
| Condition | For Type | Description | 
|---|---|---|
| objectBrain | Object | Object with simulation "soldier" or "UAVpilot" | 
| objectControllable | Object | Object with simulation "soldier" | 
| objectAgent | Object | Object with non-empty agentTasks[], i.e., animals | 
| objectVehicle | Object | Vehicle which can be boarded | 
| objectSimulated | Object | Object which is simulated (e.g., falls down when in the air) | 
| objectDestructable | Object | Indestructible object, i.e., when destrType config property set not DestructNo | 
| logicModule | Logic | Logic which is a module (vehicleClass config property is "Modules") | 
