Fragen und Antworten zu Auslösern/Triggern

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

Zairo
Berserker
Beiträge: 84
Registriert: 25.10.2010, 11:23
Liga 1vs1: Gold
Mainrace: Zerg

Re: Fragen und Antworten zu Auslösern/Triggern

Beitrag von Zairo »

Hi Leute ich hab mal ne Frage :D

Wie kann ich es hibekommen dass wenn ein Spieler 25 Einheiten tötet dann eine beliebige anzahl an Mineralien bekommt?

Und anknüpfend darann... wie erstelle ich eine Rangliste in der man sieht wie viele Kills die Spieler haben?

Wenn ihr mir helfen könntet währe dass seeeeehr nett ;)
Benutzeravatar
Thial
Hydralisk
Beiträge: 134
Registriert: 12.06.2009, 12:03

Re: Fragen und Antworten zu Auslösern/Triggern

Beitrag von Thial »

Erstelle ein Array von integer, so dass für jeden spieler ein integer steht.
Dann erstellst du einen Trigger, der bei Kill auslöst und zählst für den tötenden Spieler den Wert um eins hoch.
Wie kann ich es hibekommen dass wenn ein Spieler 25 Einheiten tötet dann eine beliebige anzahl an Mineralien bekommt?
Schaue nach dem o.g. Trigger nach, ob sich der neue Wert durch 25 ohne Rest teilen lässt und setze dann entsprechend die Mineralien hoch.
wie erstelle ich eine Rangliste in der man sieht wie viele Kills die Spieler haben?
Grundlegend erstellst du einen Dialog, dessen Größe von der Spieleranzahl abhängt und jeweils einen Text pro Spieler enthält (oder einen Text mit Zeilenumbrüchen).
Für die Reihenfolge und die kills fallen mir zwei Varianten ein:
1) Direkt nach jedem Kill aktualisierst du die Liste (könnte langsam werden, wenn es viele Kills in kurzer Zeit gibt)
2) Du erstellst einen Trigger, der immer nach einem bestimmten Intervall deine Tablle aktualisiert
Zairo
Berserker
Beiträge: 84
Registriert: 25.10.2010, 11:23
Liga 1vs1: Gold
Mainrace: Zerg

Re: Fragen und Antworten zu Auslösern/Triggern

Beitrag von Zairo »

OKay ich habe nun einen integer für alle spieler erstell erstellt.

also da steht ja jetzt dass der spieler bei jedem kill +1 bekommt... wofür steht genau die +1? dafür dass er einen kill dazu rechnet?
und wie verknüpfe ich jetzt genau das mineralien einkommen damit?
Benutzeravatar
Thial
Hydralisk
Beiträge: 134
Registriert: 12.06.2009, 12:03

Re: Fragen und Antworten zu Auslösern/Triggern

Beitrag von Thial »

Zairo hat geschrieben:wofür steht genau die +1? dafür dass er einen kill dazu rechnet?
genau. kills[1] enthält die kills von player 1, kills[2] die von player 2 usw.
Dann kannst du beim draufaddieren einfach sagen "modifiziere kills[player] um +1"
Zairo hat geschrieben:und wie verknüpfe ich jetzt genau das mineralien einkommen damit?
Falls kills[player] modulo 25 = 0,
gib spieler "player" x mineralien
Zairo
Berserker
Beiträge: 84
Registriert: 25.10.2010, 11:23
Liga 1vs1: Gold
Mainrace: Zerg

Re: Fragen und Antworten zu Auslösern/Triggern

Beitrag von Zairo »

hmmm sorry auch wenns nervig ist...^^

also ich erstelle ein neus element: algemein / wenn dann falls....

und was stelle ich dann genau ein? also was muss ich dann alles anklicken?
sorry ich bin noch ziemlich neu im umgang mit dem editor^^

Okay hat sich erlefigt hab alles hinbekommen danke nochmal :)

