npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@fboes/aerofly-patterns

v2.5.3

Published

Landegerät - Create random custom missions for Aerofly FS 4.

Downloads

387

Readme

Aerofly Landegerät

Create random custom missions for Aerofly FS 4.

This nice little project generates custom_missions_user.tmc to use with Aerofly FS 4.

  1. The main tool creates missions containing landing pattern lessons, which put your plane in a random location around an airport, sets time of day as well as weather, and let you figure out how to enter the landing pattern correctly.
  2. Also there now is a HEMS missions generator, which will put your helicopter on a random heliport, sets time of day as well as weather, and create flight plans to nearby MedEvac locations. See the HEMS missions generator documentation.

The main documentation centers around the landing pattern lessons:

What does it do?

  1. It downloads data for an airport selected by you,
  2. and places an aircraft selected by you in a random spot around this airport,
  3. considering an optional Minimum Safe Altitude.
  4. It downloads METAR weather data for the last few days,
  5. and determines which will be the active runway by taking a look at the wind (or using a default runway if there is almost no wind)
  6. considering if your aircraft is able to land on this runway.
  7. From this data it will create multiple random missions,
  8. and write these to a custom_missions_user.tmc which you then can use in Aerofly FS 4.

How to use it

This tool requires Node.js in at least version 20 to be installed on your local computer.

The Landegerät is a Command Line Interface (CLI) tool, which means you need to open a terminal to run it. The tool itself does not need to be installed, as the Node.js tool npx will take care of downloading as well as executing the Landegerät.

Usage: npx @fboes/aerofly-patterns@latest ICAO_AIRPORT_CODE [AEROFLY_AIRCRAFT_CODE] [...options]
Create landing pattern lessons for Aerofly FS 4.

Arguments:
  ICAO_AIRPORT_CODE         ICAO airport code which needs to be available in Aerofly FS 4.
  AEROFLY_AIRCRAFT_CODE     Internal aircraft code in Aerofly FS 4.

Options:
  --right-pattern=..        Comma-separated list of runway names with right-turn pattern.
                            Example value: 24,33
  --min-altitude=..         Minimum safe altitude of aircraft, in 100ft MSL. At least airport elevation.
                            Default value: 0
                            Example value: 145
  --missions=..             Number of missions in file.
                            Default value: 10
  --distance=..             Initial aircraft distance from airport in Nautical Miles.
                            Default value: 8
  --pattern-altitude=..     Pattern altitude in ft AGL. For MSL see `--pattern-altitude-msl`
                            Default value: 1000
  --pattern-distance=..     Pattern distance from airport runway in Nautical Miles.
                            Default value: 1
  --pattern-final-distance=..  Pattern final distance from airport runway edge in Nautical Miles.
                            Default value: 1
  --rnd-heading=..          Randomized aircraft heading deviation from direct heading to airport in degree.
                            Default value: 0
  --prefer-rwy=..           Comma-separated list of runway names which are preferred if wind is indecisive.
                            Example value: 24,33
  --pattern-altitude-msl, -m  Pattern altitude is in MSL instead of AGL
  --directory, -d           Create files in a subdirectory instead of current directory.
  --geojson, -g             Create a GeoJSON file.
  --readme, -r              Create a `README.md`.
  --help, -h                Will output the help.

Example:

npx @fboes/aerofly-patterns@latest KMVY c172 --right-pattern 24,33

The complete list of available internal aircraft codes in Aerofly FS 4 is available in …\Aerofly FS 4 Flight Simulator\aircraft. Improved flight planning is available for aircraft listed in dist/data/AeroflyAircraft.js. Examples of codes:

| AEROFLY_AIRCRAFT_CODE | Type | | ----------------------- | ------------------------------------ | | a320 | Airbus A320 | | b58 | Beechcraft Baron 58 | | c172 | Cessna 172 | | c90gtx | Beechcraft King Air C90 | | dr400 | Robin DR 400 | | ec135 | Eurocopter EC135 | | uh60 | Sikorsky UH-60 Black Hawk | | f15e | McDonnell Douglas F-15E Strike Eagle | | jungmeister | Bücker Bü 133 Jungmeister | | lj45 | Learjet 45 | | mb339 | Aermacchi MB-339 | | pitts | Pitts Special S-2 | | r22 | Robinson R22 |

Download the missions

There are already multiple mission files generated in /data. They are stored in directories with the pattern data/Landing_Challenges-[ICAO_AIRPORT_CODE]-[AEROFLY_AIRCRAFT_CODE]/. These files are in each directory:

  • custom_missions_user.tmc: Mission file with multiple emissions
  • [ICAO_AIRPORT_CODE]-[AEROFLY_AIRCRAFT_CODE].geojson: A GeoJSON file containing the airport properties and the plane in mission #1
  • README.md: Quick summary of all missions

See the installation instructions on how to import the missions into Aerofly FS 4.

Technical stuff

This projects uses the public APIs of the Aviation Weather Center. The usage of these APIs may be restricted or blocked on your local computer. The data may also be incoherent with your local state of Aerofly FS 4.

Status

npm version GitHub version GitHub

Legal stuff

Author: Frank Boës 2024

Copyright & license: See LICENSE.txt

This tool is NOT affiliated with, endorsed, or sponsored by IPACS GbR. As stated in the LICENSE.txt, this tool comes with no warranty and might damage your files.

This software complies with the General Data Protection Regulation (GDPR) as it does not collect nor transmits any personal data to third parties, but for the usage of the Aviation Weather Center API. For their data protection statement you might want to check their terms of service.