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
-
-
-
Hashtable - Save (Orb_Count - 1) as (Key OrbCount) of Orb_UnitHandleId in Orb_Hashtable
-
-
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
-
-
-
Hashtable - Save (Orb_Count - 1) as (Key OrbCount) of Orb_UnitHandleId in Orb_Hashtable
-
-
'ELSE'-Actions
-
-
-
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.