Verdammt ich spam hier alles zu :D

naja es hat doch nicht ganz geklappt sorry... ich hoffe ihr könnt mir doch nochmal weiterhelfen.
hier mal ein bild :


http://www.bilderhoster.at/upload/iepyo1301577126.png



ich weis echt nich was ich falsch mache :(

Edit by Exekutor: Editfunktion könnte helfen um Trippleposts zu vermeiden ;)
Benutzeravatar
Thial
Hydralisk
Beiträge: 134
Registriert: 12.06.2009, 12:03

Re: Fragen und Antworten zu Auslösern/Triggern

Beitrag von Thial »

1) du kannst die variablen (gasincome) zu einer zusammenfassen, dazu wählst du bei der definition "array" aus und gibst die entsprechende anzahl an, wieviele du willst

2) der trigger sollte nicht zur karteninitialisierung gerufen werden sondern
Thial hat geschrieben:1) Direkt nach jedem Kill aktualisierst du die Liste (könnte langsam werden, wenn es viele Kills in kurzer Zeit gibt)
2) Du erstellst einen Trigger, der immer nach einem bestimmten Intervall deine Tabelle aktualisiert
Zairo
Berserker
Beiträge: 84
Registriert: 25.10.2010, 11:23
Liga 1vs1: Gold
Mainrace: Zerg

Re: Fragen und Antworten zu Auslösern/Triggern

Beitrag von Zairo »

Juhu dankeee :D
dass es echt manchmal an so kleingkeiten liegt^^
Benutzeravatar
KriegsHeerr
Space-Marine
Beiträge: 40
Registriert: 13.08.2010, 08:13
Liga 1vs1: Bronze
Liga 2vs2: Bronze

Re: Fragen und Antworten zu Auslösern/Triggern

Beitrag von KriegsHeerr »

Hallo kreative Köpfe,

wollte mal wissen ob es ein gutes Tutorial auf deutsch gibt, um mich wieder in den Editor einzufinden. Hatte bisher nur mit dem Warcraft 3 Editor zu tun.

Gibt es die Möglichkeit die Farbe einer Unit zu ändern? Nicht Spielerfarbe sondern Unitfarbe? Beispiel: Eine Schabe komplett Weiß zu machen?

Hab mir etwas überlegt und wollte mich mal dieses WE austoben.
Mein Battlenet Name: Kriegsherr
Rasse: Zerg
Benutzeravatar
MelleMellowski
Hydralisk
Beiträge: 127
Registriert: 18.06.2010, 18:29
Liga 1vs1: Bronze
Wohnort: Karlsruhe

Re: Fragen und Antworten zu Auslösern/Triggern

Beitrag von MelleMellowski »

also so ein allgemeines tut ist mir nicht bekannt - auf sc2mapster gibts ne menge tuts - aber halt auf englisch - hier im forum gibts ein paar spezielle auf deutsch :)

besonders das inv helden items ist sehr zu empfehlen

-mellowski
Bild

Aktuelles Projekt: StarCraft II Mod - Zed
viewtopic.php?f=14&t=2883

Bild
Zairo
Berserker
Beiträge: 84
Registriert: 25.10.2010, 11:23
Liga 1vs1: Gold
Mainrace: Zerg

Re: Fragen und Antworten zu Auslösern/Triggern

Beitrag von Zairo »

Hi Leute ;)

Bisher hat alles geklappt bei meiner map und sie nimmt langsam gestalt an, doch es fehlen noch ein paar details.

Mein erstes Problem ist denke ich einfach zu lösen doch ich komm einfach nicht drauf -.-
Ich möchte einen Bunker erstellen in dem ich eine Sonde kaufen kann die dann an einer bestimmten Region spawnen soll. Mit dieser Drohne will ich ich dann einen Helden aussuchen können den man mittels Region betreten bekommt und der dann an einer dritten region oder gebäude Spawnt.

