Announcement

Collapse
No announcement yet.

Action RPG Inventory System

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • replied
    Quick question, once again:

    All usable items are child of World_Actor (well, at least the swords/cardboard items, shield). I made a struct with World_Actor Class Reference, so I can use this later on in a Spawn Actor from Class. The thing is, I also made a variable in the NPC so I can manually add which items to drop (to the ground) when the mob dies. If I do a Spawn Actor From Class I can see all the items just fine. However, if I go to the NPC variable (or in the struct) it will only show up the Shield, Sword(s) and Axe (4 items). I kinda also crashed when I tried to spawn it calling the SpawnActor From Class and in the class input putting the World_actor class reference from the NPC variable.
    Side note: if I open the, for example, "Cardboard Boots" and compile->save, it will show up on the variable/struct (so that I could pick it), but still crashing

    So, Im just wondering if there is a difference between the Axe/Sword(s)/Shield and the Equipment Armors in general :P if something changes on the inside so I can work my way around

    Or

    How would you recommend me to store the actor(s) (item) references in a struct so I can access them, to spawn it when a npc dies :P (drop)
    Last edited by Namesis; 12-28-2016, 08:51 PM.

    Leave a comment:


  • replied
    Hello, my friend. After packpage my project, ContainerWidget, InventoryWidget, and EquipmentWidget - don't visible. But logic is work! Help please.
    In Editor all good.
    Thanks
    Last edited by DiziART; 12-28-2016, 07:17 PM.

    Leave a comment:


  • replied
    Originally posted by unit23 View Post
    Still looking into this, the equipment window also does not show icons any longer. Sometimes i get this error as well (closing the window is np). Any ideas are welcome.

    Are the slots showing a REINST when hovered over in UMG?

    Leave a comment:


  • replied
    Originally posted by unit23 View Post
    Getting this error...
    Still looking into this, the equipment window also does not show icons any longer. Sometimes i get this error as well (closing the window is np). Any ideas are welcome.

    Error Blueprint Runtime Error: Attempted to access missing property. If this is a packaged/cooked build, are you attempting to use an editor-only property? from function: 'CloseEquipmentWindow' from node: Set IsSlotHovered in graph: CloseEquipmentWindow in object: InventoryManagerComponent with description: Attempted to access missing property. If this is a packaged/cooked build, are you attempting to use an editor-only property?
    Error Blueprint Runtime Error: Attempted to access missing property. If this is a packaged/cooked build, are you attempting to use an editor-only property? from function: 'CloseEquipmentWindow' from node: Set IsRightMouseButtonDown in graph: CloseEquipmentWindow in object: InventoryManagerComponent with description: Attempted to access missing property. If this is a packaged/cooked build, are you attempting to use an editor-only property?

    Leave a comment:


  • replied
    Originally posted by Emrehan View Post
    After working with this for a long time, I could create a crafting system. I did a few tests and I didn't see any problems. I don't understand much about the blueprints so I could have kept the codes too long but I don't think it will make a difference for the player.

    I had a good day I guess.

    That's not a bad start i recommend creating your crafting logic in its own component and just pulling from it from your player controller, try making a data table for your crafting list like mine below.



    Here an example of comparing item stats using a tooltip.

    Leave a comment:


  • replied
    Getting this error, recent changes include upgrading to 1.7 and adding a horizontal box with some buttons, to the hotbar widget, without calling any inventory functions or other informations. There is a cast to the player controller, and to the HUD reference. I could move the additions to their own widget, but i don't think it is related to that error, which only recently begun to popup. Still investigating.

    Error Blueprint Runtime Error: Attempted to assign to None from function: 'ClearInventorySlotItems' from node: Set ItemInformation in graph: ClearInventorySlotItems in object: InventoryManagerComponent with description: Attempted to assign to None
    Error Blueprint Runtime Error: Attempted to access missing property. If this is a packaged/cooked build, are you attempting to use an editor-only property? from function: 'ClearInventorySlotItems' from node: Set ItemInformation in graph: ClearInventorySlotItems in object: InventoryManagerComponent with description: Attempted to access missing property. If this is a packaged/cooked build, are you attempting to use an editor-only property?
    Last edited by unit23; 12-27-2016, 08:37 AM.

    Leave a comment:


  • replied
    After working with this for a long time, I could create a crafting system. I did a few tests and I didn't see any problems. I don't understand much about the blueprints so I could have kept the codes too long but I don't think it will make a difference for the player.

    It looks like this.
    Click image for larger version

