Eigene Fähigkeiten

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

  • Eigene Fähigkeiten

    Wenn ich im Editor eigene Fähigkeiten machen will kann ich da nur die Effekte von vorhandenen Effekten verstärken bzw. verkuppeln wei kann ich eigene Zauberverstärker/Effekte machen? Gibt es eine DotA Version die man ummodeln kann?
  • Für all deine Fragen reicht nach meinem Wissen ein einfachs NEIN.

    1. Mit dem Normalen Editor der bei WC3 Beiliegt kannst du nur AUS Gegenständen neue Erschaffen.

    2. Jede OFFIZIELLE von Icefrog erstellte DotA Map ist protected und du wirst auch keine finden die es nicht ist.

    Gruß,
    Huti
  • Original von Hudey
    Für all deine Fragen reicht nach meinem Wissen ein einfachs NEIN.

    1. Mit dem Normalen Editor der bei WC3 Beiliegt kannst du nur AUS Gegenständen neue Erschaffen.

    2. Jede OFFIZIELLE von Icefrog erstellte DotA Map ist protected und du wirst auch keine finden die es nicht ist.

    Gruß,
    Huti




    es gibt welche im maphack forum :P hab da ma zufällig reingeschaut was top themen sind o_O überall hacked dota usw
  • Das kommt ganz auf die Fähigkeit an die du Erstellen möchtest.
    Nehmen wir mal an du möchtest Necromastery erstellen, wie du gesagt hast.
    Dafür benötigst du 2 Fähigkeiten:
    1. Eine vollständig unsichtbare Dummyfähigkeit, die du nur im Skillmenü hast um sie normal zu skillen wie jede andere Fähigkeit. Ein Beispiel wäre der IAS-Effekt von Gloves of Haste, bei dem du den IAS auf 0 gesetzt hast. Diesem skill gibst du im Objekt Editor 4 Levels, die passenden Beschreibungen und das Icon. Die Fähigkeit kannst du zwar skillen, aber sie hat die Eigenschaft, dass sie nicht angezeigt wird. Ich weiß nicht genau bei welchen Fähigkeiten das Icon angezeigt wird und bei welchen nicht -.-
    2. Eine Fähigkeit für den Schaden. Hier bin ich mir nicht sicher was am besten wäre, ein Beispiel wäre der Damage-Bonus von den Claws of Attack (ka ob da das Icon angezeigt wird). Necromastery geht in 30 Stufen in 2er-Schritten von 0 bonusdmg auf 60, hat also 31 Stufen (Wegen der 0). Die Stufen unterscheiden sich nur durch den Damagebonus: 0,2,4,6,8 etc.

    Nun gehts an´s eingemachte: die Auslöser(Trigger).
    Ein GUI-Trigger, das ist der standarttrigger, besteht im Wesentlichen aus 3 Teilen:

    Ereignis: Das löst den Trigger aus Beispielsweise:

    Quellcode

    1. Unit - A unit Learns a skill
    Der Trigger erkennt also, wenn eine Fähigkeit erlernt wird und geht zum 2. Punkt über:

    Bedingung: Die Bedingung(en) wird(werden) überprüft. Wenn alles korrekt ist, wird der Trigger ausgeführt. Wenn irgendeine Bedingung nicht erfüllt ist, hört der Trigger sofort wieder auf und legt sich schlafen bis die Aktion das nächste mal eintritt. Beispiel:

    Quellcode

    1. (Learned Hero Skill) Equal to Necromastery
    Sollte der Held Necromastery gelernt haben(der erste Skil von den 2 oben), wird der Trigger ausgeführt:

    Aktion

    Jetzt fägt der Trigger an zu laufen und macht endlich mal was, anstatt nur zuzugucken. In diesem Beispiel:

    Quellcode

    1. Set Shadowfiend = (Triggering unit)
    2. Unit - Add Necromastery2 to (Shadowfiend)
    3. Trigger - Turn on NecromasteryMain <gen>
    4. Trigger - Turn on NecromasteryDeath <gen>
    5. Trigger - Turn off (This trigger)


    Auf Deutsch:
    Er setzt die Variable - Die muss vorher erstellt werden - auf die Triggering Unit. Der Held, der die Fähigkeit lernt, ist allen Triggern also als Shadowfiend bekannt.
    Er fügt danach die Fähigkeit "Necromastery2" der Shadowfiend hinzu. Das wäre Skill2.
    Dann wird der Trigger angestellt, der dafür sorgt, dass Skill2 auch brav mit jedem Creep Gelevelt wird (muss man nicht machen, man kann ihn auch immer anhaben. Das kostet aber ein wenig Leistung soweit ich weiß.)
    Der 2. Trigger, NecromasteryDeath, sorgt dafür dass die Seelen immer halbiert werden wenn der Meister stirbt
    Zuletzt wird der Trigger, der hier gezeigt wurde, abgestellt, sodass er nicht jedes mal wieder durchgeführt wird, wenn die Fähigkeit geskillt wird.

    Das alles zusammen sieht dann so aus:

    Quellcode

    1. NecromasteryStart
    2. Events
    3. Unit - A unit Learns a skill
    4. Conditions
    5. (Learned Hero Skill) Equal to Necromastery
    6. Actions
    7. Set Shadowfiend = (Triggering unit)
    8. Unit - Add Necromastery2 to (Triggering unit)
    9. Trigger - Turn on Necromastery <gen>
    10. Trigger - Turn on NecromasteryDeath <gen>
    11. Trigger - Turn off (This trigger)
    Alles anzeigen


    Da ich jetzt müde bin, fasse ich mich kurz:
    Der 2. Trigger, Necromastery, sieht so aus:

    Quellcode

    1. Necromastery
    2. Events
    3. Unit - A unit Dies
    4. Conditions
    5. (Killing unit) Equal to Shadowfiend
    6. Actions
    7. If (All Conditions are True) then do (Then Actions) else do (Else Actions)
    8. If - Conditions
    9. (Level of Necromastery for Shadowfiend) Equal to 1
    10. (Level of Necromastery2 for Shadowfiend) Less than or equal to 8
    11. Then - Actions
    12. Unit - Set level ofNecromastery2 for Shadowfiend to ((Level of Necromastery for Shadowfiend) + 1)
    13. Else - Actions
    14. If (All Conditions are True) then do (Then Actions) else do (Else Actions)
    15. If - Conditions
    16. (Level of Necromastery for Shadowfiend) Equal to 2
    17. (Level of Necromastery2 for Shadowfiend) Less than or equal to 15
    18. Then - Actions
    19. Unit - Set level of Necromastery2 for Shadowfiend to ((Level of Necromastery2 for Shadowfiend) + 1)
    20. Else - Actions
    21. If (All Conditions are True) then do (Then Actions) else do (Else Actions)
    22. If - Conditions
    23. (Level of Necromastery for Shadowfiend) Equal to 3
    24. (Level of Necromastery2 for Shadowfiend) Less than or equal to 23
    25. Then - Actions
    26. Unit - Set level of Necromastery2 for Shadowfiend to ((Level of Necromastery2 for Shadowfiend) + 1)
    27. Else - Actions
    28. If (All Conditions are True) then do (Then Actions) else do (Else Actions)
    29. If - Conditions
    30. (Level of Necromastery for Shadowfiend) Equal to 4
    31. (Level of Necromastery2 for Shadowfiend) Less than or equal to 30
    32. Then - Actions
    33. Unit - Set level of Necromastery2 for Shadowfiend to ((Level of Necromastery2 for Shadowfiend) + 1)
    34. Else - Actions
    Alles anzeigen


    So, mal hoffen dass da kein Fehler drin ist.
    Kurzform auf Deutsch:
    Der Trigger geht los, sobald eine Einheit stirbt. Wenn der grauenhafte Mörder Shadowfiend war, geht´s weiter:
    Hier folgen immer wieder neue Bedingungen, um die Levelbegrenzungen zu ermöglichen. Wenn Necromastery lvl1 hat, darf Necromastery2 maximal 16 Schaden hinzufügen etc. Wenn es schon zu viel Schaden hinzufügt, geschieht nichts, ansonsten wird Necromastery2 aufdas Leven von Necromastery2+1, also um 1, erhöht ("Level of Necromastery for Shadowfiend +1")

    Der Death Trigger funktioniert so:

    Quellcode

    1. NecromasteryDeath
    2. Events
    3. Unit - A unit Dies
    4. Conditions
    5. (Triggering unit) Equal to Shadowfiend
    6. Actions
    7. Unit - Set level of Necromastery2 for Shadowfiend to ((Level of Necromastery2 for Shadowfiend) / 2)


    Das Level wird immer wenn eine Einheit stirbt, die "Shadowfiend" ist, halbiert.

    So, das wärs -.-
    Viele Spells sind einfacher, einige sehr viel komplexer. Die GUI-Spells haben den Nachteil, dass sie nicht "multi-instancable" sind. Wenn du 2 Shadowfiends hast, wird der Spell nicht korrekt funktionieren.
    Zudem entstehen sehr schnell "Memory Leaks", die den Speicher blockieren bis die Partie beendet ist. Die lassen sich nur schwierig beheben, wie man das macht, findest du HIER

    Wenn du selber spells machen möchtest, fange mit einfachen Dingen an, um dich mit dem Triggereditor vertraut zu machen. Viele Dinge sind schwierig zu finden wenn man sich nicht auskennt.
    Ich hoffe das hilft dir weiter ;-)
    Infrisios
    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
  • RE: Eigene Fähigkeiten

    Original von Theooorg
    1. Wenn ich im Editor eigene Fähigkeiten machen will kann ich da nur die Effekte von vorhandenen Effekten verstärken bzw. verkuppeln wei kann ich eigene Zauberverstärker/Effekte machen? 2. Gibt es eine DotA Version die man ummodeln kann?


    Dir wurden sicher schon Antworten gegeben ... Diese habe ich nicht gelesen und kann somit sicher nur vervollständigen ;)

    1. Also wenn du nicht triggern willst wird es schwer Fähigkeiten wie diese von Dota hinzu bekommen... Ohne trigger oder jass kannst du dann nicht mehrere zusammenfügen oder noch etwas hinzufügen sondern nur abändern, ja... Zauberverstärker gibt es im Editor eine Sektion für beim Objekt Editor.

    2. Wenn man um bedingt dota "offen" haben will kann man dies auch schaffen... Nur es währe nicht sehr nett und du solltest eh nicht damit anfangen anderen Leuten ihres wofür sie Jahre harte Arbeit geleistet haben zu "klauen" (bei egal welcher map) -.- ... Die Leute die so etwas machen nennt man entweder ober noobs (oder wenn es nur ums "aufmachen" geht hobby hacker ;)... Wobei das nicht wirklich hacker pros sind weil es nicht all zu schwer ist wenn man Zeit hat)

    Original von Theooorg
    aber wie sind dann die ganzen anderen fähigkeiten entstanden?
    mit diesem aulsöser editor?(necromastery)


    Mit jass...
    Außerdem sind an Dota mehrere Programmierer und nicht nur Icefrog ;)

    Dieser Beitrag wurde bereits 4 mal editiert, zuletzt von Chitzui ()

  • Enigma skill

    Das ist alles gut und schön ...
    Ich selbst habe auch schon einige maps programmiert und mit der zeit auch sehr viele der dota skills nachstellen können aber ich komme bei einem net weiter .
    Der Skill gehört demm alt bekannten Enigma und heisst Black Hole
    Wie het ice frog es geschaft das gegnerische einheiten ANGEZOGEN werden???

    Helft Mir ^^
  • Move units instantly to xxxx

    Oder so ungefähr heißt der Auslöser dann machst du ein von bis loop davor

    und irgendwie kannst du sicher auch die Position von dem hole speichern tja so geht es ;)

    Vielleicht noch ein kleinen wait rein damit man wirklich denkt die unit wird gezogen

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von Chitzui ()

  • 1.Ich weiss leider net was n vait ist (Was daran liegen könnte das ich die deuttsche we version hab )
    2.Move unit instantly ist doch n trigger der ne einheit ich sach mal teleportiert wie soll denmn da der eindruck entstehen das sie angezogen wird ???

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von FaraWay ()

  • Original von FaraWay
    1.Ich weiss leider net was n vait ist (Was daran liegen könnte das ich die deuttsche we version hab )
    2.Move unit instantly ist doch n trigger der ne einheit ich sach mal teleportiert wie soll denmn da der eindruck entstehen das sie angezogen wird ???

    Zu 1. Wait is einfach Wait -x.xx seconds
    zu 2. hrmhrm ich kann den JASS trigger von black hole hier hin posten, nachher hab grade kein bock, aber glaube das ist zu kompliziert für euch :P
    naja mach ich nachher
  • Original von YourNameHere
    zu 2. hrmhrm ich kann den JASS trigger von black hole hier hin posten, nachher hab grade kein bock, aber glaube das ist zu kompliziert für euch :P
    naja mach ich nachher


    Hm, da sind sicher die beiden Variablen für Mittelpunkt und für die Position der Unit
    Dann wird per Mathematik die Richtung des Mittelpunktes bestimmt (Trigonometrie und co) und dann die Position etwas näher rangerückt
    Also so was wie viele kleine Schritte

    Wir haben 100 Hacker und Hacksen gefragt: "Was die schrecklichste Programmiersprache, in der du je programmiert hast?"
    1. Java
    2. PHP
    3. Visual Basic
    4. BASIC
  • Der Trigger für Black Hole sieht im Prinzip so aus, dass sehr oft (ich vermute 100 mal pro Sekunde) alle Einheiten an ihre eigene Position, nur versetzt um einen winzigen Wert, vielleich 1, in Richtung der Mitte gezogen werden.
    Mit Wait-Funktionen geht das nicht so gut, da bei "wait 0.01 seconds" trotzdem länger gewartet wird, es gibt da irgendein minimum.
    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
  • Hmmm das stimmt aber werden die trigger dan net n bissel überbeansprucht ???
    Ich habs zwar noch net ausprobiert könnts mir aber vorstellen

    (sry aber ich kann alle eure guten tips im mom nich ausfürhen aber die ausführende gewalt bei uns im haus hat pc. verbot angeordnet dess halb hab ich pro tag nur n paar mins)
  • GUI läuft da net, das leakt wie sau ^^
    Musst schon in JASS programmieren

    Wir haben 100 Hacker und Hacksen gefragt: "Was die schrecklichste Programmiersprache, in der du je programmiert hast?"
    1. Java
    2. PHP
    3. Visual Basic
    4. BASIC
  • Original von Tass
    Original von YourNameHere
    zu 2. hrmhrm ich kann den JASS trigger von black hole hier hin posten, nachher hab grade kein bock, aber glaube das ist zu kompliziert für euch :P
    naja mach ich nachher


    Hm, da sind sicher die beiden Variablen für Mittelpunkt und für die Position der Unit
    Dann wird per Mathematik die Richtung des Mittelpunktes bestimmt (Trigonometrie und co) und dann die Position etwas näher rangerückt
    Also so was wie viele kleine Schritte





    Die ist nicht nötig wenn man das in Verbindung mit nem skill macht .
    Hier bietet der editor den praktischen Trigger namens Position des surch den skill angewählten Areals ^^.