Announcement

Collapse
No announcement yet.

Action RPG Inventory System

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

  • replied
    Hey guys still having trouble when adding new items to the Inventory and tooltipinfo structs....


    its a super big hassle each time I add a new variable... am I the only one having this issue?

    Upgraded to 4.12.5 but Still having trouble with adding new variables to InventoryItems and Tooltipitems structs...

    if I add a new variable such as "price" to the struct and then compile and run... it works great... but if I try to package the game... then I get these errors.



    Code:
    MainFrameActions: Packaging (Windows (32-bit)): UE4Editor-Cmd: [2016.08.01-14.20.07:777][ 0]LogProperty:Error: UStructProperty::Serialize Loading: Property 'StructProperty /Game/InventorySystem/Blueprints/Components/InventoryComponent.InventoryComponent_C:LoadInventoryItems.InventoryItems.InventoryItem
    MainFrameActions: Packaging (Windows (32-bit)): s'. Unknown structure.
    MainFrameActions: Packaging (Windows (32-bit)): UE4Editor-Cmd: [2016.08.01-14.20.07:779][ 0]LogProperty:Error: UStructProperty::Serialize Loading: Property 'StructProperty /Game/InventorySystem/Blueprints/Components/InventoryComponent.InventoryComponent_C:IncreaseInventorySize.Temp_struct_Variable'. Un
    MainFrameActions: Packaging (Windows (32-bit)): known structure.
    MainFrameActions: Packaging (Windows (32-bit)): UE4Editor-Cmd: [2016.08.01-14.20.07:779][ 0]LogProperty:Error: UStructProperty::Serialize Loading: Property 'StructProperty /Game/InventorySystem/Blueprints/Components/InventoryComponent.InventoryComponent_C:GetInventoryItemCount.CallFunc_Array_Get_Item'.
    MainFrameActions: Packaging (Windows (32-bit)): Unknown structure.
    MainFrameActions: Packaging (Windows (32-bit)): UE4Editor-Cmd: [2016.08.01-14.20.07:780][ 0]LogProperty:Error: UStructProperty::Serialize Loading: Property 'StructProperty /Game/InventorySystem/Blueprints/Components/InventoryComponent.InventoryComponent_C:GetEmptyInventorySpace.CallFunc_Array_Get_Item'
    MainFrameActions: Packaging (Windows (32-bit)): . Unknown structure.
    MainFrameActions: Packaging (Windows (32-bit)): UE4Editor-Cmd: [2016.08.01-14.20.07:781][ 0]LogProperty:Error: UStructProperty::Serialize Loading: Property 'StructProperty /Game/InventorySystem/Blueprints/Components/InventoryComponent.InventoryComponent_C:ClearInventoryItem.Temp_struct_Variable'. Unkno
    MainFrameActions: Packaging (Windows (32-bit)): wn structure.
    MainFrameActions: Packaging (Windows (32-bit)): UE4Editor-Cmd: [2016.08.01-14.20.07:781][ 0]LogProperty:Error: UStructProperty::Serialize Loading: Property 'StructProperty /Game/InventorySystem/Blueprints/Components/InventoryComponent.InventoryComponent_C:SetInventoryItem.InventoryItem'. Unknown struct
    MainFrameActions: Packaging (Windows (32-bit)): ure.
    MainFrameActions: Packaging (Windows (32-bit)): UE4Editor-Cmd: [2016.08.01-14.20.07:782][ 0]LogProperty:Error: UStructProperty::Serialize Loading: Property 'StructProperty /Game/InventorySystem/Blueprints/Components/InventoryComponent.InventoryComponent_C:GetInventoryItem.InventoryItem'. Unknown struct
    MainFrameActions: Packaging (Windows (32-bit)): ure.
    MainFrameActions: Packaging (Windows (32-bit)): UE4Editor-Cmd: [2016.08.01-14.20.07:783][ 0]LogProperty:Error: UStructProperty::Serialize Loading: Property 'StructProperty /Game/InventorySystem/Blueprints/Components/InventoryComponent.InventoryComponent_C:GetInventoryItem.CallFunc_Array_Get_Item'. Unkn
    MainFrameActions: Packaging (Windows (32-bit)): own structure.
    MainFrameActions: Packaging (Windows (32-bit)): UE4Editor-Cmd: [2016.08.01-14.20.07:784][ 0]LogProperty:Error: UStructProperty::Serialize Loading: Property 'StructProperty /Game/InventorySystem/Blueprints/Components/InventoryComponent.InventoryComponent_C:InitInventory.Temp_struct_Variable'. Unknown st
    MainFrameActions: Packaging (Windows (32-bit)): ructure.

    I fixed it previously by setting Inventory variable to a bool(or anything else) and then switching it back to inventoryitems struct and relinking all the nodes

    but obviously that is a lot of work to do each time I want to add a new var...expecially since I have to do it all over again for the "tooltipinfo" struct also

    Someone mentioned simply "recompiling all the functions" that use those structs... but that doesn't seem to be working for me (unless I am doing it wrong)

    I am doing a search for "InventoryItems" struct variable and then re-compiling each Blueprint that has that variable in it (even though it already has a Green checkmark as if it's already compliled - so not sure if that's actually re-compiling the function)

    Leave a comment:


  • replied
    Originally posted by phantom530 View Post
    Yeah that's the problem. I don't know how. Thanks for the reply btw.
    There is a tutorial on the video channel for generating thumbnails.

    Leave a comment:


  • replied
    Originally posted by Pirate View Post
    It looks like in newer versions of the engine it is just auto generating thumbnails now so this shouldn't be needed. You'll want to just use the thumbnail maker just for creating UI Icons for your items.
    Yeah that's the problem. I don't know how. Thanks for the reply btw.

    Leave a comment:


  • replied
    Originally posted by phantom530 View Post
    [MENTION=39476]Pirate[/MENTION] Could I have some help with the icons? When I follow the tutorial, I do not get the "capture thumbnail" option.
    It looks like in newer versions of the engine it is just auto generating thumbnails now so this shouldn't be needed. You'll want to just use the thumbnail maker just for creating UI Icons for your items.

    Leave a comment:


  • replied
    Originally posted by Pirate View Post
    Can you send me a support email and we can cover more topics in depth. I'll also be available this weekend to skype for a bit if you'd like to pick my brain.

    I would really appreciate any of your time. I'll send you an email within the next day.


    Originally posted by Pirate View Post
    I didn't notice it before my phone viewing the forums makes it hard to see images. You don't need the IMC cast. Just plug it directly into the TryToAddItem target node.


    Also does your print string trigger? And does it say Server: or Client#: before your string you are outputting?

    I revised my attempts on this entirely, based on the logic used to load inventories on initialisation.





    So, this works. When called, this event will add items/currency and I can customise it with a list of what I want to add, and even using a filter to make multiple lists and choose which one to use or use a variable to filter - like class specific items even.


    For the print string, it does not say either "Server:" or "Client#:" before the string, just the string itself.
    Attached Files

    Leave a comment:


  • replied
    Originally posted by SlightlyLive View Post
    [IMG]http://i.imgur.com/nDvgv5d.png[/I okMG]
    I'm definitely not doing this right. =/ How do I make this work?
    I didn't notice it before my phone viewing the forums makes it hard to see images. You don't need the IMC cast. Just plug it directly into the TryToAddItem target node.

    Also does your print string trigger? And does it say Server: or Client#: before your string you are outputting?

    Leave a comment:


  • replied
    Originally posted by SlightlyLive View Post
    Yes, that's the intent.



    How would I go about doing any of this? These statements are really vague. I tried looking at the inventory widget and I don't see or understand how I could even loop or filter anything. "Set up logic here" I mean? What logic? Sorry, I don't understand how to go about following this advice, solid as it clearly is.
    Can you send me a support email and we can cover more topics in depth. I'll also be available this weekend to skype for a bit if you'd like to pick my brain.

    Leave a comment:


  • replied
    Originally posted by SlightlyLive View Post
    Yes, that's the intent.



    How would I go about doing any of this? These statements are really vague. I tried looking at the inventory widget and I don't see or understand how I could even loop or filter anything. "Set up logic here" I mean? What logic? Sorry, I don't understand how to go about following this advice, solid as it clearly is.
    Why are you casting to the inventory component from the inventory component? you need to cast to the player controller then get the IMC from there if accessing from actor.

    In the Inventory hud theres an array of inventory slots widget these are is what you'll need to loop though to do your checks.

    Leave a comment:


  • replied
    [MENTION=39476]Pirate[/MENTION] Could I have some help with the icons? When I follow the tutorial, I do not get the "capture thumbnail" option.

    Leave a comment:


  • replied
    Okay so i testing now a trace channel, and then on success apply damage. Next i will try to make a trace from a weapon skeleton socket, with a tiny continuously sphere trace. The thing is that i cannot use a target based damage mechanic, since the player can hit without targeting.



    Click image for larger version

