• 🏆 Texturing Contest #33 is OPEN! Contestants must re-texture a SD unit model found in-game (Warcraft 3 Classic), recreating the unit into a peaceful NPC version. 🔗Click here to enter!
  • It's time for the first HD Modeling Contest of 2024. Join the theme discussion for Hive's HD Modeling Contest #6! Click here to post your idea!

Inventory & Equipment UI System v1.4.3

This is an extended Inventory and Equipment system. It allows any unit to have an unlimited (or limited) amount of items in their inventory.

An inventory window will pop up where you can manage or equip your items. The window is overlay onto the current camera, so it doesn't take you away from gameplay.

There are many things to configure in the Inventory trigger.

Full documentation coming soon™

Changelog


v1.4.3
  • Updated texttag positions to fit on patches 1.29.1+.
  • The selector glow is no longer shown when the inventory is closed.
  • The selector glow now longer shows in the middle of the screen on items with no equipment slot.
v1.4.2
  • Unofficial quick fix version for broken Blizzard patch.
v1.4.1
  • The selection glow no longer shows for the equipment window if it's not open.
  • Fixed a bug where a line of the tooltip might get overwritten.
  • Updated some items to have colored names.
  • Improved tooltip formatting.
v1.4.0
  • Updated the UserInterface library to 1.0.6. This fixes a desync (should be desync-free now).
  • Redesigned the interface layout to be more practical and compact.
  • You may now Right-Click to equip an item.
  • When selecting an item it will highlight and so will the corresponding equipment slot.
  • When socketing an item you can confirm it through a dialog (to prevent accidental socketing).
  • Added a Drop button which allows you to drop items from your inventory.
v1.3.4
  • Added different terrain heights and water levels to the demo.
  • Set dummy units movement type to float.
v1.3.3
  • Updated the UserInterface library to 1.0.5. This allows the the UI to be displayed over water.
  • Improved the default tooltip design.
  • Updated PlayerUtils to 1.2.8.
v1.3.2
  • Fixed a potential TimerUtils leak.
  • Reduced the default tooltip line length to support lower resolutions.
  • Adjusted default player name position on the hero window.
  • Updated PlayerUtils to v1.2.7.
v1.3.1
  • Tooltip position is now dynamic. It will popup over the item you clicked (see screenshot).
  • Equipment window is now bigger by default.
  • Many more configuration options added to the equipment window.
  • Removed timer timeout increment in favor of a static value (UI_REFRESH_RATE).
  • Renamed and organized custom imports.
  • The character model dummy is now destroyed when the equipment window is destroyed.
  • Updated UserInterface to v1.0.4.
  • Updated PlayerUtils to v1.2.6.
v1.3.0
  • Rewrote DGUI library and renamed it to "UserInterface". Many improvements were made here which will be announced in a separate thread.
  • Bonus abilities now preload properly, removing the initial lag when equipping an item.
v1.2.1
  • Number of sockets is now displayed in the tooltip.
  • Started rewrite of DGUI library.
  • Fixed a bug that could cause the removed gem bonus amount to be wrong when unequipping.
  • Fixed a bug where the timer timeout could end up below the minimum.
v1.2.0
  • Implemented socketing system.
  • New item type "gem" which can be socketed into gear items for bonus stats.
  • Unit no longer has to have vision of the inventory dummy units to be able to see it (dummies have sight now).
  • Fixed a potential desync in multiplayer.
v1.1.0
  • Added the option for items to have randomized stat values.
  • Implemented a parsing system which allows you to initialize items through a string.
  • Fixed a bug where items that added abilities when acquired (not equipped), wouldn't be removed.
  • Fixed a new bug (from v1.0.5) that wouldn't hide icons when switching pages.
v1.0.5
  • Added function "HERO_WINDOW_NAME" where you can configure what name is displayed in the equipment window.
  • onEquip/onUnequip are initialized to null to prevent a thread crash when they aren't used.
  • Moved equip/unequip event execution to their respective methods (opposed to on click functions).
  • Moved UnitDex check from DGUI library to the inventory & equipment structs.
