This will remind you about [System] Diablo II Item Set Triggers
Fortunately, I found the way to improve it, with tooltips modification and effects. Please read the link above before you continue reading this Tutorial.
This Tutorial's Difficulty is Average with the triggers in GUI.
Diablo II Item Set Tutorial V 1.3
by mr-death
I won't give you anymore word, as fastest I can. Cause it's taking a part of my brain. :nuts:
Steps:
1. Check and test this map
Cause Telling you more means nothing, so you must see it yourself: This is yet a well-efficient example of Set Items.
View attachment Item Set for Diablo II.w3x (Updated on version 1.3)
Please Download this map before you continue further, it's needed to understand the tutorial.
2. Creating Custom Items, and Abilities for your Items
After Seeing that map, now how to create it. Firstly think for your item set, how much items will complete the set? For now, we'll see only the number of items which is need to be created.
2 items for 1 set: 2(no set) + 2(complete set) = 4 items
3 items for 1 set: 3(no set) + 6(half complete) + 3(complete set) = 12 items
4 items for 1 set: 4(no set) + 12(2/4 complete) + 12(3/4 complete) + 4(complete set) = 32 items
So think which is the best deal for you. (All items are needed since we're manipulating tooltips)
For this example map I use 3 items for 1 set.
Barbarian's Set:
Barb's Coral Axe, for next we'll know this as "#1 Item"
Barb's Mithril Axe, for next we'll know this as "#2 Item"
Barb's Spirit, for next we'll know this as "#3 Item"
In total you'll have
4 Coral Axes : 1 no set(default), 1 setted with mithril, 1 setted with spirit, 1 complete set
4 Mithril Axes : 1 no set, 1 setted with corall, 1 setted with spirit, 1 complete set
4 Spirits : 1 no set, 1 setted with mithril, 1 setted with coral, 1 complete set
Second is to give the names after it (As shown in the object editor of map above) as
Coral Axe 1 (default)
Coral Axe 12 (for collection with mithril)
Coral Axe 13 (for collection with spirit)
Coral Axe 123 (for complete set)
Mithril Axe 2 (default)
Mithril Axe 12 (for collection with coral)
Mithril Axe 23 (for collection with spirit)
Mithril Axe 123 (for complete set)
Spirit 3 (default)
Spirit 13 (for collection with coral)
Spirit 23 (for collection with mithril)
Spirit 123 (for complete set)
and edit them as shown in brackets:
Edit what you want the tooltip for the item be when it is collected with another.
______________________________
3. Triggers (Updated on V1.3)
Now is how to connect one item with another, firstly set them all into variables,
Actually, we only have 3 items, but this blueish things are for the loop's flexibility, as shown on ItemSet[4,8,12,16,17]
Good News: Now, In v1.3 Triggers, you can change Coral Axe to your first item, Mithril Axe to your second item, and Spirit to your third item when you want to make 3-items set. Remember to set the variables above to your items. There is the step of Importing on the 4th step of the Tutorial
For Next trigger, see the comments tag (-------- --------)
Important: For Abilities Improvements on Set Bonus (Aspd, Evasion, etc.), set the Ability Removal on the Set Broker.
_____________________________
4. Importing?
Given a variable name "ItemSet", change the name into another name, f.e. "Barb", and make sure there's no other variable with the same name on your target map.
Open File, Preferences, tab General: Check the box: "Automatically create unknown variables while pasting trigger data" so the var is copiable.
Then, copy all the items to the new map.
Then, the triggers (Setting and Item Set in v1 3)
Open your target map, then reset all the "Barb" variables again with the copied Items.
Your importing has done!
_____________________________
5. Miscellaneous
Do all you want with the item on the map you're dealing with. ALL, and is really ALL. Cause there's no turnin back.
After all the very-very little of business with the items are done, do the next step.
_____________________________
Last, and very-very lastly (this step cannot be undone, so make sure there's nothing left back there), Recheck all the items' tooltips
I told you to put 1, 12, 13, and such of those after the names (as on my map),
the next step that is not in my map, now that you have done all triggers, you can remove the numbers, so it will look flawless.
______________________________
Edit 29 Sep 07 : Updated to 1.1 (More Trigger Explanations)
Edit 30 Sep 07 : Updated to 1.2 (Better Example Map)
Edit 03 Oct 07 : Updated to 1.3 (More Efficient and Modify-able Triggers on map: View attachment Item Set for Diablo II.w3x)
Fortunately, I found the way to improve it, with tooltips modification and effects. Please read the link above before you continue reading this Tutorial.
This Tutorial's Difficulty is Average with the triggers in GUI.
Diablo II Item Set Tutorial V 1.3
by mr-death
I won't give you anymore word, as fastest I can. Cause it's taking a part of my brain. :nuts:
Steps:
1. Check and test this map
Cause Telling you more means nothing, so you must see it yourself: This is yet a well-efficient example of Set Items.
View attachment Item Set for Diablo II.w3x (Updated on version 1.3)
Please Download this map before you continue further, it's needed to understand the tutorial.
2. Creating Custom Items, and Abilities for your Items
After Seeing that map, now how to create it. Firstly think for your item set, how much items will complete the set? For now, we'll see only the number of items which is need to be created.
2 items for 1 set: 2(no set) + 2(complete set) = 4 items
3 items for 1 set: 3(no set) + 6(half complete) + 3(complete set) = 12 items
4 items for 1 set: 4(no set) + 12(2/4 complete) + 12(3/4 complete) + 4(complete set) = 32 items
So think which is the best deal for you. (All items are needed since we're manipulating tooltips)
For this example map I use 3 items for 1 set.
Barbarian's Set:
Barb's Coral Axe, for next we'll know this as "#1 Item"
Barb's Mithril Axe, for next we'll know this as "#2 Item"
Barb's Spirit, for next we'll know this as "#3 Item"
In total you'll have
4 Coral Axes : 1 no set(default), 1 setted with mithril, 1 setted with spirit, 1 complete set
4 Mithril Axes : 1 no set, 1 setted with corall, 1 setted with spirit, 1 complete set
4 Spirits : 1 no set, 1 setted with mithril, 1 setted with coral, 1 complete set
Second is to give the names after it (As shown in the object editor of map above) as
Coral Axe 1 (default)
Coral Axe 12 (for collection with mithril)
Coral Axe 13 (for collection with spirit)
Coral Axe 123 (for complete set)
Mithril Axe 2 (default)
Mithril Axe 12 (for collection with coral)
Mithril Axe 23 (for collection with spirit)
Mithril Axe 123 (for complete set)
Spirit 3 (default)
Spirit 13 (for collection with coral)
Spirit 23 (for collection with mithril)
Spirit 123 (for complete set)
and edit them as shown in brackets:
Edit what you want the tooltip for the item be when it is collected with another.
______________________________
3. Triggers (Updated on V1.3)
Now is how to connect one item with another, firstly set them all into variables,
Actually, we only have 3 items, but this blueish things are for the loop's flexibility, as shown on ItemSet[4,8,12,16,17]
Code:
Setting
Events
Time - Elapsed game time is 0.00 seconds
Conditions
Actions
Set ItemSet[1] = |cff00ff00Barb's Coral Axe|r 1
Set ItemSet[2] = |cff00ff00Barb's Mithril Axe|r 2
Set ItemSet[3] = |cff00ff00Barb's Spirit|r 3
[COLOR="Blue"]Set ItemSet[4] = |cff00ff00Barb's Coral Axe|r 1 [/COLOR]
-------- - --------
Set ItemSet[5] = |cff00ff00Barb's Coral Axe|r 12
Set ItemSet[6] = |cff00ff00Barb's Mithril Axe|r 23
Set ItemSet[7] = |cff00ff00Barb's Spirit|r 13
[COLOR="blue"]Set ItemSet[8] = |cff00ff00Barb's Coral Axe|r 12[/COLOR]
-------- - --------
Set ItemSet[9] = |cff00ff00Barb's Mithril Axe|r 12
Set ItemSet[10] = |cff00ff00Barb's Spirit|r 23
Set ItemSet[11] = |cff00ff00Barb's Coral Axe|r 13
[COLOR="blue"]Set ItemSet[12] = |cff00ff00Barb's Mithril Axe|r 12[/COLOR]
-------- - --------
Set ItemSet[13] = |cff00ff00Barb's Coral Axe|r 123
Set ItemSet[14] = |cff00ff00Barb's Mithril Axe|r 123
Set ItemSet[15] = |cff00ff00Barb's Spirit|r 123
[COLOR="blue"]Set ItemSet[16] = |cff00ff00Barb's Coral Axe|r 123
Set ItemSet[17] = |cff00ff00Barb's Mithril Axe|r 123[/COLOR]
Good News: Now, In v1.3 Triggers, you can change Coral Axe to your first item, Mithril Axe to your second item, and Spirit to your third item when you want to make 3-items set. Remember to set the variables above to your items. There is the step of Importing on the 4th step of the Tutorial
For Next trigger, see the comments tag (-------- --------)
Code:
For each (Integer A) from 1 to 3, do (Actions)
Loop - Actions
[B]-------- For set 1-2, 2-3, 1-3 --------[/B]
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
((Picked unit) has an item of type ItemSet[(Integer A)]) Equal to True
((Picked unit) has an item of type ItemSet[((Integer A) + 1)]) Equal to True
Then - Actions
Item - Remove (Item carried by (Picked unit) of type ItemSet[(Integer A)])
Item - Remove (Item carried by (Picked unit) of type ItemSet[((Integer A) + 1)])
Hero - Create ItemSet[((Integer A) + 4)] and give it to (Picked unit)
Hero - Create ItemSet[((Integer A) + 8)] and give it to (Picked unit)
Else - Actions
Do nothing
[B]-------- For set 1-2-3 --------[/B]
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
((Picked unit) has an item of type ItemSet[(Integer A)]) Equal to True
((Picked unit) has an item of type ItemSet[((Integer A) + 5)]) Equal to True
((Picked unit) has an item of type ItemSet[((Integer A) + 9)]) Equal to True
Then - Actions
Item - Remove (Item carried by (Picked unit) of type ItemSet[(Integer A)])
Item - Remove (Item carried by (Picked unit) of type ItemSet[((Integer A) + 5)])
Item - Remove (Item carried by (Picked unit) of type ItemSet[((Integer A) + 9)])
Hero - Create ItemSet[((Integer A) + 12)] and give it to (Picked unit)
Hero - Create ItemSet[((Integer A) + 13)] and give it to (Picked unit)
Hero - Create ItemSet[((Integer A) + 14)] and give it to (Picked unit)
Else - Actions
Do nothing
[B]-------- For set broker 1-2-3 -> 1-2/1-3/2-3 --------[/B]
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
((Picked unit) has an item of type ItemSet[((Integer A) + 12)]) Equal to False
((Picked unit) has an item of type ItemSet[((Integer A) + 13)]) Equal to True
((Picked unit) has an item of type ItemSet[((Integer A) + 14)]) Equal to True
Then - Actions
Item - Remove (Item carried by (Picked unit) of type ItemSet[((Integer A) + 13)])
Item - Remove (Item carried by (Picked unit) of type ItemSet[((Integer A) + 14)])
Hero - Create ItemSet[((Integer A) + 5)] and give it to (Picked unit)
Hero - Create ItemSet[((Integer A) + 9)] and give it to (Picked unit)
Else - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
((Picked unit) has an item of type ItemSet[((Integer A) + 12)]) Equal to True
((Picked unit) has an item of type ItemSet[((Integer A) + 13)]) Equal to False
((Picked unit) has an item of type ItemSet[((Integer A) + 14)]) Equal to True
Then - Actions
Item - Remove (Item carried by (Picked unit) of type ItemSet[((Integer A) + 12)])
Item - Remove (Item carried by (Picked unit) of type ItemSet[((Integer A) + 14)])
Hero - Create ItemSet[((Integer A) + 6)] and give it to (Picked unit)
Hero - Create ItemSet[((Integer A) + 10)] and give it to (Picked unit)
Else - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
((Picked unit) has an item of type ItemSet[((Integer A) + 12)]) Equal to True
((Picked unit) has an item of type ItemSet[((Integer A) + 13)]) Equal to True
((Picked unit) has an item of type ItemSet[((Integer A) + 14)]) Equal to False
Then - Actions
Item - Remove (Item carried by (Picked unit) of type ItemSet[((Integer A) + 12)])
Item - Remove (Item carried by (Picked unit) of type ItemSet[((Integer A) + 13)])
Hero - Create ItemSet[((Integer A) + 4)] and give it to (Picked unit)
Hero - Create ItemSet[((Integer A) + 8)] and give it to (Picked unit)
Else - Actions
[B]-------- For set broker 1-2-3 -> 1/2/3 --------[/B]
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
((Picked unit) has an item of type ItemSet[((Integer A) + 12)]) Equal to False
((Picked unit) has an item of type ItemSet[((Integer A) + 13)]) Equal to False
((Picked unit) has an item of type ItemSet[((Integer A) + 14)]) Equal to True
Then - Actions
Item - Remove (Item carried by (Picked unit) of type ItemSet[((Integer A) + 14)])
Hero - Create ItemSet[((Integer A) + 2)] and give it to (Picked unit)
Else - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
((Picked unit) has an item of type ItemSet[((Integer A) + 12)]) Equal to True
((Picked unit) has an item of type ItemSet[((Integer A) + 13)]) Equal to False
((Picked unit) has an item of type ItemSet[((Integer A) + 14)]) Equal to False
Then - Actions
Item - Remove (Item carried by (Picked unit) of type ItemSet[((Integer A) + 12)])
Hero - Create ItemSet[(Integer A)] and give it to (Picked unit)
Else - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
((Picked unit) has an item of type ItemSet[((Integer A) + 12)]) Equal to False
((Picked unit) has an item of type ItemSet[((Integer A) + 13)]) Equal to True
((Picked unit) has an item of type ItemSet[((Integer A) + 14)]) Equal to False
Then - Actions
Item - Remove (Item carried by (Picked unit) of type ItemSet[((Integer A) + 13)])
Hero - Create ItemSet[((Integer A) + 1)] and give it to (Picked unit)
Else - Actions
[B]-------- For set broker 1-2, 2-3, 1-3 -> 1/2/3 --------[/B]
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
((Picked unit) has an item of type ItemSet[((Integer A) + 4)]) Equal to True
((Picked unit) has an item of type ItemSet[((Integer A) + 8)]) Equal to False
Then - Actions
Unit - Remove Item Attack Speed Bonus (Gloves of Haste) from (Picked unit)
Item - Remove (Item carried by (Picked unit) of type ItemSet[((Integer A) + 4)])
Hero - Create ItemSet[(Integer A)] and give it to (Picked unit)
Else - Actions
Do nothing
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
((Picked unit) has an item of type ItemSet[((Integer A) + 4)]) Equal to False
((Picked unit) has an item of type ItemSet[((Integer A) + 8)]) Equal to True
Then - Actions
Unit - Remove Item Attack Speed Bonus (Gloves of Haste) from (Picked unit)
Item - Remove (Item carried by (Picked unit) of type ItemSet[((Integer A) + 8)])
Hero - Create ItemSet[((Integer A) + 1)] and give it to (Picked unit)
Else - Actions
Do nothing
[B]-------- Effects 2 items --------[/B]
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
((Picked unit) has an item of type ItemSet[((Integer A) + 4)]) Equal to True
((Picked unit) has an item of type ItemSet[((Integer A) + 8)]) Equal to True
Then - Actions
Unit - Add Item Attack Speed Bonus (Gloves of Haste) to (Picked unit)
Else - Actions
[COLOR="Blue"]The Else Actions (Ability Removement) Is replaced on the set broker.[/COLOR]
[B]-------- Effects 3 items --------[/B]
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
((Picked unit) has an item of type ItemSet[((Integer A) + 12)]) Equal to True
((Picked unit) has an item of type ItemSet[((Integer A) + 13)]) Equal to True
((Picked unit) has an item of type ItemSet[((Integer A) + 14)]) Equal to True
Then - Actions
Animation - Change (Picked unit)'s vertex coloring to (100.00%, 75.00%, 75.00%) with 0.00% transparency
Animation - Change (Picked unit)'s size to (110.00%, 110.00%, 110.00%) of its original size
Else - Actions
Animation - Change (Picked unit)'s vertex coloring to (100.00%, 100.00%, 100.00%) with 0.00% transparency
Animation - Change (Picked unit)'s size to (100.00%, 100.00%, 100.00%) of its original size
Important: For Abilities Improvements on Set Bonus (Aspd, Evasion, etc.), set the Ability Removal on the Set Broker.
_____________________________
4. Importing?
Given a variable name "ItemSet", change the name into another name, f.e. "Barb", and make sure there's no other variable with the same name on your target map.
Open File, Preferences, tab General: Check the box: "Automatically create unknown variables while pasting trigger data" so the var is copiable.
Then, copy all the items to the new map.
Then, the triggers (Setting and Item Set in v1 3)
Open your target map, then reset all the "Barb" variables again with the copied Items.
Your importing has done!
_____________________________
5. Miscellaneous
Do all you want with the item on the map you're dealing with. ALL, and is really ALL. Cause there's no turnin back.
After all the very-very little of business with the items are done, do the next step.
_____________________________
Last, and very-very lastly (this step cannot be undone, so make sure there's nothing left back there), Recheck all the items' tooltips
I told you to put 1, 12, 13, and such of those after the names (as on my map),
the next step that is not in my map, now that you have done all triggers, you can remove the numbers, so it will look flawless.
______________________________
Edit 29 Sep 07 : Updated to 1.1 (More Trigger Explanations)
Edit 30 Sep 07 : Updated to 1.2 (Better Example Map)
Edit 03 Oct 07 : Updated to 1.3 (More Efficient and Modify-able Triggers on map: View attachment Item Set for Diablo II.w3x)