Fragen und Antworten zum Starcraft II Galaxy Editor

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

ImpKatzelot
Space-Marine
Beiträge: 31
Registriert: 30.01.2011, 15:07
Liga 1vs1: Gold
Liga 2vs2: Platin
Mainrace: Random
Kontaktdaten:

Re: Fragen und Antworten zum Starcraft II Galaxy Editor

Beitrag von ImpKatzelot »

Ich bin auch gerade am Map-Basteln und komme gerade bei den Lobby-Einstellungen nicht weiter. Genauer gesagt kriege ich die Abfrage nicht hin.
Es geht um eine 2-Spieler-Teammap. Ich habe jetzt drei entsprechende Spielvarianten eingestellt, die nahezu identisch sind. Nur die Schwierigkeit der Spieler ist Normal / Schwer / Brutal und nachdem die Übernahme da nicht geklappt hat hab ich noch die Lobby-Zeiten auf 7 / 5 / 3 Sekunden gestellt.
Wie kann ich diese Werte jetzt per Auslöser abfragen, so dass ich danach irgendwelche Eigenschaften in Abhängigkeit der Einstellung weiter ändern kann? Ich habe jetzt:

Ereignisse
Spiel - Karteninitialisierung
Lokale Variablen
Attributswert = Kein Attributswert <Attributswert>

Aktionen

Variable - Attributswert = (Lobby-Verzögerung Spielwert) festlegen

Allgemein - Wenn (Bedingungen), dann führe mehrere (Aktionen) aus
Wenn, dann, sonst
Allgemein - Sonst, wenn (Bedingungen), dann führe (Aktionen) aus
Else If Attributswert == 7
Dann Variable - Schwierigkeitsgrad = NORMAL festlegen

[und noch zwei solche Bedingungen für 5 und 3]


Leider übernimmt die erste Aktion gar nichts. Eine entsprechende Test-UI-Ausgabe in der Wenn-Dann-Sonst-Abfrage, die ich hier mal rausgelassen hab, wurde nicht ausgegeben. Woran liegts? Ist das ein Bug? Gibts Möglichkeiten, das zu umgehen?
Deathwing
Moderator der Leere
Moderator der Leere
Beiträge: 287
Registriert: 30.04.2010, 16:15
Liga 1vs1: Meister
Liga 2vs2: Keine
Mainrace: Random
Wohnort: Berlin

Re: Fragen und Antworten zum Starcraft II Galaxy Editor

Beitrag von Deathwing »

ImpKatzelot hat geschrieben:Ich bin auch gerade am Map-Basteln und komme gerade bei den Lobby-Einstellungen nicht weiter. Genauer gesagt kriege ich die Abfrage nicht hin.
Es geht um eine 2-Spieler-Teammap. Ich habe jetzt drei entsprechende Spielvarianten eingestellt, die nahezu identisch sind. Nur die Schwierigkeit der Spieler ist Normal / Schwer / Brutal und nachdem die Übernahme da nicht geklappt hat hab ich noch die Lobby-Zeiten auf 7 / 5 / 3 Sekunden gestellt.
Wie kann ich diese Werte jetzt per Auslöser abfragen, so dass ich danach irgendwelche Eigenschaften in Abhängigkeit der Einstellung weiter ändern kann? Ich habe jetzt:

Ereignisse
Spiel - Karteninitialisierung
Lokale Variablen
Attributswert = Kein Attributswert <Attributswert>

Aktionen

Variable - Attributswert = (Lobby-Verzögerung Spielwert) festlegen

Allgemein - Wenn (Bedingungen), dann führe mehrere (Aktionen) aus
Wenn, dann, sonst
Allgemein - Sonst, wenn (Bedingungen), dann führe (Aktionen) aus
Else If Attributswert == 7
Dann Variable - Schwierigkeitsgrad = NORMAL festlegen

[und noch zwei solche Bedingungen für 5 und 3]


