I`ve added a new event handler at the plugin.panels.php to hide the records panel at the spectator view.
Before:

After:

Changings
Open and edit "plugin.panels.php" (located at xaseco->plugins folder)
Add after line 23:
Code: Select all
Aseco::registerEvent('onPlayerInfoChanged', 'recspanel_spec');
Code: Select all
function recspanel_spec ($aseco) {
if ($aseco->server->gamestate != Server::SCORE) {
foreach ($aseco->server->players->player_list as $player) {
if ($player->isspectator) {
// Records Panel
$xml = '<manialink id="4"></manialink>';
$aseco->client->query('SendDisplayManialinkPageToLogin', $player->login, $xml, 0, false);
} else {
update_recpanel($aseco, $player, $player->panels['pb']);
}
}
} else {
$xml = '<manialink id="4"></manialink>';
$aseco->client->addCall('SendDisplayManialinkPage', array($xml, 0, false));
}
}// hide records panel in spectator view
Replace/change this:
Code: Select all
// called @ onNewChallenge2
function update_allrecpanels($aseco, $data) {
global $rasp;
if ($aseco->server->getGame() == 'TMF') {
// update records panel for all players
foreach ($aseco->server->players->player_list as &$player) {
// remember personal best at start of track
if ($data) {
$pb = $rasp->getPb($player->login, $aseco->server->challenge->id);
$player->panels['pb'] = $pb['time'];
}
update_recpanel($aseco, $player, $player->panels['pb']);
}
}
} // update_allrecpanels
Code: Select all
// called @ onNewChallenge2
function update_allrecpanels($aseco, $data) {
global $rasp;
if ($aseco->server->getGame() == 'TMF') {
// update records panel for all players
foreach ($aseco->server->players->player_list as &$player) {
// remember personal best at start of track
if ($data) {
$pb = $rasp->getPb($player->login, $aseco->server->challenge->id);
$player->panels['pb'] = $pb['time'];
}
if ($player->isspectator) {
// Records Panel
$xml = '<manialink id="4"></manialink>';
$aseco->client->query('SendDisplayManialinkPageToLogin', $player->login, $xml, 0, false);
} else {
update_recpanel($aseco, $player, $player->panels['pb']);
}
}
}
} // update_allrecpanels
And Replace/change this:
Code: Select all
// called @ onPlayerConnect
function load_recpanel($aseco, $player) {
global $rasp;
if ($aseco->server->getGame() == 'TMF') {
// remember personal best
$pb = $rasp->getPb($player->login, $aseco->server->challenge->id);
$player->panels['pb'] = $pb['time'];
update_recpanel($aseco, $player, $pb['time']);
}
} // load_recpanel
Into this:
Code: Select all
// called @ onPlayerConnect
function load_recpanel($aseco, $player) {
global $rasp;
if ($aseco->server->getGame() == 'TMF') {
// remember personal best
$pb = $rasp->getPb($player->login, $aseco->server->challenge->id);
$player->panels['pb'] = $pb['time'];
if ($player->isspectator) {
// Records Panel
$xml = '<manialink id="4"></manialink>';
$aseco->client->query('SendDisplayManialinkPageToLogin', $player->login, $xml, 0, false);
} else {
update_recpanel($aseco, $player, $pb['time']);
}
}
} // load_recpanel