hyppopotam пишет:

Ок. Пока записывать каждый шаг с координатами в табличку экселя, например, имеет смысл? smile

Нет.

hyppopotam пишет:

Ничего не понял smile

Щас все, будет smile Я же написал что скоро склепаю все про подземелья, чуток терпения )

228

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

Global пишет:

У меня без нета она не запустилась

У него наверное старые версии .NET, с ними бот запуститься, а вот работать не знаю.

229

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

Петро пишет:

Он наверное жертва 300%, ибо за 19 побед 2й уровень не взять...

Наверняка.

230

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

YOk0 пишет:

хз народ! у меня на 2 лвл всего 26 зубов! апа еще небыло! 19 побед 18 проиграшей! может какой нить есть секрет?

Нет никакого секрета, просто в кулаках до 4, ничего не покупая (разве что свиток лечения).
На 2 уровне 0 ап должно быть ~50 зубов. Может тратил чтото?

231

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

Хоп, мусорок smile

Все, 1-ый этаж Канализации полностью работает smile

233

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

У меня 10 дней всегда, всегда трачу только 10 зубов на 2 свитка лечения. Никаких + 100% хп или хил комплекта.

hyppopotam пишет:

А "на пальцах" объясни что именно написано в этой строке маршрута?
Я не воткнул.
Или это не реальная строка, а пример? Повторяются какие-то параметры, даже дробные. Нипанятна sad

Что до двоеточия никого интересовать не должно smile
Вычисляется одним нажатием кнопки в конструкторе маршрутов.

Итак, система уже работает, на данный момент составляю маршрут 1-го этажа Канализации.
Пока не поддерживаются разные действия в зависимости от количества посещений клетки. Скоро должно быть smile

Пример строки маршрута:

,,,,,,,,,,,,,,,,,,,,,,,,,,,,,d137,,,,,,,,,d37,,d137,1.04,,,d17,d15,d157,d15,d,d1,d5,d1,d15,d3,,,d157,d35,d37,,d37,,d37,d157,,,d157,d5,d135,d37,,d357,,,,,d17,d15,d,d15,d13,d157,5 : Walk("m1");

После : (двоеточия) идет команда JavaScript.
Соответственно для того чтобы идти дальше только при полных HP надо сделать if(tkHP >= maxHP)Walk("m1"); smile

Норма smile

Перенес в Разработка / Плагины, так как после окончания разработки 8.0 этот раздел будет именоваться "Настройки / Плагины".
А для разработок будет новый отдел smile

237

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

Добавлены комплексные условия.

hyppopotam пишет:
Admin пишет:

Да, я про это не упомянул, нужно чтобы бот не повторял точное местоположение:
Координаты + направление, то есть если через одинаковую клетку проходит смотря в разные стороны все будет ок.

Боюсь не получится. Слишком многим придётся пожертвовать. Например в канализации надо почистить второй этаж. Телепорт входа на второй этаж придётся повторять по-любому, иначе ходить кругами далеко sad Не говоря о других пещерах БК.
Лучше сразу предусмотреть какую-то переменную для обозначения посещения этой клетки.
текущее_местоположение : действие при первом посещении; действие при втором; действие при третьем
Или это очень сложно?

Нет, не сложно. Но эти переменные будут сбиваться при перезапуске бота.

hyppopotam пишет:

Тут ещё есть подводный камень небольшой. Дело в том что текущее местоположение бота будет повторяться. Есть такие клетки на карте которые надо посетить неоднократно. Но думаю это решится созданием неких переменных у бота, он будет себе отмечать что какое-то действие он уже совершал, был тут, значит исполняется следующее. Правда на случай перезапуска бота он начнёт с первого действия для данной позиции. Ну да и ладно, это мелочи.

Да, я про это не упомянул, нужно чтобы бот не повторял точное местоположение:
Координаты + направление, то есть если через одинаковую клетку проходит смотря в разные стороны все будет ок.

Петро пишет:

И как бот будет определять текущее местоположение? не совсем могу понять smile
По мини-карте которая есть в БК, либо по возможным ходам? (m1 m3 m5 m7)

Написал же выше, по навигатору бк, по твоему мини-карта smile

KniFe пишет:

+вопрос, можно будет передавать маршруты?
допустим я сделаю маршрут такой то такой то.. залю тхт документ и кто то скачает поставит себе и сможет ити по тому же маршруту?

хорошая штука, если мне кто поможет смогу сделать много маршрутов и выложу здесь!

Конечно возможно. Не зря же я сделал хранилище маршрутов.

KniFe пишет:
Admin пишет:

Маршрут будет состоять из строчек вида:
текущее_местоположение : действие
текущее_местоположение определяется скриптом на основании навигационной карты.

Маршруты нужно будет создавать с помощью конструктора маршрутов.
На каждом шагу нужно будет выбирать дальнейшее действие и нажимать на кнопку.
Бот добавит в маршрут текущее положение и действие соответствующее ему.


