Action RPG Inventory System

Thank you for your help, Pirate. The inventory system is really nice, it’s simpler and more convenient than the systems I used before. It was quite easy to add the system to the Game. I had a lot of anxiety before I got the inventory system, I did not know how to build the crafting system, but after reviewing it I found that it was pretty easy. Thanks a lot again. :slight_smile:

Hi, i have some problems with player loot (multiplayer) i don’t know solve, can someone help me?

  • When i try loot another player itens don’t show!
  • loot hud (text when you put the mouse over the item) don’t show.

Help!!

I find new bug. If inventory window relocate - increase and decrease slots not work…

Yes this is a bug caused by 4.12. I was hoping they would have fixed the engine bug (along with a few other bugs they introduced) by 4.14.

This is the cause and it does say it’s fixed for 4.15

The Item Drag and Drop is not affected by this bug.

I will have to redesign the demo window move logic if epic still hasn’t fixed this properly in 4.15.

You will need to provide more information about how you setup the players to be lootable. Did you implement the interfaces?

You’ll want the InventoryItem to reference the Weapon Blueprint. And then edit the logic in the EquipmentInventoryComponent -> UpdateEquippedMeshes() to spawn this actor instead up updating the mesh (You will want to create a reference to the Actor in the EquipmentCharacter class) and then set the WeaponActorReference on the EquipmentCharacter. Of course if there is already a weapon equipped you will want to destroy that actor when the item is changed.

Then you will need to attach that spawned actor to the character socket just like it does with the MainHandMesh already in the EquipmentCharacter.

I am working on an update that will have this logic to help people who are having trouble bridging the gap between InventoryItem and their weapon system.

Thanks, that’s great that it’s possible. It sounds potentially beyond my skills just reading that which is a shame. I really hope you get the update out soon as I was hoping to get the ability to damage the enemies in in the next few days! I guess I’ll try and decipher what you’ve written into language that an intellectually deficient person such as me can follow! Fingers crossed

Version 1.7 - Was submitted to Epic on Monday, December 12th
------- Update Notes -------

ARPGIS v1.7 on the launcher will be compatible from 4.13 onward and I have removed the old 4.11-4.12 versions from the marketplace.
There were a lot of deprecated nodes updates for 4.13 and 4.11/4.12 were also relatively bad engine releases.

Send us a support email if you need a 4.12 version and I can provide an ARPGIS v1.6 that you can manually apply the update too.

New Feature

c08dedb0fdb4a2491c615aedef7dbadbeb1797d6.jpeg

  • Added logic for spawning a simple Weapon Actor when equipping a MainHand item (or defaults back to current Skeletal Mesh logic if no weapon class specified on the item).

[SPOILER]
Added new Actor Class called **Weapon_Actor **in InventorySystem/Blueprints/Weapons.

Weapon_Actor]

Added a Child class of **Weapon_Actor **called Weapon_Rifle_Assault](https://vanguardinteractive.com/storage/app/media/unreal/marketplace/arpginventorysystem/updates/1_7/weapon_actor_classes.jpg)

Weapon_Rifle_Assault]

  • Assigned the *SK_Weapon_Rifle_Assault * skeletal mesh asset to the **WeaponMesh **component.

InventoryItem Struct]

Now you may need recompile/save a few blueprints to update the **InventoryItem **structs.
*Note: Recompile/Save **InventoryComponent *before EquipmentInventoryComponent.

**ItemList **DataTable]

EquipmentCharacter]

  • Added a **Weapon_Actor **reference variable (blue) called MainHandWeaponReference.

EquipmentInventoryComponent]

Now when you load the demo you can loot the rifle off of Muppet and when you equip it you will be equipping a spawned weapon Actor to the character.
[/SPOILER]

Logic Change

1526f7e0b75c6c3899518b47d4c5004c18b6c31d.jpeg

  • Totally revamped Tool Tips to work using built in UMG Tool Tip features.

[SPOILER]
Removing the old ToolTip logic from the InventorySystem

InventoryHUDInterface]

  • Removed UI_Get_Inventory_ToolTip() function.
  • Removed UI_Get_Container_ToolTip() function.
  • Removed UI_Clear_ToolTip() function.

