• 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.

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
 
Level 8
Joined
Jul 17, 2004
Messages
283
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
 
Level 8
Joined
Jul 17, 2004
Messages
283
????????????????????????????

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.
Top