Не помню такого 
Вот сейчас сел за пол часика набросал...есественно не проверено
Это плагин. Файл его назвать waiting.js и положить в папку Plugins.
var waitingStatus = false; //Не трогать.
var priem = "spirit_block25" ; //Сюда вписать приём, используемый в начале боя. Пофиг, маг или воин указаны в настройках бота.
var bt = 2; //Количество минут для условия >= таймаут боя.
var btDo = 72000; //Время ожидания(колличество секунд * 1000). Не забываем оставлять значительный временной резерв для действий бота.
function waiting(enabled)
{
if(enabled)
{
PluginsOnLoad["waiting"] = "waitingHandler";
}
else
{
PluginsOnLoad["waiting"] = "";
}
}
function waitingHandler(){
if (!external.inBattle) waitingStatus = false;
else{
if(!waitingStatus){
BattleTimeout = top.document.all[0].innerHTML.match(/Бой идет с таймаутом \<B\>([0-9]+)\<\/B\>/)[1];
if(BattleTimeout>=bt){
external.Stop();
setTimeout("external.Start();", btDo);
waitingStatus = true;
if(external.SCharType.SelectedIndex == 0)
top.Battle.oBattle.Send( { special: priem } );
esle
top.Battle.oBattle.Send( { special: priem, enemy: top.Battle.oBattle.sEnemy, login: top.Battle.oBattle.sEnemy } );
}else{
waitingStatus = true;
}
}
}
}
Алгоритм работы:
1) Если мы в бою, то сперва вычисляется таймаут в бою.
2) Если таймаут больше или равен указанным в начале файла настройкам(bt), то бот останавливается(полностью) и прописывается, чтоб он запустился через указанный также в начале файла интервал(btDo).
3) Сразу после этого происходит применение приёма, который вы укажите в начале файла(priem).
Переменая waitingStatus является контролирующей процесс и не допускает прогона этого скрипта чаще, чем 1 раз за бой(в соответствии с поставленной задачей).
Работать может исключительно под 8.2. Не ниже. Только в 8.2 появился "external.Stop();".