Ок. Пока записывать каждый шаг с координатами в табличку экселя, например, имеет смысл?
Нет.
Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.
Combots Бот для БК » Сообщения от zergnm
Ок. Пока записывать каждый шаг с координатами в табличку экселя, например, имеет смысл?
Нет.
Ничего не понял
Щас все, будет
Я же написал что скоро склепаю все про подземелья, чуток терпения )
У меня без нета она не запустилась
У него наверное старые версии .NET, с ними бот запуститься, а вот работать не знаю.
Он наверное жертва 300%, ибо за 19 побед 2й уровень не взять...
Наверняка.
хз народ! у меня на 2 лвл всего 26 зубов! апа еще небыло! 19 побед 18 проиграшей! может какой нить есть секрет?
Нет никакого секрета, просто в кулаках до 4, ничего не покупая (разве что свиток лечения).
На 2 уровне 0 ап должно быть ~50 зубов. Может тратил чтото?
Все, 1-ый этаж Канализации полностью работает ![]()
У меня 10 дней всегда, всегда трачу только 10 зубов на 2 свитка лечения. Никаких + 100% хп или хил комплекта.
А "на пальцах" объясни что именно написано в этой строке маршрута?
Я не воткнул.
Или это не реальная строка, а пример? Повторяются какие-то параметры, даже дробные. Нипанятна
Что до двоеточия никого интересовать не должно ![]()
Вычисляется одним нажатием кнопки в конструкторе маршрутов.
Итак, система уже работает, на данный момент составляю маршрут 1-го этажа Канализации.
Пока не поддерживаются разные действия в зависимости от количества посещений клетки. Скоро должно быть ![]()
Пример строки маршрута:
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,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"); ![]()
Норма ![]()
Перенес в Разработка / Плагины, так как после окончания разработки 8.0 этот раздел будет именоваться "Настройки / Плагины".
А для разработок будет новый отдел ![]()
Добавлены комплексные условия.
Admin пишет:Да, я про это не упомянул, нужно чтобы бот не повторял точное местоположение:
Координаты + направление, то есть если через одинаковую клетку проходит смотря в разные стороны все будет ок.Боюсь не получится. Слишком многим придётся пожертвовать. Например в канализации надо почистить второй этаж. Телепорт входа на второй этаж придётся повторять по-любому, иначе ходить кругами далеко
Не говоря о других пещерах БК.
Лучше сразу предусмотреть какую-то переменную для обозначения посещения этой клетки.
текущее_местоположение : действие при первом посещении; действие при втором; действие при третьем
Или это очень сложно?
Нет, не сложно. Но эти переменные будут сбиваться при перезапуске бота.
Тут ещё есть подводный камень небольшой. Дело в том что текущее местоположение бота будет повторяться. Есть такие клетки на карте которые надо посетить неоднократно. Но думаю это решится созданием неких переменных у бота, он будет себе отмечать что какое-то действие он уже совершал, был тут, значит исполняется следующее. Правда на случай перезапуска бота он начнёт с первого действия для данной позиции. Ну да и ладно, это мелочи.
Да, я про это не упомянул, нужно чтобы бот не повторял точное местоположение:
Координаты + направление, то есть если через одинаковую клетку проходит смотря в разные стороны все будет ок.
И как бот будет определять текущее местоположение? не совсем могу понять
По мини-карте которая есть в БК, либо по возможным ходам? (m1 m3 m5 m7)
Написал же выше, по навигатору бк, по твоему мини-карта ![]()
+вопрос, можно будет передавать маршруты?
допустим я сделаю маршрут такой то такой то.. залю тхт документ и кто то скачает поставит себе и сможет ити по тому же маршруту?хорошая штука, если мне кто поможет смогу сделать много маршрутов и выложу здесь!
Конечно возможно. Не зря же я сделал хранилище маршрутов.
Admin пишет:Маршрут будет состоять из строчек вида:
текущее_местоположение : действие
текущее_местоположение определяется скриптом на основании навигационной карты.Маршруты нужно будет создавать с помощью конструктора маршрутов.
На каждом шагу нужно будет выбирать дальнейшее действие и нажимать на кнопку.
Бот добавит в маршрут текущее положение и действие соответствующее ему.и когда такое щастье будет??
конструктор какой будет? выбор локаций на карте + функция на даной локации?
шаг вперед, шаг назад, открыть сундук, убивать/не убивать бота.
вопрос с казами, будет открывать кроватку, не убивая бота?
Думаю скоро, на следующей beta-версии.
Нет, что-бы создавать маршрут нужно находиться физически персонажем на той клетке.
Ведь код берется из навигатора.
Про кроватку ниче сказать не могу, даже не знаю что это такое, в общем посмотрим ![]()
Маршрут будет состоять из строчек вида:
текущее_местоположение : действие
текущее_местоположение определяется скриптом на основании навигационной карты.
Маршруты нужно будет создавать с помощью конструктора маршрутов.
На каждом шагу нужно будет выбирать дальнейшее действие и нажимать на кнопку.
Бот добавит в маршрут текущее положение и действие соответствующее ему.
Начинаю разработку новой системы передвижения в подземельях
основанную на текущем местонахождении.
Принцип действий:
1. Бот узнает текущее местонахождение и выполняет действие из соответствующее маршрута.
2. Маршрут уже не будет маршрутом как таковым, потому что бот не следует определенной последовательности действии, а следует обстоятельствам.
Что это дает:
1. 100% гарантия против сбития с маршрута
2. Не нужно вычислять шаг маршрута после перезапуска бота и т.д. и т. п.
3. 100% продолжение похода после смерти на любом этаже.
4. В общем полная стабильность.
Жду ваших соображений / новых идей по этому поводу.
Тупорылая система передвижения бота, нафига эти маршруты, если система вообще дерьмо!
Выбивает с инета, или перезаходиш ботом число шагов збивается на 0, и все, бот стоит!!! Дибилизм! Какой резон от бота, если он сам не может ходить, сидеть за ним и смотреть что бы бк не подвисло, не выбило с инета, не вылитела ошибка "не найден поединок..."!!!! Тупо бред!!!
Пока в боте не настроят графичиский анализатор миникарты в бк, он наврят ли будет кому либо полезен!!!
ИМХО Это первое что в нем надо сделать! Что бы бот анализировал где он находиться и действовал согласно маршруту!!!!
Довольно неплохой монолог, однако.
Я не делаю бота для того что-бы он кому-то был нужен, это должно быть ясно тебе.
Добавлено дополнительное условие наличия эффекта на персонаже.
Итак, в 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 зеленые, использует "Удачный удар", если желтые - ничего, если красные - "Воля к победе"
Раздел будет пополняться по мере появления новой информации / вопросов.
Хранилище маршрутов здесь: ()
Напоминаю что эта тема касается Хранилища маршрутов. Тут можно выкладывать свои работы, параллельно заливая их на сайт в Хранилище. Можно также собирать паки лучших маршрутов, если вам не лень. Ну и советы по написанию тут давать тоже можно, оценивать качество написанного маршрута. Флуд если что потом потру.
ЭТА ТЕМА ДЛЯ АВТОРОВ И АКТИВИСТОВ!
Если вы "не писатель" и хотите попросить маршрут, то пожалуйста в эту тему:
()
усе решилась проблема (да да название города dreamScity), появилась другая...как звуки отключить, нервируют щелчки=), мб это решаемо?
()
Ознакомьтесь с сайтом, уважаемый ![]()
В боте
-Не переодеваются комплекты:
Нужно прописать URL а не имя комплекта
а как ето сделать можно хоть 1 пример етого показать. Спасибо
Открываешь инвентарь, находишь "Надеть (Имя комплекта)" -> Правый клик -> Копировать ссылку.
Заходишь в настройки и в поле комплекта вставляешь эту ссылку (Ctrl + V). Все.
Combots Бот для БК » Сообщения от zergnm