you can only attach objects to players, not trigger volumes, if you want to see whats around players without opensauce, then do the following.
setup
(ai_attach <BIPED1> <ENCOUNTER>)
(ai_attach <BIPED1> <ENCOUNTER>)
(ai_look_at_object <BIPED1> <BIPED2>)
(ai_look_at_object <BIPED2> <BIPED1>)
(objects_attach <BASE_OBJECT> "<MARKER_BIPED1>" <BIPED1> "")
(objects_attach <BASE_OBJECT> "<MARKER_BIPED2>" <BIPED2> "")
you can replace the ai_attach and biped places with just an encounters and squads with stuff like (list_get (ai_actors <encounter\squad>) NUMBER), but whatever.
and then in the place of the volume test,
(and (objects_can_see_object <BIPED1> (unit (list_get (players) NUMBER)) 45) (objects_can_see_object <BIPED2> (unit (list_get (players) NUMBER)) 45))
When two bipeds see the same player, they return true and continue the
if or
sleep_until condition. The setup puts them on whatever object, and makes them stare at each other.
Anyways, if you want to build your own copy of opensauce, or when the installer becomes public some time in the future, you will be able to use (objects_distance_to_object <object_list> <object>) to get the World Units between two items, and check for certain distances to do things, or recover someones health based on distance, etc.