Variablen

Habt ihr Fragen zum Galaxy Editor, oder möchtet ihr eure Karte vorstellen? Alles was mit dem Thema Editor und Modding zu tun hat, gehört hier rein.

Moderatoren: Exekutor[NHF], Deathwing, GarfieldKlon, G A F, SaVi

Antworten
Benutzeravatar
lowyyy
Sonde
Beiträge: 6
Registriert: 29.05.2012, 15:26
Liga 1vs1: Diamant
Liga 2vs2: Diamant
Mainrace: Protoss

Variablen

Beitrag von lowyyy »

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
SaVi
Moderator des Zwielichts
Moderator des Zwielichts
Beiträge: 616
Registriert: 21.05.2008, 16:53
Liga 1vs1: Diamant
Liga 2vs2: Platin
Mainrace: Protoss

Re: Variablen

Beitrag von SaVi »

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
Bild
Antworten