Jump to content

Missionen bzw. Kampagne mit Speicherfunktion scripten


Nachtfalke

Recommended Posts

Kann man  Missionen oder Kampagnen  so scripten, das sie unterbrochen werden können und zu einem späteren Zeitpunkt wieder an der unterbrochenen Stelle wieder  fortgeführt werden können,  ohne das man ein  Neustarta notwendig wird ?  Falls das funktioniert,wie macht man das ?  

Link to comment
Share on other sites

Ich bin da kein Experte. Simple Wege gibt es meines Wissens nicht, um das Ziel zu erreichen.

Missionen

In Missionen ist es im Prinzip denkbar, durch geschicktes Setzen von Triggern Einheiten zu aktivieren, zu deaktivieren oder zu zerstören und beispielsweise statt eines einzelnen Spielerflugzeugs mehrere Client-Slots zu platzieren, die in verschiedene Phasen der Mission starten; mit Triggerzonen wäre es vergleichsweise simpel, beim Spawn eines Client-Slots die Mission durch das Auslösen passender Trigger in einen entsprechenden Zustand zu versetzen.

So könnte man Missionen in bestimmte Phasen einteilen und pro Phase einen Client-Slots platzieren, also etwa "Kaltstart", "Zielanflug", "1. Tasking (AAA)", "2. Tasking (HVT)", "3. Tasking (Überraschungsziel)", "Luftbetankung" und "Heimflug".

Klar ist aber auch, dass man damit nicht exakt darauf reagieren kann, was ein Spieler am Anfang der Mission gemacht hat. Alle individuellen Einstellungen im Cockpit sind natürlich futsch, wenn man einen Airstart-Slot auswählt. Verschossene Waffen - weiß die Mission nichts von. Welche Ziele wurden zerstört? Weiß die Mission nicht exakt.

Das wäre also ein Workaround, und auf Seiten des Missionserstellers ist das mit durchaus erheblichem Zusatzaufwand verbunden.

Alternativ gibt es den Trigger "Load Mission". Damit kann man eine beliebige andere Mission laden; statt eine Mission mit mehreren Zuständen zu bauen, könnte man also auch mehrere einzelne Missionen bauen, die einzelne Zustände widerspiegeln. Vorteil: Pro Mission genügt dann wieder ein einzelner Player-Slot. Nachteil: Massiv erhöhter Pflegeaufwand, weil man Änderungen dann in jeder Mission vornehmen muss (Callsign, Skin, Briefing-Text, Wetter, Tageszeit - es gibt sooooo viel, was man nachträglich schnell mal ändern möchte, da ist es ein echter Krampf, wenn man jede kleine Änderung in 2, 3, 4 verschiedenen Versionen der gleichen Mission vornehmen und testen muss).

Kampagnen

Für Missionen innerhalb einer Kampagne gilt das gleiche wie oben bei Einzelmissionen (inkl. dem Trigger "Load Mission").

Grundsätzlich kann eine Kampagne am Ende einer jeden Mission einen Score von 0 bis 100 übermitteln und die Kampagne kann dann, abhängig vom vorher erzielten Score, eine individuelle Mission laden. Man könnte also soweit ich weiß für jede Kampagnenmission bis zu 100 Zustände kodieren und dann pro Zustand ein Mission bauen, die auf diesen jeweiligen Zustand zugeschnitten ist. Aber schon wenn man pro Mission nur 3 Zustände hätte, die dann in der Folgemission berücksichtigt werden (beispielsweise "Feinde zerstört, Freunde gerettet"/"Feinde nicht zerstört, Freunde gerettet"/"Feinde nicht zerstört, Freunde nicht gerettet") wäre man in der zweiten Iteration bei 9 Missionen, eine Stufe weiter bei 27, und so weiter und so fort. Das ist praktisch nicht handhabbar und treibt den Aufwand für die Missionserstellung und -pflege ins Unermessliche.

Denkbares System

