Announcement

Collapse
No announcement yet.

Action RPG Inventory System

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

  • replied
    [MENTION=31112]unit23[/MENTION] you should be setting the inventory actor class to just actor theres no reason to set it to a child, that way you can use the single variable for any type of actor you want to spawn using that inventory item, if you plan on having a lot of weapons i would look at a data table approach which doesn't depend on adding any extra variables to the item list, PS i also picked up that plugin but it seems it only collides on pawn bone collision so its useless at the moment for me.
    Last edited by OverRated_AU; 12-11-2016, 06:49 AM.

    Leave a comment:


  • replied
    Well, there is a problem with the MeleeTrace, it crashes when casting a trace to the MainHandWeaponReference. Per default you directly get the MeleeWeaponClass reference with above setup, not directly the parent class. Will continue to look into this a little later ...

    The original code
    Click image for larger version

Name:	orig.jpg
Views:	1
Size:	359.5 KB
ID:	1119917

    OKAY, i fixed it, see below video, basically you need to plug the EquipmentCharacterReference into the SpawnActor Instigator node

    https://youtu.be/hipKmKmj6q4

    If someone needs more screens refer to the MeleePlugin forum post
    Last edited by unit23; 12-11-2016, 02:37 AM.

    Leave a comment:


  • replied
    Originally posted by Pirate View Post
    Glad you were able to get everything setup in your project
    Yes, and thanks to your excellent support Pirate! And the timing is just perfect, since i installed the TracePlugin this week, and was wondering the past days how to blend it into ARPGIS. Basically the TracePlugin is the same as your WeaponActor, but with some additional functionality for setting up traces and the On Hit logic.

    ps. You might want to delete my quote, since i updated it a little and less image loading
    Last edited by unit23; 12-10-2016, 10:24 PM.

    Leave a comment:


  • replied
    Glad you were able to get everything setup in your project
    Last edited by Pirate; 12-10-2016, 11:43 PM.

    Leave a comment:


  • replied
    Changes to adapt the new approach for equipment (MainHand and Shield), with MeleeTracePlugin "MeleeClass".

    InventoryItem with additional (purple) "MeleeClass" for the MeleeTrace Plugin https://www.unrealengine.com/marketp...tracing-plugin
    Click image for larger version

Name:	InventoryItem.jpg
Views:	1
Size:	131.0 KB
ID:	1119908

    The following changes affect EquipmentInventoryComponent

    Additional LocalVariable for the Shield (with WeaponActorClass Reference). The MainHand uses the same, but with the MeleeWeaponClass (MeleeTracePlugin class variable), instead of the WeaponActorClass (ARPGIS class variable name). You have to delete the Spawn actor from class node, and some variables and the destroy actor node, because Unreal still refers to those based on the initial setup. So in case a node is broken, delete those nodes, and re-create the node, then you can connect nodes.
    Click image for larger version

Name:	LocalVars.jpg
Views:	1
Size:	144.5 KB
ID:	1119909

    Additional UpdateOffHandShield function, basically same as the newly introduced (ARPGIS 1.7) UpdateMainHandWeapon function, just with the shield variables. Notice for the MeleeTracePlugin the class is called "MeleeWeaponClass" we use here the "MainHand", and for the Shield (OffHand) the new ARGIS WeaponActorClass.
    Click image for larger version

Name:	UpdateShield.jpg
Views:	1
Size:	393.7 KB
ID:	1119910

    Important, set the new local variables, inside the existing UpdateEquippedMeshes function.
    Click image for larger version

