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

Solved ACC problems TFS

Calacca

New Member
Joined
Apr 24, 2010
Messages
3
Reaction score
0
Hi I'm having some issues with my server...

Some info:
OS: Windows 7
XAMPP: XAMPP 1.7.3
sqlType: MySQL
Server: The Forgotten Server 0.2.7 (Mystic Spirit)
ACC: Gesior ACC 0.3.0 (changed template to x-webclient by DeGhost).

Ok so first of all when i'm trying access my account while I'm admin, I get this error:

Code:
[B]Fatal error[/B]: Uncaught exception 'PDOException' with message 
'SQLSTATE[42S22]: Column not found: 1054 Unknown column 'balance' 
in 'field list'' 
in C:\Program Files\Xampp\xampp\htdocs\pot\OTS_Player.php:111 
Stack trace: #0 
C:\Program Files\Xampp\xampp\htdocs\pot\OTS_Player.php(111): 
PDO->query('SELECT `id`, `n...') #1 
C:\Program Files\Xampp\xampp\htdocs\pot\OTS_Row_DAO.php(53): 
OTS_Player->load(1) #2 
C:\Program Files\Xampp\xampp\htdocs\pot\OTS_Base_List.php(224):
OTS_Row_DAO->__construct(1) #3 
C:\Program Files\Xampp\xampp\htdocs\accountmanagement.php(62):
OTS_Base_List->current() #4 
C:\Program Files\Xampp\xampp\htdocs\index.php(134): 
include('C:\Program File...') #5 {main} thrown in 
[B]C:\Program Files\Xampp\xampp\htdocs\pot\OTS_Player.php[/B] on line [B]111[/B]



And almost the same thing happens when i try to create a character
via the website:

Code:
[B]Fatal error[/B]: Uncaught exception 'PDOException' with message
 'SQLSTATE[42S22]: Column not found: 1054 Unknown column 'balance' 
in 'field list'' in 
C:\Program Files\Xampp\xampp\htdocs\pot\OTS_Player.php:111 
Stack trace: #0 
C:\Program Files\Xampp\xampp\htdocs\pot\OTS_Player.php(111): 
PDO->query('SELECT `id`, `n...') #1 
C:\Program Files\Xampp\xampp\htdocs\pot\OTS_Player.php(139): 
OTS_Player->load('3') #2 
C:\Program Files\Xampp\xampp\htdocs\accountmanagement.php(460): 
OTS_Player->find('Sorcerer Sample') #3 
C:\Program Files\Xampp\xampp\htdocs\index.php(134): 
include('C:\Program File...') #4 {main} thrown in 
[B]C:\Program Files\Xampp\xampp\htdocs\pot\OTS_Player.php[/B] on line [B]111[/B]


OTS_Player.php(111):
PHP:
        // SELECT query on database
Line:    $this->data = $this->db->query('SELECT ' . $this->db->fieldName('id') . ', ' . $this->db->fieldName('name') . ', ' . $this->db->fieldName('account_id') . ', ' . $this->db->fieldName('group_id') . ', ' . $this->db->fieldName('premend') . ', ' . $this->db->fieldName('sex') . ', ' . $this->db->fieldName('vocation') . ', ' . $this->db->fieldName('experience') . ', ' . $this->db->fieldName('level') . ', ' . $this->db->fieldName('maglevel') . ', ' . $this->db->fieldName('health') . ', ' . $this->db->fieldName('healthmax') . ', ' . $this->db->fieldName('mana') . ', ' . $this->db->fieldName('manamax') . ', ' . $this->db->fieldName('manaspent') . ', ' . $this->db->fieldName('soul') . ', ' . $this->db->fieldName('direction') . ', ' . $this->db->fieldName('lookbody') . ', ' . $this->db->fieldName('lookfeet') . ', ' . $this->db->fieldName('lookhead') . ', ' . $this->db->fieldName('looklegs') . ', ' . $this->db->fieldName('looktype') . ', ' . $this->db->fieldName('lookaddons') . ', ' . $this->db->fieldName('posx') . ', ' . $this->db->fieldName('posy') . ', ' . $this->db->fieldName('posz') . ', ' . $this->db->fieldName('cap') . ', ' . $this->db->fieldName('lastlogin') . ', ' . $this->db->fieldName('lastip') . ', ' . $this->db->fieldName('save') . ', ' . $this->db->fieldName('conditions') . ', ' . $this->db->fieldName('redskulltime') . ', ' . $this->db->fieldName('redskull') . ', ' . $this->db->fieldName('guildnick') . ', ' . $this->db->fieldName('rank_id') . ', ' . $this->db->fieldName('town_id') . ', ' . $this->db->fieldName('loss_experience') . ', ' . $this->db->fieldName('loss_mana') . ', ' . $this->db->fieldName('loss_skills') . ', ' . $this->db->fieldName('balance') . ' FROM ' . $this->db->tableName('players') . ' WHERE ' . $this->db->fieldName('id') . ' = ' . (int) $id)->fetch();


OTS_Player.php(139):
PHP:
    public function find($name)
    {
        // finds player's ID
        $id = $this->db->query('SELECT ' . $this->db->fieldName('id') . ' FROM ' . $this->db->tableName('players') . ' WHERE ' . $this->db->fieldName('name') . ' = ' . $this->db->quote($name) )->fetch();

        // if anything was found
        if( isset($id['id']) )
        {
Line:       $this->load($id['id']);
        }
    }



