Zeige Ergebnis 1 bis 5 von 5
  1. #1
    Bergbauarbeiter Benutzerbild von Black)Ninja
    Registriert seit
    Jun 2004
    Beiträge
    8
    Likes
    0

    Paralleles Ausführen Mehrerer trigger

    Hallo,

    ich weiß bereits, dass jeder trigger bei seiner ausführung einen Thread darstellt, der quasi parallel zu den anderen triggern läuft.

    Nun hab ich folgendes Problem:

    Ich habe Trigger A und während seiner ausführung soll Trigger B (oder Aktionsblock B, weil es kein ereignis gibt) gestartet werden.
    Nun soll aber Trigger A Parallel zu B weiterlaufen.
    In der Praxis wird jedoch A solange pausiert, bis B fertig ist.

    Gibt es eine möglichkeit dies zu umgehen?

  2. #2
    Hellion Benutzerbild von OutsiderXE
    Registriert seit
    Apr 2003
    Beiträge
    192
    Likes
    0
    außer bei queues oder ungünstig platzierten waits /wait fors kann ich mir eigentlich kein szenarion vorstellen bei dem die trigger nicht parallel ablaufen könnten.

    poste doch mal deinen code (screenshots oder so) von beiden triggern.
    (OutsiderXE's Blog: gaming, mapping & writing since 2007
    Der Lord der Clans - Die Buchumsetzung englische Version (Link 1), deutsche Version (Link 1)
    Der Tag des Drachen - Die Buchumsetzung: englische Version (Link 1), (Link 2), deutsche Version (Link 1)
    Der letzte Wächter - Die Buchumsetzung: englische Version (Link 1), deutsche Version (Link 1)

  3. #3
    Maps Benutzerbild von Ahli
    Registriert seit
    Mai 2006
    Ort
    in Seenähe
    Beiträge
    826
    Likes
    0
    In sc2 können Treads nicht parallel ablaufen.

    Man kann zwar mehrere Threads starten, aber diese werden nacheinander abgearbeitet.

    Durch waits kann abgewechselt werden, welcher Thread gerade läuft.
    Waits verschieben die Ausführung des weiteren Codes um einige Takte im Spiel (die Milisekundenangabe könnte man also mit ner Auslöser-Takt-Angabe austauschen... es war glaube 1/32 als kürzestes... da am besten Küken fragen).

    Auslöser die weiter oben in der Liste stehen, werden vor denen ausgeführt, die dadrunter stehen, soweit ich das bisher bemerkt habe.

    Ich tippe, dass das in SC2 so läuft, ist, dass es wesentlich einfacher ist das Spiel synchron auf allen Computern ablaufen zu lassen. SC2 sollte aber in anderen Bereichen des Spiels von mehreren Kernen profitieren.
    meine Diablo1 map
    Ahli: hab nie wc3 gemappt :S bin glatt von scbw zu sc2
    Tomura: oh
    muzzel: OH


    Werbung hält Fanpages am Leben. Bitte deaktiviert Adblock auf den Seiten, die ihr unterstützen wollt.

  4. #4
    Maps Benutzerbild von Küken
    Registriert seit
    Jul 2007
    Beiträge
    451
    Likes
    0
    Was Ahli sagt ist korrekt. Der kürzeste Takt, den SC2-Trigger verarbeiten können liegt in der Tat bei 1/32 oder 0.03125, diesen erreicht man über einen Wait von 0 Sekunden. Jeder Wert über Null resultiert in einem 1/16 oder größerem Takt.

    Ich würde vorschlagen, du erklärst mal dein spezifisches Problem; auch wenn parallele Threads keine Option sind, gibt es vielleicht eine alternative Lösung.
    There's no spark.
    No light in the dark.

  5. #5
    Bergbauarbeiter Benutzerbild von Black)Ninja
    Registriert seit
    Jun 2004
    Beiträge
    8
    Likes
    0
    Ich hab das Problem jetzt umgehen können, indem ich meinen trigger B nicht mehr durch A starten lies, sondern durch ein bestimmtes ereignis, welches ein bestimmtes Verhalten auslöste.

    Das Ursprüngliche Problem war etwas falsch von mir Formuliert. Trigger A ruft eine Selbstkreierte Aktion auf, wie viele Waits enthält, wäre B ein anderen Trigger gewesen, wäre das Problem mittels Parameter nicht Warten lösbar .

    Aber vielen Dank zu der Info mit den Taktraten

Forumregeln

  • Es ist dir nicht erlaubt, neue Themen zu verfassen.
  • Es ist dir nicht erlaubt, auf Beiträge zu antworten.
  • Es ist dir nicht erlaubt, Anhänge hochzuladen.
  • Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.
  •