Name:	UpdateWeapon.jpg
Views:	1
Size:	523.3 KB
ID:	1119911

    Bottomline, it takes about 30-60 minutes to update per the ARGIS 1.7 Instructions (Launcher ready next week) https://forums.unrealengine.com/show...l=1#post635726 , which also include the bug issues from the past weeks. Those instructions work also for the TopDownMultiplayerKit - merged with ARGIS.

    Update
    This change does not work in the merged project - Updated Line Trace in InventoryPlayerController->GetUsableActor() to now trace by Channel Visibility instead of by Objects.
    Last edited by unit23; 12-11-2016, 01:40 AM.

    Leave a comment:


  • replied
    Originally posted by unit23 View Post
    Thanks Pirate!

    Btw, i think it would help you, me and others if there would be 1 place to assess the update cycle. I did not bothered to update the Launcher content, but just did it, but i am not entirely sure which version is the current (probably 1.6), without opening the project and skipping through the code. Also 1 place for all updates, would help to better understand issues, like outlined above with the flickering. And is it possible to get the new update tonight? I already verified my purchase with Will.
    All the update notes are in one place (and there are always links at the bottom of the initial post that point to the update notes) but as I am still working on the update the notes are constantly being edited and new steps provided.
    I will post again letting everyone know when the update is finished and all the notes are final in this post:
    https://forums.unrealengine.com/show...l=1#post635726

    You can see the project version in the project settings. It will be 1.6 unless you the inventory before Summer/September.

    I won't be able to provide an updated version to you this weekend. I plan to submit on Monday so that would be the earliest I would be able to but you would need to message me Monday through our support email.

    Leave a comment:


  • replied
    Originally posted by DiziART View Post
    Ok, remove disable if inventory is full, but if dont work increase? Its logic?))))
    I tested in a fresh project and filled up the inventory then added new slots. It worked fine please double check your logic in your project.

    Originally posted by DiziART View Post
    - Totally revamped Tool Tips to work using built in UMG Tool Tip features. LOL ))) Thank you so much!!)))))
    Haha yes your support emails had me thinking there is a better way to do it. The new tool tips are so much better.

    Thank you

    Leave a comment:


  • replied
    Thanks Pirate!

    Btw, i think it would help you, me and others if there would be 1 place to assess the update cycle. I did not bothered to update the Launcher content, but just did it, but i am not entirely sure which version is the current (probably 1.6), without opening the project and skipping through the code. Also 1 place for all updates, would help to better understand issues, like outlined above with the flickering. And is it possible to get the new update tonight? I already verified my purchase with Will.

    Leave a comment:


  • replied
    Originally posted by unit23 View Post
    Ok, awesome, and thank you for your continued input and work on this project. I am just about to approach this, looking now forward to your 1.7 update.

    One more question, does this work same for the Off-Hand slot? And what do you suggest should be done, to have dynamically mount the weapon/shield, while the player is not, IsAttacking or InCombat?

    Thanks
    For OffHand actors you would just want to setup another Reference in the EquipmentCharacter and then mimic the code in the EquipmentInventoryComponent->UpdateEquippedMeshes() function that fires off when the switch for OffHand logic is called. You would still use the same WeaponActor class logic but just be changing the MainHand variables to use OffHand ones instead.

    As for mounting you equipped weapon/shield. I would create a function in the EquipmentCharacter that using the WeaponActorReference it Attaches the Actor to a different Socket (probably on the back, you will have to add this new socket which is very simple. You can add sockets in the editor when viewing the skeleton) when out of combat. Then when you are back in Combat have it attach it back to the hand MainHand socket. Then you can setup an AnimNotify to do this swap during a certain part of your Sheathe/Unsheathe animation.


    Also I have thought about adding features like this into it. But then it will end up being an RPG Starter Kit I'd sell for $124.99 (Joking, but if his sells at that much... maybe ) and no longer an Inventory System for $39.99.
    Last edited by Pirate; 12-10-2016, 04:07 PM.

    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
    In EquipmentCharacter->OnRep_MainHandMesh() and OnRep_OffHandMesh() if there is a node called Set Master Pose in both those at the end of the logic delete it. This node is what started causing the flickering after an engine update.

    Leave a comment:


  • replied
    Originally posted by Pirate View Post
    1.) Change the Weapon_Actor class variable in the InventoryItem Struct to whatever blueprint is the base class of your weapon system.
    2.) Change the EquipmentCharacter Weapon_Actor Reference variable to a reference of that same weapon system base class.
    3.) In EquipmentCharacter you want to update the Weapon_Actor Class local variable to be your new weapon system base class and the UpdateMainHandWeapon input variable from Weapon_Actor class to your own weapon system base class.

    Then you can delete the Weapon_Actor/Weapon_Rifle_Assault dummy blueprints.
    Ok, awesome, and thank you for your continued input and work on this project. I am just about to approach this, looking now forward to your 1.7 update.

    One more question, does this work same for the Off-Hand slot? And what do you suggest should be done, to have dynamically mount the weapon/shield, while the player is not, IsAttacking or InCombat?

    Thanks
    Last edited by unit23; 12-10-2016, 03:38 PM.

    Leave a comment:


  • replied
    Originally posted by dazuk1978 View Post
    Well after upgrading to 4.14 I was plagued with issues regarding performance so had to spend til 5am this morning sorting them out. The Auto LOD system screwed me royally as some assets haven't converted over properly and will all have to be manually sorted out one by one (oh the irony!). The memory usage (memory leak?) regarding world composition screwed me too. I have 16GB RAM and my project was needing more than that to open up all my world composition tiles. whereas previously it was about 3 or 4 gb needed.
    Got all that working now, though RAM usage is still about 2x as high as it was. *sigh*

    ANYWAY, that aside it did also cause a couple of erros in my previously errorless arpgis install.

    1> I get this every time I drop to game and back to the editor.
    [ATTACH=CONFIG]121037[/ATTACH]
    I changed it from the deprecated node to the new one but it still says the same error even though there's no compile issue?

    2> Every time I load up and try to drop to game, it says am I sure because World Actor has a compile issue.
    [ATTACH=CONFIG]121038[/ATTACH]
    So I go to World Actor and sure enough it has a compile issue.
    [ATTACH=CONFIG]121039[/ATTACH]
    So I hit compile again and it goes through with no adjustments. So I save it and drop to game, all is well! Well, until I quit the editor and load it up again and then it does the same thing every time. Any ideas?


    thx
    1.) Upgrade notes are posted here. You can just delete the SetInputGameAndUI Node from the InventoryHUD event graph as that gets set in the PlayerController already. The error is because it's expecting you to now feed in the PlayerController Reference. So you can either do that or simply delete it. More Info can be found here:
    https://forums.unrealengine.com/show...l=1#post623996

    2.) Looks like the struct issue where it updates all the structs in each BP when changes are made now. Try recompiling and saving the parent class Usable_Actor and the InventoryManagerComponent first.
    If it's still not working perhaps you can send me an email with a link to the project (delete the saved/intermediate folders first before zipping to reduce filesize) and I can try and see what's happening so we can make sure Epic knows about the new struct bug.

    Epic is doing a lot of changes to Structs to try and make them better. But really it's quite sad how problematic they can be in blueprints.

    Leave a comment:


  • replied
    Originally posted by unit23 View Post
    The new Melee Trace Plugin, does not require collision to apply damage through precise hit detection https://www.unrealengine.com/marketp...tracing-plugin

    However, it requires to setup a "Weapon class BP", which is spawned, and traces can then be triggered from firing anim notify events inside that Weapon BP. Currently try to figure out how to combine this hit detection solution with ARPGIS. I highly recommend to evaluate this plugin, and to possibly make it compatible with the new WeaponSpawn, and ShieldSpawn. Pm me, can email you, or we could Skype/Discord if needed, would be happy to make this work.

    The bottom line is, when it comes to melee combat, hit detection is often difficult to setup through collision spheres, a tracing instead does not require any collision spheres, while at the same time offers precise hit detection.
    You are over thinking it. I am not adding a Weapon System integrated into the InventorySystem so it does not need to be compatible with anything.
    It is simply some extremely basic example actor replicated spawning logic done for people because a few people were destroying the abstract design of the InventorySystem by trying to create different gameplay systems all tangled inside of it.

    It just takes a minute to turn the simple example logic provided (which all it does is let you pick a blueprint Weapon_Actor and spawn it attached to the EquipmentCharacter) to swap it out to your own system.
    Or if you wanted to create your own weapon system it gives you a barebones starting place already hooked up to the InventoryItem.

    To switch it to spawn a different type of actor class all you have to do is change the variables for the new Weapon_Actor class in 3 places to have it work with whatever blueprint weapon system you have.

    1.) Change the Weapon_Actor class variable in the InventoryItem Struct to whatever blueprint is the base class of your weapon system.
    2.) Change the EquipmentCharacter Weapon_Actor Reference variable to a reference of that same weapon system base class.
    3.) In EquipmentCharacter you want to update the Weapon_Actor Class local variable to be your new weapon system base class and the UpdateMainHandWeapon input variable from Weapon_Actor class to your own weapon system base class.

    Then you can delete the Weapon_Actor/Weapon_Rifle_Assault dummy blueprints.
    Last edited by Pirate; 12-10-2016, 03:25 PM.

    Leave a comment:


  • replied
    Originally posted by unit23 View Post
    The new Melee Trace Plugin, does not require collision to apply damage through precise hit detection https://www.unrealengine.com/marketp...tracing-plugin

    However, it requires to setup a "Weapon class BP", which is spawned, and traces can then be triggered from firing anim notify events inside that Weapon BP. Currently try to figure out how to combine this hit detection solution with ARPGIS. I highly recommend to evaluate this plugin, and to possibly make it compatible with the new WeaponSpawn, and ShieldSpawn. Pm me, can email you, or we could Skype/Discord if needed, would be happy to make this work.

    The bottom line is, when it comes to melee combat, hit detection is often difficult to setup through collision spheres, a tracing instead does not require any collision spheres, while at the same time offers precise hit detection.
    I was thinking of getting this too, hence my previous messages. Seems a bargain for a tenner! I'm hoping the new version he's going to submit on Monday will allow us to use this?

    Leave a comment:


  • replied
    Well after upgrading to 4.14 I was plagued with issues regarding performance so had to spend til 5am this morning sorting them out. The Auto LOD system screwed me royally as some assets haven't converted over properly and will all have to be manually sorted out one by one (oh the irony!). The memory usage (memory leak?) regarding world composition screwed me too. I have 16GB RAM and my project was needing more than that to open up all my world composition tiles. whereas previously it was about 3 or 4 gb needed.
    Got all that working now, though RAM usage is still about 2x as high as it was. *sigh*

    ANYWAY, that aside it did also cause a couple of erros in my previously errorless arpgis install.

    1> I get this every time I drop to game and back to the editor.
    Click image for larger version

Name:	UI.JPG
Views:	1
Size:	11.1 KB
ID:	1119894
    I changed it from the deprecated node to the new one but it still says the same error even though there's no compile issue?

    2> Every time I load up and try to drop to game, it says am I sure because World Actor has a compile issue.
    Click image for larger version

Name:	worldactor.JPG
Views:	1
Size:	23.4 KB
ID:	1119895
    So I go to World Actor and sure enough it has a compile issue.
    Click image for larger version

Name:	worldactor_compile.JPG
Views:	1
Size:	93.3 KB
ID:	1119896
    So I hit compile again and it goes through with no adjustments. So I save it and drop to game, all is well! Well, until I quit the editor and load it up again and then it does the same thing every time. Any ideas?

    thx

    Leave a comment:

Working...
X