Leider übernimmt die erste Aktion gar nichts. Eine entsprechende Test-UI-Ausgabe in der Wenn-Dann-Sonst-Abfrage, die ich hier mal rausgelassen hab, wurde nicht ausgegeben. Woran liegts? Ist das ein Bug? Gibts Möglichkeiten, das zu umgehen?
Hey impkatzelot, für Einstellungen dieser Art erstell doch einfach unterschiedliche Game Varianten unter Karte/Spielvarianten
Und diese kannste per Auslöser auch leicht abfragen, weil die auslöser Startet er ja erst bei Beginn der Map, aber der Lobby-Timer ist ja schon davor und kann deshalb nicht abgefragt werden

Grüße

Deathwing
It is done... All have been given that which must be given.
I now seal the Dragon Soul forever...
For it to be as it must, yes.

Bild
ImpKatzelot
Space-Marine
Beiträge: 31
Registriert: 30.01.2011, 15:07
Liga 1vs1: Gold
Liga 2vs2: Platin
Mainrace: Random
Kontaktdaten:

Re: Fragen und Antworten zum Starcraft II Galaxy Editor

Beitrag von ImpKatzelot »

Deathwing hat geschrieben: Hey impkatzelot, für Einstellungen dieser Art erstell doch einfach unterschiedliche Game Varianten unter Karte/Spielvarianten
Und diese kannste per Auslöser auch leicht abfragen, weil die auslöser Startet er ja erst bei Beginn der Map, aber der Lobby-Timer ist ja schon davor und kann deshalb nicht abgefragt werden

Grüße

Deathwing
Hallo Deathwing,

also: Die Spielvarianten habe ich erstellt, und zwar drei Stück:
1.) 2 menschliche Spieler, sind festen Teams zugeordnet, Schwierigkeit beider Spieler ist auf Normal, Lobby-Timer auf 7 Sek., Name "Normal"
2.) 2 menschliche Spieler, sind festen Teams zugeordnet, Schwierigkeit beider Spieler ist auf Schwer, Lobby-Timer auf 5 Sek., Name "Schwer"
3.) 2 menschliche Spieler, sind festen Teams zugeordnet, Schwierigkeit beider Spieler ist auf Brutal, Lobby-Timer auf 3 Sek., Name "Brutal"

Ich hab dich jetzt so verstanden, dass ich auf die Lobby-Zeit nicht zugreifen kann, es aber einfach ist, auf die Varianten zuzugreifen. Meinst du damit zum Beispiel den Name der Variante (der mir ja auch weiterhelfen würde)?
Wenn du das meinst: Welchen Auslöser brauche ich dafür? Oder welche Abfrage? Das hatte ich auch schon gesucht, aber nichts passendes gefunden.

Viele Grüße
ImpKatzelot
Deathwing
Moderator der Leere
Moderator der Leere
Beiträge: 287
Registriert: 30.04.2010, 16:15
Liga 1vs1: Meister
Liga 2vs2: Keine
Mainrace: Random
Wohnort: Berlin

Re: Fragen und Antworten zum Starcraft II Galaxy Editor

Beitrag von Deathwing »

Na jetzt haste mich ganz verwirrt ;)
du initializierst doch bereits das was du zum Anfang haben wolltest, den Schwierigkeitsgrad ;)
Also brauchste den ja gar net mehr rausfiltern^^
Bzw. was hast du denn vor damit?^^

grüße
It is done... All have been given that which must be given.
I now seal the Dragon Soul forever...
For it to be as it must, yes.

Bild
ImpKatzelot
Space-Marine
Beiträge: 31
Registriert: 30.01.2011, 15:07
Liga 1vs1: Gold
Liga 2vs2: Platin
Mainrace: Random
Kontaktdaten:

Re: Fragen und Antworten zum Starcraft II Galaxy Editor

Beitrag von ImpKatzelot »

