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

[Solved] Mid Air System (HELP)

Status
Not open for further replies.
Level 1
Joined
Dec 6, 2016
Messages
5
I create a simple mid air system, like quake with rockets, but after some uses of the ability , rockets can't appear, I have no idea why this occur, pls help. (new usser)
 

Attachments

  • Test Labs.w3x
    60.5 KB · Views: 37
Level 39
Joined
Feb 27, 2007
Messages
5,013
This line looks like it has an error. Should be Rocket_Current_Index:
  • Unit - Create 1 Dummy Proyectil for (Owner of Rocket_Launcher[UKnock_Current_Index]) at (Position of Rocket_Launcher[Rocket_Current_Index]) facing (Angle from (Position of Rocket_Launcher[Rocket_Current_Index]) to (Position of (Target unit of ability being cast))) degrees
Here are the full triggers:
  • Rocket A
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Fast shoot
    • Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • Rocket_Index_Listener Equal to 0
        • Then - Actions
          • Trigger - Turn on Rockets B <gen>
        • Else - Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • Rocket_Recycle_Size Greater than 0
        • Then - Actions
          • Set Rocket_Recycle_Size = (Rocket_Recycle_Size - 1)
          • Set Rocket_Current_Index = Rocket_Recycle_Container[Rocket_Recycle_Size]
        • Else - Actions
          • Set Rocket_Current_Index = Rocket_Index_Size
          • Set Rocket_Index_Size = (Rocket_Index_Size + 1)
      • Set Rocket_Launcher[Rocket_Current_Index] = (Casting unit)
      • Unit - Create 1 Dummy Proyectil for (Owner of Rocket_Launcher[UKnock_Current_Index]) at (Position of Rocket_Launcher[Rocket_Current_Index]) facing (Angle from (Position of Rocket_Launcher[Rocket_Current_Index]) to (Position of (Target unit of ability being cast))) degrees
      • Set Rocket_Proyectil[Rocket_Current_Index] = (Last created unit)
      • Unit - Move Rocket_Proyectil[Rocket_Current_Index] instantly to (Position of Rocket_Proyectil[Rocket_Current_Index]), facing (Position of (Target unit of ability being cast))
      • Set Rocket_Distance[Rocket_Current_Index] = 5000.00
      • Set Rocket_Height[Rocket_Current_Index] = ((Current flying height of Rocket_Launcher[Rocket_Current_Index]) + 100.00)
      • Animation - Change Rocket_Proyectil[Rocket_Current_Index] flying height to Rocket_Height[Rocket_Current_Index] at 0.00
      • Set Rocket_HeightRate[Rocket_Current_Index] = ((((Current flying height of Rocket_Launcher[Rocket_Current_Index]) + 100.00) - ((Current flying height of (Target unit of ability being cast)) + 100.00)) x 0.04)
      • Set Rockets[(Player number of (Owner of Rocket_Launcher[Rocket_Current_Index]))] = (Rockets[(Player number of (Owner of Rocket_Launcher[Rocket_Current_Index]))] - 1)
      • Set Rocket_Index_Container[Rocket_Index_Listener] = Rocket_Current_Index
      • Set Rocket_Index_Listener = (Rocket_Index_Listener + 1)
  • Rockets B
    • Events
      • Time - Every 0.02 seconds of game time
    • Conditions
    • Actions
      • For each (Integer Rocket_Example_Loop) from 0 to (Rocket_Index_Listener - 1), do (Actions)
        • Loop - Actions
          • Set Rocket_Current_Index = Rocket_Index_Container[Rocket_Example_Loop]
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • Rocket_Distance[Rocket_Current_Index] Greater than 0.00
            • Then - Actions
              • Set Rocket_Target[Rocket_Current_Index] = (Random unit from (Units within 100.00 of (Position of Rocket_Proyectil[Rocket_Current_Index]) matching ((((Matching unit) is alive) Equal to True) and (((Matching unit) Not equal to Rocket_Launcher[Rocket_Current_Index]) and ((((Current flying height of (Mat
            • Else - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • And - All (Conditions) are true
                • Conditions
                  • Rocket_Target[Rocket_Current_Index] Equal to No unit
                  • (Rocket_Proyectil[Rocket_Current_Index] is alive) Equal to True
            • Then - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • (Number of units in (Units within 100.00 of (Position of Rocket_Proyectil[Rocket_Current_Index]) matching ((Unit-type of (Matching unit)) Equal to Scout Tower))) Greater than 0
                • Then - Actions
                  • Set Rocket_Target[Rocket_Current_Index] = (Random unit from (Units within 100.00 of (Position of Rocket_Proyectil[Rocket_Current_Index]) matching ((((Matching unit) is alive) Equal to True) and (((Matching unit) Not equal to Rocket_Launcher[Rocket_Current_Index]) and ((((Current flying height of (Mat
                • Else - Actions
              • Unit - Move Rocket_Proyectil[Rocket_Current_Index] instantly to ((Position of Rocket_Proyectil[Rocket_Current_Index]) offset by 25.00 towards (Facing of Rocket_Proyectil[Rocket_Current_Index]) degrees)
              • Set Rocket_Distance[Rocket_Current_Index] = (Rocket_Distance[Rocket_Current_Index] - 25.00)
              • Set Rocket_Height[Rocket_Current_Index] = (Rocket_Height[Rocket_Current_Index] - Rocket_HeightRate[Rocket_Current_Index])
              • Animation - Change Rocket_Proyectil[Rocket_Current_Index] flying height to Rocket_Height[Rocket_Current_Index] at 0.00
            • Else - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • And - All (Conditions) are true
                • Conditions
                  • Rocket_Target[Rocket_Current_Index] Not equal to No unit
                  • (Rocket_Proyectil[Rocket_Current_Index] is alive) Equal to True
            • Then - Actions
              • Set Rocket_Distance[Rocket_Current_Index] = 0.00
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • (Current flying height of Rocket_Target[Rocket_Current_Index]) Less than or equal to 1.00
                • Then - Actions
                  • Special Effect - Create a special effect at (Position of Rocket_Proyectil[Rocket_Current_Index]) using Abilities\Spells\Other\Incinerate\FireLordDeathExplode.mdl
                  • Special Effect - Destroy (Last created special effect)
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • UKnock_Index_Listener Equal to 0
                    • Then - Actions
                      • Trigger - Turn on Knockbak system <gen>
                    • Else - Actions
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • UKnock_Recycle_Size Greater than 0
                    • Then - Actions
                      • Set UKnock_Recycle_Size = (UKnock_Recycle_Size - 1)
                      • Set UKnock_Current_Index = UKnock_Recycle_Container[UKnock_Recycle_Size]
                    • Else - Actions
                      • Set UKnock_Current_Index = UKnock_Index_Size
                      • Set UKnock_Index_Size = (UKnock_Index_Size + 1)
                  • Set UKnock_Target[UKnock_Current_Index] = Rocket_Target[Rocket_Current_Index]
                  • Unit - Add Storm Crow Form to UKnock_Target[UKnock_Current_Index]
                  • Unit - Remove Storm Crow Form from UKnock_Target[UKnock_Current_Index]
                  • Unit - Set UKnock_Target[UKnock_Current_Index] movement speed to ((Current movement speed of UKnock_Target[UKnock_Current_Index]) x 0.25)
                  • Set UKnockback_Boolean[UKnock_Current_Index] = False
                  • Set UKnock_distance[UKnock_Current_Index] = 100.00
                  • Set UKnock_Desaceleration[UKnock_Current_Index] = (UKnock_distance[UKnock_Current_Index] x 0.02)
                  • Set UKnock_angle[UKnock_Current_Index] = (Angle from (Position of Rocket_Proyectil[UKnock_Current_Index]) to (Position of Rocket_Target[UKnock_Current_Index]))
                  • Set UKnockback_Height[UKnock_Current_Index] = 0.00
                  • Set UKnockback_HeightRate[UKnock_Current_Index] = (500.00 x 0.02)
                  • Set UKnock_Index_Container[UKnock_Current_Index] = UKnock_Current_Index
                  • Set UKnock_Index_Listener = (UKnock_Index_Listener + 1)
                • Else - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • (Current flying height of Rocket_Target[Rocket_Current_Index]) Greater than 1.00
                • Then - Actions
                  • Game - Display to (All players) for 15.00 seconds the text: ((Name of (Owner of Rocket_Launcher[Rocket_Current_Index])) + ( got a mid-air on + (Name of (Owner of Rocket_Target[Rocket_Current_Index]))))
                  • Set Rocket_Crits[Rocket_Current_Index] = True
                • Else - Actions
              • Unit Group - Pick every unit in (Units within 400.00 of (Position of Rocket_Target[Rocket_Current_Index]) matching (((Matching unit) belongs to an enemy of (Owner of Rocket_Proyectil[Rocket_Current_Index])) Equal to True)) and do (Actions)
                • Loop - Actions
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • (Distance between (Position of Rocket_Target[Rocket_Current_Index]) and (Position of (Picked unit))) Less than or equal to 50.00
                    • Then - Actions
                      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                        • If - Conditions
                          • Rocket_Crits[Rocket_Current_Index] Equal to True
                        • Then - Actions
                          • Unit - Cause Rocket_Launcher[Rocket_Current_Index] to damage (Picked unit), dealing 300.00 damage of attack type Chaos and damage type Universal
                          • Special Effect - Create a special effect at (Position of Rocket_Proyectil[Rocket_Current_Index]) using Abilities\Spells\Human\ManaFlare\ManaFlareBoltImpact.mdl
                          • Special Effect - Destroy (Last created special effect)
                          • Special Effect - Destroy Rockets_CritsEffect[Rocket_Current_Index]
                        • Else - Actions
                      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                        • If - Conditions
                          • Rocket_Crits[Rocket_Current_Index] Not equal to True
                        • Then - Actions
                          • Unit - Cause Rocket_Launcher[Rocket_Current_Index] to damage (Picked unit), dealing 100.00 damage of attack type Chaos and damage type Universal
                        • Else - Actions
                    • Else - Actions
                  • Set Rocket_Crits[Rocket_Current_Index] = False
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • (Distance between (Position of Rocket_Target[Rocket_Current_Index]) and (Position of (Picked unit))) Greater than 50.00
                    • Then - Actions
                      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                        • If - Conditions
                          • Rocket_Crits[Rocket_Current_Index] Equal to True
                        • Then - Actions
                          • Unit - Cause Rocket_Launcher[Rocket_Current_Index] to damage (Picked unit), dealing ((100.00 - (50.00 x ((Distance between (Position of Rocket_Proyectil[Rocket_Current_Index]) and (Position of (Picked unit))) / 400.00))) x 3.00) damage of attack type Chaos and damage type Universal
                          • Special Effect - Destroy Rockets_CritsEffect[Rocket_Current_Index]
                          • Special Effect - Create a special effect at (Position of Rocket_Proyectil[Rocket_Current_Index]) using Abilities\Spells\Human\ManaFlare\ManaFlareBoltImpact.mdl
                          • Special Effect - Destroy (Last created special effect)
                        • Else - Actions
                      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                        • If - Conditions
                          • Rocket_Crits[Rocket_Current_Index] Not equal to True
                        • Then - Actions
                          • Unit - Cause Rocket_Launcher[Rocket_Current_Index] to damage (Picked unit), dealing (100.00 - (80.00 x ((Distance between (Position of Rocket_Proyectil[Rocket_Current_Index]) and (Position of (Picked unit))) / 400.00))) damage of attack type Chaos and damage type Universal
                        • Else - Actions
                    • Else - Actions
                  • Set Rocket_Crits[Rocket_Current_Index] = False
              • Unit - Kill Rocket_Proyectil[Rocket_Current_Index]
              • Set Rocket_Distance[Rocket_Current_Index] = 0.00
            • Else - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • Or - Any (Conditions) are true
                • Conditions
                  • Rocket_Distance[Rocket_Current_Index] Less than or equal to 0.00
                  • (Rocket_Proyectil[Rocket_Current_Index] is alive) Not equal to True
                  • Rocket_Height[Rocket_Current_Index] Greater than or equal to 2000.00
            • Then - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • (Rocket_Proyectil[Rocket_Current_Index] is alive) Equal to True
                • Then - Actions
                  • Unit Group - Pick every unit in (Units within 400.00 of (Position of Rocket_Proyectil[Rocket_Current_Index]) matching (((Matching unit) belongs to an enemy of (Owner of Rocket_Proyectil[Rocket_Current_Index])) Equal to True)) and do (Actions)
                    • Loop - Actions
                      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                        • If - Conditions
                          • (Distance between (Position of Rocket_Proyectil[Rocket_Current_Index]) and (Position of (Picked unit))) Less than or equal to 25.00
                        • Then - Actions
                          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                            • If - Conditions
                              • Rocket_Crits[Rocket_Current_Index] Equal to True
                            • Then - Actions
                              • Unit - Cause Rocket_Launcher[Rocket_Current_Index] to damage (Picked unit), dealing 300.00 damage of attack type Chaos and damage type Universal
                              • Special Effect - Create a special effect at (Position of Rocket_Proyectil[Rocket_Current_Index]) using Abilities\Spells\Human\ManaFlare\ManaFlareBoltImpact.mdl
                              • Special Effect - Destroy (Last created special effect)
                              • Special Effect - Destroy Rockets_CritsEffect[Rocket_Current_Index]
                            • Else - Actions
                          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                            • If - Conditions
                              • Rocket_Crits[Rocket_Current_Index] Not equal to True
                            • Then - Actions
                              • Unit - Cause Rocket_Launcher[Rocket_Current_Index] to damage (Picked unit), dealing 100.00 damage of attack type Chaos and damage type Universal
                            • Else - Actions
                          • Set Rocket_Crits[Rocket_Current_Index] = False
                        • Else - Actions
                      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                        • If - Conditions
                          • (Distance between (Position of Rocket_Proyectil[Rocket_Current_Index]) and (Position of (Picked unit))) Greater than 25.00
                        • Then - Actions
                          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                            • If - Conditions
                              • Rocket_Crits[Rocket_Current_Index] Equal to True
                            • Then - Actions
                              • Unit - Cause Rocket_Launcher[Rocket_Current_Index] to damage (Picked unit), dealing ((100.00 - (50.00 x ((Distance between (Position of Rocket_Proyectil[Rocket_Current_Index]) and (Position of (Picked unit))) / 400.00))) x 3.00) damage of attack type Chaos and damage type Universal
                              • Special Effect - Create a special effect at (Position of Rocket_Proyectil[Rocket_Current_Index]) using Abilities\Spells\Human\ManaFlare\ManaFlareBoltImpact.mdl
                              • Special Effect - Destroy (Last created special effect)
                              • Special Effect - Destroy Rockets_CritsEffect[Rocket_Current_Index]
                            • Else - Actions
                          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                            • If - Conditions
                              • Rocket_Crits[Rocket_Current_Index] Not equal to True
                            • Then - Actions
                              • Unit - Cause Rocket_Launcher[Rocket_Current_Index] to damage (Picked unit), dealing (100.00 - (80.00 x ((Distance between (Position of Rocket_Proyectil[Rocket_Current_Index]) and (Position of (Picked unit))) / 400.00))) damage of attack type Chaos and damage type Universal
                            • Else - Actions
                          • Set Rocket_Crits[Rocket_Current_Index] = False
                        • Else - Actions
                  • Special Effect - Create a special effect at (Position of Rocket_Proyectil[Rocket_Current_Index]) using ExplosionBIG.mdx
                  • Special Effect - Destroy (Last created special effect)
                  • Unit - Kill Rocket_Proyectil[Rocket_Current_Index]
                • Else - Actions
              • Unit - Remove Rocket_Proyectil[Rocket_Current_Index] from the game
              • Set Rocket_Crits[Rocket_Current_Index] = False
              • Set Rocket_Height[Rocket_Current_Index] = 0.00
              • Set Rocket_Proyectil[Rocket_Current_Index] = No unit
              • Set Rocket_Launcher[Rocket_Current_Index] = No unit
              • Set Rocket_Target[Rocket_Current_Index] = No unit
              • Set Rocket_Index_Listener = (Rocket_Index_Listener - 1)
              • Set Rocket_Index_Container[Rocket_Example_Loop] = Rocket_Index_Container[Rocket_Index_Listener]
              • Set Rocket_Recycle_Container[Rocket_Recycle_Size] = Rocket_Current_Index
              • Set Rocket_Recycle_Size = (Rocket_Recycle_Size + 1)
              • Set Rocket_Example_Loop = (Rocket_Example_Loop - 1)
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • Rocket_Index_Listener Equal to 0
                • Then - Actions
                  • Trigger - Turn off (This trigger)
                • Else - Actions
            • Else - Actions
 
Status
Not open for further replies.
Top