wenn ihr mit das schonmal erklären könntet währe ich sehr dankbar :D

Mein nächstes Problem is folgendes:

Um den Bunker herrum Spanwen alle paar sekunden einheiten.... momentan immer 4 Linge 2 Marines und 1 Bersi.
Ich hatte aber die Idee das etwas anders zu gestalten, und zwar so, dass man wenn man auf den Bunker klickt 3 Slots (Buttons) zur Auswahl hat. Mit Hilfe der Slots kann man seinen man seinen Spawn dann anpassen. zum Beispiel wie im Normalfall würde es so aussehen.
Erster Slot 4 Linge
Zweiter Slot 2 MArines
Dritter Slot 1 Bersi

Man kann das ganze aber dann auch noch anpassen. zb.

Erster Slot 2 Marines
Zweiter Slot 2 Marines
Drittter Slot 1 Bersi

Also so dass man kombinieren kann wie man will.
Ich hoffe ihr versteht was ich meine :D

Wenn euch dieses slot-spawn-system gefällt und ihr mir dabei helft währe das echt geil :D
Benutzeravatar
GERnightmare95
Berserker
Beiträge: 74
Registriert: 11.03.2011, 20:02
Liga 1vs1: Gold
Liga 2vs2: Platin
Wohnort: Heide
Kontaktdaten:

Re: Fragen und Antworten zu Auslösern/Triggern

Beitrag von GERnightmare95 »

Da im Fragen und Antworten zum Starcraft II Galaxy Editor Thread anscheinend keiner reinguck versuche ich hier mal mein Glück^^
GERnightmare95 hat geschrieben:Hey ich baue gerade eine SC2 Version von Call of Duty - Black Ops und habe da ein paar Probleme.

1. Wie kann ich eine Variable auf eine Einheit festlegen, die durch die Fähigkeit "Fabrik - Ausbilden (Fabrik)" erstellt wurde?

2. Wie kann ich es machen, dass Der Charakter schießt, wenn man beispielsweise "Q" drückt? bzw. muss ich dannach noch irgendetwas anderes verändern damit auch alles funktioniert? Also damit er dahinschießt wo er hinschießen soll?

3. Wie kann ich es machen, dass die Kamera (Wie bei CoD) nach links rotiert, wenn ich mit der maus nach links gehe, nach rechts rotiert wenn ich mit der maus nach rechts gehe, nach oben rotiert, wenn ich mit der maus nach oben gehe u.s.w. Und wie kann ich es so machen, dass der Spieler die Kamera nur maximal so weit nach oben rotieren lassen kann, dass die Kamera im 90° Wilkel steht?

mfg

GERnightmare95
mfg

GERnightmare95

Bild
Benutzeravatar
GERnightmare95
Berserker
Beiträge: 74
Registriert: 11.03.2011, 20:02
Liga 1vs1: Gold
Liga 2vs2: Platin
Wohnort: Heide
Kontaktdaten:

Re: Fragen und Antworten zu Auslösern/Triggern

Beitrag von GERnightmare95 »

Zairo hat geschrieben:Ich möchte einen Bunker erstellen in dem ich eine Sonde kaufen kann die dann an einer bestimmten Region spawnen soll. Mit dieser Drohne will ich ich dann einen Helden aussuchen können den man mittels Region betreten bekommt und der dann an einer dritten region oder gebäude Spawnt.
Als erstes Solltest du deinem Bunker die Fähigkeit "Nexus - Ausbilden" verpassen und eine Schaltfläche erstellen mit der die Sonde erschafft wird. Als nächstes solltest du dem Bunker auch den richtigen Fähigkeitenbefehl zuweisen: "Fähigkeitenbefehl > Nexus - Ausbilden > Sonde bauen"

Das einzigste Problem ist jetzt, dass die Sonde neben dem Bunker erstellt wird :(
Ich werde nochmal gucken was man da machen kann ;)

