The help file doesn't explain it well?
place_meeting(x,y,obj) checks if this instance, when hypothetically placed at (x,y), is colliding with an instance of obj.
The x and y are there so that you can check if there would be a collision if this instance moved 1 pixel down, for example, by doing: place_meeting(x,y+1,obj)
The code I gave you continually checks if global.Open is true. If it is, and the player is colliding with a chest, it remains true, but becomes false when there's no collision.