OTS_Row_DAO.php(53):
PHP:
            // checks if it's ID, or name identifier
            if( is_int($id) )
            {
Line:           $this->load($id);
            }
            else
            {
                $this->find($id);
            }
        }
    }



OTS_Base_List.php(224):
PHP:
    public function current()
    {
        $id = current($this->rows);

        $class = 'OTS_' . $this->class;
Line:    return new $class( (int) $id['id']);
    }



accountmanagement.php(62):
PHP:
		//show list of players on account
Line:	foreach($account_players as $account_player) {
			$player_number_counter++;
			$main_content .= '<tr style="background-color:';
			if(is_int($player_number_counter / 2)) {
				$main_content .= $config['site']['darkborder'];
			}
			else
			{
				$main_content .= $config['site']['lightborder'];
			}
			$main_content .= ';" ><td><NOBR>'.$player_number_counter.'.*'.$account_player->getName().'</NOBR></td><td><NOBR>'.$account_player->getLevel().' '.$config_vocations_short[$account_player->getVocation()].'</NOBR></td>';
			if($account_player->getCustomField("online") == 0) {
				$main_content .= '<td><font color="red"><b>Offline</b></font></td>';
			}
			else
			{
				$main_content .= '<td><font color="green"><b>Online</b></font></td>';
			}
			$main_content .= '<td>[<a href="index.php?subtopic=accountmanagement&action=changecomment&name='.urlencode($account_player->getName()).'" >Edit</a>]</td></tr>';
		}
		$main_content .= '</table>  </div></div><div class="TableShadowContainer" >  <div class="TableBottomShadow" style="background-image:url('.$layout_name.'/images/content/table-shadow-bm.gif);" >    <div class="TableBottomLeftShadow" style="background-image:url('.$layout_name.'/images/content/table-shadow-bl.gif);" ></div>    <div class="TableBottomRightShadow" style="background-image:url('.$layout_name.'/images/content/table-shadow-br.gif);" ></div>  </div></div></td></tr><tr><td><table class="InnerTableButtonRow" cellpadding="0" cellspacing="0" ><tr><td><table border="0" cellspacing="0" cellpadding="0" ><form action="index.php?subtopic=accountmanagement&action=createcharacter" method="post" ><tr><td style="border:0px;" ><div class="BigButton" style="background-image:url('.$layout_name.'/images/buttons/sbutton.gif)" ><div onMouseOver="MouseOverBigButton(this);" onMouseOut="MouseOutBigButton(this);" ><div class="BigButtonOver" style="background-image:url('.$layout_name.'/images/buttons/sbutton_over.gif);" ></div><input class="ButtonText" type="image" name="Create Character" alt="Create Character" src="'.$layout_name.'/images/buttons/_sbutton_createcharacter.gif" ></div></div></td></tr></form></table></td><td style="width:100%;" ></td><td><table border="0" cellspacing="0" cellpadding="0" ><form action="index.php?subtopic=accountmanagement&action=deletecharacter" method="post" ><tr><td style="border:0px;" ><div class="BigButton" style="background-image:url('.$layout_name.'/images/buttons/sbutton.gif)" ><div onMouseOver="MouseOverBigButton(this);" onMouseOut="MouseOutBigButton(this);" ><div class="BigButtonOver" style="background-image:url('.$layout_name.'/images/buttons/sbutton_over.gif);" ></div><input class="ButtonText" type="image" name="Delete Character" alt="Delete Character" src="'.$layout_name.'/images/buttons/_sbutton_deletecharacter.gif" ></div></div></td></tr></form></table></td></tr></table></td></tr>          </table>        </div>  </table></div></td></tr><br/><br/>';
	}


accountmanagement.php(460):
PHP:
			if(empty($newchar_errors)) {
				$char_to_copy_name = $config['char_vocations'][$newchar_vocation];
				$char_to_copy = new OTS_Player();
Line:			$char_to_copy->find($char_to_copy_name);
				if(!$char_to_copy->isLoaded()) {
					$newchar_errors[] .= 'Wrong characters configuration ("Load vocations" in admin panel, "character to copy" doesn\'t exist in DB). Try again or contact with admin.';
				}
			}



index.php(134):
PHP:
	case "accountmanagement";
		$topic = "Account Management";
		$subtopic = "accountmanagement";
Line:		include("accountmanagement.php");
	break;



I've seen other people posted the same thing in other threads, but I've
never seen them get any help...


Next thing is that I have some template problems. As I mentioned before
Im using x-webclient, you can see the release thread here.
Two things:
1: There's no text on the button and nothing happens when i click on it.

2. It says that the server is offline even though it's not.
trouble.png



Hope anyone can help me.

Thanks in advance.
 
Last edited:
It looks like your AAC is not compatible with your database structure (TFS version). I don't guarantee that the following query is going to solve your problems, instead I suggest you use version 0.3.1 of Gesior AAC.

PHP:
ALTER TABLE `players` ADD `balance` BIGINT UNSIGNED NOT NULL DEFAULT 0 AFTER `blessings`;
 
Back
Top