Wayback Machinekoobas.hobune.stream
May JUN Jul
Previous capture 13 Next capture
2021 2022 2023
1 capture
13 Jun 22 - 13 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 /
avatar image
0
Question by TicTac · May 02, 2013 at 08:08 PM · highscoresserverside

How do I display Server Side Highscores

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");
     }
 }


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

1 Reply

· Add your reply
  • Sort: 
avatar image
0

Answer by pad406 · May 08, 2013 at 09:23 PM

The server returns all the high scores as 1 big line of text, in your case hs_get.text. However each line is split by a new line character '\n' and each field within the line is split by a tab '\t'. So what you need to do is split them up manually. Something like this (c#, sorry not too hot on Java)

 //Split the hs_get.text by '\n' into an array of string
 string[] line = hs_get.text.Split ('\n');
         
 foreach (string thisLine in line ) 
 {
    string[] fields = thisLine.Split('\t');
    //Split thhisLine by '\t' into an array of string
    foreach (string thisField in fields)
    {
      //Do something interesting with the field
    }
 }
 
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

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

13 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

Related Questions

Unify "serverside highscores" - reading in a webpage 1 Answer

Server Based High Score - issues with adding new score 1 Answer

Server High Scores - crossdomain.xml 1 Answer

Facebook API: How to get all app users scores 1 Answer

Distance and Best Distance 1 Answer


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