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

MUI? A simple enough question.

Status
Not open for further replies.
Level 10
Joined
Jan 21, 2007
Messages
576
Ok all i want to know is if this is MUI because im not quite sure and dont have the means to test it.
  • HCast
    • Events
      • Unit - A unit Begins casting an ability
    • Conditions
      • (Ability being cast) Equal to Hinder
    • Actions
      • Set Trig_Hinder = On
      • Set Target_Hinder = (Target unit of ability being cast)
      • Set Caster_Hinder = (Casting unit)
      • Set L = (Position of (Casting unit))
      • Set L2 = (Position of (Casting unit))
      • Special Effect - Create a special effect at L using Abilities\Spells\Human\ThunderClap\ThunderClapCaster.mdl
      • Special Effect - Destroy (Last created special effect)
      • Custom script: call RemoveLocation(udg_L)
      • Set L = (Position of Caster_Hinder)
      • Special Effect - Create a special effect at L using Abilities\Spells\Human\ThunderClap\ThunderClapCaster.mdl
      • Special Effect - Destroy (Last created special effect)
      • Custom script: call RemoveLocation(udg_L)
      • Set L = (Position of Target_Hinder)
      • Unit - Move (Casting unit) instantly to L
      • Custom script: call RemoveLocation(udg_L)
      • Set L = (Position of Caster_Hinder)
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • 0 Equal to 1
        • Then - Actions
          • Custom script: set bj_wantDestroyGroup = true
          • Unit Group - Pick every unit in (Units within 512.00 of L matching ((((Matching unit) belongs to an enemy of (Owner of Caster_Hinder)) Equal to True) and (((Triggering unit) is alive) Equal to True))) and do (Actions)
            • Loop - Actions
              • Custom script: call RemoveLocation(udg_L)
              • Unit - Turn collision for (Picked unit) Off
              • Unit - Make (Picked unit) face Target_Hinder over 0.00 seconds
              • Set L = (Position of (Picked unit))
              • Unit - Move (Picked unit) instantly to L
              • Custom script: call RemoveLocation(udg_L)
              • Animation - Play (Picked unit)'s DEATH animation
              • Unit - Pause (Picked unit)
              • Unit - Cause (Casting unit) to damage (Picked unit), dealing ((Real((Strength of (Casting unit) (Include bonuses)))) x 1.50) damage of attack type Hero and damage type Force
              • Wait 10.00 seconds
              • Trigger - Turn off HEffect <gen>
              • Set Trig_Hinder = Off
          • Wait 1.00 seconds
          • Custom script: set bj_wantDestroyGroup = true
          • Unit Group - Pick every unit in (Units within 950.00 of L2 matching ((((Matching unit) belongs to an enemy of (Owner of Caster_Hinder)) Equal to True) and (((Matching unit) is alive) Equal to True))) and do (Actions)
            • Loop - Actions
              • Custom script: call RemoveLocation(udg_L2)
              • Unit - Unpause (Picked unit)
              • Animation - Play (Picked unit)'s stand animation
              • Unit - Turn collision for (Picked unit) On
        • Else - Actions
 
Last edited:
Level 9
Joined
Jul 27, 2006
Messages
652
Im afraid not, any trigger that uses global variables and any kind of wait is not MUI. And btw Waiting for 0.01 seconds actualy waits for something like 0.17 seconds...
 
Level 9
Joined
Jul 27, 2006
Messages
652
It isnt, unless its for effect? (but im not sure what differance 0.17 seconds makes ingame effect wise)
 
Level 11
Joined
Jul 12, 2005
Messages
764
Simply not store the units into glabal variables. To tell the truth, you don't even need to, as you don't use them in an other trigger.
If you use Triggering unit and Target unit of ability being cast in every line, it should be MUI.
And always use Triggering unit instead of Casting unit or Attacked unit, and such.
 

Dr Super Good

Spell Reviewer
Level 64
Joined
Jan 18, 2005
Messages
27,258
Just make a local and store the unit in it. Or you could use handle vars. Also use polled wait or no wait at all since wait in multiplayer can endup lasting 5* to 7* what you said it should. Also you should rewrite it in JASS for higher efficency, since allthoes BJs and unefficent IF then make it a lot more demanding that it could be.

And do not complain that I am talking about JASS, since this is the WE helpzone and thus there is no rule saying I may not reply to GUI spells with JASS talk.

Now if you would have posted it in the Trigger(GUI) section (where this belongs), thats a different story. . .
 
Level 10
Joined
Jan 21, 2007
Messages
576
Im perfectly fine with you talking about jass, i just wont be able to do it ><, i actualy have no idea what thw wait is for, this trigger has be redone a cople of times and it mightive been overlooked (took waits out). Without those waits its obivsously MUI so.... thanks.
EDIT: I mean it will be obviously MUI when i change variablers to triggering unit, btw why is that more efficent?)\
EDIT2: O ther from me copying and pasting the Set L = point and remove udglocation L actions, acidently included the wait with it.
 
Status
Not open for further replies.
Top