Deathwing hat geschrieben:Na jetzt haste mich ganz verwirrt ;)
Bzw. was hast du denn vor damit?^^
Es geht um eine Map, auf der man Aufträge erfüllen muss. Das ist an sich nicht so schwer, aber man wird permanent von Zerg genervt. Und die Anzahl dieser Zerg, die einen nerven, soll vom Schwierigkeitsgrad abhängen. Wenn ich den Schwierigkeitsgrad mal habe, setze ich abhängig davon globale Variablen:
Multiplikator Zerglinge = 0,5 / 1,0 / 1,5
Multiplikator Schaben = ... ...
... ...
Und beim Spawn steht dann z.B. Spawne (6 * Multiplikator Zerglinge) Einheiten Zergling.
Und so weiter für die anderen Einheiten auch.

Der Schwierigkeitsgrad ist dabei auch in einer globalen Variable gespeichert.
Diese nimmt aus irgendwelchen Gründen das hier:
Schwierigkeitsgrad = (Schwierigkeitsgrad für Spieler 1) <Schwierigkeitsgrad>
leider nicht richtig an. Denn irgendwie ist der Schwierigkeitsgrad, der dabei rauskommt, immer Normal.
Dann dachte ich, dass vielleicht das Auslesen der Schwierigkeit verbuggt ist. Könnte ja sein. Und wollte deshalb einen anderen Wert der Spielvariante auslesen. Das hat aber auch nicht geklappt. Weißt du jetzt was ich meine bzw. wo ich hänge?
Deathwing
Moderator der Leere
Moderator der Leere
Beiträge: 287
Registriert: 30.04.2010, 16:15
Liga 1vs1: Meister
Liga 2vs2: Keine
Mainrace: Random
Wohnort: Berlin

Re: Fragen und Antworten zum Starcraft II Galaxy Editor

Beitrag von Deathwing »

also wenn es dir nur darum geht wieviele units kommen,
gibt es für den typ integer einen vordefiniterte funktion Difficulty(X/X/X/X)
diese spawnt direkt in abhängigkeit von der spielschwierigkeit einheiten ;)
It is done... All have been given that which must be given.
I now seal the Dragon Soul forever...
For it to be as it must, yes.

Bild
ImpKatzelot
Space-Marine
Beiträge: 31
Registriert: 30.01.2011, 15:07
Liga 1vs1: Gold
Liga 2vs2: Platin
Mainrace: Random
Kontaktdaten:

Re: Fragen und Antworten zum Starcraft II Galaxy Editor

Beitrag von ImpKatzelot »

Die Funktion schaue ich mir auf jeden Fall mal an.
Wäre allerdings cool, wenn ich ggf. auch Upgrades einstellen könnte.
Was z.B. auch noch dabei ist, ist eine Mutalisken-Ecke (mit paar Zerg-Gebäuden). Auf Normal sollen Mutas aber gar nicht kommen, deshalb soll zu Spielbeginn die Ecke entfernt werden. Aber eben nur auf Normal. Gleiches gilt für die Startaufstellung eines Verbündeten - bei einem höheren Schwierigkeitsgrad soll der etwas schlechter dastehen (auch wieder über Einheiten bei Karteninitialisierung entfernen).

//Edit:
habe jetzt mal was versucht:
Neue Integer = Difficulty (0/1/2/3)
Und dann geschaut was diese Neue Integer ist. Die ist auch immer 1.
Ich vermute jetzt, dass irgendwas an der Einstellung der Spielvarianten nicht stimmt. Deshalb nochmal genauer was ich da eingegeben habe:
Spieltyp:
Alle drei Varianten Kategorie Benutzerdefiniert, Name 2-Spieler Teamspiel
Alle drei Varianten Modus Benutzerdefiniert, der Name ist hier aber Normal/Schwer/Brutal
Ansonsten wie oben schon geschildert mit Lobby-Verzögerungen und Spielerschwierigkeitsgraden.

//nochmal Edit
wenn du ICQ hast kann ich dir die Map auch mal schicken, vllt hab ich irgendwas Elementares übersehen, was dir sofort auffällt
Deathwing
Moderator der Leere
Moderator der Leere
Beiträge: 287
Registriert: 30.04.2010, 16:15
Liga 1vs1: Meister
Liga 2vs2: Keine
Mainrace: Random
Wohnort: Berlin

Re: Fragen und Antworten zum Starcraft II Galaxy Editor