Name:	firstpic.jpg
Views:	1
Size:	46.0 KB
ID:	1120602

    Click image for larger version

Name:	looklikethis.jpg
Views:	1
Size:	116.1 KB
ID:	1120603

    I had a good day I guess.

    Leave a comment:


  • replied
    Originally posted by Infyy View Post
    I solved my problem by removing my code and implementing the logic via a blueprint interface.
    So note: references inside child widgets are bad, use interfaces or event dispatchers
    Yes, this is why I had to add the blueprint interface because after 4.10 the blueprint compiler was getting stuffed up and giving reinst errors. If you are accessing information from a c++ class it should be fine to do things normally, but using an blueprint interface to access the data from blueprints was the workaround an engineer at epic told me to do.

    Leave a comment:


  • replied
    So after further investigation I found the reason for this bug, at least in my case. I added something to the InventorySlot Widget which allows me to display Tooltip Information based on the actual item in the inventory. Currently the system gets the tooltip data from the global item database, but as I am implementing an ammunition system the user shall see the current number of cartridges in his clip, not the initial number from the item database.

    Therefore I called the PlayerInventoryComponent of the current PlayerController and used the "GetInventoryItem" function for the currently hovered slot to get the ItemInformation from there, instead of the database. Somehow this bugs the references and something called "REINST" (there are many threads and answerhubs on this, just search for "umg widget REINST") appears.
    I solved my problem by removing my code and implementing the logic via a blueprint interface.
    So note: references inside child widgets are bad, use interfaces or event dispatchers

    Leave a comment:


  • replied
    Originally posted by Infyy View Post
    Has someone experienced anything similar? Or does someone have a clue what's happening here?
    Yes, i have the same bug, already tried adding IsValid node.

    Leave a comment:


  • replied
    hey guys, I'm having some really weird bug here.
    I quit the project last time with a fully functioning system. Then after opening the project again (without changing anything) there are many errors when playing.
    Click image for larger version

