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 instance,
event
for each enemy
compare 2 values: distance(enemy.x,enemy.y,player.x,player.y) < 100
action
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
event
enemy is overlapping/is colliding with player
action
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:
event
Every 3 second
action
enemy move left
like you are referencing ALL enemies, as there is no reference to an instance.
Same goes for:
event
on start of layout
action
destroy enemy
which will destroy all enemies on the layout