# [Trigger]How to make this MUI...

Status
Not open for further replies.

#### Exavier00

Level 5
• Fissure
• Events
• Unit - A unit Starts the effect of an ability
• Conditions
• (Ability being cast) Equal to Fissure (skill)
• Actions
• Set Fissure_Level = (Level of Fissure (skill) for (Casting unit))
• Set Fissure_Count = 0
• Set Fissure_Unit[0] = (Casting unit)
• Set Fissure_Point[1] = (Position of (Casting unit))
• Set Fissure_Point[2] = ((Position of (Casting unit)) offset by 1600.00 towards (Angle from (Position of (Casting unit)) to (Target point of ability being cast)) degrees)
• For each (Integer A) from 1 to 16, do (Actions)
• Loop - Actions
• Set Fissure_Count = (Fissure_Count + 1)
• Unit - Create 1 Dummy_For_Map for (Owner of Fissure_Unit[0]) at (Fissure_Point[1] offset by ((Real((Integer A))) x 100.00) towards (Angle from Fissure_Point[1] to Fissure_Point[2]) degrees) facing Default building facing degrees
• Unit - Add a 1.00 second Generic expiration timer to (Last created unit)
• Set Fissure_Unit[Fissure_Count] = (Last created unit)
• Destructible - Create a Rock Chunks wall at (Position of Fissure_Unit[Fissure_Count]) facing 0.00 with scale 1.00 and variation (Random integer number between 1 and 6)
• Set Fissure_Doodad[(Integer A)] = (Last created destructible)
• Set fissure_d[(indx + 1)] = (Last created destructible)
• Special Effect - Create a special effect at (Position of Fissure_Unit[Fissure_Count]) using Abilities\Spells\Other\Volcano\VolcanoDeath.mdl
• Special Effect - Destroy (Last created special effect)
• Unit Group - Pick every unit in (Units within 225.00 of (Position of Fissure_Unit[Fissure_Count]) matching ((((Matching unit) belongs to an enemy of (Owner of Fissure_Unit[Fissure_Count])) Equal to True) and (((Matching unit) Not equal to Fissure_Unit[Fissure_Count]) and ((((Matching unit) and do (Actions)
• Loop - Actions
• If (All Conditions are True) then do (Then Actions) else do (Else Actions)
• If - Conditions
• ((Picked unit) is in Fissure_Group) Equal to False
• Then - Actions
• Unit Group - Add (Picked unit) to Fissure_Group
• Unit - Create 1 Dummy_For_Map for (Owner of Fissure_Unit[Fissure_Count]) at (Position of Fissure_Unit[Fissure_Count]) facing Default building facing degrees
• Unit - Add Fissure (Dummy) to (Last created unit)
• Unit - Set level of Fissure (Dummy) for (Last created unit) to Fissure_Level
• Unit - Order (Last created unit) to Human Mountain King - Storm Bolt (Picked unit)
• Unit - Add a 1.00 second Generic expiration timer to (Last created unit)
• Else - Actions
• Set Fissure_Unit[Fissure_Count] = No unit
• Unit Group - Remove all units from Fissure_Group
• Set Fissure_Unit[0] = No unit
• Trigger - Turn on Fissure Doodad Remove <gen>

• Events
• Time - Every 8.00 seconds of game time
• Conditions
• Actions
• For each (Integer A) from 1 to 16, do (Actions)
• Loop - Actions
• Destructible - Remove Fissure_Doodad[(Integer A)]
• Set Fissure_Doodad[(Integer A)] = No destructible
• Trigger - Turn off (This trigger)

#### Brambleclaw

Level 17
First remove all your arrays and make them seperate variables,

Then make all the seperate variables into 11 arrays so that each one relates to a player
via Fissure_caster[playernumberofownerofcastingunit]=Casting unit

Your variables become Fissure_level -- Fissure_unit -FissurePoint1 - Fissure point 2
Each with an array of 12- Each relating to a specific player.

Alternatively learn jass or turn this to custom code and replace all variables with locals then replace all references with the local variable

#### Jay the Editor

Level 12
Maybe you can take a look on how indexing system is implement
There are examples on how to make a MUI ability.
Here's the link [GUI] Dynamic Indexing Template

Status
Not open for further replies.

[Trigger] Fissure Spell
Replies
12
Views
2K
Replies
17
Views
1K
Replies
5
Views
772
[Trigger] Mui
Replies
16
Views
1K
Replies
30
Views
1K