151

(279 ответов, оставленных в Общий)

Последняя сборка, Конструктор маршрутов не работает.
При вызове Получить текущую позицию выдает ошибку 's.match(...).1' - есть null или не является объектом

152

(39 ответов, оставленных в Настройки / Плагины)

anahronik пишет:

Пример:

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

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

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

153

(39 ответов, оставленных в Настройки / Плагины)

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

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

154

(39 ответов, оставленных в Настройки / Плагины)

anahronik пишет:

Кстати, точка внутри match(//) обозначает один любой символ, поэтому разницы между "Да" и "Да." нет
Вопросительный знак - ещё веселее. "Да?" будет подходить даже для текста, содержащего только "Д"(т.е. он говорит, что символ перед ? может быть, а может не быть...используется в более сложных масках, например маска "а-?10" подходит и для текста "а10", и для "а-10").

Надо пройтись по if и проследить за уникальностью проверяемого текста.

Спасибо за подсказку, нужно все пересмотреть и убрать все знаки с точками, оставить только слова.

Вот только не могу понять почему у меня бот не всегда начинает диалог? Можно сказать через раз.
Может начать, а может развернуться на клетке начало диалога и пройти мимо. хотя ничего не менял)

155

(39 ответов, оставленных в Настройки / Плагины)

anahronik пишет:

Никаких top.frames[external.mainFrameIndex].location быть не должно - я написал external.ClickLink для ухода от этого механизма специально. Он лучше, он надёжнее и он проще.

у меня что в маршруте прописано

top.frames[external.mainFrameIndex].location = "http://" + external.SCity.Text + ".combats.com/" + dungName + "?dialog=gg3_shizo_welcome&use=" + top.frames[external.mainFrameIndex].arrLayers[1][0]["l"].arrUnits[0].id;

Это для вызова диалога
и в плагине

top.frames[external.mainFrameIndex].location = "http://" + external.SCity.Text + ".combats.com/" + dungName + "?rnd=" + Math.random() +"&path=rl";

Это куда пойдет бот после диалога

Если так не правильно писать, то подскажи какой должен бы синтаксис кода и функции.
На форуме не нашел инструкции))) а только обрывки кода из разных топов

Или тут речь о замене mainFrameIndex на ClickLink

anahronik пишет:

Например вот эта строка вызывает у меня странные чувства:

if(get_mainframe().document.all[0].innerHTML.match(/Да./))

Она сработает при наличии любого слова "Да" (Д заглавная и а прописная подряд) на всей странице с диалогом (т.е. и имена персонажей, участвующих в диалоге, и текст диалога, и текст ответов - всё будет проверено на наличие "Да").

Ну тут понятно что искать будет Да, только вот ответ в диалоге только "ДА") и больше нет никаких слов.

156

(39 ответов, оставленных в Настройки / Плагины)

Нашел на форуме плагин обмена грибов

if(get_mainframe().document.all[0].innerHTML.match(/Я бы хотел обменять/))
top.frames[external.mainFrameIndex].location = "http://" + external.SCity.Text + ".combats.com/main.pl?move_dialog=1&" + Math.random();
else
if(get_mainframe().document.all[0].innerHTML.match(/Давайте/))
top.frames[external.mainFrameIndex].location = "http://" + external.SCity.Text + ".combats.com/main.pl?move_dialog=0&" + Math.random();
else
if(get_mainframe().document.all[0].innerHTML.match(/У меня есть еще/))
top.frames[external.mainFrameIndex].location = "http://" + external.SCity.Text + ".combats.com/main.pl?move_dialog=0&" + Math.random();
else
if(get_mainframe().document.all[0].innerHTML.match(/Благодарю за общение. (завершить разговор)/))
top.frames[external.mainFrameIndex].location = "http://" + external.SCity.Text + ".combats.com/main.pl?move_dialog=2&" + Math.random();

Правильно я понял что в нем используется грубо говоря двойная проверка по тексту и ссылке?
Хотя ссылки в виде http://" + external.SCity.Text + ".combats.com/main.pl?move_dialog=2&" + Math.random();
Получается только начало ссылки диалога  сombats.com/main.pl?move_dialog=2&.
А если указать вот так например

top.frames[external.mainFrameIndex].location = "http://" + external.SCity.Text + ".combats.com/main.pl?move_dialog=23&0.504439939534969;

т.е. вбиваем полностью ссылку!!!

Такой вариант имеет право на жизнь или меня несет не туда)))

