Action RPG Inventory System

Added a 10 second delay to initializing the inventory, apparently my lobby was messing it up. You hit the nail on the head, that was the problem. THANK YOU for your help !

@No_Circut

I apologize for my lack of checking the forum thread, as always the best way to reach me quickly is with our support email. also if you use @Pirate in your forum post I will get email alerts about someone posting a question in the forum thread.

I had to recently fly half way across the world to take care of my father for awhile. So things have been quite hectic as of late but I always have my phone on me and will be able to reply to emails very quickly if anyone has questions.

The ARPGIS is still supported and will always be. I continue to update it if needed for each engine release and try my best to go above and beyond other marketplace sellers when it comes to support questions and requests. I can understand how it can be frustrating to feel like you arenā€™t getting a reply in the forum thread quickly but the support email is always going to be the best option for quick and direct support. This forum thread is great for getting feedback from other users but I canā€™t always check it on a daily basis with my current situation.

Thank you for your support and understanding.

What version of the ARPGIS are you using? And what version of Unreal did you create your project for on the launcher?

Hello Haoris,

The HotBar_Slot is setup to hold a shortcut to a type of item not the specific item itself that you added to the HotBar.
For example say you have 3 stacks of Apples in your Inventory. If you drag the 2nd stack to the HotBar Slot. When you use that hotbar it will use apples from the 1st stack, then the 2nd then the 3rd.

When adding click to use code like the Inventory_Slot has, you first need to know what slot the item your HotBar_Slot is referencing is in. Then you can use the same logic. From the HotBar_Slot you can get the Item ID from the ItemInformation Struct. Then you would search the Inventory for that Item and use that Item Slot that it is in. I would create a function in the HotBar_Slot that takes an Item ID and returns a Inventory slot number if it finds an item.

I hope that makes sense. The HotBar was setup quite simply so it would be easy for people to gut it and do it differently if their project wanted to handle it differently. I know the current implementation is not for everyone but if you have any more specific questions on how to achieve your goals with the HotBar in your project please send us an email and I am happy to give you more pointers.

Still having some trouble getting the correct socket to take a weapon from my characterā€™s hand.

Iā€™m a little confused how communication is supposed to work with the components vs inventory player controller (Which I chose to keep and use from the project) and the equipment characterā€™s slots vs the slots in the equipment inventory manager component. @Pirate @OverRated_AU
Even a quick workflow rundown would be most appreciate. Been at this all night and I just canā€™t seem to get the sword to stop disapearing instead of ā€œsheathingā€ to the socket on spine 1 I named ā€œSheathā€ and added the name to the struct.

Sorry to be such a pain.

I am using the skeleton from the ARPG, targeted to a character BP I already had set up. Char is parented correctly to the equipment char, and everything else works as it should be. So if you were going to add a back ā€œsheathā€ socket and the functionality to destroy item in hand, spawn in sheath socket, then visa versa for the toggle, how would the communication flow? I donā€™t need any info on the animations triggers, just getting the sword ā€œinā€ and ā€œoutā€ of the correct socketsā€¦ while being able to wipe the slate and add a different weapon if one is equipped instead of having a sword sheathed and still being able to equip anotherā€¦

Any advice or even a link would be most appreciated as I"m at a loss trying to google anything relevant about components vs custom controllers vs my character bp vs equipment character BP and it seems I have to have a network of communication happening between all three of those things with the way this is set up.

Edit:
To be more clear and specific, I have a full understanding of how to do this this when everything is set up in the character BP itself, so Iā€™m not asking how to socket a weapon, or any related info to that matterā€¦ and yes I understand how to look that type of thing up on my own, but there is almost no information I can return in a search engine that talks specifically about the way the this is set up between so many componentsā€¦ I donā€™t know if I have to trigger ā€œequip itemā€ ā€œunequip itemā€ as far back as the inventory management or if I can just swap out the image in the equipment character (ideally) and still notify the server of the changeā€¦ Itā€™s just very confusing with all of the previous listed things needing to talk to one another to make one item equip or unequipped.

Day3, still trying to figure out the relationship between equipment character, inventory component updating equipment, equipment inventory manager component, main hand, player controller, and getting this to change and show up on my custom character when I sheath/unsheath a weapon.

Even a simple link in the right direction would really help. I have watched every video, again, in the blueprint essentials and beginners series, the entire intro series, and not once does it even mention a ā€œcomponent blueprintā€ only level and class blueprints.

