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

Need Help Making Spells MUI and Fix Leaks

Status
Not open for further replies.
Level 18
Joined
May 27, 2007
Messages
1,689
I have made a few spells, and I need help fixing leaks and making MUI


Also I only want this trigger to attack only enemy units i have tried a few things and failed miserably with it
  • Vortex
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Vortex
    • Actions
      • Unit Group - Pick every unit in (Units within 512.00 of (Target point of ability being cast) matching ((Owner of (Triggering unit)) Not equal to (Owner of (Picked unit)))) and do (Actions)
        • Loop - Actions
          • Unit Group - Add (Picked unit) to VortexUnit
          • Unit Group - Remove (Triggering unit) from VortexUnit
          • Unit Group - Remove YourTeam from VortexUnit
      • Set VortexgGroupNumber = (Number of units in VortexUnit)
      • Special Effect - Create a special effect at (Target point of ability being cast) using Abilities\Spells\Demon\DarkConversion\ZombifyTarget.mdl
      • Set vortexpoint = (Target point of ability being cast)
      • Set vortex = (Last created special effect)
      • For each (Integer A) from 1 to VortexgGroupNumber, do (Actions)
        • Loop - Actions
          • Set TempUnit = (Random unit from VortexUnit)
          • Unit Group - Remove TempUnit from VortexUnit
          • Unit - Pause TempUnit
          • If ((Life of TempUnit) Greater than 0.00) then do (Special Effect - Create a special effect at (Position of TempUnit) using Abilities\Spells\Undead\DarkSummoning\DarkSummonMissile.mdl) else do (Do nothing)
          • If ((Life of TempUnit) Greater than 0.00) then do (Lightning - Create a Mana Burn lightning effect from source (Target point of ability being cast) to target (Position of TempUnit)) else do (Do nothing)
          • Set VortexLight[(Integer A)] = (Last created lightning effect)
          • Set VortexEffect[(Integer A)] = (Last created special effect)
      • Wait 3.00 seconds
      • For each (Integer A) from 1 to VortexgGroupNumber, do (Actions)
        • Loop - Actions
          • Special Effect - Destroy VortexEffect[(Integer A)]
          • Lightning - Destroy VortexLight[(Integer A)]
      • Wait 0.10 seconds
      • Special Effect - Destroy vortex
      • Special Effect - Create a special effect at vortexpoint using Abilities\Spells\Undead\Unsummon\UnsummonTarget.mdl
      • Set explosion = (Last created special effect)
      • Wait 0.01 seconds
      • Special Effect - Destroy explosion
      • Unit Group - Pick every unit in (Units within 512.00 of vortexpoint) and do (Actions)
        • Loop - Actions
          • Unit - Unpause all units
          • Unit Group - Remove (Triggering unit) from (Last created unit group)
          • Special Effect - Create a special effect at (Position of (Picked unit)) using Abilities\Spells\Undead\DeathCoil\DeathCoilSpecialArt.mdl
          • Set UnitExplosion = (Last created special effect)
          • Unit - Set mana of (Picked unit) to (Random real number between 0.00 and 100.00)
          • Set manadamage = ((Max mana of (Picked unit)) - (Mana of (Picked unit)))
          • Unit - Cause (Triggering unit) to damage (Picked unit), dealing manadamage damage of attack type Spells and damage type Normal
      • Special Effect - Destroy UnitExplosion