157

(39 ответов, оставленных в Настройки / Плагины)

anahronik пишет:

Ссылки являются ещё менее уникальными, чем слова.
get_mainframe().document.all[0].innerHTML.match(/И вам хорошего дня/) - в этой части должны быть слова, которые однозначно говорят о том, какой диалог/с кем и прочее. Если они встречаются в нескольких диалогах - значит плохо подобраны и надо их менять на более уникальный набор.
Это не текст ответа - это может быть фраза из текста самого диалога.

Спасибо за ответ.

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

158

(39 ответов, оставленных в Настройки / Плагины)

anahronik пишет:

Привет, подскажи пожалуйста как решить следующею проблему.
Есть плагин на диалог на Благо. Весь диалог засунул в один файл

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";
}
 
 
//Макропус-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";
}
 
//Макропус-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";
}
 
//Макропус-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";
}
 
//Хищен
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=m7";
}
 
//Жук
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);
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";
}
 
 
}
function MakropusHandler()
{
try
{
blago();
}
 
catch(err)
{
//alert(err.description); // выводит сообщение, если в результате выполнения кода была получена ошибка. Если сообщения не нужна - удалить эту строку, оставив конструкцию try{}catch(err){}
}
}

Тут получается три диалога с Макропусам, один с Рогачем, один с Шизожуков и когда бот начинает диалог то ответы не совпадают с прописанными в плагине. Короче он хаотично отвечает, я так подозреваю что ответы у многих схожы и он не правильно отвечает.
У каждого диалога-ответа есть уникальная ссылка в виде

http://suncity.combats.com/main.pl?move_dialog=3&0.504439939534969
http://suncity.combats.com/main.pl?move_dialog=0&0.194365678492826
http://suncity.combats.com/main.pl?move_dialog=0&0.065782565842035

Подскажи пожалуйста как мне указать эти ссылки в плагине за место слов

if(get_mainframe().document.all[0].innerHTML.match(/И вам хорошего дня/))
external.ClickLink("И вам хорошего дня",2);
else

Заранее спасибо!!!

159

(39 ответов, оставленных в Настройки / Плагины)

anahronik пишет:
57d3f3e51cb5e77f07090ceff9894de8 : external.SetVal("isTokenTraderClicked",false); AttackMobs(); Walk("rl");
60613dd8e2ecf241e1c9a30fc3a4d883 : if(!external.GetVal("isTokenTraderClicked")) OrderedObjects("Заросший пруд"); else Walk("rl");

Set и Get перепутаны во второй строке были + else не хватало + лишняя ; после if


Огромное спасибо!!! все работает)

Скоро все квесты на благо такими темпами сделаем)))

160

(39 ответов, оставленных в Настройки / Плагины)

Огромное спасибо!!! все получилось)

161

(39 ответов, оставленных в Настройки / Плагины)

Привет!
В общем сделал как ты писал, ну точнее как до меня доперло)

57d3f3e51cb5e77f07090ceff9894de8 - клетка  за одну клетку до пруда
60613dd8e2ecf241e1c9a30fc3a4d883 - клетка с прудом, куда нужно положить штуковину

я прописал следующее

57d3f3e51cb5e77f07090ceff9894de8 : external.SetVal("isTokenTraderClicked",false); AttackMobs(); Walk("rl");
60613dd8e2ecf241e1c9a30fc3a4d883 : if(!external.SetVal("isTokenTraderClicked")); OrderedObjects("Заросший пруд"); Walk("rl");

Игрался с перестановкой слагаемых, ничего не помогло. Перс поварачивается к пруду и все, не нажимает на него, просто стоит.

Подскажи пожалуйста что пишу не так.

Сам диалог в плагине следующий

if(get_mainframe().document.all[0].innerHTML.match(/Положить предмет/))
{external.ClickLink("Положить предмет",2);  external.SetVal("isTokenTraderClicked",true);}
else
 
if(get_mainframe().document.all[0].innerHTML.match(/И это отлично/))
{external.ClickLink("И это отлично",2); external.SetVal("isTokenTraderClicked",true);}
else
 
if(get_mainframe().document.all[0].innerHTML.match(/Я уже достаточно увидел./))
{external.ClickLink("Я уже достаточно увидел.",2); external.SetVal("isTokenTraderClicked",true);}
else

162

(11 ответов, оставленных в Настройки / Плагины)

Все гуд!!! работает

163