Totally at a loss here and I know this is probably simple. Sorry for leaning on you guys for an answer here but every tutorial I have ever watched in UE4 has the logic and variables set up in the character BP, and this is the first I have even seen a custom controller bing used with what I am guessing are custom ā€œcomponentsā€ added to that controller, but I really donā€™t understand how the logic flows for each possessed pawn.

Anyways, anything, even a response that you canā€™t help would be helpful so I can stop checking for updates.

I guess Iā€™ll just continue my rant since no one is reading any of this anyways, but another thing Iā€™m finding very confusing is that everything Iā€™ve read about putting movement logic in to a custom player controller instead of the character says not to do it because you set a hierarchy that isnā€™t really explained anywhere in Ue4 documentation.

I watched and read everything shared in that post and still donā€™t understand how I can communicate between all of these component blueprints, the parented equipment character, and my custom character blueprint, which currently has all of my movement logic in it because it was already set up that way when I bought this product which says it can be implemented in to any existing project.

Then I go on to read this entire forum thread and on page two or three @Pirate says that you donā€™t ever want to take the movement logic out of the IPC because thats where the move form container item close isā€¦

There is no way I can move all of the logic from my character in to the inventory player controller without doing more work than it would take to just start over from scratchā€¦

Completely at a loss here and no idea what video or tutorial to watch next. If this was all done in one player character BP like every tutorial Ive watched, 100s them, suggest to do, and in fact the consensus is from the posts Ive read, never to put it all in the controller because of conflict issues with things like death and re spawn screens, etc.

I know what you guys have created is the most modular method but I just canā€™t seem to figure out where to go to learn about this Controller/Component/Parented equipment character method so I can adapt it to my own. Every tutorial Ive seen says use the generic controller provided with 3rd person template and or create your own generic one, then build EVERYTHIGN in the character blueprint.

Utterly confused why this seems so obvious for everyone but me and Ive spent probably 80 hours this week searching for the answer.

Hereā€™s is a short break down on how a equipment item is used, the equipment UI calls a event inside the inventory manager component when a item is placed in an equipment slot, which then fires EquipItem which sends the item data to the equipment inventory component which sets a OnRep variable inside the equipment character and sets your items mesh.

Now if you want say your weapons to re-socket when a animation is played or a event happens you will need to OnRep that change on the server, so when the animation plays it triggers the anim notify which calls an server event to attach the weapon to a new socket, this would be done inside your player controller to your equipment inventory component.

As for replacing a weapon if its an actor you would check if its valid and if its is destroy it then spawn a new one, or setup your weapon actor to have a mesh variable which Reps, so when a new weapon is Equipped it simply just applies your new weapon mesh to the already spawned actor, you would also want to pass other variables that apply to the weapons damage and so on.

I hope i answered your questions here let me know if i have missed anything :).

Thank you, Iā€™ll see what I can do with this info. I am still very confused as to why I am supposed to keep all of the movement logic in the inventory player controller when the documentation for UE says to set it up in the character BP. I merged this with the mount tame and feed which has logic already in itā€™s character and suggests not moving it. I guess I can move it all but thats probably over 100 variable and an entire melee attack system, couple with camera tweaks and three movement modesā€¦ I donā€™t see how this is ā€œeasily integrated in to existing projectsā€ if itā€™s mandatory to have the movement logic in the IPC as suggested in this thread.

Originally yes you would handle your movement logic in the player controller like pirate has setup in his inventory system, individual pawn movement wasnā€™t always available epic added support for it so a lot of devs still use the player controller because its what they are use to using, you can always move the input logic to the pawn and cast to your player controller events rather than moving logic.

If you need to access a variable you can always call the equipment character variables from your character bp.

The reason why the logic is in the Player controller is because itā€™s based on the player controlling a character. Epic examples throw everything in a character(pawn) blueprint to simplify things and not add an extra blueprint. But because you are a player controlling a character the PlayerController handles the player input logic and the Character class handles logic specific to character/pawns.

Hope that helps explain the design choice.

Hey, sorry if I sounded like I was frustrated with your product in any way but that is simply not the case at all. I think this system is great, and the only issues Iā€™m having are my own confusion. Sorry if that wasnā€™t very clear, but I am understanding this better now and was able to fix all my issues.

You guys have made it possible for me to learn a lot about the proper way to set things up for a game, and for that I thank you.

The issue I was having was a priority thing between the IPC and my horse mount trying to posses the control logic from the default rider, who is the custom char blueprint, not from your system.