Name:	errorlog.PNG
Views:	1
Size:	224.3 KB
ID:	1120570

    full log
    Code:
    Error Blueprint Runtime Error: Attempted to access missing property. If this is a packaged/cooked build, are you attempting to use an editor-only property? from function: 'ExecuteUbergraph_InventoryLayout' from node: Set InventorySlots in graph: EventGraph in object: InventoryLayout with description: Attempted to access missing property. If this is a packaged/cooked build, are you attempting to use an editor-only property?
    Error Blueprint Runtime Error: Attempted to access missing property. If this is a packaged/cooked build, are you attempting to use an editor-only property? from function: 'ExecuteUbergraph_InventoryLayout' from node: Set InventorySlots in graph: EventGraph in object: InventoryLayout with description: Attempted to access missing property. If this is a packaged/cooked build, are you attempting to use an editor-only property?
    Error Blueprint Runtime Error: Attempted to access missing property. If this is a packaged/cooked build, are you attempting to use an editor-only property? from function: 'ExecuteUbergraph_InventoryLayout' from node: Set InventorySlots in graph: EventGraph in object: InventoryLayout with description: Attempted to access missing property. If this is a packaged/cooked build, are you attempting to use an editor-only property?
    Error Blueprint Runtime Error: Attempted to access missing property. If this is a packaged/cooked build, are you attempting to use an editor-only property? from function: 'ExecuteUbergraph_InventoryLayout' from node: Set InventorySlots in graph: EventGraph in object: InventoryLayout with description: Attempted to access missing property. If this is a packaged/cooked build, are you attempting to use an editor-only property?
    Error Blueprint Runtime Error: Attempted to access missing property. If this is a packaged/cooked build, are you attempting to use an editor-only property? from function: 'ExecuteUbergraph_InventoryLayout' from node: Set InventorySlots in graph: EventGraph in object: InventoryLayout with description: Attempted to access missing property. If this is a packaged/cooked build, are you attempting to use an editor-only property?
    Error Blueprint Runtime Error: Attempted to access missing property. If this is a packaged/cooked build, are you attempting to use an editor-only property? from function: 'ExecuteUbergraph_InventoryLayout' from node: Set InventorySlots in graph: EventGraph in object: InventoryLayout with description: Attempted to access missing property. If this is a packaged/cooked build, are you attempting to use an editor-only property?
    Error Blueprint Runtime Error: Attempted to access missing property. If this is a packaged/cooked build, are you attempting to use an editor-only property? from function: 'ExecuteUbergraph_InventoryLayout' from node: Set InventorySlots in graph: EventGraph in object: InventoryLayout with description: Attempted to access missing property. If this is a packaged/cooked build, are you attempting to use an editor-only property?
    Error Blueprint Runtime Error: Attempted to access missing property. If this is a packaged/cooked build, are you attempting to use an editor-only property? from function: 'ExecuteUbergraph_InventoryLayout' from node: Set InventorySlots in graph: EventGraph in object: InventoryLayout with description: Attempted to access missing property. If this is a packaged/cooked build, are you attempting to use an editor-only property?
    Error Blueprint Runtime Error: Attempted to access missing property. If this is a packaged/cooked build, are you attempting to use an editor-only property? from function: 'ExecuteUbergraph_InventoryLayout' from node: Set InventorySlots in graph: EventGraph in object: InventoryLayout with description: Attempted to access missing property. If this is a packaged/cooked build, are you attempting to use an editor-only property?
    Error Blueprint Runtime Error: Attempted to access missing property. If this is a packaged/cooked build, are you attempting to use an editor-only property? from function: 'ExecuteUbergraph_InventoryLayout' from node: Set InventorySlots in graph: EventGraph in object: InventoryLayout with description: Attempted to access missing property. If this is a packaged/cooked build, are you attempting to use an editor-only property?
    Error Blueprint Runtime Error: Attempted to access missing property. If this is a packaged/cooked build, are you attempting to use an editor-only property? from function: 'ExecuteUbergraph_InventoryLayout' from node: Set InventorySlots in graph: EventGraph in object: InventoryLayout with description: Attempted to access missing property. If this is a packaged/cooked build, are you attempting to use an editor-only property?
    Error Blueprint Runtime Error: Attempted to access missing property. If this is a packaged/cooked build, are you attempting to use an editor-only property? from function: 'ExecuteUbergraph_InventoryLayout' from node: Set InventorySlots in graph: EventGraph in object: InventoryLayout with description: Attempted to access missing property. If this is a packaged/cooked build, are you attempting to use an editor-only property?
    Error Blueprint Runtime Error: Attempted to access missing property. If this is a packaged/cooked build, are you attempting to use an editor-only property? from function: 'ExecuteUbergraph_InventoryLayout' from node: Set InventorySlots in graph: EventGraph in object: InventoryLayout with description: Attempted to access missing property. If this is a packaged/cooked build, are you attempting to use an editor-only property?
    Error Blueprint Runtime Error: Attempted to access missing property. If this is a packaged/cooked build, are you attempting to use an editor-only property? from function: 'ExecuteUbergraph_InventoryLayout' from node: Set InventorySlots in graph: EventGraph in object: InventoryLayout with description: Attempted to access missing property. If this is a packaged/cooked build, are you attempting to use an editor-only property?
    Info Play in editor start time for /Game/InventorySystem/Maps/UEDPIE_0_InventoryExampleMap 0.567
    Error Blueprint Runtime Error: Accessed None trying to read property CallFunc_Array_Get_Item from function: 'ClearInventorySlotItems' from node: Set ItemInformation in graph: ClearInventorySlotItems in object: InventoryManagerComponent with description: Accessed None trying to read property CallFunc_Array_Get_Item
    Error Blueprint Runtime Error: Attempted to assign to None from function: 'ClearInventorySlotItems' from node: Set ItemInformation in graph: ClearInventorySlotItems in object: InventoryManagerComponent with description: Attempted to assign to None
    Error Blueprint Runtime Error: Accessed None trying to read property CallFunc_Array_Get_Item from function: 'ClearInventorySlotItems' from node: Set ItemInformation in graph: ClearInventorySlotItems in object: InventoryManagerComponent with description: Accessed None trying to read property CallFunc_Array_Get_Item
    Error Blueprint Runtime Error: Attempted to assign to None from function: 'ClearInventorySlotItems' from node: Set ItemInformation in graph: ClearInventorySlotItems in object: InventoryManagerComponent with description: Attempted to assign to None
    Error Blueprint Runtime Error: Accessed None trying to read property CallFunc_Array_Get_Item from function: 'ClearInventorySlotItems' from node: Set ItemInformation in graph: ClearInventorySlotItems in object: InventoryManagerComponent with description: Accessed None trying to read property CallFunc_Array_Get_Item
    Error Blueprint Runtime Error: Attempted to assign to None from function: 'ClearInventorySlotItems' from node: Set ItemInformation in graph: ClearInventorySlotItems in object: InventoryManagerComponent with description: Attempted to assign to None
    Error Blueprint Runtime Error: Accessed None trying to read property CallFunc_Array_Get_Item from function: 'ClearInventorySlotItems' from node: Set ItemInformation in graph: ClearInventorySlotItems in object: InventoryManagerComponent with description: Accessed None trying to read property CallFunc_Array_Get_Item
    Error Blueprint Runtime Error: Attempted to assign to None from function: 'ClearInventorySlotItems' from node: Set ItemInformation in graph: ClearInventorySlotItems in object: InventoryManagerComponent with description: Attempted to assign to None
    Error Blueprint Runtime Error: Accessed None trying to read property CallFunc_Array_Get_Item from function: 'ClearInventorySlotItems' from node: Set ItemInformation in graph: ClearInventorySlotItems in object: InventoryManagerComponent with description: Accessed None trying to read property CallFunc_Array_Get_Item
    Error Blueprint Runtime Error: Attempted to assign to None from function: 'ClearInventorySlotItems' from node: Set ItemInformation in graph: ClearInventorySlotItems in object: InventoryManagerComponent with description: Attempted to assign to None
    Error Blueprint Runtime Error: Accessed None trying to read property CallFunc_Array_Get_Item from function: 'ClearInventorySlotItems' from node: Set ItemInformation in graph: ClearInventorySlotItems in object: InventoryManagerComponent with description: Accessed None trying to read property CallFunc_Array_Get_Item
    Error Blueprint Runtime Error: Attempted to assign to None from function: 'ClearInventorySlotItems' from node: Set ItemInformation in graph: ClearInventorySlotItems in object: InventoryManagerComponent with description: Attempted to assign to None
    Error Blueprint Runtime Error: Accessed None trying to read property CallFunc_Array_Get_Item from function: 'ClearInventorySlotItems' from node: Set ItemInformation in graph: ClearInventorySlotItems in object: InventoryManagerComponent with description: Accessed None trying to read property CallFunc_Array_Get_Item
    Error Blueprint Runtime Error: Attempted to assign to None from function: 'ClearInventorySlotItems' from node: Set ItemInformation in graph: ClearInventorySlotItems in object: InventoryManagerComponent with description: Attempted to assign to None
    Error Blueprint Runtime Error: Accessed None trying to read property CallFunc_Array_Get_Item from function: 'ClearInventorySlotItems' from node: Set ItemInformation in graph: ClearInventorySlotItems in object: InventoryManagerComponent with description: Accessed None trying to read property CallFunc_Array_Get_Item
    Error Blueprint Runtime Error: Attempted to assign to None from function: 'ClearInventorySlotItems' from node: Set ItemInformation in graph: ClearInventorySlotItems in object: InventoryManagerComponent with description: Attempted to assign to None
    Error Blueprint Runtime Error: Accessed None trying to read property CallFunc_Array_Get_Item from function: 'ClearInventorySlotItems' from node: Set ItemInformation in graph: ClearInventorySlotItems in object: InventoryManagerComponent with description: Accessed None trying to read property CallFunc_Array_Get_Item
    Error Blueprint Runtime Error: Attempted to assign to None from function: 'ClearInventorySlotItems' from node: Set ItemInformation in graph: ClearInventorySlotItems in object: InventoryManagerComponent with description: Attempted to assign to None
    Error Blueprint Runtime Error: Accessed None trying to read property CallFunc_Array_Get_Item from function: 'ClearInventorySlotItems' from node: Set ItemInformation in graph: ClearInventorySlotItems in object: InventoryManagerComponent with description: Accessed None trying to read property CallFunc_Array_Get_Item
    Error Blueprint Runtime Error: Attempted to assign to None from function: 'ClearInventorySlotItems' from node: Set ItemInformation in graph: ClearInventorySlotItems in object: InventoryManagerComponent with description: Attempted to assign to None
    Error Blueprint Runtime Error: Accessed None trying to read property CallFunc_Array_Get_Item from function: 'ClearInventorySlotItems' from node: Set ItemInformation in graph: ClearInventorySlotItems in object: InventoryManagerComponent with description: Accessed None trying to read property CallFunc_Array_Get_Item
    Error Blueprint Runtime Error: Attempted to assign to None from function: 'ClearInventorySlotItems' from node: Set ItemInformation in graph: ClearInventorySlotItems in object: InventoryManagerComponent with description: Attempted to assign to None
    Error Blueprint Runtime Error: Accessed None trying to read property CallFunc_Array_Get_Item from function: 'ClearInventorySlotItems' from node: Set ItemInformation in graph: ClearInventorySlotItems in object: InventoryManagerComponent with description: Accessed None trying to read property CallFunc_Array_Get_Item
    Error Blueprint Runtime Error: Attempted to assign to None from function: 'ClearInventorySlotItems' from node: Set ItemInformation in graph: ClearInventorySlotItems in object: InventoryManagerComponent with description: Attempted to assign to None
    Error Blueprint Runtime Error: Accessed None trying to read property CallFunc_Array_Get_Item from function: 'ClearInventorySlotItems' from node: Set ItemInformation in graph: ClearInventorySlotItems in object: InventoryManagerComponent with description: Accessed None trying to read property CallFunc_Array_Get_Item
    Error Blueprint Runtime Error: Attempted to assign to None from function: 'ClearInventorySlotItems' from node: Set ItemInformation in graph: ClearInventorySlotItems in object: InventoryManagerComponent with description: Attempted to assign to None
    Error Blueprint Runtime Error: Accessed None trying to read property CallFunc_Array_Get_Item from function: 'ClearInventorySlotItems' from node: Set ItemInformation in graph: ClearInventorySlotItems in object: InventoryManagerComponent with description: Accessed None trying to read property CallFunc_Array_Get_Item
    Error Blueprint Runtime Error: Attempted to assign to None from function: 'ClearInventorySlotItems' from node: Set ItemInformation in graph: ClearInventorySlotItems in object: InventoryManagerComponent with description: Attempted to assign to None
    Error Blueprint Runtime Error: Accessed None trying to read property CallFunc_Array_Get_Item from function: 'SetInventorySlotItem' from node: Set ItemInformation in graph: SetInventorySlotItem in object: InventoryManagerComponent with description: Accessed None trying to read property CallFunc_Array_Get_Item
    Error Blueprint Runtime Error: Attempted to assign to None from function: 'SetInventorySlotItem' from node: Set ItemInformation in graph: SetInventorySlotItem in object: InventoryManagerComponent with description: Attempted to assign to None
    Error Blueprint Runtime Error: Accessed None trying to read property CallFunc_Array_Get_Item from function: 'SetInventorySlotItem' from node: Set ItemInformation in graph: SetInventorySlotItem in object: InventoryManagerComponent with description: Accessed None trying to read property CallFunc_Array_Get_Item
    Error Blueprint Runtime Error: Attempted to assign to None from function: 'SetInventorySlotItem' from node: Set ItemInformation in graph: SetInventorySlotItem in object: InventoryManagerComponent with description: Attempted to assign to None
    Error Blueprint Runtime Error: Accessed None trying to read property CallFunc_Array_Get_Item from function: 'SetInventorySlotItem' from node: Set ItemInformation in graph: SetInventorySlotItem in object: InventoryManagerComponent with description: Accessed None trying to read property CallFunc_Array_Get_Item
    Error Blueprint Runtime Error: Attempted to assign to None from function: 'SetInventorySlotItem' from node: Set ItemInformation in graph: SetInventorySlotItem in object: InventoryManagerComponent with description: Attempted to assign to None
    Error Blueprint Runtime Error: Accessed None trying to read property CallFunc_Array_Get_Item from function: 'SetInventorySlotItem' from node: Set ItemInformation in graph: SetInventorySlotItem in object: InventoryManagerComponent with description: Accessed None trying to read property CallFunc_Array_Get_Item
    Error Blueprint Runtime Error: Attempted to assign to None from function: 'SetInventorySlotItem' from node: Set ItemInformation in graph: SetInventorySlotItem in object: InventoryManagerComponent with description: Attempted to assign to None
    In my InventoryLayout Widget the referenced Equipment Widget looks like this.
    Click image for larger version