Nun musst du deine 3 Regionen (In diesem Beispiel Region1, Region2 und Region3) und einen Punkte (Punkt1) bei dem der Held erstellt werden soll erstellen.

Jetzt öffnest du den "Triggereditor" und erstellst 3 Neue Trigger. Einen für jede Region. Ich nenne die Trigger jetzt einfach mal Trigger1, Trigger2 und Trigger3. Als Helden für Region 1 nehme ich einen Marine, als Helden für Region2 einen Berserker und als Helden für Region3 einen Zergling:
Trigger1:
Ereignis: (Einheit betritt/verlässt Region) Beliebige Einheit betritt Region1
Bedingung: (Vergleich > Auslöserdurchführungsanzahl) Anzahle der Male, die Trigger1 ausgeführt wurde == 0
(Vergleich > Auslöserdurchführungsanzahl) Anzahle der Male, die Trigger2 ausgeführt wurde == 0
(Vergleich > Auslöserdurchführungsanzahl) Anzahle der Male, die Trigger3 ausgeführt wurde == 0
Aktion: (Einheiten mit Standardausrichtung erstellen) 1 Space-Marine für Spieler 1 bei Punkt1 erstellen und Nutzung der Standardausrichtung (Keine Optionen)
Trigger2:
Ereignis: (Einheit betritt/verlässt Region) Beliebige Einheit betritt Region2
Bedingung: (Vergleich > Auslöserdurchführungsanzahl) Anzahle der Male, die Trigger1 ausgeführt wurde == 0
(Vergleich > Auslöserdurchführungsanzahl) Anzahle der Male, die Trigger2 ausgeführt wurde == 0
(Vergleich > Auslöserdurchführungsanzahl) Anzahle der Male, die Trigger3 ausgeführt wurde == 0
Aktion: (Einheiten mit Standardausrichtung erstellen) 1 Berserker für Spieler 1 bei Punkt1 erstellen und Nutzung der Standardausrichtung (Keine Optionen)
Trigger3:
Ereignis: (Einheit betritt/verlässt Region) Beliebige Einheit betritt Region3
Bedingung: (Vergleich > Auslöserdurchführungsanzahl) Anzahle der Male, die Trigger1 ausgeführt wurde == 0
(Vergleich > Auslöserdurchführungsanzahl) Anzahle der Male, die Trigger2 ausgeführt wurde == 0
(Vergleich > Auslöserdurchführungsanzahl) Anzahle der Male, die Trigger3 ausgeführt wurde == 0
Aktion: (Einheiten mit Standardausrichtung erstellen) 1 Zergling für Spieler 1 bei Punkt1 erstellen und Nutzung der Standardausrichtung (Keine Optionen)
Die bedingungen in den Triggern stellen sicher, dass Du noch keinen Helden ausgewählt hast. Hättest du in jedem Trigger nur eine Bedingung, dass der Aktuelle Auslöser noch nicht ausgelöst wurde, könntest du jeden Helden einmal auswählen :D Und das ist denke ich mal nich das was du willst^^

Ich werde nocheinmal eine kleine Testmap für dich bauen!

mfg

GERnightmare95
mfg

GERnightmare95

Bild
Zairo
Berserker
Beiträge: 84
Registriert: 25.10.2010, 11:23
Liga 1vs1: Gold
Mainrace: Zerg

Re: Fragen und Antworten zu Auslösern/Triggern

Beitrag von Zairo »

Okay danke :)
Ich habe jetzt einen viel leichteren weg rausgefunden denke ich^^
bin mirlerweile schon ganz gut dadrin die sachen selbst hinzu bekommen :D aber danke nochmal. das wird mir trotzdem sicher bei meinem verständins für den editor helfen.

Ich habe nun ein ganz anderes problem....

