- Joined
- Sep 27, 2011
- Messages
- 141
I am making an Item system for one of my maps that includes a custom inventory when i pick up the first item it runs smoothly but when i pick up the second item it fulls up the rest of the slots and full slots or not the system completely ignores the third item can someone help please.
I suspect it has something to do with this trigger.
Thanks in advance for any help
I suspect it has something to do with this trigger.
-
Add to Inventory
-

Events
-

Conditions
-

Actions
-


Set Player_Number = (Player number of Item_Owner[Item_Current_Index])
-


Set Temp_Int = 0
-


Custom script: loop
-


Set Temp_Int = (Temp_Int + 1)
-


Set Inventory_Occupied = (Load 0 of Temp_Int from Inventory_Hash[Player_Number])
-


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



If - Conditions
-




Inventory_Occupied Equal to True
-
-



Then - Actions
-




Set full = True
-
-



Else - Actions
-




Set full = False
-




Set Inventory_Occupied = True
-




Set Inventory_Index = Item_Current_Index
-




Set tempLoc1 = (Center of Inventory_Region[Temp_Int])
-




Destructible - Create a Item_Destructables[(Item level of Indexed_Item)] at tempLoc1 facing 360.00 with scale 1.52 and variation 0
-




Set Inventory_Destructable = (Last created destructible)
-




Custom script: call RemoveLocation(udg_tempLoc1)
-




Hashtable - Save Inventory_Occupied as 0 of Temp_Int in Inventory_Hash[Player_Number]
-




Hashtable - Save Inventory_Index as 1 of Temp_Int in Inventory_Hash[Player_Number]
-




Hashtable - Save Handle OfInventory_Destructable as 2 of Temp_Int in Inventory_Hash[Player_Number]
-




Set tempLoc1 = (Random point in Item Region <gen>)
-




Item - Move Indexed_Item to tempLoc1
-




Custom script: call RemoveLocation(udg_tempLoc1)
-




Set Temp_Int = 18
-
-
-


Custom script: exitwhen(udg_Temp_Int==18)
-


Custom script: endloop
-


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



If - Conditions
-




full Equal to True
-
-



Then - Actions
-




Set tempLoc1 = (Position of TempUnit)
-




Item - Move Indexed_Item to tempLoc1
-




Custom script: call RemoveLocation(udg_tempLoc1)
-




Set SPG = (Player group(Item_Owner[Item_Current_Index]))
-




Game - Display to SPG for 5.00 seconds the text: Inventory is full.
-




Custom script: call DestroyForce(udg_SPG)
-
-



Else - Actions
-
-
-
-
Item Indexer
-

Events
-


Unit - A unit Acquires an item
-
-

Conditions
-

Actions
-


Set Indexed_Item = (Item being manipulated)
-


Set TempUnit = (Hero manipulating item)
-


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



If - Conditions
-




(Custom value of Indexed_Item) Equal to 0
-
-



Then - Actions
-




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





If - Conditions
-






Item_Recycle_Index Equal to 0
-
-





Then - Actions
-






Set Item_Current_Index = Item_Recycle_Number[Item_Recycle_Index]
-






Set Item_Recycle_Index = (Item_Recycle_Index - 1)
-
-





Else - Actions
-






Set Item_Index = (Item_Index + 1)
-






Set Item_Current_Index = Item_Index
-
-
-




Item - Set the custom value of Indexed_Item to Item_Current_Index
-




Set Item_Owner[Item_Current_Index] = (Owner of (Hero manipulating item))
-




Set Item_Level[Item_Current_Index] = (Random integer number between ((Hero level of (Hero manipulating item)) - 3) and ((Hero level of (Hero manipulating item)) + 3))
-




If (Item_Level[Item_Current_Index] Less than 1) then do (Set Item_Level[Item_Current_Index] = 1) else do (Do nothing)
-




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





If - Conditions
-






(Item level of Indexed_Item) Greater than or equal to 0
-






(Item level of Indexed_Item) Less than or equal to 50
-
-





Then - Actions
-






Set Item_Class[Item_Current_Index] = weapon
-






Set Item_Damage[Item_Current_Index] = ((Integer((Power((Real(Item_Level[Item_Current_Index])), 2.00)))) + ((Integer((Power((Real(Item_Level[Item_Current_Index])), 1.96)))) + 10))
-






Set Temp_Int = 1
-
-





Else - Actions
-
-




Trigger - Run Set Item Stats <gen> (checking conditions)
-
-



Else - Actions
-




Set Item_Current_Index = (Custom value of Indexed_Item)
-




