Olha, tem como você fazer um sistema de sensor por eventos mesmo. É bem simples.
Você precisa armazenar o eixo Y e o eixo X do personagem no mapa em duas variáveis de sua escolha. Depois disso, no evento do guarda, você pode criar condições onde, caso o evento que será o guarda estiver X quadros de distância do personagem (sendo que sua localização será armazenada por variáveis, ou seja, a condição deve ser feita pelo número dessas variáveis) alguma coisa acontece.
Por exemplo, se quiser que o evento do guarda atue quando estiver a, pelo menos, três quadros de distância. É só fazer a condição que, se o evento do guarda (pode usar a opção "este evento" ou usar o número do evento mesmo) estiver no mesmo eixo X e Y do personagem, contudo, você terá um certo trabalhinho para fazer a distância.
Se estiver a 3 quadros de distância na direita, por exemplo, seria o eixo X + 3. Se fosse para a esquerda, seria o eixo X - 3. Deu para sacar? No eixo Y seria a mesma coisa (número positivo para baixo e número negativo para cima).
Pode ter ficado meio confuso, mas se quiser posso postar umas imagens depois (é que agora eu estou pelo celular).
