• 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!
  • 2026 staff recruitment is open! Check it out and consider applying!

Achievements on gesior

Erexo

Kage
Premium User
Joined
Mar 27, 2010
Messages
743
Solutions
5
Reaction score
200
Location
Pr0land
GitHub
Erexo
Hello,
can anyone add Achievement list on my acc maker?
I use that achi lib: http://otland.net/f163/lib-achievements-lib-075-achievement-lua-97615/
I found that http://otland.net/f118/gesior-aac-achievements-secret-122150/ but its not working for my achi lib.
I use SQL support (i think its better than storage), so it can be easier to make.
Also i wanna change it a little.
Example>If achi have 2grade, it display other picture, not 2 stars, etc (i have 6 grades).
Here is my characters.php:
PHP:
<?PHP
$name = stripslashes(ucwords(strtolower(trim($_REQUEST['name']))));
if(empty($name)) {
	$main_content .= 'Here you can get detailed information about a certain player on '.$config['server']['serverName'].'.<BR>  <FORM ACTION="?subtopic=characters" METHOD=post><TABLE WIDTH=100% BORDER=0 CELLSPACING=1 CELLPADDING=4><TR><TD BGCOLOR="'.$config['site']['vdarkborder'].'" CLASS=white><B>Search Character</B></TD></TR><TR><TD BGCOLOR="'.$config['site']['darkborder'].'"><TABLE BORDER=0 CELLPADDING=1><TR><TD>Name:</TD><TD><INPUT NAME="name" VALUE=""SIZE=29 MAXLENGTH=29></TD><TD><INPUT TYPE=image NAME="Submit" SRC="'.$layout_name.'/images/buttons/sbutton_submit.gif" BORDER=0 WIDTH=120 HEIGHT=18></TD></TR></TABLE></TD></TR></TABLE></FORM>';
}
else
{
	if(check_name($name)) {
		$player = $ots->createObject('Player');
		$player->find($name);
		if($player->isLoaded()) {
			$account = $player->getAccount();
			$main_content .= '<TABLE BORDER=0 CELLPADDING=0 CELLSPACING=0 WIDTH=100%><TR><TD><IMG SRC="'.$layout_name.'/images/general/blank.gif" WIDTH=10 HEIGHT=1 BORDER=0></TD><TD><TABLE BORDER=0 CELLSPACING=1 CELLPADDING=4 WIDTH=100%><TR BGCOLOR='.$config['site']['vdarkborder'].'><TD COLSPAN=2 CLASS=white><B>Character Information</B></TD></TR>';
			if(is_int($number_of_rows / 2)) { $bgcolor = $config['site']['darkborder']; } else { $bgcolor = $config['site']['lightborder']; } $number_of_rows++;
			$main_content .= '<TR BGCOLOR="'.$bgcolor.'"><TD WIDTH=20%>Name:</TD><TD><font color="';
			$main_content .= ($player->isOnline()) ? 'green' : 'red';
			$main_content .= '"><b>'.$player->getName().'</b></font>';
			if($player->isDeleted())
				$main_content .= '<font color="red"> [DELETED]</font>';
			if($player->isNameLocked())
				$main_content .= '<font color="red"> [NAMELOCK]</font>';
			$main_content .= '</TD></TR>';
			if($player->getOldName())
			{
				if(is_int($number_of_rows / 2)) { $bgcolor = $config['site']['darkborder']; } else { $bgcolor = $config['site']['lightborder']; } $number_of_rows++;
				if($player->isNameLocked())
					$main_content .= '<TR BGCOLOR="'.$bgcolor.'"><TD>Proposition:</TD><TD>'.$player->getOldName().'</TD></TR>';
				else
					$main_content .= '<TR BGCOLOR="'.$bgcolor.'"><TD>Old name:</TD><TD>'.$player->getOldName().'</TD></TR>';
			}
			            // BEGIN Position Showing *** Fixed by jerryb1988 from otfans.net
            $group = $player->getGroup();
            if ($group == 2){$group_name = 'Tutor';}
            if ($group == 3){$group_name = 'Senior Tutor';}
            if ($group == 4){$group_name = 'Gamemaster';}
            if ($group == 5){$group_name = 'Community Manager';}
            if ($group == 6){$group_name = 'GOD';}

            if($group != 1)
            {

                if(is_int($number_of_rows / 2)) { $bgcolor = $config['site']['darkborder']; } else { $bgcolor = $config['site']['lightborder']; } $number_of_rows++;
                $main_content .= '<TR BGCOLOR="'.$bgcolor.'"><TD>Position:</TD><TD>'.$group_name.'</TD></TR>';
            }
            // END Position Showing
			if(is_int($number_of_rows / 2)) { $bgcolor = $config['site']['darkborder']; } else { $bgcolor = $config['site']['lightborder']; } $number_of_rows++;
			$main_content .= '<TR BGCOLOR="'.$bgcolor.'"><TD>Sex:</TD><TD>';
			$main_content .= ($player->getSex() == 0) ? 'female' : 'male';
			$main_content .= '</TD></TR>';
			if($config['site']['show_marriage_info'])
			{
				if(is_int($number_of_rows / 2)) { $bgcolor = $config['site']['darkborder']; } else { $bgcolor = $config['site']['lightborder']; } $number_of_rows++;
				$main_content .= '<TR BGCOLOR="'.$bgcolor.'"><TD>Marital status:</TD><TD>';
				$marriage = new OTS_Player();
				$marriage->load($player->getMarriage());
				if($marriage->isLoaded())
					$main_content .= 'married to <a href="?subtopic=characters&name='.urlencode($marriage->getName()).'"><b>'.$marriage->getName().'</b></a></TD></TR>';
				else
					$main_content .= 'single</TD></TR>';
			}

			if(is_int($number_of_rows / 2)) { $bgcolor = $config['site']['darkborder']; } else { $bgcolor = $config['site']['lightborder']; } $number_of_rows++;
			$main_content .= '<TR BGCOLOR="'.$bgcolor.'"><TD>Profession:</TD><TD>'.$vocation_name[$player->getWorld()][$player->getPromotion()][$player->getVocation()].'</TD></TR>';
			if(is_int($number_of_rows / 2)) { $bgcolor = $config['site']['darkborder']; } else { $bgcolor = $config['site']['lightborder']; } $number_of_rows++;
			$main_content .= '<TR BGCOLOR="'.$bgcolor.'"><TD>Level:</TD><TD>'.$player->getLevel().'</TD></TR>';
			if(is_int($number_of_rows / 2)) { $bgcolor = $config['site']['darkborder']; } else { $bgcolor = $config['site']['lightborder']; } $number_of_rows++;
			$main_content .= '<TR BGCOLOR="'.$bgcolor.'"><TD>World:</TD><TD>'.$config['site']['worlds'][$player->getWorld()].'</TD></TR>';
			if(!empty($towns_list[$player->getWorld()][$player->getTownId()]))


			$rank_of_player = $player->getRank();
			if(!empty($rank_of_player))
			{
			{
			$guild_id = $rank_of_player->getGuild()->getId();
			$guild_name = $rank_of_player->getGuild()->getName();
				if(is_int($number_of_rows / 2)) { $bgcolor = $config['site']['darkborder']; } else { $bgcolor = $config['site']['lightborder']; } $number_of_rows++;
				$main_content .= '<TR BGCOLOR="'.$bgcolor.'"><TD>Guild Membership:</TD><TD>'.$rank_of_player->getName().' of the <a href="?subtopic=guilds&action=show&guild='.$guild_id.'">'.$guild_name.'</a></TD></TR>';
			}
			}
			if(is_int($number_of_rows / 2)) { $bgcolor = $config['site']['darkborder']; } else { $bgcolor = $config['site']['lightborder']; } $number_of_rows++;
			$lastlogin = $player->getLastLogin();
			if(empty($lastlogin))
				$main_content .= '<TR BGCOLOR="'.$bgcolor.'"><TD>Last login:</TD><TD>Never logged in.</TD></TR>';
			else
				$main_content .= '<TR BGCOLOR="'.$bgcolor.'"><TD>Last login:</TD><TD>'.date("j F Y, g:i a", $lastlogin).'</TD></TR>';
				if(is_int($number_of_rows / 2)) { $bgcolor = $config['site']['darkborder']; } else { $bgcolor = $config['site']['lightborder']; } $number_of_rows++;
			if($config['site']['show_creationdate'] && $player->getCreated())
			{
				$main_content .= '<TR BGCOLOR="'.$bgcolor.'"><TD>Created:</TD><TD>'.date("j F Y, g:i a", $player->getCreated()).'</TD></TR>';
			}
			if($config['site']['show_vip_status'])
			{
           		 $id = $player->getCustomField("id");
				if(is_int($number_of_rows / 2)) { $bgcolor = $config['site']['darkborder']; } else { $bgcolor = $config['site']['lightborder']; } $number_of_rows++;

                         $vip = $SQL->query('SELECT * FROM player_storage WHERE player_id = '.$id.' AND `key` = '.$config['site']['show_vip_storage'].';')->fetch();
         		   if($vip == false) {
        		    $main_content .= '<TD><span class="red"><B></B></TD></TR>';
        		    }
        		    else
       			     {
       		          $main_content .= '<TD><span class="green"><B>VIP</B></TD></TR>';
          		  }
			$comment = $player->getComment();
			$newlines   = array("\r\n", "\n", "\r");
			$comment_with_lines = str_replace($newlines, '<br />', $comment, $count);
			if($count < 50)
				$comment = $comment_with_lines;
			if(!empty($comment))
			{
				if(is_int($number_of_rows / 2)) { $bgcolor = $config['site']['darkborder']; } else { $bgcolor = $config['site']['lightborder']; } $number_of_rows++;
				$main_content .= '<TR BGCOLOR="'.$bgcolor.'"><TD VALIGN=top>Comment:</TD><TD>'.$comment.'</TD></TR>';
			}
			}

			
                              $main_content .= '</TABLE></td>';

	



                        //Hp/Mana/Exp Status by ballack13
                        $hp = ($player->getHealth() / $player->getHealthMax() * 100);
                        $mana = ($player->getMana() / $player->getManaMax() * 100);
          		$main_content .= '<td align=center ><table width=100%><tr><td align=center><table CELLSPACING="1" CELLPADDING="4"><tr><td BGCOLOR="'.$config['site']['lightborder'].'" align="left" width="20%"><b>Player Health:</b></td>
                  		          <td BGCOLOR="'.$config['site']['lightborder'].'" align="left">'.$player->getHealth().'/'.$player->getHealthMax().'<div style="width: 100%; height: 3px; border: 1px solid #000;"><div style="background: red; width: '.$hp.'%; height: 3px;"></td></tr>
                  		          <tr><td BGCOLOR="'.$config['site']['darkborder'].'" align="left"><b>Player Chakra:</b></td><td BGCOLOR="'.$config['site']['darkborder'].'" align="left">'.$player->getMana().'/'.$player->getManaMax().'<div style="width: 100%; height: 3px; border: 1px solid #000;"><div style="background: blue; width: '.$mana.'%; height: 3px;"></td></tr></table><tr>';

                        $next = ($player->getLevel() + 1);
                        $exp = ((50 / 3) * ($player->getLevel() * $player->getLevel() * $player->getLevel()) - (100 * ($player->getLevel() * $player->getLevel())) + ((850/3) * $player->getLevel()) - 200);
                        $expnext = ((50 / 3) * ($next * $next * $next) - (100 * ($next * $next)) + ((850/3) * $next) - 200 - $player->getExperience());
                        $expresult = ($expnext / (($expnext  + $player->getExperience()) - $exp) * 100);
           	        $main_content .= '<tr><table CELLSPACING="1" CELLPADDING="4"><tr><td BGCOLOR="'.$config['site']['lightborder'].'" align="left" width="20%"><b>Player Level:</b></td><td BGCOLOR="'.$config['site']['lightborder'].'" align="left">'.$player->getLevel().'</td></tr>
                        		  <tr><td BGCOLOR="'.$config['site']['darkborder'].'" align="left"><b>Player Experience:</b></td><td BGCOLOR="'.$config['site']['darkborder'].'" align="left">'.$player->getExperience().' EXP.</td></tr>
                		          <tr><td BGCOLOR="'.$config['site']['lightborder'].'" align="left"><b>To Next Level:</b></td><td BGCOLOR="'.$config['site']['lightborder'].'" align="left">You need <b>'.$exp.' EXP</b> to Level <b>'.$next.'</b>.<div title="99.320604545 %" style="width: 100%; height: 3px; border: 1px solid #000;"><div style="background: red; width: '.$expresult.'%; height: 3px;"></td></tr></table></td></tr></table></tr></TABLE></td>';
                      //Skills Categories by Cybermaster
if($config['site']['show_skills_info'])
{
$main_content .= '<center><table cellspacing="0" cellpadding="0" border="1" width="200">
    <caption><strong>Skills</strong>
    <tbody>
        <tr>
            <td style="text-align: center;"><a href="?subtopic=highscores&list=experience"><img src="/images/skills/level.gif" alt="" style="border-style: none"/></td>
            <td style="text-align: center;"><a href="?subtopic=highscores&list=magic"><img src="/images/skills/ml.gif" alt="" style="border-style: none"/></td>
            <td style="text-align: center;"><a href="?subtopic=highscores&list=fist"><img src="/images/skills/fist.gif" alt="" style="border-style: none"/></td>
            <td style="text-align: center;"><a href="?subtopic=highscores&list=club"><img src="/images/skills/club.gif" alt="" style="border-style: none"/></td>
            <td style="text-align: center;"><a href="?subtopic=highscores&list=sword"><img src="/images/skills/sword.gif" alt="" style="border-style: none"/></td>
            <td style="text-align: center;"><a href="?subtopic=highscores&list=axe"><img src="/images/skills/axe.gif" alt="" style="border-style: none"/></td>
            <td style="text-align: center;"><a href="?subtopic=highscores&list=distance"><img src="/images/skills/dist.gif" alt="" style="border-style: none"/></td>
            <td style="text-align: center;"><a href="?subtopic=highscores&list=shield"><img src="/images/skills/def.gif" alt="" style="border-style: none"/></td>
            <td style="text-align: center;"><a href="?subtopic=highscores&list=fishing"><img src="/images/skills/fish.gif" alt="" style="border-style: none"/></td>
        </tr>
        <tr>
            <tr bgcolor="'.$config['site']['darkborder'].'"><td style="text-align: center;"><strong>Level</strong></td>
            <td style="text-align: center;"><strong>Mlvl</strong></td>
            <td style="text-align: center;"><strong>Fist</strong></td>
            <td style="text-align: center;"><strong>Glove</strong></td>
            <td style="text-align: center;"><strong>Katana</strong></td>
            <td style="text-align: center;"><strong>Fan</strong></td>
            <td style="text-align: center;"><strong>Dist</strong></td>
            <td style="text-align: center;"><strong>Def</strong></td>
            <td style="text-align: center;"><strong>Control</strong></td>
        </tr>
        <tr>
            <tr bgcolor="'.$config['site']['lightborder'].'"><td style="text-align: center;">'.$player->getLevel().'</td>
            <td style="text-align: center;">'.$player->getMagLevel().'</td>
            <td style="text-align: center;">'.$player->getSkill(0).'</td>
            <td style="text-align: center;">'.$player->getSkill(1).'</td>
            <td style="text-align: center;">'.$player->getSkill(2).'</td>
            <td style="text-align: center;">'.$player->getSkill(3).'</td>
            <td style="text-align: center;">'.$player->getSkill(4).'</td>
            <td style="text-align: center;">'.$player->getSkill(5).'</td>
            <td style="text-align: center;">'.$player->getSkill(6).'</td>
        </tr>
    </tbody>
</table>
<div style="text-align: center;">&nbsp;<br />
&nbsp;</div></center>';
}
//skill script end

			//quest status by ballack13
			$id = $player->getCustomField("id");
			$number_of_quests = 0;
			$main_content .= '<TABLE BORDER=0 CELLSPACING=1 CELLPADDING=4 WIDTH=100%><TR BGCOLOR='.$config['site']['vdarkborder'].'><TD align="left" COLSPAN=2 CLASS=white><B>Ranks and Quests</B></TD></TD align="right"></TD></TR>';		
                        $quests = $config['site']['quests'];
                        foreach ($quests as $storage => $name) {
				if(is_int($number_of_quests / 2))
					$bgcolor = $config['site']['darkborder'];
				else
					$bgcolor = $config['site']['lightborder'];
				$number_of_quests++;
			$main_content .= '<TR BGCOLOR="'.$bgcolor.'"><TD WIDTH=95%>'.$storage.'</TD>';
                        $quest = $SQL->query('SELECT * FROM player_storage WHERE player_id = '.$id.' AND `key` = '.$quests[$storage].';')->fetch();
                           if($quest == false) {
			$main_content .= '<TD><img src="http://otland.net/images/false.png"/></TD></TR>';
                        }
			else
			{
			$main_content .= '<TD><img src="http://otland.net/images/true.png"/></TD></TR>';
			}
			}

			$main_content .= '</TABLE></td></tr></table><br />';
			$deads = 0;

			//deaths list
			$player_deaths = $SQL->query('SELECT `id`, `date`, `level` FROM `player_deaths` WHERE `player_id` = '.$player->getId().' ORDER BY `date` DESC LIMIT 0,10;');
			foreach($player_deaths as $death)
			{
				if(is_int($number_of_rows / 2))
					$bgcolor = $config['site']['darkborder']; else $bgcolor = $config['site']['lightborder'];

				$number_of_rows++; $deads++;
				$dead_add_content .= "<tr bgcolor=\"".$bgcolor."\">
				<td width=\"20%\" align=\"center\">".date("j M Y, H:i", $death['date'])."</td>
				<td>";
				$killers = $SQL->query("SELECT environment_killers.name AS monster_name, players.name AS player_name, players.deleted AS player_exists FROM killers LEFT JOIN environment_killers ON killers.id = environment_killers.kill_id
LEFT JOIN player_killers ON killers.id = player_killers.kill_id LEFT JOIN players ON players.id = player_killers.player_id
WHERE killers.death_id = ".$SQL->quote($death['id'])." ORDER BY killers.final_hit DESC, killers.id ASC")->fetchAll();

				$i = 0;
				$count = count($killers);
				foreach($killers as $killer)
				{
					$i++;
					if(in_array($i, array(1, $count)))
						$killer['monster_name'] = str_replace(array("an ", "a "), array("", ""), $killer['monster_name']);

					if($killer['player_name'] != "")
					{
						if($i == 1)
							$dead_add_content .= "Killed at level <b>".$death['level']."</b> by ";
						else if($i == $count)
							$dead_add_content .= " and by ";
						else
							$dead_add_content .= ", ";

						if($killer['monster_name'] != "")
							$dead_add_content .= $killer['monster_name']." summoned by ";

						if($killer['player_exists'] == 0)
							$dead_add_content .= "<a href=\"index.php?subtopic=characters&name=".urlencode($killer['player_name'])."\">";

						$dead_add_content .= $killer['player_name'];
						if($killer['player_exists'] == 0)
							$dead_add_content .= "</a>";
					}
					else
					{
						if($i == 1)
							$dead_add_content .= "Died at level <b>".$death['level']."</b> by ";
						else if($i == $count)
							$dead_add_content .= " and by ";
						else
							$dead_add_content .= ", ";

						$dead_add_content .= $killer['monster_name'];
					}

					if($i == $count)
						$dead_add_content .= ".";
				}

				$dead_add_content .= ".</td></tr>";
			}

			if($deads > 0)
				$main_content .= '<TABLE BORDER=0 CELLSPACING=1 CELLPADDING=4 WIDTH=100%><TR BGCOLOR='.$config['site']['vdarkborder'].'><TD COLSPAN=2 CLASS=white><B>Deaths</B></TD></TR>' . $dead_add_content . '</TABLE><br />';

			//end
			if(!$player->getHideChar()) {
				$main_content .= '<TABLE BORDER=0><TR><TD></TD></TR></TABLE><TABLE BORDER=0 CELLSPACING=1 CELLPADDING=4 WIDTH=100%><TR BGCOLOR='.$config['site']['vdarkborder'].'><TD COLSPAN=2 CLASS=white><B>Account Information</B></TD></TR>';
				if($account->getRLName())
				{
					if(is_int($number_of_rows / 2)) { $bgcolor = $config['site']['darkborder']; } else { $bgcolor = $config['site']['lightborder']; } $number_of_rows++;
					$main_content .= '<TR BGCOLOR='.$config['site']['lightborder'].'><TD WIDTH=20%>Real name:</TD><TD>'.$account->getRLName().'</TD></TR>';
				}
				if($account->getLocation())
				{
					if(is_int($number_of_rows / 2)) { $bgcolor = $config['site']['darkborder']; } else { $bgcolor = $config['site']['lightborder']; } $number_of_rows++;
					$main_content .= '<TR BGCOLOR='.$config['site']['darkborder'].'><TD WIDTH=20%>Location:</TD><TD>'.$account->getLocation().'</TD></TR>';
				}
				if(is_int($number_of_rows / 2)) { $bgcolor = $config['site']['darkborder']; } else { $bgcolor = $config['site']['lightborder']; } $number_of_rows++;
				if($account->getLastLogin())
					$main_content .= '<TR BGCOLOR='.$config['site']['lightborder'].'><TD WIDTH=20%>Last login:</TD><TD>'.date("j F Y, g:i a", $account->getLastLogin()).'</TD></TR>';
				else
					$main_content .= '<TR BGCOLOR='.$config['site']['lightborder'].'><TD WIDTH=20%>Last login:</TD><TD>Never logged in.</TD></TR>';
				if($account->getCreated())
				{
					if(is_int($number_of_rows / 2)) { $bgcolor = $config['site']['darkborder']; } else { $bgcolor = $config['site']['lightborder']; } $number_of_rows++;
					$main_content .= '<TR BGCOLOR='.$config['site']['lightborder'].'><TD WIDTH=20%>Created:</TD><TD>'.date("j F Y, g:i a", $account->getCreated()).'</TD></TR>';
				}
				if(is_int($number_of_rows / 2)) { $bgcolor = $config['site']['darkborder']; } else { $bgcolor = $config['site']['lightborder']; } $number_of_rows++;
				$main_content .= '<TR BGCOLOR="'.$bgcolor.'"><TD>Account*Status:</TD><TD>';
				$main_content .= ($account->isPremium()) ? '<b><font color="green">Premium Account</font></b>' : '<b><font color="red">Free Account</font></b>';
				if($account->isBanned())
					if($account->getBanTime() > 0)
						$main_content .= '<font color="red"> [Banished until '.date("j F Y, G:i", $account->getBanTime()).']</font>';
					else
						$main_content .= '<font color="red"> [Banished FOREVER]</font>';
				$main_content .= '</TD></TR></TABLE>';
				$main_content .= '<br><TABLE BORDER=0><TR><TD></TD></TR></TABLE><TABLE BORDER=0 CELLSPACING=1 CELLPADDING=4 WIDTH=100%><TR BGCOLOR='.$config['site']['vdarkborder'].'><TD COLSPAN=5 CLASS=white><B>Characters</B></TD></TR>
				<TR BGCOLOR='.$config['site']['darkborder'].'><TD><B>Name</B></TD><TD><B>World</B></TD><TD><B>Level</B></TD><TD><b>Status</b></TD><TD><B>*</B></TD></TR>';
				$account_players = $account->getPlayersList();
				$account_players->orderBy('name');
				$player_number = 0;
				foreach($account_players as $player_list)
				{
					if(!$player_list->getHideChar())
					{
						$player_number++;
						if(is_int($player_number / 2))
							$bgcolor = $config['site']['darkborder'];
						else
							$bgcolor = $config['site']['lightborder'];
						if(!$player_list->isOnline())
							$player_list_status = '<font color="red">Offline</font>';
						else
							$player_list_status = '<font color="green">Online</font>';
						$main_content .= '<TR BGCOLOR="'.$bgcolor.'"><TD WIDTH=52%><NOBR>'.$player_number.'.*'.$player_list->getName();
						$main_content .= ($player_list->isDeleted()) ? '<font color="red"> [DELETED]</font>' : '';
						$main_content .= '</NOBR></TD><TD WIDTH=15%>'.$config['site']['worlds'][$player_list->getWorld()].'</TD><TD WIDTH=25%>'.$player_list->getLevel().' '.$vocation_name[$player_list->getWorld()][$player_list->getPromotion()][$player_list->getVocation()].'</TD><TD WIDTH="8%"><b>'.$player_list_status.'</b></TD><TD><TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0><FORM ACTION="?subtopic=characters" METHOD=post><TR><TD><INPUT TYPE=hidden NAME=name VALUE="'.$player_list->getName().'"><INPUT TYPE=image NAME="View '.$player_list->getName().'" ALT="View '.$player_list->getName().'" SRC="'.$layout_name.'/images/buttons/sbutton_view.gif" BORDER=0 WIDTH=120 HEIGHT=18></TD></TR></FORM></TABLE></TD></TR>';
					}
				}
				$main_content .= '</TABLE></TD><TD><IMG SRC="'.$layout_name.'/images/general/blank.gif" WIDTH=10 HEIGHT=1 BORDER=0></TD></TR></TABLE>';
			}
			$main_content .= '<BR><BR><FORM ACTION="?subtopic=characters" METHOD=post><TABLE WIDTH=100% BORDER=0 CELLSPACING=1 CELLPADDING=4><TR><TD BGCOLOR="'.$config['site']['vdarkborder'].'" CLASS=white><B>Search Character</B></TD></TR><TR><TD BGCOLOR="'.$config['site']['darkborder'].'"><TABLE BORDER=0 CELLPADDING=1><TR><TD>Name:</TD><TD><INPUT NAME="name" VALUE=""SIZE=29 MAXLENGTH=29></TD><TD><INPUT TYPE=image NAME="Submit" SRC="'.$layout_name.'/images/buttons/sbutton_submit.gif" BORDER=0 WIDTH=120 HEIGHT=18></TD></TR></TABLE></TD></TR></TABLE></FORM>';
			$main_content .= '</TABLE>';
		}
		else
			$search_errors[] = 'Character <b>'.$name.'</b> does not exist.';
	}
	else
		$search_errors[] = 'This name contains invalid letters. Please use only A-Z, a-z and space.';
	if(!empty($search_errors))
	{
		$main_content .= '<div class="SmallBox" >  <div class="MessageContainer" >    <div class="BoxFrameHorizontal" style="background-image:url('.$layout_name.'/images/content/box-frame-horizontal.gif);" /></div>    <div class="BoxFrameEdgeLeftTop" style="background-image:url('.$layout_name.'/images/content/box-frame-edge.gif);" /></div>    <div class="BoxFrameEdgeRightTop" style="background-image:url('.$layout_name.'/images/content/box-frame-edge.gif);" /></div>    <div class="ErrorMessage" >      <div class="BoxFrameVerticalLeft" style="background-image:url('.$layout_name.'/images/content/box-frame-vertical.gif);" /></div>      <div class="BoxFrameVerticalRight" style="background-image:url('.$layout_name.'/images/content/box-frame-vertical.gif);" /></div>      <div class="AttentionSign" style="background-image:url('.$layout_name.'/images/content/attentionsign.gif);" /></div><b>The Following Errors Have Occurred:</b><br/>';
		foreach($search_errors as $search_error)
			$main_content .= '<li>'.$search_error;
		$main_content .= '</div>    <div class="BoxFrameHorizontal" style="background-image:url('.$layout_name.'/images/content/box-frame-horizontal.gif);" /></div>    <div class="BoxFrameEdgeRightBottom" style="background-image:url('.$layout_name.'/images/content/box-frame-edge.gif);" /></div>    <div class="BoxFrameEdgeLeftBottom" style="background-image:url('.$layout_name.'/images/content/box-frame-edge.gif);" /></div>  </div></div><br/>';
		$main_content .= '<BR><FORM ACTION="?subtopic=characters" METHOD=post><TABLE WIDTH=100% BORDER=0 CELLSPACING=1 CELLPADDING=4><TR><TD BGCOLOR="'.$config['site']['vdarkborder'].'" CLASS=white><B>Search Character</B></TD></TR><TR><TD BGCOLOR="'.$config['site']['darkborder'].'"><TABLE BORDER=0 CELLPADDING=1><TR><TD>Name:</TD><TD><INPUT NAME="name" VALUE=""SIZE=29 MAXLENGTH=29></TD><TD><INPUT TYPE=image NAME="Submit" SRC="'.$layout_name.'/images/buttons/sbutton_submit.gif" BORDER=0 WIDTH=120 HEIGHT=18></TD></TR></TABLE></TD></TR></TABLE></FORM>';
	}
}
?>

Please guys help me, i cannot do that alone becouse i dont understand PHP well, i always trying to helping ppls at lua, so help me this time :c


Greetingz,
Erexo.
 
Last edited:
try
PHP:
<?PHP$name = stripslashes(ucwords(strtolower(trim($_REQUEST['name']))));if(empty($name)) {    $main_content .= 'Here you can get detailed information about a certain player on '.$config['server']['serverName'].'.<BR>  <FORM ACTION="?subtopic=characters" METHOD=post><TABLE WIDTH=100% BORDER=0 CELLSPACING=1 CELLPADDING=4><TR><TD BGCOLOR="'.$config['site']['vdarkborder'].'" CLASS=white><B>Search Character</B></TD></TR><TR><TD BGCOLOR="'.$config['site']['darkborder'].'"><TABLE BORDER=0 CELLPADDING=1><TR><TD>Name:</TD><TD><INPUT NAME="name" VALUE=""SIZE=29 MAXLENGTH=29></TD><TD><INPUT TYPE=image NAME="Submit" SRC="'.$layout_name.'/images/buttons/sbutton_submit.gif" BORDER=0 WIDTH=120 HEIGHT=18></TD></TR></TABLE></TD></TR></TABLE></FORM>';}else{    if(check_name($name)) {        $player = $ots->createObject('Player');        $player->find($name);        if($player->isLoaded()) {            $account = $player->getAccount();            $main_content .= '<TABLE BORDER=0 CELLPADDING=0 CELLSPACING=0 WIDTH=100%><TR><TD><IMG SRC="'.$layout_name.'/images/general/blank.gif" WIDTH=10 HEIGHT=1 BORDER=0></TD><TD><TABLE BORDER=0 CELLSPACING=1 CELLPADDING=4 WIDTH=100%><TR BGCOLOR='.$config['site']['vdarkborder'].'><TD COLSPAN=2 CLASS=white><B>Character Information</B></TD></TR>';            if(is_int($number_of_rows / 2)) { $bgcolor = $config['site']['darkborder']; } else { $bgcolor = $config['site']['lightborder']; } $number_of_rows++;            $main_content .= '<TR BGCOLOR="'.$bgcolor.'"><TD WIDTH=20%>Name:</TD><TD><font color="';            $main_content .= ($player->isOnline()) ? 'green' : 'red';            $main_content .= '"><b>'.$player->getName().'</b></font>';            if($player->isDeleted())                $main_content .= '<font color="red"> [DELETED]</font>';            if($player->isNameLocked())                $main_content .= '<font color="red"> [NAMELOCK]</font>';            $main_content .= '</TD></TR>';            if($player->getOldName())            {                if(is_int($number_of_rows / 2)) { $bgcolor = $config['site']['darkborder']; } else { $bgcolor = $config['site']['lightborder']; } $number_of_rows++;                if($player->isNameLocked())                    $main_content .= '<TR BGCOLOR="'.$bgcolor.'"><TD>Proposition:</TD><TD>'.$player->getOldName().'</TD></TR>';                else                    $main_content .= '<TR BGCOLOR="'.$bgcolor.'"><TD>Old name:</TD><TD>'.$player->getOldName().'</TD></TR>';            }                        // BEGIN Position Showing *** Fixed by jerryb1988 from otfans.net            $group = $player->getGroup();            if ($group == 2){$group_name = 'Tutor';}            if ($group == 3){$group_name = 'Senior Tutor';}            if ($group == 4){$group_name = 'Gamemaster';}            if ($group == 5){$group_name = 'Community Manager';}            if ($group == 6){$group_name = 'GOD';}
            if($group != 1)            {
                if(is_int($number_of_rows / 2)) { $bgcolor = $config['site']['darkborder']; } else { $bgcolor = $config['site']['lightborder']; } $number_of_rows++;                $main_content .= '<TR BGCOLOR="'.$bgcolor.'"><TD>Position:</TD><TD>'.$group_name.'</TD></TR>';            }            // END Position Showing            if(is_int($number_of_rows / 2)) { $bgcolor = $config['site']['darkborder']; } else { $bgcolor = $config['site']['lightborder']; } $number_of_rows++;            $main_content .= '<TR BGCOLOR="'.$bgcolor.'"><TD>Sex:</TD><TD>';            $main_content .= ($player->getSex() == 0) ? 'female' : 'male';            $main_content .= '</TD></TR>';            if($config['site']['show_marriage_info'])            {                if(is_int($number_of_rows / 2)) { $bgcolor = $config['site']['darkborder']; } else { $bgcolor = $config['site']['lightborder']; } $number_of_rows++;                $main_content .= '<TR BGCOLOR="'.$bgcolor.'"><TD>Marital status:</TD><TD>';                $marriage = new OTS_Player();                $marriage->load($player->getMarriage());                if($marriage->isLoaded())                    $main_content .= 'married to <a href="?subtopic=characters&name='.urlencode($marriage->getName()).'"><b>'.$marriage->getName().'</b></a></TD></TR>';                else                    $main_content .= 'single</TD></TR>';            }
            if(is_int($number_of_rows / 2)) { $bgcolor = $config['site']['darkborder']; } else { $bgcolor = $config['site']['lightborder']; } $number_of_rows++;            $main_content .= '<TR BGCOLOR="'.$bgcolor.'"><TD>Profession:</TD><TD>'.$vocation_name[$player->getWorld()][$player->getPromotion()][$player->getVocation()].'</TD></TR>';            if(is_int($number_of_rows / 2)) { $bgcolor = $config['site']['darkborder']; } else { $bgcolor = $config['site']['lightborder']; } $number_of_rows++;            $main_content .= '<TR BGCOLOR="'.$bgcolor.'"><TD>Level:</TD><TD>'.$player->getLevel().'</TD></TR>';		/* Achievements Points */            $achievementPoints = $SQL->query('SELECT SUM(`value`) AS `sum` FROM `player_storage` WHERE `key` LIKE "200%" AND `player_id` = ' . $player->getId())->fetch();                        if(!$achievementPoints['sum']) { $achPoints = '0'; } else { $achPoints = $achievementPoints['sum']; }                        if(is_int($number_of_rows / 2)) { $bgcolor = $config['site']['darkborder']; } else { $bgcolor = $config['site']['lightborder']; } $number_of_rows++;                $main_content .= '<TR BGCOLOR="'.$bgcolor.'"><TD>Achievement Points:</TD><TD>'.$achPoints.'</TD></TR>';            /* Achievements Points END*/            if(is_int($number_of_rows / 2)) { $bgcolor = $config['site']['darkborder']; } else { $bgcolor = $config['site']['lightborder']; } $number_of_rows++;            $main_content .= '<TR BGCOLOR="'.$bgcolor.'"><TD>World:</TD><TD>'.$config['site']['worlds'][$player->getWorld()].'</TD></TR>';            if(!empty($towns_list[$player->getWorld()][$player->getTownId()]))

            $rank_of_player = $player->getRank();            if(!empty($rank_of_player))            {            {            $guild_id = $rank_of_player->getGuild()->getId();            $guild_name = $rank_of_player->getGuild()->getName();                if(is_int($number_of_rows / 2)) { $bgcolor = $config['site']['darkborder']; } else { $bgcolor = $config['site']['lightborder']; } $number_of_rows++;                $main_content .= '<TR BGCOLOR="'.$bgcolor.'"><TD>Guild Membership:</TD><TD>'.$rank_of_player->getName().' of the <a href="?subtopic=guilds&action=show&guild='.$guild_id.'">'.$guild_name.'</a></TD></TR>';            }            }            if(is_int($number_of_rows / 2)) { $bgcolor = $config['site']['darkborder']; } else { $bgcolor = $config['site']['lightborder']; } $number_of_rows++;            $lastlogin = $player->getLastLogin();            if(empty($lastlogin))                $main_content .= '<TR BGCOLOR="'.$bgcolor.'"><TD>Last login:</TD><TD>Never logged in.</TD></TR>';            else                $main_content .= '<TR BGCOLOR="'.$bgcolor.'"><TD>Last login:</TD><TD>'.date("j F Y, g:i a", $lastlogin).'</TD></TR>';                if(is_int($number_of_rows / 2)) { $bgcolor = $config['site']['darkborder']; } else { $bgcolor = $config['site']['lightborder']; } $number_of_rows++;            if($config['site']['show_creationdate'] && $player->getCreated())            {                $main_content .= '<TR BGCOLOR="'.$bgcolor.'"><TD>Created:</TD><TD>'.date("j F Y, g:i a", $player->getCreated()).'</TD></TR>';            }            if($config['site']['show_vip_status'])            {                    $id = $player->getCustomField("id");                if(is_int($number_of_rows / 2)) { $bgcolor = $config['site']['darkborder']; } else { $bgcolor = $config['site']['lightborder']; } $number_of_rows++;
                         $vip = $SQL->query('SELECT * FROM player_storage WHERE player_id = '.$id.' AND `key` = '.$config['site']['show_vip_storage'].';')->fetch();                    if($vip == false) {                    $main_content .= '<TD><span class="red"><B></B></TD></TR>';                    }                    else                        {                         $main_content .= '<TD><span class="green"><B>VIP</B></TD></TR>';                    }            $comment = $player->getComment();            $newlines   = array("\r\n", "\n", "\r");            $comment_with_lines = str_replace($newlines, '<br />', $comment, $count);            if($count < 50)                $comment = $comment_with_lines;            if(!empty($comment))            {                if(is_int($number_of_rows / 2)) { $bgcolor = $config['site']['darkborder']; } else { $bgcolor = $config['site']['lightborder']; } $number_of_rows++;                $main_content .= '<TR BGCOLOR="'.$bgcolor.'"><TD VALIGN=top>Comment:</TD><TD>'.$comment.'</TD></TR>';            }            }
                                          $main_content .= '</TABLE></td>';
    


                        //Hp/Mana/Exp Status by ballack13                        $hp = ($player->getHealth() / $player->getHealthMax() * 100);                        $mana = ($player->getMana() / $player->getManaMax() * 100);                  $main_content .= '<td align=center ><table width=100%><tr><td align=center><table CELLSPACING="1" CELLPADDING="4"><tr><td BGCOLOR="'.$config['site']['lightborder'].'" align="left" width="20%"><b>Player Health:</b></td>                                    <td BGCOLOR="'.$config['site']['lightborder'].'" align="left">'.$player->getHealth().'/'.$player->getHealthMax().'<div style="width: 100%; height: 3px; border: 1px solid #000;"><div style="background: red; width: '.$hp.'%; height: 3px;"></td></tr>                                    <tr><td BGCOLOR="'.$config['site']['darkborder'].'" align="left"><b>Player Chakra:</b></td><td BGCOLOR="'.$config['site']['darkborder'].'" align="left">'.$player->getMana().'/'.$player->getManaMax().'<div style="width: 100%; height: 3px; border: 1px solid #000;"><div style="background: blue; width: '.$mana.'%; height: 3px;"></td></tr></table><tr>';
                        $next = ($player->getLevel() + 1);                        $exp = ((50 / 3) * ($player->getLevel() * $player->getLevel() * $player->getLevel()) - (100 * ($player->getLevel() * $player->getLevel())) + ((850/3) * $player->getLevel()) - 200);                        $expnext = ((50 / 3) * ($next * $next * $next) - (100 * ($next * $next)) + ((850/3) * $next) - 200 - $player->getExperience());                        $expresult = ($expnext / (($expnext  + $player->getExperience()) - $exp) * 100);                       $main_content .= '<tr><table CELLSPACING="1" CELLPADDING="4"><tr><td BGCOLOR="'.$config['site']['lightborder'].'" align="left" width="20%"><b>Player Level:</b></td><td BGCOLOR="'.$config['site']['lightborder'].'" align="left">'.$player->getLevel().'</td></tr>                                  <tr><td BGCOLOR="'.$config['site']['darkborder'].'" align="left"><b>Player Experience:</b></td><td BGCOLOR="'.$config['site']['darkborder'].'" align="left">'.$player->getExperience().' EXP.</td></tr>                                  <tr><td BGCOLOR="'.$config['site']['lightborder'].'" align="left"><b>To Next Level:</b></td><td BGCOLOR="'.$config['site']['lightborder'].'" align="left">You need <b>'.$exp.' EXP</b> to Level <b>'.$next.'</b>.<div title="99.320604545 %" style="width: 100%; height: 3px; border: 1px solid #000;"><div style="background: red; width: '.$expresult.'%; height: 3px;"></td></tr></table></td></tr></table></tr></TABLE></td>';                      //Skills Categories by Cybermasterif($config['site']['show_skills_info']){$main_content .= '<center><table cellspacing="0" cellpadding="0" border="1" width="200">    <caption><strong>Skills</strong>    <tbody>        <tr>            <td style="text-align: center;"><a href="?subtopic=highscores&list=experience"><img src="/images/skills/level.gif" alt="" style="border-style: none"/></td>            <td style="text-align: center;"><a href="?subtopic=highscores&list=magic"><img src="/images/skills/ml.gif" alt="" style="border-style: none"/></td>            <td style="text-align: center;"><a href="?subtopic=highscores&list=fist"><img src="/images/skills/fist.gif" alt="" style="border-style: none"/></td>            <td style="text-align: center;"><a href="?subtopic=highscores&list=club"><img src="/images/skills/club.gif" alt="" style="border-style: none"/></td>            <td style="text-align: center;"><a href="?subtopic=highscores&list=sword"><img src="/images/skills/sword.gif" alt="" style="border-style: none"/></td>            <td style="text-align: center;"><a href="?subtopic=highscores&list=axe"><img src="/images/skills/axe.gif" alt="" style="border-style: none"/></td>            <td style="text-align: center;"><a href="?subtopic=highscores&list=distance"><img src="/images/skills/dist.gif" alt="" style="border-style: none"/></td>            <td style="text-align: center;"><a href="?subtopic=highscores&list=shield"><img src="/images/skills/def.gif" alt="" style="border-style: none"/></td>            <td style="text-align: center;"><a href="?subtopic=highscores&list=fishing"><img src="/images/skills/fish.gif" alt="" style="border-style: none"/></td>        </tr>        <tr>            <tr bgcolor="'.$config['site']['darkborder'].'"><td style="text-align: center;"><strong>Level</strong></td>            <td style="text-align: center;"><strong>Mlvl</strong></td>            <td style="text-align: center;"><strong>Fist</strong></td>            <td style="text-align: center;"><strong>Glove</strong></td>            <td style="text-align: center;"><strong>Katana</strong></td>            <td style="text-align: center;"><strong>Fan</strong></td>            <td style="text-align: center;"><strong>Dist</strong></td>            <td style="text-align: center;"><strong>Def</strong></td>            <td style="text-align: center;"><strong>Control</strong></td>        </tr>        <tr>            <tr bgcolor="'.$config['site']['lightborder'].'"><td style="text-align: center;">'.$player->getLevel().'</td>            <td style="text-align: center;">'.$player->getMagLevel().'</td>            <td style="text-align: center;">'.$player->getSkill(0).'</td>            <td style="text-align: center;">'.$player->getSkill(1).'</td>            <td style="text-align: center;">'.$player->getSkill(2).'</td>            <td style="text-align: center;">'.$player->getSkill(3).'</td>            <td style="text-align: center;">'.$player->getSkill(4).'</td>            <td style="text-align: center;">'.$player->getSkill(5).'</td>            <td style="text-align: center;">'.$player->getSkill(6).'</td>        </tr>    </tbody></table><div style="text-align: center;">&nbsp;<br />&nbsp;</div></center>';}//skill script end
            //quest status by ballack13            $id = $player->getCustomField("id");            $number_of_quests = 0;            $main_content .= '<TABLE BORDER=0 CELLSPACING=1 CELLPADDING=4 WIDTH=100%><TR BGCOLOR='.$config['site']['vdarkborder'].'><TD align="left" COLSPAN=2 CLASS=white><B>Ranks and Quests</B></TD></TD align="right"></TD></TR>';                                $quests = $config['site']['quests'];                        foreach ($quests as $storage => $name) {                if(is_int($number_of_quests / 2))                    $bgcolor = $config['site']['darkborder'];                else                    $bgcolor = $config['site']['lightborder'];                $number_of_quests++;            $main_content .= '<TR BGCOLOR="'.$bgcolor.'"><TD WIDTH=95%>'.$storage.'</TD>';                        $quest = $SQL->query('SELECT * FROM player_storage WHERE player_id = '.$id.' AND `key` = '.$quests[$storage].';')->fetch();                           if($quest == false) {            $main_content .= '<TD><img src="images/false.png"/></TD></TR>';                        }            else            {            $main_content .= '<TD><img src="images/true.png"/></TD></TR>';            }            }
            $main_content .= '</TABLE></td></tr></table><br />';            $deads = 0;
            //deaths list            $player_deaths = $SQL->query('SELECT `id`, `date`, `level` FROM `player_deaths` WHERE `player_id` = '.$player->getId().' ORDER BY `date` DESC LIMIT 0,10;');            foreach($player_deaths as $death)            {                if(is_int($number_of_rows / 2))                    $bgcolor = $config['site']['darkborder']; else $bgcolor = $config['site']['lightborder'];
                $number_of_rows++; $deads++;                $dead_add_content .= "<tr bgcolor=\"".$bgcolor."\">                <td width=\"20%\" align=\"center\">".date("j M Y, H:i", $death['date'])."</td>                <td>";                $killers = $SQL->query("SELECT environment_killers.name AS monster_name, players.name AS player_name, players.deleted AS player_exists FROM killers LEFT JOIN environment_killers ON killers.id = environment_killers.kill_idLEFT JOIN player_killers ON killers.id = player_killers.kill_id LEFT JOIN players ON players.id = player_killers.player_idWHERE killers.death_id = ".$SQL->quote($death['id'])." ORDER BY killers.final_hit DESC, killers.id ASC")->fetchAll();
                $i = 0;                $count = count($killers);                foreach($killers as $killer)                {                    $i++;                    if(in_array($i, array(1, $count)))                        $killer['monster_name'] = str_replace(array("an ", "a "), array("", ""), $killer['monster_name']);
                    if($killer['player_name'] != "")                    {                        if($i == 1)                            $dead_add_content .= "Killed at level <b>".$death['level']."</b> by ";                        else if($i == $count)                            $dead_add_content .= " and by ";                        else                            $dead_add_content .= ", ";
                        if($killer['monster_name'] != "")                            $dead_add_content .= $killer['monster_name']." summoned by ";
                        if($killer['player_exists'] == 0)                            $dead_add_content .= "<a href=\"index.php?subtopic=characters&name=".urlencode($killer['player_name'])."\">";
                        $dead_add_content .= $killer['player_name'];                        if($killer['player_exists'] == 0)                            $dead_add_content .= "</a>";                    }                    else                    {                        if($i == 1)                            $dead_add_content .= "Died at level <b>".$death['level']."</b> by ";                        else if($i == $count)                            $dead_add_content .= " and by ";                        else                            $dead_add_content .= ", ";
                        $dead_add_content .= $killer['monster_name'];                    }
                    if($i == $count)                        $dead_add_content .= ".";                }
                $dead_add_content .= ".</td></tr>";            }
            if($deads > 0)                $main_content .= '<TABLE BORDER=0 CELLSPACING=1 CELLPADDING=4 WIDTH=100%><TR BGCOLOR='.$config['site']['vdarkborder'].'><TD COLSPAN=2 CLASS=white><B>Deaths</B></TD></TR>' . $dead_add_content . '</TABLE><br />';
            //end/*                Achievements website script by Archez.                http://otland.net/members/archez/                Achievements in-game functions and script by darkhaos.                http://otland.net/members/darkhaos/                A person that made this script possible, Chris.                http://otland.net/members/chris/                ------------------------------------------------------                Merely scripted for Gesior AAC.                ------------------------------------------------------            */                                $achievements = $SQL->query('SELECT `key`, `player_id` FROM `player_storage` WHERE `key` LIKE "200%" AND `player_id` = ' . $player->getId())->fetchAll();                                $main_content .= '<br /><table border=0 cellspacing="1" cellpadding="4" width=100%><tr bgcolor="'.$config['site']['vdarkborder'].'"><td colspan="2" class=white><b>Account Achievements</b></td></tr>';                                if(!$achievements)                {                    $main_content .= '<tr bgcolor="'.$config['site']['lightborder'].'"><td>There are no achievements set to be displayed for this character.</td></tr>';                }                else                {                    $number_of_rows = 0;                                        foreach($achievements as $row)                    {                        if(!array_key_exists(($row['key'] - 19999 ), $achievements))                        {                            if($row['key'] - 20000 <= 54) { $grade = '<img src="http://img02.imgland.net/KN627j4lLN.gif" />'; }                            elseif($row['key'] - 20000 >= 55) { $grade = '<img src="http://img02.imgland.net/KN627j4lLN.gif" /> <img src="http://img02.imgland.net/KN627j4lLN.gif" />'; }                                                        $secret = false;                                                        if(in_array(($row['key'] - 20000), $config['archez']['secret']))                            {                                $secret = '<img src="http://img04.imgland.net/PuMz0mVqSG.gif" />';                            }                                                        if(is_int($number_of_rows / 2)) { $bgcolor = $config['site']['lightborder']; } else { $bgcolor = $config['site']['darkborder']; }                                                        $main_content .= '<tr bgcolor="'.$bgcolor.'"><td width="20%">'.$grade.'</td><td>' . $config['archez']['achievements'][$row['key'] - 20000] . '<span style="float:right;">'.$secret.'</span></td></tr>';                                                        $number_of_rows++;                        }                    }                }                                $main_content .= '</table>';                            /* END OF ACHIEVEMENTS */            if(!$player->getHideChar()) {                $main_content .= '<TABLE BORDER=0><TR><TD></TD></TR></TABLE><TABLE BORDER=0 CELLSPACING=1 CELLPADDING=4 WIDTH=100%><TR BGCOLOR='.$config['site']['vdarkborder'].'><TD COLSPAN=2 CLASS=white><B>Account Information</B></TD></TR>';                if($account->getRLName())                {                    if(is_int($number_of_rows / 2)) { $bgcolor = $config['site']['darkborder']; } else { $bgcolor = $config['site']['lightborder']; } $number_of_rows++;                    $main_content .= '<TR BGCOLOR='.$config['site']['lightborder'].'><TD WIDTH=20%>Real name:</TD><TD>'.$account->getRLName().'</TD></TR>';                }                if($account->getLocation())                {                    if(is_int($number_of_rows / 2)) { $bgcolor = $config['site']['darkborder']; } else { $bgcolor = $config['site']['lightborder']; } $number_of_rows++;                    $main_content .= '<TR BGCOLOR='.$config['site']['darkborder'].'><TD WIDTH=20%>Location:</TD><TD>'.$account->getLocation().'</TD></TR>';                }                if(is_int($number_of_rows / 2)) { $bgcolor = $config['site']['darkborder']; } else { $bgcolor = $config['site']['lightborder']; } $number_of_rows++;                if($account->getLastLogin())                    $main_content .= '<TR BGCOLOR='.$config['site']['lightborder'].'><TD WIDTH=20%>Last login:</TD><TD>'.date("j F Y, g:i a", $account->getLastLogin()).'</TD></TR>';                else                    $main_content .= '<TR BGCOLOR='.$config['site']['lightborder'].'><TD WIDTH=20%>Last login:</TD><TD>Never logged in.</TD></TR>';                if($account->getCreated())                {                    if(is_int($number_of_rows / 2)) { $bgcolor = $config['site']['darkborder']; } else { $bgcolor = $config['site']['lightborder']; } $number_of_rows++;                    $main_content .= '<TR BGCOLOR='.$config['site']['lightborder'].'><TD WIDTH=20%>Created:</TD><TD>'.date("j F Y, g:i a", $account->getCreated()).'</TD></TR>';                }                if(is_int($number_of_rows / 2)) { $bgcolor = $config['site']['darkborder']; } else { $bgcolor = $config['site']['lightborder']; } $number_of_rows++;                $main_content .= '<TR BGCOLOR="'.$bgcolor.'"><TD>Account*Status:</TD><TD>';                $main_content .= ($account->isPremium()) ? '<b><font color="green">Premium Account</font></b>' : '<b><font color="red">Free Account</font></b>';                if($account->isBanned())                    if($account->getBanTime() > 0)                        $main_content .= '<font color="red"> [Banished until '.date("j F Y, G:i", $account->getBanTime()).']</font>';                    else                        $main_content .= '<font color="red"> [Banished FOREVER]</font>';                $main_content .= '</TD></TR></TABLE>';                $main_content .= '<br><TABLE BORDER=0><TR><TD></TD></TR></TABLE><TABLE BORDER=0 CELLSPACING=1 CELLPADDING=4 WIDTH=100%><TR BGCOLOR='.$config['site']['vdarkborder'].'><TD COLSPAN=5 CLASS=white><B>Characters</B></TD></TR>                <TR BGCOLOR='.$config['site']['darkborder'].'><TD><B>Name</B></TD><TD><B>World</B></TD><TD><B>Level</B></TD><TD><b>Status</b></TD><TD><B>*</B></TD></TR>';                $account_players = $account->getPlayersList();                $account_players->orderBy('name');                $player_number = 0;                foreach($account_players as $player_list)                {                    if(!$player_list->getHideChar())                    {                        $player_number++;                        if(is_int($player_number / 2))                            $bgcolor = $config['site']['darkborder'];                        else                            $bgcolor = $config['site']['lightborder'];                        if(!$player_list->isOnline())                            $player_list_status = '<font color="red">Offline</font>';                        else                            $player_list_status = '<font color="green">Online</font>';                        $main_content .= '<TR BGCOLOR="'.$bgcolor.'"><TD WIDTH=52%><NOBR>'.$player_number.'.*'.$player_list->getName();                        $main_content .= ($player_list->isDeleted()) ? '<font color="red"> [DELETED]</font>' : '';                        $main_content .= '</NOBR></TD><TD WIDTH=15%>'.$config['site']['worlds'][$player_list->getWorld()].'</TD><TD WIDTH=25%>'.$player_list->getLevel().' '.$vocation_name[$player_list->getWorld()][$player_list->getPromotion()][$player_list->getVocation()].'</TD><TD WIDTH="8%"><b>'.$player_list_status.'</b></TD><TD><TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0><FORM ACTION="?subtopic=characters" METHOD=post><TR><TD><INPUT TYPE=hidden NAME=name VALUE="'.$player_list->getName().'"><INPUT TYPE=image NAME="View '.$player_list->getName().'" ALT="View '.$player_list->getName().'" SRC="'.$layout_name.'/images/buttons/sbutton_view.gif" BORDER=0 WIDTH=120 HEIGHT=18></TD></TR></FORM></TABLE></TD></TR>';                    }                }                $main_content .= '</TABLE></TD><TD><IMG SRC="'.$layout_name.'/images/general/blank.gif" WIDTH=10 HEIGHT=1 BORDER=0></TD></TR></TABLE>';            }            $main_content .= '<BR><BR><FORM ACTION="?subtopic=characters" METHOD=post><TABLE WIDTH=100% BORDER=0 CELLSPACING=1 CELLPADDING=4><TR><TD BGCOLOR="'.$config['site']['vdarkborder'].'" CLASS=white><B>Search Character</B></TD></TR><TR><TD BGCOLOR="'.$config['site']['darkborder'].'"><TABLE BORDER=0 CELLPADDING=1><TR><TD>Name:</TD><TD><INPUT NAME="name" VALUE=""SIZE=29 MAXLENGTH=29></TD><TD><INPUT TYPE=image NAME="Submit" SRC="'.$layout_name.'/images/buttons/sbutton_submit.gif" BORDER=0 WIDTH=120 HEIGHT=18></TD></TR></TABLE></TD></TR></TABLE></FORM>';            $main_content .= '</TABLE>';        }        else            $search_errors[] = 'Character <b>'.$name.'</b> does not exist.';    }    else        $search_errors[] = 'This name contains invalid letters. Please use only A-Z, a-z and space.';    if(!empty($search_errors))    {        $main_content .= '<div class="SmallBox" >  <div class="MessageContainer" >    <div class="BoxFrameHorizontal" style="background-image:url('.$layout_name.'/images/content/box-frame-horizontal.gif);" /></div>    <div class="BoxFrameEdgeLeftTop" style="background-image:url('.$layout_name.'/images/content/box-frame-edge.gif);" /></div>    <div class="BoxFrameEdgeRightTop" style="background-image:url('.$layout_name.'/images/content/box-frame-edge.gif);" /></div>    <div class="ErrorMessage" >      <div class="BoxFrameVerticalLeft" style="background-image:url('.$layout_name.'/images/content/box-frame-vertical.gif);" /></div>      <div class="BoxFrameVerticalRight" style="background-image:url('.$layout_name.'/images/content/box-frame-vertical.gif);" /></div>      <div class="AttentionSign" style="background-image:url('.$layout_name.'/images/content/attentionsign.gif);" /></div><b>The Following Errors Have Occurred:</b><br/>';        foreach($search_errors as $search_error)            $main_content .= '<li>'.$search_error;        $main_content .= '</div>    <div class="BoxFrameHorizontal" style="background-image:url('.$layout_name.'/images/content/box-frame-horizontal.gif);" /></div>    <div class="BoxFrameEdgeRightBottom" style="background-image:url('.$layout_name.'/images/content/box-frame-edge.gif);" /></div>    <div class="BoxFrameEdgeLeftBottom" style="background-image:url('.$layout_name.'/images/content/box-frame-edge.gif);" /></div>  </div></div><br/>';        $main_content .= '<BR><FORM ACTION="?subtopic=characters" METHOD=post><TABLE WIDTH=100% BORDER=0 CELLSPACING=1 CELLPADDING=4><TR><TD BGCOLOR="'.$config['site']['vdarkborder'].'" CLASS=white><B>Search Character</B></TD></TR><TR><TD BGCOLOR="'.$config['site']['darkborder'].'"><TABLE BORDER=0 CELLPADDING=1><TR><TD>Name:</TD><TD><INPUT NAME="name" VALUE=""SIZE=29 MAXLENGTH=29></TD><TD><INPUT TYPE=image NAME="Submit" SRC="'.$layout_name.'/images/buttons/sbutton_submit.gif" BORDER=0 WIDTH=120 HEIGHT=18></TD></TR></TABLE></TD></TR></TABLE></FORM>';    }}?>
 
Last edited:
SQL:
CREATE TABLE `player_achievements`
(
	`player_id` INT NOT NULL DEFAULT 0,
	`id` INT NOT NULL DEFAULT 0,
	`grade` INT NOT NULL DEFAULT 0,
	`points` INT NOT NULL DEFAULT 0,
	`secret` BOOLEAN NOT NULL DEFAULT FALSE,
	KEY (`player_id`), UNIQUE (`player_id`, `id`),
	FOREIGN KEY (`player_id`) REFERENCES `players`(`id`) ON DELETE CASCADE
) ENGINE = InnoDB;
and now work?
 
Last edited:
Nevermind, i edited it by my own...

But have one problem, achi dont lay by grades, just by ID, can someone fix that?
PHP:
                $achievements = $SQL->query('SELECT `id`, `player_id`, `grade`, `secret` FROM `player_achievements` WHERE  `player_id` = ' . $player->getId())->fetchAll();
                
                $main_content .= '<br /><table border=0 cellspacing="1" cellpadding="4" width=100%><tr bgcolor="'.$config['site']['vdarkborder'].'"><td colspan="2" class=white><b>Account Achievements</b></td></tr>';
                
                if(!$achievements)
                {
                    $main_content .= '<tr bgcolor="'.$config['site']['lightborder'].'"><td>There are no achievements set to be displayed for this account.</td></tr>';
                }
                else
                {
                    $number_of_rows = 0;
                    
                    foreach($achievements as $row)
                    {

                            if($row['grade'] == 1) { $grade = '<img src="http://img02.imgland.net/KN627j4lLN.gif" />'; }
                            elseif($row['grade'] == 2) { $grade = '<img src="http://img02.imgland.net/KN627j4lLN.gif" />'; }
                            elseif($row['grade'] == 3) { $grade = '<img src="http://img02.imgland.net/KN627j4lLN.gif" />'; }   
                            elseif($row['grade'] == 4) { $grade = '<img src="http://img02.imgland.net/KN627j4lLN.gif" />'; }       
                            elseif($row['grade'] == 5) { $grade = '<img src="http://img02.imgland.net/KN627j4lLN.gif" />'; }   
                            elseif($row['grade'] == 6) { $grade = '<img src="http://img02.imgland.net/KN627j4lLN.gif" />'; }    
                            $secret = false;
                            if($row['secret'] == 1) { $secret = '<img src="http://img04.imgland.net/PuMz0mVqSG.gif" />'; }
                            
                            if(is_int($number_of_rows / 2)) { $bgcolor = $config['site']['lightborder']; } else { $bgcolor = $config['site']['darkborder']; }
                            
                            $main_content .= '<tr bgcolor="'.$bgcolor.'"><td width="20%">'.$grade.'</td><td>' . $config['archez']['achievements'][$row['id']] . '<span style="float:right;">'.$secret.'</span></td></tr>';
                            
                            $number_of_rows++;

                    }
                }
                
                $main_content .= '</table>';

Gesior helps me :)
PHP:
$achievements = $SQL->query('SELECT `id`, `player_id`, `grade`, `secret` FROM `player_achievements` WHERE  `player_id` = ' . $player->getId() . ' ORDER BY `grade` ASC')->fetchAll();
 
Last edited:
Back
Top