Ardenian
A
Ardenian
Hello,
I currently re-write my system http://www.hiveworkshop.com/forums/spells-569/stacking-orbs-system-v1-2-a-268768/ to make it more efficient.
I face a problem I cannot see the reason why multiple error occur concering the custom scripts:
Now I added a condition
It is absolutely required that the new trigger works to make the system efficient and I do not see any reason why this modification disables the trigger.
The condition stuff works for the acquiring trigger you can see in the resource thread.
I would be glad if you could give me a hint.
I currently re-write my system http://www.hiveworkshop.com/forums/spells-569/stacking-orbs-system-v1-2-a-268768/ to make it more efficient.
I face a problem I cannot see the reason why multiple error occur concering the custom scripts:
-
Loses Orb
-
Events
- Unit - A unit loses an item
- Conditions
-
Actions
- Custom script: local integer i = 0
- Custom script: local integer count = 0
- Custom script: local integer tempItemType
- Set Orb_TempUnit = (Triggering unit)
- Set Orb_Count = (Load (Key OrbCount) of Orb_UnitHandleId from Orb_Hashtable)
- -------- De-index the Orb --------
-
For each (Integer Orb_LoopIndex) from 1 to Orb_Count, do (Actions)
-
Loop - Actions
- Custom script: set udg_Orb_ItemType = GetItemTypeId(GetManipulatedItem())
- Custom script: set udg_Orb_HashTempInteger = udg_Orb_ItemType
- Custom script: set tempItemType = LoadInteger(udg_Orb_Hashtable, udg_Orb_UnitHandleId, udg_Orb_LoopIndex)
- Custom script: if udg_Orb_ItemType == tempItemType then
- -------- Transfer Data --------
- Hashtable - Save (Load Orb_Count of Orb_UnitHandleId from Orb_Hashtable) as Orb_LoopIndex of Orb_UnitHandleId in Orb_Hashtable
- Custom script: endif
-
Loop - Actions
- Hashtable - Save (Orb_Count - 1) as (Key OrbCount) of Orb_UnitHandleId in Orb_Hashtable
-
Events
Now I added a condition
-
Loses Orb
-
Events
- Unit - A unit loses an item
- Conditions
-
Actions
- Custom script: set udg_Orb_ItemType = GetItemTypeId(GetManipulatedItem())
- Custom script: set udg_Orb_HashTempInteger = udg_Orb_ItemType
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
'IF'-Conditions
- (Load 0 of Orb_HashTempInteger from Orb_Hashtable) Gleich True
-
'THEN'-Actions
- Custom script: local integer i = 0
- Custom script: local integer count = 0
- Custom script: local integer tempItemType
- Set Orb_TempUnit = (Triggering unit)
- Set Orb_Count = (Load (Key OrbCount) of Orb_UnitHandleId from Orb_Hashtable)
- -------- De-index the Orb --------
-
For each (Integer Orb_LoopIndex) from 1 to Orb_Count, do (Actions)
-
Loop - Actions
- Custom script: set udg_Orb_ItemType = GetItemTypeId(GetManipulatedItem())
- Custom script: set udg_Orb_HashTempInteger = udg_Orb_ItemType
- Custom script: set tempItemType = LoadInteger(udg_Orb_Hashtable, udg_Orb_UnitHandleId, udg_Orb_LoopIndex)
- Custom script: if udg_Orb_ItemType == tempItemType then
- -------- Transfer Data --------
- Hashtable - Save (Load Orb_Count of Orb_UnitHandleId from Orb_Hashtable) as Orb_LoopIndex of Orb_UnitHandleId in Orb_Hashtable
- Custom script: endif
-
Loop - Actions
- Hashtable - Save (Orb_Count - 1) as (Key OrbCount) of Orb_UnitHandleId in Orb_Hashtable
- 'ELSE'-Actions
-
'IF'-Conditions
-
Events
It is absolutely required that the new trigger works to make the system efficient and I do not see any reason why this modification disables the trigger.
The condition stuff works for the acquiring trigger you can see in the resource thread.
I would be glad if you could give me a hint.