From Bohemia Interactive Community
Jump to navigation Jump to search
Hover & click on the images for description


Execute a block of code in which all Eden Editor operations will be recorded as one history step. For example creating an entity, setting its attributes and then connections would normally be recorded as three different steps. Calling them all within single collect3DENHistory block will group them together and the user will need to undo only once to revert the changes.
In order to only change the 2nd or 3rd parameter of the alternative syntax use nil as the preceding parameters.

Some useful icons are: Show texture paths

Eden Editor


collect3DENHistory code
code: Code - Code that is executed in Unscheduled Environment
Return Value:

Alternative Syntax

[text, tooltip, icon] collect3DENHistory code
text: String - text of the entry that is added to the history list
tooltip: String - (Optional, default "Batch Change" (localized)) - tooltip of the entry
icon: String - (Optional, default "a3\3den\data\cfg3den\history\multipleoperations_ca.paa") - path to the icon that is displayed left of the text. Must not start with a \!
code: Code - Code that is executed in Unscheduled Environment
Return Value:


Example 1:
collect3DENHistory { _logic = create3DENEntity ["Logic", "Logic", position player]; add3DENConnection ["Sync", [_logic], player ]; }; // Creates a logic and connects it to player in one history step.
Example 2:
["Create Entity", "B_Soldier_F", "a3\3den\data\cfg3den\history\create_ca.paa"] collect3DENHistory { create3DENEntity ["Object","B_Soldier_F", screenToWorld [0.5,0.5]]; };
Example 3:
[nil, nil, "a3\3den\data\cfg3den\history\moveitems_ca.paa"] collect3DENHistory { create3DENEntity ["Object","B_Soldier_F", screenToWorld [0.5,0.5]]; }; // Change only the icon

Additional Information

See also:
add3DENConnection create3DENComposition create3DENEntity delete3DENEntities do3DENAction remove3DENConnection set3DENAttributes set3DENObjectType


Report bugs on the Feedback Tracker and/or discuss them on the Arma Discord or on the Forums.
Only post proven facts here! Add Note
Posted on Oct 26, 2020 - 01:15 (UTC)
Contrary to other code block structures (call, if/then/exitWith, switch/case/default, etc.) the code block of collect3DENHistory will not return any value:
_unit = collect3DENHistory { create3DENEntity ["Object", "C_Protagonist_VR_F", screenToWorld [0.5, 0.5]]; }; _unit // <null>