Missionen (Scenarios) für P3D

Einleitung | Warum | Missionen | Tutorial | FIP

Einführung | FlugErstellen | MissionErstellen | MissionErweitern | MissionVollenden ||||| MissionAusbauen 1 | 2 | 3 | 4 | 5 | 6
Erstelle eine eigene Mission:

Als Erstes öffne im Prepar3D den Flug "ExampleFlightNormal".

Wichtig:
- Wähle im Menü Vehicle/Failures und deaktiviere in der Category "Engines" das "Oil Leak".
(Wenn du das vergisst, wird die Mission genau so enden, wie der "normale Flug", weil nach 4-5 Minuten das Öl schnellstens ausläuft.)
- Wähle im Menü Options/General, klick auf "Realism" und vergewissere dich, dass rechts oben der Punkt "Detect crashes and damage" aktiviert ist.
(Wenn das jetzt nicht richtig eingestellt ist, wird die Mission immer mit deaktivierter Kollisionsabfrage starten. Du kannst das nachträglich nicht mehr ändern.)

Wähle im Menü Scenario/Save und suche in der Liste den Flug "ExampleFlightNormal"

Klick darauf und du wirst sehen, dass der Standard File Name (Maule M7 260C EC-527...) sich ändert in "ExampleFlightNormal".

Wir werden den Flug unter anderem Namen speichern:
Ändere den "File Namen" auf:
ExampleFlight

Ändere die Description auf:
"Example Flight where an oil leak occurs. This is a mission. (Beispiel Flug, bei dem ein Öl Leck auftritt. Dies ist eine Mission.)"

Lass den Haken bei "Default" drinnen, damit wird diese Mission zum Standard-Flug.
Bestätige mit "OK".

Jetzt beendest du den Prepar3D.

Öffne den SimDirector

Wenn du den Flug als Default markiert hast, startet der SimDirector direkt mit diesem Flug.
(Falls nicht, musst du diesen Flug erst im SimDirector laden:
Klicke oben links auf "File", "Open" und suche den Flug "ExampleFlight.fxml".)

An dieser Stelle eine kurze Erklärung der Anzeige des SimDirector:
- Der obere Bereich (rot) hat grundsätzliche Steuerelemente, um eine Mission zu Laden/Speichern, die Anzeige anzupassen, Objekte zu drehen/verschieben, usw.
- In der Mitte (orange) befindet sich der Hauptbereich. Links über dem Hauptbereich kannst du die Anzeige mit den Laschen "Prepar3D" und "Visualisation" umschalten.
- Der linke Bereich (blau) hat mehrere Funktionen. Mit den Laschen unten schaltet man die einzelnen Funktionen um.
- Der Bereich rechts (grün) zeigt jeweils die Einstellungen eines gerade ausgewählten Objekts, in diesem Beispiel des UserOwnship1.
Legen wir einfach los, du wirst bald mit der Anzeige umgehen können.

Klicke auf "Run Validation" (1), du wirst feststellen, dass "ScenarioMetaData" (2) fehlt. Doppelklicke diese Zeile und bestätige die Anfrage mit "Yes" (3). Klicke auf den Reiter "Visualization" (4)

Du siehst 3 Objekte: UserOwnship1 (dein Flugzeug), UserAvatar1 (Der Pilot im Flugzeug) und ScenarioMetadata1.

Schalte auf den Reiter "Prepar3D" (1) und zoome an das Flugzeug heran (mittels drehen des Mausrades).

Jetzt setzen wir eine Area: Schalte den linken Bereich um auf "Catalog" (2), klicke oben auf "Areas" (3) und suche im Fenster darunter "RectangleArea" (4). Klick darauf und ziehe mit gedrückt gehaltener Maustaste die Area ins Prepar3D-Fenster vor das Flugzeug.

1) Die Area ist gesetzt, aber viel zu gross, darum stellst du im Fenster rechts die Grösse passend ein: Length 50, With 10, Height 50.

2) Bei "DrawStyle" stelle von "Filled" auf "Outlined" um. Die Area wird durchsichtig, aber zum Testen im Flugsimulator trotzdem sichtbar sein. Sobald die Mission fertig ist und funktioniert, stellst du um auf "None", dadurch wird die Area unsichtbar.

3) Gib der Area einen aussagekräftigen Namen: Klick bei "ObjectName" in das Feld und schreibe "StartTimer".

4) Achte darauf, dass bei "Pitch" und "Bank" jeweils "0" eingetragen ist, ansonsten hängt die Ares schief (rot markiert).

