Missionsinitialisierung

Aus Echo12 Wiki
Wechseln zu: Navigation, Suche

Der Ablauf aller Initskripte und Initfelder einer Arma Mission im Ueberblick

Ablauf

Vor Briefing Screen

  • PreInitEventhandler aller Addons
  • PreInitEventhandler der Mission

Im Briefing Screen

  • Initialisierung aller Init Zeilen aus dem Editor in Reihenfolge der Platzierung
  • Init.sqf wird abgearbeitet bis zum Ende
  • Alle Skripte werden pausiert und gewartet bis Briefung vollendet

Nach Briefing Screen

  • Briefing aus: Alle Skripte laufen weiter
  • PostInitEventhandler der Mission
  • PostInitEventhandler aller Addons

Zu beachten

Es ist extrem wichtig, dass alle Initprozesse immer fehlerfrei und so schnell wie moeglich ablaufen. Das bedeutet dass unendliche while-Schleifen oder andere rechenintensive Operationen in keinem Fall in irgendeiner Initphase direkt ablaufen duerfen. Denn dadurch wird die jeweilige Phase gestoppt bzw. sie haengt und verhindert die Ausfuehrung weiterer Initialisierungen.

Wenn beispielsweise eine Berechnung in der Init.sqf mit Fehler abbricht oder zu lange rechnet wird diese abgebrochen und keine weiteren Initialisierungen werden vorgenommen. Das kann zur Folge haben, dass wichtige Spielmechaniken nicht initialisiert werden, so dass spaeter Module komplett fehlen.

Wir ist damit umzugehen?

Sollte es noetig sein rechenintensive Operationen oder gar while Schleifen in der Initialisierung zu starten muss dies ueber parallele Berechnungen stattfinden. Siehe Scriptausfuehrung