Here is the code in search.php that checks the time in between searches.
PHP Code:
if (in_array($_REQUEST['do'], array('intro', 'showresults', 'doprefs')) == false)
{
// get last search for this user and check floodcheck
if ($prevsearch = $db->query_first("
SELECT searchid, dateline
FROM " . TABLE_PREFIX . "search AS search
WHERE " . iif(!$vbulletin->userinfo['userid'], "ipaddress ='" . $db->escape_string(IPADDRESS) . "'", "userid = " . $vbulletin->userinfo['userid']) . "
ORDER BY dateline DESC LIMIT 1
"))
{
if (($timepassed = TIMENOW - $prevsearch['dateline']) < $vbulletin->options['searchfloodtime'] AND $vbulletin->options['searchfloodtime'] != 0 AND !($permissions['adminpermissions'] & $vbulletin->bf_ugp_adminpermissions['cancontrolpanel']) AND !can_moderate())
{
if ($_REQUEST['do'] == 'process')
{
$errors[] = array('searchfloodcheck', $vbulletin->options['searchfloodtime'], ($vbulletin->options['searchfloodtime'] - $timepassed));
}
else
{
eval(standard_error(fetch_error('searchfloodcheck', $vbulletin->options['searchfloodtime'], ($vbulletin->options['searchfloodtime'] - $timepassed))));
}
}
}
}
You will either have to modify this code or before this change the value of $vbulletin->options['searchfloodtime'] before this code with a plugin. You can use the is_member_of function to check if the user is in the group that you need.
PHP Code:
if(is_member_of($vbulletin->userinfo, 1, 2, 3))
{
$vbulletin->options['searchfloodtime'] = 10;
}
This is a example code that might work to change the value.