• Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
  • Asset Store
  • Get Unity

UNITY ACCOUNT

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account
  • Blog
  • Forums
  • Answers
  • Evangelists
  • User Groups
  • Beta Program
  • Advisory Panel

Navigation

  • Home
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
    • Blog
    • Forums
    • Answers
    • Evangelists
    • User Groups
    • Beta Program
    • Advisory Panel

Unity account

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account

Language

  • Chinese
  • Spanish
  • Japanese
  • Korean
  • Portuguese
  • Ask a question
  • Spaces
    • Default
    • Help Room
    • META
    • Moderators
    • Topics
    • Questions
    • Users
    • Badges
  • Home /
  • Help Room /
avatar image
Question by Carl0s11 · Jun 04, 2020 at 03:38 PM · c#scripting problemplayersaveload

Save/Load Player System

Hello! So I tried this script from a guy hopeing that would work. But my problems are:

1- Doesn't give any errors. 2- I don't know if saves. 3- It doens't load.

SaveSystem Script

 using UnityEngine;
 using System.IO;
 using System.Runtime.Serialization.Formatters.Binary;
 
 public static class SaveSystem
 {
   public static void SavePlayer (Player player)
     {
         BinaryFormatter formatter = new BinaryFormatter();
         string path = Application.persistentDataPath + "/player.save";
         FileStream stream = new FileStream(path, FileMode.Create);
 
         PlayerData data = new PlayerData(player);
 
         formatter.Serialize(stream, data);
         stream.Close();
   }
 
     public static PlayerData LoadPlayer ()
     {
         string path = Application.persistentDataPath + "/player.save";
 
         if(File.Exists(path))
         {
             BinaryFormatter formatter = new BinaryFormatter();
             FileStream stream = new FileStream(path, FileMode.Open);
 
             PlayerData data = formatter.Deserialize(stream) as PlayerData;
             stream.Close();
             return data;      
         }
         else
         {
             Debug.LogError("Save nao encontrado" + path);
             return null;
         }
     }
 }

PlayerData Script

 using System.Collections;
 using System.Collections.Generic;
 using UnityEngine;
 
 [System.Serializable]
 public class PlayerData
 {
     //public float health;
     //public float hunger;
     //public float thirst;
     public float[] position;
 
     public PlayerData(Player player)
     {
         //health = player.health;
         //hunger = player.hunger;
         //thirst = player.thirst;
 
         position = new float[3];
         position[0] = player.transform.position.x;
         position[1] = player.transform.position.y;
         position[2] = player.transform.position.z;
     }   
 }

Player Script(Used for the buttons)

 using System.Collections;
 using System.Collections.Generic;
 using UnityEngine;
 using UnityEngine.UI;
 using UnityEngine.SceneManagement;
 using System.Diagnostics;
 
 [System.Serializable]
 public class Player : MonoBehaviour
 {
     [SerializeField] private Transform player;
     [SerializeField] private Transform respawnPoint;
 
     public float maxHealth, maxThirst, maxHunger;
     public float thirstIncreaseRate, hungerIncreaseRate;
     public float health; 
     public bool dead;
 
     public float damage;
     public bool weaponEquipped;
 
     public static bool triggeringWithAI;
     public static GameObject triggeringAI;
 
     public void Start()
     {
         health = maxHealth;
     }
 
    public void Update()
     {
         //Detetar e matar AI
         if (triggeringWithAI == true && triggeringAI)
         {
             if(Input.GetMouseButtonDown(0))
             {
                 Attack(triggeringAI);
             }
         }
         if (!triggeringAI)
             triggeringWithAI = false;
     }
 
     //Ataque
     public void Attack(GameObject target)
     {
         if (target.tag == "Animal")// && weaponEquipped == true
         {   
             Animal animal = target.GetComponent<Animal>();
             animal.health -= damage;
         }
     }
 
     //Player morre e renasce
     public void Die()
     {
         dead = true;
         print("Morreste...");
         Respawn();
     }
 
     public void Respawn()
     {
         dead = false;
         GetComponent<PlayerVitals>().healthSlider.value = maxHealth;
         GetComponent<PlayerVitals>().hungerSlider.value = maxHunger;
         GetComponent<PlayerVitals>().thirstSlider.value = maxThirst;
         player.transform.position = respawnPoint.transform.position;
 
     }
    
     //Beber
     public void Drink(float decreaseRate)
     {
        GetComponent<PlayerVitals>().thirstSlider.value += decreaseRate; 
     }
 
     //Comer
     public void Eat(float decreaseRate)
     {
        GetComponent<PlayerVitals>().hungerSlider.value += decreaseRate;
     }
 
     //Curar
     public void Heal(float decreaseRate)
     {
         GetComponent<PlayerVitals>().healthSlider.value += decreaseRate;
     }
 
     //Ao colidir com Animal
     public void OnTriggerEnter(Collider other)
     {
         if (other.tag == "Animal")
         {
             triggeringAI = other.gameObject;
             triggeringWithAI = true;
         }
     }
 
     public void OnTriggerExit(Collider other)
     {
         if (other.tag == "Animal")
         {
             triggeringAI = null;
             triggeringWithAI = false;
         }
     }
     //Save-Load
     public void SavePlayer()
     {
         SaveSystem.SavePlayer(this);
     }
 
     public void LoadPlayer()
     {
         PlayerData data = SaveSystem.LoadPlayer();
 
         //health = data.health;
         //hunger = data.hunger;
         //thirst = data.thirst;
 
         Vector3 position;
         position.x = data.position[0];
         position.y = data.position[1];
         position.z = data.position[2];
         transform.position = position;
     }
 }

