Action RPG Inventory System

Hey Pirate

thanks for your work here. This is a real time saver!
I finally made it to save and load the inventory array for my singleplayer project but i have no clue how to pass my hotbar through my save game.
Is the “hotbar slots” array the correct variable or did i miss any refresh function for the hotbar since they are not a real inventory slot?

Thanks :slight_smile:

This will depend on your knowledge with blueprints, for a beginner it would be long task you would have to change some of the inventory’s logic along with building a new UI that support jigsaw slots.

What is the max number of item slots that can be configured? Can item slot sizes be changed?

Unlimited and anything can be changed with the right skills.

You can change the inventory size it’s just an int value that gets read on initialization. There are also commands to increase and decrease the size after the inventory is initialized.

The UI slot size can be changed in UMG if you want bigger or smaller slots. But you will also need to changed the icon sizes to match the slots. It’s pretty basic working with UMG to edit the demo UI. All it takes is the ability to learn unreal :smiley:

I have and love the action RPG Inventory System, I also have the Multiplayer Survival Template was wondering if anyone here has used this interface with that template and if so how they went about merging the two?

Probably unlikely but thought I would ask before I try to reinvent the wheel.

Thanks!

The Multiplayer Survival Template has it’s own Inventory System. I am not familiar with how it’s made but you would need to remove all of that assets inventory logic first and then merge normally then go through and hook up all the logic and item stuff to items you make for the ARPGIS.

The ARPGIS is meant to be a modular Inventory System, the issue would be with ripping out the existing one and not breaking everything in the Multiplayer Survival Template. You will have to ask the author of that asset for support.

As always you are quick with a helpful response. Thank you for the insight, I think what I am going to do is just try to build out from your extension with gathering, crafting, hunger, and time of day systems. I wish there was a better way for the products in the market place to play nice together but I understand why it is the way it is. Thank you.

I made a new tutorial of a System,
that hides the Hotbar when not useing after a few seconds.

[video]https://youtu.be/qtzzKHYVGkg[/video]

1 Like

Hey Mathusala… I was pointed to your post in here by another community member… I’m the creator of the Multiplayer Survival Game Template so I can offer a little insight into things here.

The MSGT is all modular, so you can disable each individual system in the template easily enough. This includes the inventory - you can simply not include that module in your controller. All the systems (hunger, thirst, etc.) have their own functions ro add and remove resources, as well as to increase/decrease drain speeds as appropriate. The things that you would lose by disabling the inventory is the stuff that is directly tied to the inventory, such as crafting, the hotbar, the armor system and so on. Obviously, some of this is covered by the excellent ARPG so you would be able to make use of it there. But it still could potentially save you a lot of time from recreating all the base survival systems yourself. If you’d like anymore info or clarification on this, please feel free to PM me and I can go into more detail. Don’t want to fill up @Pirate’s thread here with stuff about my own asset :stuck_out_tongue:

Looping Through Hotbar

[video]https://youtu.be/Xzm-alw3YZA[/video]

Thank you for sharing :slight_smile:

Very interested in purchasing this, as a novice in unreal I’m wondering before purchasing on 2 things, 1) I’ve see that you hold right click to look around, how would you disable this (is it easily done) and 2) would you be looking into creating a shop system or would I require starting my learning in unreal earlier than I had planned?

Sorry for my noob-esk pre-purchase questions, you’re work looks amazing.

There is a tutorial video FPS Controls w/ UI Mode Toggle in my signature that will toggle the UI so your movement is more fps like normally.

I will not be adding a shop system to the Inventory System, but regardless you will be required to learn unreal as you can’t really make a game without learning :).
Plenty of people have easily created their own shop systems and there are a few on the marketplace. All assets on the marketplace will require some level of understanding of unreal if you want to start making changes and adding new features.

1 Like

I tried setting the inventory_slot with doubleclick instead of 1-rightClick. However, it seems that DoubleClick (right) works fine, but Left is never triggered. I tried searching around but couldnt find anything. I made a copy of a clean project and tried removing some functions (MouseDown/Up, Drag, Move, etc, as someone said on previous previous preeevious posts) leaving only mousedowndoubleclick, but still the double right click would trigger, the double left click wouldnt. Any insights @Pirate .

Another question: is it possible to make the mesh targetable, instead of the target capsule? in the editor it works, but on dediserver it doesnt. im starting to think that maybe the engine doesnt support this, but ill keep looking though

If you look in the Inventory Slot Widget you would just need the Left click action to do the same as the right click which is to call the USE ITEM logic from the IMC. Not sure what you are doing but it is just as straight forward as having the UMG logic bound the same. The Drag shouldn’t be interfering with the Left click as the drag only starts if you are holding and dragging.

I don’t see why not, again I’m not changing how Unreal works in the Demo. You would just want to make the mesh have the collision properties needed for the trace to hit it and then remove those settings from the Capsule.

Also everyone it looks like they fixed one of the bugs in Unreal 4.15.

You can now set your Container/Inventory/Equipment widgets back to enable window drag by default.
They fixed the UMG bug that was causing the Container window to break and stop working after being dragged.

Go into each of the widgets and simply set the bool IsWindowLocked to false by default.

Hello
What I did is:
replace the Icon (image) for a Border. The Icon (image) wouldnt have the MouseButtonDoubleClick event (aka only allows MouseDown Events), yet the Border had :P, so replacing those “Palette” items did the trick. After that just replug the EventBinds (Mousedown, MouseUp, MouseMove, MouseDownDoubleClick), make sure the doubleclick was checking if was leftmouse, remove the bool of the RightMouseclickDown and make a new one for the double click and so on. It seems a better idea to keep it as a border I guess, since it has all the features image has and the mouseup/down/move/doubleclick events.

I’ll check again the mesh thingy.

Server_CloseContainer possibility to cheat? If you move then it’s called (only) from the client on the server (which sets the CurrentContainer to 0 that’s used later by the UseContainer events that run on authority). Shouldn’t this be something that’s called even from the server and run on the server to avoid a modified client just wipes this event and runs miles away and still got permission from the clueless server to loot the container from there (as the UseContainer is still valid on the Server if the bad Client did not tell the Server: Please close it for me)? Or did I oversee something here?

Yes you are correct but a client shouldn’t be able to move away from the Container, from memory i added in a safeguard so if the client lost focus on the viewing container it would auto close it, if you really wanted to make this hack proof all you would need to do is to call the GetUsableActor and get its inventory component and compare it to ContainerInventory before allowing any interaction.