diff --git a/arma/client/addons/locker/functions/fnc_initLockerClass.sqf b/arma/client/addons/locker/functions/fnc_initLockerClass.sqf index 52f361d..81fb5df 100644 --- a/arma/client/addons/locker/functions/fnc_initLockerClass.sqf +++ b/arma/client/addons/locker/functions/fnc_initLockerClass.sqf @@ -4,7 +4,7 @@ * File: fnc_initLockerClass.sqf * Author: IDSolutions * Date: 2025-12-17 - * Last Update: 2026-02-04 + * Last Update: 2026-02-05 * Public: No * * Description: diff --git a/arma/client/addons/locker/functions/fnc_initVAClass.sqf b/arma/client/addons/locker/functions/fnc_initVAClass.sqf index db5a45c..65cccc0 100644 --- a/arma/client/addons/locker/functions/fnc_initVAClass.sqf +++ b/arma/client/addons/locker/functions/fnc_initVAClass.sqf @@ -4,7 +4,7 @@ * File: fnc_initVAClass.sqf * Author: IDSolutions * Date: 2025-12-16 - * Last Update: 2026-02-04 + * Last Update: 2026-02-05 * Public: No * * Description: @@ -33,8 +33,8 @@ GVAR(VArsenalClass) = createHashMapObject [[ ["init", { private _uid = _self get "uid"; - [SRPC(locker,requestInitVA), [_uid]] call CFUNC(serverEvent); FORGE_Locker_Box = "ReammoBox_F" createVehicleLocal [0, 0, -999]; + [SRPC(locker,requestInitVA), [_uid]] call CFUNC(serverEvent); systemChat format ["VArsenal loaded for %1", (name player)]; diag_log "[FORGE:Client:VArsenal] VArsenal Class Initialized!"; @@ -82,15 +82,15 @@ GVAR(VArsenalClass) = createHashMapObject [[ }], ["applyWeapons", { private _weapons = _self call ["get", ["weapons", []]]; - [FORGE_Locker_Box,_weapons] call AFUNC(arsenal,addVirtualItems); + [FORGE_Locker_Box, _weapons] call AFUNC(arsenal,addVirtualItems); }], ["applyMagazines", { private _magazines = _self call ["get", ["magazines", []]]; - [FORGE_Locker_Box,_magazines] call AFUNC(arsenal,addVirtualItems); + [FORGE_Locker_Box, _magazines] call AFUNC(arsenal,addVirtualItems); }], ["applyBackpacks", { private _backpacks = _self call ["get", ["backpacks", []]]; - [FORGE_Locker_Box,_backpacks] call AFUNC(arsenal,addVirtualItems); + [FORGE_Locker_Box, _backpacks] call AFUNC(arsenal,addVirtualItems); }] ]]; diff --git a/arma/server/addons/garage/functions/fnc_initGarage.sqf b/arma/server/addons/garage/functions/fnc_initGarage.sqf index 66d0210..ae7897a 100644 --- a/arma/server/addons/garage/functions/fnc_initGarage.sqf +++ b/arma/server/addons/garage/functions/fnc_initGarage.sqf @@ -4,11 +4,11 @@ * File: fnc_initGarage.sqf * Author: IDSolutions * Date: 2025-12-17 - * Last Update: 2026-01-30 + * Last Update: 2026-02-05 * Public: No * * Description: - * Initializes all garages defined in the mission configuration. + * Initializes all editor-placed garages. * * Arguments: * None @@ -20,22 +20,14 @@ * call forge_server_garage_fnc_initGarage */ -// TODO: Refactor to read from placed objects and their variables instead of missionConfig entries. +private _garages = (allVariables missionNamespace) select { + private _var = missionNamespace getVariable _x; + ("garage" in _x) && { _var isEqualType objNull } && { !isNull _var } +}; -private _mC = "FORGE_CfgGarages"; -private _garages = "true" configClasses (missionConfigFile >> "FORGE_CfgGarages" >> "garages"); +if (_garages isEqualTo []) exitWith { ["INFO", "No editor-placed garages found."] call EFUNC(common,log) }; { - private _configName = configName(_x); - private _className = (missionConfigFile >> _mC >> "garages" >> _configName >> "className") call BFUNC(getCfgData); - private _pos = (missionConfigFile >> _mC >> "garages" >> _configName >> "pos") call BFUNC(getCfgData); - private _dir = (missionConfigFile >> _mC >> "garages" >> _configName >> "dir") call BFUNC(getCfgData); - private _garage = createSimpleObject [_className, [0, 0, 0]]; - - _garage setPosATL _pos; - _garage setDir _dir; - _garage allowDamage false; - _garage setVariable ["isGarage", true, true]; - - diag_log format ["[FORGE:Server:Garage] ClassName: %1 Pos: %2 Dir: %3", _className, _pos, _dir]; + private _garage = missionNamespace getVariable _x; + SETPVAR(_garage,isGarage,true); } forEach _garages; diff --git a/arma/server/addons/locker/functions/fnc_initLocker.sqf b/arma/server/addons/locker/functions/fnc_initLocker.sqf index 94bdd41..248e91b 100644 --- a/arma/server/addons/locker/functions/fnc_initLocker.sqf +++ b/arma/server/addons/locker/functions/fnc_initLocker.sqf @@ -4,7 +4,7 @@ * File: fnc_initLocker.sqf * Author: IDSolutions * Date: 2025-12-17 - * Last Update: 2026-02-04 + * Last Update: 2026-02-05 * Public: No * * Description: @@ -23,7 +23,7 @@ private _lockers = (allVariables missionNamespace) select { private _var = missionNamespace getVariable _x; - ("locker" in _x) && { _var isEqualType objNull } && { !isNull _var } + ("locker" in _x) && { _var isEqualType objNull } && { !isNull _var } && { _x isNotEqualTo "forge_locker_box" } }; if (_lockers isEqualTo []) exitWith { ["INFO", "No editor-placed lockers found."] call EFUNC(common,log) }; diff --git a/arma/server/addons/locker/functions/fnc_initVAStore.sqf b/arma/server/addons/locker/functions/fnc_initVAStore.sqf index 2ae16d3..dc56c36 100644 --- a/arma/server/addons/locker/functions/fnc_initVAStore.sqf +++ b/arma/server/addons/locker/functions/fnc_initVAStore.sqf @@ -4,7 +4,7 @@ * File: fnc_initVAStore.sqf * Author: IDSolutions * Date: 2025-12-17 - * Last Update: 2026-01-30 + * Last Update: 2026-02-05 * Public: No * * Description: