Ergebnis 1 bis 11 von 11

Thema: [2k3] Parallel Process

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Zitat Zitat von Dhan Beitrag anzeigen
    Wie wäre es mit einem PP mit einem Inhalt wie:
    fork (Phase = 1) {
    __show pic 1
    __Phase++
    __wait x,y
    }
    fork (Phase = 2) {
    __show pic 2
    __Phase++
    __wait x,y
    }
    fork (Phase = 3) {
    __show pic 3
    __Phase++
    __wait x,y
    }
    fork (Phase = 4) {
    __show pic 4<--
    __Phase++
    __wait x,y
    }
    fork (Phase = 5) {Phase = 1}

    Und jedesmal, wenn du den PP neu startest, setzt du Phase auf 1
    Interessanter Ansatz. Das Problem ist aber, dass das Event da weiterläuft, wo es zuletzt stehen geblieben ist.
    Wenn aber die Phase auf 1 gesetzt ist, aber der letzte Moment im ParallelEvent (sieht roten Zeiger) z.B. an einer Stelle auf Phase 4 ist. Würde nachdem inkrementieren der Wert auf 2 sein und anstatt bei Phase 1 auf Phase 2 beginnen.

    netwarrior

  2. #2
    dann machst du das Phase++ über das Show Pic.

    Es werden nämlich solche Befehle wie Fork oder Change Variable, die nichts grafisch ändern oder auf irgendetwas warten, nie zwischeneinander unterbrochen (außer wenn mehr als 150.000 hintereinander sind oder so, wenn ich mich nicht irre).

  3. #3
    Zitat Zitat von netwarrior Beitrag anzeigen
    Wenn aber die Phase auf 1 gesetzt ist, aber der letzte Moment im ParallelEvent (sieht roten Zeiger) z.B. an einer Stelle auf Phase 4 ist. Würde nachdem inkrementieren der Wert auf 2 sein und anstatt bei Phase 1 auf Phase 2 beginnen.
    Recht hast du, aber dafür gibts ne Lösung: Bau in das PP eine weitere fork ein, nämlich:
    fork (Phase < -5) {Phase = 1}
    und hau ein Phase = -10 vor jede PP-Aktivierung, das kann von keinem Phase++ zerstört werden
    Zitat Zitat von Cherry Beitrag anzeigen
    Es werden nämlich solche Befehle wie Fork oder Change Variable, die nichts grafisch ändern oder auf irgendetwas warten, nie zwischeneinander unterbrochen (außer wenn mehr als 150.000 hintereinander sind oder so, wenn ich mich nicht irre).
    Das hast du getestet? Von echten Hochsprachen kenne ich, dass man der Machine nicht trauen darf und außer synchronized-Krams keine Atomarität besteht, andererseits könnte der Maker natürlich auch anders yielden - kann es sein, dass die Wahrscheinlichkeit auf einen schlechten Thread-Wechsel zwischen einer Bedingung und einem Befehl einfach verdammt klein ist?

  4. #4
    Da gibts irgendsoeine beknackte Logik drin, die hab ich irgendwann getestet, ja.

    Das ist ja auch der Grund, warum Power Mode 2003 funktioniert; oder der Itempointerpatch - wo ja in beiden Fällen eine Variable befüllt wird und dann nix zwischen dem Change Variable und dem folgenden Befehl kommen darf, weil es sonst nicht klappt.

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •