Action RPG Inventory System

I believe i discovered a small bug with the dynamic inventory decrease function. Adding more than one slot is working, but if i remove more than one slot at once the positioning of the remaining Slots is a little bit odd :). I can remove them one by one with the input function and the inventory itself is not broken. All the removed slots are empty at the moment i use the decrease function. Do i miss something?

Looks like you are onto something :slight_smile:
It is an issue with removing indexes in forward order.

For example if you try and remove more than 1 at a time… let’s say 2.
It will remove slot 40 first then it will try and remove slot 41 (but 41 is now 40 so it won’t remove it).
I just need to make it reverse the loop when it removes the slots so that it removes 41 than 40.

FIXED

I just came up with a great way to reverse loops in blueprint.
So you will need to create a Local Int Array*(I called it LocalAmountIndexes)*
in the InventoryComponent->DecreaseInventorySize() & InventoryManagerComponent->DecreaseInventorySlots() functions.

Then add the changes shown below. This will remove the slots & UI slots in reverse order and fix the bug.

I will be adding this change to the 1.3 update. Since it’s the first fix in the 1.3 update, the update won’t be released until there are a few more changes/fixes made.

Just wanted to let you all know of a function I created that will reduce the amount of items in an item stack that can be called anywhere there is an Inventory Manager Component reference. This is all located within the Inventory Manager Component blueprint.




Hi Pirate,

tried it out, works flawlessly now :). Thank you very much!

Thank you for sharing your enhancement :smiley:

Hello All! In case anyone else was trying to do something similar, here’s how you can have the Tooltip spawn at the mouse location:


Here’s the uploaded In-Game Picture (had to re-size it smaller to upload for some reason)

Thanks chlballi! This was on my list of things todo. You might be able to save resource from that by checking the mouse is over ui bool then updating the position.

Also, using the ā€œGet Owning Playerā€ node, I have been told is better to use than ā€œGet Player Controllerā€ for umg in multiplayer games (which this inventory system works for). idk if its true or why, but i see everyone doing it.

&stc=1

&stc=1

Just figured I’d put up a video of the few things I’ve done so far. More to come in time :slight_smile:
Definitely need to fix up the Character Models rig… got some kinda shoulder issues goin on, and fix up the sword combo animations.
But meh, all in time ! Enjoy

Thats what you get from using a mixamo model with the unreal anims, mixamos auto rigger places the bones to far back on the sholders, you need to skin your model in a 3d program.

Fantastic work OverRated_AU! I’m finally done enough with my UI that I can start working more on mesh imports for items and toons. Guess its time to learn a modelling program! Any advantage to maya over max or anything else?

Very cool stuff guys!

Thanks for sharing, I can’t wait to see more from everyone.

Good to see other peoples projects with this system running.

Here a video of mine still so much to do haha.

[video]http://www.indiedb.com/games/flux-game/videos/flux-demo-run[/video]

Awesome OverRated_AU :slight_smile:
I love your map, from the little bit we got to see lol Is it a World Machine build? Or something else?
And I’m going to fix up that model later, just a few rotations on the ol’ Clavicles and he’ll be right as rain ;D

I’m a Maya guy… learned it in my college courses years ago… can’t get the hang of 3DS Max lol
But to me… I’ve seen a lot of good things from Max… modeling scripts, rigging scripts and you name it… So it’s really your choice!

My 1st 2 months using unreal was mainly on map creation, i made around 15 maps using different tools, but i finally ended up with the map you see there, the map i made in PS then used world machine and the plugin kit to create it, i leant how to use world meshine in the process lol, the maps landscape turned out great the whole map has no limitions for movement.

I use 3ds max and im not pro at using it i just know the basics of rigging in it, i have a friend thats a 3d modeler, the problem you have there can be fixed in max in under 5 minutes :slight_smile: .

Maya is better for rigging and anims but it’s harder to understand as its UI sucks , 3Ds max has some.better tools and its UI is friendly easy to learn.

Pirate, any idea why the blendable outline and interact text doesn’t work in a migrated project over local network for clients but works for the server ?

The server picture on the far left is able to see the blendable outline and interact text, yet the two clients, middle and far right pictures are unable to see blendable outline and interact text.

I tried on the default project but i could not reproduce.
edit: I also checked to make sure i didnt miss anything from the migration video but i don’t think i did, i guess im at a loss. It’s weird because on my other project organs and arms it works fine though.

Are the clients still able to ā€œInteractā€ and open it up?

The outline and text is done locally on the client in the InventoryPlayerController OnTick(). The Use is a command sent to the server and then the server checks to see if the client is allowed to open the container.
It looks like for some reason your clients aren’t running the loop that shows them when they have a target highlighted. So I would take a look at the OnTick() in the controller.

Oh yes, i forgot to mention, everything works fine, they are able to get items, see the opened inventory and everything. its just the blendable and interact text that fail to show.

edit, okay thank you i figured it out, i was stupid and hooked up that part on switch authority.

I seem to have the opposite problem. After an earlier comment about multiplayer I tried mine with 2 clients. I can get the text and the highlight…but cannot interact. It’s got to be in my GetUsableActor…but I’m not sure how to fix it. It works great for the Server…just not the client. I’ve tweaked mine to do the cast based on mouse position. Any thoughts?

That would do it :), glad you got it sorted out.

It’s hard to have the server validate your mouse position since it doesn’t know where your clients cursor is.
I would suggest saving the mouse position in a vector on the client each frame and then when you ā€œUseā€ something you can send the mouse position to the server during the server use event and then the server can validate the raycast for itself from the position you say your mouse cursor is at.

Also if there are any little tweaks you all would like or little bugs you have found please let me know. I want to get the next 1.3 update out soon but it currently doesn’t have much changed.