Beitrag von Deathwing »

ich kann dir nur msn/skype/xfire anbieten ;) wenn du eines davon hast schick mir dort deinen namen, dann add ich dich sofort^^ ansonsten hmm, interessantes problem^^ vllt wirklich nur ne kleinigkeit ,)
It is done... All have been given that which must be given.
I now seal the Dragon Soul forever...
For it to be as it must, yes.

Bild
ImpKatzelot
Space-Marine
Beiträge: 31
Registriert: 30.01.2011, 15:07
Liga 1vs1: Gold
Liga 2vs2: Platin
Mainrace: Random
Kontaktdaten:

Re: Fragen und Antworten zum Starcraft II Galaxy Editor

Beitrag von ImpKatzelot »

Deathwing hat geschrieben:ich kann dir nur msn/skype/xfire anbieten ;) wenn du eines davon hast schick mir dort deinen namen, dann add ich dich sofort^^ ansonsten hmm, interessantes problem^^ vllt wirklich nur ne kleinigkeit ,)
Ich hab dir meinen Skype-Nick per PM geschickt.
ImpKatzelot
Space-Marine
Beiträge: 31
Registriert: 30.01.2011, 15:07
Liga 1vs1: Gold
Liga 2vs2: Platin
Mainrace: Random
Kontaktdaten:

Re: Fragen und Antworten zum Starcraft II Galaxy Editor

Beitrag von ImpKatzelot »

Ich habe nach einigem Rumprobieren und einem Gedankenanstoß von Deathwing - danke :-) - jetzt eine Lösung für das Problem mit den Schwierigkeitsstufen gefunden.
Unter Karte -> Spielattribute kann man selbst Dropdown-Menüs erstellen, die dann in der Lobby erscheinen (genau solche wie die normalen, bei denen man z.B. 1v1 / 2v2 / JgJ auswählen kann). Jedes solches Menü ist dabei ein Spielattribut. Hier lässt sich auch einstellen, wer das Menü in der Lobby sieht (z.B. jeder) und wer es umstellen kann (z.B. nur der Host).
In den Auslösern kann man dann eine Variable definieren:

Schwierigkeit = (Schwierigkeitsgrad Spielwert) <Attributswert>

[hier für das Spielattribut namens Schwierigkeitsgrad]

Anschließende Abfragen sind dann natürlich beliebig möglich.
Lisca
Sonde
Beiträge: 2
Registriert: 08.08.2011, 21:53

Re: Fragen und Antworten zum Starcraft II Galaxy Editor

Beitrag von Lisca »

Hallöchen,

nachdem ich nun 10 Seiten dieses Threads und die Suchfunktion durch hab und noch keine Antwort habe, dacht ich mir, ich stell einfach mal meine Frage ;-)

Wie kann man 2 "Spieler" kontrollieren die einander feindlich gegenüberstehen? Am besten nicht gleichzeitig sondern per switch, das ich zb " ctrl + i " auf meiner tasta eingebe und die Sicht und Kontrolle wechsle.

mfg lisca
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: Fragen und Antworten zum Starcraft II Galaxy Editor

Beitrag von SaVi »

Ich hab das mal so gelöst:

Das Event ist, ein Spieler drückt die Taste "C", dachte mir C für Change :)
Dann wird jede Einheit von Spieler 1 und 2 in 2 verschiedene Einheitengruppen gespeichert (Variable: Temporärer Speicher Typ: Einheitengruppe Index: 2) und anschließend wird der Owner von jeder Einheit in den 2 Einheitengruppen zum jeweilig anderen Spieler übergeben.

Am Schluss wird alles resettet, indem ich alle Einheiten wieder aus dem temporären Speicher entferne :) (Die 2 Einheitengruppen-Variablen)

Code: Alles auswählen

