Map Ordner

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

Benutzeravatar
TomDe
Ultralisk
Beiträge: 1521
Registriert: 22.03.2009, 00:31

Re: Map Ordner

Beitrag von TomDe »

Ja, ich wüßte nicht wie das mit einer Variable geht. Wäre sehr nett, wenn man mir das erklären könnte.

Probleme bei Fall 1.
Nur noch mal ne kurze Erläuterung zu dem was ich erreichen will:
Es muss in einem Gebiet (Gebiet des Guardian Shields) abgefragt werden, ob die "Schaden-Zufügende-Einheit" und die Einheit die Schaden erleidet den Guardian Shield Buff haben bzw. sich im Einzugsbereich des Guardian Shields befinden.

Fall 1: Wenn ja, dann findet gar keine Schadensreduktion statt.

Fall 2 und 3: Wenn einer der Einheiten sich nicht im Guardian Shield befindet, dann findet eine Schadensreduktion statt.


Probleme bei Fall 2 und 3.
Problem 1:
Hab die Testmap die ich von Deathwing erhalten hatte ausprobiert und festgestellt, dass ein Immortal, der innerhalb des Guardian Shields steht und von außerhalb des Guardian Shields Schaden bekommt zu erst sein Harded Shield aktiviert, womit der Schaden dann bei 10 liegt und dann das Guardian Shield diesen Schaden um 50 % reduziert. (Ergebnis: 5 Schaden)

Ein Immortal der außerhalb des Guardian Shields steht und von einem Immortal innerhalb des Guardian Shields Schaden erleidet, der reduziert zu erst 50 % des Schadens und dann wird das Harded Shield aktiviert. (Ergebnis: 10 Schaden)

Wie man sieht ist der Unterschied, dass der Immortal außerhalb 10 Schaden erhält und der innerhalb des Guardian Shields nur 5 Schaden erhält.

Dabei soll der Effekt des Guardian Shields sich immer zu erst auslösen und dann erst das Harded Shield. (Gleiches gilt für Rüstungen etc.)

Wo kann ich das einstellen?

Problem 2:
Wenn ein Stalker von innerhalb des Guardian Shields einen Immortal angreift, der außerhalb des Guardian Shields steht, dann müsste der Immortal theoretisch 7 Schaden bekommen und das Harded Shield dürfte sich optisch nicht aktivieren. Er bekommt auch 7 Schaden, aber das Harded Shield aktiviert sich optisch.
Ist wohl ein Problem ähnlicher Art. Ich hoffe das ist leicht zu lösen. ^^



Danke für die Mühe und die Hilfe, die ihr euch macht!
Ich würde sogar Geld für einen Kurs bezahlen, der mir das mal Näher bringt wie das funktioniert. Ich bin schon viele Stunden in meiner Freizeit dabei Tutorials durchzulesen etc., aber es wird halt viel erklärt was man gerade nicht braucht. ^^

Im Prinzip will ich "nur" Einheiten und Fähigkeiten selber bauen können.

Terrain selber bauen ist für mich kein Problem.
Werte von Einheiten und Waffen ändern auch nicht mehr.
Aber mit den Auslösern und Validatoren und Behaviors bin ich noch nicht so vertraut.
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: Map Ordner

Beitrag von SaVi »

Ich und Deathwing haben uns schon darüber unterhalten und sind zumindest bei dem Problem mit dem Stalker auf die Vermutung gekommen, dass das Spiel bei dem Hardened Shield, von dem "Basisschaden" der Einheit und nicht dem letztendlich resultierenden Schaden ausgeht.

Sozusagen kannst du mit dem Schaden über Buffs machen was du willst, solange der Basisschaden auf/über 10 liegt, so wird sich immer die Animation einschalten.

Probier es doch einfach mal aus indem du den Schaden des Stalkers auf 8 setzt und den Bonus-Schaden gegen Armored-Units auf 0 stellst.
Der Immortal müsste dann 4 Schaden bekommen und es dürfte sich kein Hardened Shield aktivieren.

