From f2070deee8d9023949654a3ebd22f3414da6c785 Mon Sep 17 00:00:00 2001 From: jokoho48 Date: Sat, 19 Sep 2015 01:12:03 +0200 Subject: [PATCH] Change spawn while to CBA PFH --- .../functions/fnc_moduleLSDVehicles.sqf | 72 ++++++++++--------- 1 file changed, 39 insertions(+), 33 deletions(-) diff --git a/addons/common/functions/fnc_moduleLSDVehicles.sqf b/addons/common/functions/fnc_moduleLSDVehicles.sqf index dbb04c5efa..3130609ca9 100644 --- a/addons/common/functions/fnc_moduleLSDVehicles.sqf +++ b/addons/common/functions/fnc_moduleLSDVehicles.sqf @@ -1,5 +1,5 @@ /* - * Author: KoffeinFlummi + * Author: KoffeinFlummi, joko // Jonas * * Nothing to see here, move along. * @@ -13,44 +13,50 @@ */ #include "script_component.hpp" -params ["_logic", "_units", "_activated"]; +params ["", "_units", "_activated"]; if !(_activated) exitWith {}; +if (isNil QGVAR(LSD_Vehicles)) then { + GVAR(LSD_Vehicles) = []; +}; + +if (isNil QGVAR(LSD_Colors)) then { + GVAR(LSD_Colors) = [ + "#(argb,8,8,3)color(1,0,0,1,co)", + "#(argb,8,8,3)color(1,0.5,0,1,co)", + "#(argb,8,8,3)color(1,1,0,1,co)", + "#(argb,8,8,3)color(0,1,0,1,co)", + "#(argb,8,8,3)color(0,0,1,1,co)", + "#(argb,8,8,3)color(0.2,0,0.5,1,co)", + "#(argb,8,8,3)color(0.5,0,1,1,co)" + ]; +}; + +if (isNil QGVAR(LSD_index)) then { + GVAR(LSD_index) = 0; +}; + +GVAR(LSD_ColorsCount) = count GVAR(LSD_Colors); + { - private "_hSCount"; _hSCount = count (getArray (configFile >> "CfgVehicles" >> typeOf _x >> "hiddenSelections")); - if (_hSCount > 0) then { - [_x, _hSCount] spawn { - params ["_vehicle", "_hSCount"]; - - private ["_colors", "_index"]; - - _colors = [ - "#(argb,8,8,3)color(1,0,0,1,co)", - "#(argb,8,8,3)color(1,0.5,0,1,co)", - "#(argb,8,8,3)color(1,1,0,1,co)", - "#(argb,8,8,3)color(0,1,0,1,co)", - "#(argb,8,8,3)color(0,0,1,1,co)", - "#(argb,8,8,3)color(0.2,0,0.5,1,co)", - "#(argb,8,8,3)color(0.5,0,1,1,co)" - ]; - - _index = 0; - - while {true} do { - for "_i" from 0 to (_hSCount - 1) do { - _vehicle setObjectTexture [_i, _colors select _index]; - }; - - _index = (_index + 1) % 7; - - sleep 0.02; - }; - }; + GVAR(LSD_Vehicles) pushBack [_x, _hSCount]; }; - false + nil } count _units; -ACE_LOGINFO("WEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE."); +if (isNil QGVAR(LSD_PFH)) then { + GVAR(LSD_PFH) = [{ + { + params ["_vehicle", "_hSCount"]; + for "_i" from 0 to (_hSCount - 1) do { + _vehicle setObjectTexture [_i, _colors select GVAR(LSD_index)]; + }; + nil + } count GVAR(LSD_Vehicles); + GVAR(LSD_index) = ((GVAR(LSD_index) + 1) % 7) mod GVAR(LSD_ColorsCount); + }, 0.02, []] call CBA_fnc_addPerFrameHandler; +}; +ACE_LOGINFO("WEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEED.");