Set Item_Owner[Item_Current_Index] = (Owner of (Hero manipulating item))
-




Trigger - Run Add to Inventory <gen> (checking conditions)
-
-
-
-
-
Tracking
-

Events
-

Conditions
-

Actions
-


Custom script: local trackable tr = GetTriggeringTrackable()
-


Custom script: set udg_Integer = GetHandleId(tr)
-


Set Inventory_Slot = (Load 1 of Integer from Track_Table)
-


Set Player = (Load 0 of Integer in Track_Table)
-


Set Player_Number = (Player number of Player)
-


Set Inventory_Index = (Load 1 of Inventory_Slot from Inventory_Hash[Player_Number])
-


Set Inventory_Occupied = (Load 0 of Temp_Int from Inventory_Hash[Player_Number])
-


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



If - Conditions
-




Inventory_Occupied Equal to True
-
-



Then - Actions
-




Set Temp_Int = 0
-




-------- check number of different stats --------
-




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





If - Conditions
-






Item_Damage[Inventory_Index] Greater than 0
-
-





Then - Actions
-






Set Temp_Int = (Temp_Int + 1)
-
-





Else - Actions
-
-




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





If - Conditions
-






Item_Ability_Power[Inventory_Index] Greater than 0
-
-





Then - Actions
-






Set Temp_Int = (Temp_Int + 1)
-
-





Else - Actions
-
-




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





If - Conditions
-






Item_Agility[Inventory_Index] Greater than 0
-
-





Then - Actions
-






Set Temp_Int = (Temp_Int + 1)
-
-





Else - Actions
-
-




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





If - Conditions
-






Item_Crit_Damage[Inventory_Index] Greater than 0
-
-





Then - Actions
-






Set Temp_Int = (Temp_Int + 1)
-
-





Else - Actions
-
-




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





If - Conditions
-






Item_Intelligence[Inventory_Index] Greater than 0
-
-





Then - Actions
-






Set Temp_Int = (Temp_Int + 1)
-
-





Else - Actions
-
-




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





If - Conditions
-






Item_Strength[Inventory_Index] Greater than 0
-
-





Then - Actions
-






Set Temp_Int = (Temp_Int + 1)
-
-





Else - Actions
-
-




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





If - Conditions
-






Item_Attack_Cooldown[Inventory_Index] Greater than 0.00
-
-





Then - Actions
-






Set Temp_Int = (Temp_Int + 1)
-
-





Else - Actions
-
-




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





If - Conditions
-






Item_Crit_Chance[Inventory_Index] Greater than 0.00
-
-





Then - Actions
-






Set Temp_Int = (Temp_Int + 1)
-
-





Else - Actions
-
-




Multiboard - Change the number of rows for Inventory_MultiBoard[Player_Number] to (Temp_Int + 3)
-




Multiboard - Change the title of Inventory_MultiBoard[Player_Number] to Item_Name[Inventory_Index]
-




For each (Integer Temp_Int2) from 2 to (Temp_Int + 1), do (Actions)
-





Loop - Actions
-






Multiboard - Set the width for Inventory_MultiBoard[Player_Number] item in column 1, row Temp_Int2 to 10.00% of the total screen width
-






Multiboard - Set the width for Inventory_MultiBoard[Player_Number] item in column 2, row Temp_Int2 to 5.00% of the total screen width
-






Multiboard - Set the width for Inventory_MultiBoard[Player_Number] item in column 3, row Temp_Int2 to 5.00% of the total screen width
-






Multiboard - Set the display style for Inventory_MultiBoard[Player_Number] item in column 1, row Temp_Int2 to Show text and Show icons
-






Multiboard - Set the display style for Inventory_MultiBoard[Player_Number] item in column 2, row Temp_Int2 to Show text and Hide icons
-






Multiboard - Set the display style for Inventory_MultiBoard[Player_Number] item in column 3, row Temp_Int2 to Show text and Hide icons
-
-
-




Set Temp_Int2 = 2
-




-------- set stat text --------
-




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





If - Conditions
-






Item_Damage[Inventory_Index] Greater than 0
-
-





Then - Actions
-






Multiboard - Set the text for Inventory_MultiBoard[Player_Number] item in column 1, row Temp_Int2 to Damage
-






Multiboard - Set the text for Inventory_MultiBoard[Player_Number] item in column 2, row Temp_Int2 to (String(Item_Damage[Inventory_Index]))
-






Multiboard - Set the text for Inventory_MultiBoard[Player_Number] item in column 3, row Temp_Int2 to (String(Player_Damage[Player_Number]))
-