Name:	idea.jpg
Views:	1
Size:	56.6 KB
ID:	1118079

    Update
    Now with weapon socket trace, so not sure how good this approach is, still curious how others do melee weapons with skeletal meshes

    Last edited by unit23; 11-08-2016, 04:47 PM.

    Leave a comment:


  • replied
    Is there any recommendation for implementing functional melee weapons? Right now i would attach a collider on AddItem if Main-Hand slot is true, but scaling and positioning seems difficult, and you cannot add colliders directly from within Skeletal Mesh editor?

    Thus, I thought to use static meshes for the main hand at least, positioning via hand/gun socket on the base skeleton.

    Any ideas, would appreciate some input before i begin to tackle this. Thanks

    Leave a comment:


  • replied
    Originally posted by Pirate View Post
    Those are just warnings that happen on initialization of the Inventory array. In 4.12 (maybe 4.11) they added a bunch of new warnings and I believe that's when they started showing up. It's nothing to worry about it's just a warning when you are dynamically adding to an array. I suspect it will be removed as a warning again in future engine updates.
    Thanks for clarify that, I was worried it will slow my game.

    Leave a comment:


  • replied
    Originally posted by Pirate View Post
    Are you running your logic as the server?
    Yes, that's the intent.

    Originally posted by Pirate View Post
    Merchants and vending machines just involve setting up a UMG UI window and logic which should extend off OnUsed interface on ether the NPC or world actor.


    Creating a filter is simple do it within the inventory widget and simply loop your inventory items and match your filter name with the item type of each item collapsing and showing the items matching.
    How would I go about doing any of this? These statements are really vague. I tried looking at the inventory widget and I don't see or understand how I could even loop or filter anything. "Set up logic here" I mean? What logic? Sorry, I don't understand how to go about following this advice, solid as it clearly is.
    Last edited by SlightlyLive; 11-07-2016, 07:41 PM.

    Leave a comment:


  • replied
    Originally posted by blackdude View Post
    I don't know if it's a problem or not but every time I get a crash report it filled with this errors



    As you can see I add a lot more equipment slots but I have no idea why this error appear.
    All slots work fine by the way.
    Those are just warnings that happen on initialization of the Inventory array. In 4.12 (maybe 4.11) they added a bunch of new warnings and I believe that's when they started showing up. It's nothing to worry about it's just a warning when you are dynamically adding to an array. I suspect it will be removed as a warning again in future engine updates.

    Leave a comment:


  • replied
    Originally posted by SlightlyLive View Post

    I'm definitely not doing this right. =/ How do I make this work?
    Are you running your logic as the server?

    Leave a comment:

Working...
X