{"name":"Example Code: Reveal Units Temporarily","title":"Example Code: Reveal Units Temporarily","type":"topic","url":"https://community.bistudio.com/wiki/Example_Code:_Reveal_Units_Temporarily","revid":330100,"updated":"2022-08-20T21:18:54Z","aliases":["Example Code: Reveal Units Temporary"],"markdown":"Arma 3 v1.92\n\n```sqf\n/*\n    Author: Revo\n\n    Description:\n    Reveals units in a defined area temporarily.\n\n    Parameter(s):\n    See defines below\n    Returns:\n    BOOLEAN - true\n*/\n\n// replace here\n#define CENTER player    // the area around this object will be scanned\n#define RADIUS 100        // radius of the area\n#define DELETE_TIME 5    // how long will the units be revealed in seconds\n#define TOLERANCE 5        // accuracy of the units positions in meters\n#define DELAY 1            // delay in between reveal of units in seconds (60 units take 60 seconds to show)\n// replace end\n\n[CENTER, RADIUS, DELETE_TIME, TOLERANCE, DELAY] spawn\n{\n    params [\"_center\", \"_radius\", \"_deleteTime\", \"_tolerance\", \"_delay\"];\n    private _nearestUnits = nearestObjects [_center, [\"CAManBase\"], _radius];\n\n    systemChat \"Scanning in progress...\";\n\n    createMarker [\"areaBorderTemp\", _center];\n    \"areaBorderTemp\" setMarkerShape \"ELLIPSE\";\n    \"areaBorderTemp\" setMarkerSize [_radius, _radius];\n    \"areaBorderTemp\" setMarkerBrush \"Border\";\n\n    {\n        private _marker = createMarker [format [\"tempMarker_%1\", _forEachIndex], _x getPos [_tolerance, random 360]];\n        _marker setMarkerType \"o_unknown\";\n        _marker setMarkerColor \"ColorUNKNOWN\";\n        _marker setMarkerSize [0.5, 0.5];\n        sleep _delay;\n    } forEach _nearestUnits;\n\n    systemChat format [\"%1 entities found.\", count _nearestUnits];\n    systemChat format [\"Position tolerance: %1 m\", _tolerance];\n\n    sleep _deleteTime;\n\n    for \"_i\" from 0 to (count _nearestUnits) - 1 do\n    {\n        deleteMarker format [\"tempMarker_%1\", _i];\n        sleep _delay;\n    };\n\n    deleteMarker \"areaBorderTemp\";\n};\n\ntrue;\n```","sections":[{"heading":null,"level":1,"markdown":"Arma 3 v1.92\n\n```sqf\n/*\n    Author: Revo\n\n    Description:\n    Reveals units in a defined area temporarily.\n\n    Parameter(s):\n    See defines below\n    Returns:\n    BOOLEAN - true\n*/\n\n// replace here\n#define CENTER player    // the area around this object will be scanned\n#define RADIUS 100        // radius of the area\n#define DELETE_TIME 5    // how long will the units be revealed in seconds\n#define TOLERANCE 5        // accuracy of the units positions in meters\n#define DELAY 1            // delay in between reveal of units in seconds (60 units take 60 seconds to show)\n// replace end\n\n[CENTER, RADIUS, DELETE_TIME, TOLERANCE, DELAY] spawn\n{\n    params [\"_center\", \"_radius\", \"_deleteTime\", \"_tolerance\", \"_delay\"];\n    private _nearestUnits = nearestObjects [_center, [\"CAManBase\"], _radius];\n\n    systemChat \"Scanning in progress...\";\n\n    createMarker [\"areaBorderTemp\", _center];\n    \"areaBorderTemp\" setMarkerShape \"ELLIPSE\";\n    \"areaBorderTemp\" setMarkerSize [_radius, _radius];\n    \"areaBorderTemp\" setMarkerBrush \"Border\";\n\n    {\n        private _marker = createMarker [format [\"tempMarker_%1\", _forEachIndex], _x getPos [_tolerance, random 360]];\n        _marker setMarkerType \"o_unknown\";\n        _marker setMarkerColor \"ColorUNKNOWN\";\n        _marker setMarkerSize [0.5, 0.5];\n        sleep _delay;\n    } forEach _nearestUnits;\n\n    systemChat format [\"%1 entities found.\", count _nearestUnits];\n    systemChat format [\"Position tolerance: %1 m\", _tolerance];\n\n    sleep _deleteTime;\n\n    for \"_i\" from 0 to (count _nearestUnits) - 1 do\n    {\n        deleteMarker format [\"tempMarker_%1\", _i];\n        sleep _delay;\n    };\n\n    deleteMarker \"areaBorderTemp\";\n};\n\ntrue;\n```"}],"categories":["Example Code"],"groups":["Scripting"]}