0"; } elseif ($op == "days") { $extra = " AND dragonkills > 0 AND bestdragonage > 0"; } $result = db_query($sql.$extra); $row = db_fetch_assoc($result); $totalplayers = $row['c']; $page = (int)httpget('page'); if ($page == 0) $page = 1; $pageoffset = $page; if ($pageoffset > 0) $pageoffset--; $pageoffset *= $playersperpage; $from = $pageoffset+1; $to = min($pageoffset+$playersperpage, $totalplayers); $limit = "$pageoffset,$playersperpage"; addnav("Warrior Rankings"); addnav("Dragon Kills", "hof.php?op=kills&subop=$subop&page=1"); addnav("Gold", "hof.php?op=money&subop=$subop&page=1"); addnav("Gems", "hof.php?op=gems&subop=$subop&page=1"); addnav("Charm", "hof.php?op=charm&subop=$subop&page=1"); addnav("Toughness", "hof.php?op=tough&subop=$subop&page=1"); addnav("Resurrections", "hof.php?op=resurrects&subop=$subop&page=1"); addnav("Dragon Kill Speed", "hof.php?op=days&subop=$subop&page=1"); addnav("Sorting"); addnav("Best", "hof.php?op=$op&subop=most&page=$page"); addnav("Worst", "hof.php?op=$op&subop=least&page=$page"); if ($totalplayers > $playersperpage) { addnav("Pages"); for($i = 0; $i < $totalplayers; $i+= $playersperpage) { $pnum = ($i/$playersperpage+1); $min = ($i+1); $max = min($i+$playersperpage,$totalplayers); if ($page == $pnum) { addnav(array("`b`#Page %s`0 (%s-%s)`b", $pnum, $min, $max), "hof.php?op=$op&subop=$subop&page=$pnum"); } else { addnav(array("Page %s (%s-%s)", $pnum, $min, $max), "hof.php?op=$op&subop=$subop&page=$pnum"); } } } function display_table($title, $sql, $none=false, $foot=false, $data_header=false, $tag=false, $translate=false) { global $session, $from, $to, $page, $playersperpage, $totalplayers; $title = translate_inline($title); if ($foot !== false) $foot = translate_inline($foot); if ($none !== false) $none = translate_inline($none); else $none = translate_inline("No players found."); if ($data_header !== false) { $data_header = translate_inline($data_header); reset ($data_header); } if ($tag !== false) $tag = translate_inline($tag); $rank = translate_inline("Rank"); $name = translate_inline("Name"); if ($totalplayers > $playersperpage) { output("`c`b`^%s`0`b `7(Page %s: %s-%s of %s)`0`c`n", $title, $page, $from, $to, $totalplayers); } else { output("`c`b`^%s`0`b`c`n", $title); } rawoutput(""); rawoutput(""); output_notl("", true); if ($data_header !== false) { for ($i = 0; $i < count($data_header); $i++) { output_notl("", true); } } $result = db_query($sql); if (db_num_rows($result)==0){ $size = ($data_header === false) ? 2 : 2+count($data_header); output_notl("",true); } else { $i=-1; while ($row = db_fetch_assoc($result)) { $i++; if ($row['name']==$session['user']['name']){ rawoutput(""); } else { rawoutput(""); } output_notl("",($i+$from), $row['name'], true); if ($data_header !== false) { for ($j = 0; $j < count($data_header); $j++) { $id = "data" . ($j+1); $val = $row[$id]; if (isset($translate[$id]) && $translate[$id] == 1 && !is_numeric($val)) { $val = translate_inline($val); } if ($tag !== false) $val = $val . " " . $tag[$j]; output_notl("", $val, true); } } rawoutput(""); } } rawoutput("
`b$rank`b`b$name`b`b{$data_header[$i]}`b
`&$none`0
%s`&%s`0%s
"); if ($foot !== false) output_notl("`n`c%s`c", $foot); } if ($op=="days") { if ($subop == "least") { $order = "DESC"; $meop = ">="; }else{ $order = "ASC"; $meop = "<="; } } else { if ($subop == "least") { $order = "ASC"; $meop = "<="; }else{ $order = "DESC"; $meop = ">="; } } $sexsel = "IF(sex,'`%Female`0','`!Male`0')"; $racesel = "IF(race!='0' and race!='',race,'".RACE_UNKNOWN."')"; if ($op=="money"){ $sql = "SELECT name,(CAST(gold as signed)+goldinbank+round((((rand()*10)-5)/100)*(CAST(gold as signed)+goldinbank))) AS data1 FROM " . db_prefix("accounts") . " WHERE $standardwhere ORDER BY data1 $order, level $order, experience $order, acctid $order LIMIT $limit"; $me = "SELECT count(acctid) AS count FROM ".db_prefix("accounts")." WHERE $standardwhere AND (goldinbank+CAST(gold as signed)+round((((rand()*10)-5)/100)*(goldinbank+CAST(gold as signed)))) $meop ".($session['user']['goldinbank'] + $session['user']['gold']); $adverb = "richest"; if ($subop == "least") $adverb = "poorest"; $title = "The $adverb warriors in the land"; $foot = "(Gold Amount is accurate to +/- 5%)"; $headers = array("Estimated Gold"); $tags = array("gold"); $table = array($title, $sql, false, $foot, $headers, $tags); } elseif ($op == "gems") { $sql = "SELECT name FROM ". db_prefix("accounts") . " WHERE $standardwhere ORDER BY gems $order, level $order, experience $order, acctid $order LIMIT $limit"; $me = "SELECT count(acctid) AS count FROM ".db_prefix("accounts")." WHERE $standardwhere AND gems $meop {$session['user']['gems']}"; if ($subop == "least") $adverb = "least"; else $adverb = "most"; $title = "The warriors with the $adverb gems in the land"; $table = array($title, $sql); } elseif ($op=="charm"){ $sql = "SELECT name,$sexsel AS data1, $racesel AS data2 FROM " . db_prefix("accounts") . " WHERE $standardwhere ORDER BY charm $order, level $order, experience $order, acctid $order LIMIT $limit"; $me = "SELECT count(acctid) AS count FROM ".db_prefix("accounts")." WHERE $standardwhere AND charm $meop {$session['user']['charm']}"; $adverb = "most beautiful"; if ($subop == "least") $adverb = "ugliest"; $title = "The $adverb warriors in the land."; $headers = array("Gender", "Race"); $translate = array("data1"=>1, "data2"=>1); $table = array($title, $sql, false, false, $headers, false, $translate); } elseif ($op=="tough"){ $sql = "SELECT name,level AS data2 , $racesel as data1 FROM " . db_prefix("accounts") . " WHERE $standardwhere ORDER BY maxhitpoints $order, level $order, experience $order, acctid $order LIMIT $limit"; $me = "SELECT count(acctid) AS count FROM ".db_prefix("accounts")." WHERE $standardwhere AND maxhitpoints $meop {$session['user']['maxhitpoints']}"; $adverb = "toughest"; if ($subop == "least") $adverb = "wimpiest"; $title = "The $adverb warriors in the land"; $headers = array("Race", "Level"); $translate = array("data1"=>1); $table = array($title, $sql, false, false, $headers, false, $translate); } elseif ($op=="resurrects"){ $sql = "SELECT name,level AS data1 FROM " . db_prefix("accounts") . " WHERE $standardwhere ORDER BY resurrections $order, level $order, experience $order, acctid $order LIMIT $limit"; $me = "SELECT count(acctid) AS count FROM ".db_prefix("accounts")." WHERE $standardwhere AND resurrections $meop {$session['user']['resurrections']}"; $adverb = "most suicidal"; if ($subop == "least") $adverb = "least suicidal"; $title = "The $adverb warriors in the land"; $headers = array("Level"); $table = array($title, $sql, false, false, $headers, false); } elseif ($op=="days") { $unk = translate_inline("Unknown"); $sql = "SELECT name, IF(bestdragonage,bestdragonage,'$unk') AS data1 FROM " . db_prefix("accounts") . " WHERE $standardwhere $extra ORDER BY bestdragonage $order, level $order, experience $order, acctid $order LIMIT $limit"; $me = "SELECT count(acctid) AS count FROM ".db_prefix("accounts")." WHERE $standardwhere $extra AND bestdragonage $meop {$session['user']['bestdragonage']}"; $adverb = "fastest"; if ($subop == "least") $adverb = "slowest"; $title = "Heroes with the $adverb dragon kills in the land"; $headers = array("Best Days"); $none = "There are no heroes in the land."; $table = array($title, $sql, $none, false, $headers, false); } else { $unk = translate_inline("Unknown"); $sql = "SELECT name,dragonkills AS data1,level AS data2,' ' AS data3, IF(dragonage,dragonage,'$unk') AS data4, ' ' AS data5, IF(bestdragonage,bestdragonage,'$unk') AS data6 FROM " . db_prefix("accounts") . " WHERE $standardwhere $extra ORDER BY dragonkills $order,level $order,experience $order, acctid $order LIMIT $limit"; if ($session['user']['dragonkills']>0) $me = "SELECT count(acctid) AS count FROM ".db_prefix("accounts")." WHERE $standardwhere $extra AND dragonkills $meop {$session['user']['dragonkills']}"; $adverb = "most"; if ($subop == "least") $adverb = "least"; $title = "Heroes with the $adverb dragon kills in the land"; $headers = array("Kills", "Level", " ", "Days", " ", "Best Days"); $none = "There are no heroes in the land."; $table = array($title, $sql, $none, false, $headers, false); } if (isset($table) && is_array($table)){ call_user_func_array("display_table",$table); if (isset($me) && $me>"" && $totalplayers){ $meresult = db_query($me); $row = db_fetch_assoc($meresult); $pct = round(100*$row['count']/$totalplayers, 0); if ($pct < 1) $pct = 1; output("`c`7You rank within around the top `&%s`7%% in this listing.`0`c",$pct); } } page_footer(); ?>