Zeige Ergebnis 1 bis 11 von 11
  1. #1
    Benutzerbild von Sypranto
    Registriert seit
    Dez 2012
    Beiträge
    10
    Likes
    0

    Methoden der Wegfindung

    Hallo liebe Ingame - Starcraft 2 Community,

    in diesem Tutorial möchte Ich Euch einigeverschiedene Wegfindungs-Methoden vorstellen, mit denen Ihr Eure Einheiten auf einer Arkade-Karte von einem Gebiet in ein anderes bringen könnt. Dabei werde ich zuerst auf zwei bekanntesten Methoden eingehen und zusätzlich noch zwei meiner eigenen Methoden, welche ich mir überlegt habe.

    Inhalt:

    1. Vorwort

    2. Klippen-Bewegung

      • Definition
      • Erklärung mit Beispielkarte
        • Die Karte
        • Regionen
        • Auslöser
          • Was wird benötigt?
          • Auslöser zur Wegfindung (inkl. Spawn)
          • Auslöser zur Vernichtung


      • Probleme
      • Fazit mit Vor & Nachteilen


    3. Einzelregion-Bewegung

      • Definition
      • Erklärung mit Beispielkarte
        • Die Karte
        • Regionen
        • Auslöser
          • Was wird benötigt?
          • Auslöser zum Spawn
          • Auslöser zur Wegfindung
          • Auslöser zur Vernichtung


      • Probleme
      • Fazit mit Vor & Nachteilen


    4. Bewegungs-Mitteilung

      • Definition
      • Erklärung Begriffe
      • Erklärung mit Beispielkarte
        • Die Karte
        • Regionen
        • Auslöser
          • Was wird benötigt?
          • Initialisierung von Variablen
          • Auslöser zur Wegfindung (inkl. Spawn)
          • Auslöser zur Vernichtung
          • Optionale Erweiterungen


      • Probleme
      • Fazit mit Vor & Nachteilen


    5. Einheitenwert-Bewegung

      • Definition
      • Erklärung mit Beispielkarte: Circle TD
        • Die Karte
        • Regionen
        • Auslöser
          • Was wird benötigt?
          • Initialisierung von Variablen
          • Auslöser zum Spawn
          • Auslöser zur Wegfindung (Kreis)
          • Auslöser zur Wegfindung (Wechsel)
          • Auslöser zur Vernichtung
          • Optionale Erweiterungen


      • Probleme
      • Fazit miz Vor & Nachteilen


    6. Gesamtübersicht mit Fazit

    7. Begriffserklärungen!







    1 Vorwort

    Zuerst einmal sollte von mir gesagt sein das die Karten an denen ich diese Methoden erklären werde auf Tower-Defense bzw. Tower-Wars Karten bezogen sind. Die Methoden können aber auch für alle anderen Karten verwendet werden, wobei die Vor & Nachteile welche ich hier erwähne, auch größten Teils nur für diese Karten gelten.

    Einige von euch werden bemerken das sich einige Texte von Methode zu Methode einfach wiederholen. Das liegt daran das die Abläufe in diesen Fällen einfach komplett identisch sind und ich keinen Grund sehe dort den Text nocheinmal neu zu schreiben. Außerdem würde dies nur verwirren.
    Geändert von Sypranto (27. April 2014 um 01:20 Uhr)


  2. #2
    Benutzerbild von Sypranto
    Registriert seit
    Dez 2012
    Beiträge
    10
    Likes
    0
    2 Klippen-Bewegung

    • Definition
      Die Klippenbewegung ist wohl die einfachste Variante um einen zwischen zwei Punkten hin und herzubewegen. Dabei ist nur eine Sache zu beachten: Die Einheiten bewegen sich entweder auf Klippen (Erhöhungen) oder zwischen Klippen (Vertiefungen). Um dies zu erreichen ist es nötig, dass das Terrain - dem Weg, auf welchem die Einheiten laufen sollen, angepasst wird.


    • Erklärung mit Beispielkarte

      • Die Karte
        Die Karte soll für einen Spieler ausgelegt sein, welcher mithilfe von Türmen die feindlichen Creeps zwischen den Klippen aufhalten soll, damit diese nicht das untere Ende der Karte erreichen. Der Erscheinungspunkt (Spawn) ist hierbei am oberen Rand der Karte und das Ende unten.

        Erstellen wir uns also zunächst eine neue Karte und passen den Untergrund an unsere Bedürfnisse an. In diesem Falle ist das Gesamte Spielfeld Grau hinterlegt.



        Als nächstes müssen wir für die Creeps einen Weg erstellen, auf welchem diese laufen sollen um zum Ziel zu gelangen. Dazu vertiefen wir die über die gesamte Karte einen Weg von oben nach unten und bauen zwischendurch einige Kurven mit ein. Damit die Vertiefung ein wenig anders aussieht, habe ich ihr hier einen braunen Untergrund hinterlegt.


      • Regionen
        Das Terrain unserer Karte ist also fertig und wir benötigen nur noch zwei Regionen. Eine Region am Anfang des Weges in welcher die Einheiten erscheinen (spawnen) und aus welcher sie auch gleichzeitig loslaufen. Diese bekommt von mir den Namen „crp_spawn“ (Creep Spawn) und ist an der grünen Farbe zu erkennen. Zum anderen brauchen wir eine Region am Ende des Weges , damit die Einheiten auch wieder aus dem Spiel entfernt werden, nachdem diese unsere Leben ausgesaugt haben. Diese bezeichne ich als „crp_end“ (Creep Ende) und ist an der roten Farbe zu erkennen.

      • Auslöser
        • Was wird benötigt?
          • 1 x Auslöser zum Spawnen (inkl. Wegfindung) Erstellen wir uns einen neuen Auslöser und geben diesem den Namen „Creep_Spawn“.
          • 1x Auslöser zur Vernichtung
            Erstellen wir uns einen neuen Auslöser und geben diesem den Namen „Creep_End“.
        • Auslöser zum Spawnen (inkl. Wegfindung)

          Für diese Methode ist es sinnvoll den Auslöser mit der Wegfindung direkt mit dem Spawn für die feindlichen Einheiten zu verknüpfen.

          Dazu öffnen wir nun den Auslöser "Creep_Spawn".

          Legen wir zum testen der Karte das Ereignis auf "Alle 1.0 Sekunden von Spielzeit". Um dies zu erreichen wählen wir unter Ereignis 'Neues Element' und suchen nach „Periodisches Ereignis“. Die dort vorhandenen Einstellungen können nach belieben getauscht werden.

          Nun müssen wir zwei Aktionen erstellen um den Auslöser zu vervollständigen. Die eine soll die Einheit am Anfang des Weges erstellen und die andere die zuvor erstellte Einheit loslaufen lassen.
          Legen wir also zuerst die Einheitenerstellungs-Aktion an. Diese soll eine neue Einheit mit Standardausrichtung erstellen.
          Wählen wir also zuerst 'Neues Element' unter Aktion aus und suchen dann in der Auswahl nach "Einheiten mit Standardausrichtung erstellen". Bei Einheit wählen wir einfach ein WBF aus. Die Anzahl bleibt auf 1 bestehen. Die Spielernummer wird mal auf Spieler 2 gestellt, damit die Einheit für uns auch als feindlich dargestellt wird.
          Wenn Wir nun auf 'Punkt' klicken, öffnet sich ein neues Fenster. Dort wählen wir oben "Funktion" aus und suchen das Element "Mitte der Region" und bestätigen dies.
          Dort wo nun 'Region' steht tragen wir nun unsere Start-Region des Weges ein, welche hier „crp_spawn“ ist.

          Zuletzt fehlt uns noch die Aktion, welche besagt, das die Einheit von ihrer aktuellen Position bis zum Ende laufen soll. Wählen wir also erneut 'Neues Element' unter Aktion aus und suchen dann in der Auswahl nach "Befehl erteilen". Indem wir auf '(Auslösende Einheit)' klicken, öffnet sich wieder ein neues Fenster. Hier suchen wir nun nach „Zuletzt erstellte Einheit“ und bestätigen dies.
          Nun klicken wir auf die blaue Klammer vor 'Befehl'. Dort suchen wir nach "Befehl - Zielfindungspunkt" und bestätigen dies. 'Fähigkeit' wird nun nur noch durch „Bewegen“ getauscht (Achtung: Wenn ihr nach Bewegen sucht, werden euch mehrere Bewegungen angezeigt. Achtet darauf das die Fähigkeit in der 2. Spalte auch „Bewegen“ heisst).

          Klicken wir auf Zielpunkt öffnet sich erneut ein neues Fenster in welchem wir wieder oben "Funktion" auswählen. Hier suchen wir nun erneut "Mitte der Region" und bestätigen. 'Region' muss in dieser Aktion nun durch unsere Region am Ende des Weges ersetzt werden, welche hier als „crp_end“ bekannt ist.

          Creep_Spawn
          Ereignisse
          Timer - Alle 1.0 Sekunden von Echtzeit
          Lokale Variablen
          Bedingungen
          Aktionen
          Einheit - 1 WBF für Spieler 2 bei (Mitte von crp_spawn) erstellen und Nutzung der Standardausrichtung (Keine Optionen)
          Einheit - (Zuletzt erstellte Einheit) Befehl ( Bewegen visiert (Mitte von crp_end) an) erteilen (Bestehende Befehle ersetzen)
        • Auslöser zur Vernichtung

          Öffnen wir zunächst den Auslöser „Creep_End“.
          Dieser Auslöser soll dann aktiviert werden, sobald eine Einheit in die End-Region eintritt. Wählen wir also 'Neues Element' unter Ereignisse aus und suche nach 'Einheit betritt/verlässt Region“. In diesem Ereignis tauschen wir nun 'Region' durch unsere End-Region aus, welche hier „creep_end“ heisst.

          Unter Aktionen soll nun die auslösende Einheit aus dem Spiel entfernt werden. Dazu wählen wir wieder 'Neues Element' unter Aktionen. Nun suchen wir nach „Einheit entfernen“. An dieser Aktionen müssen keine weiteren Änderungen vorgenommen werden.

          Creep_End
          Ereignisse
          Einheit - Beliebige Einheit Betritt crp_end
          Lokale Variablen
          Bedingungen
          Aktionen
          Einheit - (Auslösende Einheit) aus dem Spiel entfernen

        Nun ist unsere Karte auch schon fertig und wir können diese laufen lassen. Warten wir nun ein wenig ab, so sollte sich folgendes Bild auf der Minikarte ergeben:



    • Probleme


      • Kurven / Ränder
        Die Einheiten bewegen sich auf dem kürzesten Weg zum Ziel, was zur Folge hat das die Einheiten nicht in der Mitte des Weges laufen, sondern einfach um die Ecken brechen und dann an der Seite weiterlaufen.Kann mit Wegblockern umgangen werden, aber ist unschön.

      • Kreuzung
        Oftmals ist es sehr schön auf der Karte eine Kreuzung zu haben, also eine Stelle an welcher die Einheiten mehrmals entlang laufen. Da die Eineheit immer den kürzesten Weg nimmt, ignoriert diese den von euch "gewünschten" Effekt und läuft direkt zum Ziel.

        Karte mit Kreuzungen:


        Ergebnis:


      • Flugeinheiten:
        Flugeinheiten ignorieren die von euch gesetzten Klippen und fliegen einfach darüber hinweg. Dies kann zwar auch mit Blockern umgangen werden, ist aber auch eine unschöne Lösung.

        Ergebnis:



    • Fazit mit Vor & Nachteilen
      Nun diese Methode ist für Karten, welche KEINEN speziellen Weg anfordern sehr gut anzuwenden. Beispielsweise wenn wir keine Klippen haben und die Einheiten einfach von Punkt A nach B laufen sollen ohne Zwischenstopp aber für richtige Tower-Defense Karten ist dies eher ungeeignet. Wenn man allerdings die Klippen weglässt dann handelt es sich dabei auch schon um eine Art von Methode 2. Da es hier nicht mehr viel zu sagen gibt, lasse ich die Vor und Nachteile an dieser Stelle auch fallen, da es unnötig wäre, diese nochmals zu erwähnen.
    Geändert von Sypranto (20. Dezember 2012 um 18:37 Uhr)

  3. #3
    Benutzerbild von Sypranto
    Registriert seit
    Dez 2012
    Beiträge
    10
    Likes
    0
    3 Einzelregion-Bewegung


    • Definition
      Hierbei handelt es sich um die wohl verbreiteste Methode um Einheiten zwischen vielen verschiedenen Regionen hin und herzubewegen. Dabei wird in etwa das selbe Prinzip wie bei der Klippenbewegung eingesetzt nur das es hier für jede Ecke in einem Weg eine extra Region gibt. Das heisst aber auch das es viel mehr Auslöser geben muss, da wir für jede Region einen Aulöser anlegen müssen der so reagieren muss das er die Einheit in die nächste Region schicken soll. So ist es aber möglich die Probleme aus der Klippenbewegung abzuschaffen und hierbei ist es dann auch egal, ob ihr die Einheiten in einem Graben lassen wollt oder ob diese einfach auf derselben Höhe wie auch eure Türme stehen sollen, entlang gehen sollen.
    • Erklärung mit Beispielkarte
      • Die Karte
        Die Karte soll für einen Spieler ausgelegt sein, welcher mithilfe von Türmen die feindlichen Creeps aufhalten soll, welche auf einem Weg laufen, damit diese nicht das untere Ende der Karte erreichen. Der Erscheinungspunkt (Spawn) ist hierbei am oberen Rand der Karte und das Ende unten.

        Erstellen wir uns also zunächst eine neue Karte und passen den Untergrund an unsere Bedürfnisse an. In diesem Falle ist das Gesamte Spielfeld Grau hinterlegt.



        Als nächstes müssen wir für die Creeps einen Weg erstellen, auf welchem diese laufen sollen um zum Ziel zu gelangen. Dieser Weg ist bei meiner Karte hier ebenerdig mit der restlichen Karte. Ich habe auch direkt mehrere Kreuzungen mit eingebaut.



      • Regionen
        Das Terrain unserer Karte ist also fertig und wir benötigen nur noch die Regionen. Zuerst eine Region am Anfang des Weges in welcher die Einheiten erscheinen (spawnen) und aus welcher sie auch gleichzeitig loslaufen. Diese bekommt von mir den Namen „crp_spawn“ (Creep Spawn) und ist an der grünen Farbe zu erkennen. Zum anderen brauchen wir eine Region am Ende des Weges, damit die Einheiten auch wieder aus dem Spiel entfernt werden, nachdem diese unsere Leben ausgesaugt haben. Diese bezeichne ich als „crp_end“ (Creep Ende) und ist an der roten Farbe zu erkennen.
        Nun benötigen wir noch 14 weitere Regionen, da wir auf unserem Weg 14 Eckpunkte haben. Je eine Region landet somit also auf je einer Ecke. Diese bezeichne ich hier als "crp_wp_1" bis "crp_wp_14" (Creep Waypoint X) und diese sind an der blauen Farbe zu erkennen.



      • Auslöser
        • Was wird benötigt?
          • 1 x Auslöser zum Spawnen (inkl. Weg zur ersten Region)
            Erstellen wir uns einen neuen Auslöser und geben diesem den Namen „Creep_Spawn“.
          • 1x Auslöser zur Vernichtung
            Erstellen wir uns einen neuen Auslöser und geben diesem den Namen „Creep_End“.
          • 14 x Auslöser um die Creeps zwischen den Regionen zu bewegen
            Erstellen wir zuerst ersteinmal nur einen neuen Auslöser und geben diese den Namen "Creep_Way_1_2" (Creep Way von Region 1 nach 2).
            Später ist es einfacher diesen Auslöser 14x zu kopieren und nur die Regionen zu verändern statt 14x alles neuzuerstellen.

        • Auslöser zum Spawnen (inkl. Weg zur ersten Region)

          Für diese Methode ist es sinnvoll den Auslöser mit der Wegfindung direkt mit der Befehl das die Einheit zur ersten Region laufen soll zu verknüpfen.

          Dazu öffnen wir nun den Auslöser "Creep_Spawn".

          Legen wir zum testen der Karte das Ereignis auf "Alle 1.0 Sekunden von Spielzeit". Um dies zu erreichen wählen wir unter Ereignis 'Neues Element' und suchen nach „Periodisches Ereignis“. Die dort vorhandenen Einstellungen können nach belieben getauscht werden.

          Nun müssen wir zwei Aktionen erstellen um den Auslöser zu vervollständigen. Die eine soll die Einheit am Anfang des Weges erstellen und die andere die zuvor erstellte Einheit loslaufen lassen.
          Legen wir also zuerst die Einheitenerstellungs-Aktion an. Diese soll eine neue Einheit mit Standardausrichtung erstellen.
          Wählen wir also zuerst 'Neues Element' unter Aktion aus und suchen dann in der Auswahl nach "Einheiten mit Standardausrichtung erstellen". Bei Einheit wählen wir einfach ein WBF aus. Die Anzahl bleibt auf 1 bestehen. Die Spielernummer wird mal auf Spieler 2 gestellt, damit die Einheit für uns auch als feindlich dargestellt wird.
          Wenn Wir nun auf 'Punkt' klicken, öffnet sich ein neues Fenster. Dort wählen wir oben "Funktion" aus und suchen das Element "Mitte der Region" und bestätigen dies.
          Dort wo nun 'Region' steht tragen wir nun unsere Start-Region des Weges ein, welche hier „crp_spawn“ ist.

          Zuletzt fehlt uns noch die Aktion, welche besagt, das die Einheit von ihrer aktuellen Position bis zur ersten WegPunkt-Region laufen soll. Wählen wir also erneut 'Neues Element' unter Aktion aus und suchen dann in der Auswahl nach "Befehl erteilen". Indem wir auf '(Auslösende Einheit)' klicken, öffnet sich wieder ein neues Fenster. Hier suchen wir nun nach „Zuletzt erstellte Einheit“ und bestätigen dies.
          Nun klicken wir auf die blaue Klammer vor 'Befehl'. Dort suchen wir nach "Befehl - Zielfindungspunkt" und bestätigen dies. 'Fähigkeit' wird nun nur noch durch „Bewegen“ getauscht (Achtung: Wenn ihr nach Bewegen sucht, werden euch mehrere Bewegungen angezeigt. Achtet darauf das die Fähigkeit in der 2. Spalte auch „Bewegen“ heisst).

          Klicken wir auf Zielpunkt öffnet sich erneut ein neues Fenster in welchem wir wieder oben "Funktion" auswählen. Hier suchen wir nun erneut "Mitte der Region" und bestätigen. 'Region' muss in dieser Aktion nun durch unsere erste WegPunkt-Region ersetzt werden. In diesem Falle ist wäre das "crp_wp_1".

          Creep_Spawn
          Ereignisse
          Timer - Alle 1.0 Sekunden von Echtzeit
          Lokale Variablen
          Bedingungen
          Aktionen
          Einheit - 1 WBF für Spieler 2 bei (Mitte von crp_spawn) erstellen und Nutzung der Standardausrichtung (Keine Optionen)
          Einheit - (Zuletzt erstellte Einheit) Befehl ( Bewegen visiert (Mitte von crp_wp_1) an) erteilen (Bestehende Befehle ersetzen)


        • Auslöser zur Vernichtung

          Öffnen wir zunächst den Auslöser „Creep_End“.
          Dieser Auslöser soll dann aktiviert werden, sobald eine Einheit in die End-Region eintritt. Wählen wir also 'Neues Element' unter Ereignisse aus und suche nach 'Einheit betritt/verlässt Region“. In diesem Ereignis tauschen wir nun 'Region' durch unsere End-Region aus, welche hier „creep_end“ heisst.

          Unter Aktionen soll nun die auslösende Einheit aus dem Spiel entfernt werden. Dazu wählen wir wieder 'Neues Element' unter Aktionen. Nun suchen wir nach „Einheit entfernen“. An dieser Aktionen müssen keine weiteren Änderungen vorgenommen werden.

          Creep_End
          Ereignisse
          Einheit - Beliebige Einheit Betritt crp_end
          Lokale Variablen
          Bedingungen
          Aktionen
          Einheit - (Auslösende Einheit) aus dem Spiel entfernen
        • Auslöser für Bewegungen zwischen den Regionen

          Nun benötigen wir nurnoch die Auslöser um die Einheiten zwischen den Regionen zu bewegen.

          Zunächst gehen wir in den Auslöser für unseren Wegpunkt den wir bearbeiten möchten. Logischerweise wähle ich zum Start "Creep_Way_1_2".
          Dieser Auslöser soll dann aktiviert werden, sobald eine Einheit in die erste Region eintritt. Wählen wir also 'Neues Element' unter Ereignisse aus und suche nach 'Einheit betritt/verlässt Region“. In diesem Ereignis tauschen wir nun 'Region' durch unsere erste Region aus, welche hier „crp_wp_1“ heisst.

          Nun müssen wir der Einheit welche die Region betreten hat '(Auslösende Einheit)' mitteilen, das diese sich zur nächsten Region bewegen soll. Wählen wir also erneut 'Neues Element' unter Aktion aus und suchen dann in der Auswahl nach "Befehl erteilen". Nun klicken wir auf die blaue Klammer vor 'Befehl'. Dort suchen wir nach "Befehl - Zielfindungspunkt" und bestätigen dies. 'Fähigkeit' wird nun nur noch durch „Bewegen“ getauscht (Achtung: Wenn ihr nach Bewegen sucht, werden euch mehrere Bewegungen angezeigt. Achtet darauf das die Fähigkeit in der 2. Spalte auch „Bewegen“ heisst).

          Klicken wir auf Zielpunkt öffnet sich erneut ein neues Fenster in welchem wir wieder oben "Funktion" auswählen. Hier suchen wir nun erneut "Mitte der Region" und bestätigen. 'Region' muss in dieser Aktion nun durch unsere nächste Wegpunkt-Region ersetzt werden. In diesem Falle wäre das "crp_wp_2".
          'Bestehende Befehle ersetzen' muss nun nurnoch gegen "Nach bestehenden Befehlen" ausgetauscht werden, da unsere Einheiten zuerst in die Mitte laufen sollen.

          Creep_Way_1_2
          Ereignisse
          Einheit - Beliebige Einheit Betritt crp_wp_1
          Lokale Variablen
          Bedingungen
          Aktionen
          Einheit - (Auslösende Einheit) Befehl ( Bewegen visiert (Mitte von crp_wp_2) an) erteilen (Nach bestehenden Befehlen)


          => Diesen kompletten Auslöser kopieren wir nun 13 weitere Male, benennen den Auslöser entsprechend und passen die einzelnen Regionen an.

        Nun ist unsere Karte auch schon fertig und wir können diese laufen lassen. Warten wir nun ein wenig ab, so sollte sich folgendes Bild auf der Minikarte ergeben:




        Folgt demnächst!

    Geändert von Sypranto (23. Dezember 2012 um 22:26 Uhr)

  4. #4
    Benutzerbild von Sypranto
    Registriert seit
    Dez 2012
    Beiträge
    10
    Likes
    0
    4 Bewegungs-Mitteilung
    Geändert von Sypranto (29. April 2014 um 20:25 Uhr)

  5. #5
    Benutzerbild von Sypranto
    Registriert seit
    Dez 2012
    Beiträge
    10
    Likes
    0
    5 Einheitenwert-Bewegung

    << in Bearbeitung >>

    Definition
    Bei der Einheitenwert
    -Bewegung bekommen alle feindlichen Einheiten beim erstellen einen Wert zugewiesen.
    Beim durchschreiten einer Region wird nun mittels des Einheitenwertes festgelegt zu welcher Position diese Einheiten laufen soll.

    Erklärung mit Beispielkarte

    Die Karte



    Die feindlichen Einheiten erscheinen in der grünen Region EnemySpawn, und laufen von dort aus über die blauen Regionen Way01, Way02, Way03..., Way07 bis hin zu roten Region Destination, in welcher die Einheiten wieder aus dem Spiel entfernt werden.


    Auslöser und Variablen
    Insgesamt werden für diese Karte 4 Auslöser (Intialisierung, Spawn, Bewegung, Zerstörung) sowie eine Variable benötigt.

    Information

    Angabe der Elemente in Auslösern ist wie folgt aufgebaut:
    Bezeichung/Kategorie | Ereignis/Aktion/Bedingung | Quelle
    Dabei kann das Ereignis/die Aktion/ oder die Bedingung meist einfach in das Suchfeld eingeben werden, anhand der Bezeichnung und der Quelle könnt Ihr dann noch überprüfen ob das ausgewählte Element das richtige ist, da
    es einige mehrfach geben kann.



    I. Spawn
    Für den Spawn-Auslöser wird jede Sekunde der Spielzeit ein WBF in der Mitte der Region "EnemySpawn" erstellt.


    1. Erstelle einen Auslöser mit der Bezeichnung "Spawn"
    2. Ereignisse:
      1. Timer | Perdiodisches Ereignis | Standard
        1. Alle 1.0 Sekunden von Spielzeit


    3. Lokale Variablen: <Keine>
    4. Bedingungen: <Keine>
    5. Aktionen:
      1. Einheit | Einheiten mit Standardausrichtung erstellen | Standard
        1. Klickt auf Einheit und wählt die von euch gewünschte Einheit aus, wie bei mir zB. ein WBF
        2. Klickt auf Punkt, wählt im neuem Fenster die Quelle: "Funktion" aus
          1. Gebiet | Mitte der Region | Standard
            1. Klickt auf Gebiet und wählt EnemySpawn aus.








    II. Zerstörung
    Der Zerstörungs-Auslöser wird dann aufgerufen, wenn eine beliebige Einheit die Region "Destination" betritt, und
    entfernt die auslösende Einheit aus dem Spiel.


    1. Erstelle einen Auslöser mit der Bezeichnung "Destination"
    2. Ereignisse:
      1. Einheit | Einheit betritt/verlässt Region | Standard
        1. Klickt auf Gesamte Karte, wählt im neuem Fenster die Quelle: "Wert" aus:
          1. Wählt Destination aus.
    3. Lokale Variablen: <Keine>
    4. Bedingungen: <Keine>
    5. Aktionen:
      1. Einheit | Einheit entfernen | Standard




    III. Bewegung
    Für die gesamte Bewegung benötigen wir neben dem Bewegungsauslöser noch eine Variable sowie einen Auslöser zum initialisieren der Variable.

    A) Variable anlegen
    Wir benötigen ein 1D-Array der Grösse 9 vom Typen 'Region'

    Was ist ein Array, was hat es mit diesen Dimensionen auf sich?

    Zunächst einmal muss gesagt werden, dass das Array im Starcraft2-Editor als Datenliste angezeigt wird, ich aber IMMER Array sagen werde, da dies die korrekte Bezeichnung dafür ist!

    1. Was ist ein Array
    Ein Array ist eine Variable wie jede andere auch, nur das hier nicht nur ein Wert drin abgespeichert werden kann, sondern mehrere.
    Aber auch immer nur vom selben Typen, das heisst wir können NICHT in einem Array eine Region, eine Einheit und eine Integer-Zahl abspeichern (An die Informatiker: In SC2 geht es nicht, soweit ich weiss :P).

    2. Die Grösse des Arrays und der Zugriff auf die Elemente
    Die Grösse des Arrays gibt an, wieviele Werte von dem ausgewählten Typen abgespeichert werden können.
    Geben wir einem Array die Grösse 3, dann sprechen wir diese 3 Werte wie folgt an:
    Wert 1 = ArrayName[0]
    Wert 2 = ArrayName[1]
    Wert 3 = ArrayName[2]
    Ihr seht das der Index in einem Array bei 0 anfängt und nicht bei 1 (Behalten.. sehr wichtig!).

    3. Was ist eine Dimension?
    Ein ganz normales Array hat üblicherweise eine Dimension, das heisst geben unserem Array auch nur die Grösse für die erste Dimension mit. Ein 1-Dimensionales Array kann man sich auch vorstellen wie eine Tabelle mit nur einer Spalte und "Grösse"-Zeilenanzahl.
    In einem 2-Dimensionalem Array muss man 2 Grössen angeben, eine für die erste Dimension und eine für die zweite. Die Anzahl der Werte welche abgespeichert werden können, ergibt sich aus der multiplikation aller Dimensionsgrössen.
    Ein 2D-Array kann man sich nun als ganze Tabelle mit Dimension1-Zeilen und Dimension2-Spalten vorstellen, und wird wie folgt angesprochen:
    Wert 1 = ArrayName[0][0]
    Wert 2 = ArrayName[0][1]
    ...

    Beispiel zur Vewendung:
    Wenn Ihr die hier erklärte Einheitenwert-Bewegung nutzen wollt, für 8 Spieler dieselbe "Karte" zur Verfügung stellt, bräuchtet ihr trotzdem nur 4 Auslöser für die gesamte Karte.
    Im Bewegungsauslöser wird die angesprochende Region nun noch mit der Spielernummer kombiniert. So könnten wir alle Regionen für alle in ein einiges Array packen ArrayName[Spielernr-1][RegionsNr] usw.

    Im SC2-Editor gibt es noch eine 3. und eine 4. Dimension, welche man aber mit normalen Worten schlecht erklären kann... wenn man den Sinn dahinter versteht ist das auch nicht mehr nötig! :P


    Erstelle eine neue Variable (Strg+B) und gebe dieser den Namen "regWay".
    - Typ: Region
    - Konstant: Nein
    - Datenliste: Ja
    -- Dimensionen: 1
    -- Grösse: 9
    - Legt Standardwert fest: Nein

    B) Variable "regWay" initialisieren.
    Um unsere zuvor erstellte Variable "regWay" initialisieren zu können, legen wir einen neuen Aulöser mit dem Namen "varInit_regWay" an.


    1. Ereignisse:

    - Spiel | Karteninitialisierung | Standard
    Lokale Variablen: <Keine>
    Bedingungen: <Keine>
    Aktionen:
    - Variable | Variable festlegen | Standard
    -- Klicke auf Variable und wähle 'regWay' aus.
    << Kopiere diese Aktion nun 8 weitere Male, sodass sie insgesamt 9x vorzufinden ist.
    Nummeriere den Index der Variable nun von 0 bis 8 durch, und weise jeder Aktion eine Region zu, in der Reihenfolge wie
    die Einheiten im Spiel erscheinen (also bei "EnemySpawn"), hinweg über alle Weg-Regionen "Way01"... "Way07" bis hin zur Region "Destination" an letzter Stelle.



    C) Wegfindung

    Nun fehlt nurnoch der Auslöser welche die Einheiten von "EnemySpawn" über alle "Way.." bis hin zur "Destination" Region bewegen soll.
    Der Auslöser wird dann ausgelöst, wenn eine beliebige Einheit irgendeine unserer Regionen betritt. Nun geben wir unserer Einheit den Einheitenwert an Position 0 von Aktuellem Wert + 1. Standardmäßig steht der Einheitenwert auf 0 und brauch daher nicht intialisiert zu werden. Wenn die Einheit nun in der Spawn-Region erscheint, wird der Auslöser ausgelöst und der Einheitenwert wird auf 1 gesetzt.
    Die Region an die sich die Einheit bewegen soll steht an der 2. Stelle in unserem Array, also am Index 1, also bewegen wir die Einheit zu Region[Einheitenwert].

    Erstelle einen neuen Auslöser mit dem Namen "Wegfindung"
    Ereignisse:
    - Einheit | Einheit betritt/verlässt Region | Standard
    -- Klicke auf Gesamte Karte und wähle die Quelle: Wert -> dort die Region "EnemySpawn" aus.
    << Wiederhole den Vorgang für ALLE Regionen >>
    Lokale Variablen: Keine
    Bedingungen: Keine
    Aktionen:
    - Einheit | Benutzerdefinierten Einheiten-Wert festlegen | Standard
    -- Klicke auf Zuletzt erstellte Einheit und wähle:
    --- Einheit | Auslösende Einheit | Standard
    -- Klicke auf 100.0 und wähle als Quelle Funktion:
    --- Mathematik | Arithmetisch (Reell) | Standard
    --- Klicke auf Wert1 und wähle als Quelle Funktion:
    ---- Einheit | Benutzerdefinierter Wert der Einheit | Standard

    Neue Aktion:
    - Einheit | Befehl erteilen | Standard
    -- Kicke auf die ( VOR Fähigkeitenbefehl und wähle:
    --- Befehl | Befehl - Zielfindungspunkt | Standard
    -- Klicke auf Fähigkeitenbefehl und wähle Bewegen | Bewegen (Ganz wichtig, in beiden Spalten muss Bewegen stehen)
    -- Klicke auf Zielpunkt und wähle als Quelle Funktion:
    --- Gebiet | Mitte der Region | Standard
    ---- Klicke auf Gebiet und wähle als Quelle Variable und wähle dort 'regWay' aus.
    ----- Klicke auf 0, also dem Index der Variable, und wähle als Quelle Funktion:
    ------ Anpassung | Reell zu Integer umwandeln | Standard
    ------- Klicke auf 0.0 wähle als Quelle Funktion:
    -------- Einheit | Benutzerdefinierter Wert der Einheit | Standard




    >>>> Folgt...
    Geändert von Sypranto (30. April 2014 um 19:46 Uhr)

  6. #6
    Benutzerbild von Sypranto
    Registriert seit
    Dez 2012
    Beiträge
    10
    Likes
    0
    6 Gesamtübersicht & Fazit
    Geändert von Sypranto (29. April 2014 um 20:25 Uhr)

  7. #7
    Benutzerbild von Sypranto
    Registriert seit
    Dez 2012
    Beiträge
    10
    Likes
    0
    Beitrag reserviert

  8. #8
    Benutzerbild von Jyler
    Registriert seit
    Sep 2013
    Beiträge
    2
    Likes
    0
    Sau geiles tutorial!
    Danke

  9. #9
    Benutzerbild von Hanna21
    Registriert seit
    Dez 2013
    Beiträge
    2
    Likes
    0
    Vielen herzlichen Dank für das Tutorial! Echt super!

  10. #10
    Benutzerbild von Sypranto
    Registriert seit
    Dez 2012
    Beiträge
    10
    Likes
    0
    ! Ja ich melde mich auch mal wieder... es tut mir wahnsinnig Leid das ich das Tutorial nicht zu Ende schreiben konnte, aber nun bin ich ja wieder da... muss mich nur ein wenig einarbeiten und demnächst geht es dann endlich weiter!

    In diesem Tutorial fehlen ja eh nurnoch 2 weitere Bewegungsarten, und wenn diese dann auch abgeschlossen sind wird es weitere Tutorials zu anderen Berreichen geben.
    Falls irgendwas erwünscht ist: Bitte per PN an mich

    Liebe Grüße

    Sypranto

  11. #11
    Benutzerbild von Santispi
    Registriert seit
    Aug 2017
    Beiträge
    34
    Likes
    1
    Echt gut gemacht! Danke!

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.
  •