• 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!

PHP [Gesior ACC] Character Search Page and Ban System like Tibia Rl

drax skylon

o.O DrAx O.o
Joined
Sep 9, 2008
Messages
225
Reaction score
3
To do all steps of this tutorial you must have all files from Unnamed acc. maker 0.3.4beta for TFS 0.3.4 (work with multi-world!) in this folder:
C:\xampp\htdocs

Ok... let's start...

First go to:
C:\xampp\htdocs\pot
(if you want, you can make a backup of the file "OTS_Account.php")
and open the file "OTS_Account.php"

Now, press "Ctrl+F" and find it:
getBanTime
When you find, you will see it:
PHP:
    public function getBanTime()
    {
        // nothing can't be banned
        if( !$this->isLoaded() )
        {
            throw new E_OTS_NotLoaded();
        }
		if( !isset($this->data['banned_time']) )
			$this->loadBan();
        return $this->data['banned_time'];
    }

    public function loadBan()

highlight all of these lines and paste this over them:

PHP:
    public function getBanTime()
    {
        // nothing can't be banned
        if( !$this->isLoaded() )
        {
            throw new E_OTS_NotLoaded();
        }
		if( !isset($this->data['banned_time']) )
			$this->loadBan();
        return $this->data['banned_time'];
    }

    public function getBanReason()
    {
        // nothing can't be banned
        if( !$this->isLoaded() )
        {
            throw new E_OTS_NotLoaded();
        }
		if( !isset($this->data['banned_reason']) )
			$this->loadBan();
        return $this->data['banned_reason'];
    }

    public function loadBan()

Some lines down, you will find it:

PHP:
		$ban = $this->db->query('SELECT ' . $this->db->fieldName('active') . ', ' . $this->db->fieldName('expires') . ' FROM ' . $this->db->tableName('bans') . ' WHERE (' . $this->db->fieldName('type') . ' = 3 OR ' . $this->db->fieldName('type') . ' = 5) AND ' . $this->db->fieldName('active') . ' = 1 AND ' . $this->db->fieldName('value') . ' = ' . $this->data['id'] . ' AND (' . $this->db->fieldName('expires') . ' > ' . time() .' OR ' . $this->db->fieldName('expires') . ' = -1) ORDER BY ' . $this->db->fieldName('expires') . ' DESC')->fetch();
Highlight this line and paste this over them:
PHP:
		$ban = $this->db->query('SELECT ' . $this->db->fieldName('active') . ', ' . $this->db->fieldName('expires') . ',' . $this->db->fieldName('reason') . ' FROM ' . $this->db->tableName('bans') . ' WHERE (' . $this->db->fieldName('type') . ' = 3 OR ' . $this->db->fieldName('type') . ' = 5) AND ' . $this->db->fieldName('active') . ' = 1 AND ' . $this->db->fieldName('value') . ' = ' . $this->data['id'] . ' AND (' . $this->db->fieldName('expires') . ' > ' . time() .' OR ' . $this->db->fieldName('expires') . ' = -1) ORDER BY ' . $this->db->fieldName('expires') . ' DESC')->fetch();
One line down, you will find it:
PHP:
		$this->data['banned'] = $ban['active'];
		$this->data['banned_time'] = $ban['expires'];

Change to it:

PHP:
		$this->data['banned'] = $ban['active'];
		$this->data['banned_time'] = $ban['expires'];
		$this->data['banned_reason'] = $ban['reason'];

Close and save this file...

Now go to:
C:\xampp\htdocs
and open the file "characters.php"
And find the "end of characters informations" after the comments, VIP Status or anything else you have in this page
And put it (Premium Status like Tibia RL):
PHP:
				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()) ? 'Premium Account' : 'Free Account';

Now go down till find the begin of "Account Informations", and you will find something like that:

PHP:
				$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=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>';

Highlight all of these lines and paste this over them:

PHP:
				$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=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="'.$bgcolor.'"><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="'.$bgcolor.'"><TD WIDTH=20%>Location:</TD><TD>'.$account->getLocation().'</TD></TR>';
				}
            // BEGIN Banished Showing *** Made by Drax Skylon from OtLand.net
$ban_reason = array("Offensive Name", "Invalid Name Format", "Unsuitable Name", "Name Inciting Rule Violation", "Offensive Statement", "Spamming", "Illegal Advertising", "Off-Topic Public Statement", "Non-English Public Statement", "Inciting Rule Violation", "Bug Abuse", "Game Weakness Abuse", "Using Unofficial Software to Play", "Hacking", "Multi-Clienting", "Account Trading or Sharing", "Threatening Gamemaster", "Pretending to Have Influence on Rule Enforcer", "False Report to Gamemaster", "Destructive Behaviour", "Excessive Unjustified Player Killing", "Invalid Payment", "Spoiling Auction");
			if($account->isBanned())
			{
				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><font color="red">Banished:</font></TD>';
				$main_content .= '<TD>';
					if($account->getBanTime() > 0)
						$main_content .= '<font color="red">until '.date("j F Y, G:i:s", $account->getBanTime()).' CEST because of '.$ban_reason[$account->getBanReason()].'</font>';
					else
						$main_content .= '<font color="red">until deletion because of '.$ban_reason[$account->getBanReason()].'</font>';

				$main_content .= '</TD></TR>';
			}
            // END Banished Showing
				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="'.$bgcolor.'"><TD WIDTH=20%>Created:</TD><TD>'.date("j F Y, G:i:s", $account->getCreated()).' CEST</TD></TR>';
				}

				$main_content .= '</TABLE>';

Close and save this file...
And congratulations you have a character search page like tibia RL (or almost).

Hope you like :thumbup:
Cya!

EDIT:
I tried to explain better all steps, improve the way to show codes and the way to find the things in the files...If somebody have any question or suggestion to make this tutorial better please post it...Thank you ;]
EDIT 2:
I fixed some orthography's errors and changed "what you must find" in the first step. Now you must just paste in Ctrl+F what I have put into "quote".
EDIT 3:
I add the link for download Gesior Unnamed ACC maker. (To do all steps of this tutorial you must use this website)
 
Last edited:
WHERE INDENTS!!!!!!??
Code is fucking hard to read... -.-
 
Back
Top