Cattle and Crops: Mission Documentation


condition

  • Conditions sind die einzelnen Schritte der Mission, die aufeinander folgen. Sie werden nacheinander aufgelistet.
  • Sie werden, je nach drawMode-Einstellung im <mission>-Element, im MissionInfoWindow (oben links) aufgelistet.
  • Sie haben generell mindestens einen Beschreibungstext (description), können aber zusätzlich erweiterte Infos (längere Texte, Bilder) in einem eigenen Fenster (<condition>/<window>) anzeigen.
  • Jede Condition hat ein type-Attribut (mit potentiell noch weiteren Einstellungen), das die Bedingung für das Erfüllung definiert.
  • Jede Condition kann als Callback bei Erfüllung ein oder mehrere commands ausführen lassen. Diese sind als commands-Block in der Condition definiert.

Generelle Attribute

Schritt-Text: description, stringId, expandedDescription, expandedStringId
  • stringId ist die stringId (Pfad in der Übersetzungstabelle) der Schritt-Beschreibung.
  • description ist der Fallback der Schritt-Beschreibung. Er wird benutzt falls der in stringId definierte Eintrag nicht gefunden wird.
  • expandedStringId (optional) ist die stringId einer ausgeklappten Schritt-Beschreibung. Sie wird angezeigt wenn der Spieler den Schritt-Text ausklappt (klickt).
  • expandedDescription ist der Fallback der ausgeklappten Schritt-Beschreibung. Er wird benutzt falls der in expandedStringId definierte Eintrag nicht gefunden wird.
Attribute Type Value Beschreibung
stringId string * StringId des Textes
description string * Fallback-Text
(expandedStringId) string * Optional: StringId des ausgeklappten Textes
(expandedDescription) string * Optional: Fallback des ausgeklappten Textes


Anzeige des Schritt-Fensters: action, makeHidden, makeWindowTopMost
  • action kann optional für jede Condition eine die Taste einer belegten Action anzeigen, egal ob sie inhaltlich zu der Condition passt.
  • makeHidden kann das Schritt-Fenster optional für die Dauer der Condition ausblenden. Nur empfehlenswert wenn es die Condition ein window hat, das die Aufgabe/einen Text anzeigt.
  • makeWindowTopMost legt optional fest ob das Fenster für die Dauer der Condition im Vordergrund gerendert werden soll. Ist v.a. nützlich wenn währenddessen ein Menü angezeigt wird dass das Fenster ansonsten überdecken könnte.
Attribute Type Value Beschreibung
(action) string **** (4 chars) Die ID der anzuzeigenden Action
(makeHidden) boolean false | true false: Fenster wird angezeigt, true: Fenster wird nicht angezeigt.
Default: false
(makeWindowTopMost) boolean false | true false: Fenster wird nicht im Vordergrund gerendert, true: Fenster wird im Vordergrund gerendert
Default: false, außer beim type widget


Marker: mpInstance, mpPosition, mpRotation, mpBoxOffset

Es kann eine Welt-Instanz definiert werden, die an einem angegebenen Ort platziert wird. Zum Beispiel ein Marker, ein Fahrzeug-Ghost o.ä.

Bestimmte Types haben einen Default-Marker an der Zielposition des Schrittes:

Die genannten Types überschreiben die mpPosition mit ihrem eigenen Zielwert (z.B. posX,posY,posZ bei driveVehicle).

Optional: mpBox definiert die Größe aller Boxen in der Instanz (in der Instanz werden die Nodes vom Typ BoxGeometry durch die angegebene Größe verändert). Der Pivot-Point der jeweiligen Boxen bleibt dabei unverändert.

Attribute Type Value Beschreibung
mpInstance string [path] Pfad zur .wld Welt-Instanz
mpPosition float;float(;float) *;*;* | *;* x-, y- und z-Komponente der Koordinate an der die Instanz gerendert wird. Z ist optional
mpRotation float [-360.0, 360.0] Rotation der Instanz um z in Grad
(mpBox) float;float;float >0;>0;>0 Größe (x, y, z) die die Boxen in der Instanz erhalten
(mpBoxOffset) float;float;float *;*;* Positions-Offset (x, y, z). Der Offset wird auf die bereits existierenden lokalen Box-Position addiert.

