Example Code: Reveal Units Temporarily
Category: Example Code
/*
	Author: Revo
	Description:
	Reveals units in a defined area temporarily.
	Parameter(s):
	See defines below
	Returns:
	BOOLEAN - true
*/
//Replace here
#define CENTER player //The area around this object will be scanned
#define RADIUS 100	  //Radius of the area
#define DELETE_TIME 5 //How long will the units be revealed in seconds
#define TOLERANCE 5   //Accuracy of the units positions in meters}}
#define DELAY 1       //Delay in between reveal of units in seconds (60 units take 60 seconds to show)
//Replace end
[CENTER,RADIUS,DELETE_TIME,TOLERANCE] spawn 
{
	params ["_center","_radius","_deleteTime","_tolerance"];
	_nearestUnits = nearestObjects [_center, ["CAManBase"], _radius];
	systemChat "Scanning in progress...";
	createMarker ["areaBorderTemp", _center];
	"areaBorderTemp" setMarkerShape "ELLIPSE";
	"areaBorderTemp" setMarkerSize [_radius,_radius];
	"areaBorderTemp" setMarkerBrush "Border";
	{
		_marker = createMarker [format ["tempMarker_%1",_forEachIndex],_x getPos [_tolerance,random 360]];
		_marker setMarkerType "o_unknown"; 
		_marker setMarkerColor "ColorUNKNOWN"; 
		_marker setMarkerSize [0.5,0.5];
		sleep DELAY;
	} forEach _nearestUnits;
	systemChat format ["%1 entities found.",count _nearestUnits];
	systemChat format ["Position tolerance: %1 m",_tolerance];
	sleep _deleteTime;
	for "_i" from 0 to (count _nearestUnits) - 1 do
	{
		deleteMarker format ["tempMarker_%1",_i];
		sleep DELAY;
	};
	deleteMarker "areaBorderTemp";
};
true