26

Re: Действие после диалога с ботом

хмммм) пошел переваривать)))

Спасибо за помощь!!!

27

Re: Действие после диалога с ботом

anahronik пишет:

Пример:

if(top.frames[external.mainFrameIndex].document.all[0].innerHTML.match(/Мастер что-то внимательно и сосредоточенно делает/))
{
     external.ClickLink("подождать немного",2);
}

вот тут вроде до меня дошло)
Для надежности сначала указываем  словосочетание из вопроса, а в  external.ClickLink уже точный ответ.

Пошел переделывать все диалоги)
Отпишусь по результатам.
Еще раз Спасибо!!!

28

Re: Действие после диалога с ботом

прокомментируй пожалуйста!

Переделал плагин Обмен грибов по следующему принципу. Уникальная фраза вопроса и сам ответ

текст первого диалога:
Приветствуем тебя, путешественник!
Твоя разумность достойна нашего общения.
Спрашивай. Говори. Мы внемлем.

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. переделывал работающий плагин только для того что бы уникализировать условия поиска так как помимо обмена грибов еще очень много диалогов.

29

Re: Действие после диалога с ботом

лучше кодировка Вынь-1251

30

Re: Действие после диалога с ботом

Ну часть диалога проходит, а часть нет)  Хотя я сделал его вообще уникальным. И вот что ему не нравиться

31

Re: Действие после диалога с ботом

Покажи плагин и скажи, на какой части он стопорится

Software is like sex: it's better when it's free! © LinusTorvalds

32

Re: Действие после диалога с ботом

anahronik пишет:

Покажи плагин и скажи, на какой части он стопорится


Тут стопориться на диалоге   "Я бы хотел обменять" и  "У меня есть еще Маленьких Грибочков"

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){}
}
}

33

Re: Действие после диалога с ботом

Кинул сообщение в ПМ.

Software is like sex: it's better when it's free! © LinusTorvalds

34

Re: Действие после диалога с ботом

smile спс буду тестить

35

Re: Действие после диалога с ботом

А как насчет плагина наковальни в Бездне? Скинет кто-нить  откоректированный?

Selfie сейчас популярен!

36

Re: Действие после диалога с ботом

Nikita_KrM пишет:

А как насчет плагина наковальни в Бездне? Скинет кто-нить  откоректированный?

накавальню не делал, что там нужно и что не получается, могу по аналогии с ботами грибницы помочь

37

Re: Действие после диалога с ботом

ок, тогда на днях сам выложу.

Selfie сейчас популярен!

38

Re: Действие после диалога с ботом

Всем привет, дабы не плодить топики напишу тут. В продолжении квеста Грибницы.

Требуется что бы бот после разговора с макрапусом менял маршрут в зависимости от диалога

Определить где находится гриб в диалоге макропуса проблем не составляет, проблема в подмене маршрута)
Что сделал, пара вариантов не рабочих)

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("маршрут");

Что в одном что в другом выдает ошибку( Что то пишу не так.
Кто в курсе просветите что не так. Заранее всем спасибо!!!

39

Re: Действие после диалога с ботом

Первый вариант, должен выглядеть так

external.ClickLink("Все понятно! Уже иду за грибом",2); external.DungeonLoadPath("маршрут");

40

Re: Действие после диалога с ботом

volok пишет:

Первый вариант, должен выглядеть так

external.ClickLink("Все понятно! Уже иду за грибом",2); external.DungeonLoadPath("маршрут");

Спс! буду пробовать