Name:	inventorylayout.PNG
Views:	1
Size:	107.0 KB
ID:	1120571
    By deleting and adding the Equipment Widget again it looks normal again. When I change the 3 variables that reference the old (buged) Equipment Widget to the new Equipment Widget reference, my game works fine again.
    (The Equipment Widget is referenced 3 times: in the InventoryLayout Widget, and twice in the Open/Close Equipment Window function inside the InventoryManagerComponent).

    But my game just works until I restart the editor again, then I'm getting the same errors again.
    I already tried deleting Intermediate, Saved and DataCache folder, same problem.

    Has someone experienced anything similar? Or does someone have a clue what's happening here?
    Last edited by Infyy; 12-26-2016, 05:51 PM.

    Leave a comment:


  • replied
    Originally posted by Rhynedahll View Post
    Could this be the problem?
    Code:
    *Engine Bug Workaround Fix*
    - Set Master Pose node on EquipmentCharacter's MainHand and OffHand Skeletal meshes can cause some imported art to flicker and disappear when attached to sockets.
    Spoiler: 
    
    [EquipmentCharacter]
    - Simply remove the Set Master Pose node at the end of the logic in the OnRep_MainHandMesh() and OnRep_OffHandMesh() functions.
    (It's really not needed on skeletal meshes that get attached to a socket. It's for syncing meshes to the same animation BP so they animate in sync but never caused issues in earlier engine versions)
    Yes, I think it's what makes it flash and disappear for some people.

    Leave a comment:


  • replied
    Originally posted by unit23 View Post
    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
    Could this be the problem?
    Code:
    *Engine Bug Workaround Fix*
    - Set Master Pose node on EquipmentCharacter's MainHand and OffHand Skeletal meshes can cause some imported art to flicker and disappear when attached to sockets.
    Spoiler: 
    
    [EquipmentCharacter]
    - Simply remove the Set Master Pose node at the end of the logic in the OnRep_MainHandMesh() and OnRep_OffHandMesh() functions.
    (It's really not needed on skeletal meshes that get attached to a socket. It's for syncing meshes to the same animation BP so they animate in sync but never caused issues in earlier engine versions)

    Leave a comment:


  • replied
    Originally posted by Max Sabino View Post
    The inventory and equipment window can not be moved any more, how can I fix it?
    Originally posted by OverRated_AU View Post
    Window Drag has been disable until Epic fixes the UMG bug which breaks the inventory slots once the UI is dragged.
    Yes like overrated stated there is logic to toggle on and off the window drag in the widgets. When epic fixes their bug in 4.15 you can just set the default value to allow dragging by default. Or feel free to change the logic as dragging windows has nothing to do with the inventory system and this does not affect the drag and drop of items.


    If you read the patch notes it explains what logic was added to toggle the drag and also points towards the epic bug report on answer hub for the reasons why the drag is disabled currently. You are free to turn it back on but please understand with the current engine bug it will cause issues when testing and these bugs are not Inventory related. So it's better to just leave it off for now and continue to work on your project until the engine bug is fixed. You can reposition the default locations of windows by editing the UMG layout files.
    Last edited by Pirate; 12-24-2016, 09:31 AM.

    Leave a comment:


  • replied
    Originally posted by Max Sabino View Post
    The inventory and equipment window can not be moved any more, how can I fix it?
    Window Drag has been disable until Epic fixes the UMG bug which breaks the inventory slots once the UI is dragged.

    Leave a comment:

Working...
X