private ["_veh","_lightRed","_lightWhite","_lightBlue","_lightsOn","_brightnessHigh","_brightnessLow","_attach","_leftLights","_rightLights","_type","_attenuation"]; _veh = (_this select 0); _type = typeOf _veh; _sun = (sunOrMoon < 1); if (isNil "_veh" || isNull _veh || !(_veh getVariable "lights")) exitWith {}; _lightRed = [255, 0, 0]; _lightWhite = [255, 255, 255]; _lightBlue = [0, 0, 255]; if (_sun) then { _brightnessLow = 0; _brightnessHigh = 10; _attenuation = [0.001, 3000, 0, 125000]; } else { _brightnessLow = 0; _brightnessHigh = 60; _attenuation = [0.001, 3000, 0, 500000]; }; _flashes = 3; _flashOn = 0.1; _flashOff = 0.001; _leftLights = []; _rightLights = []; _attach = { _isLight = _this select 0; _color = _this select 1; _position = _this select 2; _light = "#lightpoint" createVehicleLocal getPos _veh; _light setLightBrightness 0; _light setLightAmbient [0,0,0]; _light setLightAttenuation _attenuation; _light setLightIntensity 1000; _light setLightFlareSize 1; _light setLightFlareMaxDistance 150; _light setLightUseFlare true; _light setLightDayLight true; switch (_color) do { case "red": { _light setLightColor _lightRed; }; case "white": { _light setLightColor _lightWhite; }; case "blue": { _light setLightColor _lightBlue; }; }; if (_isLight) then { _leftLights pushBack [_light, _position]; } else { _rightLights pushBack [_light, _position]; }; _light lightAttachObject [_veh, _position]; }; switch (_type) do { case "C_Offroad_01_F": { }; case "C_SUV_01_F": { }; case "C_Hatchback_01_sport_F": { }; case "C_Hatchback_01_F": { }; case "B_MRAP_01_F": { }; case "C_Van_01_box_F": { }; case "I_MRAP_03_F": { }; case "O_MRAP_02_F": { }; }; _lightsOn = true; while {(alive _veh)} do { if (!(_veh getVariable "lights")) exitWith {}; if (_lightsOn) then { for [{_i=0}, {_i<_flashes}, {_i=_i+1}] do { { (_x select 0) setLightBrightness _brightnessHigh; } forEach _leftLights; uiSleep _flashOn; { (_x select 0) setLightBrightness _brightnessLow; } forEach _leftLights; uiSleep _flashOff; }; { (_x select 0) setLightBrightness 0; } forEach _leftLights; for [{_i=0}, {_i<_flashes}, {_i=_i+1}] do { { (_x select 0) setLightBrightness _brightnessHigh; } forEach _rightLights; uiSleep _flashOn; { (_x select 0) setLightBrightness _brightnessLow; } forEach _rightLights; uiSleep _flashOff; }; { (_x select 0) setLightBrightness 0; } forEach _rightLights; }; }; { deleteVehicle (_x select 0) } foreach _leftLights; { deleteVehicle (_x select 0) } foreach _rightLights; _leftLights = []; _rightLights = [];