JCInventory, Grid based jigsaw Inventory for your projects

Hey, thanks. I was doing a similar implemetation of this. (Is a little different because the inventory code i have is a little different too), are you releasing an update soon?
I want to know what did you do with the linetraces. Are you using the survivalgame linestraces, the inventory Linetraces or a combiantion of both?
I ask this because i think you didn’t mention this on your videos.

Thanks again =)

Hey there, im using the survival game line trace. JcInventory’s pawn does come with a simple line trace to get going, but theres really no reason to stick with it. Especially for a third person style game.
Because JcInventoryitem is a child of AUseableActor it will behave the same as the items already inside the world (the cupcake, the bomb, etc). This is why when we click ‘E’ on one of the Jcinventoryitems it also is removed from the game as the C++ code handles that.
All we needed to do was make a BlueprintImplementableEvent that would tell the item to add to the JcInventoryCore.

As for an update, probably not till theres a need for it. Aesthetic changes like my third person example are nice to have, but i wont encourage people to do a project upgrade just to get them. I think when 4.9 comes out i will make the needed changes to the system and then update it on the market for future users (and make videos of the bug fixes for existing).

Great to hear! I really don’t plan to “upgrade” again. Also good job with the new tutorial, though I just skipped through it within a minute :stuck_out_tongue:

Hi,

Having some issues with using attributes at runtime, I’d love some examples of how this should be done.

's what I’m doing:

Write:


Read:


Only getting zeros from that print no matter what value gets piped in. So either this is wrong or the BP struct bug has broken something in JCcore that I missed. I’m on Engineversion 4.8.2.

Hey DYJ, you need to set the item data after you ‘get item data’/ that get item data does not pass by reference so you need to get item data and make it a local variable, then set the attributes of that local itemdata then set the local itemdata to the items itemdata.

The system you look to be making sounds good!

If only it was that easy.

Actually setting the itemdata (derp) certainly helps but doesn’t solve the persistence issue, taking the gun out of the primary slot and dropping it should be handled entirely by JCinventory and as such ought to work, yet it doesn’t.

System is looking awesome DYJ,
Not sure what exactly your having problems with though? When you drop the gun onto the screen a JcInventoryItem will be spawned and its attributes will be overridden- is there an issue with that part of the inventory? I don’t know what i am looking at in your video i’m afraid, can you provide a few more details?

Yes exactly, when you drop the gun it get spawned, but it gets spawned with the default attribute values (the zeros that get printed to screen) instead of the values I set in the modification menu.

understood, this does work out of the box but changing around the attributes a lot without updating the function library’s to deal with the attributes might cause some problems in case by case situations, do you want to put a breakpoint on BeginPlay of the inventoryitem where the items itemdata-> attributes is replaced by the attributes and check its functioning properly? Thats where i would begin. also check you updated the function AttributeIsSet (or something along those lines) in the JcFunctionlibrary,
i will be on my work station on Wednesday to provide more support on attributes, so please stand by!

Also take note that when you drop it in the screen it is a new object, perhaps it is your debugger that is having issues? Rather then using the print text debugger do you want to check the itemdata by picking it up again, and then putting it in the top left corner of the inventory, then search for ‘playerinventory’ and have a look at the array itemslots in the details panel.

im still not entirely sure how you have your system rigged up, but i will make a best practices video regarding attributes!

hey. I’m trying to equip items to the secondary slot… it seems to snap in ok but when I’m trying to attach the mesh to the socket assigned it looks like the check item details by slot is always coming back false. I checked your demo level and it looks like you dont have any secondary items so I can’t test if it was working originally… Any ideas why it wouldnt detect an item there even though there is? I haven’t changed any of that code on the original system… it always seems to detect all the primary equips as being there.

Thanks

http://thankstips.com/uploads/ue4/jcinventory/secondary.png

Ensure that in the Playequiptentwindow widget the slot is set to secondary, not primary- even better do a search for the playerinventory at run time and check its equip slots and make sure it has a secondary slot. I will look into it on Wednesday morning and report back, but it has been working fine for me in the C++ Survival series, i will make sure its not an issue on the market place version as well.

Edit: Investigated, it was in fact a issue with the system.
The fix is very easy, just open JcInventoryLibrary and then open the function GetDetailsOfEquiptSlotWithSlotType, then change the > after result to >=
All done!
ef5c382c09d8c54766b69ddd82d68720a78ceac5.jpeg
Thanks again thankstipscom.

Hey guys,
As i said i would do, is a quick guide to Attributes.

https://.youtube.com/watch?v=F7-UYRVgHR8

If you have any questions, let me know!

Your video is private. :frowning:

In case anybody else wonders why he doesn’t have this function, it was apparently added with the proto hands update. If you don’t have it, theres a very similar function called FindDetailsOfEquipSlotWithName I’m not sure if it needs the fix too. Also theres another function in the JCPlayerInventory “GetFirstSlotOfTypeDetails” which literally does the same except for not reporting whether it did or didn’t found a slot. Since I’m using the later I wonder if it does need a fix also (the >= and -1 node look strange aswell).

The intention was to take inspiration from the Find Substring node in blueprints! Give me some time to respond AlexW88 (also, solid spotting), but if you have not noticed unusual behavior it should be fine (naturally i will test this as soon as i am psychically able!) I will try to return to my office tomorrow to confirm- its frustrating because i only keep a small laptop in my home in order to try and manage this hobby, but at times like this its very stressful.
Also, the video has been made public! Thanks Youtube!

Is the email on the marketplace page still active? I emailed with a question 3 days ago and have not recieved any response

Hey there tamaster92, i dont have any emails on the 26th regarding jcinventory but the email is still valid- so you might want to try and send it again. Or just send me a PM via the forum, it is my preferred method so i can link your name to a forum face.

Hey thanks man. Didn’t get a notification of reply so haven’t checked back until now. That fixed worked for using the slot change.
Theres also a similar one in GetDetailsOfEquiptSlotWithName if you want to use that function too.

How would i go about swapping the weapon static meshes to skeletal meshes? i have weapons with animations but cant use them due to the system using static ones…

Do you already have this working on your own? The static mesh example isn’t meant to be a solution its meant to give you a basic idea of how you could do things. It’s not really an equip system, its inv management right.
I’d say, first try and set it up where when you press a key, you get the swap happening the way you want. Then integrate that function into what happens when an equip slot change occurs