Change Owner
    Events
        UI - Player Any Player presses C key Down with shift Allow, control Allow, alt Allow
    Local Variables
    Conditions
    Actions
        Unit Group - Pick each unit in (Any units in (Entire map) owned by player 1 matching Excluded: Missile, Dead, Hidden, with at most Any Amount) and do (Actions)
            Actions
                Unit Group - Add (Picked unit) to Temporärer Speicher[1]
        Unit Group - Pick each unit in (Any units in (Entire map) owned by player 2 matching Excluded: Missile, Dead, Hidden, with at most Any Amount) and do (Actions)
            Actions
                Unit Group - Add (Picked unit) to Temporärer Speicher[2]
        Unit Group - Pick each unit in Temporärer Speicher[1] and do (Actions)
            Actions
                Unit - Change ownership of (Picked unit) to player 2 and Retain Color
        Unit Group - Pick each unit in Temporärer Speicher[2] and do (Actions)
            Actions
                Unit - Change ownership of (Picked unit) to player 1 and Retain Color
        Unit Group - Remove all units from Temporärer Speicher[1]
        Unit Group - Remove all units from Temporärer Speicher[2]
Falls das nicht dem entspricht was du eigentlich haben wolltest, dann sag ruhig bescheid und sag was dir daran nicht passt

mfg SaVi

Hier noch die Map zum besser anschauen:

http://www.file-upload.net/download-364 ... C2Map.html
Bild
Benutzeravatar
Thial
Hydralisk
Beiträge: 134
Registriert: 12.06.2009, 12:03

Re: Fragen und Antworten zum Starcraft II Galaxy Editor

Beitrag von Thial »

Du kannst die beiden Einheitengruppen auch statt global als lokale Variablen definieren, dann musst du die Gruppen am Ende nicht entfernen (passiert automatisch). Außerdem hat lokal den Vorteil, dass du bei mehreren Spielern nichts weiter beachten musst und du die Anzahl der globalen Variablen klein hälst (was bei Trigger-lastigen Karten für mehr übersicht im Editor sorgt).

Das mit dem CTRL bei der Tastenkobination kannst du beim Event mit angeben, dass Savi auch benutzt hat.
Deathwing
Moderator der Leere
Moderator der Leere
Beiträge: 287
Registriert: 30.04.2010, 16:15
Liga 1vs1: Meister
Liga 2vs2: Keine
Mainrace: Random
Wohnort: Berlin

Re: Fragen und Antworten zum Starcraft II Galaxy Editor

Beitrag von Deathwing »

@Savi
Ja da stimme ich Thial zu, eine Benutzung von lokalen Variablen ist speicherfreundlicher und sparrt Auslöserzeilen ;)
Außerdem kannst du somit den Code eh noch verkürzen, da du die Lokalen Variablen gleich deklanieren kannst, das würde dann so aussehen:

Code: Alles auswählen

Change
    Events
        UI - Player Any Player presses C key Down with shift Allow, control Allow, alt Allow
    Local Variables
        Local Unit Group of Changing Player = (Any units in (Entire map) owned by player (Triggering player) matching Excluded: Missile, Dead, Hidden, with at most Any Amount) <Unit Group>
        Local Unit Group of Changed Player = (Any units in (Entire map) owned by player 2 matching Excluded: Missile, Dead, Hidden, with at most Any Amount) <Unit Group>
    Conditions
    Actions
        Unit Group - Pick each unit in Local Unit Group of Changing Player and do (Actions)
            Actions
                Unit - Change ownership of (Picked unit) to player 2 and Change Color
        Unit Group - Pick each unit in Local Unit Group of Changed Player and do (Actions)
            Actions
                Unit - Change ownership of (Picked unit) to player (Triggering player) and Change Color
It is done... All have been given that which must be given.
I now seal the Dragon Soul forever...
For it to be as it must, yes.

Bild
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: Fragen und Antworten zum Starcraft II Galaxy Editor

Beitrag von SaVi »

Hehe :)

Da habt ihr schon recht, habe das anscheinend vergessen^^ Hatte es eigentlich ganz anders vorgehabt, wo ich die Variablen global benötigt hätte.
Habs ja dann doch ganz easy gelöst, blos auf die Idee die globalen dann gleich zu temporären Variablen zu machen bin ich nicht mehr gekommen :D
Bild
Antworten