A flare/chemlight booster. 😄
If someday gets dark you definitely wants to check it out.
Looks very cool 😄
Â
usage:
place scripts directory in your mission root directory
add lines in:
Â
init.sqf
if (hasInterface) then {
chemlight_brg = 0.3; //Brightness of the chemlights
flare_brg = 2.5; //Brightness of flares
0 = [] spawn compile preprocessFileLineNumbers "scripts\dazzle_the_darkness\dazzle_the_darkness.sqf";
};
Â
Â
Â
scripts overwiev:
dazzle_the_darkness
/*
by DaVidoSS
dazzle_the_darkness
Adds firedMan EH
usage:
place scripts directory in your mission root directory
add lines in:
init.sqf
if (hasInterface) then {
chemlight_brg = 0.3; //Brightness of the chemlights
flare_brg = 2.5; //Brightness of flares
0 = [] spawn compile preprocessFileLineNumbers "scripts\dazzle_the_darkness\dazzle_the_darkness.sqf";
};
*/
if (hasInterface) then {
fn_setLight = compileFinal preprocessFileLineNumbers "scripts\dazzle_the_darkness\functions\setLight.sqf";
fn_upgradeLight = compileFinal preprocessFileLineNumbers "scripts\dazzle_the_darkness\functions\upgradeLight.sqf";
player addEventHandler ["FiredMan",{
params ["_unit", "_weapon", "_muzzle", "_mode", "_ammo", "_magazine", "_projectile", "_vehicle"];
private _lightSources = [
toLower "F_40mm_White",
toLower "F_40mm_Red",
toLower "F_40mm_Yellow",
toLower "F_40mm_Green",
toLower "Chemlight_green",
toLower "Chemlight_red",
toLower "Chemlight_blue",
toLower "Chemlight_yellow"
];
if ((toLower (typeOf _projectile)) in _lightSources) then {
0 = [_projectile] spawn fn_upgradeLight;
};
}];
};
Â
fn_setLight
/*
by DaVidoSS
fn_setLight
Set of adjustments to the light according to the parameters passed
param:
0 - object , lightpoint
1 - nummber, lightpoint size
2 - nummber, light intensity
3 - array, color
returns - void
*/
params [["_light",objNull,[objNull]], ["_flareSize",300,[0]], ["_flareBrightness",0.2,[0]], ["_flareColor",[1,1,1],[[]]]];
if (isNull _light) exitWith {};
_light setLightFlareSize _flareSize;
_light setLightBrightness _flareBrightness;
_light setLightColor _flareColor;
_light setLightAmbient _flareColor;
Â
fn_upgradeLight
/*
by DaVidoSS
fn_upgradeLight
Detecting projectile type and customize its parameters
param:
0 - object , projectile
returns - void
*/
params [["_flare",objNull,[objNull]]];
if (isNull _flare) exitWith {};
private _lightAmmo = [
[toLower "Chemlight_green",300,chemlight_brg,[0,1,0]],
[toLower "Chemlight_red",300,chemlight_brg,[1,0,0]],
[toLower "Chemlight_blue",300,chemlight_brg,[0,0,1]],
[toLower "Chemlight_yellow",300,chemlight_brg,[1,1,0]],
[toLower "F_40mm_White",1000,flare_brg,[1,1,1]],
[toLower "F_40mm_Red",1000,flare_brg,[1,0,0]],
[toLower "F_40mm_Yellow",1000,flare_brg,[1,1,0]],
[toLower "F_40mm_Green",1000,flare_brg,[0,1,0]]
];
private _getidx = ([_lightAmmo , toLower (typeOf _flare)] call BIS_fnc_findNestedElement) # 0;
private _size = _lightAmmo # _getidx # 1;
private _brth = _lightAmmo # _getidx # 2;
private _color = _lightAmmo # _getidx # 3;
private _light = "#lightpoint" createVehicle (position _flare);
0 = [_light, [_flare, [0,0,0]]] remoteExecCall ["lightAttachObject", [0,-2] select isDedicated, _light];
0 = [_light, _size, _brth, _color] remoteExecCall ["fn_setLight", [0,-2] select isDedicated, _light];
0 = [_flare,_light] spawn {
params [["_flare",objNull,[objNull]],["_light",objNull,[objNull]]];
waitUntil {sleep 1; isNull _flare};
deleteVehicle _light;
};
Â
Dazzle_the_darkness