Glad to hear you got it working Axxi, i should have mentioned in the tutorial they need to be within the right window in the hierarchy.
The following is not so much related to the system but rather tips and tricks with unreal engine.
Yeah, blueprint structs. Very painful, one of the biggest culprits holding back blueprints. Although from my experience it was getting better, that being said i have not done any major restructures in 4.7. In 4.6 it would only break a two locations, and i thought that was pretty good. I also don’t use many break and make functions, that helps because it means that your function library might break but its easy to fix rather then all the breaks/makes all over your code base. As you say, hopefully 4.8, otherwise just make sure when you make changes- plan ahead so you don’t need to do it often/again.
Edit: Circular dependency problems should be fixed by 4.8, the system still uses interfaces because it needs to be possible to change out the pawn very easily.
Hmm I’ve loaded a backup several times and tried to add a new variable to the struct. While it’s not disconnecting each and every instance anymore its still disconnecting a unknown number of instances at unknown locations. I’d just wait for 4.8, but I rechecked the information about it, and after all it doesn’t look like this will be fixed with 4.8. You mention that it only broke at 2 locations with 4.6 - how did you knew which locations that were/ is there any way to find disconnected variable references/pins?
We’ve just got bit of a problem when running the UProject out of editor the drag functionality stops and the item zeros out to white square.
I have no idea whats causing this and seems to happen in a vanilla JCInventory project.
Screenshot attached.
An error also appears in the log
[2015.05.21-18.51.45:125] 0]LogLinker:Warning: CreateImport: Object ‘InventoryChangeDispatch__DelegateSignature’ isn’t imported, because its outer is a placeholder. Archive: ‘C:/Users/mitch/Documents/Unreal Projects/JCInventory/Content/JCInventory/WidGets/JCItemSHeet.uasset’
[2015.05.21-18.51.45:478] 0]LogLinker:Warning: CreateImport: Object ‘EquiptSlotChange__DelegateSignature’ isn’t imported, because its outer is a placeholder.
Archive: ‘C:/Users/mitch/Documents/Unreal Projects/JCInventory/Content/JCInventory/WidGets/JCPlayerEquiptSlot.uasset’
How can I differentiate between weapons that are put into the primary weapon slot? I want to add specific functionality to the rifle to make it automatic, but it appears all the shooting and weapon specific stuff is handled in the player controller blueprint.
You will have to implement your own logic for that, personally I have the weapon/item functionality on the item itself. I store information about which object is attached at which slot at the player character and then pass the input to the corresponding item which then handles the logic. There are of course countless approaches for this. Imho the most important part is to store a reference to the equipped Item.
A very simple implementation for example would be to just store the pickup class of the equipped Item and then run branches after the Fire Weapon Input which compare the class e.g. class = machinegun > run machinegun logic etc… If you have more types, you may want to use a enumeration instead so you can use the switch on enum node which is more clean than running 10 branches in a row.
Hey **SIG **! I replied to your email! I was able to replicate the bug. To fix it i must research how launching the project from right click launch project is different from PIE and BUILD. I hope this does not effect your workflow too much while i get it fixed. For now do your testing inside PIE and rest assured it will build 100% Ok! Also, i just wanted to confirm, when you play from a new editor window it works fine right? Its just playing the game without the Unreal editor loaded?
@Shirk, it is as AlexW88 says. The system was intended to work on many different types of games so there’s no logic set up to get in the way.
For a really good example of setting up weapons check out A new, community-hosted Unreal Engine Wiki - Announcements - Epic Developer Community Forums it should be easy enough to read the C++ even if your not familiar with it and get some good ideas on how to set up the system in blueprint.
Also, check out my video
https://.youtube.com/watch?v=NI_ak-e8gWM to get an idea of where to put your equip logic.
Important news
There is going to be an update to JCInventory soon, it is not a major update. If you are planning to upgrade, don’t upgrade the coming build, but rather be patient as i am working on something much better.
I am working on a big update based on all the feedback i have gotten. I want to make the system more stable (Well of course!) as well as making the current features much easier to implement. I hope to include a few more out of the box examples as well. This is possible only by the vasts amounts of feedback everyone has given me. I have been able to identify what parts of the system are confusing but also what needs to be easier to extend. I expect this will come in about a month.
I will photograph the major bug fixes so that people who don’t want to upgrade can increase there stability, but the new/streamlined features will only be in the next update after this one. I wish there was a better way to update blueprints!
hey guys, im not sure 100% this will help with the struct issue in UE4 4.7, but are my experiences with it and how i solved them,
https://.youtube.com/watch?v=ftoIKUW-lJk
Would love feedback on this. As i said in the video, this seems pretty consistent. Why those nodes specifically is beyond me, but maybe this will help those having issue with pin disconnected after editing structs.
Oh I didn’t expect new input for this case anymore. Great video, straight forward, apparently no miracle way of finding disconnected pins. While I use different mechanics to pass in my variables (for now), this surely will be helpful for many people who want to use attributes.
It is done! I just bought this after long watching and waiting! Im going to test this right know!
EDIT: I found an error already D:
When i open the JCcharacter Blueprint, compile and save it without changing anything - then - containers dont work anymore. The container HUD just disappears 1 sec after opening.
EDIT2: So for some reason it sometimes works… and sometimes not. After i deleted the other startpositions it works better… Why is it so unstable at opening containers?
EDIT3: Ok the next bug is pretty simple and funny: Go with the mouse on any item to see the description. Leaf the mouse there and instantly close the inventory. Description stays :3
EDIT4: Where can i find a “range” cause the arms of the players must be about 4 meters long He can grab things like miles away!
Sounds like you use the Demo Character. Just go to the JCInventoryCharacter and open the Eyes Ray Trace Function. At the Vector*Float node, just change the float to what ever distance you like.
@Kanizitas Sounds like the container range is too small, there is a public variable on the container to indicate the range the player can open it at. If its not this I’m unsure, i was unable to replicate that issue on my end (following your instructions). As for the description staying open, that is a bug! That bug is already featured on this forum, i have since fixed it and it has been uploaded to epic. I will supply a image of how to correct it on the wiki!
and AlexW88 is correct about the range! i think default is set to 400? 4 meters.
Thx for the qucik answer :3 the Range thingy works and i have finally add the Data to my project. But the Range is really mugs me… Where can we set the player arms to 1m XD 4 Or maybe we have to discribe the raytrace more. I keep an eye on this and post u later!
Great system so far! I haven’t fully implemented everything I want yet, but I do notice some (mostly user experience/audio) quirks:
If I set up 2 items to craft that both require an AmountNeeded greater than 1, and both set to ConsumeMaterial and ConsumeSelf, the material item only loses one stack rather than the AmountNeeded. So if I have 20 bolts and 20 metal plates and it requires 5 of each to craft something, I’m left with 15 bolts but 19 metal plates.
If I want to craft by dragging either the “Self” or “Material”, and set each of them to “CraftWith” each other (unless this isn’t the proper way to do it), the “SoundOnDrag” plays when dragging one of the items on to the other, but not the other way around. So dragging the bolts on to the metal plates works as expected and plays no sound (or plays the CraftWith PlaySound), but dragging the metal plates on to the bolts also plays the “SoundOnDrag” sound.
Continuing with the previous point, if you don’t use up the entire stack, it will also play the “SoundOnPayloadReturn” sound, so you end up having 2 sounds play simultaneously when dragging the metal plates on to the bolts, or 3 sounds playing simultaneously when dragging the bolts on to the metal plates.
The right click context menu for dropping/using items doesn’t play the corresponding sounds.
Double clicking to use an item plays the “SoundOnDoubleClick” sound even if the item isn’t set to be a consumable.
EDIT: Also, would it be possible to have customization for different sounds to play when dragging/using different items?
Thank you so much for this report. That was very well written and will make it much easier to fix!
as for sounds for use per item, get rid of the use item sound, and then put individual sound effects in the Use Event on the item!
You could also add this with an attribute!