Whilst messing around with ideas, I came up with a way to kind of re-create STALKER's "rules." A survival game with few vehicles, gathering supplies, avoiding being killed by enemies, blow outs that change varying zones of lethal radiation, etc.

So I started putting together the scripts that required the commands and functions I knew the least about which had me start with the zones of radioactivity. These are just randomly placed and sized triggers that deal anywhere from 0.01 to 0.075 points of damage ever tick a unit is inside the zone unless they have some kind of anti-rad protection.

After getting it all working, I realized that any AI spawned or wandering around won't be aware that they are being killed by the trigger (if they even know they are dying lol). Since I planned on using Alive to generate the AI in the first place, I figure it might help to ask if/how I could keep the OPCOM informed about the zones and tell his units to avoid them and not spawn things in them; it would be even cooler if the OPCOM (and any units he controls holding a radio) only knew about each zone once a unit he controls holding a radio takes X damage from it, so they can spawn/wander in at first, and only once they actually know about the zone will they avoid it.

The zones not only are placed and sized randomly, but every 30 minutes to 3 hours, they will be deleted and re-created, making once safe areas dangerous and dangerous areas safe once more, so anything I can try to do what I want needs to account for a random number of triggers, but they are conveniently placed into an array.

If it helps, here's the script I made to generate the zones:

//This script will spawn random zones of varying levels of radioactivity (slow death zones with varying degrees of how quickly they kill)
//It is designed to be used with a Blow Out script to re-create the changes of anomalies after such an event in STALKER,
//but can be used for other things as well. 
//This particular example is set up for the size of Altis, creating between 10 to 25 zones ranging from 50m to 1.5km in size in a 15,000x15,000 square from the center of the map.

DecayZones = [];
{deleteVehicle _x;} forEach DecayZones; //"DecayZones" is a global variable defined at init. Either in the init.sqf or from an object's init field from the editor.

_rndZones = [10,25] call BIS_fnc_randomInt;
for "_i" from 1 to _rndZones do
{
	_rndDis = floor (random 15000); //Set the radius to place the markers
	_rndHead = floor (random 360); //Set the compass bearing to create markers from center point
	_rndX = [50,750] call bis_fnc_randomInt; //Set the X size of the marker
	_rndY = [50,750] call bis_fnc_randomInt; //Set the Y size of the marker
	_rndDir = floor (random 360); //Set the marker's direction, separately from the original compass bearing used to place the marker.
	_mapPos = [getMarkerPos "MapCenter", _rndDis, _rndHead] call BIS_fnc_relPos; //Set the point from which to create the zones around.
	_trg = createTrigger ["EmptyDetector", _mapPos];
	_trg setTriggerArea [_rndX,_rndY, _rndDir, false];
	_trg setTriggerActivation [ "ANY", "PRESENT", true];
	_trg setTriggerStatements ["call {if (count thislist > 0) then {{if ((alive _x) && (_x hasGeiger == false)) then {_toxicity = random 0.075; _x setDamage (damage _x + _toxicity)}} forEach thislist};false}", "", ""];
	DecayZones pushback _trg;	
};