Alternatively you could use "zones" ... by this I mean that you have invisible, passable blocks. When the player collides with one of them (i.e. steps into / onto them) you set a global "zone variable" to indicate which "zone" (or room) he is in.
Then your action only needs to check the "zone variable" to determine the whereabouts of the player.
This, of course, does not pinpoint the exact location of the player. It only tells you in which zone he is ... but maybe that's good enough for what you want to do ?
Cheers,
Andreas
(I used something similar with A5 to determine which torches in a dungeon needed to be "lit" when the player was near ... just so as to limit the number of active particle emitters etc.)