Search Unity

Template RELEASE 8.0.0a - Inventory and Weapon Modding (ICWM)

Discussion in 'Tools In Progress' started by HeyMyNameIsVoo, Mar 15, 2017.

?

Are you waiting for an asset?

  1. Yes

  2. No

  3. I'm not waiting, but following

Multiple votes are allowed.
Results are only viewable after voting.
  1. HeyMyNameIsVoo

    HeyMyNameIsVoo

    Joined:
    Dec 25, 2015
    Posts:
    484
    Hello Vahid!

    Thank you for choosing the ICWM, it makes me very happy!

    Unfortunately, there are no tutorials or docs to integration with Opsive!

    I know that you (and other users) wants me to integrate the ICWM with UFPS, TPC and other assets.But for now I can't do it.

    Let me know if you have any questions!

    Kind Regards,
    MyNameIsVoo
     
    Last edited: Jul 17, 2020
  2. HeyMyNameIsVoo

    HeyMyNameIsVoo

    Joined:
    Dec 25, 2015
    Posts:
    484
    Hello.

    This is not an FPS template or game, this is a tool that will help you not spend a lot of time creating a full inventory system for your game.

    "A system that increases the power of Recuil or ... by adding an attachment just like EFT or Cod mw4 or ..."

    The ICWM has this functions, when you attach some attachments to your weapon the weapon parameters will be increased or decreased (recoil, dmg, durability, ergonomic etc.). You can use this parameters on your weapons. To access these parameters you need: ItemList (your item, weapon) / ItemStatistics.

    I can't create a full weapon system it will be "outside the scope" of the Asset.

    ICWM - Inventory and Customizable Weapon Modding system is intended for customize weapons, cars and other objects.

    Kind Regards,
    MyNameIsVoo

    PS I'm sorry, I can't do everything and for everyone.
     
  3. Gaara_sabuko

    Gaara_sabuko

    Joined:
    Mar 25, 2020
    Posts:
    8
    Hello Voo
    I completely understood and thank you for great asset .
    Have a nice day
    KR
     
    HeyMyNameIsVoo likes this.
  4. HeyMyNameIsVoo

    HeyMyNameIsVoo

    Joined:
    Dec 25, 2015
    Posts:
    484
    HELLO!​

    The Unlock System Asset is absolutely FREE now!

    Get it!



    Kind Regards,
    MyNameIsVoo
     
  5. Gruetschi

    Gruetschi

    Joined:
    Aug 12, 2018
    Posts:
    7
    Hello Voo,
    I can't find the slot where I can enter RootItemsSpawninWorld. Can you help me.
    Ps. Super Asset
     
    HeyMyNameIsVoo likes this.
  6. Gruetschi

    Gruetschi

    Joined:
    Aug 12, 2018
    Posts:
    7
  7. HeyMyNameIsVoo

    HeyMyNameIsVoo

    Joined:
    Dec 25, 2015
    Posts:
    484
    Hello.

    I'll write you a little later!

    Thanks.
     
  8. HeyMyNameIsVoo

    HeyMyNameIsVoo

    Joined:
    Dec 25, 2015
    Posts:
    484
    Hello! Sorry for the late reply!

    Open the "How to add it to a new scene" section of the Manul Documentation

    upload_2020-11-21_9-6-32.png

    The RootItemsSpawnInWorld attribute is located in the InventoryBase script. We need this attribute for the creating items in scene when we drop items from the Inventory.

    If you can't find the attribute in editor mode: you need to switch the editor display to "Debug" mode

    upload_2020-11-21_9-11-26.png

    Kind Regards,
    MyNameIsVoo
     
  9. HeyMyNameIsVoo

    HeyMyNameIsVoo

    Joined:
    Dec 25, 2015
    Posts:
    484
    HELLO
    BIG SALE
    SAVE 30%

    test.jpg
    Kind Regards,
    MyNameIsVoo
     
  10. J0linar

    J0linar

    Joined:
    Dec 12, 2013
    Posts:
    83
    @HeyMyNameIsVoo
    just recently i decided to get your ICWM Inventory asset.... and am glad i finally choose to do so, gotta admit that i eyeballed it a couple of times but somehow i just ignored it, maybe its the name or to colors of its logo :D... who knows why people choose one over the other.

    Anyways, respect!
    This Asset is really a nice piece of work, so far from what i tried, it integrates with ease.


    On a sidenote, is there a way to drop the item/weapon you are holding/using by keypress?
    From what i understand it is controlled by InventoryBase.cs using

    public void DropItem

    Maybe am blind but i wasn`t able to get the function working on keypress, any tip would be awesome.
     
    HeyMyNameIsVoo likes this.
  11. HeyMyNameIsVoo

    HeyMyNameIsVoo

    Joined:
    Dec 25, 2015
    Posts:
    484
    Hello J0linar!
    Thank you for purchasing the Asset!

    To quickly drop items from the Inventory you need add new lines:
    1) Find the PlayerSystem (for the weapon and gear slots) or BacpackSystem (for the backpack slots and insert items)
    2) Add new lins in Update method:
    Code (CSharp):
    1. if (Input.GetKeyDown(KeyCode.G))
    2.             {
    3.                 DropOnSlingWeapon();
    4.             }
    3) Add new method:
    Code (CSharp):
    1. public void DropOnSlingWeapon()
    2.         {
    3.             if (InventoryBase.instance.selectWeapon != null && InventoryBase.instance.selectWeapon.wnPrOnSling != null)
    4.                 InventoryBase.instance.DropItem(InventoryBase.instance.selectWeapon.wnPrOnSling.itemIcon, InventoryBase.instance.selectWeapon.wnPrOnSling);
    5.         }
    We need to send a reference to the item to the DropItem method:
    InventoryBase.instance.selectWeapon.wnPrOnSling.itemIcon - reference to the Item icon in the Inventory
    InventoryBase.instance.selectWeapon.wnPrOnSling - reference to the item (this is a weapon in our case)

    Also you can drop active weapon just make a check if the weapon is active (see the SelectWeapon script).

    Let me know if you have any questions!

    Happy New Year!
     
  12. J0linar

    J0linar

    Joined:
    Dec 12, 2013
    Posts:
    83
    @HeyMyNameIsVoo
    Happy New Year to u2 :D
    and many thx for takin the time to explain this!

    i ended up doin it this way (for others who might be interested in this)

    in PlayerSystem.cs
    [fields marked with ADDED are the additions]
    Code (CSharp):
    1.         private void Update()
    2.         {
    3.             isActiveSelect = true;
    4.  
    5.             if (isDropWeapon)
    6.             {
    7.                 StartCoroutine(UpdatePlayerSlotOnDropEndOfFrame(null));
    8.             }
    9.             // ADDED<
    10.             if (Input.GetKeyDown(KeyCode.G))
    11.             {
    12.                     if (InventoryBase.instance.selectWeapon.IsActiveOnSling && InventoryBase.instance.selectWeapon.wnPrOnSling != null && InventoryBase.instance.selectWeapon.OnSling && InventoryBase.instance.selectWeapon.OnSling.transform.childCount > 0)  // OnSling
    13.                     {
    14.                         DropOnSlingWeapon();
    15.                     }
    16.                     else if (InventoryBase.instance.selectWeapon.IsActiveOnBack && InventoryBase.instance.selectWeapon.wnPrOnBack != null && InventoryBase.instance.selectWeapon.OnBack && InventoryBase.instance.selectWeapon.OnBack.transform.childCount > 0)  // OnBack
    17.                     {
    18.                         DropOnBackWeapon();
    19.                     }
    20.                     else if (InventoryBase.instance.selectWeapon.IsActiveOnHolster && InventoryBase.instance.selectWeapon.wnPrOnHolster != null && InventoryBase.instance.selectWeapon.Holster && InventoryBase.instance.selectWeapon.Holster.transform.childCount > 0)  // Holster
    21.                     {
    22.                         DropOnHolsterWeapon();
    23.                     }
    24.                     else if (InventoryBase.instance.selectWeapon.IsActiveOnScabbard && InventoryBase.instance.selectWeapon.wnPrOnScabbard != null && InventoryBase.instance.selectWeapon.Scabbard && InventoryBase.instance.selectWeapon.Scabbard.transform.childCount > 0)  // Scarbbard
    25.                     {
    26.                         DropOnScarbWeapon();
    27.                     }
    28.             }
    29.             // ADDED>
    30.  
    31.         }
    32.  
    33.         #region PUBLIC
    34.     // ADDED<
    35.     public void DropOnSlingWeapon()
    36.             {
    37.                     InventoryBase.instance.DropItem(InventoryBase.instance.selectWeapon.wnPrOnSling.itemIcon, InventoryBase.instance.selectWeapon.wnPrOnSling);
    38.             }
    39.  
    40.     public void DropOnBackWeapon()
    41.             {
    42.                     InventoryBase.instance.DropItem(InventoryBase.instance.selectWeapon.wnPrOnBack.itemIcon, InventoryBase.instance.selectWeapon.wnPrOnBack);
    43.             }
    44.  
    45.     public void DropOnHolsterWeapon()
    46.             {
    47.                     InventoryBase.instance.DropItem(InventoryBase.instance.selectWeapon.wnPrOnHolster.itemIcon, InventoryBase.instance.selectWeapon.wnPrOnHolster);
    48.             }
    49.  
    50.     public void DropOnScarbWeapon()
    51.             {
    52.                     InventoryBase.instance.DropItem(InventoryBase.instance.selectWeapon.wnPrOnScabbard.itemIcon, InventoryBase.instance.selectWeapon.wnPrOnScabbard);
    53.             }
    54.     // ADDED>
    It might be possible to reduce the code but it works and it drops only the weapon you are currently holding, what is not being updated is the ui but thats not a issue, will figure this out.

    btw @HeyMyNameIsVoo
    is there a way to force the inventory to use the picked up weapon/ switch to it once u pick it up?
     
    HeyMyNameIsVoo likes this.
  13. HeyMyNameIsVoo

    HeyMyNameIsVoo

    Joined:
    Dec 25, 2015
    Posts:
    484
    To update the UI Hotbar you need add this line InventoryBase.instance.m_Hotbar.UpdateUIHotbar(); - after then as drop items.

    "is there a way to force the inventory to use the picked up weapon/ switch to it once u pick it up?"

    Open the Test script and find the public IEnumerator PickUpSelection(ItemList cl) method. In the method you need comment these lines:

    Code (CSharp):
    1. if (cl.tagItem == ItemList.TagItems.WEAPON)
    2.                 {
    3.                     if (!BackpackSystem.instance.RE4O_IsActive() && !InventoryBase.instance.selectWeapon.IsActiveOnSling && InventoryBase.instance.selectWeapon.OnSling.transform.childCount == 0)
    4.                     {
    5.                         PlayerSystem.instance.isActiveSpawnOnSling = true;
    6.  
    7.                         // Comments only "if operator"
    8.                         //if (!InventoryBase.instance.selectWeapon.IsActiveOnHolster && !InventoryBase.instance.selectWeapon.IsActiveOnBack && !InventoryBase.instance.selectWeapon.IsActiveOnScabbard)
    9.                             PlayerSystem.instance.takeWeapon = true;
    10.  
    11.                         PlayerSystem.instance.CreateWeaponSlots(cl, null);
    12.                     }
    13.                     // code code code
    14.                 }
    Do the same for the other slots - PISTOL, KNIFE, and for the OnBack slot.
     
    J0linar likes this.
  14. J0linar

    J0linar

    Joined:
    Dec 12, 2013
    Posts:
    83
    Hey thanks,
    i wonder is the reloading of empty mags on purpose? I mean it is a funny surprise when you have a couple of empty magazines in the tactical rig and when you press reload, it loads a empty mag :D
    (Any way to prevent loading empty mags?)

    On a sidenote when shooting with the AK and Pressing reload while Holding the shoot Button, the reload animation gets cut and the AK keeps shooting.. Feels and looks odd, like a wannabe Machinegun :cool:

    I know that this is not supposed to be a full weapon System, still it would be nice if you could look into this, AS for example am mixing the icwm with another controller and so on.

    Am gonna write soon a review, just wanted to let you know that I really appreciate your help and the work you are putting into this asset.
     
    HeyMyNameIsVoo likes this.
  15. HeyMyNameIsVoo

    HeyMyNameIsVoo

    Joined:
    Dec 25, 2015
    Posts:
    484
    Hi!

    "Any way to prevent loading empty mags?"

    Open the WeaponFPS script and then find the CheckMagazineInTacticalRig() method:

    Code (CSharp):
    1. private bool CheckMagazineInTacticalRig()
    2.             {
    3.                 if (BackpackSystem.instance.GetBackpackInfo().isActiveTacticalRig)
    4.                 {
    5.                     Component[] p = BackpackSystem.instance.rootTacticalRigSpawn.GetComponentsInChildren(typeof(ButtonOptions), true);
    6.                     if (p != null)
    7.                     {
    8.                         ButtonOptions newMagazine = null;
    9.                         foreach (ButtonOptions n in p)
    10.                         {
    11.                             if (n.CL.isMagazine)
    12.                             {
    13.                                 if (n.CL.id_Attach.Length != 0)
    14.                                 {
    15.                                     for (int i = 0; i < n.CL.id_Attach.Length; i++)
    16.                                     {
    17.                                         if (n.CL.id_Attach[i] == CL_weapon.id_Weapon)
    18.                                         {
    19.                                             // You can add another conditions as you wish. For example - comment the "if" condition (and newMagazine = n; also) and we will get the first magazine always. You can add Random event - if the rnd < 0.5 we will get this magazine and so on...
    20.                                             if (n.CL.amountBullet > 0) // Our condition
    21.                                             {
    22.                                                 ChangeMagazine(n);
    23.                                                 return true;
    24.                                             }
    25.  
    26.                                             newMagazine = n; // If we did not found a full (not empty) magazine we will take this one (the last one)
    27.                                         }
    28.                                     }
    29.                                 }
    30.                             }
    31.                         }
    32.  
    33.                         if (newMagazine != null)
    34.                         {
    35.                             ChangeMagazine(newMagazine);
    36.                             return true;
    37.                         }
    38.                     }
    39.                 }
    40.  
    41.                 return false;
    42.             }
    "I know that this is not supposed to be a full weapon System, still it would be nice if you could look into this, AS for example am mixing the icwm with another controller and so on."

    I would not use this system (weapon system I mean).
    I created this for example to show you how to use the Inventory System with player and weapon.

    "Am gonna write soon a review, just wanted to let you know that I really appreciate your help and the work you are putting into this asset."

    Thank you! I'll be happy if you write a review.

    Kind Regards,
    MyNameIsVoo

    I'll help you if I can!
     
  16. J0linar

    J0linar

    Joined:
    Dec 12, 2013
    Posts:
    83
    Hey thanks,
    aah in my case the weapon system is more then enough, guns will be rare and possibly modable... ofc one needs to add alot more to it like a impact system for example but that is really not your job, you did a great job making this inventory and as a plus you gave us playable/working guns.

    Honestly i know that i was like the pestilence and you still answered my questions and you even provided me with solutions, so thanks for that. Am sure i might need some day a bit of your wisdom, good to know that you are actually supporting your customers.

    On a sidenote, not sure if am even gonna try this but i was thinking about integrating this into VR..
    ofc partially as for example the inventory screen itself is to much, so i would sorta split it up into areas on the player body, like holster/backpack/shoulder.... will see in the next weeks if this is wise or not.

    Thanks again
     
    HeyMyNameIsVoo likes this.
  17. keremerol125

    keremerol125

    Joined:
    Aug 8, 2020
    Posts:
    12
    please can anyone help me i just want to get the name of the gun in a slot like i want to get the hotbar 1 's weapons name so i can inteagrate it with my weapon system thanks! if not can i please refund it?
     
    HeyMyNameIsVoo likes this.
  18. keremerol125

    keremerol125

    Joined:
    Aug 8, 2020
    Posts:
    12
    i want to get the item name in the slot that i dropped the drag icon
     
    HeyMyNameIsVoo likes this.
  19. HeyMyNameIsVoo

    HeyMyNameIsVoo

    Joined:
    Dec 25, 2015
    Posts:
    484
    Hello!

    There are several ways to get an item name on the Player slots.

    1) Open the PlayerSystem script and find the []weaponSlots attribute. These are references to the Player slots. To access to the slot's item you need check if the slot has an item and then get the item name:

    Code (CSharp):
    1. if (weaponSlots[0].transform.GetComponentInChildren<ButtonOptions>()) // 0 - On Sling
    2.                             {
    3.                                 string itemName = weaponSlots[0].transform.GetComponentInChildren<ButtonOptions>().CL.statisticList.itemName;
    4.                             }
    2) Open the InventoryBase script and find the selectWeapon attribute. This is the reference to the player SelectWeapon component which store references to the Player items (On Sling, On Back ...).

    Code (CSharp):
    1. if (selectWeapon != null && selectWeapon.wnPrOnSling != null)
    2.             {
    3.                 string itemName = selectWeapon.wnPrOnSling.statisticList.itemName;
    4.             }
    3) Open the Hotbar script and find the hotbarSlots attribute. These are references to the hotbar slots.

    Code (CSharp):
    1. if (hotbarSlots != null && hotbarSlots.Length != 0)
    2.                 {
    3.                     foreach (GameObject slot in hotbarSlots)
    4.                     {
    5.                         if (slot != null && slot.GetComponentInChildren<HotbarSlotParameters>().CL != null) // If we have an item in the slot
    6.                         {
    7.                             string itemName = slot.GetComponentInChildren<HotbarSlotParameters>().CL.statisticList.itemName;
    8.                         }
    9.                     }
    10.                 }
    4) Find the DragHandler script and then find the OnBeginDrag, OnDrag and OnEndDrag methods. For example - In the OnEndDrag find the DropItemOnLocations method then DropInPlayersSlots.

    Code (CSharp):
    1. if (transform.parent != startParent && CL != null) // The item location has been changed
    2.                 {
    3.                     string itemName = CL.statisticList.itemName;
    4.                 }
    " if not can i please refund it?"
    I can't refund if you download the Asset.

    Kind Regards,
    MyNameIsVoo

    READ the DOCUMENTATIONS and lear the Asset from the API!!!
     
  20. keremerol125

    keremerol125

    Joined:
    Aug 8, 2020
    Posts:
    12
    thanks for help and i managed to do it but now i cant found the method that loads the magazine to weapon where is it?
     
    HeyMyNameIsVoo likes this.
  21. keremerol125

    keremerol125

    Joined:
    Aug 8, 2020
    Posts:
    12
    also cant unload magazines it says: seperate bullet prefab is missing but it isnt i assing it
     
    HeyMyNameIsVoo likes this.
  22. HeyMyNameIsVoo

    HeyMyNameIsVoo

    Joined:
    Dec 25, 2015
    Posts:
    484
    "the method that loads the magazine to weapon"
    When we press "R" - find the WeaponFPS scriptand then the ChangeMagazine method

    "after modding"
    Find the InventoryBase script and then the SaveWeaponSettings method

    "after drop attach to the weapon"
    Find the Slot script then the DropAttachmentOnWeapon method and then the SaveWeaponParameters method

    "also cant unload magazines it says: seperate bullet prefab is missing but it isnt i assing it"
    I need more info - script, method etc.
     
  23. keremerol125

    keremerol125

    Joined:
    Aug 8, 2020
    Posts:
    12
    ok fixed it and thanks for support but couldnt find the consume sa
    ystem :( and lastly how can i delete a slot item from the inventory if i can get its slot, drag handler and cl?
     
    Last edited: Jan 19, 2021
    HeyMyNameIsVoo likes this.
  24. keremerol125

    keremerol125

    Joined:
    Aug 8, 2020
    Posts:
    12
  25. keremerol125

    keremerol125

    Joined:
    Aug 8, 2020
    Posts:
    12
    also i want to remove a slot from the inventory(i can get the slot script on a slot but dont know how to remove it from the inventory
     
    HeyMyNameIsVoo likes this.
  26. HeyMyNameIsVoo

    HeyMyNameIsVoo

    Joined:
    Dec 25, 2015
    Posts:
    484
    Hi.

    1) You can asign the slot tag as "NONE" and hide it, the system will not use it. Easy way.
    2) You can destroy this slot and then in scripts remove all references to him. Hard way.
     
  27. keremerol125

    keremerol125

    Joined:
    Aug 8, 2020
    Posts:
    12
    Hey! i want to know what code executes whenever a item is created In the backpack
     
    HeyMyNameIsVoo likes this.
  28. HeyMyNameIsVoo

    HeyMyNameIsVoo

    Joined:
    Dec 25, 2015
    Posts:
    484
    Hello keremerol125!

    The main method for creating any item icon is here: InventoryBase.instance.GetNewIcon(ItemList cl, Transform parentRoot, Vector2 iconPosition, bool isSetItemComponentParameters, bool isForSlot, GameObject itemIcon = null)

    where:
    • ItemList cl - reference to the item class
    • Transform parentRoot - root item spawn
    • Vector2 iconPosition - icon position on the backpack grid (if iconPosition == Vector2(-1, -1) it means that the icon has been created for slot with Vector2.zero coords)
    • bool isForSlot - if true we will try to set size of the Icon to NxN (for the slots)
    • GameObject itemIcon - if you have item icon we will not create a new one - just set up this one
    For the PayerSystem (player slots) see these methods:
    • PlayerSystem => SpawnBodyItems - for the gears slots
    • PlayerSystem => CreateWeaponSlots - for the weapons slots
    For the BackpackSystem (backpack slots) see these methods:
    • BackpackSystem => SpawnBodySet
    • BackpackBase => LoadBackpackItems - loads inserts items of the backpack slot
    We create a backpack item slot, then we create the grid cells (for backpack and pockets) and then if the item have insert items the LoadBackpackItems method load them.
     
  29. HeyMyNameIsVoo

    HeyMyNameIsVoo

    Joined:
    Dec 25, 2015
    Posts:
    484
    Hello everyone!

    Bug reports.

    1) Bug when we drag item to anothe free slot in backpack and before drop the item the item has been rotated. But when we drop there are no free space (dropped on red area (outside of the backpack) or on anothe item) the itemdo not reset its rotation parameters. To fix it do the same:
    1. Open the DragHandler script
    2. Find the CloseBackpackSlots method
    Code (CSharp):
    1. private void CloseBackpackSlots()
    2.             {
    3.                 print("CloseBackpackSlots");
    4.                 if (isBackpackSlot)
    5.                 {
    6.                     print("back 1");
    7.                     if (isRotatedIcon && !deleteVSP)
    8.                     {
    9.                         CL.indexPos60x60 = startIndexPos60x60;
    10.                        
    11.                         if (CL.itWasRotated == false)
    12.                             CL.tagSize = CL.baseTagSize;
    13.                         else
    14.                             CL.tagSize = CL.GetSizeIconInventoryOnIndexPos60x60(); // New
    15.                         //CL.tagSize = CL.GetReverseCurrentSizeTag(); // Comment this
    16.                     }
    17.                     // code
    18.                 }
    19.                 else if (itemDragged == BackpackItemDragged.STASH)
    20.                 {
    21.                     if (isRotatedIcon)
    22.                     {
    23.                         CL.indexPos60x60 = startIndexPos60x60;
    24.                         CL.tagSize = CL.GetSizeIconInventoryOnIndexPos60x60(); // New
    25.                         //CL.tagSize = CL.GetReverseCurrentSizeTag(); // Comment this
    26.                     }
    27.                     // code
    28.                 }
    29.                 // code
    30.             }
    31.  
    32. also for the isPlayerSlot do the same
    33.  
    34. // code
    35. else if (isPlayerSlot) // If from the player's slot in the backpack + turn + there is no place
    36.                 {
    37.                     print("dddfdfdf");
    38.                     if (isRotatedIcon && !deleteVSP)
    39.                     {
    40.                         CL.indexPos60x60 = startIndexPos60x60;
    41.                         [B]CL.tagSize = CL.GetSizeIconInventoryOnIndexPos60x60();[/B] // new
    42.                     }
    43.                 }
    44. // code
    45.  
     
    cthulhme likes this.
  30. HeyMyNameIsVoo

    HeyMyNameIsVoo

    Joined:
    Dec 25, 2015
    Posts:
    484
    2) Bug when we try to replace attachments on a weapon and when we drag an item and the item has been rotated, the Item does not reset its rotation parameters. To fix it:

    Open the InventoryBase script and find the CreateItemAttachmentsInInventory method
    add new line
    ItemList cl = _attachmentCL;
    _attachmentCL.ResetRotationParametersForIcon(); // New
     
    cthulhme likes this.
  31. cthulhme

    cthulhme

    Joined:
    Jun 3, 2020
    Posts:
    3
    Hi Sam, Great asset btw, there's such a massive amount of functionality packed in for a very reasonable price!
    I was wondering if you had a Discord channel to support the asset and also if you had any idea when you'd be releasing another asset. Oh, and do you have a patreon to get financial support for development?
    Thanks!
     
    HeyMyNameIsVoo likes this.
  32. HeyMyNameIsVoo

    HeyMyNameIsVoo

    Joined:
    Dec 25, 2015
    Posts:
    484
    Thank's a million!

    "there's such a massive amount of functionality packed in for a very reasonable price!" - initially I create this Asset for my project, but I thought I can publish it and get some money for development (not so much, but better than nothing).

    "I was wondering if you had a Discord channel to support the asset" - I have, but due to the fact that I am bad in English it takes a lot of time to reply, you can write me on e-mail or here. I often check my mailbox and this page.

    "if you had any idea when you'd be releasing another asset." - I'm working on my project full time and I think it won't be soon. I spend all my time to finish my project. I will definitely post more details about my project soon!

    "Oh, and do you have a patreon to get financial support for development?" - Unfortunately I don't have a patriot yet, just PayPal. Thanks for the idea, I'll think about it!!!

    Kind Regards,
    MyNameIsVoo
     
    cthulhme likes this.
  33. EatTheKids

    EatTheKids

    Joined:
    Oct 13, 2012
    Posts:
    1
    Hello! I've been trying to set up this inventory system to work with a top down 2D game. I've looked through the "How To Get Started?" sections of the documentation, as well as your "Getting Start" Youtube videos from 2019 but I am having difficulty trying to adapt it to my 2D orthographic camera and character controller instead of the 1st and 3rd person options that is used as examples in the doc. Do you have any advice on how this could be done? Can this work without the FPS Controller script, and if so what would be the minimum requirements/scripts to get this working?

    My programming knowledge and skills are still fairly lackluster, so apologies if I missed something in the documentation that pertains to this.

    Here is a screenshot to show what I'm working with. The camera will be seperate from the player controller, which seems to be different from the example 1st and 3rd person prefab examples.
    upload_2021-4-24_13-10-58.png
     
    HeyMyNameIsVoo likes this.
  34. HeyMyNameIsVoo

    HeyMyNameIsVoo

    Joined:
    Dec 25, 2015
    Posts:
    484
    Hello! Yes, of course this Asset works without FPS controller.
    I am creating my project and this is a strategy with using this Asset.

    1) Remove Camera events from the player (the Test script, camera)
    2) The Test script attach to you main camera or wherever you want
    3) In the Test script - find the Update method and change it a little

    Code (CSharp):
    1. // Old
    2. if (Input.GetKeyUp(KeyCode.F) && !isActive && !InventoryBase.instance.isActive)
    3. {
    4. /// code
    5. Ray ray = Camera.main.ViewportPointToRay(new Vector3(0.5f, 0.5f, 0f));
    6. /// code
    7. }
    Code (CSharp):
    1. // New
    2. if ([B]Input.GetMouseButtonDown(0)[/B] && !isActive && !InventoryBase.instance.isActive)
    3. {
    4. /// code
    5. Ray ray = Camera.main.ViewportPointToRay(I[B]nput.mousePosition[/B]);
    6. /// code
    7. }
    Do the same in the FixedUpdate method but without mouse event - this method create an icon when your mouse over items. You should update the icon position or replace cursor instead.

    When you click on item, this script will checks if the item has the item Tag and picks it up.

    Also you don't need the WeaponFPS script. You need to create your own one with your mechanics.
     
    Last edited: Apr 25, 2021
    smichaelg likes this.
  35. smichaelg

    smichaelg

    Joined:
    Apr 17, 2018
    Posts:
    2
    You've come a really long way with this asset, :) your English too:D. Keep up the great work...
     
    HeyMyNameIsVoo likes this.
  36. tmonnens2003

    tmonnens2003

    Joined:
    Jun 6, 2021
    Posts:
    1
    are there any easy ways to update the (graphic's? if yes i would be in love with this asset)
    and are there any possibilities for adding modifiable weapons myself ?

    i mean like buy weapons or make them and add them to the editing menu with the attachments included.
     
    HeyMyNameIsVoo likes this.
  37. HeyMyNameIsVoo

    HeyMyNameIsVoo

    Joined:
    Dec 25, 2015
    Posts:
    484
    Docs: https://cloud.mail.ru/public/MDR5/8RTQHoJje/ICWM_Documentation_Eng.pdf
    API: https://cloud.mail.ru/public/4CXD/PdtYfMD5W

    Hello, read Asset docs and API to learn more aboute the ICWM.

    "are there any easy ways to update the (graphic's?"
    It will only depend on you. If you know Unity Editor you can easily modify anything you want!

    "and are there any possibilities for adding modifiable weapons myself ?"
    I published a tutorial "How to add a new weapon" watch this -


    "i mean like buy weapons or make them and add them to the editing menu with the attachments included"
    Page 40 - Store window for buying and selling items
    Page 74 - Weapons with attachments as a prefab

    Before buying - read the Documentations!

    Kind Regards,
    MyNameIsVoo
     
    Last edited: Jun 23, 2021
    theunitydev likes this.
  38. Gaara_sabuko

    Gaara_sabuko

    Joined:
    Mar 25, 2020
    Posts:
    8
    HI, Mr.Voo, is there any upcoming update ?
     
    HeyMyNameIsVoo likes this.
  39. Kaivian

    Kaivian

    Joined:
    Jan 18, 2018
    Posts:
    35
    API is a zip file, hosted on a .ru site. After download, it's a unity .exe file. I was expecting a PDF or word document. I do not want a .exe file and will not open one. Sign up for a google account and host a pdf (not zipped) off drive, please. It's still free, but doesn't have mysterious downloads.
     
    HeyMyNameIsVoo likes this.
  40. HeyMyNameIsVoo

    HeyMyNameIsVoo

    Joined:
    Dec 25, 2015
    Posts:
    484
    Hello everyone.

    It's been a long time since last news. I'm so sorry. I'm working on my project as I mentioned.

    Today I want to share with you what I have been working on for the last three years.

    Yes, as I wrote earlier, I used the ICWM in my project.

    The project name - The Last World

    The Last World is a real-time strategy game with elements of modding, research, economics, construction and much more, which you can read about in the posts below.

    The Last World has been in development since mid-2017.

    The Last World - The world that we all knew and loved so well has died. It happened by a bacterium born in test tubes of one scientist who tried to create a panacea - a cure for all diseases. But the result was the disappearance of all life on the planet. On the verge of extinction, the Ironborns project was created - an AI, the goal of which is to find a planet suitable for the existence of biological organisms in the endless ocean of stars.

    You can follow me on Facebook

    Img_001.jpg
     
    julianr likes this.
  41. Sledo

    Sledo

    Joined:
    Dec 27, 2013
    Posts:
    16
    Hey! After importing the asset, it gives me 124 errors like this? What to do about it?

    Library\PackageCache\com.unity.package-manager-ui@2.0.3\Editor\AssemblyInfo.cs(7,12): error CS0246: The type or namespace name 'UxmlNamespacePrefixAttribute' could not be found (are you missing a using directive or an assembly reference?)
     
  42. HeyMyNameIsVoo

    HeyMyNameIsVoo

    Joined:
    Dec 25, 2015
    Posts:
    484
    Hi!

    This error is not from the Asset.

    Check this thread to fix the error.
     
    Sledo likes this.
  43. Sledo

    Sledo

    Joined:
    Dec 27, 2013
    Posts:
    16
    Hey! Thanks, yes, it was necessary to update the Unity packages.
    Now, at the start of the scene, ICWM_Inv_EFT gives me the following errors:

    Can't remove MeshRenderer because ToolTip (Script) depends on it
    UnityEngine.Object:Instantiate<UnityEngine.GameObject> (UnityEngine.GameObject,UnityEngine.Transform)
    ICWM.HelperSystem.StartStuff:CreateItem (UnityEngine.GameObject) (at Assets/AssetICWM/Inventory/Scripts/Helper/StartStuff.cs:198)
    ICWM.HelperSystem.StartStuff:Start () (at Assets/AssetICWM/Inventory/Scripts/Helper/StartStuff.cs:50)

     
    HeyMyNameIsVoo likes this.
  44. HeyMyNameIsVoo

    HeyMyNameIsVoo

    Joined:
    Dec 25, 2015
    Posts:
    484
    Open the Tooltip script (double click on the error) and remove this line: [RequiredCompnent(typeof(MeshRenderer))] at the top of the scrit.
    Let me know if you will get the same error!
     
  45. Sledo

    Sledo

    Joined:
    Dec 27, 2013
    Posts:
    16
    There is no such line in the project. I could not find it through a file search.
    Gives out only three errors:

    Can't remove MeshRenderer because ToolTip (Script) depends on it
    UnityEngine.Object:Instantiate<UnityEngine.GameObject> (UnityEngine.GameObject,UnityEngine.Transform)
    ICWM.HelperSystem.StartStuff:CreateItem (UnityEngine.GameObject) (at Assets/AssetICWM/Inventory/Scripts/Helper/StartStuff.cs:198)
    ICWM.HelperSystem.StartStuff:Start () (at Assets/AssetICWM/Inventory/Scripts/Helper/StartStuff.cs:50)

    Can't remove MeshRenderer because ToolTip (Script) depends on it
    UnityEngine.Object:Instantiate<UnityEngine.GameObject> (UnityEngine.GameObject)
    ItemsClassList.ItemList:SetItemModdingParameters (bool,UnityEngine.Transform) (at Assets/AssetICWM/Inventory/Scripts/Items/ClassList.cs:499)
    ICWM.HelperSystem.Helper:SetParameters (ItemsClassList.ItemList,UnityEngine.GameObject,bool,bool,UnityEngine.GameObject,bool) (at Assets/AssetICWM/Inventory/Scripts/Helper/Helper.cs:315)
    ICWM.HelperSystem.StartStuff:CreateItem (UnityEngine.GameObject) (at Assets/AssetICWM/Inventory/Scripts/Helper/StartStuff.cs:203)
    ICWM.HelperSystem.StartStuff:Start () (at Assets/AssetICWM/Inventory/Scripts/Helper/StartStuff.cs:50)

    Can't remove MeshRenderer because ToolTip (Script) depends on it
    UnityEngine.Object:Instantiate<UnityEngine.GameObject> (UnityEngine.GameObject)
    ICWM.RenderSystem.RenderWeaponScreenIcon:SetScene (UnityEngine.RenderTexture,ItemsClassList.ItemList) (at Assets/AssetICWM/Inventory/Scripts/Render/RenderWeaponScreenIcon.cs:142)
    ICWM.RenderSystem.RenderWeaponScreenIcon/<RenderTexture>d__20:MoveNext () (at Assets/AssetICWM/Inventory/Scripts/Render/RenderWeaponScreenIcon.cs:187)
    UnityEngine.MonoBehaviour:StartCoroutine (System.Collections.IEnumerator)
    ICWM.RenderSystem.RenderWeaponScreenIcon:Update () (at Assets/AssetICWM/Inventory/Scripts/Render/RenderWeaponScreenIcon.cs:70)

    What to do about it?
     
    HeyMyNameIsVoo likes this.
  46. HeyMyNameIsVoo

    HeyMyNameIsVoo

    Joined:
    Dec 25, 2015
    Posts:
    484
    I'll try to fix it today and release the update tomorrow. Sorry for this!

    Edit: Version pending review
     
    Last edited: Jan 13, 2022
    Sledo likes this.
  47. Sledo

    Sledo

    Joined:
    Dec 27, 2013
    Posts:
    16
    Thanks! Another question is whether integration with other assets is planned, for example with HQ FPS Weapons?
    And maybe there are plans to create combat groups of detachments?
     
    HeyMyNameIsVoo likes this.
  48. HeyMyNameIsVoo

    HeyMyNameIsVoo

    Joined:
    Dec 25, 2015
    Posts:
    484
    1) Not planned.
    2) Sorry, also not planned.
     
  49. HeyMyNameIsVoo

    HeyMyNameIsVoo

    Joined:
    Dec 25, 2015
    Posts:
    484
    Update released! If you get the same error let me know!
     
    Sledo likes this.
  50. Sledo

    Sledo

    Joined:
    Dec 27, 2013
    Posts:
    16
    Hey! Thanks for the update, everything is working correctly now.

    But I can't figure out how the trading system works. I can buy a product even though I don't have the money to buy it. It is not clear what the cost of the goods is and how I can set up what the merchant sells. Why can't I sell the product...
    And something happened to shooting - at the start, zero cartridges are displayed, but shooting occurs.