I have been following this tutorial on serverside highscores, Everything works fine however I don’t want to display the result of getScore as a guiText but in OnGUI on a Label. How do I save the result of getScore as a variable so I can load it into the GUI?
Here is the script:
private var secretKey="*********"; // Edit this value and make sure it's the same as the one stored on the server
var addScoreUrl="http://rossblog.co.uk/games/cowcatcher/addscore.php?"; //be sure to add a ? to your url
var highscoreUrl="http://rossblog.co.uk/games/cowcatcher/display.php";
var manager : Manager_Script;
var scoresText : GUIText;
var once : boolean = false;
function Start() {
if(Application.loadedLevel == 0){
manager = GameObject.FindGameObjectWithTag("Manager").GetComponent(Manager_Script);
}
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 + manager.playerScore + secretKey);
var highscore_url = addScoreUrl + "name=" + WWW.EscapeURL(manager.playerName) + "&score=" + manager.playerScore + "&hash=" + hash;
once = true;
// Post the URL to the site and create a download object to get the result.
hs_post = WWW(highscore_url);
yield hs_post; // Wait until the download is done
if(hs_post.error) {
print("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() {
scoresText.text = "Loading Scores";
hs_get = WWW(highscoreUrl);
yield hs_get;
Debug.Log(hs_get);
downloadedScores = hs_get.text;
if(hs_get.error) {
print("There was an error getting the high score: " + hs_get.error);
} else {
scoresText.text = hs_get.text; // this is a GUIText that will display the scores in game.
}
}
function OnGUI(){
if(manager.gameOver == true){
GUI.Box(Rect(350,30,450,400),"Highscores");
GUI.Label (Rect (50, 50, 100, 20), "MOO");
}
}