- Joined
- Jun 20, 2017
- Messages
- 380
I found this map, so I edited it but I got 2 problems
1. The special effect above the tower takes a long time to remove
2. The reduced number will not be gone
And how can I put 3 towers into the trigger since I don't understand hashtable
So if I have 3 towers the first tower will decreased 1 armor per hit, second tower 2 third tower 3
Is there anyway to use other variables(integer/real or other thing) instead of hashtable?!
Can I use only 2 trigger 1 base on A unit is attacked other base on A unit Takes damage?!
1. The special effect above the tower takes a long time to remove
2. The reduced number will not be gone
And how can I put 3 towers into the trigger since I don't understand hashtable
So if I have 3 towers the first tower will decreased 1 armor per hit, second tower 2 third tower 3
Is there anyway to use other variables(integer/real or other thing) instead of hashtable?!
Can I use only 2 trigger 1 base on A unit is attacked other base on A unit Takes damage?!
-
Decreases Armor
-

Events
-


Map initialization
-
-

Conditions
-

Actions
-


Hashtable - Create a hashtable
-


Set Hashtable_DecreasesArmor = (Last created hashtable)
-


Set Abilitys_DecreasesArmor[1] = Item Armor Bonus Mod -0001
-


Set Abilitys_DecreasesArmor[2] = Item Armor Bonus Mod -0002
-


Set Abilitys_DecreasesArmor[3] = Item Armor Bonus Mod -0004
-


Set Abilitys_DecreasesArmor[4] = Item Armor Bonus Mod -0008
-


Set Abilitys_DecreasesArmor[5] = Item Armor Bonus Mod -0016
-


Set Abilitys_DecreasesArmor[6] = Item Armor Bonus Mod -0032
-


Set Abilitys_DecreasesArmor[7] = Item Armor Bonus Mod -0064
-


Set Abilitys_DecreasesArmor[8] = Item Armor Bonus Mod -0128
-


Set Abilitys_DecreasesArmor[9] = Item Armor Bonus Mod -0256
-


Set Abilitys_DecreasesArmor[10] = Item Armor Bonus Mod -0512
-


Set Abilitys_DecreasesArmor[11] = Item Armor Bonus Mod -1024
-


Set Abilitys_DecreasesArmor[12] = Item Armor Bonus Mod -2048
-


Set Abilitys_DecreasesArmor[13] = Item Armor Bonus Mod -4096
-


Set UnitGroup_DecreasesArmor = (Units in (Playable map area))
-


Unit Group - Pick every unit in UnitGroup_DecreasesArmor and do (Actions)
-



Loop - Actions
-




Trigger - Add to Decreases Armor3 <gen> the event (Unit - (Picked unit) Takes damage)
-
-
-


Custom script: call DestroyGroup(udg_UnitGroup_DecreasesArmor)
-
-
-
Decreases Armor2
-

Events
-


Unit - A unit enters (Playable map area)
-
-

Conditions
-

Actions
-


Trigger - Add to Decreases Armor3 <gen> the event (Unit - (Triggering unit) Takes damage)
-
-
-
Decreases Armor3
-

Events
-

Conditions
-


(Level of Decreases Armor2 for (Damage source)) Greater than 0
-
-

Actions
-


Set Integer_DecreasesArmor = (Key (Triggering unit))
-


If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-



If - Conditions
-




((Triggering unit) is in UnitGroup_DecreasesArmor) Equal to False
-
-



Then - Actions
-




Unit Group - Add (Triggering unit) to UnitGroup_DecreasesArmor
-




Trigger - Turn on Decreases Armor4 <gen>
-




Special Effect - Create a special effect attached to the <Empty String> of (Triggering unit) using Abilities\Spells\Orc\CommandAura\CommandAura.mdl
-




Hashtable - Save Handle Of(Last created special effect) as 0 of Integer_DecreasesArmor in Hashtable_DecreasesArmor
-
-



Else - Actions
-
-


Hashtable - Save 5.00 as 0 of Integer_DecreasesArmor in Hashtable_DecreasesArmor
-


Set Integer_DecreasesArmor2 = ((Load 0 of Integer_DecreasesArmor from Hashtable_DecreasesArmor) + 1)
-


Hashtable - Save Integer_DecreasesArmor2 as 0 of Integer_DecreasesArmor in Hashtable_DecreasesArmor
-


For each (Integer Integer_DecreasesArmor) from 1 to 13, do (Actions)
-



Loop - Actions
-




Unit - Remove Abilitys_DecreasesArmor[Integer_DecreasesArmor] from (Triggering unit)
-
-
-


Custom script: loop
-


If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-



If - Conditions
-




Integer_DecreasesArmor Greater than 0
-




Integer_DecreasesArmor2 Greater than 0
-
-



Then - Actions
-




Set Integer_DecreasesArmor = (Integer_DecreasesArmor - 1)
-




Set Real_DecreasesArmor = (Power(2.00, (Real(Integer_DecreasesArmor))))
-




If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-





If - Conditions
-






(Real(Integer_DecreasesArmor2)) Greater than or equal to Real_DecreasesArmor
-
-





Then - Actions
-






Unit - Add Abilitys_DecreasesArmor[Integer_DecreasesArmor] to (Triggering unit)
-






Set Integer_DecreasesArmor2 = (Integer_DecreasesArmor2 - (Integer(Real_DecreasesArmor)))
-
-





Else - Actions
-
-
-



Else - Actions
-




Custom script: exitwhen true
-
-
-


Custom script: endloop
-
-
-
Decreases Armor4
-

Events
-


Time - Every 0.10 seconds of game time
-
-

Conditions
-

Actions
-


Unit Group - Pick every unit in UnitGroup_DecreasesArmor and do (Actions)
-



Loop - Actions
-




Set Integer_DecreasesArmor = (Key (Picked unit))
-




Set Real_DecreasesArmor = ((Load 0 of Integer_DecreasesArmor from Hashtable_DecreasesArmor) - 0.10)
-




If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-





If - Conditions
-






Real_DecreasesArmor Greater than 0.00
-
-





Then - Actions
-






Hashtable - Save Real_DecreasesArmor as 0 of Integer_DecreasesArmor in Hashtable_DecreasesArmor
-
-





Else - Actions
-






Special Effect - Destroy (Load 0 of Integer_DecreasesArmor in Hashtable_DecreasesArmor)
-






Hashtable - Clear all child hashtables of child Integer_DecreasesArmor in Hashtable_DecreasesArmor
-






Unit Group - Remove (Picked unit) from UnitGroup_DecreasesArmor
-






For each (Integer Integer_DecreasesArmor) from 1 to 13, do (Actions)
-







Loop - Actions
-








Unit - Remove Abilitys_DecreasesArmor[Integer_DecreasesArmor] from (Picked unit)
-
-
-






If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-







If - Conditions
-








(UnitGroup_DecreasesArmor is empty) Equal to True
-
-







Then - Actions
-








Trigger - Turn off (This trigger)
-
-







Else - Actions
-
-
-
-
-
-
-
Attachments
Last edited:
