701

(129 ответов, оставленных в Флейм)

Мда, вот это реально большая потеря для человека sad
Но у него 300к побед, это явный перебор.

702

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

Блин, писал целую поэму хода своих мыслей, потом всетаки до меня доперло, что ты имел ввиду  big_smile
Условие на самом деле хорошее, и будет очень помогать против самых сильных мобов санда. Чтобы перс минимальное количество ходов был без защиты.

Вобщем, как всегда, спасибо, буду тестить.
И появилось новое условие, которое не хочет юзать:

if((Vinos > 20) && 
(top.Battle.oBattle.sEnemyLogin.indexOf("Страж") < 0 &&
top.Battle.oBattle.sEnemyLogin.indexOf("(зверь") < 0) &&
(typeof(top.Battle.oBattle.oMySlot.arrEffects["spirit_12_prot_100"]) != "object") &&
(typeof(top.Battle.oBattle.oMySlot.arrEffects["spirit_11_prot_100"]) != "object") &&
(typeof(top.Battle.oBattle.oMySlot.arrEffects["spirit_13_prot_100"]) != "object") &&
(typeof(top.Battle.oBattle.oMySlot.arrEffects["spirit_14_prot_100"]) != "object") &&
(typeof(top.Battle.oBattle.oMySlot.arrEffects["block_activeshield"]) != "object") &&
(typeof(top.Battle.oBattle.oMySlot.arrEffects["counter_deathwalk"]) == "object") && (typeof(top.Battle.oBattle.oMySlot.arrEffects["hit_empower"]) == "object"))
_name = "counter_winddance";

Если напротив не страж, не маг, не висят спириты и висит поступь с усиленными ударами- юзать counter_winddance. Раньше было это же условие, но без учета вимящих усиленных ударов и все работало. Добавил условие на усилки, и бот перестал юзать counter_winddance, когда на мне была поступь с усилками  sad

Сомневаюсь, что будет прям все разным. Скорее всего введена рандомная функция настроения ангела. Захотел- ответил, не захотел- не ответил, вне зависимости от варианта. Подтверждается это тем, что у меня ОДИН перс получил РАЗНЫЕ варианты ответа на ОДИН вопрос. Так что все реально.

704

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

Конечно один smile Если такие мелочи в разные слоты сувать, мне их не хватит попросту smile
Не думаю, что это проблема, у меня есть приемы в 4 раза больше занимающие места и нормально функционирующие. Тем более, что в этом коде 1м стоит спирит, и если уж на то пошло, то должен был он работать, а counter_winddance не работать  sad И самое главное, что в чат шлет сообщение..

705

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

До десятки с нуля 4 месяца ???
Друг на 9ке дерется ща, 1400 не по зверям набил 4500 опыта отгреб в будни. А все изза танков. Сомневаюсь, что за 4 месяца можно качнуться, еще и не 24/7.

706

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

Мистика!

if(top.Battle.oBattle.sEnemyLogin.indexOf("Рабочий") > -1)
{
    if(top.Battle.oBattle.arrUsers[top.Battle.oBattle.sEnemy].nLevel == 9)
    {
         if(typeof(top.Battle.oBattle.oMySlot.arrEffects["spirit_13_prot_100"]) != "object")
        {
             if(typeof(top.Battle.oBattle.oMySlot.arrEffects["counter_winddance"]) != "object")
            {
top.Chat.Self.AddMessage("спирит работает");
_name = "spirit_block25";
            }
        }
    }
}
if(top.Battle.oBattle.sEnemyLogin.indexOf("Рабочий") > -1)
{
    if(top.Battle.oBattle.arrUsers[top.Battle.oBattle.sEnemy].nLevel == 9)
    {
         if(typeof(top.Battle.oBattle.oMySlot.arrEffects["spirit_13_prot_100"]) != "object")
        {
             if(typeof(top.Battle.oBattle.oMySlot.arrEffects["spirit_block25"]) != "object")
            {
                _name = "counter_winddance";
            }
        }
    }
}

В чат сообщение, что спирит работает приходит, а прием не юзается, когда активный, идентификатор скопировал правильно. Какие у кого будут мысли по этому поводу ?
Причем counter_winddance юзает без проблем  hmm

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

Какие-то странные эти ангелы

