PDA

Volledige versie bekijken : Vreemd probleem met highscore..


Germen
%Europe/Berlin %463 %2005, 11:07
Hallo,

Ik heb een vreemd probleem met mijn highscore functie.
Ik ben bezig met dit spel (http://www.stelpstra.com/kurve). Alles werkt perfect als ik het speel vanaf mijn pc. Maar zodra ik het op internet zet werkt de highscore functie niet meer. Ik kan niets uit de database halen als ontvangen. Bij de highscore list krijg ik de melding: onLoad=[type Function]. Als je het bestandje download werkt alles wel weer :S rechtermuisknop -> opslaan als (http://www.stelpstra.com/kurve/kurve.swf). Hiervoor heb ik php en MySQL gebruikt, hieronder staan de scripts die ik heb gebruikt.

Dit is voor het verzenden van de score:highscoreBtn.onRelease = function() {
trace(naam);
trace(toptime);
loadVariablesNum("http://www.stelpstra.com/kurve/addtime.php?naam="+naam+"&toptime="+toptime+"", 0, "POST");
tekst = "Je score is verzonden";
} else {
tekst = "Je hebt geen nieuwe highscore";
}; //addscore.php
<?
$hostadres = "localhost"; //je host, meestal 'localhost' OF '127.0.0.1'
$database = "***"; //je database naam
$username = "***"; //je gebruikersnaam
$password = "***"; //je wachtwoord

$connect = mysql_connect($hostadres, $username, $password);
mysql_select_db($database);

mysql_query("INSERT INTO kurve (naam, toptime) VALUES (\"$naam\", \"$toptime\")");

echo "done.";
?>

...en dit script om de highscore te laten zien:scoreList.html = true;
var dataPHP = new LoadVars();
dataPHP.onLoad = laatZien(succes);
dataPHP.load("http://www.stelpstra.com/kurve/toptime.php");
function laatZien() {
scoreList.htmlText = unescape(dataPHP);
trace(unescape(dataPHP));
} //toptime.php
<?
function convert_timestamp ($timestamp)
{
$parts = sscanf($timestamp, '%04u%02u%02u%02u%02u%02u');
$string = vsprintf('%04u-%02u-%02u %02u:%02u:%02u', $parts);

return strtotime($string);
}

$hostadres = "localhost"; //je host, meestal 'localhost' OF '127.0.0.1'
$database = "***"; //je database naam
$username = "***"; //je gebruikersnaam
$password = "***"; //je wachtwoord

$connect = mysql_connect($hostadres, $username, $password);
mysql_select_db($database);

$select ="SELECT * FROM kurve ORDER BY toptime DESC";
$query = mysql_query($select);

while ($list = mysql_fetch_object($query)) {
echo "<b>";
echo utf8_encode($list->naam);
echo "<font color=\"#000000\"> ";
echo utf8_encode($list->toptime);
echo "</font></b> ";
echo date("H:i:s",(mktime()-convert_timestamp($list->tijd)-3600));
echo "<br>";
}
?>
Ik hoop dat iemand een oplossing heeft. Hoe zouden jullie zo'n highscore functie inelkaar zetten?

Dauntless
%Europe/Berlin %735 %2005, 17:39
Gebruik eens het LoadVars object in plaats van loadVariablesNum ... Het kan zijn dat je met je data bezig bent voor hij in geladen is (en dat werkt lokaal dan sneller als online, lijkt me).