v1.0.4
  • Fixed an issue where items could disappear and the camera wouldn't follow the unit when switching bag pages.
v1.0.3
  • Dummy units are created per-player instead of per-instance (drastically reduce dummy count).
  • X/Y variables are no longer constant (dynamically move window location).
  • Can now specify scale for models in the preview window.
  • Organized code and modules. Tooltip is now a separate module.
Previews
Contents

Inventory & Equipment System v1.4.1 (Map)

Inventory & Equipment System v1.4.3 (Map)

Reviews
KILLCIDE
Extremely powerful system, and a great example of what your User Interface library can do. As I mentioned in that thread, the logic behind it is beyond me, but I do see the amazing potential and usefulness of having this system in the database. With...
Level 1
Joined
Feb 13, 2019
Messages
1
Who will tell? how to make it so that the hero does not appear with the equipment, but for example, how in the RPG cards you choose a hero from the tavern and he automatically has working inventory ... and that it works for 3 players.
Please help 2 days I sit soared I can think of nothing...
 
Level 1
Joined
Dec 29, 2019
Messages
1
Did you make a tutorial? I'm amateur at doing this kind of thing and tutorial would help me. Or can you suggest me any tutorial. Thanks for any reply.
 
Level 6
Joined
Jun 18, 2011
Messages
147
Could anyone guess what I am doing wrong? I have imported all the doodads/destructable settings and used the same ID's for all copy/pasted units/abilities/buffs. I gave the imports the same file extension "UI\" and I copy and pasted all the triggers. I tried running with Auto Index, Ability Preload and BoundSentinel enabled, to save and then reload and turn off, but there is AutoIndex UD (duplicating auto index) so I cannot enable Auto Index because I am unable to save the code without Auto Index UD.

This map runs on it's own, but I can't seem to figure out my mistake. Here is my map if anyone is patient enough to take a look.
 
Is there any available systems anymore that do something similar? I really only want the big inventory for many items, not really the piece by piece pane.

There are some legacy systems that use trackables or abilities, but the frame natives are much more powerful.

I don't know of any public inventory systems that use the frame natives.

2YjhA8r.jpg
 
Level 5
Joined
May 24, 2009
Messages
55
This system is absolutely amazing.
It can track items on-equip, & on pickup, this allows for many things.

However, there is this small bug that occurs when a unit in the map is killed. When a unit dies, the camera scroll/movement is abruptly interrupted, or comes to a stop.
This becomes severe if you have a spell that uses many dummy units. If anyone have a way around this, do share.

Enjoyed this system so much, thanks TriggerHappy :)
 
Level 6
Joined
Jul 12, 2021
Messages
95
If you walk to the lower edge of the map while the Inventory menu or the Character menu is open the game crashes.
To solve this I propose that the menus are closed automatically when you walk near the lower edge of the map.
 
Last edited:
Level 6
Joined
Jun 18, 2011
Messages
147
If you walk to an edge of the map while the Inventory menu or the Character menu is open the game crashes.
To solve this I propose that the menus are closed automatically when you walk near the edge of the map.
I highly doubt that is the only thing that causes the game to crash in this system based on what TriggerHappy told me. Something to do with units being targetted outside of their visibility range or something which causes desyncs in multiplayer.
 
If only this had a gui interface... Best system ever, I won't be using frame natives so this is the best I can get however a pain to read the vjass and figure out what is where.

Edit: I think I will just remake this to fit what I need, only one question about moving units locally... As long as they don't collide and can't be clicked by other players it should be safe right?
 
Last edited:
Level 39
Joined
Feb 27, 2007
Messages
4,992
one question about moving units locally... As long as they don't collide and can't be clicked by other players it should be safe right?
You need to make sure no units and no AI can interact with the unit in any way. That includes path funding around a unit with 0 collision, an AI responding to the unit being within acquisition range, the unit is targetable by some manner of relevant spell that some player/ai casts, the moved unit causes any trigger to execute asynchronously, the unit’s new position reveals more of the map which changes how an allied AI behaves, etc..

A LOT can go wrong but it should be possible if you account for everything.
 
Top