Frage zu Toss

    • Frage zu Toss

      Also das Grundprinzip von Toss, was es für Möglichkeiten und Kombinationen mit anderen Helden gibt weiß ich kann ich auch ausführen. Der Guide von unserem Crunk Mod birgt auch keine Geheimnisse mehr für mich. Jetzt gibt es aber eine Sache die mich an Tiny, obwohl ich ihn gerne spiele, stört.

      Wie schafft man eine 100% Sicherheit den gewünschten Gegner als Projektil zu bekommen wen Creeps und andere Helden daneben stehen? In vllt 20% der Fälle tosse ich statt dem Gegner einen Creep der weiter von mir weg steht als der Gegner.. Muss ich einfach nur die Mitte des Toss Kreises auf dem Gegner haben oder muss ich ihn vorher anklicken und warten bis ich einmal zugeschlagen habe? Wie kann ich einen fliehenden Gegner der bereits in seiner nächsten angekommenden Creepwave ist und langsamer ist als ich ( angenommen ich habe Haste ) mit einer 100% Sicherheit zurück tossen? Gibts da einen Trick oder ìses Glückssache und man kann keine 100% Gewissheit haben?
    • Tiny nimmt den Gegner der dir am nächsten steht, ( ob links oder rechts oder vorne oder hinten ist egal ).
      Das Ziel ist dabei irrelevant, du kannst auch die max. Range tossen und den Gegner nehmen.

      Verbessern kannst du deine Genauigkeit durch übung,
      Ich selbst ( da Tiny mein Fouvourite ist ) hab schon unzählige Games mit ihm gespielt,
      mitlerweile schaffe ich es in fast jedem clash den Gegner zu erwischen.
      Ist eine Sache der Übung einschätzen zu können wann der richte zeitpunkt ist um auszulösen.

      Letztenendes kann aber gesagt werden, dass im wirklich großen clash es zusehen luck ist.
      Übung hilft aber den richtigen Moment zu finden wenn der Gegner am nächsten ist.
    • Nein , das ist ein Gerücht das kursiert.
      Laut dem Trigger nimmt Tiny eine zufällige Unit in einem bestimmten Radius , weshalb die Position völlig irrelevant ist.

      Zufall afaik.
      ...und außerdem bist du ein Lauchkopf!

      Last name "ever", first name "greatest"
    • PzudemX schrieb:

      Nein , das ist ein Gerücht das kursiert.
      Laut dem Trigger nimmt Tiny eine zufällige Unit in einem bestimmten Radius , weshalb die Position völlig irrelevant ist.

      Zufall afaik.




      Das hab ich nämlich auch vermutet :/ Bin stutzig geworden als ich in einem 1on1 mit einem einzigen Creep das hinter dem Gegner stand also:

      Tiny

      v

      Gegner

      v

      Creep

      den Creep getosst habe obwohl defintiv der Hero näher dran war. Waren aber beide im Toss Radius. Ich probiere halt möglichst die Ava-Toss-Ava Kombi hinzubekommen und da ist nicht viel Zeit um sich zu positionieren.
    • Hab den Code nicht mehr da (die map ist im anderen PC :-/), aber aus dem geht hervor:
      Tiny tosst einen zufälligen Gegner, der in 275 range zu ihm steht.

      Edit:

      Ithzn schrieb:

      Ist es im Editor überhaupt möglich zu sagen "nimm die unit neben dem linken arm" ?

      Prinzipiell schon, indem man den Winkel abhängig von Gegnerposition und Tiny´s Blickrichtung nimmt.
      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
    • Tiny nimmt den Gegner der dir am nächsten steht
      des is ja mal krass wie hier mit falschen fakten um sich geworfen wird : ).

      Infrisios hat recht.
      btw, wie stehts mit eurem hero? rückt er vor in der schlange der heroes in reserve : ) ?
    • warts doch ab :)



      Und wenn er sagt er nimmt aus der Wave jetzt genau DAS Creep, dann geht das ja insofern, wenn es möglich ist sich so zu stellen, das nur das eine Creep in 275 range ist und die anderen halt nicht...mehr ist leider nicht drin und das war auch noch nie so.
      The road is dark. And it's a thin, thin line. But I want you to know i'll walk it for you anytime.
    • Initialisierungcode vom Toss-Cast:

      Quellcode

      1. function Trig_Toss_Actions takes nothing returns nothing
      2. local group lNearCaster=CreateGroup()
      3. local timer lMoveTimer
      4. local unit lCaster=GetTriggerUnit()
      5. local unit lVictim
      6. local location lTarget
      7. local location lStart
      8. local integer lCounter
      9. local real lRange
      10. local real lAngle
      11. local string lf5
      12. call GroupEnumUnitsInRange(lNearCaster,GetUnitX(lCaster),GetUnitY(lCaster),275,Condition(function TossFilter))
      13. set lVictim=GroupPickRandomUnit(lNearCaster)
      14. call DestroyGroup(lNearCaster)
      15. set lTarget=GetUnitLoc(GetSpellTargetUnit())
      16. set lStart=GetUnitLoc(lVictim)
      17. set lCounter=1
      18. set lRange=DistanceBetweenPoints(lStart,lTarget)
      19. set lAngle=AngleBetweenPoints(lStart,lTarget)
      20. if(lVictim!=null and GetUnitTypeId(lVictim)!='n00I'and GetUnitTypeId(lVictim)!='e01H'and GetOwningPlayer(GetSpellTargetUnit())!=GetOwningPlayer(lCaster))then
      21. call SetUnitAnimationByIndex(lCaster,4)
      22. call PauseUnit(lVictim,true)
      23. call SetUnitPathing(lVictim,false)
      24. call UnitAddAbility(lVictim,'AEme')
      25. call UnitRemoveAbility(lVictim,'AEme')
      26. set lMoveTimer=CreateTimer()
      27. set lf5=H2Tx(lMoveTimer)
      28. call SetHandle(lf5,"Tiny",lCaster)
      29. call SetHandle(lf5,"TossSource",lVictim)
      30. call SetHandle(lf5,"TossTargetLoc",lTarget)
      31. call SetHandle(lf5,"TossSourceLoc",lStart)
      32. call SetInteger(lf5,"TossCounter",lCounter)
      33. call SetReal(lf5,"TossDistance",lRange)
      34. call SetReal(lf5,"TossAngle",lAngle)
      35. call TimerStart(lMoveTimer,.02,true,function TossMain)
      36. endif
      37. endfunction
      Alles anzeigen


      Relevanter Code:

      Quellcode

      1. call GroupEnumUnitsInRange(lNearCaster,GetUnitX(lCaster),GetUnitY(lCaster),275,Condition(function TossFilter))
      2. set lVictim=GroupPickRandomUnit(lNearCaster)
      3. call DestroyGroup(lNearCaster)


      Edit: Kann einer von den Betatestern diesen Code mal an Icefrog schicken? Mit dieser simplen Funktion wird die nächste Einheit aus einer Gruppe g zu den Punkt aus den Koordinaten X / Y ermittelt

      Quellcode

      1. function H2I takes handle h returns integer
      2. return h
      3. return 0
      4. endfunction
      5. function GetClosestUnit takes group g, real x, real y returns unit
      6. local unit u1
      7. local unit u2
      8. local integer unitint
      9. loop
      10. exitwhen CountUnitsInGroup(g) <= 1
      11. set u1 = FirstOfGroup(g)
      12. call GroupRemoveUnit( g, u1 )
      13. set u2 = FirstOfGroup(g)
      14. call GroupRemoveUnit( g, u2 )
      15. if DistanceBetweenPointsXY(x, y, GetUnitX(u1), GetUnitY(u1)) < DistanceBetweenPointsXY(x, y, GetUnitX(u2), GetUnitY(u2)) then
      16. call GroupAddUnit( g, u1 )
      17. else
      18. call GroupAddUnit( g, u2 )
      19. endif
      20. set u1 = null
      21. set u2 = null
      22. endloop
      23. set u1 = FirstOfGroup(g)
      24. set unitint = H2I(u1)
      25. set g = null
      26. set u1 = null
      27. set u2 = null
      28. return unitint
      29. return null
      30. endfunction
      Alles anzeigen

      Das Wort "Würde" kennen manche Menschen nur noch als Konjunktiv II in dem Satz: "Für Geld würde ich alles machen."
    • 01239 schrieb:

      hm.. maybe WILL Icefrog den code nicht ändern : ). ich denke durchaus, dass er dazu imstande ist..
      Ich bin mir ebenfals sicher, dass es kein großes Problem für ihn wäre, diesen Code selber zu triggern, jedoch soll er entweder den Code oder den Tooltip ändern.

      Das Wort "Würde" kennen manche Menschen nur noch als Konjunktiv II in dem Satz: "Für Geld würde ich alles machen."
    • anstaendiges tossen lernt man durch anstaendiges timing und gutes abschaetzen der aoe. mit haste zb muss man sich "einfach" so weit neben den gegner stellen, dass er die einzige unit in der aoe ist (ziemlich weit am rand der selbigen) und in dem moment tossen. wenn sich der gegner mitten zwischen creeps stellt, so dass das nicht moeglich ist, ist es glueckssache, gegebenenfalls kann man dann aber trotzdem erstmal nen avalanche setzen und 1-2 hits auf bestimmte creeps, um dafuer zu sorgen, dass es stellen gibt, an denen man dann stehen kann, wo er wieder die einzige einheit im oder am rande der aoe ist.

      wenn man das privat ueben moechte, tut man das imo im wald. testmode mit necro und hotd.
    • Den richtigen Moment abzuwarten birgt nicht nur das Risiko, es ist ein 100%iger Verlust von dem Avalanche DoubleDMG. Der Toss muss erfahrungsgemäß immer in der Sekunde kommen in der der Gegner zum ersten mal gestunnt wird. Muss sich halt entscheiden zwischen normalem Avalanche und Projektil Toss mit Abwarten des richtigen Moments oder hektischem Double DMG Versuch der halt schief gehen kann und dann weniger Schaden macht als ersteres.
    • Benutzer online 1

      1 Besucher