I want this trigger to be only castable on friendly units
  • Combine demon
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Combine
    • Actions
      • Unit Group - Pick every unit in (Units in (Playable map area) matching ((Owner of (Triggering unit)) Not equal to (Picked player))) and do (Set Enemy = (Picked unit))
      • Set DemonPoint = (Target point of ability being cast)
      • Unit Group - Pick every unit in (Units within 512.00 of (Target point of ability being cast) matching ((Owner of (Triggering unit)) Not equal to (Picked player))) and do (Actions)
        • Loop - Actions
          • Set UnitLifeReal = ((Life of (Picked unit)) x (Real((Number of units in DemonUnit))))
          • Unit Group - Add (Picked unit) to DemonUnit
          • Unit Group - Remove Enemy from DemonUnit
          • Unit Group - Remove (Triggering unit) from DemonUnit
      • Set DemonUnitNumber = (Number of units in DemonUnit)
      • For each (Integer B) from 1 to DemonUnitNumber, do (Actions)
        • Loop - Actions
          • Set DemonTempUnit = (Random unit from DemonUnit)
          • Unit Group - Remove DemonTempUnit from DemonUnit
          • Unit - Move DemonTempUnit instantly to DemonPoint
          • If ((Life of DemonTempUnit) Greater than 0.00) then do (Special Effect - Create a special effect attached to the left foot of DemonTempUnit using Abilities\Spells\Undead\DarkRitual\DarkRitualTarget.mdl) else do (Do nothing)
          • Set DemonEffect[(Integer B)] = (Last created special effect)
          • Unit - Add a 1.00 second Generic expiration timer to DemonTempUnit
      • Wait 1.00 seconds
      • If ((Number of units in (Units within 512.00 of DemonPoint)) Greater than or equal to 1) then do (Special Effect - Create a special effect at DemonPoint using war3mapImported\BlackChakraExplosion.mdx) else do (Do nothing)
      • Set DemonicSlam = (Last created special effect)
      • Wait 0.50 seconds
      • Special Effect - Destroy DemonicSlam
      • If ((Number of units in (Units within 512.00 of DemonPoint)) Greater than or equal to 1) then do (Special Effect - Create a special effect at DemonPoint using war3mapImported\BlackHoles.mdx) else do (Do nothing)
      • Set BlackHole = (Last created special effect)
      • Wait 2.00 seconds
      • Special Effect - Destroy BlackHole
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • And - All (Conditions) are true
            • Conditions
              • (Number of units in (Units within 512.00 of DemonPoint)) Greater than or equal to 1
              • UnitLifeReal Greater than or equal to 1500.00
        • Then - Actions
          • Unit - Create 1 Doom Guard for (Owner of (Triggering unit)) at DemonPoint facing DemonPoint
        • Else - Actions
          • Do nothing
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • And - All (Conditions) are true
            • Conditions
              • (Number of units in (Units within 512.00 of DemonPoint)) Greater than or equal to 1
              • (UnitLifeReal Less than 1500.00) and (UnitLifeReal Greater than or equal to 1000.00)
        • Then - Actions
          • Unit - Create 1 Infernal for (Owner of (Triggering unit)) at DemonPoint facing DemonPoint
        • Else - Actions
          • Do nothing
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • And - All (Conditions) are true
            • Conditions
              • (Number of units in (Units within 512.00 of DemonPoint)) Greater than or equal to 1
              • (UnitLifeReal Less than 1000.00) and (UnitLifeReal Greater than or equal to 500.00)
        • Then - Actions
          • Unit - Create 1 Fel Ravager for (Owner of (Triggering unit)) at DemonPoint facing DemonPoint
        • Else - Actions
          • Do nothing
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • And - All (Conditions) are true
            • Conditions
              • (Number of units in (Units within 512.00 of DemonPoint)) Greater than or equal to 1
              • (UnitLifeReal Less than 500.00) and (UnitLifeReal Greater than or equal to 10.00)
        • Then - Actions
          • Unit - Create 1 Eredar Diabolist for (Owner of (Triggering unit)) at DemonPoint facing DemonPoint
        • Else - Actions
          • Do nothing
      • For each (Integer B) from 1 to DemonUnitNumber, do (Actions)
        • Loop - Actions
          • Special Effect - Destroy DemonEffect[(Integer A)]

This one just need leaks and MUI pointed out to me
  • Jail
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Jailor
    • Actions
      • Special Effect - Create a special effect at (Position of (Target unit of ability being cast)) using Abilities\Spells\Orc\ReinforcedTrollBurrow\ReinforcedTrollBurrowTarget.mdl
      • Set JailBars = (Last created special effect)
      • Special Effect - Create a special effect at (Position of (Target unit of ability being cast)) using Abilities\Spells\Orc\Ensnare\ensnareTarget.mdl
      • Set Jailed = (Target unit of ability being cast)
      • Unit - Pause Jailed
      • Wait 4.00 seconds
      • Unit - Unpause Jailed
      • Special Effect - Destroy JailBars
      • Special Effect - Destroy (Last created special effect)
      • Unit - Order Jailed to Move To (Random point in Internment <gen>)
      • Game - Display to (All players) for 5.00 seconds the text: GET BACK IN JAIL YO...
I Will Rep You Forever for this help
 
Level 11
Joined
Jul 12, 2005
Messages
764
You wanted it to be MUI, take the responsibility, you can do it ONLY with jass. I made the 3rd for you, but i doubt there will be anyone who will make the first two MUI for you.

  • Jail
  • Events
    • Unit - A unit Starts the effect of an ability
  • Conditions
    • (Ability being cast) Equal to Jailor
  • Actions
    • Custom script: local unit trg = GetSpellTargetUnit()
    • Custom script: local effect e1 = null
    • Custom script: local effect e2 = null
    • Custom script: local location l = null
    • Custom script: set e1 = AddSpecialEffect("Abilities\\Spells\\Orc\\ReinforcedTrollBurrow\\ReinforcedTrollBurrowTarget.mdl", GetUnitX(trg), GetUnitY(trg))
    • Custom script: set e2 = AddSpecialEffect("Abilities\\Spells\\Orc\\Ensnare\\ensnareTarget.mdl", GetUnitX(trg), GetUnitY(trg))
    • Custom script: call PauseUnit(trg, true)
    • Wait 4.00 seconds
    • Custom script: call PauseUnit(trg, false)
    • Custom script: call DestroyEffect(e1)
    • Custom script: call DestroyEffect(e2)
    • Custom script: set l = GetRandomLocInRect(gg_rct_Internment)
    • Custom script: call IssuePointOrderLoc(trg, "move", l)
    • Custom script: call RemoveLocation(l)
    • Game - Display to (All players) for 5.00 seconds the text: GET BACK IN JAIL YO...
    • Custom script: set trg = null
    • Custom script: set e1 = null
    • Custom script: set e2 = null
    • Custom script: set l = null
 
Status
Not open for further replies.
Top