LSValmont 789 Posted December 23, 2018 Hello Guys, after a long time not playing one of my missions I decided to upgrade it only to find that this Spotter script is showing errors it did not before: Spoiler if (!isServer) exitWith {}; _spotter = [_this, 0, objNull] call bis_fnc_param; if (!local _spotter) exitWith {}; while {alive _spotter} do { waitUntil {sleep 1; _spotter in MissionSquad}; hint format["As %1 (Spotter) joins the squad, Posible contacts positions in a 100 mtr. radius will be updated on map every 10 seconds",name _spotter]; while {sleep 1; _spotter in MissionSquad AND (alive _spotter)} do { potential = []; suspectedEnemy = []; if (isNil "inPlayMarkers") then {inPlayMarkers = []}; _center = _spotter; _radius = 100; potential = nearestObjects [_center, ["man"], _radius]; { if ((_x select 2) == EAST) then { suspectedEnemy set [count suspectedEnemy, (_x select 0)]; }; } forEach potential; { deleteMarkerLocal _x; } forEach inPlayMarkers; inPlayMarkers = []; { _mrkName = format["mrk%1", str(_x)]; _mrk = createMarkerLocal[_mrkName, [_x select 0, _x select 1]]; _mrk setMarkerShapeLocal "ICON"; _mrk setMarkerTypeLocal "b_inf"; _mrk setMarkerColorLocal "ColorOPFOR"; inPlayMarkers = inPlayMarkers + [_mrkName]; } forEach suspectedEnemy; sleep (10 + (random 10)); }; }; The script is supposed to show enemies on the map via markers every 10+random10 seconds if the spotter is on the player's team. I have not been able to fix it, any ideas? Share this post Link to post Share on other sites
beno_83au 1362 Posted December 23, 2018 I'm not sure of this should have ever worked at all: if ((_x select 2) == EAST) should be if (side _x == EAST) Keep in mind, I'm only looking at this from my phone. Could be something else happening in there as well. 2 1 Share this post Link to post Share on other sites
LSValmont 789 Posted December 23, 2018 Ok that did not fixed the issue. I completely rewrote the script and now it is working like a charm! if (!isServer) exitWith {}; _unit = _this select 0; if (isPlayer _unit) exitWith {}; if (!local _unit) exitWith {}; while {alive _unit} do { waitUntil {sleep 1; _unit in MissionSquad}; hint format["As %1 (Spotter) joins the squad, Posible contacts positions in a 50 mtr. radius will be updated on map every 10 sec",name _unit]; while {sleep 1; _unit in MissionSquad AND (alive _unit)} do { _radius = 100; _center = _unit; _deleteTime = 10; _posTolerance = 3; _nearestTargets = nearestObjects [_center, ["man"], _radius]; _validNearestTargets = []; { if (alive _x && (side _x == EAST)) then { _validNearestTargets set [(count _validNearestTargets),_x]; }; } forEach _nearestTargets; hint format ["%1", _validNearestTargets]; [_unit,"Marking nearby contacts on map..."] remoteExec ["sideChat" ,0]; for "_i" from 0 to (count _validNearestTargets) - 1 do { _enemy = _validNearestTargets select _i; if (side _enemy != side _unit) then { _marker = createMarker [format ["tempMarker_%1",_i], [_enemy, _posTolerance, random(360)] call BIS_fnc_relPos]; format ["tempMarker_%1",_i] setMarkerType "o_unknown"; format ["tempMarker_%1",_i] setMarkerColor "ColorUNKNOWN"; format ["tempMarker_%1",_i] setMarkerSize [0.5, 0.5]; }; sleep 1; }; systemChat format ["%1 posible hostiles found.",count _validNearestTargets]; systemChat format ["Position tolerance: %1 m",_posTolerance]; sleep _deleteTime; for "_i" from 0 to (count _validNearestTargets) - 1 do { deleteMarker format ["tempMarker_%1",_i]; sleep 1; }; }; hint format["As %1 leaves squad, no nearby Enemy positions will be updated on map",name _unit]; sleep (random 3); }; 4 Share this post Link to post Share on other sites
JohnKalo 657 Posted December 24, 2018 The scout sending mortar fire to an enemies location feature would be really nice. 1 Share this post Link to post Share on other sites
GEORGE FLOROS GR 4206 Posted December 24, 2018 5 minutes ago, JohnKalo said: The scout sending mortar fire I think there is a script for a "forward artillery observer" , i'm going to check it ! 1 Share this post Link to post Share on other sites
JohnKalo 657 Posted December 24, 2018 All scripts I have tried so far did not work. They showed no errors but they also just did not work. 1 Share this post Link to post Share on other sites