Es gibt Leute mit Programmierkenntnissen, die ihre eigenen Tools schreiben, die sich in DCS einklinken und den Fortschritt einer laufenden Mission aus DCS auslesen. Mit externer Programmlogik können sie dann auf den Fortschritt einer Mission reagieren und darauf basierend anschließend neue Missionen dynamisch erstellen, in denen exakt die zerstörten Einheiten am Anfang gespawned und dann per Trigger explodiert werden, sodass die richtigen Wracks an der richtigen Stelle stehen.

Einige dynamische MP-Kampagnen nutzen meines Wissens so ein System. Das ist extrem cool, weil es massive Freiheit erlaubt und das super aufwändige Platzieren von individuellen Einheiten im Missionseditor drastisch reduziert. Allerdings ist der Erstaufwand, um so ein System zu programmieren und um das Erzeugen von DCS-Missionen dynamisch hinzubekommen echt nicht ohne.

Im Prinzip wäre damit auch ein Feature "Missionsfortschritt speichern"/"Mission an gespeicherter Position fortsetzen" möglich. Wenn man sich extrem viel Mühe gibt, könnte es sogar klappen, das Cockpit des Spielerflugzeugs nach dem Airspawn ungefähr wieder in den Zustand zu versetzen, in dem es vorher war (alle Schalter in der richtigen Position, korrekte Displays, korrekt ausgewählte Waffen, korrekt abgeworfene Waffen usw.).

Leider wüsste ich nicht, dass sich jemand für Singleplayer schon diese Arbeit gemacht hätte.

Und da "Fortschritt speichern"/"Mission fortsetzen" immer wieder auf den Wunschlisten an ED auftaucht, wäre auch die Frage, ob sich jetzt jemand die ganze Arbeit machen will, wenn ED so ein Feature jederzeit veröffentlichen könnte.

Wenn es da was gibt, das ich nicht auf dem Schirm habe, würde ich mich natürlich auch freuen, wenn andere Teilnehmer noch gute Infos oder weiterführende Links haben. 😉


Edited by Yurgon
  • Thanks 1
Link to comment
Share on other sites

Posted (edited)

Vielen Dank für Ihre ausführliche und für mich sehr hilfreiche Antwort ! Das mit dem Trigger „ Neue Mission laden“ werde ich jetzt testen, das wäre für mich eine akzeptable Lösung , die ich umsetzen könnte !  
 

Nochmals Danke für ihre tolle Antwort 


Edited by Nachtfalke
  • Like 1
Link to comment
Share on other sites

vor 22 Stunden schrieb Nachtfalke:

Kann man  Missionen oder Kampagnen  so scripten, das sie unterbrochen werden können und zu einem späteren Zeitpunkt wieder an der unterbrochenen Stelle wieder  fortgeführt werden können,  ohne das man ein  Neustarta notwendig wird ?  Falls das funktioniert,wie macht man das ?  

Check mal dieses:

Ist vielleicht interessant für dich.

  • Thanks 1
Link to comment
Share on other sites

5 ore fa, Dallenbach ha scritto:

Check mal dieses:

Ist vielleicht interessant für dich.

Thanks for quoting DSMC 🙂 . @Nachtfalke, if you need support or have any question, I'll suggest to use the discord channel (which I see more often than anything else). 

PS: sorry for the english, but I really can't speak Deutsch.

 

  • Thanks 1

ChromiumDis.png

Author of DSMC, mod to enable scenario persistency and save updated miz file

Stable version & site: https://dsmcfordcs.wordpress.com/

Openbeta: https://github.com/Chromium18/DSMC

 

The thing is, helicopters are different from planes. An airplane by it's nature wants to fly, and if not interfered with too strongly by unusual events or by a deliberately incompetent pilot, it will fly. A helicopter does not want to fly. It is maintained in the air by a variety of forces in opposition to each other, and if there is any disturbance in this delicate balance the helicopter stops flying; immediately and disastrously.

Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...