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()); ?>