Der Offset muss von der Position pro Komponente subtrahiert werden, wenn die original Größe der Box kleiner ist als die neue Größe.


Progress Anzeige: progressVisible, progressFactor, progressOffset

Einige Conditions können optional eine Progressbar anzeigen, um zu visualisieren wie weit die condition Fortgeschritten ist. Die Progress-Anzeige kann zudem optional im Verhältnis zu einem anderen Wert als dem Zielwert der aktuellen Condition angezeigt werden.

Attribute Type Value Beschreibung
(progressVisible) boolean true | false Legt fest, ob der Fortschritt angezeigt werden soll.
(progressFactor) float * Faktor-Angabe, die den aktuellen Wert ins Verhältnis zum absoluten Endwert setzt, wenn progressVisible true ist
(progressOffset) float * Delta-Wert der genutzt werden kann, um einen Offset einer Vorausgegangenen Condition abzubilden, wenn progressVisible true ist. Mach nur in Kombination mit progressFactor Sinn


Beispiele
Eine einzelne Condition mit Fortschschrittsbalken.

<conditions>
    <condition type="acre" fraction="100" ... progressVisible="1" />
</conditions>


Mehrere aufeinanderfolgende conditions als ein durchgängiger Fortschritt. Dazu wird in jedem Schritt der Anteil des Schritts zum Endziel (als Verhältnis progressFactor) angegeben. Zudem werden in den Zwischenschritten der bisher erreichte Progress angegeben (als Absolutwert progressOffset):

<conditions>
    <!-- Erste condition die 25% vom Ziel (80) ausmacht -->
    <condition type="acre" fraction="20" ... progressVisible="1" progressFactor="0.25" />
    <!-- Zweite condition die bei 25% anfängt, bis 50% geht und damit wiedr 25% vom Ziel (80) ausmacht -->
    <condition type="acre" fraction="40" ... progressVisible="1" progressFactor="0.25" progressOffset="0.25" />
    <!-- Dritte condition die bei 50% anfängt, bis 100% (80) geht und damit 50% vom Ziel ausmacht -->
    <condition type="acre" fraction="80" ... progressVisible="1" progressFactor="0.5" progressOffset="0.5" />
</conditions>


Sound: completeSound, noCompleteSound
  • completeSound legt optional den Pfad zu einer Sounddatei fest, die beim Abschluss der Condition anstelle des Standardsounds abgespielt wird.
  • noCompleteSound legt optional fest ob bei erfolgreichem Abschluss einer Condition ein Sound abgespielt werden soll oder nicht.
Attribute Type Value Beschreibung
(completeSound) string * Pfad zur Sound-Datei
(noCompleteSound) boolean true | false Bei true wird KEIN Sound abgespielt.
Default: false

Beispiele

<conditions>
    <!-- Reguläre condition mit Text -->
    <condition type="..." stringId="MISS-STP1" description="Step 1 Fallback Text" ... />

    <!-- Condition mit Text und Command-Callback -->
    <condition type="..." stringId="MISS-STP2" description="Step 2 Fallback Text" ... >
        <commands>
            <command type="setMoney" money="12345">
        </commands>
    </condition>

    <!-- Condition mit Rendern an oberster Position -->
    <condition type="..." makeWindowTopMost="1" stringId="MISS-STP3" description="Step 3 Fallback Text" ... />

    <!-- Condition mit custom Sound -->
    <condition type="..." description="Step Fallback Text" completeSound="path/to/my/sound/file" ... />

    <!-- Condition mit deaktiviertem Sound -->
    <condition type="..." noCompleteSound="true" ... />

    <!-- Condition mit custom Action -->
    <condition type="..." action="lite" ... />

    <!-- Condition mit custom Marker -->
    <condition type="..." mpInstance="path/to/my/marker" mpPosition="24.3;-701.0;3" mpRotation="123.4" mpBox="4;5;3" mpBoxOffset="0.73;-0.3;4.2" … />
</conditions>

results matching ""

    No results matching ""