Action RPG Inventory System

Hi, I really like this inventory system and thanks for putting it out there,

Was wondering if you could help me out with a problem i’m having?

I keep getting an accessed none error that from the inventory manager and the print string keeps saying my inventory is full when i try and pick up an object, i’m not sure where to set or change this

Take a look inside the World Actor blueprints On Used function. Make sure you have updated the cast node where it gets the PlayerInventory Reference. If it’s not that you should be able to debug there and find out why it’s null.

Hey Pirate !

I sent you an email about it some time back, it might have gotten lost.
It’s not just the scrap though which I tried to pin point there with the equipment window. If I equip something that has say ’ 2 intelligence ', the character sheet will still stay at 0.

Hey Pirate,

Yeah turned out the player inventory reference was there just not plugged in.

Thanks for the help and quick response :slight_smile:

My apologies for the delayed response on.
It looks like it must be your UI_Get_PlayerStats Interface function might not be implemented properly. Double check in YourPlayerController you have it hooked up like so.

Please let me know if that was the issue :slight_smile:

Hello
I created an child of usable actor and used it for my resource nodes(mining), the first use works great but when I use a simple respawn with a delay for the nodes I have to press “E” a few times to use it again on each respawn. Any ideas would help thanks

Yes that did it ! Thank you so much ! Probably forgot to update that when I updated to the newer version manually.
No problem for the delayed response, seeing all the messages on here you must be busy :slight_smile:

Actually I had a pretty annoying issue with OnActorUsed in the World_Actor BP after migrating. It always disconnects the blueprint node to TryAddItemToInventory after a Editor restart. It complies. It saves. It works. But after a restart the node gets disconnected. It’s only in the World_Actor. I’ve tried to fix redirects via the editor (which usually is a pretty weak function), migrated the hole project into a clean new one and finally even recreated the hole Wolrd_Actor from scratch. Same behavior again. So I have no clue why he hates that wires after Editor restart but finally workarounded with pure get-functions the ControllerBP.

Before the Editor restarts everything is fine:

After the Editor restarts it disconnects every time:

Workaround so far:

While this works I dislike that my project feels inconsistent. Sometimes BPs are pretty annoying. :expressionless:

Hey Pirate,

Please could you help me again?

It’s not working right when I right click on an item to equip it, I’ve checked what’s being equipped with a print string from the equipment mesh from break InventoryItem in the equipment inventory component. It’s saying the Armour blade shoulder is being equipped then nothing is straight after, is this resetting the mesh to nothing? and how do i fix it?

Hi Will,

I have a small problem the thumbnail maker is not working. When I right click on the target item blueprint the asset action to generate a thumbnail Is not there. I generated a virgin Action RPG project with just your code and it is the same story there. Do I need to turn this on in unreal somewhere?

Thanks,

Arthur

Hi Will,

I have a small problem the thumbnail maker is not working. When I right click on the target item blueprint the asset action to generate a thumbnail Is not there. I generated a virgin Action RPG project with just your code and it is the same story there. Do I need to turn this on in unreal somewhere?

Thanks,

Arthur

Hi Will,

I have another problem where dropping an item is not honoring the scale set in the blue print. I can see what it is happening in randomize drop location. On the make transform you just set the scale to 1. I was going to just get the item’s current scale but I can’t figure out how to do that. I pass the local inventory item inot Randomize drop location, but I don’t know how to get it’s scale inside of randomize drop location. Can you tell me how to do that?

Thanks,

Arthur

I had problems similar in the past an easy fix is to rename the function compile and save then just change the name back should fix your problem.

Thx for your hint. I’ve spent already a few hours to migrate and adapt everything again. This time it worked without disconnected nodes.

Anyway I had the old merging project still on my HD and gave the renaming a try just to test if this could fix similar issues in the future. Unfortunately it did not work (but made it worse). The “OnActorUsed” is defined in an Interface which is integrated by the Useable_Actor which is the ParentClass of World_Actor. After renaming it in the Interface (compile and save, fix redirects and such stuff just to get sure) the Useable_Actor got the new name but after Editor restart the World_Actor still had the old name (even if it is a child). I’ve got disconnected wires again and even worse the call to the parent function is gone now. And it’s greyed out so I could not add it anymore (which makes sense I guess because that function does not fit to the parent with this name). So it’s pretty messed up now :slight_smile: - However as I wrote already, I finished a further migration with success (and based on this one I made a further one into anoter project just to get sure everything sticks together). So there is nothing lost (except the trust into BPs and a few hours work). It’s a pain to keep a project clean with BPs. The “fix redirections in folder” function is more a hope(less) function. Deleted folders come back and redirectors stop working. Answerhub seems to be no sollution for this issue as well as I found various threads with “did it work with a clean project”? Of course… “hello_scary_blueprint_world” would not show this kind of issues ;).

Hi Will,

For the scaling issue I’m having when dropping my object I did the following work around. I couldn’t figure out how to add an attribute to the item list so I used intelligence as a scaling factor. I wrote up a function to get the intelligence now scaling factor and then in randomize drop item I set the scale value there.

It seems to me a better way would be to some who interrogate the blueprint of the object and get its default scale, but I don’t know how to do that for an object that hasn’t been spawned yet.

Regards,

Arthur

Sounds like your project mite of been corrupt as it shouldn’t do that, good to here you fixed it by starting over.

I guess I hit one time “compile” too soon at moving stuff from inventory folder to my bp_folders (where the youtube-merging tutorial did not do this at that point). Anyway it’s a bit sad that the project that is in the memory of the editor differs from the project that reloads after the editor restarts. If it is really a corruption (like he could not find required stuff because it’s nowhere) then it may not start and work in the Editor either. But it does work if you take that wires and plug it in those nodes manually after Editor restart. So he is able to stick it together in a way that works if I help him but is unable to save all those changes (even if you save all and fix redirects and such stuff first), so the editor would reload them in the same way after restart.

I don’t think they differ but the references are still there in memory, when i had this problem it was in function library it didn’t mater how many time i re-connected the wires each time i loaded they would be broken, so i renamed the function which fixed my problem, that’s also a good point to mention I’m not sure how it impacts performance but i find doing a lot of my functions in function library’s put less load on core blueprints like the InventoryManagerComponent most things can be done from outside the blueprint reducing the chance of stability problems.

Hi there,

Anyone know how to add physics to an item being dropped from the inventory. Everything is floating right now which I don’t like.

Thanks,

Arthur

In usable actor turn on is single player this will enable physics.