• Check out the results of the Techtree Contest #19!
  • Listen to a special audio message from Bill Roper to the Hive Workshop community (Bill is a former Vice President of Blizzard Entertainment, Producer, Designer, Musician, Voice Actor) 🔗Click here to hear his message!
  • Read Evilhog's interview with Gregory Alper, the original composer of the music for WarCraft: Orcs & Humans 🔗Click here to read the full interview.
  • Create a void inspired texture for Warcraft 3 and enter Hive's 34th Texturing Contest: Void! Click here to enter!
  • The Hive's 22nd Icon Contest: Creep Abilities is now concluded, time to vote for your favourite set of icons! Click here to vote!

Need help making my ability MUI

Status
Not open for further replies.
Level 8
Joined
Jul 17, 2004
Messages
283
How can I make my ability MUI? Here are my triggers.

  • Jump Initialize
    • Events
      • Map initialization
    • Conditions
    • Actions
      • -------- Damage is multiplied by Jump ability level --------
      • Set Jump_Damage = 70.00
      • -------- Add/Remove the Crow Form ability to every unit that has the Jump ability. --------
      • -------- We need to do this in order to be able to change the flying height of our non-flying unit. --------
      • Unit - Add Crow Form to Dragoon 0005 <gen>
      • Unit - Remove Crow Form from Dragoon 0005 <gen>
  • Jump Cast
    • Events
      • Unit - A unit Begins casting an ability
    • Conditions
      • (Ability being cast) Equal to Jump
    • Actions
      • Set Jump_Caster = (Triggering unit)
      • Set Jump_LandPoint = (Target point of ability being cast)
      • Unit - Make Jump_Caster Invulnerable
      • Unit - Turn collision for Jump_Caster Off
      • -------- Fade Dummies --------
      • Unit - Create 1 Dragoon (Dummy) for (Owner of Jump_Caster) at (Position of Jump_Caster) facing (Facing of Jump_Caster) degrees
      • Set Jump_Dummy1 = (Last created unit)
      • Unit - Create 1 Dragoon (Dummy) for (Owner of Jump_Caster) at (Position of Jump_Caster) facing (Facing of Jump_Caster) degrees
      • Set Jump_Dummy2 = (Last created unit)
      • Unit - Turn collision for Jump_Dummy1 Off
      • Unit - Turn collision for Jump_Dummy2 Off
      • Unit - Move Jump_Dummy1 instantly to (Position of Jump_Caster)
      • Unit - Move Jump_Dummy2 instantly to (Position of Jump_Caster)
      • Animation - Change Jump_Dummy1 flying height to 2000.00 at 1400.00
      • Animation - Change Jump_Dummy2 flying height to 2000.00 at 1700.00
      • -------- -=-=-=- --------
      • Animation - Change Jump_Caster flying height to 2000.00 at 2300.00
      • Special Effect - Create a special effect attached to the origin of Jump_Caster using Abilities\Spells\NightElf\Blink\BlinkCaster.mdl
      • Special Effect - Destroy (Last created special effect)
      • Trigger - Turn on Jump Damage Land <gen>
  • Jump Damage Land (Initially Off)
    • Events
      • Time - Every 0.03 seconds of game time
    • Conditions
    • Actions
      • Set Jump_Time = (Jump_Time + 1)
      • Set Jump_FadeTime = (Jump_FadeTime + 7.00)
      • Animation - Change Jump_Dummy1's vertex coloring to (100.00%, 100.00%, 100.00%) with Jump_FadeTime% transparency
      • Animation - Change Jump_Dummy2's vertex coloring to (100.00%, 100.00%, 100.00%) with Jump_FadeTime% transparency
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • Jump_Time Equal to 28
        • Then - Actions
          • -------- Move to Target Point --------
          • Unit - Move Jump_Caster instantly to Jump_LandPoint
          • Special Effect - Create a special effect attached to the origin of Jump_Caster using Abilities\Spells\NightElf\Blink\BlinkCaster.mdl
          • Special Effect - Destroy (Last created special effect)
          • Unit - Turn collision for Jump_Caster On
          • Animation - Change Jump_Caster flying height to 0.00 at 3000.00
        • Else - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • Jump_Time Equal to 50
            • Then - Actions
              • -------- Land --------
              • Special Effect - Create a special effect attached to the origin of Jump_Caster using Abilities\Spells\Human\Thunderclap\ThunderClapCaster.mdl
              • Special Effect - Destroy (Last created special effect)
              • Unit Group - Pick every unit in (Units within 300.00 of Jump_LandPoint matching (((Matching unit) belongs to an enemy of (Owner of Jump_Caster)) Equal to True)) and do (Actions)
                • Loop - Actions
                  • Unit - Cause Jump_Caster to damage (Picked unit), dealing ((Real((Level of Jump for Jump_Caster))) x Jump_Damage) damage of attack type Normal and damage type Normal
              • Unit - Make Jump_Caster Vulnerable
              • Unit - Unpause Jump_Caster
              • Unit - Remove Jump_Dummy1 from the game
              • Unit - Remove Jump_Dummy2 from the game
              • Set Jump_Time = 0
              • Set Jump_FadeTime = 0.00
              • Trigger - Turn off (This trigger)
            • Else - Actions
 