(11 ответов, оставленных в Настройки / Плагины)

anahronik пишет:

На всякий случай: Забыл предупредить, что вставлять надо обязательно до Walk(...), иначе оно до выполнения не дойдёт даже smile

Сча потестю)

164

(11 ответов, оставленных в Настройки / Плагины)

anahronik пишет:
$.ajax({url:"/main.pl?edit=4&"+ Math.random()}).done(function(data) {var founded = data.match(/UseMagick\('Клейкое вещество','main.pl', '(.+)', '', (\d+), '', ',,,,,,'\)/);if(founded)$.ajax({url:"/main.pl?use="+founded[1]+"&n="+founded[2]})})

Вставить за одну клетку до клетки с Рогачом (или ради чего там это вещество используется)

Оооо!!! попробую)

Огромное спасибо!!!

165

(84 ответов, оставленных в Проблемы / Баги / Неполадки)

ower пишет:

а где новую версию качать?

()

166

(11 ответов, оставленных в Настройки / Плагины)

anahronik пишет:

> Выслал, спасибо!
Я не получил...ни ПМ, ни почты...а больше вариантов, куда мне можно выслать, я не знаю smile

косяк с моей стороны) на почту отправить не могу, ее не видно у тебя, а в ПМ файл не прикрепить или я туплю, не найти кнопку)
Сча на файлообменник выложу

167

(84 ответов, оставленных в Проблемы / Баги / Неполадки)

Sproot пишет:

Аналогичная проблема. Рыл в Angels без проблем. Пошел в мун, запустил бота в каналке. Зависает после боя. Судя во всему жмет на кнопку "Вернуться" и подвисает сам процесс. Убивается только диспетчером. Удалил все приемы. Увеличил задержки. Не помогло. Вернулся в Angels - теперь и здесь та же ситуация. Побеждает в бою, жмет на "вернуться" и тупо подвисает процесс.

Скачай новую версию, исправили уже

168

(11 ответов, оставленных в Настройки / Плагины)

ZhEkA_BK пишет:

Есть плагин морковка для питья эликсиров. В нем добавь условие как по поиску текста в диалоге, только вместо текста вставь имя жука рогача или как там его зовут и допиши в условие клейкое вещество (по аналогии с тем, как написано для питья эликов).

Про морковку думал, она не подходит, нужно юзать вещество после определенного диалога.
Я думаю плагин Юза гриба подошел, но его не нашел на форуме

anahronik пишет:

Скинь в ПМ HTML станицы инвентаря с клейким веществом - обойдёмся без морковки smile

Выслал, спасибо!

169

(11 ответов, оставленных в Настройки / Плагины)

Всем привет, подскажите кто в курсе как в грибнице использовать клейкое вещество.
Хотя бы куда копать)
Предполагаю что нужно на определенной клетке зайти в инвентарь и использовать его.
Как прописать условие что бы на клетке бот заходил в инвентарь.
Заранее спасибо!!!

170

(279 ответов, оставленных в Общий)

irfon пишет:

как там тесты проходят? чето старый бот сегодня плохо себя ведет. больше 2х чаров зависает все  hmm

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

171

(121 ответов, оставленных в Подземелье / Маршруты)

Nikita_KrM пишет:

Эх....ё, а я то уже размечтался big_smile  ок, пасиб за инфу. Ради такого не пойму зачем заморачиваться hmm

Ну смотри, баф *100 - это 300 антиуворота либо 300 крита либо 300 хп/маны, тоже не плохой баф)
Его просто нужно поддерживать каждый день)

172

(121 ответов, оставленных в Подземелье / Маршруты)

Nikita_KrM пишет:

А кто нить писал маршрут для ледяной пещеры? Ибо если ходить каждые 45 мин это 256 шариков в день, а за десять дней примерно 2500 (тоесть за десять дней можно собрать очень жесткий баф). Если кто-то писал - выложите, а если нет , то подскажите идетнификатор приема "Пальнуть Снежком"(для снежкомета).

Баф от шаров с ледяной пещеры максимум *100, больше ста шаров на елку не повесишь)

173

(279 ответов, оставленных в Общий)

У меня все норм, может подхватил в другом месте?

174

(279 ответов, оставленных в Общий)

Второй день тестирую грибницу, все ок, тайминг выставил 500-1500, бегает на ура, правда все плагины полетели(((
Не хочет разговаривать не с одним ботом.

175

(279 ответов, оставленных в Общий)

Полет нормальный!