Re: Действие после диалога с ботом
хмммм) пошел переваривать)))
Спасибо за помощь!!!
Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.
Чтобы отправить ответ, вы должны вход или регистрация
хмммм) пошел переваривать)))
Спасибо за помощь!!!
Пример:
if(top.frames[external.mainFrameIndex].document.all[0].innerHTML.match(/Мастер что-то внимательно и сосредоточенно делает/))
{
external.ClickLink("подождать немного",2);
}
вот тут вроде до меня дошло)
Для надежности сначала указываем словосочетание из вопроса, а в external.ClickLink уже точный ответ.
Пошел переделывать все диалоги)
Отпишусь по результатам.
Еще раз Спасибо!!!
прокомментируй пожалуйста!
Переделал плагин Обмен грибов по следующему принципу. Уникальная фраза вопроса и сам ответ
текст первого диалога:
Приветствуем тебя, путешественник!
Твоя разумность достойна нашего общения.
Спрашивай. Говори. Мы внемлем.
if(top.frames[external.mainFrameIndex].document.all[0].innerHTML.match(/Приветствуем тебя, путешественник/))
external.ClickLink("Я бы хотел обменять",2);
else
Разумеется, нам нужны эти припасы, а у нас всегда есть то, что мы можем предложить взамен. Так давайте же не будем откладывать столь необходимый и выгодный для нас обмен!
if(top.frames[external.mainFrameIndex].document.all[0].innerHTML.match(/Разумеется, нам нужны эти припасы/))
external.ClickLink("Давайте",2);
else
Спасибо за обмен, обоюдная выгода является ключом к продолжению наших партнерских отношений!
if(top.frames[external.mainFrameIndex].document.all[0].innerHTML.match(/Спасибо за обмен, обоюдная выгода/))
external.ClickLink("У меня есть еще 10 Маленьких Грибочков",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
Не могу понять почему я переделал условия поиска на уникальные, а он все равно не работает. Уже переводил в кодировку ANSI и пересохранял через текстовый файл все равно в ноль(.
p.s. переделывал работающий плагин только для того что бы уникализировать условия поиска так как помимо обмена грибов еще очень много диалогов.
лучше кодировка Вынь-1251
Ну часть диалога проходит, а часть нет) Хотя я сделал его вообще уникальным. И вот что ему не нравиться
Покажи плагин и скажи, на какой части он стопорится
Покажи плагин и скажи, на какой части он стопорится
Тут стопориться на диалоге "Я бы хотел обменять" и "У меня есть еще Маленьких Грибочков"
function Obmengribov(enabled)
{
if(enabled)
{
//должна быть одна из двух строк
PluginsOnLoad["Obmengribov"] = "ObmengribovHandler"; // работать по обновлению верхнего фрейма
}
else
{
//должна быть одна из двух строк
PluginsOnLoad["Obmengribov"] = ""; // выключить обработку по обновлению верхнего фрейма
}
}
function gribi()
{
if(top.Battle.bInBattle) return;
// Обмен грибов
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=rl";
}
else
if(top.frames[external.mainFrameIndex].document.all[0].innerHTML.match(/Благодарю за общение/))
{
external.ClickLink("Благодарю за общение",2);
top.frames[external.mainFrameIndex].location = "http://" + external.SCity.Text + ".combats.com/" + dungName + "?rnd=" + Math.random() +"&path=rl";
}
}
function ObmengribovHandler()
{
try
{
gribi();
}
catch(err)
{
// alert(err.description); // выводит сообщение, если в результате выполнения кода была получена ошибка. Если сообщения не нужна - удалить эту строку, оставив конструкцию try{}catch(err){}
}
}
Тут стопориться на диалоге "Какая Грибница? Какой кристалл? Что за спешка?"
function Makropus(enabled)
{
if(enabled)
{
//должна быть одна из двух строк
PluginsOnLoad["Makropus"] = "MakropusHandler"; // работать по обновлению верхнего фрейма
}
else
{
//должна быть одна из двух строк
PluginsOnLoad["Makropus"] = ""; // выключить обработку по обновлению верхнего фрейма
}
}
function blago()
{
if(top.Battle.bInBattle) return;
//Жук
if(top.frames[external.mainFrameIndex].document.all[0].innerHTML.match(/Добрый день, уважаемый сэр/))
external.ClickLink("Погоди, а мы разве с тобой не общались",2);
else
if(top.frames[external.mainFrameIndex].document.all[0].innerHTML.match(/Я к сожалению этого не помню, быть может/))
external.ClickLink("Нет-нет! Я тебя точно помню",2);
else
if(top.frames[external.mainFrameIndex].document.all[0].innerHTML.match(/Некоторое время вы стояли и смотрели на внешнее/))
external.ClickLink("Потыкать его палочкой",2);
else
if(top.frames[external.mainFrameIndex].document.all[0].innerHTML.match(/Вы находите неподалеку подходящую палочку/))
external.ClickLink("Стой! Не кричи, что случилось",2);
else
if(top.frames[external.mainFrameIndex].document.all[0].innerHTML.match(/Я вижу!! Я ВИЖУ!!! И Я СЛЫШУ/))
external.ClickLink("Какая Грибница? Какой кристалл? Что за спешка?",2);
else
if(top.frames[external.mainFrameIndex].document.all[0].innerHTML.match(/Не время для разговоров/))
{
external.ClickLink("Ну хорошо",2);
top.frames[external.mainFrameIndex].location = "http://" + external.SCity.Text + ".combats.com/" + dungName + "?rnd=" + Math.random() +"&path=rl";
}
}
function MakropusHandler()
{
try
{
blago();
}
catch(err)
{
//alert(err.description); // выводит сообщение, если в результате выполнения кода была получена ошибка. Если сообщения не нужна - удалить эту строку, оставив конструкцию try{}catch(err){}
}
}
Тут бот после диалога не хочет поворачиваться на право
function Makropus(enabled)
{
if(enabled)
{
//должна быть одна из двух строк
PluginsOnLoad["Makropus"] = "MakropusHandler"; // работать по обновлению верхнего фрейма
}
else
{
//должна быть одна из двух строк
PluginsOnLoad["Makropus"] = ""; // выключить обработку по обновлению верхнего фрейма
}
}
function blago()
{
if(top.Battle.bInBattle) return;
//Макропус-1
if(top.frames[external.mainFrameIndex].document.all[0].innerHTML.match(/С первого взгляда, напротив вас сидит/))
external.ClickLink("И вам хорошего дня",2);
else
if(top.frames[external.mainFrameIndex].document.all[0].innerHTML.match(/это очень правильно, что ты зашел именно ко мне/))
external.ClickLink("хорошо, я понял твой восторг",2);
else
if(top.frames[external.mainFrameIndex].document.all[0].innerHTML.match(/Кто сказал, что это будет вещь/))
external.ClickLink("Готов взяться за любое задание",2);
else
if(top.frames[external.mainFrameIndex].document.all[0].innerHTML.match(/что мы с тобой нашли общий язык/))
external.ClickLink("Да",2);
else
if(top.frames[external.mainFrameIndex].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";
}
}
function MakropusHandler()
{
try
{
blago();
}
catch(err)
{
//alert(err.description); // выводит сообщение, если в результате выполнения кода была получена ошибка. Если сообщения не нужна - удалить эту строку, оставив конструкцию try{}catch(err){}
}
}
Кинул сообщение в ПМ.
спс буду тестить
А как насчет плагина наковальни в Бездне? Скинет кто-нить откоректированный?
А как насчет плагина наковальни в Бездне? Скинет кто-нить откоректированный?
накавальню не делал, что там нужно и что не получается, могу по аналогии с ботами грибницы помочь
ок, тогда на днях сам выложу.
Всем привет, дабы не плодить топики напишу тут. В продолжении квеста Грибницы.
Требуется что бы бот после разговора с макрапусом менял маршрут в зависимости от диалога
Определить где находится гриб в диалоге макропуса проблем не составляет, проблема в подмене маршрута)
Что сделал, пара вариантов не рабочих)
if(top.frames[external.mainFrameIndex].document.all[0].innerHTML.match(/который находится между жилищем Шизожука и обиталищем Рогача/))
{
external.ClickLink("Все понятно! Уже иду за грибом",2) external.DungeonLoadPath("маршрут");
top.frames[external.mainFrameIndex].location = 'http://' + external.SCity.Text + '.combats.com/' + dungName + '?rnd=' + Math.random() +'&path=rr';
if(top.frames[external.mainFrameIndex].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'; external.DungeonLoadPath("маршрут");
Что в одном что в другом выдает ошибку( Что то пишу не так.
Кто в курсе просветите что не так. Заранее всем спасибо!!!
Первый вариант, должен выглядеть так
external.ClickLink("Все понятно! Уже иду за грибом",2); external.DungeonLoadPath("маршрут");
Первый вариант, должен выглядеть так
external.ClickLink("Все понятно! Уже иду за грибом",2); external.DungeonLoadPath("маршрут");
Спс! буду пробовать
Чтобы отправить ответ, вы должны вход или регистрация