|
include "class/scoresutil.php";
function GetScore($Lvl,$Racer)
{
global $ScoreTable;
$CodeCript=array (0x0FA314678,0x012578798,0x047881218,0x0F7A24B,0x0124827A8);
$i=$Lvl*7+$Racer;
$i4=$i*4;
$res=ord($ScoreTable[$i4])+(ord($ScoreTable[$i4+1])<<8)+(ord($ScoreTable[$i4+2])<<16)+(ord($ScoreTable[$i4+3])<<24);
$res=$res^(($CodeCript[$i%5]+($Lvl<<11)+($Racer<<12))&0x0FFFFFFFF);
$Pa=($res>>16)&255;
$Pb=($res>>8)&255;
$Time=(($res>>24)&255)+(($res&255)<<8);
if (((($Time>>8)+($Time&0x0FF))&255)!=$Pa) return 0x0FFFF;
if (((((($Time>>2)&0x0FF)+(($Time>>6)&0x0FF)))&255)!=$Pb) return 0x0FFFF;
return $Time;
}
if (!$mail)
{
include "MQsync.html";
exit(0);
}
else
{
$f=fopen($userfile,"rb");
$tmp=fread($f,filesize ($userfile));
fclose($f);
// $buff=strstr($tmp,"#MQHst");
$pos=-1;
for($i=0;$iexecute("select * from MQScoreTableUsers where pseudo like '$nick'");
if ($i)
{
$tmp=$bd->get_next_row();
if ($tmp["idxdb"]!=$idxdb)
{
echo "This nickname already exist, try another one.";
exit(0);
}
else $idxuser=$tmp["idx"];
}
else
{
if (($idxdb==2)||($idxdb==17)||($idxdb==19)||($idxdb==22)||($idxdb==32)||($idxdb==1913)||($idxdb==1959)) // Liste spéciale de personne ayant le droit à plusieurs nicknames...
{
$bd->execute("INSERT INTO MQScoreTableUsers ( idxdb , pseudo , totalscores) values ($idxdb,'$nick',0)");
}
else
{
// Si y'a dejà quelqu'un dans la base avec cet ID, c'est lui ;-)
$i=$bd->execute("select * from MQScoreTableUsers where idxdb=$idxdb");
if ($i)
{
$tmp=$bd->get_next_row();
$idxuser=$tmp["idx"];
$bd->execute("update MQScoreTableUsers set pseudo='$nick' where idx=$idxuser");
}
else
{
$bd->execute("INSERT INTO MQScoreTableUsers ( idxdb , pseudo , totalscores) values ($idxdb,'$nick',0)");
}
}
}
}
if (($website)&&($userid))
{
$nb=$bd->execute("delete from MQwebsitelink where userid='$userid' and website=$website");
$bd->execute("insert into MQwebsitelink (website, userid, idxuser) values ($website, '$userid', $idxuser)");
}
$bd->execute("delete from MQScoreTable where idxuser=$idxuser");
$total=0;
for($lvl=0;$lvl<24;$lvl++)
{
for($racer=0;$racer<7;$racer++)
{
// echo "$lvl,$racer : ".TimeToString(GetScore($lvl,$racer))."\n";
$score=GetScore($lvl,$racer);
$query="insert into MQScoreTable(idxuser, lvl, racer,time) values ($idxuser, $lvl, $racer, $score)";
$bd->execute($query);
$total+=$score;
}
}
$total=65535*7*24-$total;
$query="update MQScoreTableUsers set totalscores=$total where idx=$idxuser";
$bd->execute($query);
$user=$nick;
$page="MQshowusertime";
include "index.php";
}
?>
|