Jump to content

milliwar

Member
  • Content Count

    1
  • Joined

  • Last visited

  • Medals

Community Reputation

10 Good

About milliwar

  • Rank
    Newbie
  1. It's an old thread, but VKing has been inactive for a while, so I'll post what I've learned about some of the issues with this mod. The first error message at startup is in file XEH_PostClientInit.sqf: Suspending not allowed in this context Error in expression < { if (isNull player) then { waitUntil {!isNull player}; }; ; vk_mods_markers_p> Error position: <!isNull player}; }; ; vk_mods_markers_p> Error Generic error in expression The most obvious fix to a novice like me would be to wrap the code block in [] spawn {}. Second issue I found was that on a dedicated server markers attached to AI units owned by the server did not update properly when the unit was killed and vk_mods_markers_gKilledType was set to "destroy" in init.sqf (i.e. replace the marker of a destroyed unit with a crossed out marker). I had a hard time debugging this one and I still don't know whether I found the real cause. I think this happens because: The main marker loop, fnc_markerLoop.sqf, hides markers by calling the hideMarker function (defined in XEH_PreInit.sqf) if the player or AI unit, or the vehicle they are in does not have blufor tracking capability (i.e. vk_mods_markers_bft = false on the unit). Blufor tracking is disabled by default. The hideMarker function is executed locally on the client and modifies the variables of the unit without broadcasting the changes. It sets vk_mods_markers_markerArray to nil (_x setVariable [QGVAR(markerArray),nil,false];. When a unit is killed, fnc_killed.sqf is executed locally by the owning client. The script checks that both vk_mods_markers_markerArray and vk_mods_markers_markerData are not nil and exits if they are. I concluded that since AI units have blufor tracking disabled they hide all markers including their own and do not broadcast these changes (of course). When the AI unit dies, fnc_killed.sqf exits because the unit's own vk_mods_markers_markerArray is nil and the script never gets to the point where it notifies other units about the death. Other units that have blufor tracking capability keep drawing the dead unit's marker like it was still alive. The least likely wrong solution IMO is to modify fnc_killed.sqf by commenting out the nil check of vk_mods_markers_markerArray because the variable is not used in anywhere else in the script. ... if (isNil "_markerData") exitWith { TRACE_1("No markerData for unit",_unit); if (!isNil "_markerArray") exitWith { _unit setVariable [QGVAR(markerArray),nil,true]; }; }; /*if (isNil "_markerArray") exitWith { TRACE_1("No markerArray for unit",_unit); _unit setVariable [QGVAR(markerData),nil,true]; };*/ EXPLODE_7(_markerData,_name,_mods,_type,_size,_scale,_visibleTo,_text); ... I hope this helps someone, and I hope VKing finds time to look into this.
×