Jump to content


  • Content Count

  • Joined

  • Last visited

  • Medals

Community Reputation

23 Excellent

About lawman_actual

  • Rank
    Staff Sergeant

Profile Information

  • Gender
    Not Telling

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. Post can be taken down; I found a workaround shortly after posting about it. (Typical)
  2. lawman_actual

    Elements missing from profile

    It's like everything is now being directed at C:\Program Files (x86)\Steam\steamapps\common\Arma 3 If i save a new mission, it appears there. If I make a new profile, it appears there. I can create a new folder under "Arma 3 - Other profiles" and it will load as long as I copy profile files into it, but no mission files from it will show up. Is this a bug or am I now expected to centralise all data under common\Arma 3? Seems like a weird change
  3. A week or so ago I saw my key bindings reset. I was a bit annoyed but it had happened before so I just re-did them and carried on. However, I have just now gone into the editor and seen that none of the missions under my user profile are shown. I have checked the launcher, and I am definitely loading the "Lawman" profile, of which there is only one. I have also checked the Arma 3 - Other profiles / Lawman / missions folder to confirm my mission files are still there, which they are. Not sure what to do from here on. I tried saving a new mission file to see where it ended up, and It appears to have been placed in the following directory: C:\Program Files (x86)\Steam\steamapps\common\Arma 3\Missions Have BIS changed something so mission files are no longer local to profile? Cheers, Law
  4. So...in a related issue, it would appear that if I have a curator initialised (preinit) with all addons successfully activated, and then create a highCommand module for myself using the debug console, certain units are no longer accessible through the curator. In testing I have seen this issue in a blank editor scenario with VME's PLA mod installed. I also have a feeling I have seen this issue with one or two other mods, including a British Armed Forces one. Here is the code I use to make myself a HC leader: createCenter sideLogic; _group = createGroup sideLogic; _logicCmd = _group createUnit ["HighCommand", [0, 0, 0], [], 0, "NONE"]; _logicCmd synchronizeObjectsAdd [player]; And here is the hc.sqf file which runs when the module is created. scriptName "HC\data\scripts\HC.sqf"; /* File: HC.sqf Author: Karel Moricky Description: Init script - High Command Parameter(s): _this: the HC logic unit which triggered this script. */ if (is3DEN) exitwith {}; textLogFormat["HC-PRELOAD_ HC.sqf start..."]; _logic = _this select 0; _logic setpos [1000,10,0]; _group = group _logic; //--- HC main is laready running _isMain = if (_logic == BIS_HC_mainscope) then {true} else {false}; //if (_isMain) then {startLoadingScreen ['High Command']}; //--- Code executed only on first HC scope if (_isMain) then { //SPACE selects last unit that reported, variables: HC_lastUnitReporting = []; //hc unit - array of groups HC_lastUnitReportingTime = 0; HC_lastUnitReportingMarkerName = ""; HC_lastUnitReportingTimeMax = 45; //no older reports than this from teams are considered _logic setvariable ["sound",false]; //--- Execute MARTA if (isNil "BIS_MARTA_mainScope") then {//create MARTA only once, avoid creating too much groups activateaddons ["A3_Modules_F_Marta"]; _logicMARTA =(group _logic) createunit ["MartaManager",position player,[],0,"none"]; //BIS_MARTA_mainScope = _logicMARTA; //TODO: look at this (it is here because init handler of marta (setting BIS_MARTA_mainScope) runs maybe too late (after initialization of whole WF) }; //waituntil {count (BIS_marta_mainscope getvariable "allgroups") > 0}; //_logicMARTA = BIS_marta_mainscope; }; //--- Scope name for "_i" from 0 to 1000 do { _name = format ["BIS_HC_%1",_i]; if (isnil _name) exitwith {call compile format ["%1 = _logic",_name]}; }; //--- Synchronization waituntil {{typeof _x != "HighCommandSubordinate"} count (synchronizedObjects _logic) > 0 || _logic == bis_hc_mainscope}; _possibleLeaders = synchronizedObjects _logic; _groupColors = ["teammain","teamgreen","teamblue","teamyellow"]; _sublogics = []; for "_i" from 0 to (count _possibleLeaders - 1) do { _element = _possibleLeaders select _i; if (typeof _element == "HighCommandSubordinate") then { _sublogics = _sublogics + [_element]; if (isnil {_element getvariable "color"}) then { _color = if (_i >= count _groupColors) then {"teammain"} else {_groupColors select _i}; _element setvariable ["color",_color]; }; }; }; _possibleLeaders = _possibleLeaders - _sublogics; _logic setvariable ["sublogics",_sublogics]; if (count _possibleLeaders > 1) then {textLogFormat ["Log: [High Command] WARNING! More than one commanders assigned - %1",_possibleleaders]}; _leader = _possibleLeaders select 0; _leader setvariable ["BIS_HC_scope",_logic,true]; //--- Default leader //_leader setvariable ["hcdefaultcommander",true]; //--- Functions are loaded waituntil {!isnil "BIS_fnc_init"}; //--- Get custom params ---------------------------------------------------------------------------------- /* //--- Commanders _commanders = if (isnil {_logic getvariable "commanders"}) then { if (_leader != _logic) then {[_leader]} else {[]}; } else { _logic getvariable "commanders"; }; _logic setvariable ["commanders",_commanders,true]; */ //--- Detect all (obsolete) _addAllGroups = if (isnil {_logic getvariable "addAllGroups"}) then { if (count _sublogics > 0) then {false} else {true} } else {_logic getvariable "addAllGroups"}; _logic setvariable ["addAllGroups",_addAllGroups,true]; //--- Radio activations _radios = if (isnil {_logic getvariable "radios"}) then {[]} else {_logic getvariable "radios"}; _logic setvariable ["radios",_radios,true]; //--- Chain of Command _coc = if (isnil {_logic getvariable "chainofcommand"}) then {false} else {_logic getvariable "chainofcommand"}; _logic setvariable ["chainofcommand",_coc,true]; //--- Task created _onTaskCreated = if (isnil {_logic getvariable "onTaskCreated"}) then {{}} else {_logic getvariable "onTaskCreated"}; _logic setvariable ["onTaskCreated",_onTaskCreated,true]; //--- Task assigned _onTaskAssigned = if (isnil {_logic getvariable "onTaskAssigned"}) then {{}} else {_logic getvariable "onTaskAssigned"}; _logic setvariable ["onTaskAssigned",_onTaskAssigned,true]; //--- RMBmenu /* _RMBmenu = if (isnil {_logic getvariable "RMBmenu"}) then {""} else {_logic getvariable "RMBmenu"}; _logic setvariable ["RMBmenu",_RMBmenu,true]; */ //--- Automatic group assigning - Synchronized if (count _sublogics > 0 && !_addAllGroups) then { //if (isnull(hcleader group _leader)) then {_leader HCsetgroup [group _leader,""]}; _linkedLogic = synchronizedObjects _logic; if (count _linkedLogic > 1) then { { if (typeof _x == "HighCommandSubordinate") then { _subordinate = _x; _linkedSubordinate = synchronizedObjects _subordinate; { if !(_x iskindof "logic") then { _group = group _x; _groupColor = _subordinate getvariable "color"; [_leader,"MARTA_REVEAL",[_group],false,true] call BIS_fnc_variableSpaceAdd; _leader HCsetgroup [_group,"",_groupColor]; }; } foreach _linkedSubordinate; }; } foreach _linkedlogic; }; } else { //--- Automatic group assigning - All //if (isnull(hcleader group _leader)) then {_leader HCsetgroup [group _leader,""]}; _groups = allgroups;//_logicMARTA getvariable "allgroups"; { //--- No HCO defined yet _grp = _x; if (isnull hcleader _grp) then { if (side player == side _grp && _addAllGroups) then { [player,"MARTA_REVEAL",[_x],false,true] call BIS_fnc_variableSpaceAdd; player HCsetgroup [_grp,""]; }; }; } foreach _groups; }; //--- Local script --------------------------------------------------------------------------------------- //waitUntil{!isNil {BIS_MPF_initDone}}; if (_isMain) then { //[nil, nil, "per", rEXECVM, "A3\modules_f\HC\data\scripts\HC_local.sqf"] call RE [["A3\modules_f\HC\data\scripts\HC_local.sqf"],"BIS_fnc_execVM",nil,true] call BIS_fnc_MP; }; //--- No proper Chain of Command if !(_coc) exitwith {}; while {true} do { _allgroups = allgroups; { _group = _x; if (isnil {_group getvariable "BIS_HC_fsmcoc"}) then { _fsm = _group execfsm ("\A3\modules_f\hc\data\scripts\HC_COC.fsm"); _group setvariable ["BIS_HC_fsmcoc",_fsm]; }; sleep 0.05; } foreach _allgroups; sleep 1; }; I don't see anything that would immediately suggest why hc.sqf is causing assets to not appear in curator.
  5. As requested, the hotfix has been removed. Thanks for the update hcpookie - it's good for rumors to be dispelled. I hope I have not caused offence and would like to reiterate my offer to help. The hotfix was only ever meant to be a temporary and clearly unofficial fix while we waited for the official update. I guess my aim was to help people continue to enjoy the original mod until the next release. In any case, keep up the good work. Cheers, Law
  6. Through ongoing discussion between myself and @Larrow, we have found that the root of the issue within VME's PLA mod relates to the crew of affected vehicles not having an associated cfgPatch entry. The original mod maker can fix this by going back into their cfgPatches entry and ensuring the crew member is properly included. Alternatively replace the crewman with a different and working entity: crew = "newAndWorkingCrewman"; Hopefully other mods exhibiting similar symptoms are also experiencing this issue. Many thanks to Larrow for his help on this one, Lawman
  7. Fixed the SPOTTER issue. No longer seeing error messages for this particular mod, however still some assets remain inaccessible. For example; none of the helicopters within the VME PLA mod appear. And yet, as far as I can see, these assets have scopeCurator = 2, are defined in the mod's cfgPatches under units = { }, and have the correct requriedAddons. I'm pretty stumped at the moment.
  8. I believe I have successfully created a mod to create the module preInit. However I am still seeing issues with the mod I am trying to fix (though the mod has now saved me 30 seconds or so per scenario playthrough, which is nice). Now, however, I am seeing an error message when I open the zeus interface: This is similar to an error I had been seeing previous, which I (rather painstakingly) managed to find and fix: It turned out to be a line referenced in a group composition for a vehicle class that did not exist. Since fixing this error I had seen tank units successfully appearing sometimes, whereas before I had not. I surmised that this error was causing the process to hang when adding assets. Curious that I had not seen the SPOTTER error before, but I will investigate further and see if I can find the source. Cheers, Law
  9. Should probably have been a bit more careful with my wording. There appear to be some groups which work every time, and some which I have never seen added. There are a small minority that I have seen work sometimes but not others. I haven't yet worked out a way of reproducing this, though I haven't tried very hard for this exact issue yet. I will investigate your advice regarding creating the module with attributes set in the init, simply out of curiosity. But I will also explore a curator-giving mod that handles things pre-init, since this sounds like the most efficient and reliable way to meet my needs. Thanks again Larrow, I'll report back if I find anything interesting or confuse myself. Cheers, Law
  10. Thanks for the reply Larrow, glad to finally have some response on this. Correct, I have been running the code through a debug console in singleplayer during the mission or 'post-init / time = 0'. (console made available with mod) Essentially my aim was to use zeus and the console to get extra functionality from some SP missions downloaded from the workshop (such as Dynamic Recon Ops). With the console and zeus I've been happily 'tailoring' workshop missions to my own preferences, without having to go into the editor and manually edit them all each time one is updated. But since the mission does not by default have a curator, or any required addons, I guess I can start to see where the issues occurs based on your information about activating addons. Good to know. I had been trying to figure out why even when removing the line "addCuratorAddons" I was still getting access to assets. I would guess the reason for building an array of available addons is because the script was originally developed, by another member of the community I play with, such that whoever is calling the script can choose if they give the designated curator access to no addons, official addons only, or all addons. This would explain why later on the following is included, no?: removeAllCuratorAddons _curator; _curator addCuratorAddons _addons; Within this context however, I am the only one in the game and I would like to think I can trust myself around myself. In which case you are correct and I shall remove the unnecessary lines. Not entirely following your suggestion here. Use createUnit just to check that the unit can be created in the first place? And my final comment; although I now understand a bit more about what it means to 'activate' an addon, I'm still unsure why doing this in a single player context, post-init seems to fail only for specific assets within specific mods. I will continue to run some tests but if anyone can shed some light in the meantime that would be great. Thanks again, Law
  11. 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
  12. lawman_actual

    Replace reticule .paa in scope?

    Ah, so 'model optics' defines the file used for the reticle, not the sight itself? That should be what I need - thank you Edit: I was confused because the Arma 3 Samples file for a scope only had one .p3d file in it.
  13. lawman_actual

    Replace reticule .paa in scope?

    So...you're saying the reticle itself would be simple to model because it's just a plane with a texture? In which case, the reticle is a separate file? Looking at the scope in Arma 3 samples, I can see only 1 .p3d file, so I thought they were all in one? Or perhaps I'm still not understanding something
  14. lawman_actual

    Replace reticule .paa in scope?

    That would probably help my search results Sounds simple enough, but I haven't currently invested time in learning blender and model builder, and since I don't have access to the original .p3d I'd have to model the entire optical device from scratch, if I'm correct in assuming that the reticle and scope as a whole are contained in the same file? (It's a bit hard to tell since the mod I'm fixing can be a bit confusing with their naming). Cheers for the help though, That's good to know for when I eventually do start modelling myself.
  15. lawman_actual

    Need help on retexture of Huron

    Also, if you wish to check that the .paa files definitely work, go into the editor, place a Huron and in the debug console use setObjectTexture to apply the texture on the fly. This will rule out errors with texture file path. For example: _targetHuron setObjectTexture [0,"\Arma3_Iron_Skulls_PMC_CH-47I_Chinook\Data\Heli_Transport_03_ext01_CO.paa"]; _targetHuron setObjectTexture [0,"\Arma3_Iron_Skulls_PMC_CH-47I_Chinook\Data\Heli_Transport_03_ext02_CO.paa"]; I would be tempted to shorted the name of your addon for clarity's sake. Something like: class CfgPatches { class iSkull_PMC_CH47I { Note how your mod creates an entry in cfgPatches called "Iron_Skulls_PMC_CH47I_Chinook" as well as a vehicle class called "Iron_Skulls_PMC_CH47I_Chinook". I don't know if this causes issues but as standard practice it's probably best avoided. Cheers, Law