и когда такое щастье будет??
конструктор какой будет? выбор локаций на карте + функция на даной локации?
шаг вперед, шаг назад, открыть сундук, убивать/не убивать бота.
вопрос с казами, будет открывать кроватку, не убивая бота?

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

Про кроватку ниче сказать не могу, даже не знаю что это такое, в общем посмотрим smile

Маршрут будет состоять из строчек вида:
текущее_местоположение : действие
текущее_местоположение определяется скриптом на основании навигационной карты.

Маршруты нужно будет создавать с помощью конструктора маршрутов.
На каждом шагу нужно будет выбирать дальнейшее действие и нажимать на кнопку.
Бот добавит в маршрут текущее положение и действие соответствующее ему.

Начинаю разработку новой системы передвижения в подземельях
основанную на текущем местонахождении.

Принцип действий:
1. Бот узнает текущее местонахождение и выполняет действие из соответствующее маршрута.
2. Маршрут уже не будет маршрутом как таковым, потому что бот не следует определенной последовательности действии, а следует обстоятельствам.

Что это дает:
1. 100% гарантия против сбития с маршрута
2. Не нужно вычислять шаг маршрута после перезапуска бота и т.д. и т. п.
3. 100% продолжение похода после смерти на любом этаже.
4. В общем полная стабильность.

Жду ваших соображений / новых идей по этому поводу.

Lyushen пишет:

Тупорылая система передвижения бота, нафига эти маршруты, если система вообще дерьмо!
Выбивает с инета, или перезаходиш ботом число шагов збивается на 0, и все, бот стоит!!! Дибилизм! Какой резон от бота, если он сам не может ходить, сидеть за ним и смотреть что бы бк не подвисло, не выбило с инета, не вылитела ошибка "не найден поединок..."!!!! Тупо бред!!!
Пока в боте не настроят графичиский анализатор миникарты в бк, он наврят ли будет кому либо полезен!!!
ИМХО Это первое что в нем надо сделать! Что бы бот анализировал где он находиться и действовал согласно маршруту!!!!

Довольно неплохой монолог, однако.
Я не делаю бота для того что-бы он кому-то был нужен, это должно быть ясно тебе.

246

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

Добавлено дополнительное условие наличия эффекта на персонаже.

247

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

Итак, в Combots 8.0 разработана новая система приемов,
позволяющая использовать т. н. условия применения.

Использование приемов основывается на выполнении кода приемов.
Код приема является последовательностью выражений на языке JavaScript, позволяющий использование условий.

В программе разработан конструктор кода - помошник для пользователей незнакомых с языком JavaScript, создает код приема на основе простых действий.


Как создать код с помощью констркутора:

1. Если нужно использовать условие, устанавливаем значение нужного условия и нажимаем "Вставить", иначе переходим к п. 2.
2. В области "Прием" вписываем идентификатор приема (часто-используемые идентификаторы можно выбрать в выпадающем меню)
3. (опционально) Если нужно использовать обратное условие "иначе" нажимаем "Вставить else"
4. (опционально) Повторяем п.2 с другим идентификатором приема

Примеры кода:

Простое использование приема

_name = "hit_strong";

Использование приема с условием

if((top.Battle.oBattle.oMySlot.nMagic * 100 / top.Battle.oBattle.oMySlot.nMaxMagic) < 10)
    _name = "wis_gray_meditation";

Использование приема с прямым условием и обратным

if((top.Battle.oBattle.oMySlot.nHP * 100 / top.Battle.oBattle.oMySlot.nMaxHP) > 33)
    _name = "hit_luck";
else
    _name = "hit_willpower";

Что такое "идентификатор приема"?

Условное значение на англ. языке используемое для технического именования приемов
(невозможно использовать русские имена). Пример: novice_hit, идентификатор для приема Вломить.


Как узнать его для нужного приема?

Инвентарь -> Умения -> Приемы -> Если нужный прием уже выбран, снимите.-> Выбираем прием (одеваем).
После того как прием оделся -> Правый клик на странице -> Свойства -> Адрес (URL).
()hit_willpower&all=0&r=0.832645540297005&show_cat=hidden_div_all
Выделенное является именем приема, в данном случае это Воля к победе.
Таким методом вычисляется 100% правильный идентификатор, вне зависимости от уровня приема или совпадения картинок (в старом методе).


Что (кто) такие условия приемов?

Условия приемов - выражения позволяющие использовать прием при определенных обстоятельствах.

Логическая схема условий:
1. Если "значение условия" верно
2. Выполняется прием "идентификатор приема 1"
3. Иначе (если условие неверно)
4. Выполняется прием "идентификатор приема 2"


Примеры условий:

