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!
You are using an out of date browser. It may not display this or other websites correctly. You should upgrade or use an alternative browser.
Triggers
Item Set System V2.w3x
Variables
Item sets
Instructions:
Init
Death set V2
Death set V2 loss
Light set V2
Light set V2 loss
Enter map-specific custom script code below. This text will be included in the map script after variables are declared and before any trigger code.
Name
Type
is_array
initial_value
ItemSets
hashtable
No
TempInteger
integer
No
1. Go to File->Preferances->General->And turn on automaticly create unknown variables.
2. Copy all triggers.
3. Implent all your set items and copy the set and set loss triggers, then modify them.
There are further instructions in the Death set trigger
NOTES
I want credit for this system in your map
I know about the cooldown exploit, but you can either reset all cooldowns or live with it.
Creates the hashtable. nothing special, you should add this to your maps Initialization trigger.
Init
Events
Map initialization
Conditions
Actions
Hashtable - Create a hashtable
Set Variable Set ItemSets = (Last created hashtable)
This may be pretty tough, as hashtables are new to warcraft modding.
Basicly you need to modify the substrings to the length of the set name(inculde spaces!) and where-ever it says Death modify it to your set name.
You can add more If/Then/Else for more abilities or actions per level
Death set V2
Events
Unit - A unit Acquires an item
Conditions
(Substring((Name of (Item being manipulated)), 1, 5)) Equal to Death
((Load 0 of (Key (Triggering unit).) from ItemSets.) Equal to Death) or ((Load 0 of (Key (Triggering unit).) from ItemSets.) Equal to )
Actions
Set Variable Set TempInteger = "0"
For each (Integer A) from 1 to 6 , do (Actions)
Loop - Actions
If ((Item-type of (Item being manipulated)) Equal to (Item-type of (Item carried by (Triggering unit) in slot (Integer A)))) then do (Set VariableSet TempInteger = (TempInteger + 1)) else do (Do nothing)
If (TempInteger Greater than or equal to 2) then do (Skip remaining actions) else do (-------- - --------)
Set Variable Set TempInteger = "0"
Hashtable - Save Death as 0 of (Key (Triggering unit).) in ItemSets .
Hashtable - Save ((Load 1 of (Key (Triggering unit).) from ItemSets.) + 1) as 1 of (Key (Triggering unit).) in ItemSets .
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Load 1 of (Key (Triggering unit).) from (Last created hashtable).) Equal to 2
Then - Actions
Unit - Add Death Coil to (Triggering unit)
-------- Your actions here --------
Else - Actions
Pretty much the same rules as in the first Death set trigger.
Death set V2 loss
Events
Unit - A unit Loses an item
Conditions
(Substring((Name of (Item being manipulated)), 1, 5)) Equal to Death
((Load 0 of (Key (Triggering unit).) from ItemSets.) Equal to Death) or ((Load 0 of (Key (Triggering unit).) from ItemSets.) Equal to )
Actions
Set Variable Set TempInteger = "0"
For each (Integer A) from 1 to 6 , do (Actions)
Loop - Actions
If ((Item-type of (Item being manipulated)) Equal to (Item-type of (Item carried by (Triggering unit) in slot (Integer A)))) then do (Set VariableSet TempInteger = (TempInteger + 1)) else do (Do nothing)
If (TempInteger Greater than or equal to 2) then do (Skip remaining actions) else do (-------- - --------)
Set Variable Set TempInteger = "0"
Hashtable - Save Death as 0 of (Key (Triggering unit).) in ItemSets .
Hashtable - Save ((Load 1 of (Key (Triggering unit).) from ItemSets.) - 1) as 1 of (Key (Triggering unit).) in ItemSets .
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Load 1 of (Key (Triggering unit).) from (Last created hashtable).) Equal to 1
Then - Actions
Unit - Remove Death Coil from (Triggering unit)
Else - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Load 1 of (Key (Triggering unit).) from (Last created hashtable).) Equal to 0
Then - Actions
Hashtable - Clear all child hashtables of child (Key (Triggering unit).) in ItemSets .
Else - Actions
Same instructions as earlier
Light set V2
Events
Unit - A unit Acquires an item
Conditions
(Substring((Name of (Item being manipulated)), 1, 5)) Equal to Light
((Load 0 of (Key (Triggering unit).) from ItemSets.) Equal to Death) or ((Load 0 of (Key (Triggering unit).) from ItemSets.) Equal to )
Actions
Set Variable Set TempInteger = "0"
For each (Integer A) from 1 to 6 , do (Actions)
Loop - Actions
If ((Item-type of (Item being manipulated)) Equal to (Item-type of (Item carried by (Triggering unit) in slot (Integer A)))) then do (Set VariableSet TempInteger = (TempInteger + 1)) else do (Do nothing)
If (TempInteger Greater than or equal to 2) then do (Skip remaining actions) else do (-------- - --------)
Set Variable Set TempInteger = "0"
Hashtable - Save Death as 0 of (Key (Triggering unit).) in ItemSets .
Hashtable - Save ((Load 1 of (Key (Triggering unit).) from ItemSets.) + 1) as 1 of (Key (Triggering unit).) in ItemSets .
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Load 1 of (Key (Triggering unit).) from (Last created hashtable).) Equal to 2
Then - Actions
Unit - Add Holy Light to (Triggering unit)
Else - Actions
Same instructions as earlier
Light set V2 loss
Events
Unit - A unit Loses an item
Conditions
(Substring((Name of (Item being manipulated)), 1, 5)) Equal to Light
((Load 0 of (Key (Triggering unit).) from ItemSets.) Equal to Light) or ((Load 0 of (Key (Triggering unit).) from ItemSets.) Equal to )
Actions
Set Variable Set TempInteger = "0"
For each (Integer A) from 1 to 6 , do (Actions)
Loop - Actions
If ((Item-type of (Item being manipulated)) Equal to (Item-type of (Item carried by (Triggering unit) in slot (Integer A)))) then do (Set VariableSet TempInteger = (TempInteger + 1)) else do (Do nothing)
If (TempInteger Greater than or equal to 2) then do (Skip remaining actions) else do (-------- - --------)
Set Variable Set TempInteger = "0"
Hashtable - Save Light as 0 of (Key (Triggering unit).) in ItemSets .
Hashtable - Save ((Load 1 of (Key (Triggering unit).) from ItemSets.) - 1) as 1 of (Key (Triggering unit).) in ItemSets .
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Load 1 of (Key (Triggering unit).) from (Last created hashtable).) Equal to 1
Then - Actions
Unit - Remove Holy Light from (Triggering unit)
Else - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Load 1 of (Key (Triggering unit).) from (Last created hashtable).) Equal to 0
Then - Actions
Hashtable - Clear all child hashtables of child (Key (Triggering unit).) in ItemSets .
This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
By continuing to use this site, you are consenting to our use of cookies.