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!
This is a Full GUI Interactive Multiboard Inventory System. If any one has any suggestions, Please comment.
This is my first post on The Hive Workshop I hope I did good. I do not know how to check triggers for Leaks if anyone would know how plz reply
Thanks to D4RK_G4ND4LF he was right it wouldn't work with more then one player i have corrected this by reviewing his bag system.
Give Credits If Used
BP Setup
BP Setup
BP Setup
Events
Map initialization
Conditions
Actions
Player Group - Pick every player in (All players) and do (Actions)
Loop - Actions
Trigger - Add to BP Open <gen> the event (Player - (Picked player) skips a cinematic sequence)
Trigger - Add to BP Up <gen> the event (Player - (Picked player) Presses the Up Arrow key)
Trigger - Add to BP Down <gen> the event (Player - (Picked player) Presses the Down Arrow key)
Trigger - Add to BP Withdraw <gen> the event (Player - (Picked player) Presses the Right Arrow key)
Trigger - Add to BP Insert <gen> the event (Player - (Picked player) types a chat message containing -s as A substring)
BP Open
BP Open
BP Open
Events
Conditions
Actions
Player Group - Add (Triggering player) to BP_Players
Player Group - Pick every player in BP_Players and do (Actions)
Loop - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
BP_Open[(Player number of (Triggering player))] Equal to False
Then - Actions
Player Group - Remove (Triggering player) from BP_Players
Game - Display to (Player group((Triggering player))) the text: Use Up and Down Arr...
Multiboard - Create a multiboard with 2 columns and 11 rows, titled Backpack
Set BP_Multiboard[(Player number of (Triggering player))] = (Last created multiboard)
Set BP_Move[(Player number of (Triggering player))] = True
Set BP_Open[(Player number of (Triggering player))] = True
Set BP_Arrow[(Player number of (Triggering player))] = 1
Multiboard - Hide BP_Multiboard[(Player number of (Triggering player))]
Custom script: if GetLocalPlayer() == GetTriggerPlayer() then
Multiboard - Show BP_Multiboard[(Player number of (Triggering player))]
Custom script: endif
Multiboard - Minimize BP_Multiboard[(Player number of (Triggering player))]
Multiboard - Maximize BP_Multiboard[(Player number of (Triggering player))]
For each (Integer A) from 1 to 11, do (Actions)
Loop - Actions
For each (Integer B) from 1 to 11, do (Actions)
Loop - Actions
Multiboard - Set the width for BP_Multiboard[(Player number of (Triggering player))] item in column 1, row (Integer A) to 2.00% of the total screen width
Multiboard - Set the width for BP_Multiboard[(Player number of (Triggering player))] item in column 2, row (Integer A) to 10.00% of the total screen width
Multiboard - Set the display style for BP_Multiboard[(Player number of (Triggering player))] item in column (Integer A), row (Integer B) to Show text and Hide icons
Multiboard - Set the width for BP_Multiboard[(Player number of (Triggering player))] item in column 1, row 11 to 10.00% of the total screen width
Multiboard - Set the width for BP_Multiboard[(Player number of (Triggering player))] item in column 2, row 11 to 0.00% of the total screen width
Multiboard - Set the text for BP_Multiboard[(Player number of (Triggering player))] item in column 1, row 1 to |c000080FF>|r
Multiboard - Set the text for BP_Multiboard[(Player number of (Triggering player))] item in column 2, row 1 to (Name of BP_Slot_1[(Player number of (Triggering player))])
Multiboard - Set the text for BP_Multiboard[(Player number of (Triggering player))] item in column 2, row 2 to (Name of BP_Slot_2[(Player number of (Triggering player))])
Multiboard - Set the text for BP_Multiboard[(Player number of (Triggering player))] item in column 2, row 3 to (Name of BP_Slot_3[(Player number of (Triggering player))])
Multiboard - Set the text for BP_Multiboard[(Player number of (Triggering player))] item in column 2, row 4 to (Name of BP_Slot_4[(Player number of (Triggering player))])
Multiboard - Set the text for BP_Multiboard[(Player number of (Triggering player))] item in column 2, row 5 to (Name of BP_Slot_5[(Player number of (Triggering player))])
Multiboard - Set the text for BP_Multiboard[(Player number of (Triggering player))] item in column 2, row 6 to (Name of BP_Slot_6[(Player number of (Triggering player))])
Multiboard - Set the text for BP_Multiboard[(Player number of (Triggering player))] item in column 2, row 7 to (Name of BP_Slot_7[(Player number of (Triggering player))])
Multiboard - Set the text for BP_Multiboard[(Player number of (Triggering player))] item in column 2, row 8 to (Name of BP_Slot_8[(Player number of (Triggering player))])
Multiboard - Set the text for BP_Multiboard[(Player number of (Triggering player))] item in column 2, row 9 to (Name of BP_Slot_9[(Player number of (Triggering player))])
Multiboard - Set the text for BP_Multiboard[(Player number of (Triggering player))] item in column 2, row 10 to (Name of BP_Slot_10[(Player number of (Triggering player))])
Multiboard - Set the text for BP_Multiboard[(Player number of (Triggering player))] item in column 1, row 11 to Press Esc T...
Camera - Lock camera target for (Triggering player) to BP_Hero[(Player number of (Triggering player))], offset by (0.00, 0.00) using Default rotation
Else - Actions
Custom script: if GetLocalPlayer() == GetTriggerPlayer() then
Multiboard - Hide BP_Multiboard[(Player number of (Triggering player))]
Custom script: endif
Set BP_Open[(Player number of (Triggering player))] = False
Camera - Pan camera for (Triggering player) to (Position of BP_Hero[(Player number of (Triggering player))]) over 0.00 seconds
BP Up
BP Up
Events
Conditions
BP_Move[(Player number of (Triggering player))] Equal to True
Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
BP_Open[(Player number of (Triggering player))] Equal to True
BP_Arrow[(Player number of (Triggering player))] Greater than or equal to 2
Then - Actions
Multiboard - Set the text for BP_Multiboard[(Player number of (Triggering player))] item in column 1, row BP_Arrow[(Player number of (Triggering player))] to <Empty String>
Set BP_Arrow[(Player number of (Triggering player))] = (BP_Arrow[(Player number of (Triggering player))] - 1)
Multiboard - Set the text for BP_Multiboard[(Player number of (Triggering player))] item in column 1, row BP_Arrow[(Player number of (Triggering player))] to |c000080FF>|r
Else - Actions
Multiboard - Set the text for BP_Multiboard[(Player number of (Triggering player))] item in column 1, row BP_Arrow[(Player number of (Triggering player))] to <Empty String>
Set BP_Arrow[(Player number of (Triggering player))] = 10
Multiboard - Set the text for BP_Multiboard[(Player number of (Triggering player))] item in column 1, row BP_Arrow[(Player number of (Triggering player))] to |c000080FF>|r
BP Down
BP Down
Events
Conditions
BP_Move[(Player number of (Triggering player))] Equal to True
Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
BP_Open[(Player number of (Triggering player))] Equal to True
BP_Arrow[(Player number of (Triggering player))] Less than or equal to 9
Then - Actions
Multiboard - Set the text for BP_Multiboard[(Player number of (Triggering player))] item in column 1, row BP_Arrow[(Player number of (Triggering player))] to <Empty String>
Set BP_Arrow[(Player number of (Triggering player))] = (BP_Arrow[(Player number of (Triggering player))] + 1)
Multiboard - Set the text for BP_Multiboard[(Player number of (Triggering player))] item in column 1, row BP_Arrow[(Player number of (Triggering player))] to |c000080FF>|r
Else - Actions
Multiboard - Set the text for BP_Multiboard[(Player number of (Triggering player))] item in column 1, row BP_Arrow[(Player number of (Triggering player))] to <Empty String>
Set BP_Arrow[(Player number of (Triggering player))] = 1
Multiboard - Set the text for BP_Multiboard[(Player number of (Triggering player))] item in column 1, row BP_Arrow[(Player number of (Triggering player))] to |c000080FF>|r
BP Withdrawal
BP Withdraw
Events
Conditions
Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
BP_Open[(Player number of (Triggering player))] Equal to True
BP_Arrow[(Player number of (Triggering player))] Equal to 1
Then - Actions
Hero - Give BP_Slot_1[(Player number of (Triggering player))] to BP_Hero[(Player number of (Triggering player))]
Set BP_Slot_1[(Player number of (Triggering player))] = No item
Multiboard - Set the text for BP_Multiboard[(Player number of (Triggering player))] item in column 2, row BP_Arrow[(Player number of (Triggering player))] to <Empty String>
Else - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
BP_Open[(Player number of (Triggering player))] Equal to True
BP_Arrow[(Player number of (Triggering player))] Equal to 2
Then - Actions
Hero - Give BP_Slot_2[(Player number of (Triggering player))] to BP_Hero[(Player number of (Triggering player))]
Set BP_Slot_2[(Player number of (Triggering player))] = No item
Multiboard - Set the text for BP_Multiboard[(Player number of (Triggering player))] item in column 2, row BP_Arrow[(Player number of (Triggering player))] to <Empty String>
Else - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
BP_Open[(Player number of (Triggering player))] Equal to True
BP_Arrow[(Player number of (Triggering player))] Equal to 3
Then - Actions
Hero - Give BP_Slot_3[(Player number of (Triggering player))] to BP_Hero[(Player number of (Triggering player))]
Set BP_Slot_3[(Player number of (Triggering player))] = No item
Multiboard - Set the text for BP_Multiboard[(Player number of (Triggering player))] item in column 2, row BP_Arrow[(Player number of (Triggering player))] to <Empty String>
Else - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
BP_Open[(Player number of (Triggering player))] Equal to True
BP_Arrow[(Player number of (Triggering player))] Equal to 4
Then - Actions
Hero - Give BP_Slot_4[(Player number of (Triggering player))] to BP_Hero[(Player number of (Triggering player))]
Set BP_Slot_4[(Player number of (Triggering player))] = No item
Multiboard - Set the text for BP_Multiboard[(Player number of (Triggering player))] item in column 2, row BP_Arrow[(Player number of (Triggering player))] to <Empty String>
Else - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
BP_Open[(Player number of (Triggering player))] Equal to True
BP_Arrow[(Player number of (Triggering player))] Equal to 5
Then - Actions
Hero - Give BP_Slot_5[(Player number of (Triggering player))] to BP_Hero[(Player number of (Triggering player))]
Set BP_Slot_5[(Player number of (Triggering player))] = No item
Multiboard - Set the text for BP_Multiboard[(Player number of (Triggering player))] item in column 2, row BP_Arrow[(Player number of (Triggering player))] to <Empty String>
Else - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
BP_Open[(Player number of (Triggering player))] Equal to True
BP_Arrow[(Player number of (Triggering player))] Equal to 6
Then - Actions
Hero - Give BP_Slot_6[(Player number of (Triggering player))] to BP_Hero[(Player number of (Triggering player))]
Set BP_Slot_6[(Player number of (Triggering player))] = No item
Multiboard - Set the text for BP_Multiboard[(Player number of (Triggering player))] item in column 2, row BP_Arrow[(Player number of (Triggering player))] to <Empty String>
Else - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
BP_Open[(Player number of (Triggering player))] Equal to True
BP_Arrow[(Player number of (Triggering player))] Equal to 7
Then - Actions
Hero - Give BP_Slot_7[(Player number of (Triggering player))] to BP_Hero[(Player number of (Triggering player))]
Set BP_Slot_7[(Player number of (Triggering player))] = No item
Multiboard - Set the text for BP_Multiboard[(Player number of (Triggering player))] item in column 2, row BP_Arrow[(Player number of (Triggering player))] to <Empty String>
Else - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
BP_Open[(Player number of (Triggering player))] Equal to True
BP_Arrow[(Player number of (Triggering player))] Equal to 8
Then - Actions
Hero - Give BP_Slot_8[(Player number of (Triggering player))] to BP_Hero[(Player number of (Triggering player))]
Set BP_Slot_8[(Player number of (Triggering player))] = No item
Multiboard - Set the text for BP_Multiboard[(Player number of (Triggering player))] item in column 2, row BP_Arrow[(Player number of (Triggering player))] to <Empty String>
Else - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
BP_Open[(Player number of (Triggering player))] Equal to True
BP_Arrow[(Player number of (Triggering player))] Equal to 9
Then - Actions
Hero - Give BP_Slot_9[(Player number of (Triggering player))] to BP_Hero[(Player number of (Triggering player))]
Set BP_Slot_9[(Player number of (Triggering player))] = No item
Multiboard - Set the text for BP_Multiboard[(Player number of (Triggering player))] item in column 2, row BP_Arrow[(Player number of (Triggering player))] to <Empty String>
Else - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
BP_Open[(Player number of (Triggering player))] Equal to True
BP_Arrow[(Player number of (Triggering player))] Equal to 10
Then - Actions
Hero - Give BP_Slot_10[(Player number of (Triggering player))] to BP_Hero[(Player number of (Triggering player))]
Set BP_Slot_10[(Player number of (Triggering player))] = No item
Multiboard - Set the text for BP_Multiboard[(Player number of (Triggering player))] item in column 2, row BP_Arrow[(Player number of (Triggering player))] to <Empty String>
Else - Actions
BP Insert
BP Insert
Events
Conditions
Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
BP_Slot_1[(Player number of (Triggering player))] Equal to No item
Then - Actions
Set BP_Slot_1[(Player number of (Triggering player))] = (Item carried by BP_Hero[(Player number of (Triggering player))] in slot (Integer((Substring((Entered chat string), 3, 3)))))
Item - Move (Item carried by BP_Hero[(Player number of (Triggering player))] in slot (Integer((Substring((Entered chat string), 3, 3))))) to (Center of BP Item Storage <gen>)
Multiboard - Set the text for BP_Multiboard[(Player number of (Triggering player))] item in column 2, row 1 to (Name of BP_Slot_1[(Player number of (Triggering player))])
Item - Hide BP_Slot_1[(Player number of (Triggering player))]
Else - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
BP_Slot_2[(Player number of (Triggering player))] Equal to No item
Then - Actions
Set BP_Slot_2[(Player number of (Triggering player))] = (Item carried by BP_Hero[(Player number of (Triggering player))] in slot (Integer((Substring((Entered chat string), 3, 3)))))
Item - Move (Item carried by BP_Hero[(Player number of (Triggering player))] in slot (Integer((Substring((Entered chat string), 3, 3))))) to (Center of BP Item Storage <gen>)
Multiboard - Set the text for BP_Multiboard[(Player number of (Triggering player))] item in column 2, row 2 to (Name of BP_Slot_2[(Player number of (Triggering player))])
Item - Hide BP_Slot_2[(Player number of (Triggering player))]
Else - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
BP_Slot_3[(Player number of (Triggering player))] Equal to No item
Then - Actions
Set BP_Slot_3[(Player number of (Triggering player))] = (Item carried by BP_Hero[(Player number of (Triggering player))] in slot (Integer((Substring((Entered chat string), 3, 3)))))
Item - Move (Item carried by BP_Hero[(Player number of (Triggering player))] in slot (Integer((Substring((Entered chat string), 3, 3))))) to (Center of BP Item Storage <gen>)
Multiboard - Set the text for BP_Multiboard[(Player number of (Triggering player))] item in column 2, row 3 to (Name of BP_Slot_3[(Player number of (Triggering player))])
Item - Hide BP_Slot_3[(Player number of (Triggering player))]
Else - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
BP_Slot_4[(Player number of (Triggering player))] Equal to No item
Then - Actions
Set BP_Slot_4[(Player number of (Triggering player))] = (Item carried by BP_Hero[(Player number of (Triggering player))] in slot (Integer((Substring((Entered chat string), 3, 3)))))
Item - Move (Item carried by BP_Hero[(Player number of (Triggering player))] in slot (Integer((Substring((Entered chat string), 3, 3))))) to (Center of BP Item Storage <gen>)
Multiboard - Set the text for BP_Multiboard[(Player number of (Triggering player))] item in column 2, row 4 to (Name of BP_Slot_4[(Player number of (Triggering player))])
Item - Hide BP_Slot_4[(Player number of (Triggering player))]
Else - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
BP_Slot_5[(Player number of (Triggering player))] Equal to No item
Then - Actions
Set BP_Slot_5[(Player number of (Triggering player))] = (Item carried by BP_Hero[(Player number of (Triggering player))] in slot (Integer((Substring((Entered chat string), 3, 3)))))
Item - Move (Item carried by BP_Hero[(Player number of (Triggering player))] in slot (Integer((Substring((Entered chat string), 3, 3))))) to (Center of BP Item Storage <gen>)
Multiboard - Set the text for BP_Multiboard[(Player number of (Triggering player))] item in column 2, row 5 to (Name of BP_Slot_5[(Player number of (Triggering player))])
Item - Hide BP_Slot_5[(Player number of (Triggering player))]
Else - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
BP_Slot_6[(Player number of (Triggering player))] Equal to No item
Then - Actions
Set BP_Slot_6[(Player number of (Triggering player))] = (Item carried by BP_Hero[(Player number of (Triggering player))] in slot (Integer((Substring((Entered chat string), 3, 3)))))
Item - Move (Item carried by BP_Hero[(Player number of (Triggering player))] in slot (Integer((Substring((Entered chat string), 3, 3))))) to (Center of BP Item Storage <gen>)
Multiboard - Set the text for BP_Multiboard[(Player number of (Triggering player))] item in column 2, row 6 to (Name of BP_Slot_6[(Player number of (Triggering player))])
Item - Hide BP_Slot_6[(Player number of (Triggering player))]
Else - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
BP_Slot_7[(Player number of (Triggering player))] Equal to No item
Then - Actions
Set BP_Slot_7[(Player number of (Triggering player))] = (Item carried by BP_Hero[(Player number of (Triggering player))] in slot (Integer((Substring((Entered chat string), 3, 3)))))
Item - Move (Item carried by BP_Hero[(Player number of (Triggering player))] in slot (Integer((Substring((Entered chat string), 3, 3))))) to (Center of BP Item Storage <gen>)
Multiboard - Set the text for BP_Multiboard[(Player number of (Triggering player))] item in column 2, row 7 to (Name of BP_Slot_7[(Player number of (Triggering player))])
Item - Hide BP_Slot_7[(Player number of (Triggering player))]
Else - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
BP_Slot_8[(Player number of (Triggering player))] Equal to No item
Then - Actions
Set BP_Slot_8[(Player number of (Triggering player))] = (Item carried by BP_Hero[(Player number of (Triggering player))] in slot (Integer((Substring((Entered chat string), 3, 3)))))
Item - Move (Item carried by BP_Hero[(Player number of (Triggering player))] in slot (Integer((Substring((Entered chat string), 3, 3))))) to (Center of BP Item Storage <gen>)
Multiboard - Set the text for BP_Multiboard[(Player number of (Triggering player))] item in column 2, row 8 to (Name of BP_Slot_8[(Player number of (Triggering player))])
Item - Hide BP_Slot_8[(Player number of (Triggering player))]
Else - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
BP_Slot_9[(Player number of (Triggering player))] Equal to No item
Then - Actions
Set BP_Slot_9[(Player number of (Triggering player))] = (Item carried by BP_Hero[(Player number of (Triggering player))] in slot (Integer((Substring((Entered chat string), 3, 3)))))
Item - Move (Item carried by BP_Hero[(Player number of (Triggering player))] in slot (Integer((Substring((Entered chat string), 3, 3))))) to (Center of BP Item Storage <gen>)
Multiboard - Set the text for BP_Multiboard[(Player number of (Triggering player))] item in column 2, row 9 to (Name of BP_Slot_9[(Player number of (Triggering player))])
Item - Hide BP_Slot_9[(Player number of (Triggering player))]
Else - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
BP_Slot_10[(Player number of (Triggering player))] Equal to No item
Then - Actions
Set BP_Slot_10[(Player number of (Triggering player))] = (Item carried by BP_Hero[(Player number of (Triggering player))] in slot (Integer((Substring((Entered chat string), 3, 3)))))
Item - Move (Item carried by BP_Hero[(Player number of (Triggering player))] in slot (Integer((Substring((Entered chat string), 3, 3))))) to (Center of BP Item Storage <gen>)
Multiboard - Set the text for BP_Multiboard[(Player number of (Triggering player))] item in column 2, row 10 to (Name of BP_Slot_10[(Player number of (Triggering player))])
Item - Hide BP_Slot_10[(Player number of (Triggering player))]
Else - Actions
Game - Display to (Player group((Triggering player))) the text: Backpack full pleas...
12th Dec 2015
IcemanBo: Too long time as NeedsFix. Rejected.
15:28, 28th Feb 2011
Bribe:
Way too many walls of text, instead of making 12 if-chains, make everything a clever array and loop through it. This is just a huge block of code that...
12th Dec 2015
IcemanBo: Too long time as NeedsFix. Rejected.
15:28, 28th Feb 2011
Bribe:
Way too many walls of text, instead of making 12 if-chains, make everything a clever array and loop through it. This is just a huge block of code that needs a lot of fixing up.
I like how you made this arrow key thing but I don't like that it fucks up the camera if it is not panned to your hero all the time
also I am wondering what will happen if you have more than 1 player
If there are more then one player it will have separate backpacks for each player you would have to set the BP_Hero(# of player) to that players hero. The camera should be locked to the unit at all time backpack is open it should not move it at all. If it is moving reply and i will get on that as soon as possible
That huge chain of if-statements could be stifled out with a more calculated array-indexing approach. Instead of having BP_Slot as many different arrays, put them all in one array, and make that array into a 2-d array.
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.