0 AND e.col2 <= 5 GROUP BY e.col2";
$q_btmaprank = mysql_query($sql_btmaprank) or die ("Can't retrieve \$q_btmaprank: ". mysql_error());
while($r_btmaprank = mysql_fetch_assoc($q_btmaprank)) {
IF ($r_btmaprank[no] == 1) {
$rank_bt += $r_btmaprank[count] * 10;
} elseIF ($r_btmaprank[no] == 2) {
$rank_bt += $r_btmaprank[count] * 8;
} elseIF ($r_btmaprank[no] == 3) {
$rank_bt += $r_btmaprank[count] * 6;
} elseIF ($r_btmaprank[no] == 4) {
$rank_bt += $r_btmaprank[count] * 4;
} elseIF ($r_btmaprank[no] == 5) {
$rank_bt += $r_btmaprank[count] * 2;
}
// if ($dbg) echo "| pid: $r_btmaprank[no]*$r_btmaprank[count] => $rank_bt
";
}
$rank_nrank = $rank_bt;
} else {
$rank_nrank = $rank_fpos-$rank_fneg;
}
// Average the rank over game minutes
if ($r_gametime == 0) {
// some bug occured, ignore
if ($dbg) echo "Skip ranking. " ;
return;
}
$rank_nrank = ($rank_nrank/$r_gametime) * 600;
if ($dbg) echo "Points: $rank_nrank
Time: $r_gametime
";
// Add rank gametime to previous amount
$rank_gametime = $r_gametime;
// Reduce ranking if player hasnt played that much
IF ($rank_gametime < 10) return;
IF ($rank_gametime < 50) {
$rank_nrank = $rank_nrank*.25;
}
IF ($rank_gametime >= 50 && $rank_gametime < 100) {
$rank_nrank = $rank_nrank*.50;
}
IF ($rank_gametime >= 100 && $rank_gametime < 200) {
$rank_nrank = $rank_nrank*.70;
}
IF ($rank_gametime >= 200 && $rank_gametime < 300) {
$rank_nrank = $rank_nrank*.85;
}
if ($dbg) echo "Reduced: $rank_nrank
";
// Add new rank record if one does not exist
IF($rank_id == NULL) {
mysql_query("INSERT INTO uts_rank SET time = '$r_gametime', pid = '$pid', gid = '$gid', rank = '0', matches = '0';") or die(mysql_error());
$rank_id = mysql_insert_id();
$rank_gametime = 0;
$rank_crank = 0;
$rank_matches = 0;
}
// Add number of matches played
$rank_matches = $rank_matches+1;
// Work out effective rank given
$eff_rank = $rank_nrank-$rank_crank;
// if ($dbg) echo "", intval($rank_crank), "-", intval($rank_nrank). "-", $rank_matches, " ";
// Add effective rank points given to uts_player record
mysql_query("UPDATE uts_player SET rank = $eff_rank WHERE id = $playerecordid") or die(mysql_error());
// Update the rank
mysql_query("UPDATE uts_rank SET time = '$rank_gametime', rank = '$rank_nrank', prevrank = '$rank_crank', matches = '$rank_matches' WHERE id = $rank_id;") or die(mysql_error());
?>