Perhaps I did a lousy job of explaining this.
Lets say you place an open tent or something, anything really, say you want it to have actions which call various scripts.
At this point you have to create a script which associates the object with the action, in this script you'd have something like this.
object addaction["Execute","your script.sqs"]
"object" being a specific name for the object that you want to have the action associated with.
Then you've got to declare in some way that you want this script to be up and running when the game starts. I believe you can just exec it from the init.sqs.
... now. What if you don't want just some building named "object" to be associated with this addaction script. Perhaps you want all buildings like it to run this script as well. Of course that would preclude changing something in the addaction declaration for example. It would no longer be
object addaction["Execute","your script.sqs"]
The name "object" obviously wouldn't apply anymore because you don't just want something named "object" to run it. This allows flexibility insofar as if you wanted to make a map where you create buildings of various types each with unique associated actions. Furthermore you don't want to just predefine these structures during the creation of the map, however create a script that automatically runs whenever one is near that type of building.
I'm pretty sure that area-of-effect triggers wouldn't be necessary in this case.