Multiboard - Set the icon for Inventory_MultiBoard[Player_Number] item in column 1, row Temp_Int2 to ReplaceableTextures\CommandButtons\BTNAttack.blp
-






Set Temp_Int2 = (Temp_Int2 + 1)
-
-





Else - Actions
-
-




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





If - Conditions
-






Item_Attack_Cooldown[Inventory_Index] Greater than 0.00
-
-





Then - Actions
-






Multiboard - Set the text for Inventory_MultiBoard[Player_Number] item in column 1, row Temp_Int2 to Attack Cooldown
-






Multiboard - Set the text for Inventory_MultiBoard[Player_Number] item in column 2, row Temp_Int2 to (String(Item_Attack_Cooldown[Inventory_Index]))
-






Multiboard - Set the text for Inventory_MultiBoard[Player_Number] item in column 3, row Temp_Int2 to (String(Player_AC[Inventory_Index]))
-






Multiboard - Set the icon for Inventory_MultiBoard[Player_Number] item in column 1, row Temp_Int2 to ReplaceableTextures\CommandButtons\BTNGlove.blp
-






Set Temp_Int2 = (Temp_Int2 + 1)
-
-





Else - Actions
-
-




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





If - Conditions
-






Item_Strength[Inventory_Index] Greater than 0
-
-





Then - Actions
-






Multiboard - Set the text for Inventory_MultiBoard[Player_Number] item in column 1, row Temp_Int2 to Strength
-






Multiboard - Set the text for Inventory_MultiBoard[Player_Number] item in column 2, row Temp_Int2 to (String(Item_Strength[Inventory_Index]))
-






Multiboard - Set the text for Inventory_MultiBoard[Player_Number] item in column 3, row Temp_Int2 to (String(Player_Str[Player_Number]))
-






Multiboard - Set the icon for Inventory_MultiBoard[Player_Number] item in column 1, row Temp_Int2 to UI\Widgets\Console\Human\human-attribute-str.blp
-






Set Temp_Int2 = (Temp_Int2 + 1)
-
-





Else - Actions
-
-




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





If - Conditions
-






Item_Agility[Inventory_Index] Greater than 0
-
-





Then - Actions
-






Multiboard - Set the text for Inventory_MultiBoard[Player_Number] item in column 1, row Temp_Int2 to Agility
-






Multiboard - Set the text for Inventory_MultiBoard[Player_Number] item in column 2, row Temp_Int2 to (String(Item_Agility[Inventory_Index]))
-






Multiboard - Set the text for Inventory_MultiBoard[Player_Number] item in column 3, row Temp_Int2 to (String(Player_Agi[Player_Number]))
-






Multiboard - Set the icon for Inventory_MultiBoard[Player_Number] item in column 1, row Temp_Int2 to UI\Widgets\Console\Human\human-attribute-agi.blp
-






Set Temp_Int2 = (Temp_Int2 + 1)
-
-





Else - Actions
-
-




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





If - Conditions
-






Item_Intelligence[Inventory_Index] Greater than 0
-
-





Then - Actions
-






Multiboard - Set the text for Inventory_MultiBoard[Player_Number] item in column 1, row Temp_Int2 to Intelligence
-






Multiboard - Set the text for Inventory_MultiBoard[Player_Number] item in column 2, row Temp_Int2 to (String(Item_Intelligence[Inventory_Index]))
-






Multiboard - Set the text for Inventory_MultiBoard[Player_Number] item in column 3, row Temp_Int2 to (String(Player_Int[Player_Number]))
-






Multiboard - Set the icon for Inventory_MultiBoard[Player_Number] item in column 1, row Temp_Int2 to UI\Widgets\Console\Human\human-attribute-int.blp
-






Set Temp_Int2 = (Temp_Int2 + 1)
-
-





Else - Actions
-
-




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





If - Conditions
-






Item_Crit_Chance[Inventory_Index] Greater than 0.00
-
-





Then - Actions
-






Multiboard - Set the text for Inventory_MultiBoard[Player_Number] item in column 1, row Temp_Int2 to Critical hit chance
-






Multiboard - Set the text for Inventory_MultiBoard[Player_Number] item in column 2, row Temp_Int2 to (String(Item_Crit_Chance[Inventory_Index]))
-






Multiboard - Set the text for Inventory_MultiBoard[Player_Number] item in column 3, row Temp_Int2 to (String(Player_Crit_Chance[Inventory_Index]))
-






