Pues haber, tienes dos formas:
Scripts de Gatillo: Haces un script de gatillo que se active cuando pasas por sobre él y desencadene los movimientos y lo que necesites
Assembly (ASM): En un FireRed (USA), el usuario JPAN investigó la rutina de los Trainers y logró aislarla y modificarla para que pueda funcionar como tu quieres, puedes buscar cómo lo hizo y trasladarlo a FireRed (ESP) pero seguro te lleva lo suyo xD