if((top.Battle.oBattle.oMySlot.nHP * 100 / top.Battle.oBattle.oMySlot.nMaxHP) > 33)
Условие верно только когда уровень жизни выше 33%.
if((top.Battle.oBattle.oMySlot.nMagic * 100 / top.Battle.oBattle.oMySlot.nMaxMagic) < 10)
Условие верно только когда уровень маны ниже 10%.
if(top.Battle.oBattle.oGroupsLayer.getElementsByTagName("IMG")[1].sList.split(", ").length > 5) 
Условие верно когда количество противников больше пяти.

Дополнительные условия:

Использование JavaScript позволяет использовать очень много условий (а не только 3 стандартных из программы).

Условия тактик

if(top.Battle.oBattle.arrRes["hit"].innerHTML > 10)
Условие верно только когда кол. набранных мечей больше 10.
 
Другие тактики:
if(parseInt(top.Battle.oBattle.arrRes["krit"].innerHTML) > 10) - капли
if(parseInt(top.Battle.oBattle.arrRes["counter"].innerHTML) > 10) - контрудары
if(parseInt(top.Battle.oBattle.arrRes["block"].innerHTML) > 10) - блоки
if(parseInt(top.Battle.oBattle.arrRes["parry"].innerHTML) > 10) - парирования
if(parseInt(top.Battle.oBattle.arrRes["hp"].innerHTML) > 10) - сердца
if(parseInt(top.Battle.oBattle.arrRes["spirit"].innerHTML) > 10) - уровень духа

Условие абсолютного значения уровня жизни (не %)

if(top.Battle.oBattle.oMySlot.nHP < 50)
Условие верно если уровень жизни меньше 50 хп.

Условие абсолютного значения уровня маны (не %)

if(top.Battle.oBattle.oMySlot.nMagic < 50)
Условие верно если уровень маны меньше 50 хп.

Условие наличия эффекта на персонаже

if(typeof(top.Battle.oBattle.oMySlot.arrEffects["novice_hit"]) == "object")
Условие верно если на персонаже висит прием "Вломить"
 
if(typeof(top.Battle.oBattle.oMySlot.arrEffects["novice_hit"]) != "object")
Условие верно если на персонаже НЕ висит прием "Вломить"

Условие по имени противника

if(top.Battle.oBattle.sEnemyLogin.indexOf("Паук") > -1)
 
Можно использовать не полное имя.

Комплексные условия:

Два условия последовательно (логический оператор "и")

if((top.Battle.oBattle.oMySlot.nMagic * 100 / top.Battle.oBattle.oMySlot.nMaxMagic) < 10 && (top.Battle.oBattle.oMySlot.nHP * 100 / top.Battle.oBattle.oMySlot.nMaxHP) < 20)
    _name = "wis_gray_meditation";
Условие верно если HP ниже 20% и Мана ниже 10%.

Два условия параллельно (логический оператор "или")

if((top.Battle.oBattle.oMySlot.nMagic * 100 / top.Battle.oBattle.oMySlot.nMaxMagic) < 10 || (top.Battle.oBattle.oMySlot.nHP * 100 / top.Battle.oBattle.oMySlot.nMaxHP) < 20)
    _name = "wis_gray_meditation";
Условие верно если HP ниже 20% или Мана ниже 10%.

Связка условий

if((top.Battle.oBattle.oMySlot.nHP * 100 / top.Battle.oBattle.oMySlot.nMaxHP) > 66)
    _name = "hit_luck";
else if((top.Battle.oBattle.oMySlot.nHP * 100 / top.Battle.oBattle.oMySlot.nMaxHP) > 33)
    _name = "";
else
    _name = "hit_willpower";
 
Если HP зеленые, использует "Удачный удар", если желтые - ничего, если красные - "Воля к победе"

Раздел будет пополняться по мере появления новой информации / вопросов.

248

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

Хранилище маршрутов здесь: ()


Напоминаю что эта тема касается Хранилища маршрутов. Тут можно выкладывать свои работы, параллельно заливая их на сайт в Хранилище. Можно также собирать паки лучших маршрутов, если вам не лень. Ну и советы по написанию тут давать тоже можно, оценивать качество написанного маршрута. Флуд если что потом потру.

ЭТА ТЕМА ДЛЯ АВТОРОВ И АКТИВИСТОВ!
Если вы "не писатель" и хотите попросить маршрут, то пожалуйста в эту тему:

()

249

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

Батонъ пишет:

усе решилась проблема (да да название города dreamScity), появилась другая...как звуки отключить, нервируют щелчки=), мб это решаемо?

()
Ознакомьтесь с сайтом, уважаемый wink

250

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

sawa21 пишет:

В боте
-Не переодеваются комплекты:
   Нужно прописать URL а не имя комплекта
а как ето сделать можно хоть 1 пример етого показать. Спасибо

Открываешь инвентарь, находишь "Надеть (Имя комплекта)" -> Правый клик -> Копировать ссылку.
Заходишь в настройки и в поле комплекта вставляешь эту ссылку (Ctrl + V). Все.