• There is NO official Otland's Discord server and NO official Otland's server list. The Otland's Staff does not manage any Discord server or server list. Moderators or administrator of any Discord server or server lists have NO connection to the Otland's Staff. Do not get scammed!

Gesior AAC Highscore (with rebirth)

athenso

Average Coder
Joined
May 31, 2011
Messages
155
Solutions
3
Reaction score
23
Since it was increasingly difficult to find one, I attempted to edit/make a Highscores page that shows Rebirth ranks. It wasn't easy (I don't know php), but I got it to work. Simply copy and paste the codes into the respective locations. Moderator move if this is in the wrong section. Rep if it helped.

This only works if you are using a rebirth function, with Rebirths in the player table. Easy to edit.

www\system\application\views\highscores.php
Code:
<?php
require("config.php");
$ide = new IDE;
try {$ide->loadInjections("highscores");} catch(Exception $e) {error($e->getMessage()); }
echo form_open('highscores');
    $uri = $this->uri->segment(5) ? $this->uri->segment(5) : 0;

    if(count($config['worlds']) > 1) {
        echo "<b>World</b>&nbsp;&nbsp;";
        echo "<select name='world'>";
        foreach($config['worlds'] as $id=>$name) {
            if($_POST['world'] == $id)
            echo "<option selected='true' value='$id'>$name</option>";
            else
            echo "<option value='$id'>$name</option>";
        }
        echo "</select>";
    }
   
    echo "&nbsp;&nbsp;<b>Rank of</b>&nbsp;&nbsp;";
    echo "<select name='skill'>";
    echo "<option class='skill' ".set_select('skill', 1, true)." value='level'>Level</option>";
    echo "<option class='skill' ".set_select('skill', 9)." value='magic'>Magic Level</option>";
    echo "<option class='skill' ".set_select('skill', 2)." value='1'>Fist fighting</option>";
    echo "<option class='skill' ".set_select('skill', 3)." value='2'>Club fighting</option>";
    echo "<option class='skill' ".set_select('skill', 4)." value='3'>Sword fighting</option>";
    echo "<option class='skill' ".set_select('skill', 5)." value='4'>Axe fighting</option>";
    echo "<option class='skill' ".set_select('skill', 6)." value='5'>Distance fighting</option>";
    echo "<option class='skill' ".set_select('skill', 7)." value='6'>Shielding</option>";
    echo "<option class='skill' ".set_select('skill', 8)." value='rebirths'>Rebirth Rank</option>";
    echo "</select>";
    echo " <input type='submit' value='Show'>";

    echo "</form>";

    echo "<h2><center>Ranking of ". (is_numeric($type) ? $skills[$type] : $type) ." on ".$config['worlds'][$world]."</center></h2>";
   
    $i = 1 + $uri;
    echo "<table width='100%'>";
    if(is_numeric($type)) {
       
        echo "<tr><td width='5%'><b><center>*</center></b></td><td width='40%'><center><b>Name</b></center></td><td width='5%'><center><b>Skill</b></center></td></tr>";
        foreach($players as $player) {
            if(in_array($player['name'], $config['newchar_vocations'][0])) continue;
            echo '<tr><td width="5%" align="center">'.$i.'</center></td><td width="40%" align="center"><a href="'.WEBSITE.'/index.php/character/view/'.$player['name'].'" class="'. ($player['online'] ? 'green' : 'red') .'">'.$player['name'].'</a></td><td width="5%" align="center">'.$player['value'].'</td></tr>';
            $i++;
        }
    }else{
        switch($type) {
            case 'level':
            echo "<tr><td width='5%'><b><center>*</center></b></td><td width='40%'><center><b>Name</b></center></td><td width='10%'><center><b>Exp</b></center></td><td width='5%'><center><b>Level</b></center></td></tr>";
            foreach($players as $player) {
                if(in_array($player['name'], $config['newchar_vocations'][0])) continue;
                echo '<tr><td width="5%" align="center">'.$i.'</td><td width="40%" align="center"><a href="'.WEBSITE.'/index.php/character/view/'.$player['name'].'" class="'. ($player['online'] ? 'green' : 'red') .'">'.$player['name'].'</a></td><td width="10%" align="center">'.$player['experience'].'</td><td width="5%" align="center">'.$player['level'].'</td></tr>';
                $i++;
            }
            break;
            case 'magic':
            echo "<tr><td width='5%'><b><center>*</center></b></td><td width='40%'><center><b>Name</b></center></td><td width='5%'><center><b>Level</b></center></td></tr>";
            foreach($players as $player) {
                if(in_array($player['name'], $config['newchar_vocations'][0])) continue;
                echo '<tr><td width="5%" align="center">'.$i.'</td><td width="40%" align="center"><a href="'.WEBSITE.'/index.php/character/view/'.$player['name'].'" class="'. ($player['online'] ? 'green' : 'red') .'">'.$player['name'].'</a></td><td width="5%" align="center">'. $player['maglevel'] .'</td></tr>';
                $i++;   
            }
            break;
            case 'Rebirths':
            echo "<tr><td width='5%'><b><center>*</center></b></td><td width='40%'><center><b>Name</b></center></td><td width='10%'><center><b>Rebirths</b></center></td><td width='5%'><center><b>Level</b></center></td></tr>";
            foreach($players as $player) {
                if(in_array($player['name'], $config['newchar_vocations'][0])) continue;
                echo '<tr><td width="5%" align="center">'.$i.'</td><td width="40%" align="center"><a href="'.WEBSITE.'/index.php/character/view/'.$player['name'].'" class="'. ($player['online'] ? 'green' : 'red') .'">'.$player['name'].'</a></td><td width="10%" align="center">'.$player['Rebirths'].'</td><td width="5%" align="center">'.$player['level'].'</td></tr>';
                $i++;
            }
            break;

        }   
    }
    echo "</table>";
    echo $this->pagination->create_links();