Also ich baue ja eine Zone control map.
Ich will es hinbekommen, dass wenn eine Einheit eine region betritt, ein bestimmtes Gebäude gespawnt wird. Das habe ich noch hinbekommen^^
Ich habe einen trigger erstellt
Ereignis --> Beliebige Einheit betritt Zone1
Bedingung --> Einheitenname = Forscher
Aktion --> Beweg auslödende Einheit sofort auf mitte von auslösende region
Ersetzt auslödende Einheit mit einem Gebäudespawner1

Nur meine Frage ist jetzt, ob ich alle Regionen zu einer Gruppe zusammenfassen kann, da meine map 11 x 11 Regionen groß ist müsste ich für jede Region einen Trigger erstellen. Der Trigger oben gilt ja nur für Zone 1 :(
Ich habe schon versucht oben anstelle von Zone 1, beliebige Zone zu nehmen aber das klappte nicht.
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 zu Auslösern/Triggern

Beitrag von SaVi »

Du kommst nicht drum rum alle Zonen einmal zu definieren. Du musst eine globale Variable erstellen und ihr so viele Indexe geben, wie du Zonen hast. Dann ziehst du über jede Zone eine Region, benennst sie übersichtlich um. Dann in der Map initialisierung sagst du

[Deine Variable][1] = (Deine Region 1)
[Deine Variable][2] = (Deine Region 2)

usw..

Dann erstellst du einen Auslöser:

Ereignis:
[Beliebige Einheit] betritt [Deine Region 1]
[Beliebige EInheit] betritt [Deine Region 2]
usw.. alle Regionen in Ereignis schreiben. Nicht die Varialben nehmen

Bedingung: Einheitentyp von [Auslösende Einheit] = Forscher

Aktion:
Beweg [auslösende Einheit] sofort auf [mitte] von [Auslösende Region]
Ersetzt auslödende Einheit mit einem Gebäudespawner1

Würde noch eine Abfrage hinzufügen (Bedingung) ob es nicht schon einen Gebäudespawner in der Region gibt :P

mfg Savi
Bild
Benutzeravatar
Fr3kSt4
Zergling
Beiträge: 19
Registriert: 16.04.2011, 18:29
Liga 1vs1: Platin
Liga 2vs2: Diamant

Re: Fragen und Antworten zu Auslösern/Triggern

Beitrag von Fr3kSt4 »

Wundert euch nicht!
Diese frage ist fast 1 zu 1 aus dem anderem thread ... aber der zweite teil passt hier besser rein:
Hallöööööö :mrgreen:
Ich möchte für meine Lan-Party/Geburtstagsfeier ( :wink: ) eine map erstellen die
Freax Tower wars! ähnelt.
Einige sachen bekomm ich nicht hin (Das könnt noch mehr werden da ich noch nicht soooo lange an der map sitze):

Data-Editor:
Ich will das mein Terran-Builder eine Turm bauen kann der wie ein Space-Marine aussieht. Aber anscheinend kann ich nicht einfach sagen das der Marine ein gebäude ist, denn dann hat er keine Gründfläche und mann kann einfach um ihn herrumlaufen usw.

Trigger-Editor:
Wenn die map startet steht für jeden spieler ein "Chooser" bereit. Ich will das die Kamera beim starten seinen chooser anguckt.Das hab ich soooo gemacht:

Die Kamera für Spieler 1 (Position von Chooser [bla.bla,blubb.bla]) ansehen lassen, über einen Zeitraum von 2.0 sekunden mit Existierende Geschwindigkeit% Anfangsgeschwindigkeit, 10% Verlangsamung.

Doch wenn es los geht, dann schwenkt er von unten links, aus einer SEHR weiten entfernung auf den chooser und kuckt ihn so schräg an... kp ob ihr das versteht aber sagen wir es mal so: Die kamera kuckt nicht wie normal von oben sondern von ... schräg oben links ... hoffe einer kann mir helfen ( oder mich zumindest verstehen :mrgreen: )
Jetzt auch zum Downloaden: http://www.megaupload.com/?d=538192YT
Antworten