Zu deinem anderen Problem mit dem Berechnen des Schadens, kann ich dir nicht weiterhelfen, da ich 1. wenig Dateneditor-ahnung habe und 2. ich vermute, dass das Spielintern gehandelt wird, du sozusagen gar nicht eingreifen kannst.
Kann durchaus auch anders sein, ich kenne mich wie gesagt da nicht gut aus.

Fall 1 lässt sich so wie Deathwing das schon geschrieben hat mit dem Auslöser hier lösen:

Fall 1 ist ein kleiner Auslöser:

Code: Alles auswählen

Ereignis: A Unit takes non-fatal Damage by Range Source (from Any effect)
Bedingung:
    Or
            Conditions
                And
                    Conditions
                        ((Damaging unit) has  Guardian Shield (Buff)) == True
                        ((Triggering unit) has  Guardian Shield (Buff)) == False
                And
                    Conditions
                        ((Damaging unit) has  Guardian Shield (Buff)) == False
                        ((Triggering unit) has  Guardian Shield (Buff)) == True

Aktion: Set Triggering Unit's Life (Current) to Life (Current) - 1.5 * Damaging Effect Amount
mfg SaVi
Bild
Benutzeravatar
TomDe
Ultralisk
Beiträge: 1521
Registriert: 22.03.2009, 00:31

Re: Map Ordner

Beitrag von TomDe »

Aktivierung des Harded Shield
Könnte ich das eventuell beim Auslöser für das Harded Shield dort was ändern?
Es müsste auf jeden Fall eine Variable geben, die den ankommenden Schaden speichert.
Rüstungen etc. reduzieren den Schaden auch, bevor das Harded Shield aktiviert wird.
Naja, ich werd mal gucken.

Der Editor ist so mächtig, dass es auf jeden Fall irgendwie möglich sein müsste.
Zuletzt geändert von TomDe am 17.10.2012, 15:42, insgesamt 1-mal geändert.
Benutzeravatar
TomDe
Ultralisk
Beiträge: 1521
Registriert: 22.03.2009, 00:31

Re: Map Ordner

Beitrag von TomDe »

Okay, hab mir jetzt einige Tutorials etc. zum Trigger Editor reingezogen. Ist eigentlich gar nicht so schwer. Man muss nur wissen was es so alles gibt, um das passende Event etc. zu finden.

Da interessiert mich jetzt im speziellen was es alles gibt um den Schaden einer Einheit abzufangen. Es muss ja irgend einen festen Ablauf der Schadensverrechnung geben.
Schließlich kann man auch ziwschen Fatal und Non-Fatal Damage wählen. Ich kann mir dabei also nicht vorstellen, dass man nur den Schaden von der Unit bekommen kann, den die Unit laut Dateneditor macht. Denn wenn man mit dem Editor abfragen kann, ob es sich um tödlich oder nicht tödlichen Schaden handelt, dann wird dort offensichtlich nicht der Schaden der angreifenden Einheit abgefragt, sondern auch noch zusätzliche Informationen. Nämlich ob der Schaden tödlich wäre und das kann man nur, wenn man Rüstungen, Fähigkeiten wie Harded Shield etc. berücksichtigt. Sonst weiß man ja gar nicht, wann der Schaden wirklich tödlich wäre.

Z.B. müsste es auch möglich sein auf dem Schaden ansetzen zu können, nachdem z.B. Armor verrechnet wurde. Macht z.B. ein Zealot normalerweise 2x8 Schaden gegen einen Marodeur, erhält der Marodeur aufgrund der Armor nur 2x7 Schaden. Diesen Schaden müsste man auch explizit abfangen können und darauf aufbauend If-Anweisungen einbauen können.

