- Home /
Score System help
Hey Unity community so i tried a new high score system for my game but im running into a few problems with it which i need help on.
Issue #1 : The score is displayed, but the "Best Score" is always 0 is there anyway to make best score show the previous highest score in the game? Pic
Issue #2 : I Have it where the score system isn't displayed at the very beginning, but it does not turn back on after the game is over. Is there anyway to show the score display after the game ends? In the Pic i provided i had to manually turn it on in the hierarchy/Inspector view. I want it to turn on after the player has lost all their lives.
Here is my scripts
void OnGUI()
{
if (playerLives == 0 && player == null)
{
scoreTxt.text = "Score: " + score.ToString ();
bestText.text = "Best: " + PlayerPrefs.GetInt ("Best");
scoreTxt.gameObject.SetActive (true);
bestText.gameObject.SetActive (true);
}
}
If you can help with my issue thank you!
Answer by psycocrusher · Nov 19, 2014 at 01:24 AM
You need to compare both scores using Mathf.Max
http://docs.unity3d.com/ScriptReference/Mathf.Max.html
This will return the highest score between to variables.
How will i incorperate this though? Sorry im just a beginner im still learning about scores and high scores. Also i thought you have to put playerprefs to save the scores.
You need 3 variables, current score, best score, and a third one that will compare the two and return the highest.
highScore = $$anonymous$$athf.$$anonymous$$ax(currentScore,bestScore));
Then you set:
bestScore = highScore;
You dont need playerprefs for this, it is only to save on disk.
Your answer
Follow this Question
Related Questions
Multiple Cars not working 1 Answer
getting a float value from another script 1 Answer
Highscore GUI not working properly help 0 Answers
PlayerPrefs HighScore problems, it doesn't work. 4 Answers
Particle System help 0 Answers