|
Post by shadex on Mar 18, 2019 19:47:47 GMT
It doesn't, its missing item types like consumables and the reloading fuction is a mess. Not shitting on the community work so far, which is great, but this integration is far from optimal, but please don't destroy any chance of an official integration ever becoming true by bringing up false information like this. Devdog already has said at least 3 separate times now that he will NOT do any official integration. Inventory Pro is pretty much in maintenance mode, as it's is pretty complete. feel free to ask him on Discord if you want to hear him tell you himself. There is pretty much a less then 1% chance he will ever even seriously look at integration. He's been working on Odin and his newer assets.
As for the intigration, why not post your itemType code, and i'll fix it, Since IP's documentation gives you a template, it's pretty much 2 lines of code to call changeHealth() for a heal potion, shouldn't take me long.
|
|
|
Post by shadex on Mar 18, 2019 19:53:43 GMT
Here is a script i grabbed from DevDogg's discord. Throw it on the player, and set TimeToLoad to 1, and assign the character window. It will work if your using easysave2 or IP's own save script. It re-equips all the equipment on the characterUI window, so the character shows up with the weapon in hand instead of having to re-equip it manually every time you hit play
[code]using System.Collections; using System.Collections.Generic; using UnityEngine; using Devdog.InventoryPro; using Devdog.General.ThirdParty.UniLinq;
public class IP_PlayerReloadCollection : MonoBehaviour {
public CharacterUI characterUI; //Assign in Inspector private uint quantity; public float TimeToLoad = 1f; void Start() { Invoke("ReloadEquipment", TimeToLoad); //Debug.Log("Reload Equipment"); }
public void ReloadEquipment() { if (characterUI != null) {
for (int i = 0; i < characterUI.Count(); i++) { var itemToUnEquip = characterUI[i].item as EquippableInventoryItem;
if (itemToUnEquip != null) { quantity = itemToUnEquip.currentStackSize; }
Debug.Log("Quantity :" + quantity); if (itemToUnEquip != null) { var itemID = itemToUnEquip.ID; var itemToEquip = ItemManager.database.items[itemID] as EquippableInventoryItem; if (quantity != 0) { itemToEquip.currentStackSize = quantity; } characterUI.UnEquipItem(itemToUnEquip, false); characterUI.EquipItem(characterUI.equippableSlots[i], itemToEquip); var itemStats = itemToEquip.stats; characterUI.equippableSlots[i].characterCollection.character.stats.ChangeAll(itemStats, 1f); } } } else { Debug.LogError("CharackterUI is not assigned! Cant Reload Equipment"); } }
}
|
|
lhide
Junior vMember
Posts: 25
|
Post by lhide on Mar 20, 2019 1:11:01 GMT
It doesn't, its missing item types like consumables and the reloading fuction is a mess. Not shitting on the community work so far, which is great, but this integration is far from optimal, but please don't destroy any chance of an official integration ever becoming true by bringing up false information like this. It does work, consumables (type from Invector) don't have to be explicitly supported as you define them in IPro. And reloading does work if set up properly. So please don't bring up false information like this. Of course an Official integration would be nice, and probably is long overdue at this point. However IPro is a very complex asset and even an official integration might be very opinionated, and would result in the need for a lot of additional support from both sides. My bad, you are right. The aforementioned integration works quite well. I thought pararini was talking about sickscore's integration which doesnt work. Your integration works quite well, thanks for sharing it with us!
|
|
lhide
Junior vMember
Posts: 25
|
Post by lhide on Mar 20, 2019 1:15:06 GMT
It doesn't, its missing item types like consumables and the reloading fuction is a mess. Not shitting on the community work so far, which is great, but this integration is far from optimal, but please don't destroy any chance of an official integration ever becoming true by bringing up false information like this. Devdog already has said at least 3 separate times now that he will NOT do any official integration. Inventory Pro is pretty much in maintenance mode, as it's is pretty complete. feel free to ask him on Discord if you want to hear him tell you himself. There is pretty much a less then 1% chance he will ever even seriously look at integration. He's been working on Odin and his newer assets.
As for the intigration, why not post your itemType code, and i'll fix it, Since IP's documentation gives you a template, it's pretty much 2 lines of code to call changeHealth() for a heal potion, shouldn't take me long.
Thanks, i just misunderstood the whole thing, as i said in the previous post.
|
|
|
Post by shadex on Mar 20, 2019 15:29:40 GMT
Here is a simple IP ItemType template. It shows where stuff should go, and should give entry level coders control over TPC's stats and the animator, so you can manipulate it on use of this itemType. For instance if you wanted to add a "Food" type, you'll want to trigger an "Eat" animation, play a sound and restore health. You can also spawn a gameobject, though you'll want to set position and rotation to something.
using UnityEngine; using System.Collections; using System.Collections.Generic; using Devdog.General; using Invector.vCharacterController;
namespace Devdog.InventoryPro { public class NameOfScript: InventoryItemBase {
//All Variables you declare here will appear in the IP editor if set to public. //you can use bools or switch case to allow multiple variations (IE potions itemTypes that want Heal potions and Stamina potions
private vThirdPersonController HeroBase; //reference to TPC, needed to change most playable stats like health, stamina private Animator anime; //Reference to an animator.
public int HealthAmount; public Gameobject PrefabToSpawn; // refrence to a gameobject
public General.AudioClipInfo audioClipWhenUsed; //code to actually use the audio
public override LinkedList<ItemInfoRow[]> GetInfo() { var info = base.GetInfo(); info.Remove(info.First.Next);
info.AddAfter(info.First, new InfoBoxUI.Row[]){
new InfoBoxUI.Row("MessageHere", VariableToDisplay.ToString(), Color.green, Color.green) //This makes stuff appear in the log/chat }
return info; }
public override void NotifyItemUsed(uint amount, bool alsoNotifyCollection) { base.NotifyItemUsed(amount, alsoNotifyCollection);
PlayerManager.instance.currentPlayer.inventoryPlayer.stats.SetAll(stats); //Devdog code to update any IP stats you have on use }
public override int Use() { //Inventory Pro Stuff int used = base.Use(); if (used < 0) return used; if (currentStackSize <= 0) return -2; //end inventory pro default logic
//Examples of code NotifyItemUsed(1, true); //On Use, remove 1 from the item (set 1 to 0 for unlimited use) AudioManager.AudioPlayOneShot(audioClipWhenUsed); //Play Audio on use, set when making the item anime = GameObject.FindWithTag("Player").GetComponent<Animator>(); //refrence to the players aniamtor HeroBase = GameObject.FindWithTag("Player").GetComponent<vThirdPersonController>(); //Refrence to TPC to access ChangeHealth()
anime.SetTrigger("SkillTrigger"); //fire the "SkillerTrigger" trigger in the animator HeroBase.ChangeHealth(HealthAmount); //Will health for HealthAmount, which you set when making an item Instantiate(PrefabToSpawn); //spawn the gameobject at position rotation (you need to fill those out)
currentStackSize--; // Remove 1 from stack
return 1; // 1 item used } } }
|
|
|
Post by thevikinguk on Mar 27, 2019 22:41:18 GMT
Hey guys,
I have hit a barrier after researching for hours, I keep coming back to this post regarding integrating Invector with Inventory Pro, does anyone know if this is the best solution, or is there anything else I can do?
|
|
|
Post by betamax on Mar 28, 2019 0:34:47 GMT
Hey guys, I have hit a barrier after researching for hours, I keep coming back to this post regarding integrating Invector with Inventory Pro, does anyone know if this is the best solution, or is there anything else I can do? Invector is supposed to have an inventory update. Lets hope they exand and improve their current one.
|
|
|
Post by missbig on Jun 12, 2019 5:24:35 GMT
Will this still work for the newest invector shooter template? Or do I have to change scripts so it could still work? and if so what scripts do I have to change? I do know that this asset is not going to ever have an official integration because of the rucksack asset. I do wish they would change that.
|
|
|
Post by shadex on Jan 27, 2020 5:13:09 GMT
|
|
|
Post by betamax on Feb 5, 2020 14:21:20 GMT
Does anyone who has this Inventory Pro fully integrated have an COMPLETE how to guide?
|
|
|
Post by shadex on Mar 3, 2020 18:33:39 GMT
Does anyone who has this Inventory Pro fully integrated have an COMPLETE how to guide? It's a waste to do a "Complete" guide on it. There are a bunch of things that don't work out of the box with Invector, like weapon equipping (due to how IP categorizes stuff), ammo, etc. Your going to need to code a bunch of custom stuff, depending on what type of game your making. A 3rd person shooter will be a completely different integration then a melee integration.
What you would need is someone who is good at coding and understands it, and they would be able to Integrate off of sickscore's and IP documentation anyways. A guide wouldn't be that helpful, as you would need to understand how you want to use ItemTypes, Store Data, and know what else you have integrated (like save systems, etc). I hate to say it, as it sounds like a copout, but if your just not understanding 1 or 2 things, ask a question. If you don't understand any of it, then you may need to level up as a dev to use this sword.
|
|
|
Post by betamax on Mar 4, 2020 16:49:16 GMT
Don't worry... I gave up on it already lol.
|
|