Irgendwo muss es daher möglich sein in die Reihenfolge der Schadensverrechnung einzugreifen. Ich denke die Grenzen des Editors sind bei einer so simplen Sache nicht erreicht. Kann ich mir auf jeden Fall nicht vorstellen.
Benutzeravatar
TomDe
Ultralisk
Beiträge: 1521
Registriert: 22.03.2009, 00:31

Re: Map Ordner

Beitrag von TomDe »

Wie bring ich in Erfahrung von welchem Sentry der Guardian Shield Buff kommt?

Wie würde eine Bedienung im Trigger-Editor aussehen, die diese Informationen erfragt?
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: Map Ordner

Beitrag von SaVi »

Nimm doch einmal den Ansatz her:

Code: Alles auswählen

Melee Initialization
    Events
        Unit - Any Unit has Guardian Buff change Create
    Local Variables
    Conditions
    Actions
        Variable - Set sentry = (Closest unit to (Position of (Triggering unit)) in (Sentry units in (Entire map) owned by player Any Player matching Excluded: Missile, Dead, Hidden, with at most 1))
Direkt ein Befehl dafür fällt mir keiner ein, deshalb trickse ich sozusagen indem ich die Sentry am nächsten nehme.
Du musst es auch nicht in eine Variable speichern, du kannst es auch einfach direkt einsetzen bei der Einheit.
Bild
Benutzeravatar
TomDe
Ultralisk
Beiträge: 1521
Registriert: 22.03.2009, 00:31

Re: Map Ordner

Beitrag von TomDe »

Hm, ich glaube ich habe meine Frage falsch gestellt. ^^

Ich denke das Problem mit Hardened Shield löse ich eventuell später.
Grundsätzlich will ich eine eigene Fähigkeit bauen, die einiges mit dem Guardian Shield gemein hat.

Im Prinzip will ich "nur" das Guardian Shield wie folgt umbauen:

Sobald ein Projektil das Guardian Shield durchquert, soll der Schaden dieses Projektils um 50 % reduziert werden. Flächenschaden wird nicht reduziert.

Wenn Einheiten innerhalb des Guardian Shields sich angreifen, dann durchquert auch kein Projektil das Guardian Shield und dementsprechend wird kein Schaden reduziert.

Wenn allerdings 2 Einheiten in der Aura von verschiedenen Einheiten stehen, dann soll der Schaden trotzdem reduziert werden, da das Projektil das Guardian Shield durchquert.

Ich denke es gibt da viele Ansätze dieses Problem zu lösen, allerdings glaube ich, dass ich mir da wahrscheinlich auch eine zu große Herausforderung herausgesucht habe?

Diese Fähigkeit soll nämlich ganz normal auf einer Multiplayer Map wie das Guardian Shield vom Sentry zu benutzen sein.

Trigger haben für mich immer den Charakter, dass sie halt sehr Map spezifisch sind und klar kann man auch einen Trigger anlegen, der jedes Mal bei einem Event x das Auftreten überprüft, aber es erscheint mir recht umständlich. Andere Fähigkeiten sind ja auch nicht durch Trigger gelöst, oder? Trigger sind doch ehr für richtige Arcade Maps gut, wo z.B. Monsterwellen alle x Sekunden kommen etc.
Schließlich will ich eine eigene Fähigkeit bauen und bin mir daher nicht ganz sicher, ob der Trigger Editor der richtige Weg oder einzige Weg ist?

Ich sehe da derzeit kein Licht am Ende des Tunnels, weil es eine sehr komplexe Fähigkeit zu sein scheint. Bisherige Lösungen haben immer nur ein Teil der Fähigkeit gelöst. Jede Lösung mit dem geschilderten Effekt ist mir recht.

Wie man gesehen hat, gibt es da halt einige Spezialfälle.
Direkt ein Befehl dafür fällt mir keiner ein, deshalb trickse ich sozusagen indem ich die Sentry am nächsten nehme.
Du musst es auch nicht in eine Variable speichern, du kannst es auch einfach direkt einsetzen bei der Einheit.

