Eden Editor: Configuring Attributes: Difference between revisions
Jump to navigation
Jump to search
m (Str moved page Eden Editor: Entity Attributes: Modding to Eden Editor: Attributes: Modding) |
mNo edit summary |
||
Line 1: | Line 1: | ||
=== | {{Important|Work In progress}} | ||
== Config == | |||
=== Global === | |||
<syntaxhighlight lang="cpp">class Cfg3DEN | <syntaxhighlight lang="cpp">class Cfg3DEN | ||
{ | { | ||
Line 40: | Line 43: | ||
}; | }; | ||
</syntaxhighlight> | </syntaxhighlight> | ||
=== Conditions | === Entity Specific === | ||
* CfgVehicles | |||
* CfgNonAIVehicles | |||
* CfgWaypoints | |||
* CfgMarkers | |||
<syntaxhighlight lang="cpp">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... | |||
}; | |||
}; | |||
}; | |||
}; | |||
</syntaxhighlight> | |||
=== Scenario Specific === | |||
== Conditions == | |||
Conditions are written as [[Simple Expression|simple expressions]]. | Conditions are written as [[Simple Expression|simple expressions]]. | ||
Example: | Example: | ||
Line 80: | Line 105: | ||
| <!-- Description -->Logic which is a module (''vehicleClass'' config property is ''"Modules"'') | | <!-- Description -->Logic which is a module (''vehicleClass'' config property is ''"Modules"'') | ||
|} | |} | ||
== Lists == | |||
== Data Validation == | |||
== Scripting Commands == | == Scripting Commands == |
Revision as of 16:05, 3 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...
};
};
};
};
Scenario Specific
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") |