InventoryPlayerContoller]

  • Removed UI_Get_Inventory_ToolTip custom event and logic from Event Graph.
  • Removed UI_Get_Container_ToolTip custom event and logic from Event Graph.
  • Removed UI_Clear_ToolTip custom event and logic from Event Graph.

InventoryManagerComponent]

  • Removed Server_GetInventoryItemToolTip event and Logic from Event Graph.
  • Removed Server_GetContainerItemToolTip event and Logic from Event Graph.
  • Removed Client_SetToolTip event and Logic from Event Graph.
  • Removed Client_ClearToolTip event and Logic from Event Graph.
  • Removed function User Interface/Private/HUD SetToolTip() and ClearToolTip().
  • Removed function *Manager/Private/Items/*GetItemToolTip().
  • Removed ItemToToolTip macro.
  • Removed Client_ClearToolTip nodes from the DropItem() function.
  • Removed Client_ClearToolTip nodes from the CloseInventoryWindow() function.
  • Removed Client_ClearToolTip nodes from the CloseContainerWindow() function.
  • Removed Client_ClearToolTip nodes from the CloseEquipmentWindow() function.

InventoryLayout]

  • Removed the ToolTip widget element
  • Removed the Invalid Interface Message node from the OnDrop() functions DragItem logic

InventorySlot]

ContainerSlot]

Adding the new better and simpler ToolTips.

ToolTip]

  • Set the ItemToolTipInfo variables Expose on Spawn property to True

InventorySlot]

[ContainerSlot]

HotBarSlot]
If you want tool tips on the hotbar add the exact same logic as the other 2.

Now you will want to apply the changes in the 1.7.1 ToolTip Hotfix.

[/SPOILER]

Logic Change

  • Updated Line Trace in InventoryPlayerController->GetUsableActor() to now trace by Channel Visibility instead of by Objects.

[SPOILER]
[InventoryPlayerController]

Bug Fix Thank you @IlllIl for the bug report :smiley:

  • When you drop an equipped item the Player’s Stats aren’t refreshing.

[SPOILER]
**InventoryManagerComponent **]

Bug Fix

  • Issue with Child Actors of World_Actor that were placed in the world not updating with changes made to the ItemList unless you recompiled them.
    By Unreal design, the actor’s Construction script only fires when an Actor is placed/moved in the world or the Blueprint is compiled.

[SPOILER]
World_Actor]

Now the Server will load the data on begin play for items already placed in the world to make sure they are in sync with changes made to the ItemList DataTable.
(Before you had to recompile the Child Blueprints in InventorySystem/Items/Blueprints of the items you updated in the ItemList to refresh the ones placed in the world)
[/SPOILER]

Bug Fix - Thank you @DiziART for the bug report :smiley:

  • When passing in an Amount of 0 to the InventoryManagerComponents Client IncreaseInventorySlots() UI function the UI will create UI widget slots.

[SPOILER]
InventoryManagerComponent]

Bug Fix - Thank you @Cryptaline for the bug report :smiley:

  • InventoryManagerComponent->IncreaseInventorySlots() reads from a local variable for the row size instead of the class variable.

[SPOILER]
InventoryManagerComponent]

Engine Bug Workaround Fix

[SPOILER]
UI Widgets - Equipment/Inventory/Container]

[/SPOILER]

Engine Bug Workaround Fix

  • Mouse Hover states on widgets don’t reset after the UMG widget is hidden.
    An example of this is when you lose the right mouse button steering after fully looting a container until you mouse over another UMG widget.
    *This is caused by an engine bug introduced in 4.12 and is not a bug with the ARPGIS logic. - UE-32910](Unreal Engine Issues and Bug Tracker (UE-32910)) *

[SPOILER]
InventoryPlayerController]

If epic still hasn’t fixed this by 4.15 I will revamp the IsMouseOverUI logic.
[/SPOILER]

Engine Bug Workaround Fix

Engine Bug Workaround Fix

This update has been submitted to Epic on Monday December 12, 2016 and should be published by Epic this week.

I am working on updating the steps for that in the v1.7 update post right now :D. Check back in a bit.

If inventrory is full, increase and decreaise slots dont work

That is by design.
The logic is setup to not allow you to remove slots if there are items currently in them.

You can edit that logic to drop the items if you want. (Maybe I should add that into the update :P)

It’s brill that your releasing an update soon. I might have to hold off for that as I’m sat trying to figure out your instructions and I get some of it but not enough to be able to just script it all out. For each instruction I have a few questions and you can’t waste your time giving me a proper tutorial, especially seeing as your putting the functionality natively into your system anyway soon!

I’m sure it’ll make sense once I see it laid out properly and I follow the chain of logic, but to see that logic in my head at the minute, well I’m just not good enough yet!

Oh and sad to hear 4.12.5 won’t be supported soon. I understand, but it means I’m gonna have to take the plunge at some point and remove some of the plugins that don’t even support 4.13/14 yet, never mind them supporting 4.15 when it comes out anytime soon.
Oh well, your stuff more than makes up for it!
Thx again

It doesn’t take too long to add in the new feature so perhaps if you are unable to use 4.13+ I can help walk you through it in the near future. But I really do recommend getting prepared to update your project at some point. 4.13/14 are the first decent builds of unreal since over a year ago in my opinion. I held off even working on my project because 4.11/4.12 were such a mess. Now I’m starting everything all over with 4.14. But I’m also a little crazy :smiley:

If you have plugins that don’t support atleast 4.13 by now(It’s been out for awhile), you really should get in touch with the developers.

You’re a good guy.
Yeah, I am using the Ocean community project and they’re currently not updating at all, and there are some other users doing updated 4.13/14 builds but people are getting errors with them (including me) so I’ve stuck with 4.12.5 even though I desperately want to update.

I’m at this second trying to update to 4.14 support on the ocean project to see if it works again since a new update by Zoc.
If that goes well, I’ll probably make the jump as that is the main plugin I wanted anyway.

Do you think 4.14 is a good place to upgrade to then?

Ok, remove disable if inventory is full, but if dont work increase? Its logic?))))

** - Totally revamped Tool Tips to work using built in UMG Tool Tip features. ** LOL ))) Thank you so much!!)))))

You can recompile your plugins by creating a C++ project and moving your plugins to it, then update the project to the engine version you need if some plugins are missed simply turn them back on in the editor and this will recompile then to work hope this helps.

You can create a simple function so when you decrease your inventory size it drops the items in those slots, this function is easy to setup.

I can create any function for my project. And you know this :slight_smile:
Your product I really like, although needed in many completions for my project. But I’ll tell you a big thank you for your work and for getting me experience!
I am waiting for updates. Have a nice day)

Can someone post an example how to prepare weapon skeletal meshes with Blender, or briefly outline the required steps? Adding just a skeletal mesh results in a flickering weapon, only briefly visible while moving, not exactly sure why :slight_smile:

The new Melee Trace Plugin, does not require collision to apply damage through precise hit detection Melee Tracing Plugin in Code Plugins - UE Marketplace

However, it requires to setup a “Weapon class BP”, which is spawned, and traces can then be triggered from firing anim notify events inside that Weapon BP. Currently try to figure out how to combine this hit detection solution with ARPGIS. I highly recommend to evaluate this plugin, and to possibly make it compatible with the new WeaponSpawn, and ShieldSpawn. Pm me, can email you, or we could Skype/Discord if needed, would be happy to make this work.

The bottom line is, when it comes to melee combat, hit detection is often difficult to setup through collision spheres, a tracing instead does not require any collision spheres, while at the same time offers precise hit detection.

Well after upgrading to 4.14 I was plagued with issues regarding performance so had to spend til 5am this morning sorting them out. The Auto LOD system screwed me royally as some assets haven’t converted over properly and will all have to be manually sorted out one by one (oh the irony!). The memory usage (memory leak?) regarding world composition screwed me too. I have 16GB RAM and my project was needing more than that to open up all my world composition tiles. whereas previously it was about 3 or 4 gb needed.
Got all that working now, though RAM usage is still about 2x as high as it was. sigh

ANYWAY, that aside it did also cause a couple of erros in my previously errorless arpgis install.

1> I get this every time I drop to game and back to the editor.
UI.JPG
I changed it from the deprecated node to the new one but it still says the same error even though there’s no compile issue?

2> Every time I load up and try to drop to game, it says am I sure because World Actor has a compile issue.
worldactor.JPG
So I go to World Actor and sure enough it has a compile issue.


So I hit compile again and it goes through with no adjustments. So I save it and drop to game, all is well! Well, until I quit the editor and load it up again and then it does the same thing every time. Any ideas?

thx