Announcement

Collapse
No announcement yet.

Action RPG Inventory System

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

  • replied
    Hey guys, really liking the project. I was thinking of integrating this into the MMO Starter Kit from CodeSpartan. It might be too difficult/corrupt my build, but after a good backup I'm willing to try. Anybody who knows both kits have any advice?

    Leave a comment:


  • replied
    [MENTION=39476]Pirate[/MENTION] : Thanks for your help so far, you've been spot-on.

    So a couple of little things:
    1> The edge-highlighting doesn't work for me, regardless of if I put it on my camera post process or the global one?
    2> When I drop an object, it does drop it but not in the way I've seen on your videos. It quite often disappears and I'm assuming going under the world. Are there controls for me to play with like an offset or location for 'spawning' the dropped item etc so I could manually tweak my way around it?
    3> I followed your FPS tutorial and all went well, however there are times that the mouse cursor disappears and I have to left click to make it appear. I seems to happen once I've looted a container and I open another. the mouse cursor disappears, my movement is locked out correctly but I can;'t see the cursor until I left click anywhere on screen and the cursor appears again.

    Leave a comment:


  • replied
    OK I think I am close! LOL

    I have my Key, I can pick it up and it goes in Inventory - and for now I put a simple printstring in the Overridden OnActorUsed for the Key (not even messing with the door yet) - and I want to be able to right click the key in inventory to fire off it's functionality - I thought that woulf be "OnActorUsed" but when I right click the key, it goes away like I used it - but my printstring never fires

    the printstring does fire when I pick up the key though - which is a little weird because I didn't use it, just picked it up - but it won't matter that much
    Last edited by GeeksGoneBad; 12-07-2016, 04:43 PM.

    Leave a comment:


  • replied
    Originally posted by GeeksGoneBad View Post
    Cool - thanks for the reply! I think I have the basics down - it's a very easy system out of the gate to get rolling! I added the variables and my own door system - no problem it's when I tried to make the key object that I had problems - I could initially pick up the key, but when I overrode the functions then I could no longer pick up the key - I figured calling the OnActorUsed from the parent was enough to keep what functionality was already there and I'd just extend it - am I thinking about that wrong?

    Thanks!
    Jamie
    What class are you overriding OnActorUsed? the pickup logic shouldn't need to be changed. ooooh unless you are setting the KeyID on a Child Actor of World_Actor that you have placed in the world. But this method would make it so keys wouldn't be normal items and potentially lootable. In most RPGS I believe each different key is a different Item entirely. So there are a few ways to tackle this. Sometimes it's good to make sure you have the full design of the feature planned out first. Because depending on your end goals there are often many different ways to do the same thing.

    Leave a comment:


  • replied
    Cool - thanks for the reply! I think I have the basics down - it's a very easy system out of the gate to get rolling! I added the variables and my own door system - no problem it's when I tried to make the key object that I had problems - I could initially pick up the key, but when I overrode the functions then I could no longer pick up the key - I figured calling the OnActorUsed from the parent was enough to keep what functionality was already there and I'd just extend it - am I thinking about that wrong?

    Thanks!
    Jamie

    Leave a comment:


  • replied
    Originally posted by GeeksGoneBad View Post
    First let me say - what a great system! You have put a lot of work into this and I thank you for making it so affordable!

    Second - I'm brand spanking new to it so I'm sorry if this is obvious or been answered before but - I want to make a usable actor - a Key - that opens another usable actor - a door --- The key has a serial number and so does the door - so if they match the door opens - now I actually already have all that except for where I put that logic connected to the usable actor - I tried overriding the "ActorUsed" and a couple others - but then the item isn't picked up from the level LOL s I am missing some basic step

    Can you point me in the right direction?

    Thanks a ton!
    If you edit the Usable_Door actor you will want to fully override the OnActorUsed function. You will still need to setup the WasUsed logic you will find in the Parent Class Usable_Actor->OnActorUsed(). But now this will allow you to add your more advanced logic. (You can see in World_Actor how it interacts with the players inventory to pick up an item. You will probably want to make a "FindItem" type function in the InventoryManagerComponent to search for a key item and then check it's KeyID)

    You can add some simple variables like a Bool IsLocked/Lockable and then a Variable for a KeyID. Since the OnActorUsed function happens on the server you would simply want to just checked first if the door is locked. If it is then add logic to check the Inventory of the player who is using it (the PlayerController gets passed into the OnActorUsed function so you know who is using it. Simply cast to YourPlayerController to access the InventoryComponent) to see if they have a key item with that ID.

    All in all it should be pretty basic to setup. I would suggest just getting basic functionality working then you can dive into making it so the player can lock/unlock/relock the door or consuming the key on use, etc.

    Hope that helps give you some ideas
    Last edited by Pirate; 12-07-2016, 03:54 PM.

    Leave a comment:


  • replied
    Originally posted by dazuk1978 View Post
    [MENTION=39476]Pirate[/MENTION] : Hi. Recent purchaser, just trying to get to grips with the system.

    I followed your migration video to the letter. Was slightly disappointed you skipped over a couple of bits but no big deal once I'm familiar with the system I can integrate those bits.
    However, Everything seems to be working, no errors on load anymore or anything else BUT when I mouse over the usables in the editor content browser I get this:
    [ATTACH=CONFIG]120521[/ATTACH]

    As I say, everything seems to work despite that spamming on the main window but I'm sure it can't be good!
    I know it'll be hard for you to say seeing as you don't know what I've done but I will say I followed your video and I used my own controller that I migrated the inventory logic over to, so I did all those bits too.

    I can place the usables in the world and open them (pots are empty, but they're supposed to be right?), skeleton's have items I can loot and wear etc all working great.

    Thx for any help you can give.

    Daz
    Inside the World_Actor the construction script basically takes the Item "ID" and reads from the data table to know what to set the mesh to.
    It seems the editor is triggering the construction script of the Actor when simply mousing over it in the editor. Are you using 4.14?

    Since the ID variable in the World_Actor is set by default to None and there is no item in the DataTable with an ID of None it is just printing the debug print strings I added to help people who created new items and maybe didn't make the ID's match up or forgot to assign a mesh. So they would know what the problem was when the items weren't working when dropped.

    I would suggest simply removing those debug print string from inside of the World_Actor or even better create an Item with the ID of "None" in your DataTable and just give it the good old sexy catbox mesh XD.
    Last edited by Pirate; 12-07-2016, 03:44 PM.

    Leave a comment:


  • replied
    First let me say - what a great system! You have put a lot of work into this and I thank you for making it so affordable!

    Second - I'm brand spanking new to it so I'm sorry if this is obvious or been answered before but - I want to make a usable actor - a Key - that opens another usable actor - a door --- The key has a serial number and so does the door - so if they match the door opens - now I actually already have all that except for where I put that logic connected to the usable actor - I tried overriding the "ActorUsed" and a couple others - but then the item isn't picked up from the level LOL s I am missing some basic step

    Can you point me in the right direction?

    Thanks a ton!

    Leave a comment:


  • replied
    [MENTION=39476]Pirate[/MENTION] : Hi. Recent purchaser, just trying to get to grips with the system.

    I followed your migration video to the letter. Was slightly disappointed you skipped over a couple of bits but no big deal once I'm familiar with the system I can integrate those bits.
    However, Everything seems to be working, no errors on load anymore or anything else BUT when I mouse over the usables in the editor content browser I get this:
    Click image for larger version

Name:	usables.JPG
Views:	1
Size:	90.9 KB
ID:	1119665

    As I say, everything seems to work despite that spamming on the main window but I'm sure it can't be good!
    I know it'll be hard for you to say seeing as you don't know what I've done but I will say I followed your video and I used my own controller that I migrated the inventory logic over to, so I did all those bits too.

    I can place the usables in the world and open them (pots are empty, but they're supposed to be right?), skeleton's have items I can loot and wear etc all working great.

    Thx for any help you can give.

    Daz

    Leave a comment:


  • replied
    I send on e-mail report. I wait answer from you . Thanks

    Leave a comment:


  • replied
    Originally posted by DiziART View Post
    I know how to set the position of the widget on the screen! And I have a problem with that never occurred. However, your decision to use the coordinates of the tooltip widget, which is in the general inventory layers - I can not (
    I apologize but I'm not sure I fully understand what the issue is. Yes the Widget is placed in a default position in the InventoryLayout Widget. But it shouldn't be locked to that position if you are setting a new position.

    Can you please send me a support email and I will do my best to help you resolve the trouble you are having.

    Leave a comment:


  • replied
    I know how to set the position of the widget on the screen! And I have a problem with that never occurred. However, your decision to use the coordinates of the tooltip widget, which is in the general inventory layers - I can not (

    Leave a comment:


  • replied
    Originally posted by DiziART View Post
    widget not change position... I create function, for change position, but any coordinates, not apply to window position. Please, give screen or write where need add logic. Thanks so much!
    I am always happy to provide advice and sometimes I can provide examples if I have enough free time.
    But what you are asking has nothing to do with the inventory system at all and there is plenty of information on editing UI's in unreal using UMG.

    Basic problems like this help you learn and get familiar with game development in unreal. The more you learn the easier it will be to understand and start making complex changes.


    There are always plenty of results if you google ue4 + your topic. Answer hub always has lots of people asking a lot of the same things.
    https://answers.unrealengine.com/que...-position.html

    Down near the bottom of that post you will see how you can get the mouse position and set the widget to that location. You will need to take into account your screen resolution and UI scaling if you are offsetting it.

    Leave a comment:


  • replied
    Originally posted by Pirate View Post
    It would be the same as updating any other UMG widget to your mouse position. I would recommend getting the cursor position and updating the widget in it's onTick (which only runs when the widget is visible) to the current mouse position.
    widget not change position... I create function, for change position, but any coordinates, not apply to window position. Please, give screen or write where need add logic. Thanks so much!

    Leave a comment:


  • replied
    Originally posted by unit23 View Post
    Is there an easy way to set Main/Off hand to use static meshes?
    You can convert static meshes to skeletal meshes in the editor. The reason why the weapons use skeletal meshes is because the Equipment has to in order to be skinned (weighted for animation) to the skeleton.
    Having weapons as Skeletal Meshes also allows you to provide custom animations for the weapons (guns need to animate when firing, reloading, etc) and allow you to edit the sockets to have them position better when attached to the hand sockets.

    Leave a comment:

Working...
X