Action RPG Inventory System

Oh I see, you mean like a Monster Hunter-esque type inventory?
Either way I don’t think that’s in the cards, since it is called Action RPG Inventory.

But you can always hope! :wink:

Monster Hunter lol never played it, Well ether way ill have to change the inventory to my own needs but rather wait till all the bugs are fixed 1st.

1.) This will be covered in the merge video. When the Blueprint Item is compiled, placed in the world or moved in the world it will run the construction script to load the item information from the master ItemList.
So you will see the correct item in the world… but the editor icon will show empty. or in your case the same as the one you duplicated. So you will have to go into the blueprint and assign the mesh of the item to the static mesh component. That will update the Item Blueprints Icon for the editor.

2.) The equipment system uses a proper asset pipeline for game development. You will need to paint weights on the helmet to the unreal skeleton head bone. That’s why you are seeing it at the feet (root bone) because it has no idea where it’s supposed to be attached. The only items that use sockets are hand held and rings. Everything the character wears must be properly rigged for it to animate with the character. In some cases if your using very simple hats you can get a way for a socket but if you have more complex head items like hoods you will want the art to move with the player and not be statically attached.

I can do a simple tutorial using Maya 2016 and the Unreal Maya Art tools to show how to paint basic weights onto a helmet and export it. It would be similar in Blender and 3DSMax.
Please let me know if this is something you would like to see.

1 Like

The Item Amount set in your World_Actor child blueprint should be the amount you pickup, I’ll test that again to make sure it’s not a bug.

Also for the Multiplayer TopDown Kit mouse select.
Both systems use the same UsableInterface so they have very similar logic in the PlayerController for the functions OnActorUsed(), GetUsableActor(), GetUsableActorFocus().
The biggest difference in the MPTopDownKit is that we have setup a new TraceChannel called Clickable. This allows us to cast from the Mouse cursor (Look at the Unreal TopDown Project for a simple example of click to move) and only hit things we set to be clickable. Then we check to make sure the actor we hit implements the UsableInterface which lets us know that this item has the function OnUsed() (just like we do in the Inventory System).

Is it just the UI Dragging issue that’s blocking you?

Ill wait till the next update to start changing things so its fine, i’ve just be trying to get my head around the layout of things at the moment, There seems to be more than one issue with dragging the UI, even dragging it back and forwards within the view port can crash it.


I don’t understand this “Single Player physics based item interaction” from what i know physics can be replicated on the server?

The inventory system does not support syncing physics over network because it’s out of the scope of the inventory system and content. That is why it says Single Player physics based item interaction.

You can turn it on but you will run into some dropped item location sync issues on clients.
If you have a player drop an apple it will simulate physics on the server and client. If the clients apple rolls a little tiny bit different than the client won’t be able to pick it up because the servers apple location is the real location. It will still highlight the apple and say “[E] Pickup Apple” but the Server is who checks to make sure everything is in order to prevent exploiting.

You can sync physics on the server but that would not be a very efficient and out of scope of an Inventory System.
Usually when you see physics in Multiplayer games it’s things exploding and not relative to gameplay so they don’t have to be synced to the exact location.

I would appreciate a tutorial on weight painting for equipment items, if you’re still offering to do this.

The issue is with some of the visibility settings reseting when you drag windows. That’s why they are disappearing as they are not properly hitting something and calling the OnDrop() to add the window back to the viewport at the drop location when you release over other elements.

These UI visibility issues will be fixed in the first update and you can expect Epic to release the update sometime on Monday.

Yes I am happy to do it. I will try and have it out next week once I work through the other tutorials.

1 Like

Hi!

I would also like to know the proper way to add item to specific socket, we modeled a few items but the rest is still unknown to us.

We would also liketo know the proper way to delete items from a game. i tried deleting the demo items in the ITEMLIST that came with the project but that bugged the whole game to a point where it wouldn launch anymore. getting this error ‘’ Error Infinite Loop detected in Loot_Actor , asserted during Set LocalItemIndex with the following Call Stack ‘’

Next, i would also like to know the proper way to remove equipment slots, we dont want to use a wow based template therefore ‘‘back, rings, trinkets’’ are not wanted in our game, we managed to disable the use of those items but the socket and the items themselves are still in there, when we try to remove the item, we get the problem forementioned. when we try to remove the socket in the UI and delete the socket slots in the BLUEPRINTS, the system bugs… things looted dont appear in the inventory anymore.

After that, were looking to parent specific npc to specific loot tables, we looked at the example demos of MUPPET but we cant figure out how hes connected to his loot table or how to change it. all we could do is add more items to his table but say i wanted to add loot tables to my current NPCs of my games, how would i do that… how would i merge the system and loot tables to an already existing game.

