Тема: Возможно подгружать плагины в пещере
Ситуация следующая, пишу плагин для грибницы на благо, из-за того что много диалогов и они все похожие друг на друга повторные диалоги с ботами не работают. Доходит до определенного ответа и останавливается.
Есть возможность подгружать плагин разговора с ботом в нужный момент???
Или как можно указать что именно в этом диалоге нужно отвечать на вопросы именно так.
Ответы очень похожи и скорей всего из-за этого происходит зависание или я что то делаю не так)
вот плагин диалога
function Makropus(enabled)
{
if(enabled)
{
//должна быть одна из двух строк
PluginsOnLoad["Makropus"] = "MakropusHandler"; // работать по обновлению верхнего фрейма
}
else
{
//должна быть одна из двух строк
PluginsOnLoad["Makropus"] = ""; // выключить обработку по обновлению верхнего фрейма
}
}
function blago()
{
if(top.Battle.bInBattle) return;
//Макропус-1
if(get_mainframe().document.all[0].innerHTML.match(/И вам хорошего дня/))
external.ClickLink("И вам хорошего дня",2);
else
if(get_mainframe().document.all[0].innerHTML.match(/Да-да-да, хорошо/))
external.ClickLink("Да-да-да, хорошо",2);
else
if(get_mainframe().document.all[0].innerHTML.match(/Да интересует/))
external.ClickLink("Да интересует",2);
else
if(get_mainframe().document.all[0].innerHTML.match(/Да./))
external.ClickLink("Да.",2);
else
if(get_mainframe().document.all[0].innerHTML.match(/Вперед! На задание/))
{
external.ClickLink("Вперед! На задание",2);
top.frames[external.mainFrameIndex].location = "http://" + external.SCity.Text + ".combats.com/" + dungName + "?rnd=" + Math.random() +"&path=rr";
}
else
//Макропус-2
if(get_mainframe().document.all[0].innerHTML.match(/Да! Конечно! Всегда вперед/))
external.ClickLink("Да! Конечно! Всегда вперед",2);
else
if(get_mainframe().document.all[0].innerHTML.match(/Уже бегу./))
{
external.ClickLink("Уже бегу.",2);
top.frames[external.mainFrameIndex].location = "http://" + external.SCity.Text + ".combats.com/" + dungName + "?rnd=" + Math.random() +"&path=rr";
}
else
//Макропус-3
if(get_mainframe().document.all[0].innerHTML.match(/Я с ним поговорил/))
external.ClickLink("Я с ним поговорил",2);
else
if(get_mainframe().document.all[0].innerHTML.match(/Слушаю внимательно/))
external.ClickLink("Слушаю внимательно",2);
else
if(get_mainframe().document.all[0].innerHTML.match(/Хорошо, вопросы задавать я умею/))
{
external.ClickLink("Хорошо, вопросы задавать я умею",2);
top.frames[external.mainFrameIndex].location = "http://" + external.SCity.Text + ".combats.com/" + dungName + "?rnd=" + Math.random() +"&path=rr";
}
else
//Макропус-2
if(get_mainframe().document.all[0].innerHTML.match(/Это мы еще посмотрим/))
external.ClickLink("Это мы еще посмотрим",2);
else
if(get_mainframe().document.all[0].innerHTML.match(/Выйти/))
{
external.ClickLink("Выйти",2);
top.frames[external.mainFrameIndex].location = "http://" + external.SCity.Text + ".combats.com/" + dungName + "?rnd=" + Math.random() +"&path=m1";
}
}
function MakropusHandler()
{
try
{
blago();
}
catch(err)
{
// alert(err.description); // выводит сообщение, если в результате выполнения кода была получена ошибка. Если сообщения не нужна - удалить эту строку, оставив конструкцию try{}catch(err){}
}
}
Бывает что на певом диалоге с Макропусом зависает, а бывает что на втором) или часть ответов проходит а часть нет