1) Die Area muss richtig positioniert werden, also klick auf "Rotate" und drehe am grünen Kreis die Area in den rechten Winkel zur Startbahn (Heading ca 73). Roter und blauer Kreis verändern Pitch und Bank, lass diese also unverändert. Klick anschliessend wieder auf "Rotate* um den Modus zu deaktivieren.

2) Muss die Area verschoben werden, klick den orangen Tropfen an und ziehe mit gedrückter Maustaste die Area an die gewünschte Position.

Die Area ist positioniert, jetzt musst du bestimmen, was passieren soll, wenn das Flugzeug in die Area hineinrollt. Schalte um auf "Visualization" (1), suche im Fenster rechts oben unter "Category" die "Triggers" (2), klick diese an und suche im Fenster darunter den "ProximityTrigger" (3). Ziehe mit gedrückt gehaltener Maustaste den Trigger ins Visualisations-Fenster.

Gib im rechten Fenster unter "ObjectName" einen Aussagekräftigen Namen ein, z.b. "StartTimer".

Der Trigger benötigt eine Referenz, damit er weiss, wann er zünden muss. Doppelklicke also unter "OnEnterFilter", "Available" die Zeile "UserOwnship1". UserOwnship1 wandert nach oben in das Feld "Referenced".

In Visualisations-Fenster siehst du eine Verbindung zwischen dem ProximityTrigger und dem UserOwnship1 (1).

Scrolle im rechten Fenster ganz nach unten zu den "Areas" (2). Hier musst du dem Trigger noch sagen, wann er zünden muss. Doppelklicke bei Available die Area "StartTimer" (3).

"StartTimer" ist nach oben gewandert und im Visualisations-Fenster hat sich der Trigger mit der Area verbunden.
Achte darauf, dass beim Trigger ein grüner Punkt zu sehen ist. Das bedeutet, der Trigger ist aktiviert. Mit klick auf den grünen Punkt wird dieser rot, ist also inaktiv und der Trigger wird nichts unternehmen, wenn das Flugzeug in die Area hineinrollt. Darum, schalte den Trigger auf aktiv (grün).

Klick nun auf "Run Validation" und du wirst feststellen, dass die Mission einen Fehler aufweist: Dem Trigger fehlt eine Aktion, welche er auslösen soll, sobald das Flugzeug in die Area hineinrollt.

Suche also im Fenster oben links unter "Category" die "Actions" und klick diese an. Im Fenster darunter suchst du die "DelayAction", und ziehe diese mit gedrückt gehaltener Maustaste ins Visualisations-Fenster.

Gib der Action im rechten Fenster unter "ObjectName" einen aussagekräftigen Namen, z.b. "4,5min. bis OilLeck".

Im Feld "DelaySeconds" tippst du 270 ein (4,5min. = 4x60sec. + 30sec. = 270sec.).

Klick nun im Visualisations-Fenster auf den ProximityTrigger. Im Fenster rechts scrollst du nach unten und suchst den Punkt "OnEnterAction".

Doppelklicke unter "Available" die Action "4,5min. bis OilLeack" an, diese wandert nach oben.

Im Visualisations-Fenster siehst du, dass der Trigger mit der DelayAction verbunden ist.

Der Trigger zündet, wenn das Flugzeug in die Area rollt und aktiviert die DelayAction, welche 270 Sekunden läuft. Nach Ablauf dieser Zeit muss die Action das Öl-Leck auslösen.

Also benötigen wir eine weitere Action:

Suche im Fenster links unter "Categorie" / "Actions", die "FailureAction", und ziehe diese mit gedrückt gehaltener Maustaste ins Visualisations-Fenster.

Gib der FailureAction den Namen "OilLeak".
Scrolle nach unten und doppelklicke unter "ObjectReference" das "UserOwnship1", welches dadurch nach oben wandert.
(In P3dV4 und bis P3dV5.0 gibt es diese Reference nicht, es wird automatisch das UserOwnship1 verwendet. Darum funktionieren alte Missionen ab P3dV5.1 und in P3dV6 nicht, wenn eine Failure-Action verwendet wird.)

Scrolle wieder ganz nach oben und suche unter der Rubrik "System" den Punkt "Oil Leak".

Leider haben die P3d-Macher im P3dV6 ein neues, dunkles Farbschema eingeführt und dabei vergessen, dieses Menü anzupassen. Darum ist weisse Schrift, auf weissem Grund, also nicht lesbar. Wenn man aber mit der Maus über das Menü fährt, wird der aktuelle Punkt blau und somit lesbar.