Хорошо, я подумаю над твоими словами.
• Подумай.. я подожду.
• Быть может, стоит дать мне задание?

Первый раз нажал Подумай.. я подожду., он меня послал, второй раз нажал Быть может, стоит дать мне задание?, еще чуть повыпендривался и тоже послал, в третий раз нажал Быть может, стоит дать мне задание?, послал сразу. Получается что вообще нет правильного ответа ?  neutral

708

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

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

709

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

Если мне память не изменяет, там в нескольких разделах нужно добавить combots в исключения, а лучше во всех существующих.
Интернет хоть не через прокси ?

Конечно не работают. Я же город вначале стер. Вообще для плагина даже ссылка не нужна, а нужна часть ссылки, в которой номер указывается.
Пример: combats.com/main.pl?move_dialog=0&0.1573446993945
Так что, кто будет за Повелителя снов, можете присылать под строкой ответа только эту часть.

Вобщем я решил молиться Повелителю снов, т.к. он покровитель диггеров, собственно что нужно- это вопросы ангела, ответы на них и url-ссылка на каждый ответ. Правильный ответ выделяйте +++, неправильный ---, если сомневаетесь, что ответ хорошо повлиял- ставьте ???
Для конспирации, рекомендую всем с url-ссылки тереть город, и писать сюда инфу не сразу же после мольбы, а немного подождав, а еще лучше накопив несколько ответов.
Огромная просьба БЕЗ ФЛУДА, только по существу, в противном случае буду просить модеров, чтоб НАКАЗЫВАЛИ!
Вот что есть у меня, покаместь:
Жирный шрифт- текст ангела
красный- правильный ответ
зеленый- неправильный ответ
-----------------------------------------------------------------------------------------------------------------------------------------------------
В ваших руках лежит икона с изображенным на ней Повелителем Снов. Вы можете обратиться к нему с призывом.
• Владыка мира грез и фантазий, покровитель искателей приключений, ответь хоть что-нибудь!
()
• Поставить икону на место. (завершить разговор)
()
-----------------------------------------------------------------------------------------------------------------------------------------------------
Видимо, в этот раз вы были недостаточно усердны, или же у Ангела слишом много дел, чтобы прислушиваться к молитвам смертных..

• В следующий раз все будет хорошо. (завершить разговор)
()

-----------------------------------------------------------------------------------------------------------------------------------------------------
Слушаю тебя, чего хочешь?

Встать на твой путь.
()

-----------------------------------------------------------------------------------------------------------------------------------------------------
Искатели приключений в наши дни - большая редкость.. А все, кто есть, рано или поздно стекаются под мое покровительство. Хочешь быть одним из них?

Ты читаешь мои мысли....
()

Хочу конечно!
()

• Так трудно найти единомышленников в наши дни..
()

Видимо, ты и впрямь веришь в то, что говоришь. Хорошо, будь по-твоему. Ты еще на один шаг ближе к тому, чтобы стать моим последователем.

• Уррааа! (завершить разговор)
()
------------------------------------------------------------------------------------------------------------------------------------------------------
Не.. Придумай что-нибудь поинтереснее.

• Как же убедить тебя... я люблю приключения!
()

• Мне доставляет удовольствие поиск тактики в сражениях с монстрами!
()

• Исследователь мира - вот мое второе имя!
()

Великолепно, мне нравятся твои слова. Очень нравятся.
• Так каков будет твой ответ?
()

Видимо, ты и впрямь веришь в то, что говоришь. Хорошо, будь по-твоему. Ты еще на один шаг ближе к тому, чтобы стать моим последователем.

• Уррааа! (завершить разговор)
()
------------------------------------------------------------------------------------------------------------------------------------------------------
Хорошо, я подумаю над твоими словами.

• Подумай.. я подожду.
()

Быть может, стоит дать мне задание?
()

• (прервать мысленную связь)
()

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

• Все уже обдумано и решено..
()

• Ты - наиболее подходящий мне Ангел!
()

• Возможно, и так.
()
------------------------------------------------------------------------------------------------------------------------------------------------------
• Обидно... (завершить разговор)
()
------------------------------------------------------------------------------------------------------------------------------------------------------
Возможно, стоит проверить твою уверенность несложным заданием..

• Отличное решение!
()

• Можно и без него обойтись, если честно...
()

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

