So da bin ich es noch einmal
Wie die Überschrift sagt geht es um Variablen.
In der Mathematik sind Variablen ja einfach Platzhalter für Werte...in der Computersprache glaube ich auch aber es ist irgendwie ein wenig komplizierter.
Ich habe in meinen Auslösern mehrere Probleme bezüglich den eigentlich Simplen Variablen...
Zu nächst erläutere ich erst einmal die Map.
Am Anfang erscheint ein Dialogfenster wo man über die Vier Schaltflächen sich ein Held auswählen kann (8Spieler haben die 4Helden zur Auswahl).
Nun möchte ich z.B. ein Auslöser erstellen, dass wenn einer der 8Spieler ein Feld betritt ein Ereignis geschieht. Da aber die 8Helden nicht einfach auf der Karte rum stehen sondern sich jeder ein aussucht kann ich nicht das beliebige Einheit in einen der Helden umstellen da dieser Held ja noch nicht auf der Karte sich befindet.
("Beliebige Einheit betritt Entfernung von 1.0 PUNKT")
Soweit ich weiß funktioniert das mit den Variablen aber allerdings weiß ich nicht was ich da genau einstellen muss.
Das selbe Problem habe ich mit einem Boss-Monster. Es spawnt bei dem betreten eines Feldes aber wenn es stirbt soll etwas geschehen(habe das monster wieder nicht zur Auswahl statt beliebige einheit)
Mein nächstes Problem bezüglich der Variablen (jedenfalls glaube ich, dass ich sie benötige) ist ein Timer:
Auslöser1
Ereigniss: Einheit - Beliebige Einheit betritt Region 001 (auch hier wieder die beliebige Einheit in die noch nicht vorhandenen Helden umstellen)
Aktion: Timer - (neuer Timer) als Wiederholt Timer starten, der nach 5.0 Sekunden abläuft
Auslöser2
Ereignisse: Timer - (Zuletzt gestarteter Timer) läuft ab
Aktionen: Einheit - 5 zerglinge für Spieler 15 bei .....
Irgendwie funktioniert das nicht ganz so wie ich will (denke mal Variablen werden benötigt). Also.... Ich wollte damit eigentlich erreichen dass ein Spieler eine bestimmte Region/Punkt betritt und ab dann sollen Einheiten spawnen. Dieser Timer soll später allerdings stoppen sobald die nächste Region von einem Spieler erreicht wird.
lowyyy
Variablen
Moderatoren: Exekutor[NHF], Deathwing, GarfieldKlon, G A F, SaVi
-
- Moderator des Zwielichts
- Beiträge: 616
- Registriert: 21.05.2008, 16:53
- Battle.net ID: SaVi.509
- Liga 1vs1: Diamant
- Liga 2vs2: Platin
- Mainrace: Protoss
Re: Variablen
Du kannst in Ereignisse keine Variablen eingeben. Diese kannst du nur in den Bedingungen und Aktionen benutzen.
("Beliebige Einheit betritt Entfernung von 1.0 PUNKT")
Möglichkeit 1: Bedingung: Auslösende Einheit == Variable
Möglichkeit 2: Bedingung: Einheitentyp von (Auslösende Einheit) == (Der Einheitentyp der Einheit halt^^)
Zu der Sache mit dem Timer muss ich über das "Zuletzt gestateter Timer" etwas sagen.
Es gibt viele Arten dieser Aktion. Zuletzt erstellte Einheit.. Zuletzt erstellter Dialog usw..
Diese Aktionen funktionieren nur wenn der Timer, die Einheit oder der Dialog in diesem Auslöser erstellt wurden. Du kannst nicht in einem Auslöser "Zuletzt gestateter Timer" benutzen, wenn dieser eigentlich in einem anderen erstellt wurde.
Hier erstellst du mit [Strg + B] eine neue Variable (Nicht die Variable im Auslöser erstellen, sondern links in der Liste mit den Auslösern, damit sie GLOBAL ist) und nennst sie Timer, zusätzlich stellst du den Timer-Typ ein. Dann gehst du zu dem Auslöser in dem du diesen Timer erstellt hast und setzt danach mit [Strg + R] --> das erste ausgewählte, die Variable links und Zuletzt erstellter Timer rechts ein. Somit weißt du den Zuletzt gestarteten Timer dieser Variable zu, welches es dir ermöglicht darauf in anderen Auslösern zugreifen zu können.
Nun kannst du bei dem anderen Auslöser aber nicht in Events diese Variable benutzen.
Sondern eben nur in Bedingungen:
Lösung: Bedingung: (Auslösender Timer) == (Variable)
Mfg SaVi
("Beliebige Einheit betritt Entfernung von 1.0 PUNKT")
Möglichkeit 1: Bedingung: Auslösende Einheit == Variable
Möglichkeit 2: Bedingung: Einheitentyp von (Auslösende Einheit) == (Der Einheitentyp der Einheit halt^^)
Zu der Sache mit dem Timer muss ich über das "Zuletzt gestateter Timer" etwas sagen.
Es gibt viele Arten dieser Aktion. Zuletzt erstellte Einheit.. Zuletzt erstellter Dialog usw..
Diese Aktionen funktionieren nur wenn der Timer, die Einheit oder der Dialog in diesem Auslöser erstellt wurden. Du kannst nicht in einem Auslöser "Zuletzt gestateter Timer" benutzen, wenn dieser eigentlich in einem anderen erstellt wurde.
Hier erstellst du mit [Strg + B] eine neue Variable (Nicht die Variable im Auslöser erstellen, sondern links in der Liste mit den Auslösern, damit sie GLOBAL ist) und nennst sie Timer, zusätzlich stellst du den Timer-Typ ein. Dann gehst du zu dem Auslöser in dem du diesen Timer erstellt hast und setzt danach mit [Strg + R] --> das erste ausgewählte, die Variable links und Zuletzt erstellter Timer rechts ein. Somit weißt du den Zuletzt gestarteten Timer dieser Variable zu, welches es dir ermöglicht darauf in anderen Auslösern zugreifen zu können.
Nun kannst du bei dem anderen Auslöser aber nicht in Events diese Variable benutzen.
Sondern eben nur in Bedingungen:
Lösung: Bedingung: (Auslösender Timer) == (Variable)
Mfg SaVi