Öl Leck ist ausgewählt, nun muss noch bestimmt werden, wie gross das Leck ist. Stell also unter "HealtPercent" 95 ein.

100 = kein Leck, 0 = grösstmögliches Leck (Öl ist in 20 Sekunden ausgelaufen.)

Die DelayAction muss mit der FailureAction verknüpft werden.

Klick also im Visualisations-Fenster die DelayAction an und doppelklicke im rechten Fenster unter "OnCompleteActions" die "Öl-Leck-Action".
So sollte es jetzt aussehen:

Ein wichtiges Objekt fehlt noch:

Suche im linken Fenster unter "Category" den Punkt "Scenario". Im Fenster darunter ziehst du mit gedrückter Maustaste das "RealismOverrides" ins Visualisations-Fenster.

Hier stellst du die "Menge" an Autogen, Scenery-Details und Wassereffekt für diese Mission ein (0-7).

Das ist wichtig, wenn du deine Mission an andere User weiter gibst und geplant ist, im Gelände zu landen. Bei dir ist Autogen vielleicht auf 2, du kannst also auf freier Fläche landen. Ist bei dem anderen User Autogen auf max. (7) eingestellt, wird die geplante Landefläche mit Bäumen und Büschen überwuchert sein.

Ausserdem bestimmst du, ob Änderungen am Flug erlaubt sind. Also Dinge wie Flugzeug-Typ, Flugzeug-Ladung, Wettereinstellungen, Flughafenwahl und Flugplaner.
Ohne "RealismOverrides" ist grundsätzlich alles gesperrt.

Stelle folgendes ein:
- FlyingTips: Enable (Damit wird dir z.b. gemeldet, wenn das Gemisch nicht ausreichend abgemagert ist.)
- CrashBehavior: ResetFlight (Damit wird der Flug bei einem Crash automatisch neu gestartet.)
- FlightRealism: Relaxed (Damit erlaubst du, dass der User die Kollisionsabfrage deaktivieren darf.)
- WorldRealism: Relaxed (Damit erlaubst du dem User, automatisches Seitenruder zu aktivieren)
- UnlimitiertFuel: Limited (Treibstoff ist limitiert, auf die aktuell getankte Menge.)
- AircraftLabels: Enable (Flugzeug-Kennung wird angezeigt.)
- AvatarNoCollision: Disable

Fertig! Speichere den Flug (Disketten-Symbol links oben) und beende den SimDirector mit dem "x" rechts oben.


Nun starte den Prepar3D und teste die Mission.

Sobald das Öl-Leck auftritt, hast du noch etwa 10 Minuten Zeit, bis der Motor ausfällt.


Im Speicherverzeichnis sind jetzt 4 Dateien:
- BeispielFlug.fxml: Der gespeicherte Flug, darin die Einstellungen zum Flugzeug, Schalterstellungen, Fensterpositionen, usw.
- BeispielFlug.graph: Diese Datei ist neu seit P3dV6 (in P3dV4 und P3dV5 nicht vorhanden), darin ist gespeichert, wie Trigger, Areas, Actions im Visualisations-Fenster des SimDirector Platziert sind. Bei umfangreichen Missionen überlappen sich oft Areas und Trigger, für bessere Übersicht kann man diese einzeln an andere Stellen verschieben. Diese Datei kann man getrost löschen, sie hat keinen Einfluss auf den Flug oder die Mission.
- BeispielFlug.wx: Hier sind die Wetterdaten gespeichert.
- BeispielFlug.xml: Hier sind die Missionsdaten gespeichert, also wie die Trigger, Areas und Actions eingestellt und verknüpft sind.


Wer das nicht alles nachbauen will, aber trotzdem gespannt auf das Ergebnis ist, kann dieses zip herunterladen und die darin enthaltenen 3 Files in sein Speicherverzeichnis kopieren.

ExampleFlight.zip

So geht es weiter: Erweitere die Mission
Ich hoffe, euch machen diese Flüge Spass, wenn ja, gebt doch bitte eine Rückmeldung an p3d@andi20.ch.
Auch Fehlermeldungen (Schreibfehler, falsche Angaben, usw.) an mich senden, ich freue mich über jede Rückmeldung.
Einführung | FlugErstellen | MissionErstellen | MissionErweitern | MissionVollenden ||||| MissionAusbauen 1 | 2 | 3 | 4 | 5 | 6

Einleitung | Warum | Missionen | Tutorial | FIP