Haces un evento que se active al contacto con el jugador y agregas un evento que llame al mapa de vuelo.
El problema es que el evento de vuelo que trae essentials ya esta programado para usar la animación de moviento y mostrar el pokémon que conoce el movimiento vuelo, lo que podrías hacer es colocar un pokémon en especifico, por ejemplo que siempre hagas vuelo en ese punto con charizard solamente, la otra opción es eliminando esa animación.
por ejemplo algo así :
En cualquier parte libre de los scripts puedes agregar esto, o simplemente creas una linea nueva.
Código:
def vuelo
scene = PokemonRegionMap_Scene.new(-1,false)
screen = PokemonRegionMapScreen.new(scene)
ret = screen.pbStartFlyScreen
if ret
$PokemonTemp.flydata=ret
end
pbHiddenMoveAnimation($Trainer.party[0])
pbFadeOutIn(99999){
$game_temp.player_new_map_id = $PokemonTemp.flydata[0]
$game_temp.player_new_x = $PokemonTemp.flydata[1]
$game_temp.player_new_y = $PokemonTemp.flydata[2]
$game_temp.player_new_direction = 2
Kernel.pbCancelVehicles
$PokemonTemp.flydata = nil
$scene.transfer_player
$game_map.autoplay
$game_map.refresh
}
end
Aquí en
pbHiddenMoveAnimation($Trainer.party[0]) $Trainer.party[0] quiere decir que la animación será del primer pokémon en el equipo.
En caso de que quieras eliminar la animación y la imagen del pokémon que usará vuelo solo eliminas esta linea pbHiddenMoveAnimation($Trainer.party[0]).
Ahora llamas el evento con un comando de scripts en el evento que pisará el jugador, esto lo haces escribiendo el nombre del "def" dentro del script del evento, en este caso "vuelo".
Eso debe funcionar, solo es cuestión de que lo adaptes a lo que necesites. Saludos.