Wayback Machinekoobas.hobune.stream
May JUN Jul
Previous capture 12 Next capture
2021 2022 2023
1 capture
12 Jun 22 - 12 Jun 22
sparklines
Close Help
  • 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
0
Question by cbrownz · Jul 17, 2017 at 04:38 AM · c#savetimerhighscores

Save Timer HighScore

Hi yall, I am currently working on a game were it has a timer go and the best time is the one that can complete the course the quickest. For example, the first run if I get 40 seconds that will be saved as the high score but if the second run I get 30 seconds that will be the new high score. My app currently does the opposite were if I get a higher time that will be the new high score.

Notes: Yes I have tried to switch the sign to less than "(t < PlayerPrefs.GetFloat ("HighScore", 0))" but the issue then is that no time can beat "0" as a high score.

Source Code C#:

using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; using UnityEngine.Internal;

public class TImer : MonoBehaviour {

 public Text timerText;
 public Text highscore;
 private float startTime;
 private bool finished = false;



 // Use this for initialization
 void Start () {
     startTime = Time.time;
     highscore.text = PlayerPrefs.GetFloat ("HighScore", 0).ToString();

 }
 
 // Update is called once per frame
 void Update ()
 {
     float t = Time.time - startTime;

     string minutes = ((int)t / 60).ToString ();
     string seconds = (t % 60).ToString ("f2");

     timerText.text = minutes + ":" + seconds;

     if (t > PlayerPrefs.GetFloat ("HighScore", 0)) {

         PlayerPrefs.SetFloat ("HighScore", t);
         highscore.text = t.ToString ();

     } 

 }


Comment
Add comment
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

2 Replies

· Add your reply
  • Sort: 
avatar image
0

Answer by Khumo187 · Apr 26, 2020 at 04:03 PM

@cbrownz I spent the past 2 days trying to solve this same issue for my game, I couldn't find any tutorials that dealt with saving the fastest time but after almost losing my mind, I just finally got it to work :) Incase anyone ever asks a similar question, here is my solution dealing with my code. I called the StopTimer() function in another script that handled the end of the level...

using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI;

{

 public Text highScore;

 public Text timeScore;

 public bool timerActive = true;

 public float timeTaken;

 public float sceneBestTime = 60f;

 private void Start()
 {
     highScore.text = PlayerPrefs.GetFloat("HighScore", 0).ToString();

     sceneBestTime = PlayerPrefs.GetFloat("CurrentBestTime", sceneBestTime);
 }

 private void Update()
 {
     if (timerActive)
     {
         timeTaken += Time.deltaTime;

         timeScore.text = timeTaken.ToString();
     }
 }

 public void StopTimer()
 {
     timerActive = false;

     if (timeTaken < sceneBestTime)
     {
         highScore.text = timeTaken.ToString();

         PlayerPrefs.SetFloat("CurrentBestTime", timeTaken);

         PlayerPrefs.SetFloat("HighScore", timeTaken);
     }
 }

}

Comment
Add comment · Share
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
avatar image
0

Answer by hubertasjuzenas · Apr 27, 2020 at 09:41 AM

@Cuttlas-U So i took script from this web: https://stackoverflow.com/questions/45262255/save-timer-highscore-unity-c-sharp

I think it is the same guy here, because the nickname looks the same too :D But the problem, is that when i start the game Time counts well, but the problem is that highscore always stays at 0. He doesn't move at all, even if i wait for more than a minute. Like I said i am stuck with it over a week and can't find any solution in the internet of how to fix it

using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI;

public class Timer : MonoBehaviour { public Text timerText; public Text highscore; private float startTime;

 public void GameFinished()
 {
     float t = Time.time - startTime;
     if (t < PlayerPrefs.GetFloat("HighScore", float.MaxValue))
     {
         PlayerPrefs.SetFloat("HighScore", t);
         highscore.text = t.ToString();
         PlayerPrefs.Save();
     }
 }

 void Start()
 {
     startTime = Time.time;
     highscore.text = PlayerPrefs.GetFloat("HighScore: ", 0).ToString();
 }

 void Update()
 {
     float t = Time.time - startTime;
     string minutes = ((int)t / 60).ToString();
     string seconds = (t % 60).ToString("f2");
     timerText.text = "Your Time: " + minutes + ":" + seconds;
 }

}

Comment
Add comment · Show 3 · Share
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
avatar image Cuttlas-U · Apr 28, 2020 at 08:41 PM 0
Share

you are doing some thing wrong here ;

this is your code when u save :

     PlayerPrefs.SetFloat("HighScore", t);

and this is when u load ;

  PlayerPrefs.GetFloat("HighScore: ", 0);


you assign two different keys here ; for saving it is "HighScore" and for loading it is "HighScore: " these two need to be the same so u get the right value from the registery ;

avatar image hubertasjuzenas Cuttlas-U · Apr 28, 2020 at 08:56 PM 0
Share

@Cuttlas-U I changed it to PlayerPrefs.GetFloat("HighScore", t); ins$$anonymous$$d of using 0, but nothing happens at all. Still showing same result :(

avatar image Cuttlas-U hubertasjuzenas · Apr 28, 2020 at 09:40 PM 0
Share

then problem can be else where , u need to print values etc ...

if u are really in problem like a week or so u can install any desk program then via the telegram app send me a massage to my id : @SajjadAzarpour

so i can connect to your system and solve your issue ,

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.

Follow this Question

Answers Answers and Comments

393 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

Related Questions

I make a timing score script in unity 2D, how i make high score of time?? Script is as follow: 1 Answer

Disable Ragdoll #C - Timer before disable. 2 Answers

C# - Need help making an enemy spawn timer 1 Answer

,Why isn't the clock speed being affected by the float "clockSpeed"? 0 Answers

Store Reference to a Serializable Class 0 Answers


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