Action RPG Inventory System

Was bored so i made some Unreal Mannequin Chest Armor and thought i would share :stuck_out_tongue: .

http://s2.postimg.org/3jnviyjhh/Demo.jpg

I am seeing this now adding an Infinity Blade asset if they donā€™t have a generated Physics Asset. I didnā€™t have this issue in older versions of the engine, I guess it must be a new bug :smiley: yay!

**For anyone else experiencing missing/flashing weapons make sure your Skeletal Mesh has a Physics Asset. **
You can right click on the Skeletal Mesh asset in your browser and select create a Physics Asset.
Another way to generate it is to Export your SK_Mesh, remove it from the project and re-import it. It will generate a new Physics Asset and Skeleton on import

I have added a quick tutorial troubleshooting with the Knife from Scifi weapon package.
(Looks like part of the issue was the one mentioned above, as that would explain why it wouldnā€™t show in the hand until the character was hidden)

SKIP TO 2:00 in the video for the part of the tutorial on how to create a basic weapon skeleton and bind your mesh to it.

The existing demo weapons are exporting facing the +Y as shown in the video.
I will switch the Melee weapons/Shield in the the first update to be +Z to match Infinity Blade where they stand up like this

IB_Weapons.jpg

But guns would still be exported facing +Y though.

d151485ad10ea5ffc39f96695de5db44e9ac4fa5.jpeg

I will create a new export tutorial after these changes have been made that goes over exporting weapons in better detail.

You can export your weapons facing whatever way works best for you, but you just need to be consistent and then update the MainHand and Offhand socket rotation to fit your changes.
If you start using your own animations and not the starter third person animations you will have to rotate your MainHand and OffHand sockets to a different value that works for you.

Also if you are noticing strange rotation issues with your items in sockets please note that between 4.8 and 4.11 the ThirdPerson StarterTemplate had badly exported animations.


I have included fixed versions of these animations with the Inventory system and they are fixed in 4.11 if you create a new TPP.
This bug causes all types of funkiness with your socket rotations and blending between animations.
It will look fine in the editor when you attach to a socket but in game they will be all twisted wrong because of the animations listed above.
It is also what causes your character to dip when blending between the animations shown above and other animations in your project.

haha awesome :smiley:

Brilliant, awesome. Now next week to import own items/weapons and then wait topdown kit. And maybe someday in this year Pirate get also some package which contain basic combat system.

Iā€™ve been able to add my dynamic outline material (although I like how your doesnā€™t shine through everything), but I canā€™t seem to figure out how to turn your off. My works through the Post Process Volume Blend, but yours does not. How is yours instanced? Thanks!

It is set in the PlayerCharacters FollowCamera Post Process settings. Just remove it from the blendables there and it should be all good.

Also just a quick update for the 1.1 release:
I have made the changes shown in my last post and updated the weapons in the demo content. The MainHand/OffHand sockets were rotated for this update.

I also added a quick demo rifle item as an example to show the difference between
what direction a melee weapon Skeletal Mesh should be facing vs something like a rifle when imported.

Worked like a champ. Now I have separate outline colors for cash, regular objects, and a switch thatā€™s modifiable in the editor called ā€˜isHostileā€™ that will make NPCs outline in either Green or Red. I can share how i did it if anyone can find use for it. I setup the material so you can easily pick one (1) of ten (10) colors, each of which can be edited if you wish. Now to make it occlude walls and characters like the originalā€¦

Thanks again!

Thanks a lot for putting a merge video ! that really helped.

2 issues Iā€™m currently running into :

1- The loot window doesnā€™t seem to close on ā€˜xā€™ click, in its top right corner. It only seems to close when re-pressing E on the same loot container, or by relooting another container or looting all the content.

2- I seem to be able to pick up items, but once they are in my inventory, itā€™s not possible to equip them. Neither rick clicking on them or dragging into slots seem to work. **Edit:-> Fixed that one. Just checked error log and realized I forgot controller reference connections in the inventory slot event graph.
**

Hrmm thatā€™s odd :C
In the UI container widget on the eventgraph can you check if the ā€œServer: Close Containerā€ section is hooked up? it sounds like it might not be firing the ServerCloseContainer() in the OnClicked(CloseButton) Event.
Double check there and see if the controller reference and inventory manager component are hooked up and if they are try adding a breakpoint and see if the button is calling the function.

OverRated_AU, I was just curious where did you get your character models? and if you made them yourself do you do any sub contractor work?

