- Home /
How to set the best time and save it?
Hi you all!
I've got a big problem and I'm looking for a solution for a long time but I haven't found it yet. So my problem is how to set the best time and then I want it to be saved. First: my timer doesn't want to stop... I want it to stop when I reach score 20. Then my best time doesn't appears and ofcourse it doesn't save. I know that because I have this script.
function NextLevel(){
yield WaitForSeconds (2);
var i = Application.loadedLevel ;
Application.LoadLevel(i + 1);
}
So this is my script for my timer and for my best time.
static var currentScore : int = 0 ;
private var timer : float = 0f ;
private var bestTime : float = 0f;
var IncreaseTime : boolean = true;
function Start()
{
bestTime = PlayerPrefs.GetFloat("BestTime", timer) ;
}
function Update()
{
if(IncreaseTime == true)
{
timer += Time.deltaTime;
}
if(currentScore == 20)
{
IncreaseTime = false;
}
}
function SetTimers()
{
if(currentScore == 20)
{
IncreaseTime = false;
if(timer < bestTime)
{
PlayerPrefs.SetFloat("BestTime", timer) ;
bestTime = timer ;
}
}
}
function OnGUI()
{
GUILayout.Box("" + timer) ;
GUILayout.Box("" + bestTime) ;
}
I heard that GUI Box is not the best way to save your best time but I tried with GUI Text and it was something like that float doesn't work with GUI Text or something like this...
I'm kinda noob so please understand...
Thank you for your help.
PS: I use javascript.
I already use PlayerPrefs for unlocking levels is that maybe a problem?
Answer by Entwicklerpages · Aug 11, 2014 at 01:53 PM
I think your main problem is, that you aren't calling SetTimers anywhere. Also your NextLevel() might be uncallable. Is this the complete code?
Try something like this (untested and maybe there are typos in it): function Update() { if(IncreaseTime == true) { timer += Time.deltaTime; }
if(currentScore >= 20)
{
IncreaseTime = false;
if (timer < bestTime)
{
PlayerPrefs.SetFloat("BestTime", timer);
PlayerPrefs.Save();
bestTime = timer;
}
}
}
This should work but becaus I don't know your other scripts I cannot promise anything.
Good luck!
EDIT: Oh and it's not a problem to use PlayerPrefs simultaneous or more than one time. But I won't use it every frame.
Your answer
Follow this Question
Related Questions
Best time and saving best time 3 Answers
How to make a timer read to the .001 of a second 2 Answers
Timer help please 1 Answer
Timer Countdown fix. 2 Answers
Game Timer help needed 2 Answers