www\system\application\models\highscore_model.php
Code:
<?php
class Highscore_model extends Model {
   
   function getSkill($skillid, $worldid, $limit = 0, $offset = 0) {
     global $config;
     $this->load->database();
     
     $binds = array($worldid, $config['players_group_id_block']);
     if(is_numeric($skillid) && in_array($skillid, array(1,2,3,4,5,6,7))) {
       $query = 'SELECT p.name, p.online, s.value, p.level, p.vocation, p.promotion, p.Rebirths
              FROM players p
              INNER JOIN player_skills s on (s.player_id = p.id)
              WHERE p.world_id = ? AND p.deleted = 0 AND p.group_id < ? AND s.skillid = ?
            ORDER BY s.value DESC';
       $binds[] = (int) ( $skillid - 1 );
     }else {
       $skillid = in_array($skillid, array('level', 'magic', 'Rebirths')) ? $skillid : 'level';
       switch($skillid) {
         case 'magic':
           $query = 'SELECT name, online, maglevel, vocation, promotion, world_id
                FROM players
                WHERE world_id = ? AND deleted = 0 AND group_id < ? AND name != "Account Manager"
              ORDER BY maglevel DESC, manaspent DESC';
         break;
         case 'level':
         default:
           $query = 'SELECT name, online, level, experience, vocation, promotion, world_id, Rebirths
                FROM players
                WHERE world_id = ? AND deleted = 0 AND group_id < ? AND name != "Account Manager"
              ORDER BY experience DESC';
         break;
         case 'rebirths':
         default:
           $query = 'SELECT name, online, level, Rebirths
                FROM players
                WHERE world_id = ? AND deleted = 0 AND group_id < ? AND name != "Account Manager"
              ORDER BY Rebirths DESC';
       }       
     }
     
     $total = $this->db->query($query, $binds);
                   
     if($limit > 0 && is_numeric($limit) && !$offset)
       $query .= " LIMIT ".$limit;
     
     if($limit >= 0 and $offset > 0 and is_numeric($offset))
       $query .= " LIMIT ".$limit.",".$offset;
       
     $data = $this->db->query($query, $binds);

     return array('skill' => $skillid, 'data' => $data->result_array(), 'total' => $total->num_rows);
   }     
}
?>
 
Back
Top