Just a heads up for everyone using the demo UI in your own projects, there are a few changes to the hit tests on UMG elements that will really improve the ToolTip and Drag Window code.
To save yourself a little bit of extra work I would suggest waiting until the update tomorrow before you integrate the UI into your own project.

There are some solid improvements and minor tweaks that overall are giving it even a more polished feel over the 1.0 HUD.

Added a print string and it is apparently calling for it and both controller ref and inv manager component are hooked as well

All I can suggest without seeing your project is stepping through it with a breakpoint and see if something got unhooked along the way.
Itā€™s calling the exact code for closing the container as it does when hitting E so itā€™s weird it works with one and not the other.
The ServerCloseContainer() function in the InventoryManagerComponent is where the container close gets sent back to the client.

hey im wondering if you are adding class or gender specific items to this once the Multiplayer TopDown Kit is out?

Your migration tutorial is good, though I wish you didnt skip the health and other minor parts to save time (for the sake of being clear from start to finish). However, I was able to get everything running by using your video. Good job!

The items are not meant to be for production. They are simple test items to showcase the different features. You can use them however you want, but I will mostly only add items to showcase new functionality.
For example I have added a simple gun in the next update to showcase how guns are setup vs melee weapons just to make it clear to people when they import skeletal meshes.

Here is something for you to look forward to tomorrow :smiley:

http://vanguardinteractive.com/storage/app/media/unreal/marketplace/arpginventorysystem/posts/dragdropfixed.gif

Dragging back and forth like a madman is also fixed in the update.

I think he ment functionality wise rather than meshes, in other context will you be adding in item classes which can only be equipped for the character class your playing, a example would be wizard hat can only be equipped by a wizard and so on, but leaving the freedom like you have opens up the ability to build your character how you want.

Version 1.1 - February 1st 2016
------- Update Notes -------

Art:

  • Updated Sockets on SK_Mannequin_Skeleton to support changed weapon asset rotation.
    Changed MainHand - Location(-12, 4, 1.5) Rotation (8, 32, 96) - OffHand Socket - Location(12, -7.5, 0) Rotation (-164, 32, 86)
  • Added Prototype Rifle Weapon Item
    New Assets: SK_Weapon_Rifle_Assault, SM_Weapon_Rifle_Assault, ICON_Weapon_Rifle_Assault
  • Updated Melee weapons and shield skeletal meshes with new rotation

Inventory:

  • Changed Item Amount & MaxStackSize from BYTE to INT
    Note: Changes where made in the following classes to support these struct changes
    [spoiler]
    [Structs Changed]
    InventoryItem
    Item
    ItemInformation
    ToolTipInfo

    [Components]
    InventoryManagerComponent

    • Functions: SetItemAmount(), AddToItemAmount(), TryAddItemToInventory()
    • Macros: ItemAmount, ItemMaxStackSize, ItemFreeStackSpace, ItemToToolTip, ItemToItemInfo, ItemToWorldItem

    [Usables]
    World_Actor

    • Functions: UpdateItemAmount()
    • Variables: Amount changed to INT

    [Loot_Actor]

    • Functions: GetRanomLootItems()

    [UI]
    Container_Slot

    • Functions: Get_Amount_Text(), Get_Name_Text()
      Inventory_Slot
    • Functions: Get_Amount_Text()
      ToolTip
    • Functions: Get_StackSize_Text

    [Demo]
    NPC

    • Functions: LoadNPCEquipmentAndItems()
      Muppet
    • Functions: GetRandomLootItems()
      [/spoiler]
      User Interface:
      Note: Pretty much every UMG blueprint had a small change.
  • Fixed Drag and Drop of widgets sometimes hiding widget on drop.

  • Updated Renamed Backpack to Inventory and Character to Equipment for better consistency

  • Fixed Sticky ToolTip Issue and improved the mouse hover logic for Inventory/Container Slots.
    Note: Made a few changes in the Inventory Manager Component
    [spoiler]
    [InventoryManagerComponent]

    • Renamed ShowToolTip to SetToolTip
    • Renamed HideToolTip to ClearToolTip
    • Added Logic To CloseInventoryWindow(), CloseEquipmentWindow(), CloseContainerWindow() to clear slot hover status on Window Close
      [/spoiler]

http://vanguardinteractive.com/storage/app/media/unreal/marketplace/arpginventorysystem/posts/gunpromo.gif

Epic has the update and it should be released sometime during EST work hours today.

Sorry that is exactly what I meant to say.

also lets say for the prototype rifle, when equipping it is there going to be an example of it taking 2 slots in the UI inventory. Like the main and off hand or it it just using the main hand slot?