I hope someone can help me.

Best regards.

,Hello! So I made this Script to make a Save/Load system. At the moment doesn't give errors, but doesn't load(I don't know if saves to). I hope someone could help!

Save System

 using UnityEngine;
 using System.IO;
 using System.Runtime.Serialization.Formatters.Binary;
 
 public static class SaveSystem
 {
   public static void SavePlayer (Player player)
     {
         BinaryFormatter formatter = new BinaryFormatter();
         string path = Application.persistentDataPath + "/player.save";
         FileStream stream = new FileStream(path, FileMode.Create);
 
         PlayerData data = new PlayerData(player);
 
         formatter.Serialize(stream, data);
         stream.Close();
   }
 
     public static PlayerData LoadPlayer ()
     {
         string path = Application.persistentDataPath + "/player.save";
 
         if(File.Exists(path))
         {
             BinaryFormatter formatter = new BinaryFormatter();
             FileStream stream = new FileStream(path, FileMode.Open);
 
             PlayerData data = formatter.Deserialize(stream) as PlayerData;
             stream.Close();
             return data;      
         }
         else
         {
             Debug.LogError("Save nao encontrado" + path);
             return null;
         }
     }
 }

Player Data

 using System.Collections;
 using System.Collections.Generic;
 using UnityEngine;
 
 [System.Serializable]
 public class PlayerData
 {
     public float health;
     //public float hunger;
     //public float thirst;
     public float[] position;
 
     public PlayerData(Player player)
     {
         health = player.health;
         //hunger = player.hunger;
         //thirst = player.thirst;
 
         position = new float[3];
         position[0] = player.transform.position.x;
         position[1] = player.transform.position.y;
         position[2] = player.transform.position.z;
     }   
 
 }

Player Script to make load and save from a button

 using System.Collections;
 using System.Collections.Generic;
 using UnityEngine;
 using UnityEngine.UI;
 using UnityEngine.SceneManagement;
 using System.Diagnostics;
 
 public class Player : MonoBehaviour
 {
     [SerializeField] private Transform player;
     [SerializeField] private Transform respawnPoint;
 
     public float maxHealth, maxThirst, maxHunger;
     public float thirstIncreaseRate, hungerIncreaseRate;
     public float health; 
     public bool dead;
 
     public float damage;
     public bool weaponEquipped;
 
     public static bool triggeringWithAI;
     public static GameObject triggeringAI;
 
     public void Start()
     {
         health = maxHealth;
     }
 
    public void Update()
     {
         //Detetar e matar AI
         if (triggeringWithAI == true && triggeringAI)
         {
             if(Input.GetMouseButtonDown(0))
             {
                 Attack(triggeringAI);
             }
         }
         if (!triggeringAI)
             triggeringWithAI = false;
     }
 
     //Ataque
     public void Attack(GameObject target)
     {
         if (target.tag == "Animal")// && weaponEquipped == true
         {   
             Animal animal = target.GetComponent<Animal>();
             animal.health -= damage;
         }
     }
 
     //Player morre e renasce
     public void Die()
     {
         dead = true;
         print("Morreste...");
         Respawn();
     }
 
     public void Respawn()
     {
         dead = false;
         GetComponent<PlayerVitals>().healthSlider.value = maxHealth;
         GetComponent<PlayerVitals>().hungerSlider.value = maxHunger;
         GetComponent<PlayerVitals>().thirstSlider.value = maxThirst;
         player.transform.position = respawnPoint.transform.position;
 
     }
    
     //Beber
     public void Drink(float decreaseRate)
     {
        GetComponent<PlayerVitals>().thirstSlider.value += decreaseRate; 
     }
 
     //Comer
     public void Eat(float decreaseRate)
     {
        GetComponent<PlayerVitals>().hungerSlider.value += decreaseRate;
     }
 
     //Curar
     public void Heal(float decreaseRate)
     {
         GetComponent<PlayerVitals>().healthSlider.value += decreaseRate;
     }
 
     //Ao colidir com Animal
     public void OnTriggerEnter(Collider other)
     {
         if (other.tag == "Animal")
         {
             triggeringAI = other.gameObject;
             triggeringWithAI = true;
         }
     }
 
     public void OnTriggerExit(Collider other)
     {
         if (other.tag == "Animal")
         {
             triggeringAI = null;
             triggeringWithAI = false;
         }
     }
     //Save-Load
     public void SavePlayer()
     {
         SaveSystem.SavePlayer(this);
     }
 
     public void LoadPlayer()
     {
         PlayerData data = SaveSystem.LoadPlayer();
 
         //health = data.health;
         //hunger = data.hunger;
         //thirst = data.thirst;
 
         Vector3 position;
         position.x = data.position[0];
         position.y = data.position[1];
         position.z = data.position[2];
         transform.position = position;
     }
 }

Best Regards

Comment

People who like this

0 Show 0
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

0 Replies

· Add your reply
  • Sort: 

Your answer

Hint: You can notify a user about this post by typing @username

Up to 2 attachments (including images) can be used with a maximum of 524.3 kB each and 1.0 MB total.

Welcome to Unity Answers

If you’re new to Unity Answers, please check our User Guide to help you navigate through our website and refer to our FAQ for more information.

Before posting, make sure to check out our Knowledge Base for commonly asked Unity questions.

Check our Moderator Guidelines if you’re a new moderator and want to work together in an effort to improve Unity Answers and support our users.

Follow this Question

Answers Answers and Comments

840 People are following this question.

avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image

Related Questions

I can't figure out why my score doesn't save/increase 0 Answers

OnApplicationQuit 2 Answers

How can I make the back of the object face the player? 0 Answers

Player not moving in the right direction instantly 1 Answer

How do i ajust the player height acording to the height of the roof in a first person game? 1 Answer


Enterprise
Social Q&A

Social
Subscribe on YouTube social-youtube Follow on LinkedIn social-linkedin Follow on Twitter social-twitter Follow on Facebook social-facebook Follow on Instagram social-instagram

Footer

  • Purchase
    • Products
    • Subscription
    • Asset Store
    • Unity Gear
    • Resellers
  • Education
    • Students
    • Educators
    • Certification
    • Learn
    • Center of Excellence
  • Download
    • Unity
    • Beta Program
  • Unity Labs
    • Labs
    • Publications
  • Resources
    • Learn platform
    • Community
    • Documentation
    • Unity QA
    • FAQ
    • Services Status
    • Connect
  • About Unity
    • About Us
    • Blog
    • Events
    • Careers
    • Contact
    • Press
    • Partners
    • Affiliates
    • Security
Copyright © 2020 Unity Technologies
  • Legal
  • Privacy Policy
  • Cookies
  • Do Not Sell My Personal Information
  • Cookies Settings
"Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere (more info here). Other names or brands are trademarks of their respective owners.
  • Anonymous
  • Sign in
  • Create
  • Ask a question
  • Spaces
  • Default
  • Help Room
  • META
  • Moderators
  • Explore
  • Topics
  • Questions
  • Users
  • Badges