And finaly, same question, but with containers. we dont mind starting with your example vases and then move to create our own lootcrates from there, but we would like to know how to parent specific loot tables to specific crates blueprints.

so much to be explained!
thanks!

  1. I realize the other inventory systems sort of copped out and only provided a head and chest socket in their examples which made it easy for people. I know it might be a bit complicated for non artists at first setting up items properly for equipment so I will be making a tutorial showing how to rig models to the unreal skeleton for proper usage. I am no expert rigger but it will cover the basics.
  1. That sounds like an issue with the GetRandomLootItems() from the Loot_Actor. (The Demo NPC’s use the same function name to quickly pull some random items from the loot list) It is set to loop until you get the specified amount of items between the min and max item values provided. If you have removed items it’s probably stuck looping because it can’t find enough items to meet it’s requirement.

These content examples are supposed to give you some quick ideas how to use things so you can build your own functionality.

  1. I will be creating a tutorial that covers editing the Character and the Equipment Slots/Slot Types and changing the amount of slots the character uses.
    This will also cover updating the UI to work with your changes. This tutorial should be available early next week.
  1. If you look in the Usable\Loot_Actor there is a function called GetLootList(). This has to be overridden in a child so you can assign a different datatable. As of 4.10 you can not save DataTable names as a variable so this is the work around until it’s available in blueprint only. I am planning on making a c++ tutorial that will show you how to add DataTable variable support to the editor while we wait for Epic to fix this missing variable. If you look in Loot_Hero you can see it’s overridden the GetLootList() and picked a different loot table.
  1. The Storage_Actor example is setup to simply be a basic storage container. To Create more loot type actors look at #4 and the Loot_Actor who has 2 child examples Loot_Skeleton and Loot_ Hero (uses a different lootList). Or look at the Demo/NPCs for some additional examples of ways you can generate an Inventory from DataTables.

I will do my best to help and keep providing new tutorials.

You have a lot of work ahead of you :smiley:

It’s insanely appreciated though, and the tutorials you’re making will be the lock and key you use to ensure your product is the only inventory being purchased. That will go a long way towards work you do with other marketplace items that make use of your inventory.

I don’t think it could be said better. I’ve been able to do quite a bit just monkeying with it, but the tutorials will be the icing on the cake. Kudos!

That not really needed seeing this inventory is the only component inventory on the marketplace.

But i would like a run down video of how this was setup it will help people understand more on how to change things as well.

thanks a lot for your answers ! Indeed I wondered if I had to skin it but I thought there would be a quicker 'dirty ’ way for grey-box purpose.

Another tutorial that would be very awesome is how to get stats or where to find which slot is equipped with what to then create actions. IE: get the intelligence from the magic hat, and being able to send this to a different blueprint, like 'if intelligence on chara total= 10+, then mana bar = 100 or something. Hope that makes sense.

I’ll also second what others have said, this is a really good system and probably why you’re getting so many inquiries and questions :slight_smile: You could really use that system in a lot of different types of games.

My focus this next week is to get the Character and Item Customization tutorials finished and released.
I think those will really fill in the blanks for people who may not have had a lot of time to dig through and learn the system intimately yet.

If you look into the InventoryManagerComponent there is a function called UpdateEquippedStats() which is called each time you equip/unequip an item. That would be a good place to start and extend with your logic.

I really appreciate the positive response it has received and I look forward to supporting this system for a very long time as I will be using it in our own game. I have no plans to drop off the face of the earth and stop improving it. Please don’t forget to rate it on the marketplace with how many stars you think it deserves.

I would love to hear everyone’s feedback on what type of enhancements and new features you would like to see in future updates.
But lets try and keep them general and not too specific to one persons design.

I have also uploaded the Merging into a project tutorial.

1 Like

Everything works great, I have just run into one small problem. when I added a new weapon from the Infinity blades weapon to test out it disappears when equipping it depending on the camera view.

Same problem is with me. I have tried add Knife from Scifiweapon package. It appears in inventory/equipment but newer shows in player hand

Thanks for the video Pirate, for future features a collect all button would be nice and maybe a stash all button as well so you can dump your inventory into a loot box auto stacking items already there? In the center of the EQUIPMENT would be cool if it displayed your character there, Maybe have a lock button on the EQUIPMENT inventory as well so it disables hot swapping for each equipped item just in case, also adding in the use of the mouse wheel on the hotbar with a highlight for the selected item would also be good for people using the inventory for other types of games.

Ill be trying to work in a crafting system for my needs not to sure how to go about this yet.

Thanks for the support you gave given so far.

I have kinda figured out the problem. The weapon needs a physics asset and it will show up after that. Now the problem is that the weapon show up reversed then how is shows it when previewing it in the skeleton, but thats an easy fix.