Eden Editor: Configuring Attributes: Difference between revisions
Categories: Eden EditorEden Editor: Modding
| mNo edit summary | mNo edit summary | ||
| Line 63: | Line 63: | ||
| }; | }; | ||
| </syntaxhighlight> | </syntaxhighlight> | ||
| == Presets == | == Presets == | ||
| * CfgVehicles | |||
| * CfgNonAIVehicles | |||
| * CfgWaypoints | |||
| * CfgMarkers | |||
| <syntaxhighlight lang="cpp">class CfgNonAIVehicles | |||
| { | |||
| 	class MyTrigger | |||
| 	{ | |||
| 		class AttributeValues | |||
| 		{ | |||
| 			sizeA = 0; // Property name match the attribute name | |||
| 			sizeB = 0; | |||
| 		}; | |||
| 	}; | |||
| }; | |||
| </syntaxhighlight> | |||
| == Conditions == | == Conditions == | ||
| Line 107: | Line 122: | ||
| | <!-- Description -->Logic which is a module (''vehicleClass'' config property is ''"Modules"'') | | <!-- Description -->Logic which is a module (''vehicleClass'' config property is ''"Modules"'') | ||
| |} | |} | ||
| ==  | == User Interface Controls == | ||
| == Data Validation == | == Data Validation == | ||
Revision as of 16:55, 4 November 2015
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...
			};
		};
	};
};
Presets
- CfgVehicles
- CfgNonAIVehicles
- CfgWaypoints
- CfgMarkers
class CfgNonAIVehicles
{
	class MyTrigger
	{
		class AttributeValues
		{
			sizeA = 0; // Property name match the attribute name
			sizeB = 0;
		};
	};
};
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") | 