Deathinsmyfriend, I tried applying your indexing method to my triggers. For some reason it isn't working.

Are Hashtables an easier route?

Here are my triggers.

  • Jump Cast
    • Events
      • Unit - A unit Begins casting an ability
    • Conditions
      • (Ability being cast) Equal to Jump
    • Actions
      • Set MaxIndex = (MaxIndex + 1)
      • Set Jump_Caster[MaxIndex] = (Triggering unit)
      • Set Jump_LandPoint[MaxIndex] = (Target point of ability being cast)
      • Unit - Make Jump_Caster[MaxIndex] Invulnerable
      • Unit - Turn collision for Jump_Caster[MaxIndex] Off
      • -------- Fade Dummies --------
      • Unit - Create 1 Dragoon (Dummy) for (Owner of Jump_Caster[MaxIndex]) at (Position of Jump_Caster[MaxIndex]) facing (Facing of Jump_Caster[MaxIndex]) degrees
      • Set Jump_Dummy1[MaxIndex] = (Last created unit)
      • Unit - Create 1 Dragoon (Dummy) for (Owner of Jump_Caster[MaxIndex]) at (Position of Jump_Caster[MaxIndex]) facing (Facing of Jump_Caster[MaxIndex]) degrees
      • Set Jump_Dummy2[MaxIndex] = (Last created unit)
      • Unit - Turn collision for Jump_Dummy1[MaxIndex] Off
      • Unit - Turn collision for Jump_Dummy2[MaxIndex] Off
      • Unit - Move Jump_Dummy1[MaxIndex] instantly to (Position of Jump_Caster[MaxIndex])
      • Unit - Move Jump_Dummy2[MaxIndex] instantly to (Position of Jump_Caster[MaxIndex])
      • Animation - Change Jump_Dummy1[MaxIndex] flying height to 2000.00 at 1400.00
      • Animation - Change Jump_Dummy2[MaxIndex] flying height to 2000.00 at 1700.00
      • -------- -=-=-=- --------
      • Animation - Change Jump_Caster[MaxIndex] flying height to 2000.00 at 2300.00
      • Special Effect - Create a special effect attached to the origin of Jump_Caster[MaxIndex] using Abilities\Spells\NightElf\Blink\BlinkCaster.mdl
      • Special Effect - Destroy (Last created special effect)
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • MaxIndex Equal to 1
        • Then - Actions
          • Trigger - Turn on Jump Land <gen>
        • Else - Actions
  • Jump Land
    • Events
      • Time - Every 0.03 seconds of game time
    • Conditions
    • Actions
      • For each (Integer tempInteger) from 1 to MaxIndex, do (Actions)
        • Loop - Actions
          • Set Jump_Time[tempInteger] = (Jump_Time[tempInteger] + 1)
          • Set Jump_FadeTime[tempInteger] = (Jump_FadeTime[tempInteger] + 7.00)
          • Animation - Change Jump_Dummy1[tempInteger]'s vertex coloring to (100.00%, 100.00%, 100.00%) with Jump_FadeTime[tempInteger]% transparency
          • Animation - Change Jump_Dummy2[tempInteger]'s vertex coloring to (100.00%, 100.00%, 100.00%) with Jump_FadeTime[tempInteger]% transparency
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • Jump_Time[tempInteger] Equal to 28
            • Then - Actions
              • -------- Move to Target Point --------
              • Unit - Move Jump_Caster[tempInteger] instantly to Jump_LandPoint[tempInteger]
              • Special Effect - Create a special effect attached to the origin of Jump_Caster[tempInteger] using Abilities\Spells\NightElf\Blink\BlinkCaster.mdl
              • Special Effect - Destroy (Last created special effect)
              • Animation - Change Jump_Caster[tempInteger] flying height to 0.00 at 3000.00
              • Unit - Remove Jump_Dummy1[tempInteger] from the game
              • Unit - Remove Jump_Dummy2[tempInteger] from the game
              • Unit - Turn collision for Jump_Caster[tempInteger] On
            • Else - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • Jump_Time[tempInteger] Equal to 50
                • Then - Actions
                  • -------- Land --------
                  • Special Effect - Create a special effect attached to the origin of Jump_Caster[tempInteger] using Abilities\Spells\Human\Thunderclap\ThunderClapCaster.mdl
                  • Special Effect - Destroy (Last created special effect)
                  • -------- Damage based on Level of Ability --------
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • (Level of Jump for Jump_Caster[tempInteger]) Equal to 1
                    • Then - Actions
                      • Unit - Cause Jump_Caster[tempInteger] to damage circular area after 0.00 seconds of radius 300.00 at (Position of Jump_Caster[tempInteger]), dealing 70.00 damage of attack type Normal and damage type Normal
                    • Else - Actions
                      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                        • If - Conditions
                          • (Level of Jump for Jump_Caster[tempInteger]) Equal to 2
                        • Then - Actions
                          • Unit - Cause Jump_Caster[tempInteger] to damage circular area after 0.00 seconds of radius 300.00 at (Position of Jump_Caster[tempInteger]), dealing 140.00 damage of attack type Normal and damage type Normal
                        • Else - Actions
                          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                            • If - Conditions
                              • (Level of Jump for Jump_Caster[tempInteger]) Equal to 3
                            • Then - Actions
                              • Unit - Cause Jump_Caster[tempInteger] to damage circular area after 0.00 seconds of radius 300.00 at (Position of Jump_Caster[tempInteger]), dealing 210.00 damage of attack type Normal and damage type Normal
                            • Else - Actions
                  • -------- -=-=-=- --------
                  • Unit - Make Jump_Caster[tempInteger] Vulnerable
                  • Unit - Unpause Jump_Caster[tempInteger]
                  • -------- RECYCLE BEGINS HERE --------
                  • Set Jump_Caster[tempInteger] = Jump_Caster[MaxIndex]
                  • Set Jump_Caster[MaxIndex] = No unit
                  • Set Jump_LandPoint[tempInteger] = Jump_LandPoint[MaxIndex]
                  • Set Jump_Time[tempInteger] = Jump_Time[MaxIndex]
                  • Set Jump_Time[MaxIndex] = 0
                  • Set Jump_FadeTime[tempInteger] = Jump_FadeTime[MaxIndex]
                  • Set Jump_FadeTime[tempInteger] = 0.00
                  • Set MaxIndex = (MaxIndex - 1)
                  • Set tempInteger = (tempInteger - 1)
                  • Trigger - Turn off (This trigger)
                • Else - Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • MaxIndex Equal to 0
        • Then - Actions
          • Trigger - Turn off (This trigger)
        • Else - Actions
 
????????????????????????????

Need help.

What's wrong with it, Deathismyfriend? I followed your tutorial exactly.
 
if you followed my tutorial and its not working then you did something wrong.

Also please dont double post.

This is your problem
  • Set Jump_Caster[tempInteger] = Jump_Caster[MaxIndex]
  • Set Jump_Caster[MaxIndex] = No unit
  • Set Jump_LandPoint[tempInteger] = Jump_LandPoint[MaxIndex]
  • Set Jump_Time[tempInteger] = Jump_Time[MaxIndex]
  • Set Jump_Time[MaxIndex] = 0
  • Set Jump_FadeTime[tempInteger] = Jump_FadeTime[MaxIndex]
  • Set Jump_FadeTime[tempInteger] = 0.00
  • Set MaxIndex = (MaxIndex - 1)
  • Set tempInteger = (tempInteger - 1)
  • Trigger - Turn off (This trigger)
you aren't supposed to have the turn off trigger in there.
It should be in the ITE to check if maxIndex equals 0
Which you have that is correct.
 
Status
Not open for further replies.
Back
Top