Eden Editor: Configuring Attributes: Difference between revisions
Jump to navigation
Jump to search
mNo edit summary |
mNo edit summary |
||
Line 22: | Line 22: | ||
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) | 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" | validate = "code"; // Validate the value before saving. Can be "none", "expression", "condition", "number" or "variable" | ||
condition = "object"; // Condition for attribute to appear | condition = "object"; // Condition for attribute to appear (see the table below) | ||
// Expression called when applying the attribute in Eden and at the scenario start | // 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 | // Entity is passed as _this, value is passed as _value, property name is passed as _property | ||
Line 41: | Line 41: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
=== Conditions === | === Conditions === | ||
Conditions are written as [[Simple Expression|simple expressions]]. | |||
Example: | |||
objectBrain * (1 - objectDestructable) | |||
Object must be indestructible AI character (theoretical example, no such object exists in unmodded game). | |||
'''Supported conditions:''' | |||
{| class="wikitable sortable" | |||
! Condition | |||
! class="unsortable" | For Type | |||
! class="unsortable" | Description | |||
|- | |||
| <!-- Condition --> objectBrain | |||
| <!-- Type --> Object | |||
| <!-- Description -->Object with simulation "soldier" or "UAVpilot" | |||
|- | |||
| <!-- Condition --> objectControllable | |||
| <!-- Type --> Object | |||
| <!-- Description -->Object with simulation "soldier" | |||
|- | |||
| <!-- Condition --> objectAgent | |||
| <!-- Type --> Object | |||
| <!-- Description --> Object with non-empty ''agentTasks[]'', i.e., animals | |||
|- | |||
| <!-- Condition --> objectVehicle | |||
| <!-- Type --> Object | |||
| <!-- Description -->Vehicle which can be boarded | |||
|- | |||
| <!-- Condition --> objectSimulated | |||
| <!-- Type --> Object | |||
| <!-- Description --> Object which is simulated (e.g., falls down when in the air) | |||
|- | |||
| <!-- Condition --> objectDestructable | |||
| <!-- Type --> Object | |||
| <!-- Description -->Indestructible object, i.e., when ''destrType'' config property set not ''DestructNo'' | |||
|- | |||
| <!-- Condition --> logicModule | |||
| <!-- Type --> Logic | |||
| <!-- Description -->Logic which is a module (''vehicleClass'' config property is ''"Modules"'') | |||
|} | |||
=== Lists === | === Lists === | ||
=== Data Validation === | === Data Validation === |
Revision as of 15:58, 3 November 2015
Config
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";
};
};
};
};
};
};
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") |