Search the Community
Showing results for tags 'all'.
Found 1 result
-
addCuratorAddons with mod - some not working
lawman_actual posted a topic in ARMA 3 - ADDONS - CONFIGS & SCRIPTING
I am trying to get to the bottom of why not all assets from some mods are made available for a zeus curator when initiated through an in-game script. Note that this is not related to needing to adjust the module to read "all addons including unofficial ones" in the editor. I have a script which creates a curator module and assigns it to the designated player (usually me), and is supposed to add all addons to it. This works fine with almost everything; all vanilla factions are added without fault and almost all downloaded mods. However, for a couple of faction mods, some assets are not being added even when some of them are. While it is usually quite consistent which fail to add, it is not always completely. At first I assumed it was a case of some assets in the mod having scopeCurator set such that this was intended, but even having been into the configs and successfully changed it, it still fails most the time. It also wouldn't explain why on some occasions these assets do get added. Here is the script I have been using to add the curator and configure it in singleplayer: _unit = player; // Exit if unit is already curator if (!isNull (getAssignedCuratorLogic _unit)) exitWith { systemChat format["[Zeus] Logic already assigned to %1, remove it first",name _unit]; }; private _curator = missionNamespace getVariable [format["f_zeusCurator_%1",getPlayerUID _unit],objNull]; // Check curator exists, if not create it if !(isNull _curator) then { format["[Zeus] Curator variable already assigned to %1, reassigning", name _unit] remoteExec ["systemChat",_unit]; unassignCurator _curator; deleteVehicle _curator; sleep 1; } else { //format["No Curator.", _curator] remoteExec ["systemChat",_unit]; unassignCurator _curator; f_var_sideCenter = createCenter sideLogic; format["Creating....", _curator] remoteExec ["systemChat",_unit] }; _var = missionNameSpace getVariable ["l_var_sideLogic","Fail"]; // Create a new curator logic _curator = (createGroup f_var_sideCenter) createUnit ["ModuleCurator_F",[0,0,0],[],0,""]; _curator setVariable ["owner",format["%1",getPlayerUID _unit],true]; _curator setVariable ["showNotification",false,true]; _curator setVariable ["Addons",3,true]; //Set Zeus Vision Modes [_curator, [-1, -2, 0]] call bis_fnc_setcuratorvisionmodes; // Assign the passed unit as curator //_unit assignCurator _curator; _unit assignCurator _curator; private _curator = getAssignedCuratorLogic _unit; systemChat format["Curator: %1", _curator];; if (isNull _curator) then { _curator = _unit; }; // If curator is null or not the correct logic exit with an error message. if (isNull _curator || typeOf _curator != "ModuleCurator_F") exitWith { systemChat format["Failed to resolve curator for %1", _unit]; }; // Decide which addons to add based on passed mode _mode = True; _addons = []; switch (typeName _mode) do { case "ARRAY"; case "STRING": { if (_mode isEqualType "") then { if (_mode == "basic") then { // Load predefined basic modules _mode = ["A3_Data_F","A3_Data_F_Curator","A3_Functions_F_Curator","A3_Misc_F","A3_Modules_F_EPB","A3_Ui_F_Curator","A3_Modules_F_Curator","A3_Modules_F_Curator_Misc","CuratorOnly_Modules_F_Curator_Chemlights","CuratorOnly_Modules_F_Curator_Environment","CuratorOnly_Modules_F_Curator_Flares","CuratorOnly_Modules_F_Curator_Ordnance","CuratorOnly_Modules_F_Curator_Smokeshells","A3_Modules_F_Bootcamp","A3_Modules_F_Bootcamp_Misc"]; } else { // Convert to array _mode = [_mode]; }; }; { if (isClass (configFile >> "cfgPatches" >> _x)) then { _addons pushBack (configName (configFile >> "cfgPatches" >>_x)); }; } forEach _mode; }; case "BOOL": { if (_mode) then { // If true was passed, add all available addons to curator list _cfgPatches = configFile >> "cfgPatches"; for "_i" from 0 to (count _cfgPatches - 1) do { _class = _cfgPatches select _i; if (isClass _class) then { _addons pushBack (configName _class); }; }; } else { removeAllCuratorAddons _curator; }; }; }; // Nothing to add! if (count _addons == 0) exitWith {}; // Remove existing addons removeAllCuratorAddons _curator; _curator addCuratorAddons _addons; systemChat format["[Zeus] Added %1 addons",count _addons]; // Reduce costs for all actions _curator setCuratorWaypointCost 0; { _curator setCuratorCoef [_x,0]; } forEach ["place","edit","delete","destroy","group","synchronize"]; systemChat format["[Zeus] Curator set-up complete for %1.",name _unit]; _unit assignCurator _curator; I have checked my patch file that is supposed to be fixing this to ensure that the vehicles are listed in cfgPatches, and that the assets I am looking for have scopeCurator = 2. I am not getting any error messages other than: This confuses me because I read on a biki page that addons can be added "on the fly" for a curator, and it works despite this error message for most addons. So I'm not entirely sure what to be looking for from here. Pointers appreciated. Cheers, Law