- Home /
Displaying Highscores Problem
I am have followed the guide on the wiki about server side highscores. Its working fine however I want to display the result on a guiLabel and I'm not sure the best way to go about it.
My thought was to save the results in a variable however I'm not sure what datatype to use and then I have the problem of not understanding fully how to get it into my Gameover script which writes the Gui Label. Yes I have read the documentation about accessing other gameobjects but I'm still struggling. It seems that it is saving the score because 'Score has been saved' gets logged however I am stuck with moving it to the other script. I also tried to get the result of the function by getting the result of the function directly static var score = GameObject.FindWithTag("highscores").GetComponent(HSController).getScores();
Here is my gameover script:
function centerRectangle ( someRect : Rect ) : Rect
{
someRect.x = ( Screen.width - someRect.width ) / 2;
someRect.y = ( Screen.height - someRect.height ) / 2;
return someRect;
}
/* example usage */
function DoMyWindow (WindowID : int)
{
(GUI.Label (Rect (10, 10, 100, 20), "MOO"));//THIS IS WHERE I WAN'T THE RESULT
}
function OnGUI ()
{
if(Cow.gameover == true){
var theRect : Rect = Rect(300, 200, 400, 350);
var theMsg : String = "Scores";
var winId : int = 0;
/* center the rectangle */
var centeredRect : Rect = centerRectangle(theRect);
GUI.Window (winId, centeredRect, DoMyWindow, theMsg);
}
}
And the HSController where you can see I have tried to save the results to the scores variable:
******************
*******************
********************
var ScoresGUI : GUIText;
var once : boolean = false;
static var scores;
function Start() {
//getScores();
}
function postScore(name, score) {
if(!once)
{
//This connects to a server side php script that will add the name and score to a MySQL DB.
// Supply it with a string representing the players name and the players score.
var hash=Md5.Md5Sum(name + score + secretKey);
var highscore_url = addScoreUrl + "name=" + WWW.EscapeURL(name) + "&score=" + score + "&hash=" + hash;
once = true;
}
// Post the URL to the site and create a download object to get the result.
hs_post = WWW(highscore_url);
Debug.Log("Score = posted!");
yield hs_post; // Wait until the download is done
if(hs_post.error) {
Debug.Log("There was an error posting the high score: " + hs_post.error);
}
}
// Get the scores from the MySQL DB to display in a GUIText.
function getScores() {
ScoresGUI.text = "Loading Scores";
hs_get = WWW(highscoreUrl);
yield hs_get;
Debug.Log("Scores = Downloaded");
if(hs_get.error) {
print("There was an error getting the high score: " + hs_get.error);
} else {
scores = hs_get;
Debug.Log("THE SCORE HAS BEEN SAVED");
ScoresGUI.text = hs_get.text; // this is a GUIText that will display the scores in game.
}
}
Your answer

Follow this Question
Related Questions
MySQL Database Highscore 0 Answers
any way for "Global data store" without sql and php ? 2 Answers
GameCenter How to Track Score? 1 Answer
How do I save and retrieve the high score? 2 Answers
One PlayerPref not saving 1 Answer