—-
—-
This is an old revision of the document!
As the tool only does things in Eden only but you need to “gain access” to the emitters while your scenario is running, like deleting or otherwise manipulating the emitters or their parameters, you need to rely on some functions that need to be copy/pasted into your scenario folder and stuff added into your description.ext file, exactly as is.
Where the functions are located depends on your download method:
The folder HNEG_emed_scenario_functions has to be copied into your scenario exactly directory as is.
So your scenario directory would look something like this:
Once the folder is copy/pasted in to the scenario directory the easiest way you can gain access to the functions by defining them in the description.ext CfgFunctions.
There are two ways to do this depending if you already have CfgFunctions in your description.ext or not.
If you DO NOT have CfgFunctions defined you can copy/paste the following into your description.ext:
class CfgFunctions { #include "HNEG_emed_scenario_functions\HNEG_emed_scenario_functions.hpp" };
If you DO have CfgFunctions already defined, just copy/paste the following “into” it:
#include "HNEG_emed_scenario_functions\HNEG_emed_scenario_functions.hpp"
Each function needs the prefix HNEG_fnc_ when called, as in for example call HNEG_fnc_allEmitters
Returns all the emitters in the scenario inserted via this tool.
NOTE that this is heavy on performance.
Arguments:
Returns:
Usage:
call HNEG_fnc_allEmitters
Returns the names of all the emitters inserted via this tool.
NOTE that this is heavy on performance.
Arguments:
Returns:
Usage:
call HNEG_fnc_allEmittersNames
Attaches emitter inserted via this tool to some object.
Optional position offset or selection, or [selection, pos offset] can be passed.
Arguments:
Returns:
Usage:
//attach the emitter to the object center/rotation center in model space [_emtr1, _helo] call HNEG_fnc_attachEmitter; //attach the emitter to the object center/rotation center in model space ["particle_emitter_6", _helo] call HNEG_fnc_attachEmitter; //attach the emitter to the object center/rotation center model space, with position offset ["particle_emitter_6", _helo, [0, 0, -5]] call HNEG_fnc_attachEmitter; //attach the emitter to the object model selection "head" ["particle_emitter_6", _man1, "head"] call HNEG_fnc_attachEmitter; //attaches the emitter to the object model selection "head" with position offset (from the selection) ["particle_emitter_6", _man1, ["head", [0, 0.3, 0.4]]] call HNEG_fnc_attachEmitter;
Same as above but for emitter sets, only difference is that accepts emitter set object array as input.
Arguments:
Returns:
Usage:
//attach the emitter set the given emitter belongs to the object center/rotation center in model space [_emtr1, _helo] call HNEG_fnc_attachEmitter; //attach the given emitter set to the object model selection "head" with position offset (from the selection) ["particle_emitter_6", _man1, ["head", [0, 0.3, 0.4]]] call HNEG_fnc_attachEmitterSet;
Deletes given emitter by name or by the object name it's attached to.
Arguments:
Returns:
Usage:
"particle_emitter_6" call HNEG_fnc_deleteEmitter; //deletes emitter with the name "particle_emitter_6" e_car1 call HNEG_fnc_deleteEmitter; //deletes emitter(s) attached to an object named e_car1
Deletes all emitters inserted by Emitter 3Ditor in the scenario.
Arguments:
Returns:
Usage:
call HNEG_fnc_deleteAllEmitters; //deletes all emitters
TODO: function doesn't exist
Deletes given emitter set either by any emitter/emitter name in the set, or by the object the set is attached to.
Arguments:
Returns:
Usage:
//TODO
Detaches given emitter if attached to some entity.
Arguments:
* OBJECT (emitter) or STRING (emitter name)
Returns:
* nothing
Usage:
_emtr1 call HNEG_fnc_detachEmitter; "particle_emitter_6" call HNEG_fnc_detachemitter;
Same as above but for detaching whole emitter sets. Only difference is that accepts emitter set object array as input.
Arguments:
Returns:
Usage:
_emtr1 call HNEG_fnc_detachEmitterSet; "particle_emitter_6" call HNEG_fnc_detachemitterSet; _emtrSet1 call HNEG_fnc_detachEmitterSet;
Find an emitter by name.
Arguments:
Returns:
Usage:
"poop_schute" call HNEG_fnc_findEmitter
TODO: IR and direction stuff
Returns all the parameters for given emitter.
Arguments:
Returns (depending on emitter type):
all particle params (ARRAY) in format:
[ <particle params> (ARRAY), <particle random> (ARRAY), <particle circle> (ARRAY), <particle fire> (ARRAY), <drop interval> (NUMBER) ]
all light params (ARRAY) in format:
[ <color> (ARRAY), <emissive color> (ARRAY), <intensity> (NUMBER), <useFlare> (BOOL), <flareSize> (NUMBER), <flareMaxDistance> (NUMBER), <dayLight> (BOOL), <attenuation> (ARRAY) ]
Usage:
_emtr1 call HNEG_fnc_getAllEmitterParams; "effing_awesome_particle" call HNEG_fnc_getAllEmitterParams;
Returns the whole emitter set if given emitter belongs to one.
NOTE that this is quite heavy on performance.
Arguments:
Returns:
Usage:
_emtr1 call HNEG_fnc_getEmitterSet; "some_emitter" call HNEG_fnc_getEmitterSet;
Returns the emitter types for the whole emitter set if given emitter belongs to one.
NOTE that this is quite heavy on performance.
Arguments:
Returns:
Usage:
_emtr1 call HNEG_fnc_getEmitterSetTypes; "some_emitter" call HNEG_fnc_getEmitterSetTypes;
Returns the attenuation data of the given light emitter, used with setLightAttenuation
Arguments:
Returns:
Usage:
_light1 call HNEG_fnc_getLightAttenuation; "pink_light" call HNEG_fnc_getLightAttenuation;
Returns the color data of the given light emitter, used with setLightColor
Arguments:
Returns:
Usage:
_light1 call HNEG_fnc_getLightColor; "pink_light" call HNEG_fnc_getLightColor;
Returns the dayLight boolean value (true/false) of the given light emitter, used with setLightDayLight
Arguments:
Returns:
Usage:
_light1 call HNEG_fnc_getLightDayLight; "pink_light" call HNEG_fnc_getLightDayLight;
Returns the emissive color data of the given light emitter, used with setLightEmissiveColor
Arguments:
Returns:
Usage:
_light1 call HNEG_fnc_getLightEmissiveColor; "pink_light" call HNEG_fnc_getLightEmissiveColor;