• 🏆 Texturing Contest #33 is OPEN! Contestants must re-texture a SD unit model found in-game (Warcraft 3 Classic), recreating the unit into a peaceful NPC version. 🔗Click here to enter!
  • It's time for the first HD Modeling Contest of 2024. Join the theme discussion for Hive's HD Modeling Contest #6! Click here to post your idea!

Shadowstep

Status
Not open for further replies.
Level 24
Joined
Jun 16, 2008
Messages
1,939
Maybe u remember my question on my idea shadowstep. that is my trigger and i wanted to know if i can make things better and if i can, what. Maybe u can have a look.



  • Shadowstep
    • Ereignisse
      • Einheit - A unit Beginnt, eine Fähigkeit zu wirken
    • Bedingungen
      • (Ability being cast) Gleich Shadowstep
    • Aktionen
      • Einheit - Make (Triggering unit) Unverwundbar
      • Einheit - Turn collision for (Casting unit) Aus
      • Einheit - Add Dauerhafte Unsichtbarkeit to (Casting unit)
      • Wait 1.00 seconds
      • Einheit - Cause (Casting unit) to damage (Target unit of ability being cast), dealing ((Real((Level of (Casting unit)))) x ((Real((Level of Shadowstep for (Casting unit)))) x 9.00)) damage of attack type Zaubersprüche and damage type Normal
      • Einheit - Move (Casting unit) instantly to (Position of (Target unit of ability being cast))
      • Spezialeffekt - Create a special effect at (Position of (Casting unit)) using war3mapImported\DarkLightningNova.mdx
      • Wait 0.30 seconds
      • Einheit - Make (Triggering unit) Verwundbar
      • Spezialeffekt - Create a special effect at (Position of (Target unit of ability being cast)) using war3mapImported\DarkLightningNova.mdx
      • Einheit - Order (Casting unit) to Angreifen (Target unit of ability being cast)
      • Einheit - Turn collision for (Casting unit) Ein
      • Einheit - Remove Dauerhafte Unsichtbarkeit from (Casting unit)
 
Level 12
Joined
Apr 27, 2008
Messages
1,228
What is the difference between polled waits and normal waits?

Polled wait is more precise, but is it the same piece of crap(yes it uses the same native - TriggerSleepAction).
P.s. You can make your very own Polled wait that will be really really accurate. But still TriggerSleepAction ;)
 
Level 3
Joined
Jun 16, 2008
Messages
28
this dosn't look to bad but I do have a few pointers.
First could you please explain here what your idea for the spell was ( I never saw it before)?

Second could you tell me what the event is? I can't speak more than a few works of german and the translation program I am using doesn't produce any inteligable result for that line.

Thirdly search for things that leak in the forums you should find some infomation on how to stop leaks in your trigger this should made it work a bit better. also maybe look at how to use better waits in the tutorial section as the in game wait have some problems with them.
 
Level 12
Joined
Apr 27, 2008
Messages
1,228
And a little more:
JASS:
function PolledWait takes real duration returns nothing
    local timer t
    local real  timeRemaining

    if (duration > 0) then
        set t = CreateTimer()
        call TimerStart(t, duration, false, null)
        loop
            set timeRemaining = TimerGetRemaining(t)
            exitwhen timeRemaining <= 0

            // If we have a bit of time left, skip past 10% of the remaining
            // duration instead of checking every interval, to minimize the
            // polling on long waits.
            if (timeRemaining > bj_POLLED_WAIT_SKIP_THRESHOLD) then
                call TriggerSleepAction(0.1 * timeRemaining)
            else
                call TriggerSleepAction(bj_POLLED_WAIT_INTERVAL)
            endif
        endloop
        call DestroyTimer(t)
    endif
JNGP rocks
 
Level 24
Joined
Jun 16, 2008
Messages
1,939
  • Shadowstep
    • Events
      • Unit - A unit starts the effect of an ability
    • Bedingungen
      • (Ability being cast) equal to Shadowstep
    • Aktionen
      • Set Caster = (Casting unit)
      • Set Target = (Target unit of ability being cast)
      • Set TempLoc00 = (Position of (Target unit of ability being cast))
      • special effect - Create a special effect at (Position of Caster) using war3mapImported\DarkLightningNova.mdx
      • unit - Make Caster invulnerable
      • unit - Turn collision for Caster off
      • unit - Add permanent invisibility to Caster
      • Wait 1.00 seconds
      • For each (Integer A) from 1 to ((Level of Shadowstep for Caster) x 1), do (Actions)
        • Schleifen - actions
          • unit - Cause Caster to damage Target, dealing ((Real((Level of (Casting unit)))) x ((Real((Level of Shadowstep for (Casting unit)))) x 9.00)) damage of attack type spells and damage type normal
          • unit - Move Caster instantly to (Position of Target)
          • special effect - Create a special effect at (Position of Target) using Objects\Spawnmodels\Human\HumanBlood\BloodElfSpellThiefBlood.mdl
          • Wait 0.50 seconds
      • Wait 0.30 seconds
      • unit - Make (Triggering unit) vulnerable
      • unit - Order (Casting unit) to attack (Target unit of ability being cast)
      • unit - Turn collision for (Casting unit) on
      • unit - Remove permanent invisibility from (Casting unit)
      • Custom script: call RemoveLocation(udg_TempLoc00)
      • Custom script: set udg_Caster = null
      • Custom script: set udg_Target = null
hmm this is my new version of the trigger. the spell is an ulti now and as an result a bit mightier ^^
i tried to translate as many words as i could. hope its understandable.
 
Last edited:
Status
Not open for further replies.
Top