Das habe ich nicht ganz verstanden?
Wie du nimmst die Sentry am nächsten?
Wie setze ich das direkt bei der Einheit ein?
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: Map Ordner

Beitrag von SaVi »

Nunja ich nehme eben die Sentry, die am nächsten zu der Einheit steht, von der du herausfinden willst, welche Sentry für den Buff auf dieser Einheit zuständig ist.
Steht sozusagen ein Marine zwischen zwei Sentrys, so wird die Sentry genommen, welche am nächsten zu dem Marine dran steht.

Und eben mit dem einsetzen bei der Einheit, meine ich einfach dass du den Teil mit der "in eine Variable speichern" auslassen kannst und es eben direkt bei dem Befehl deiner Wahl für eine "Einheit" so benutzen kannst.

Du hast mich gefragt wie du die Sentry herausfindest, welche den Buff hat und ich habe dir eben eine Möglichkeit gezeigt. Ich gehe eben davon aus, dass du irgendeine Idee hast und eben da wissen musst von welcher Sentry das ist. ;)

mfg SaVi
Bild
Benutzeravatar
TomDe
Ultralisk
Beiträge: 1521
Registriert: 22.03.2009, 00:31

Re: Map Ordner

Beitrag von TomDe »

Hm... ich glaube das führt mich alles nicht weiter. Ich glaube man muss die Problemstellung schon im Detail verstehen, um mir da weiterhelfen zu können.
Ich stelle dafür glaube ich auch selber die falschen Fragen.

Aber danke für die Hilfe. =)

Also ich hab jetzt nochmal ein bisschen herumprobiert.
Und die Action Sache, die reduziert das Leben, obwohl die Einheiten noch Schilde haben.

Ich bräuchte ehr was um den Schaden der angreifenden Unit zu ändern und nicht um die Lebenspunkte der betroffenen Einheit zu ändern.

Allerdings gibt es da nur sowas wie Minimal Damage 10% oder Mega Damage 300 %, aber ich würde den Schaden gerne um 50 % reduzieren.
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: Map Ordner

Beitrag von SaVi »

Das ist das geringste Problem ;)

Code: Alles auswählen

Melee Initialization
    Events
        Unit - Any Unit takes Fatal or Non-Fatal Ranged damage (from Any effects)
    Local Variables
        damage = (Triggering damage amount) <Real>
    Conditions
        Or
            Conditions
                And
                    Conditions
                        ((Damaging unit) has Guardian Shield Buff) == True
                        ((Triggering unit) has Guardian Shield Buff) == False
                And
                    Conditions
                        ((Damaging unit) has Guardian Shield Buff) == False
                        ((Triggering unit) has Guardian Shield Buff) == True
    Actions
        General - If (Conditions) then do (Actions) else do (Actions)
            If
                ((Unit type of (Triggering unit)) Shields Maximum) > 0.0
            Then
                General - If (Conditions) then do (Actions) else do (Actions)
                    If
                        damage > ((Triggering unit) Shields (Current))
                    Then
                        Variable - Set damage = (damage - ((Triggering unit) Shields (Current)))
                        Unit - Set (Triggering unit) Shields to 0.0
                    Else
                        Unit - Set (Triggering unit) Shields to (((Triggering unit) Shields (Current)) - damage)
                        General - Skip remaining actions
            Else
        General - If (Conditions) then do (Actions) else do (Actions)
            If
                ((Triggering unit) Life (Current)) <= damage
            Then
                Unit - Kill (Triggering unit)
            Else
                Unit - Set (Triggering unit) Life to (((Triggering unit) Life (Current)) - damage)
Map

mfg SaVi


//Edit:

Ich habe mal versuch die Aktion "Change Unit Damage" deinem belieben anzupassen und habe das auch hinbekommen. Es gibt nun in der Map die ich weiter unten poste eine Möglichkeit mit "Half", was eben den Schaden der Einheit um die Hälfte reduziert.

