Benutzer-Werkzeuge

Webseiten-Werkzeuge


oCTriggerChangeLevel

1. Einführung

  • 1.1 Da man ja nicht nur z.B von der „NEWWORLD“ in die „OLDWORLD“ muss, sondern auch von der „OLDWORLD“ wieder zurück, benötigt man ja im Normalfall, für den LevelChange auf jedem Weltenteil einen oCTriggerLevelChange, sowie den Ankunftspunkt auf dem Weltenteil, zu dem man gebeamt wird.
  • (nur damit hier nicht der Eindruck entsteht, dass ein einzelner oCTriggerChangeLevel dazu geeignet sei, zwischen 2 Welten hin und her zu pendelnn.)
  • Es gibt natürlich auch Spiele, wo man das unterbinden will, dass der Player wieder zurück kann (Schlauchlevel), dann genügt einer, von Level 1 nach Level 2.
  • Kenntnisse, wie man im Spacer z.B Vobs in die Welt setzt. → Vobs erzeugen.
  • Wie man diese Objekte im Spacer bewegt, zum platzieren, → vobs_bewegen_und_rotieren
  • Wie man zumindest einen oCTriggerScript in die Welt setzt → oCTriggerScript
  • sind für dieses Wiki Vorraussetzung

2. Einsetzen

Wir wählen den Ort in der ersten Welt (Bsp NEWWORLD.ZEN) an dem der LevelChange stattfinden soll. Da stossen wir schon auf die ersten Probleme, da wir ja später den Levelchange nicht sehen können. Die PB´s haben das bravourös gelöst, da sie den Weltenwechsel zur OldWorld:

  • Variante 1 in den „Ork-Canyon“ gelegt haben
  • Variante 2 in die Durchgangshöhle der „Verlassenen Mine“

Warum ist das bravourös gelöst? Weil man die BoundingBox des oCTriggerChangeLevel jetzt genau so breit macht wie der Canyon oder der Stollen der verlassenen Mine breit ist.

  • Keine Möglichkeit geben für den Player am LevelChange vorbei zu laufen.
  • Diese Ansage aus dem alten Wiki benutze ich jetzt mal als Demonstrationsobjekt….

*6. Im folgenden Fenster könnt ihr nun auf „Define“ klicken, wo ihr Koordinaten angebt, wie groß die Box sein soll. (Wenn der Held die Box berührt, geschieht der Levelchange)

Wenn ihr in den etwa 15m (1500cm) breiten Canyon eine TriggerBoundingBox von 100cm x 100cm x 100cm setzen würdet, müsstet ihr:

  • 1. Herumsuchen, bis ihr durch Zufall auf den oCTriggerLevelChange stosst (man sieht den ja nicht)
  • 2. Ihr müsstet Kenntnis haben, dass hier ein oCTriggerLevelChange sich befindet, was aber beim ersten Durchspielen eines Games nicht der Fall ist.

Was kann man also tun, wenn man diese Möglichkeiten nicht hat? (Keinen abgegrenzten Canyon, keinen abgegrenzten Stollen)?

  • Man muss ja den oCTriggerChangeLevel nicht unbedingt mit der Berührung BoundingBox ↔ HeroBody auslösen, sondern,
  • man kann beim öffnen eines Fake-Tores zum Beispiel den LevelChange aufrufen…..
Wld_SendTrigger("LEVELCHANGE_1_TO_2");
  • oder in einen Brunnenschacht, um unterirdische Dungeons zu betreten, der Möglichkeiten sind viele…
  • aber auf keinen Fall eine „kleine TriggerBox auf eine 3000m² grosse Wiese setzen!
  • Wer soll die finden?
  • 2.1 Wir starten den Spacer und öffnen die zu bearbeitende *.ZEN
    • Wir nehmen uns das ObjektPagesFenster vor, setzen einen Haken bei „Hold“ und stellen jetzt die Zeit auf etwa 12:00. Jetzt wird es, egal wie lange wir arbeiten, nicht regnen im Spacer und auch nicht dunkel werden. 12:00 habe ich gewählt, weil es da eigentlich am hellsten sein müsste.

  • 2.2 Wir wenden uns dem Objektfenster zu und klicken uns durch den Pfad → zCVob → zCTriggerBaseAbstrakt → zCTrigger → oCTriggerChangeLevel

  • Rechtsklick ins Spacer Hauptfenster

  • Linksklick auf Insert(oCTriggerChangeLevel)

3. Anpassen

  • Linksklick auf „Edit the Box“

  • Linksklick auf Define

  • Einstellen BoundingBox

Wir wählen in unserem Beispiel eine Höhe von 200cm (damit man nicht drüberspringen kann), eine Breite von 250cm (damit man nicht seitlich vorbei laufen kann) und eine Tiefe von 100cm (damit der LV-Trigger bei Kontakt auch ganz bestimmt auslöst)

So sieht das dann im Spacer Hauptfenster (für unser Beispiel) aus.

Wenn wir fertig sind mit der Grösseneinstellung der Box, klicken wir auf „OK“ und anschliessend auf „STOP“

4. Einstellungen

Wir wenden uns jetzt dem ObjektFenster zu und tätigen folgende Einstellungen:

  • Wir geben unserem LV-Trigger einen eindeutigen VobNamen

1. vobName:LVCHOW_2_NW (Levelchange OldWorld to NewWorld Bsp)

  • Wir stellen unseren LVCH-Trigger auf Kollision

2. cdDyn:True - Sonst wird der Trigger bei Berührung grundsätzlich nicht ausgelöst

  • Wir stellen unseren LV-Trigger so ein, dass er nur auf den Protagonisten reagiert

3. respondToPC:TRUE - respondToNPC:FALSE

  • Wir geben den Namen der Welt an zu der gewechselt werden soll (MIT DER DATEINAMEN-ERWEITERUNG Bsp XXX.ZEN)

4. levelName:NEWWORLD.ZEN (Beispiel, wir wechseln von der OldWorld zur NewWorld)

  • Wir geben den Namen des Waypoints an, an dem der Spieler in der nächsten Welt ankommt.

5. startVobName:WP_START_NEWWORLD (Beispiel)

Den WP_START_NEWWORLD („WAYPOINT“) müsst ihr in der anderen Welt selbstverständlich erstellen und nicht vergessen, selbigen mit dem vorhandenen Waynet zu verbinden.

Selbstverständlich kann man dazu auch einen „FREEPOINT“ benutzen.

Um zurück zu kommen, genau das selbe von der anderen Welt zu dieser Welt erstellen.

Gute Reise….2016/03/23(dlz)

spacer/levelchange.txt · Zuletzt geändert: 2016/03/23 00:39 von zollaidal