• 🏆 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!

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.
 
Level 29
Joined
Oct 24, 2012
Messages
6,543
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