Einige Fragen zur Spellerstellung

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    • Einige Fragen zur Spellerstellung

      Bin gerade dabei meine erste eigene Map zu erstellen, habe jedoch schon meine ersten Probleme. Vorallem mit den Spells.

      Mein erster Spell ist noch recht einfach, er soll das Mana einer Einheit wieder um xx Punkte auffüllen, sowie der Spell vom Ezalor.

      Jedoch habe ich keine Ahnung wie ich das anstellen soll ^^

      Der zweite Spell ist noch komplizierter, meiner Meinung nach:

      Eine Art Kettenblitz die als Animation keinen Blitz hat sondern "Ice Missile" und bei jeder Unit ne Frost Nova castet. Dabei soll eine Einheit auch mehrmals getroffen werden können, aber eine einzelne Einheit nicht. Funktioniert also ähnlich wie Lich's Ulti.

      Dann wollte mich noch gern wissen, ob man die Max. Leben einer Einheit per Trigger verändern kann ? Das würde z.B. die Arbeit bei TD's sehr erleichtern für mich.

      Und wie kann man die Exp einstellen die bestimmte Creeps dem Hero geben ? Bis jetzt hab ich nur rausgefunden, dass die Stufe des Creeps die EXP beeinflussen, aber ich würde gerne konkrete Zahlen einsetzen können. Hab in den Gameplay Konstellanten bereits gesucht, bin aber nicht fündig geworden.

      Nun meine letzte Frage, hierzu auch ein Trigger:

      Ereignis - A unit Wird angegriffen

      Bedingung - Attacking Unit = MeineUnit

      Aktion - (weiß gerade nicht genau wie das heißt) Issue Order MeineUnit to "Frost Nova" Attacked Unit

      Aktion - Issue Order MeineUnit to "Shadow Strike" Attacked Unit

      Könnten bei diesem Trigger Probleme auftreten ? Es soll so funktionieren, dass er jede 5 Sekunden Nova benutzt und die Zeit wo er das nicht kann (wegen cd) den Shadow Strike. Weiß nicht so wirklich wie der Trigger aussehen sollte.



      Danke schonmal für die Hilfe, Hab zwar schon bisschen Erfahrung mit dem Editor, aber bin hierbei an meine Grenzen gestoßen :/

      hilfreiche Problemlösungen werden natürlich mit Erwähnungen in den Credits belohnt !! :D

      Grüße

      Vrael
    • Nehmen wir erstmal den Manaspell.
      Ne recht einfache Sache:

      Event - a unit begins casting an ability
      Condition - ability being cast = chakra magic
      Action - Unit - Set mana of (Target unit of ability being cast) to ((Mana of (Target unit of ability being cast)) + (50.00 x (Real((Level of Chakra Magic for (Triggering unit))))))

      Nur die Action-Zeile sieht tatsächlich so aus, die anderen hab ich mir erstmal so hingeschrieben, kb alles im editor zu machen :P
      Mana of (Target unit of ability being cast) findest du unter unit - properties.
      Real(...) meint "convert integer to real"
      Das war ansonsten eine Beispielrechnung, die 50/100/150/200 mana restored. Kannst du natürlich beliebig ändern.

      Der Kettenblitz ist schon schwieriger, du musst ihn simulieren.
      Im Grunde ist es ja ein Chain Frost, daher nenne ich den spell einfach mal so.

      Prinzipiell würde ich sagen:

      Dummy Unit:
      kein model, kein schatten, keine klassifikation, locust skill
      Diese Dummy Unit kannst du im Grunde für alle möglichen Spells verwenden.

      Skill "Chain Frost":
      Der Skill den du dann tatsächlich castest. Keinerlei Effekt auf die unit.

      Skill "Sphere (Chain Frost)":
      Basiert auf der Sphäre vom Bloodmage.
      Keine direkte attachments, nur als Projektil dein Eisprojektil, das du haben wolltest.
      Wenn der Besitzer dieser Fähigkeit einen Spell castet, hat er dabei ein Projektil.
      Mein Vorschlag für einen einfachen Cast ist, das Projektil schnell zu machen.

      Skill "Nova (Chain Frost)":
      Eine Frostnova, von Einheitenfähigkeit, 0 manakosten, so viele level wie dein "chain frost" skill und die entsprechenden Schadens/AoE-Werte.

      Anfang wieder genauso
      Event - a unit begins casting an ability
      Condition - ability being cast = Chain Frost

      Nun wird's etwas schwieriger, daher schreibe ich nur den allgemeinen Algorithmus hin. Außerdem ist das eher eine simple Umsetzung, dafür weniger perfekt. Memory Leaks habe ich erst einmal außen vor gelassen, die würden das alles erheblich komplizierter machen. Google einfach mal nach memory leaks in wc3, da dürftest du vollständige Erklärungen finden.
      Erstell die unitvariablen ChainFrostStart, ChainFrostTarget und die unitgroup variable ChainFrostUnits

      -set ChainFrostStart = caster
      -set ChainFrostTarget = target unit of ability being cast.
      -Dummy-unit an der Position von ChainFrostStart erzeugen, Sphäre und Nova geben, 2 seconds expiration timer geben
      -Dummy-unit befehlen, Nova auf ChainFrostTarget zu casten
      -Wait x seconds, da würde ich die durchschnittliche Zeit nehmen, die es braucht, bis das Teil von einem zum anderen springt. Ist damit nicht immer perfekt, aber zumindest für den Anfang einfach gehalten.
      For-Schleife, so oft wie das Teil treffen soll -1 (weils den ersten Treffer ja schon gegeben hat):
      -set ChainFrostUnits = (die units in [bouncerange] von ChainFrostTarget mit den Bedingungen, sodass nur das getroffen wird was getroffen werden soll, außer ChainFrostTarget selbst)
      -set ChainFrostStart = ChainFrostTarget
      -set ChainFrostTarget=random unit from ChainFrostUnits
      -Dummy-unit an der Position von ChainFrostStart erzeugen, Sphäre und Nova geben, 2 seconds expiration timer geben
      -Dummy-unit befehlen, Nova auf ChainFrostTarget zu casten
      -Wait x seconds, da würde ich die durchschnittliche Zeit nehmen, die es braucht, bis das Teil von einem zum anderen springt. Ist damit nicht immer perfekt, aber zumindest für den Anfang einfach gehalten.

      Sollte funktionieren...

      Für's maximale life nimm eine Itemfähigkeit, z.B. von Khadgar's Stein der Gesundheit, passe sie deinen Spezifikationen an, mache sie zum unit skill und adde sie einfach immer.

      Exp...weiß ich grad nicht, hab ich mich nie mit beschäftigt ^^

      Dein letzter Trigger:
      Er macht's ja nicht alle 5 sec, sondern nur, wenn er angreift
      Mach es lieber mit Dummy Units und 2 Triggern:

      Trigger1:
      Event: A unit is attacked
      Condition: attacking unit = deine unit
      Action:
      Dummy an position von attacking unit erstellen, Frost Nova geben (keine Manakosten etc. beachten), 2 seconds expiration timer geben, befehlen, nova auf attacked unit zu casten
      Trigger1 deaktivieren
      Trigger 2 aktivieren
      5 sekunden warten
      Trigger 2 deaktivieren
      Trigger 1 aktivieren

      Trigger 2:
      Event: A unit is attacked
      Condition: attacking unit = deine unit
      Action:
      Dummy an position von attacking unit erstellen, Shadow Strike geben (keine Manakosten etc. beachten), 2 seconds expiration timer geben, befehlen, Shadow Strike auf attacked unit zu casten

      Hat aber immer noch ein großes Problem: ein Angriff gilt auch dann als Angriff, wenn er nicht ganz durchgeführt wird. Wenn man also stop spammt, wird er tausende shadowstrikes auf den gegner casten.
      Das zu lösen ist ein wenig schwieriger, ich würde dir empfehlen da mit was einfacherem anzufangen. Könntest das ganze z.B. auf dem sloworb basieren, das macht aber den Einsatz von 2 skills schwieriger.
      I'm not a coward, I've just never been tested
      I'd like to think that if I was I'd pass
      Look at the tested and think There but for the grace go I!
      Might be a coward, I'm afraid of what I might find out
    • Infrisios schrieb:


      Event - a unit begins casting an ability
      Condition - ability being cast = chakra magic
      Action - Unit - Set mana of (Target unit of ability being cast) to ((Mana of (Target unit of ability being cast)) + (50.00 x (Real((Level of Chakra Magic for (Triggering unit))))))

      Nur die Action-Zeile sieht tatsächlich so aus, die anderen hab ich mir erstmal so hingeschrieben, kb alles im editor zu machen :P
      Mana of (Target unit of ability being cast) findest du unter unit - properties.
      Real(...) meint "convert integer to real"
      Das war ansonsten eine Beispielrechnung, die 50/100/150/200 mana restored. Kannst du natürlich beliebig ändern.
      sehr gut, leuchtet mir ein, werde ich demnächst ausprobieren, danke !

      Skill "Sphere (Chain Frost)":
      Basiert auf der Sphäre vom Bloodmage.
      Keine direkte attachments, nur als Projektil dein Eisprojektil, das du haben wolltest.
      Wenn der Besitzer dieser Fähigkeit einen Spell castet, hat er dabei ein Projektil.
      Mein Vorschlag für einen einfachen Cast ist, das Projektil schnell zu machen.
      Welcher Skill der vom Bloodmage war muss ich gleich nochmal gucken, finde ich aber bestimmt .. Was ein Projektil ist weiß ich, aber was meinst du mit "Wenn der Besitzer dieser Fähigkeit einen Spell castet" ? Egal bei welchem Spell ?

      Skill "Nova (Chain Frost)":
      Eine Frostnova, von Einheitenfähigkeit, 0 manakosten, so viele level wie dein "chain frost" skill und die entsprechenden Schadens/AoE-Werte.
      den bekommt dann der Dummy, richtig ?

      Event - a unit begins casting an ability
      Condition - ability being cast = Chain Frost

      -set ChainFrostStart = caster also "Casting Unit" ?
      -set ChainFrostTarget = target unit of ability being cast.
      -Dummy-unit an der Position von ChainFrostStart erzeugen, Sphäre und Nova geben, 2 seconds expiration timer geben
      -Dummy-unit befehlen, Nova auf ChainFrostTarget zu casten
      -Wait x seconds, da würde ich die durchschnittliche Zeit nehmen, die es braucht, bis das Teil von einem zum anderen springt. Ist damit nicht immer perfekt, aber zumindest für den Anfang einfach gehalten.
      For-Schleife, so oft wie das Teil treffen soll -1 (weils den ersten Treffer ja schon gegeben hat):
      -set ChainFrostUnits = (die units in [bouncerange] von ChainFrostTarget mit den Bedingungen, sodass nur das getroffen wird was getroffen werden soll, außer ChainFrostTarget selbst)
      units in bouncerange ... wo finde ich denn diesen Ausdruck ?
      -set ChainFrostStart = ChainFrostTarget
      -set ChainFrostTarget=random unit from ChainFrostUnits
      -Dummy-unit an der Position von ChainFrostStart erzeugen, Sphäre und Nova geben, 2 seconds expiration timer geben
      -Dummy-unit befehlen, Nova auf ChainFrostTarget zu casten Und Sphere auch, oder ?
      -Wait x seconds, da würde ich die durchschnittliche Zeit nehmen, die es braucht, bis das Teil von einem zum anderen springt. Ist damit nicht immer perfekt, aber zumindest für den Anfang einfach gehalten.

      Sollte funktionieren...
      danke :D

      Für's maximale life nimm eine Itemfähigkeit, z.B. von Khadgar's Stein der Gesundheit, passe sie deinen Spezifikationen an, mache sie zum unit skill und adde sie einfach immer.
      Das müsstest du doch bitte nochmal genauer erklären
      Exp...weiß ich grad nicht, hab ich mich nie mit beschäftigt ^^ schade :/ Weiß jemand anderes hier vielleicht weiter ?

      Trigger1:
      Event: A unit is attacked
      Condition: attacking unit = deine unit
      Action:
      Dummy an position von attacking unit erstellen, Frost Nova geben (keine Manakosten etc. beachten), 2 seconds expiration timer geben, befehlen, nova auf attacked unit zu casten
      Trigger1 deaktivieren Werden bei der Aktion Turn Off[This Trigger] die verbleibenden Aktionen noch durchgeführt ?
      Trigger 2 aktivieren
      5 sekunden warten
      Trigger 2 deaktivieren
      Trigger 1 aktivieren

      Trigger 2:
      Event: A unit is attacked
      Condition: attacking unit = deine unit
      Action:
      Dummy an position von attacking unit erstellen, Shadow Strike geben (keine Manakosten etc. beachten), 2 seconds expiration timer geben, befehlen, Shadow Strike auf attacked unit zu casten

      Hat aber immer noch ein großes Problem: ein Angriff gilt auch dann als Angriff, wenn er nicht ganz durchgeführt wird. Wenn man also stop spammt, wird er tausende shadowstrikes auf den gegner casten. Da wo ich diese Trigger benötige wird das kein Problem darstellen, weil Creeps wohl kaum Stop spammen :D


      Schonmal nen riesen danke dass du mir so weiter geholfen hast ! Credits sind dir sicher :DD
      Vielleicht findet sich ja noch jemand der die Sache mit den EXP aufklären kann ?

      Grüße
      Vrael
    • für die exp je nachdem wie wichtig dir das ist, kannst du das über die gameplaykonstanten machen. Damt kannst im prinzip schon alles regulieren.
      Oder du machst es auch einfach übern auslöser. Bei Held, set/add expirience. Musst halt dann entsprechend für jede sterbende unit blabla.
    • Vrael_the_Olias schrieb:

      Infrisios schrieb:


      Event - a unit begins casting an ability
      Condition - ability being cast = chakra magic
      Action - Unit - Set mana of (Target unit of ability being cast) to ((Mana of (Target unit of ability being cast)) + (50.00 x (Real((Level of Chakra Magic for (Triggering unit))))))

      Nur die Action-Zeile sieht tatsächlich so aus, die anderen hab ich mir erstmal so hingeschrieben, kb alles im editor zu machen :P
      Mana of (Target unit of ability being cast) findest du unter unit - properties.
      Real(...) meint "convert integer to real"
      Das war ansonsten eine Beispielrechnung, die 50/100/150/200 mana restored. Kannst du natürlich beliebig ändern.
      sehr gut, leuchtet mir ein, werde ich demnächst ausprobieren, danke !

      Skill "Sphere (Chain Frost)":
      Basiert auf der Sphäre vom Bloodmage.
      Keine direkte attachments, nur als Projektil dein Eisprojektil, das du haben wolltest.
      Wenn der Besitzer dieser Fähigkeit einen Spell castet, hat er dabei ein Projektil.
      Mein Vorschlag für einen einfachen Cast ist, das Projektil schnell zu machen.
      Welcher Skill der vom Bloodmage war muss ich gleich nochmal gucken, finde ich aber bestimmt .. Was ein Projektil ist weiß ich, aber was meinst du mit "Wenn der Besitzer dieser Fähigkeit einen Spell castet" ? Egal bei welchem Spell ? das ist ein nicht verwendbarer unitskill von ihm, der dafür sorgt, dass die lustigen kugeln um ihn rumschweben. Und ja, egal bei welchem spell solange er targeted ist. Glaub ich.

      Skill "Nova (Chain Frost)":
      Eine Frostnova, von Einheitenfähigkeit, 0 manakosten, so viele level wie dein "chain frost" skill und die entsprechenden Schadens/AoE-Werte.
      den bekommt dann der Dummy, richtig ? ja, genau wie vorhergehende skills. Für die Übersicht würd ich dem dummy die fähigkeit erst im trigger geben, mMn sauberer

      Event - a unit begins casting an ability
      Condition - ability being cast = Chain Frost

      -set ChainFrostStart = caster also "Casting Unit" ? klar, wer sonst? ^^
      -set ChainFrostTarget = target unit of ability being cast.
      -Dummy-unit an der Position von ChainFrostStart erzeugen, Sphäre und Nova geben, 2 seconds expiration timer geben
      -Dummy-unit befehlen, Nova auf ChainFrostTarget zu casten
      -Wait x seconds, da würde ich die durchschnittliche Zeit nehmen, die es braucht, bis das Teil von einem zum anderen springt. Ist damit nicht immer perfekt, aber zumindest für den Anfang einfach gehalten.
      For-Schleife, so oft wie das Teil treffen soll -1 (weils den ersten Treffer ja schon gegeben hat):
      -set ChainFrostUnits = (die units in [bouncerange] von ChainFrostTarget mit den Bedingungen, sodass nur das getroffen wird was getroffen werden soll, außer ChainFrostTarget selbst)
      units in bouncerange ... wo finde ich denn diesen Ausdruck ? das ist kein Ausdruck, [bouncerange] ist halt die range die der skill haben soll. Der Trigger weiß nicht von alleine wie weit das teil springen soll :D
      -set ChainFrostStart = ChainFrostTarget
      -set ChainFrostTarget=random unit from ChainFrostUnits
      -Dummy-unit an der Position von ChainFrostStart erzeugen, Sphäre und Nova geben, 2 seconds expiration timer geben
      -Dummy-unit befehlen, Nova auf ChainFrostTarget zu casten Und Sphere auch, oder ? Nein, Sphere ist passiv.
      -Wait x seconds, da würde ich die durchschnittliche Zeit nehmen, die es braucht, bis das Teil von einem zum anderen springt. Ist damit nicht immer perfekt, aber zumindest für den Anfang einfach gehalten.

      Sollte funktionieren...
      danke :D

      Für's maximale life nimm eine Itemfähigkeit, z.B. von Khadgar's Stein der Gesundheit, passe sie deinen Spezifikationen an, mache sie zum unit skill und adde sie einfach immer.
      Das müsstest du doch bitte nochmal genauer erklären
      Exp...weiß ich grad nicht, hab ich mich nie mit beschäftigt ^^ schade :/ Weiß jemand anderes hier vielleicht weiter ?

      Trigger1:
      Event: A unit is attacked
      Condition: attacking unit = deine unit
      Action:
      Dummy an position von attacking unit erstellen, Frost Nova geben (keine Manakosten etc. beachten), 2 seconds expiration timer geben, befehlen, nova auf attacked unit zu casten
      Trigger1 deaktivieren Werden bei der Aktion Turn Off[This Trigger] die verbleibenden Aktionen noch durchgeführt ?
      Trigger 2 aktivieren
      5 sekunden warten
      Trigger 2 deaktivieren
      Trigger 1 aktivieren

      Trigger 2:
      Event: A unit is attacked
      Condition: attacking unit = deine unit
      Action:
      Dummy an position von attacking unit erstellen, Shadow Strike geben (keine Manakosten etc. beachten), 2 seconds expiration timer geben, befehlen, Shadow Strike auf attacked unit zu casten

      Hat aber immer noch ein großes Problem: ein Angriff gilt auch dann als Angriff, wenn er nicht ganz durchgeführt wird. Wenn man also stop spammt, wird er tausende shadowstrikes auf den gegner casten. Da wo ich diese Trigger benötige wird das kein Problem darstellen, weil Creeps wohl kaum Stop spammen :D


      Schonmal nen riesen danke dass du mir so weiter geholfen hast ! Credits sind dir sicher :DD
      Vielleicht findet sich ja noch jemand der die Sache mit den EXP aufklären kann ?

      Grüße
      Vrael
      I'm not a coward, I've just never been tested
      I'd like to think that if I was I'd pass
      Look at the tested and think There but for the grace go I!
      Might be a coward, I'm afraid of what I might find out
    • Infrisios schrieb:

      Vrael_the_Olias schrieb:

      Infrisios schrieb:



      -set ChainFrostUnits = (die units in [bouncerange] von ChainFrostTarget mit den Bedingungen, sodass nur das getroffen wird was getroffen werden soll, außer ChainFrostTarget selbst)
      units in bouncerange ... wo finde ich denn diesen Ausdruck ? das ist kein Ausdruck, [bouncerange] ist halt die range die der skill haben soll. Der Trigger weiß nicht von alleine wie weit das teil springen soll :D Welche Aktion ist das denn genau ? Finde die im Editor nicht :S


      Und wie stehts mit diesen Sachen ? Da bist du leider gar nicht drauf eingegangen :/

      Infrisios schrieb:

      Vrael_the_Olias schrieb:

      Infrisios schrieb:



      Für's maximale life nimm eine Itemfähigkeit, z.B. von Khadgar's Stein der Gesundheit, passe sie deinen Spezifikationen an, mache sie zum unit skill und adde sie einfach immer.
      Das müsstest du doch bitte nochmal genauer erklären

      Trigger1:
      Event: A unit is attacked
      Condition: attacking unit = deine unit
      Action:
      Dummy an position von attacking unit erstellen, Frost Nova geben (keine Manakosten etc. beachten), 2 seconds expiration timer geben, befehlen, nova auf attacked unit zu casten
      Trigger1 deaktivieren Werden bei der Aktion Turn Off[This Trigger] die verbleibenden Aktionen noch durchgeführt ?
      Trigger 2 aktivieren
      5 sekunden warten
      Trigger 2 deaktivieren
      Trigger 1 aktivieren


      @SkorbYen
      Wenn ich das alles per Gameplay-Konstellanten regeln kann, magst du mir auch verraten wo ich die genau die Option finde die Exp einzustellen ? :D
      Das Ganze per Trigger zu machen wäre auch ne Möglichkeit, wird dann aber komplizierter wenn sich zwei Heroes die Exp teilen wollen ....

      Grüße
      Vrael
    • nein werden nicht ausgeführt. dann is der trigger aus..

      zu der range mach halt : einheitengruppe- pick units in (units in range [deine range]) matching ((matching unit) belongs to an enemy of player (owner of casting unit))
      sollte ungefähr so im world editor umzusetzen sein.. nimmt durch die condition auch nur gegnerische einheiten..

      wegen den höheren leben mach die fähigkeit vom gesundheitsstein.. die is ja irgendwie erhöht die leben des trägers um XXX. genauen wert kenn ich nich.. kannste auf jeden fall im objekt editor ändern und die fähigkeit dann deinen creeps geben..
    • Benutzer online 1

      1 Besucher