It was an easy enough fix, just very confusing for me at the time. Again, Iā€™m very sorry to sound at all disappointed in the ARGP system, that wasnā€™t the case.
@Pirate Please know that I enjoy learning from this system very much and it has made things easier for me. Iā€™m sorry my frustration of my own ignorance made it seem like it was a fault of you or ARPG system.

I actually just posted a little theatrical teaser of my melee combo system, and it features your product.

Many thanks, and again Iā€™m very sorry if there was any confusion as to my satisfaction with purchasing ARPGIS. (PS I even mentioned you guys in my video link description! :stuck_out_tongue: )

Very cool stuff :smiley: it looks like itā€™s really coming together. Thank you for your kind words and for letting us know you were able to get everything resolved. It is always nice to see when someone knocks down that wall and is able to rocket through to working on new features and move forward with their projects. Sometimes we donā€™t get updates that people have resolved issues so itā€™s nice to know things are all good :slight_smile:

I did quite a lot more work to customization of the inventory widgets last night. I didnā€™t create a new widget or anything, because I had already set up a very similar layout to the one you provide, just didnā€™t have drag and drop and some of the other features hooked in to item pickup and armor slots. What a time saver though not having to re-do all that stuff and my images worked just fine after some tweaking. :slight_smile:

03d64d9cc3ec73fc11728fa02dac3627907d0428.jpeg

Ok, action map is in IPC and working, fires to the anim BP and sets of montages, each has a notify that fires,

  1. Where exactly do I drop this notify event to call this server event, and which server event? If I send this to the EIMC am I updating equipment mesh function or update main hand?

Also, I was not able to fire any function in the EIMC from the Anim BP because I couldnā€™t figure out what object to reference when casting to the EIMC. Is it possible to get a reference for a component? I always thought of a component as something that cant exist on itā€™s own and has to be added to a existing blueprint but this has 3 component blueprints, which is just confusing to me.

Even the ue4 definition of a component says straight off they cannot exist on their own, so pardon my ignorance for not understanding how to reference, or cast to it but this just seems confusing.

ā€œComponents - A Component is a piece of functionality that can be added to an Actor.ā€

Iā€™ve read everything I can find about components and it hasnā€™t helped me one bit to understand how this works. Should I be setting up an interface, or what is the best way to communicate to a component from a blueprint?

Hi, you want to make a new server event in your player contoller that then calls the player equipment component
and handle the logic here and within your equipment character BP, you want to call your notify event from your Anim BP graph, the you want to call a pure function called ā€œTry Get Pawn Ownerā€ then you want to cast to your character BP then cast from that to get your player contoller, then call a the new server event you just made.

Hope this helps.

Hello, I would like to thank Pirate for this great system.
Currently iā€™m facing two issues.

1- How can i properly change the Damage on weapons?

I tried to change the Damage for the Simple Axe in ItemList from 14 to 18.
and when i hover over the axe with the mouse inside the inventory it says 18, but when i equip the axe the equipment status list still says 14.
I tried also a quick test to see the correct value of the applied damage on a dummy and it gives me 14.

Edit: for the first question i was able to get it working by deleting the intermediate and saved files every time i opened the project.
But now each time i change the itemlist file, i need to close the project and delete the two folders in order for the effects to take action, any solution for this?

2- I would like to add more attributes to the system in addition to the existing ones, like fire damage, fire resistanceā€¦ect. Cloud someone tell me where should i make the changes, beside the InventoryItem Structure of course

Thanks a lot

We safe to update to 4.16?

There is a bug from changes Epic made to UMG Widgets. Itā€™s a very easy fix.

Version 1.9 - Submitted - May 24th 2017
------- Update Notes -------

Fixed conflict with UMG changes causing compile error of *InventorySystem\UI\Blueprint\Inventory*DraggedItem UMG Widget.

DraggedItem]

I have submitted the update to Epic but it could take a few days for it to be updated on the Launcher.

@Pirate At 23:35 in your video you add ā€œGet Follow Cameraā€ for the Camera to the Player Controller replacing the InventoryPlayerController reference but this is not available for ā€œThird Person Characterā€ as a node option, so how do I add this?ļ»æ
c6bef9a6ebd7e2cdcab62048445abcc1ff1f67f2.jpeg

If you are not using the InventoryPlayerCharacter but your own Character class called ā€œThirdPersonCharacterā€ then you will need to add the camera to your own character class. If you look in the InventoryPlayerCharacter you will see the camera and the camera boom (which is a Camera Spring Arm Component).

Donā€™t forget to parent your new character class to EquipmentCharacter to Inherit all the Equipment meshes if you want your character to display Equipped Item meshes.