Search Unity

[RELEASED] Ultimate Survival - The Complete Survival Template

Discussion in 'Assets and Asset Store' started by AngryPixelUnity, Nov 20, 2016.

Thread Status:
Not open for further replies.
  1. arie1994

    arie1994

    Joined:
    Jun 30, 2016
    Posts:
    86
    I get no answer by email so i'll try my luck here
    Would it be difficult to combine the fps machanics with a different inventory
    maybe like inventory pro.
    Also simple ledge climbe, vault and slide- does anybody got an idea on how to implement such machanics?
    I just like the fps controlls an weapons, but ithink i'll replase the inventory(if ther is no plans on making it jigsaw style
    so an item can take multiple slots)
     
  2. AngryPixelUnity

    AngryPixelUnity

    Joined:
    Oct 25, 2016
    Posts:
    816
    -Hi, inventory wise, even 0.1 is pretty modular so it shouldn't be difficult to integrate other inventories, like Inventory Pro.

    - You can add triggers where you want the ledge climb and vault to happen. Create 2 activities in the PlayerEventHandler script, like "Vault" and "Ledge Climb". And make them active or inactive if vault or ledge climb is active. Then, in the CCDrivenController script intercept the vault and ledge climb triggers and make the controller perform the certain action when the player presses the F button for example.

    Might seem difficult, let me know if you didn't understand something. The key is to look at the ladder mechanic, that one acts similarly.

    - We have plans to implement the jigsaw style inventory in 0.3. Just added it on Trello.
     
  3. arie1994

    arie1994

    Joined:
    Jun 30, 2016
    Posts:
    86
    Thank you for the quick response
    I know you dont want to give date's of release to not dissapoint the costumers
    but if you give an aproximation it would be easier to choose if i should buy a differrent invntory
    or just prototype with this one and wait for release.
    It's an important decision for my project.
     
  4. Will-D-Ramsey

    Will-D-Ramsey

    Joined:
    Dec 9, 2012
    Posts:
    221
    A sassy comment?
     
    uni7y and RobsonFMaciel like this.
  5. Will-D-Ramsey

    Will-D-Ramsey

    Joined:
    Dec 9, 2012
    Posts:
    221
    Ill say at least 3 months to 0.3, seems reasonable to me.
     
  6. nielshenriksen

    nielshenriksen

    Joined:
    Oct 13, 2010
    Posts:
    41
    Naaa.... no problem for me :)
     
    uni7y likes this.
  7. Legend458

    Legend458

    Joined:
    Mar 13, 2016
    Posts:
    190
    Ah ok. So I will use the code created by Cyrusc?
     
  8. Will-D-Ramsey

    Will-D-Ramsey

    Joined:
    Dec 9, 2012
    Posts:
    221
    Use this script for the Voxeland tool.
     
  9. Will-D-Ramsey

    Will-D-Ramsey

    Joined:
    Dec 9, 2012
    Posts:
    221
    The one above this post
     
  10. Timspurgeon

    Timspurgeon

    Joined:
    Jul 28, 2016
    Posts:
    24
    So do I replaced the surface database with this new one or are both to be used?
     
  11. sebasfreelance

    sebasfreelance

    Joined:
    Aug 27, 2015
    Posts:
    240
    Can somebody help me?


    If (the hdd is broken);
    {
    It's working = 0.2 * fixedDeltatime
    version0.2 = true;
    }

    As you can check I have no idea programming :)
     
  12. chiefarchon

    chiefarchon

    Joined:
    Jun 22, 2009
    Posts:
    80
    0.13 is now available on the asset store Yay Congrats :D
     
    Last edited: Jun 28, 2017
  13. Will-D-Ramsey

    Will-D-Ramsey

    Joined:
    Dec 9, 2012
    Posts:
    221
    No idea of humor either....
     
  14. Will-D-Ramsey

    Will-D-Ramsey

    Joined:
    Dec 9, 2012
    Posts:
    221
    Does it allow for adding terrain with Voxeland5
     
  15. csharpstudios

    csharpstudios

    Joined:
    Nov 21, 2016
    Posts:
    73
    Not sure if this is an error from VL or US, but when I added US to my project after I imported VL, I got
    Code (Error):
    1. Assets/Ultimate Survival/Integrations/Voxeland/Scripts/V_FPTool.cs(46,17): error CS0246: The type or namespace name `CoordDir' could not be found. Are you missing `Plugins' using directive?
    Any Idea why that is?
     
  16. AngryPixelUnity

    AngryPixelUnity

    Joined:
    Oct 25, 2016
    Posts:
    816
    Hi, you need to first import US and then Voxeland, then extract the archive.
     
    Last edited: Jun 28, 2017
    csharpstudios likes this.
  17. AngryPixelUnity

    AngryPixelUnity

    Joined:
    Oct 25, 2016
    Posts:
    816
    Assign the new one in the Game Controller inspector
     
  18. Brandon_Powell

    Brandon_Powell

    Joined:
    Jul 24, 2016
    Posts:
    58
    edit ** Probably DONT do this, it interferes with the digging integration as winterbyte implemented it.

    sorry for any confusion

    or anyone having trouble getting the base building to work with voxeland, create a layer called "Terrain" and assign it to the voxeland object, then under "Settings" in the voxeland inspector, make sure to check "Copy layers and tags to chunks"

    doesn't seem quite perfect, but it is definitely useable

    now to see if i can teach myself how serialization works....
     
    Last edited: Jun 29, 2017
  19. gegebel

    gegebel

    Joined:
    Jan 29, 2014
    Posts:
    469
    What do you mean by serialization? Instantiate is serialization, for example, as well as garbage collection, prefabs and so on...
     
  20. nexusrightsi

    nexusrightsi

    Joined:
    Jun 28, 2017
    Posts:
    1
    Can someone help me out here, I'm trying to somewhat make the tree placing less manually by adding a custom tree to the terrain generator, however it appears it doesn't apply the scripts from US but it does apply the basic unity scripts to the trees. So for instance: the trees do get a rigidbody and capsule collider, but mineable tree and surface identity don't get applied to the trees using the "tree painter tool" in the terrain generator. Nothing is set to static might you be wondering.
     
  21. Will-D-Ramsey

    Will-D-Ramsey

    Joined:
    Dec 9, 2012
    Posts:
    221
    Are there any changes in 0.13 other than Voxeland integration (just curious), and does the Voxeland integration include not only digging but adding terrain too?
     
  22. TheMessyCoder

    TheMessyCoder

    Joined:
    Feb 13, 2017
    Posts:
    522
    Hi all,

    Just to say I uploaded a short video showing how easy it is to integrate Enviro. I had a lot of emails and requests about doing this before I went away, so I promised and here it is.

    Oh, I nearly forgot! I have a copy of Enviro to give away. Going to pull a name out of a hat. All you need to do to enter is to subscribe and share the video on facebook or twitter (or something like that) and tag me so I can spy on all your stuff :)



    https://www.assetstore.unity3d.com/en/#!/content/33963?aid=1101lMAW

    I have owned this for a while and never really got around to playing with it until recently (got it in a sale on an impulse buy and dont regret it)
     
  23. Brandon_Powell

    Brandon_Powell

    Joined:
    Jul 24, 2016
    Posts:
    58
    i want to implement a save system for US until 0.2 drops, i'm teaching myself to code as i go, mostly came into this as an artist/storyteller

    the built in tree system won't do it, but there are several assets out there for "painting" prefabs in the editor or procedurally at runtime. i believe "infinite spawn" in the asset store might work for that, as a free asset
     
  24. Legend458

    Legend458

    Joined:
    Mar 13, 2016
    Posts:
    190
    Ok. So I'll follow the tutorial but add this code (and that's all the code I will need?)

    Code (CSharp):
    1. using System.Collections.Generic;
    2. using UltimateSurvival.GUISystem;
    3. using UnityEngine;
    4. using Voxeland5;
    5. namespace UltimateSurvival.Integrations.Voxeland
    6. {
    7.     /// <summary>
    8.     ///
    9.     /// </summary>
    10.     public class V_FPTool : FPMelee
    11.     {
    12.         [Header("Tool Settings")]
    13.         [SerializeField]
    14.         [Tooltip("Useful for making the tools gather specific resources (eg. an axe should gather only wood, pickaxe - only stone)")]
    15.         private UltimateSurvival.FPTool.ToolPurpose[] m_ToolPurposes;
    16.         [SerializeField]
    17.         [Range(0f, 1f)]
    18.         private float m_Efficiency = 0.5f;
    19.         [Header("Stone Loot")]
    20.         [SerializeField]
    21.         private LootItem[] m_Loot;
    22.         [SerializeField]
    23.         private bool m_ShowGatherMessage = true;
    24.         [SerializeField]
    25.         private Color m_MessageColor = Color.grey;
    26.         [SerializeField]
    27.         private Color m_LootNameColor = Color.yellow;
    28.         [Header("On Destroy Stone")]
    29.         [SerializeField]
    30.         private GameObject m_DestroyedObject;
    31.         [SerializeField]
    32.         private Vector3 m_DestroyedObjectOffset;
    33.         private Voxeland5.Voxeland m_Voxeland;
    34.         private CoordDir m_PrevAimCoord;
    35.         protected override void Start()
    36.         {
    37.             base.Start();
    38.             m_Voxeland = FindObjectOfType<Voxeland5.Voxeland>();
    39.         }
    40.         protected override void On_Hit()
    41.         {
    42.             base.On_Hit();
    43.             var raycastData = Player.RaycastData.Get();
    44.             if(!raycastData)
    45.                 return;
    46.             var mineable = raycastData.GameObject.GetComponent<MineableObject>();
    47.             if(mineable)
    48.                 mineable.OnToolHit(m_ToolPurposes, DamagePerHit, m_Efficiency);
    49.             Ray aimRay = Camera.main.ScreenPointToRay(new Vector2(Screen.width/2, Screen.height/2));
    50.             //aiming terrain block
    51.             CoordDir aimCoord = m_Voxeland.PointOut(aimRay);
    52.             //if any change
    53.             if (m_PrevAimCoord != aimCoord)
    54.             {
    55.                 //altering
    56.                 if (aimCoord.exists)
    57.                 {
    58.                     m_Voxeland.Alter(aimCoord, m_Voxeland.brush, Voxeland5.Voxeland.EditMode.dig,
    59.                         landType: m_Voxeland.landTypes.selected,
    60.                         objectType: m_Voxeland.objectsTypes.selected,
    61.                         grassType: m_Voxeland.grassTypes.selected);
    62.                 }
    63.                 if (m_Loot.Length > 0)
    64.                     GiveLootToPlayer(m_Efficiency);
    65.                 m_PrevAimCoord = aimCoord;
    66.             }
    67.         }
    68.         private void GiveLootToPlayer(float amountFactor)
    69.         {
    70.             int randomItemIndex = ProbabilityUtils.RandomChoiceFollowingDistribution(GetLootProbabilities());
    71.             var randomItem = m_Loot[randomItemIndex];
    72.             int added;
    73.             randomItem.AddToInventory(out added, amountFactor);
    74.             string colorToHex = ColorUtils.ColorToHex(m_LootNameColor);
    75.             if (m_ShowGatherMessage && added > 0)
    76.                 MessageDisplayer.Instance.PushMessage(
    77.                     string.Format("Gathered <color={0}>{1}</color> x {2}", colorToHex, randomItem.ItemName, added), m_MessageColor);
    78.             //print("Added loot with index: " + randomItemIndex);
    79.         }
    80.         private List<float> GetLootProbabilities()
    81.         {
    82.             List<float> probabilities = new List<float>();
    83.             for (int i = 0; i < m_Loot.Length; i++)
    84.                 probabilities.Add(m_Loot[i].SpawnChance);
    85.             return probabilities;
    86.         }
    87.     }
    88. }
    89.  
     
  25. Will-D-Ramsey

    Will-D-Ramsey

    Joined:
    Dec 9, 2012
    Posts:
    221
    If I have to tell you again im scared for your projects....yes.
     
  26. Legend458

    Legend458

    Joined:
    Mar 13, 2016
    Posts:
    190
    I just like to confirm things lol.
     
    Will-D-Ramsey likes this.
  27. csharpstudios

    csharpstudios

    Joined:
    Nov 21, 2016
    Posts:
    73
  28. Will-D-Ramsey

    Will-D-Ramsey

    Joined:
    Dec 9, 2012
    Posts:
    221
    So how would I go about using a rock as a tool, so that I could add in more terrain to voxeland? I dont need any code I have the Voxeland FPTool script.
     
  29. Timspurgeon

    Timspurgeon

    Joined:
    Jul 28, 2016
    Posts:
    24
    Anyone having issues with building on voxel terrain? I changed the layer to terrain and can build but voxel doesnt work after change
     
  30. gegebel

    gegebel

    Joined:
    Jan 29, 2014
    Posts:
    469
    You need a script called "Tree Manager" attached to your terrain and you MUST disable tree colliders on the terrain and remove them from the trees.
    I suggest you watch the tutorials from @TheMessyCoder for more advanced use of US.
     
  31. gegebel

    gegebel

    Joined:
    Jan 29, 2014
    Posts:
    469
    Nice tutorial, still will wait for UniStorm integration though. I managed to make it work, but what's the need if it's integrated anyway.
     
  32. gegebel

    gegebel

    Joined:
    Jan 29, 2014
    Posts:
    469
    I suggest you watch the tutorials from unity for this


    When you are done with this, you should watch


    From there you should understand a bit how it works and suggest you read https://docs.unity3d.com/Manual/script-Serialization.html

    If you want something to understand immediately and working within a few hours:


    Try to learn from it, copy/paste won't help you much here.

    When you are done with all of this, you should be an expert in saving/loading. Have fun.
     
  33. pushingpandas

    pushingpandas

    Joined:
    Jan 12, 2013
    Posts:
    1,419
    So, June is done. 0.2 more likely JULY or AUGUST or even SEPTEMBER? What are you guesses? I hope for JULY but I guess AUGUST. and 03 hitting in DECEMBER.
     
    gegebel likes this.
  34. Molund

    Molund

    Joined:
    Mar 16, 2012
    Posts:
    5
    Who cares when it is released, it's a high quality package espeically for the price, just let them take the time they need to work on it.
     
  35. sebasfreelance

    sebasfreelance

    Joined:
    Aug 27, 2015
    Posts:
    240
  36. gegebel

    gegebel

    Joined:
    Jan 29, 2014
    Posts:
    469
    Considering 0.1 got released beginning of March, I'd say 0.3 could be hitting in December as you said. Then again, we still wait for 0.2 which, even if uploaded soon would only hit end of July or even August. So maybe next year 0.3 ?
     
  37. Will-D-Ramsey

    Will-D-Ramsey

    Joined:
    Dec 9, 2012
    Posts:
    221
    Too much..
     
    RobsonFMaciel likes this.
  38. gegebel

    gegebel

    Joined:
    Jan 29, 2014
    Posts:
    469
    It's just funny how people think we are waiting for 0.2, just for the sake of having more stuff.
    All you can find in 0.2 is not that complicated to script. Fact is, it's better to have a unified system instead of dozens of scripts somehow working together and nothing will work with the next update. So my team loses time scripting something irrelevant when 0.2 hits. Talk about logic. Especially since @Winterbyte312 said the changes are kinda huge.
    I see no reason scripting something myself, knowing it will be available in an asset I bought.

    I just think it's strange something breaks exactly when something got refused on the asset store.
    Since I can't verify any of this, I just have to accept it. To me it sounds like "my dog ate my homework" kinda.

    When I then read, an update has been done for Voxeland, which of course everyone owns for sure, I wonder if the teams effort wouldn't be better used finishing 0.2.

    Anyway, 0.1 got released in March, 0.2 was actually planned for April, got pushed back to May due to more stuff, now we have end of June. So I'm not waiting since 1 month, but actually 3, so yea, I'm impatient. Sue me.
     
  39. Will-D-Ramsey

    Will-D-Ramsey

    Joined:
    Dec 9, 2012
    Posts:
    221
    Maybe your team should spend time working on other parts of the game. If your project is 100% finished except for someone elses work it sounds like the game design philosophy of an asset flipper.

    Just stop complaining, really its annoying. Just call your mom on the phone and complain to her so we dont have to see it.
     
    Kaen_SG and RobsonFMaciel like this.
  40. gegebel

    gegebel

    Joined:
    Jan 29, 2014
    Posts:
    469
    Maybe I should do that, you got the phone number from Hell? I guess she should be there...

    Added to this, it wasn't a complaint, just stating a fact.
    My team IS working on other parts, and no it's not 100% done. Which doesn't mean I don't have time to ask for results after waiting for so long.
    Maybe you can teach me about instances and farming, that would keep me busy :D
     
    Will-D-Ramsey likes this.
  41. Will-D-Ramsey

    Will-D-Ramsey

    Joined:
    Dec 9, 2012
    Posts:
    221
    So back to this forum being productive anyone have any luck with integration with Emerald AI, I know its in the road map but due to delays with US (which are unfortunate but understandable) Im implementing this early, I think it shouldn't be difficult. I believe I just need to call the hit from the tool/weapon like Voxeland integration.
     
  42. Will-D-Ramsey

    Will-D-Ramsey

    Joined:
    Dec 9, 2012
    Posts:
    221
    Sure, saying "my dog ate my homework" is totally looking at this from a factual perspective, and if your team is working on other stuff then why did you say "my team losses time"? if you're going to complain at least be consistent.
     
    RobsonFMaciel likes this.
  43. gegebel

    gegebel

    Joined:
    Jan 29, 2014
    Posts:
    469
    Maybe because some people of the team can't work and some can ? It's not that they are doing nothing, but they could be way more productive with 0.2.

    As for Emerald AI, I tried it myself. Damage dealing is problematic on both ends.
    This is used in EmeraldAI to deal damage to the player
    Code (CSharp):
    1. currentAnimal.SendMessage(SendMessageForPlayerDamage, attackDamage);
    All you need is find a script dealing the damage in US. I didn't find anything on the Player, but I didn't search very long either.

    To deal damage to an animal, you would need this:
    Code (CSharp):
    1. SendMessage("Damage", attackDamage);
    from Emerald_Animal_AI.cs
    Code (CSharp):
    1. //Call this function if you want to damage this animal from an external script.
    2.     public void Damage (int damageReceived)
    3.     {
    4.         if (currentHealth >= 1)
    5.         {
    6.             //If a defensive NPC is hit by the player, attack the player
    7.             if (aggression == 4)
    8.             {
    9.                 currentAttackAnimation = Random.Range(1, totalAttackAnimations+1);
    10.                 aggression = 3;
    11.  
    12.                 triggerCollider.enabled = false;
    13.                 triggerCollider.enabled = true;
    14.             }
    15.  
    16.             StartCoroutine(DelayReceivedDamage());
    17.             tempDamage = damageReceived;
    18.  
    19.         }
    20.     }
     
  44. gegebel

    gegebel

    Joined:
    Jan 29, 2014
    Posts:
    469
    I managed to get Emerald AI to work with the Iron Spear.
    I set up an animal with Emerald AI, Layer "Entity", added "AI Event Handler" Component.
    On the Spine of the animal I added a "Hitbox" Component and a "Surface Identity" component, added a Collider slightly bigger than the others. Changed the Layer of the Spine to "Hitbox".

    Added a line to the script "Hitbox" on line 31:
    Code (CSharp):
    1. m_Collider.GetComponentInParent<Emerald_Animal_AI>().SendMessage("Damage", -damageData.Delta);
    Seems to work better than the previous version I added.

    Works with the bow, but not the Bone Club
     
    Last edited: Jun 29, 2017
  45. Will-D-Ramsey

    Will-D-Ramsey

    Joined:
    Dec 9, 2012
    Posts:
    221
    Ill try your code when I get back from the office later. The issue I ran into this morning is the NavMesh, the Emerald AI want a navmesh but im generating my terrain with Voxeland so it get an error about not finding the navmesh..can I generate NavMesh with the terrain?
     
  46. gegebel

    gegebel

    Joined:
    Jan 29, 2014
    Posts:
    469
    there is a dynamic navmesh since 5.6 so it should be possible. Never tried though.
     
  47. Will-D-Ramsey

    Will-D-Ramsey

    Joined:
    Dec 9, 2012
    Posts:
    221
    I just updated from 5.5 to 5.6.2 when updating Ult Surv. Ill give it a try, just found out I can work from home tomorrow so Ill use my Friday doing that.
     
    gegebel likes this.
  48. bobbybau

    bobbybau

    Joined:
    Feb 28, 2017
    Posts:
    33
    wow reading several of your posts.. you have one of those "you need punched in the face attitudes" maybe you need to spend less time on the forums downing everyone and pay attention to your own project
     
  49. Will-D-Ramsey

    Will-D-Ramsey

    Joined:
    Dec 9, 2012
    Posts:
    221
    Hahahahaha! I cant work on my project while im chilling at the office (duh), If a "you need to be punched in the face" attitude is anything like "stop complaining that something was a little delayed" attitude then fine "its a me". Interesting you haven't read any of my posting answering questions for people on the forum and offering advice. But whatever be picky about it lmao.
     
    jesseganey likes this.
  50. Will-D-Ramsey

    Will-D-Ramsey

    Joined:
    Dec 9, 2012
    Posts:
    221
    If you consider the 2 - 3 people I called out for complaining as everyone you're either wrong or being an idiot on purpose to fit your argument. Either way its pretty pathetic.
     
    jesseganey likes this.
Thread Status:
Not open for further replies.