The trigger event needs some kind of reference to the object your trying to manipulate.
In lots of cases, developers continually or periodically loop through the involved object, for each.
for each enemy
compare 2 values: distance(enemy.x,enemy.y,player.x,player.y) < 100
enemy move towards player
Here, because the for each determines one of the looped objects potentially being closer to the player then 100 pixels, then uses that object, which is automatically referenced due to the loop, and performs the desired action.
In other cases, a reference could be an overlaps/collision
enemy is overlapping/is colliding with player
enemy do something
Here the reference is determined by the overlapping/collision event
without such a reference, construct 2 will interpret an action such as:
Every 3 second
enemy move left
like you are referencing ALL enemies, as there is no reference to an instance.
Same goes for:
on start of layout
which will destroy all enemies on the layout