you could edit the redirect fuction to have an optional override of the time then go through the code and anywhere that you wanted tha instant redirect ad ,0 to the end of it
something like
function redirect($destination_url, $message, $time = $pun_config['o_redirect_delay'])
{
global $db, $pun_config, $lang_common, $pun_user;
if ($destination_url == '')
$destination_url = 'index.php';
// If the delay is 0 seconds, we might as well skip the redirect all together
if ($time == '0')
header('Location: '.str_replace('&', '&', $destination_url));
// Load the redirect template
$tpl_redir = trim(file_get_contents(PUN_ROOT.'include/template/redirect.tpl'));
// START SUBST - <pun_content_direction>
$tpl_redir = str_replace('<pun_content_direction>', $lang_common['lang_direction'], $tpl_redir);
// END SUBST - <pun_content_direction>
// START SUBST - <pun_char_encoding>
$tpl_redir = str_replace('<pun_char_encoding>', $lang_common['lang_encoding'], $tpl_redir);
// END SUBST - <pun_char_encoding>
// START SUBST - <pun_head>
ob_start();
?>
<meta http-equiv="refresh" content="<?php echo $time ?>;URL=<?php echo $destination_url ?>" />
<title><?php echo pun_htmlspecialchars($pun_config['o_board_title']).' / '.$lang_common['Redirecting'] ?></title>
<link rel="stylesheet" type="text/css" href="style/<?php echo $pun_user['style'].'.css' ?>" />
<?php
$tpl_temp = trim(ob_get_contents());
$tpl_redir = str_replace('<pun_head>', $tpl_temp, $tpl_redir);
ob_end_clean();
// END SUBST - <pun_head>
// START SUBST - <pun_redir_heading>
$tpl_redir = str_replace('<pun_redir_heading>', $lang_common['Redirecting'], $tpl_redir);
// END SUBST - <pun_redir_heading>
// START SUBST - <pun_redir_text>
$tpl_temp = $message.'<br /><br />'.'<a href="'.$destination_url.'">'.$lang_common['Click redirect'].'</a>';
$tpl_redir = str_replace('<pun_redir_text>', $tpl_temp, $tpl_redir);
// END SUBST - <pun_redir_text>
// START SUBST - <pun_footer>
ob_start();
// End the transaction
$db->end_transaction();
// Display executed queries (if enabled)
if (defined('PUN_SHOW_QUERIES'))
display_saved_queries();
$tpl_temp = trim(ob_get_contents());
$tpl_redir = str_replace('<pun_footer>', $tpl_temp, $tpl_redir);
ob_end_clean();
// END SUBST - <pun_footer>
// START SUBST - <pun_include "*">
while (preg_match('<pun_include "(.*?)">', $tpl_redir, $cur_include))
{
ob_start();
include PUN_ROOT.$cur_include[1];
$tpl_temp = ob_get_contents();
$tpl_redir = str_replace('<'.$cur_include[0].'>', $tpl_temp, $tpl_redir);
ob_end_clean();
}
// END SUBST - <pun_include "*">
// Close the db connection (and free up any result data)
$db->close();
exit($tpl_redir);
}
for redirect(url, message[, time])
i think