• Не оставляй меня без своей поддержки!
()

• Позволь мне доказать свою веру!
()

• Очень жаль.
()

Сомнительно мне что-то.. В наше время мало очень людей, которые действительно предпочитают монстров сражениям с обычными людьми..

• Стоило таких трудов достучаться до тебя...
()

• Пещеры - мой второй дом!
()

• Убивать монстров - лучшее занятие!
()

• Нам не по пути, извини. (завершить разговор)
()

В другой раз.

• Нууу! (завершить разговор)
()
------------------------------------------------------------------------------------------------------------------------------------------------------
Как забавно. Если все, что ты говоришь - действительно так - то тебе и впрямь самое место в рядах моих последователей.

• Копать подземелья - любимое занятие.
city.combats.com/main.pl?move_dialog=0&0.547347617868684

• Меня влекут приключения...
city.combats.com/main.pl?move_dialog=1&0.757711138485675

• Ты совершенно прав.
city.combats.com/main.pl?move_dialog=2&0.756974769623977

• Забудь. (завершить разговор)
city.combats.com/main.pl?move_dialog=3&0.661779795063687
------------------------------------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------------------------------------

А вот и первое ведро бетона в фундаменте плагина:

function DreamMaster()
{
if(get_mainframe().document.all[0].innerHTML.match(/В ваших руках лежит икона с изображенным на ней Повелителем Снов. Вы можете обратиться к нему с призывом/))
{
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(/Видимо, в этот раз вы были недостаточно усердны, или же у Ангела слишом много дел, чтобы прислушиваться к молитвам смертных/))
{
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(/Слушаю тебя, чего хочешь?/))
{
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(/Искатели приключений в наши дни - большая редкость.. А все, кто есть, рано или поздно стекаются под мое покровительство. Хочешь быть одним из них/))
{
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(/Видимо, ты и впрямь веришь в то, что говоришь. Хорошо, будь по-твоему. Ты еще на один шаг ближе к тому, чтобы стать моим последователем/))
{
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(/Не.. Придумай что-нибудь поинтереснее/))
{
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();
}
else
if(get_mainframe().document.all[0].innerHTML.match(/Великолепно, мне нравятся твои слова. Очень нравятся/))
{
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(/Хорошо, я подумаю над твоими словами/))
{
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(/Я бы посоветовал еще несколько раз подумать, прежде чем делать такие вот просьбы/))
{
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(/Возможно, стоит проверить твою уверенность несложным заданием/))
{
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(/Посмотрим, что с тобой сделать можно. Пока что перспектив особенных не вижу/))
{
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(/В другой раз/))
{
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();
}
if(get_mainframe().document.all[0].innerHTML.match(/Неа/))
{
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();
}
}
foox84 пишет:

а golfrus и gorlum случаем не боты smile ?

big_smile  big_smile  big_smile

713

(13 ответов, оставленных в Качалка)

На 7м левеле действительно делать нечего. Сейчас в БК вообще полноценная, комфортная жизнь игрока начинается с 10го левела.До этого, без екр, идет убивание нервов. Но если так хочется разнообразия- закинь пол екр на перса, и лети в sandcity, там подземка с 7го левела.

Кстати, а в помойке то счетчик сообщений не отключен. Надо бы исправить этот недочет.

Эмм...незнаю как объяснить...почитай в инете про организацию труда и про русскую лень smile
Никакой уважающий себя человек не будет вручную переносить тонну мешков с цементом по 50 кг каждый, если рядом стоит грузовик, которому нужно, скажем, заменить колесо, и он все сделает сам smile

716

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

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

717

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

Даже если сейчас соберется человек 10 энтузиастов, то бета-версия плагина будет готова как минимум через месяц.

golfrus, вот ты веришь, что админы сидят и анализируют все ники и анкеты, которых на сервере тысячи (!!!) ?

719

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

Оно то реально, но нужен задрот-энтузиаст, на каждого ангела, который вобъет все правильные диалоги в плагин smile
Или, как вариант, можно в эту тему скидывать все правильные варианты диалога с их url-адресом, а потом собрать все в плагин.

() в 1м посте уже обновленный плагин выложен.