Ebenfalls habe ich direkt einen Auslöser gebaut, der der Einheit die in der richtigen Situation den Schaden reduzieren soll.

Beachte bei der Karte, dass sowohl Auslöser-Daten, als auch Dateneditor-Daten (Verhalten-Behaviour) geändert wurden. Wenn du es also so übernehmen möchtest, musst du auf beides achten.

Guardian Shield Test

Das Problem was ich momentan aber noch sehe, ist eben wenn zwei Guardian Shields nebeneinander stehen und eben die beiden Einheiten sich in unterschiedlichen Schilden befinden, beide noch vollen Schaden machen würden, da das Spiel eben noch nur abfragt ob beide den "Buff" haben und nicht im selben Schild sind.

Mfg SaVi
Bild
Benutzeravatar
TomDe
Ultralisk
Beiträge: 1521
Registriert: 22.03.2009, 00:31

Re: Map Ordner

Beitrag von TomDe »

Gerade kämpfe ich damit die Warp In Animation um 5 Sekunden zu verlängern. Der Warp In dauert schon 10 statt 5 Sekunden, aber die Animation hört nach 5 Sekunden auf.
Weiß jemand, wie ich die Animation 5 Sekunden verlängern kann?
Bin im Animationseditor, aber weiß derzeit noch nicht wie ich die Animation tatsächlich einfach 5 sekunden langsamer laufen lassen kann.

Danke im voraus!
Benutzeravatar
TomDe
Ultralisk
Beiträge: 1521
Registriert: 22.03.2009, 00:31

Re: Map Ordner

Beitrag von TomDe »

Weiß jemand, wo ich alte Fähigkeiten finden? Bzw. Fähigkeiten die nicht im Multiplayer vorkommen?
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: Map Ordner

Beitrag von SaVi »

Klar du musst ganz einfach die Kampagnenabhängigkeiten zu deiner Karte hinzufügen. Geht ganz einfach in dem du das hier machst:
  • - Datei
    - Abhängigkeiten
    - Standard hinzufügen
    - Liberty (Kampagne) hacken setzen
    - Liberty Story (Kampagne) hacken setzen
    - Ok klicken
    - Nochmal mit Ok beenden
Ab sofort stehen dir nicht nur die Multiplayer-Sachen, sondern auch die Kampagnen-Dateien zur verfügung. Mitunter den Doodads, Einheiten, Fähigkeiten usw...

Wenn du damit gemeint hast wo du Fähigkeiten finden kannst die nicht in Starcraft II vorkommen, dann musst du mal auf sc2mapster oder dergleichen nach "Custom Abhängigkeiten" schauen, wobei ich mir da nicht sicher bin ob es überhaupt welche gibt.

Mfg SaVi
Bild
Benutzeravatar
TomDe
Ultralisk
Beiträge: 1521
Registriert: 22.03.2009, 00:31

Re: Map Ordner

Beitrag von TomDe »

Okay, danke.

Gibt es Möglichkeiten Einheiten und Fähigkeiten aus anderen Maps von Fans irgendwie zu integrieren? Z.B. gibt es ja einen Arbiter, Lurker, Defiler etc. mit ihren Fähigkeiten etc., die Fans erstellt haben.
Kennst du gute Seiten, wo solche Dinge zur Verfügung gestellt werden?
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: Map Ordner

Beitrag von SaVi »

Wenn du damit gemeint hast wo du Fähigkeiten finden kannst die nicht in Starcraft II vorkommen, dann musst du mal auf sc2mapster oder dergleichen nach "Custom Abhängigkeiten" schauen, wobei ich mir da nicht sicher bin ob es überhaupt welche gibt.
http://www.sc2mapster.com/assets/?category=units

Mfg Savi
Bild
Antworten