Multiboard - Set the icon for Inventory_MultiBoard[Player_Number] item in column 1, row Temp_Int2 to ReplaceableTextures\CommandButtons\BTNCriticalStrike.blp
-






Set Temp_Int2 = (Temp_Int2 + 1)
-
-





Else - Actions
-
-




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





If - Conditions
-






Item_Crit_Damage[Inventory_Index] Greater than 0
-
-





Then - Actions
-






Multiboard - Set the text for Inventory_MultiBoard[Player_Number] item in column 1, row Temp_Int2 to Critical hit damage
-






Multiboard - Set the text for Inventory_MultiBoard[Player_Number] item in column 2, row Temp_Int2 to (String(Item_Crit_Damage[Inventory_Index]))
-






Multiboard - Set the text for Inventory_MultiBoard[Player_Number] item in column 3, row Temp_Int2 to (String(Player_Crit_Dmg[Player_Number]))
-






Multiboard - Set the icon for Inventory_MultiBoard[Player_Number] item in column 1, row Temp_Int2 to ReplaceableTextures\CommandButtons\BTNCriticalStrike.blp
-






Set Temp_Int2 = (Temp_Int2 + 1)
-
-





Else - Actions
-
-




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





If - Conditions
-






Item_Ability_Power[Inventory_Index] Greater than 0
-
-





Then - Actions
-






Multiboard - Set the text for Inventory_MultiBoard[Player_Number] item in column 1, row Temp_Int2 to Ability Power
-






Multiboard - Set the text for Inventory_MultiBoard[Player_Number] item in column 2, row Temp_Int2 to (String(Item_Ability_Power[Inventory_Index]))
-






Multiboard - Set the text for Inventory_MultiBoard[Player_Number] item in column 3, row Temp_Int2 to (String(Player_Ability_Power[Player_Number]))
-






Multiboard - Set the icon for Inventory_MultiBoard[Player_Number] item in column 1, row Temp_Int2 to ReplaceableTextures\CommandButtons\BTNBrilliance.blp
-






Set Temp_Int2 = (Temp_Int2 + 1)
-
-





Else - Actions
-
-




-------- other stuff --------
-




Set Temp_Int2 = (Temp_Int + 2)
-




Multiboard - Set the display style for Inventory_MultiBoard[Player_Number] item in column 1, row Temp_Int2 to Show text and Hide icons
-




Multiboard - Set the display style for Inventory_MultiBoard[Player_Number] item in column 2, row Temp_Int2 to Show text and Hide icons
-




Multiboard - Set the display style for Inventory_MultiBoard[Player_Number] item in column 3, row Temp_Int2 to Show text and Hide icons
-




Multiboard - Set the width for Inventory_MultiBoard[Player_Number] item in column 1, row Temp_Int2 to 10.00% of the total screen width
-




Multiboard - Set the width for Inventory_MultiBoard[Player_Number] item in column 2, row Temp_Int2 to 5.00% of the total screen width
-




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





If - Conditions
-






Item_Class[Inventory_Index] Equal to weapon
-
-





Then - Actions
-






Multiboard - Set the text for Inventory_MultiBoard[Player_Number] item in column 1, row Temp_Int2 to ((String(Item_Hands[Inventory_Index])) + handed weapon)
-
-





Else - Actions
-






Multiboard - Set the text for Inventory_MultiBoard[Player_Number] item in column 1, row Temp_Int2 to Item_Class[Inventory_Index]
-
-
-




Set Temp_Int2 = (Temp_Int + 3)
-




Multiboard - Set the display style for Inventory_MultiBoard[Player_Number] item in column 1, row Temp_Int2 to Show text and Hide icons
-




Multiboard - Set the display style for Inventory_MultiBoard[Player_Number] item in column 2, row Temp_Int2 to Show text and Hide icons
-




Multiboard - Set the display style for Inventory_MultiBoard[Player_Number] item in column 3, row Temp_Int2 to Show text and Hide icons
-




Multiboard - Set the text for Inventory_MultiBoard[Player_Number] item in column 1, row Temp_Int2 to Item Level:
-




Multiboard - Set the text for Inventory_MultiBoard[Player_Number] item in column 2, row Temp_Int2 to (String(Item_Level[Inventory_Index]))
-




Multiboard - Set the width for Inventory_MultiBoard[Player_Number] item in column 1, row Temp_Int2 to 10.00% of the total screen width
-




Multiboard - Set the width for Inventory_MultiBoard[Player_Number] item in column 2, row Temp_Int2 to 5.00% of the total screen width
-
-



Else - Actions
-
-


Custom script: set tr = null
-
-