9лвл гос фул уворот без бонуса 125 ловки сам роет бездну с БТМ, и Гарлом, а если шокер настроить то и СБ валить будет. Сам роет 1-2 этажи грибницы без щупа и грибоножки, сам роет санд без Краппта и 2х рабов марочных (на них вероятность выиграть 60%, что я считаю мало).
И кстати крит роет быстро, в городах где эли падают, но на 9м левеле его почти все мобы уворотчики сливают.

722

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

О, мой бото-сенсей отписался  smile
Ну во 1х поздравляю с 2000м сообщением smile
Привязал я к обновлнеию фрейма, а потом интервал поставил, т.к. без него бот сильно быстро по диалогам клацает, и бывает сервер не успевает отзывы давать, а сменить сам принцип работы плагина чет в голову не пришло smile
Логику программы специально отделял от выполнения, как по мне, так удобнее и красивее smile

723

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

Да, бот затягивает. У самого скоро защита диплома, а все оторваться никак не могу  big_smile

724

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

Смотри, как мне Анахроник объяснял:
1) Макет пустого плагина выглядит вот так

function PluginName(enabled)
{
    if(enabled)
    {
        //должна быть одна из двух строк
        PluginsOnLoad["PluginName"] = "PluginNameHandler"; // работать по обновлению верхнего фрейма
        PluginNameTimer = setInterval("PluginNameHandler()", 2000); // работать по таймеру(2секунды)
    }
    else
    {
        //должна быть одна из двух строк
        PluginsOnLoad["PluginName"] = ""; // выключить обработку по обновлению верхнего фрейма
        clearInterval(PluginNameTimer); // выключить таймер
    }
}
 
function PluginNameHandler(){
        try{
                *сюда код*
        }
        catch(err)
        {
                alert(err.description); // выводит сообщение, если в результате выполнения кода была получена ошибка. Если сообщения не нужна - удалить эту строку, оставив конструкцию try{}catch(err){}
        }
}

Зеленым там все предельно просто откомментировано, разберешься. PluginName - название плагина, если название плагина будет другое, то и в коде нужно PluginName заменить на соответствующее название. Причем менять нужно и PluginNameHandler и PluginNameTimer.
Пример:
Плагин называется XXXXX.js, значит в коде меняем все PluginName на XXXXX. А PluginNameHandler будет выглядеть как XXXXXXHandler и тд.
2) Когда находишься в диалоге, записываешь себе интернет адреса нужных диалогов (по нужному ответу правой кнопкой--свойства---адрес url)
Пример:

строка: какие вещи ты обмениваешь?
адрес: http://mooncity.combats.com/main.pl?move_dialog=0&0.8546485275

3) Переделываешь строку адреса под бота:
пример

адрес: http://mooncity.combats.com/main.pl?move_dialog=0&0.8546485275
строка в боте: top.frames[external.mainFrameIndex].location = "http://" + external.SCity.Text + ".combats.com/main.pl?move_dialog=0&" + Math.random();

Для облегчения задачи скажу, что меняется в строке только вот эта часть main.pl?move_dialog=0&
4) Создаешь функцию ответа по диалогам dialog вида:

function dialog()
{
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=4&" + Math.random();
}

Обязательно все условия должны идти через else, иначе в бк будет писать "это невозможно"
5) Вставляешь функцию в плагин и, чтоб она начала работать, делаешь строку ее вызова в плагине.
Пример готового плагина по вышесказанному:
я выбрал работу плагина по обновлению фрейма, т.к. так уже делал себе плагин:

function PluginName(enabled)
{
    if(enabled)
    {
        //должна быть одна из двух строк
        PluginsOnLoad["PluginName"] = "PluginNameHandler"; // работать по обновлению верхнего фрейма
    }
    else
    {
        //должна быть одна из двух строк
        PluginsOnLoad["PluginName"] = ""; // выключить обработку по обновлению верхнего фрейма
    }
}
 
function dialog()
{
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=4&" + Math.random();
}
 
function PluginNameHandler(){
        try{
setTimeout("dialog()", 1500);  // вызов нашей функции с задержкой в полторы секунды
        }
        catch(err)
        {
                alert(err.description); // выводит сообщение, если в результате выполнения кода была получена ошибка. Если сообщения не нужна - удалить эту строку, оставив конструкцию try{}catch(err){}
        }
}

725

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

Update: хайд убрал, чтоб людей не пугать.
фигня...как обычно рандом оказался.