ACE3/addons/map/functions/fnc_flashlightGlow.sqf

47 lines
1.2 KiB
Plaintext
Raw Normal View History

2015-08-11 17:49:39 +00:00
/*
* Author: voiper
* Add or remove global flashlight glow for when player is looking at map.
*
* Arguments:
* 0: Unit <OBJECT>
* 1: Flashlight classname ("" for off) <STRING>
* 2: Set the PVAR? <BOOL> (default: true)
2015-08-11 17:49:39 +00:00
*
2016-06-18 09:50:41 +00:00
* Return Value:
* Glow object <OBJECT>
2015-08-11 17:49:39 +00:00
*
* Example:
* [ACE_player, "ACE_Flashlight_MX991"] call ace_map_fnc_flashlightGlow;
2015-08-11 17:49:39 +00:00
*
* Public: No
*/
#include "script_component.hpp"
params ["_unit", "_flashlightType", ["_set", true]];
2015-08-11 17:49:39 +00:00
private _unitLight = _unit getVariable [QGVAR(flashlight), ["", objNull]];
_unitLight params ["_flashlight", "_glow"];
if (!isNull _glow) then {
detach _glow;
deleteVehicle _glow;
};
2015-08-11 17:49:39 +00:00
if !(_flashlightType isEqualTo "") then {
private _color = getText (configFile >> "CfgWeapons" >> _flashlightType >> "ItemInfo" >> "FlashLight" >> "ACE_Flashlight_Colour");
if !(_color in ["white", "red", "green", "blue", "yellow", "orange"]) then {_color = "white"};
private _class = format ["ACE_FlashlightProxy_%1", _color];
2015-08-11 17:49:39 +00:00
_glow = _class createVehicle [0,0,0];
_glow attachTo [_unit, [0,0.1,-0.05], "neck"];
2015-08-11 17:49:39 +00:00
} else {
_glow = objNull;
};
if (_set) then {
_unit setVariable [QGVAR(flashlight), [_flashlight, _glow], true];
2015-08-11 17:49:39 +00:00
};
_glow