[share] По пути Ведра. Макро на все профы.

Всё, что касается макро-плагина.

Модератор: 4epT

Правила форума
В форуме макросы "Макросы" разрешено только задавать вопросы по уже существующим макросам и просить помощь по недоработанным своим. При этом таким считается тот макрос который готов не менее чем на 2/3.
Если вы хотите попросить участников сообщества написать вам макрос, это можно сделать в разделе "сервис".
manticora
Грамотный
Сообщения: 436
Зарегистрирован: Ср авг 29, 2007 12:45 pm

[share] По пути Ведра. Макро на все профы.

Сообщение manticora »

Издревле на rofan.ru желал народ Кнопку. Чтоб нажал, и всё само по себе ботилось. Данная тема - поиск пути к такой Кнопке, путь продолжаем от наследия Святого Инквизитора.

Продолжается также поиск желающих помочь в этом нелёгком деле. Тестированием, знаниями о мире Рагнарок, собственными макросами или плагинами.

Прикрепленный файл BOT-090815.zip - с ботом, распаковать в папку с ОпенКорой.

Текущее состояние дел в макросе:

Нубозона
  • Запускаем автокач-плагин, чтобы он сделал макрос для прокачки персонажей. Есть настройки только для торгаша, мечника и ако.
  • Запускаем плагин macroinclude, чтобы подключить только нужные макросы.
  • Посещение всех учителей, получение всех халявных лвл и джобов, получение нубо-шмота.
    1. Сиона: +1 лвл.
    2. Регистратор: +50 зени.
    3. Главный специалист, Крис: +1 лвл, +1 джоб, Tattered Novice Ninja Suit.
    4. Специалист по умениям, Сесил: +1 лвл, +2 джоба, скилл "Первая Помощь".
    5. Сотрудница Кафры: +1 лвл, +1 джоб.
    6. Специалист по предметам, Арис: +2 лвл, +2 джоба, Somber Novice Hood, Novice Slippers, Novice False Eggshell, Novice Potion x 50.
    7. Помощник, Эльмин: +1 лвл.
    8. Помощник, Кейн: +1 лвл, Novice Main-Gauche, Novice Guard, Novice Potion x 350.
    9. Инструктор, Хенсон: +100 зени, Free Ticket for Kafra Storage x 5, Free Ticket for Kafra Transportation x 5. (для торгашей: Free Ticket for Kafra Storage x 4, Free Ticket for Kafra Transportation x 4, Free Ticket for the Cart Service x 4).
  • Выбор локации для кача, в зависимости от силы новиса. Если str >= 12, то кач на сложных мобах - спорах.
  • Собеседование по проф. ориентации на любую из 6-ти основных проф.
Прохождение квеста на первую профу
Выходя из нубозоны, бот сам берет любую из первых профессий: мечник, лучник, вор, ако, мерч, маг, тыква, нинзя (полуавтомат), ганслингер (полуавтомат).
  • (Swordman_1-Quest.txt) Мечник. Если упали с дорожки, то делается релог и проходим заново.
  • (Archer_1-Quest.txt) Лучник. Еще в нубозоне собирает поленья - лут для квеста.
  • (Thief_1-Quest.txt) Вор. Косит грибы голыми руками - так быстрее.
  • (Acolyte_1-Quest.txt) Ако. Если нас посылают в Морокк, и у нас есть проездной билет Кафры, то мы юзаем телепорт. Раньше просто бегал пешком, имхо - палево.
  • (Merchant_1-Quest.txt) Мерч. Сам набивает нужное количество зенег для начала квеста. Узнает номер посылки. Пользуясь проездными билетами кафры, доставляет посылку.
  • (Mage_1-Quest.txt) Маг. Узнает номер смеси, которую надо приготовить. Сам бегает за раствором в Морокк или Пайон, пользуясь билетами кафры. Закупает в Пронте молоко, если надо. Набивает недостающий лут (типа желлопи и пуха).
  • (Taekwon_1-Quest.txt) Тыква. На собеседовании в нубозоне прикидывается лучником, поэтому попадает в Пайон, где берется квест на тыкву.
  • (Ninja_1-Quest.txt) Нинзя. На собеседовании в нубозоне прикидывается мерчем, чтобы попасть в Альберту, откуда можно добраться через спец-непись до Амацу. Для прохождения квеста на профу нужно положить на кафру или в карман 10 сайфаров и 2 фракона. Половину из этого лута неписи не забирают. В конце квеста дают ножик Asura [2].
  • (Gunslinger_1-Quest.txt) Ганслингер. На собеседовании в нубозоне прикидывается магом, чтобы попасть в Геффен. В Геффене проверяются карманы и кафра на наличе нужного лута. На кафре обязательно должны лежать три Rainbow Shell, остальное - по желанию. В Геффене бьем часть лута, необходимого для квеста. Там же бьются зеньги и покупаются заргоны у нпц. Из Геффена варпаемся в Пронтеру. Там покупаем молоко, добываем зеньги на ухо бабочки и билет на дирижабль. Летим в Эйнброх, берем квест на профу. Жрем ухо до Излюда. Из Излюда телепортируемся в Пайон. В Пайоне бьем полено, если надо. Если лут весь есть, говорим со старичком. Теперь снова надо в Эйнброх - набиваем зеньги на билет. Добираемся до Эйнброха, сдаем квест, становимся гансом. В награду дают одну из двух пушек: Branch [3] или Six Shooter [1].
Тренировка первых проф
Прохождение такого квеста, хотя бы не до конца, дает несколько халявных левелов, а также - бесплатное оружие, что для начинающего бота весьма полезно. Написаны прохождения для мечника, лучника (черновая), вора, мага, торговца и аколита (черновая).
  • (Thief_2-Training.txt) Тренировка воров, полная версия. Дают опыт, ножик Main Gauche [3], Mantle, 5000 зенег.
  • (Acolyte_2-Training.txt) Тренировка ако, полная черновая версия. Дают один джоб и дубинку Mace [3] в долг потаскать. Из церкви пронты нас варпают в монастырь, там три раза говорим с нпц, получаем дубинку, делаем тп в пронту, сохраняемся, отправляемся на кач при помощи автокач-плагина. Для продолжения тренировка ако нужно, чтобы: у ако был 10 джоб (хил 3, защита от демонов 5, блес 1 лвл), на кафре лежало 5 ногтей зомби. Запускается продолжение тренировки командой "macro AcolyteTrainingStart2". Краткое содержание: отдаем дубинку, относим письмо, летим в пайон за ногтями, берем ногти с кафры, показываем ногти, кормим собаку, лечим больную девочку, разносим пять посылок, скидываем ногти на склад, получаем в награду Flail [2], печенюшку, ухо бабочки и опыт.
  • (Mage_2-Training.txt) Тренировка магов, полная версия. Дают опыт и посох Wand [2], 8000 зенег, Silk Robe. У меня апнулся до 19/12.
  • (Merchant_2-Training.txt)Тренировка мерчей, полная версия. Сам находит дешевые поты в пронте, покупает нужные. Сам качается (благодаря автокач-плагину) и идет продолжать квест, когда прокачает скилл на нужный уровень. В процессе тренировки нужно выучить Enlarge Weight Limit 5, Discount 4, Overcharge 4, Pushcart 4, Vending 4. Пять раз дают опыт именно за прохождение квеста. Пока проходил квест, прокачался до 29/22.
  • (Swordman_2-Training.txt)Тренировка мечников, полная версия. Дают опыт, Muffler, Scimiter [2]. Сначала качаемся (автокач-плагин), получаем Баш 1, Баш 5, Баш 10 лвл. Нас варпают в геф, говорим с неписью, варпают назад в излюд. Качаем Провоку 5, Эндурь 1. Говорим с неписью в Геффене и четырьмя неписями в Морокке.
  • (Archer_2-Training.txt)Тренировка лучников, полная (черновая) версия. Дают опыт, стрелы, Great Bow [2].
Квесты и т.д.
  • (Quest_4-Diribabl.txt) - макрос для полета на дирижабле. При помощи этого макроса и дирижабля можно перемещаться между следующими локациями: izlude, rachel, yuno, hugel, lighthalzen, einbroch, ra_fild12. В Юно, если надо, делается пересадка. Чтобы начать макрос надо быть на локации с дирижаблем. В параметр QuestPart записываем ключевое слово Diribabl, а в параметр QuestVar1 - куда хотим долететь. Например, мы стоим в излюде и хотим добраться до эйнброха:

    Код: Выделить всё

    conf QuestPart Diribabl
    conf QuestVar1 einbroch
    Когда макрос доставит вас до точки назначения, QuestVar1 будет очищено, а QuestPart примет значение DiribablDone. В файле openkore/tables/portals.txt должны быть следующие строки:

    Код: Выделить всё

    izlude 206 55 airplane_01 244 58 1200 c r0 c r0 
    yuno 47 240 y_airport 143 53
    y_airport 140 63 yuno 47 244 0 c r0
    yuno 59 240 y_airport 143 53
    y_airport 145 63 yuno 59 244 0 c r0
    airport 143 43 airport 148 51 1200 c r0 c r0
    ra_fild12 295 208 airplane_01 243 29 1200 c r0 c r0
    airplane_01 243 29 yuno 12 261
    einbroch 92 281 airplane 243 29
    airplane 243 29 einbroch 92 278
    
Плагин autokach
Из экселевой таблички генерируется макрос, который управляет сменой локаций кача в зависимости от левела персонажа. Желающие могут поделиться идеями по поводу, где можно было бы качаться профам, представленными в макросе.
В настоящий момент, в файле autokach.csv прописаны следующие настройки.
  • ka4 aco. Макрос для кача аколита.
    • На лвл с 0 по 22 идет в Пронтеру и там сохраняется.
      • 0..13 лвл. Качается на одной из следующих локаций: moc_fild01, moc_fild02, prt_fild06, prt_fild01
      • 14..15 лвл. Локации: prt_fild06, prt_fild01
      • 16..17 лвл. Локации: prt_fild10, prt_fild09
      • 18..22 лвл. Локации: prt_fild10, prt_fild09, moc_fild01
  • ka4 merch. Макрос для кача Торговца. Используется в процессе прохождения квеста "Тренировка первых проф".
    • На лвл с 0 по 32 идет в Альберту и там сохраняется.
      • 0..19 лвл. Качается слева от Альберты: pay_fild03.
      • 20..28 лвл. Качается только на спорах на локе pay_fild06.
      • 29..32 лвл. На локе pay_fild06 бьет всех кроме Worm Tail.
  • ka4 sword. Макрос для кача Мечника. Используется в процессе прохождения квеста "Тренировка первых проф".
    • На лвл с 0 по 22 идет в Излюд и там сохраняется.
      • 0..13 лвл. Качается на одной из локаций: moc_fild01, moc_fild02, prt_fild06, prt_fild01. Качаемся на тех, кто не может дать сдачи - пупы, яйца, поринги, пикки.
      • 14..15 лвл. prt_fild06, prt_fild01. Начинаем качаться на Thief Bug.
      • 16..17 лвл. prt_fild10, prt_fild09. В основном - Savage Babe.
      • 18..22 лвл. prt_fild10, prt_fild09, moc_fild01. (Savage Babe, Poporing, Baby Desert Wolf)
  • ka4 demo. Демонстрационная версия. Призвана показать все возможности автокач плагина: переход между городами, выбор из нескольких локаций, переход на более сложную локацию, изменение настроек на текущей локации.
    • На 0..13 лвл персонаж идет в Излюд и там сохраняется.
      • 0..11 лвл. Качается на локациях moc_fild01, prt_fild10.
      • 12..13 лвл. moc_fild02, prt_fild09.
    • На 14..17 лвл персонаж идет в Морокк и там сохраняется.
      • 14..15 лвл. moc_fild07, moc_fild10, moc_fild12.
      • 16..17 лвл. moc_fild11, moc_fild06.
    • На 18..19 лвл персонаж возвращается в Излюд.
      • 18..19 лвл. moc_fild04, moc_fild13.
Плагин xConf
Позволяет на ходу менять отношение бота к мобам и луту. Переоценить практическую пользу для подобного рода макросов невозможно.

Плагин macroinclude
Плагин macroinclude предназначен для включения и выключения директив !include в файле macros.txt.

to do List:
  • Тренировку всех проф - доработать, исправить косяки.
  • Как ако 14 лвл может набить 5 ногтей для тренировки аколитов?
  • Как нуб может достать 10 сайфаров для профы нинзя?
  • Нинзя: скил- статбилд.
  • Настроить автокач плагин для всех восьми проф в макросе, так, чтобы оно качалось до 28 лвл включительно.
  • Автозакупка оружия-брони у нпц, заточка
  • Настройка sellAuto, storageAuto и т.д. на остальные города.
  • Прохождение мелких нужных квестов, типа на проход в канализацию пронты
ВНИМАНИЕ!!!! ДЛЯ КОРРЕКТНОЙ РАБОТЫ МАКРОСА НУЖНО СКАЧАТЬ САМУЮ ПОСЛЕДНЮЮ СВН ВЕРСИЮ КОРЫ И МАКРО ПЛАГИНА!!!
ССЫЛКИ:
http://openkore.collectskin.com/openkore_ready.zip - самая новая кора
http://openkore.svn.sourceforge.net/vie ... ins/macro/ - самый новый макро плагин

Список использованной литературы: Список использованных программ:
  • Notepad ++ - читаем пишем макросы с подсветкой кода.
  • WinMerge - сравниваем две версии макросов и узнаем, что изменилось.
  • VirtualBox - бесплатная виртуальная машина от Sun. Аналог всем известной вмвари. VirtualBox помог мне запустить бота на компе, где стоит касперский.
  • kis2010.0.0.463ru.exe - новый Касперский, который не конфликтует с OpenKore (всмысле XSTools.dll). Ура.
Я нуб, но мне интересно:
  • [Решено]Как в макросе узнать, на какой лвл прокачен скил, например "Enlarge Weight Limit".

    Код: Выделить всё

    automacro TestVending {
    	class Merchant
    	eval $::char->getSkillLevel(new Skill(name => "Vending")) >= 1
    	run-once 1
    	call TestVendingM
    }
    macro TestVendingM {
    	log ====================
    	log Vending прокачан на @eval($::char->getSkillLevel(new Skill(name => "Vending")))
    	log ====================
    }
    
  • А в макросах есть массивы?
  • А что такое "вложенные переменные" в макро-плагине?
Вложения
BOT-090815.zip
Нубозона. Квесты на все 9 проф (ако, лучник, маг, мерч, вор, мечник, тыква, нинзя, ганс). Полная тренировка первых проф: вор, маг, ако (черновая), мерч, мечник, лучник (черновая). Билды от 6о6uK'a. Автокач-плагин. Плагин xConf. Плагин macroinclude.
(141.44 КБ) 772 скачивания
BOT-090614.zip
Нубозона. Квесты на 8 проф (ако, лучник, маг, мерч, вор, мечник, тыква, нинзя). Полная тренировка первых проф: вор, маг, ако (черновая), мерч, мечник, лучник (черновая). Билды от 6о6uK'a. Автокач-плагин. Плагин xConf.
(124.27 КБ) 382 скачивания
BOT-090528.zip
Нубозона. Квесты на 7 проф (ако, лучник, маг, мерч, вор, мечник, тыква). Тренировка первых проф: вор, маг, ако (краткая), мерч, мечник, лучник (черновая). Билды от 6о6uK'a. Автокач-плагин. Плагин xConf.
(104.61 КБ) 357 скачиваний
BOT-090430.zip
Нубозона. Квесты на 7 проф (ако, арч, маг, мерч, вор, мечник, тыква). Тренировка первых проф: вор (краткая), маг (краткая, полная), ако (краткая), мерч (полная, но бета). Билды. Автокач-плагин.
(92.52 КБ) 355 скачиваний
BOT-090423.zip
Семь проф. Тренировка воров (краткая), аколитов (краткая), магов (краткая, продолжение). Билды от Бобика. Фикс багов.
(83.65 КБ) 270 скачиваний
BOT-090411.zip
Нубозона, квесты на мечника, лучника, вора, ако, мага, торгаша, тыкву. Тренировка воров.
(60.73 КБ) 285 скачиваний
Последний раз редактировалось manticora Пт сен 04, 2009 2:28 pm, всего редактировалось 68 раз.
qwertyy
Энтузиаст
Сообщения: 62
Зарегистрирован: Чт янв 08, 2009 1:08 am
Сервер RO:: rRo

Re: [share] По пути Ведра. Макро на все профы.

Сообщение qwertyy »

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

(продавал бы лучше)
6o6uK
Энтузиаст
Сообщения: 107
Зарегистрирован: Пн фев 02, 2009 2:42 pm
Сервер RO:: Laggame
Откуда: Украина

Re: [share] По пути Ведра. Макро на все профы.

Сообщение 6o6uK »

немного обновил файл Novise 1 start

написал несколько билдов

Код: Выделить всё

	log =========================================================================
	log ===============Напишите в консоли:=======================================
	log ======macro Swordsman-Crus - для профессии Мечника(будущего круза)=======
	log ======macro Swordsman-Kinght - для профессии Мечника(будущего найта)=====
	log ======macro Acolyte-Priest - для профессии Аколита(будущего приста)======
	log ======macro Acolyte-Monk - для профессии Аколита(будущего монаха)========
	log ======macro Thief-Assasin - для профессии Вора(будущего сина)============
	log ======macro Thief-Rogue - для профессии Вора(будущего рога)==============
	log ======macro Archer - для профессии Лучника===============================
	log ======macro Mage - для профессии Мага====================================
	log ======macro Merchant - для профессии Торговца============================
	log ======macro Taekwon - для профессии Тыквы================================
	log =================И нажмите Enter=========================================
	log =========================================================================
собсно вот и они

Код: Выделить всё

macro Swordsman-Crus {
[
	do conf Job 1
	do conf statsAddAuto 1
	do conf statsAddAuto_list 15 str, 15 dex, 15 agi, 25 dex, 15 vit, 30 str, 30 agi, 20 vit, 50 str, 40 agi, 35 dex, 72 str, 60 agi, 40 vit, 47 dex, 75 vit, 68 agi
	do conf skillsAddAuto 1
	do conf skillsAddAuto_list Basic Skill 9
	do mconf Spore 2 0 0
	do conf NoobZonePart 1
]
}

macro Swordsman-Kinght {
[
	do conf Job 1
	do conf statsAddAuto 1
	do conf statsAddAuto_list 15 str, 15 dex, 25 str, 25 dex, 15 vit, 30 dex, 40 str, 20 vit, 50 str, 30 agi, 40 dex, 60 str, 60 agi, 20 int, 49 dex, 75 str, 80 agi, 92 str
	do conf skillsAddAuto 1
	do conf skillsAddAuto_list Basic Skill 9
	do mconf Spore 2 0 0
	do conf NoobZonePart 1
]
}

macro Acolyte-Priest {
[
	do conf Job 2
	do conf statsAddAuto 1
	do conf statsAddAuto_list 15 dex, 15 int, 20 dex, 40 int, 30 dex, 50 int, 20 vit, 60 int, 40 dex, 70 int, 30 vit, 80 int, 60 dex, 60 vit
	do conf skillsAddAuto 1
	do conf skillsAddAuto_list Basic Skill 9
	#Как видно из статов - билд не стр, значит грибок будет очень опасно пинать, не нападаем.
	do mconf Spore 0 0 0
	do conf NoobZonePart 1
]
}

macro Acolyte-Monk {
[
	do conf Job 2
	do conf statsAddAuto 1
	do conf statsAddAuto_list 15 str, 15 dex, 25 str, 25 dex, 15 vit, 30 dex, 40 str, 14 vit, 50 str, 30 agi, 40 dex, 60 str, 60 agi, 20 int, 54 dex, 75 str, 38 int, 73 agi, 48 int, 82 str
	do conf skillsAddAuto 1
	do conf skillsAddAuto_list Basic Skill 9
	do mconf Spore 2 0 0
	do conf NoobZonePart 1
]
}

macro Thief-Rogue {
[
	do conf Job 5
	do conf statsAddAuto 1
	do conf statsAddAuto_list 10 str, 10 agi, 20 dex, 20 str, 50 agi, 30 dex, 30 str, 70 agi, 80 agi, 50 dex, 86 str, 95 agi
	do conf skillsAddAuto 1
	do conf skillsAddAuto_list Basic Skill 9
	do mconf Spore 2 0 0
	do conf NoobZonePart 1
]
}

macro Thief-Assasin {
[
	do conf Job 5
	do conf statsAddAuto 1
	do conf statsAddAuto_list 10 str, 10 agi, 20 dex, 20 str, 50 agi, 12 int, 30 dex, 30 str, 70 agi, 42 dex, 60 str, 80 agi, 14 vit, 94 str
	do conf skillsAddAuto 1
	do conf skillsAddAuto_list Basic Skill 9
	do mconf Spore 2 0 0
	do conf NoobZonePart 1
]
}
Вложения
Novice_1-Start.txt
афтар, не кидай в мну тапками плз)
(8.78 КБ) 252 скачивания
Изображение
Изображение
manticora
Грамотный
Сообщения: 436
Зарегистрирован: Ср авг 29, 2007 12:45 pm

Re: [share] По пути Ведра. Макро на все профы.

Сообщение manticora »

Приветствую.
BOT-090423. Семь проф. Тренировка воров (краткая), аколитов (краткая), магов (краткая, продолжение). Билды от Бобика. Фикс багов.

1. (/cfg_macros/Novice_2-Teachers.txt) Исправлен баг. Раньше, чтобы умереть в нубозоне, новис атаковал моба, и, когда моб наносил ответный удар, бот переставал атаковать, в надежде, что моб нас запинает. Схема давала сбой если моба мы убили, а атаковал он нас из последних сил (сначала сдох, потом нас ударил). Или если добрая душа пробегала мимо и видя избиваемого новиса решала его спасти.
Теперь бот будет не прекращать бить мобов, но при этом будет драться кулаками и не есть лечилки. В следующий раз - после смерти и халявного опыта и дополнительных 50 потов, бот, естественно, оденет нож, щит и будет есть лечилки.

2. (/cfg_macros/Novice_1-Start.txt) Благодаря 6o6uK'у начинаем разнообразить бота билдами: Swordsman-Crus, Swordsman-Knight, Acolyte-Priest, Acolyte-Monk, Thief-Assasin, Thief-Rogue.

3. (/cfg_macros/Mage_2-Training.txt), Продолжаем корпеть над тренировками первых проф. Тренировка магов разделена на два этапа:
  • "macro MageTrainingStart" - халявная часть, дают опыт (у меня апнулся с 12/1 до 17/10) и посох Wand [2].
  • "macro MageTrainingStart2" - сложная часть, прохождение "Следы боя". Для продолжения надо иметь больше 1400 зенег, и пройденную первую часть. Также неплохо иметь в кармане штук 10 зеленой травы. В награду дают Silk Robe, 8000 зенег и еще опыт. Работает, но еще на стадии теста.
4. Вложил собственноручно написанный плагин автокач. Из экселевой таблички делаем макрос, который руководит ботом - на каком лвл куда идти кач. Пробуем, дорабатываем. Я надеюсь, это как раз то, о чем писал kLabMouse.

Сообщение от kLabMouse
Добавлено: Сб фев 07, 2009 11:53 pm
Господа. Я не хотел встрявать, но вынужден.
Афтар, подумай-ка о том, чтобы пользователи сами себе дописывали варианты прокачки.
В свою очередь, с тебя только мелкие проверки и нужные квесты.
Аватара пользователя
[GM]#05
Профессионал
Сообщения: 593
Зарегистрирован: Пт фев 09, 2007 8:44 pm
Сервер RO:: rRO

Re: [share] По пути Ведра. Макро на все профы.

Сообщение [GM]#05 »

Тренировка аколита
Loading profiles\Monk\items_control.txt...
Config 'saveMap' set to prt_monk (was not set)
You equip Mace [3] (36) - One-Handed Weapon (type 2)
Config 'autoSwitch_default_rightHand' set to Mace [3] (was not set)
Config 'NoobZonePart' set to AcolyteTrainingPart4 (was AcolyteTrainingPart3)
[macro] automacro AcolyteTraining4 triggered.
[macro][log] Пусть нас Глория варпнет в Пронту
Calculating route to: St. Capitolina Abbey(prt_monk): 217, 160
NPC Exists: Эстер#tu (230, 106) (ID 52596) - (0)
NPC Exists: #tu_monk (217, 123) (ID 52607) - (1)
NPC Exists: Подслушать#tu (223, 123) (ID 52608) - (2)
#tu_monk: [Звук из окна]
[macro] automacro AcolyteTrainingToxoby triggered.
[macro][log] Какие-то посторонние неписи тусуются...
#tu_monk: ...
#tu_monk: Type 'talk cont' to continue talking
#tu_monk: Из окна доносится какой-то шум...
#tu_monk: Done talking
NPC Exists: Глория#tu (219, 164) (ID 52605) - (0)
Маркос отвлекся на посторонних неписях и заглох, помог reload macro.
manticora
Грамотный
Сообщения: 436
Зарегистрирован: Ср авг 29, 2007 12:45 pm

Re: [share] По пути Ведра. Макро на все профы.

Сообщение manticora »

Приветствую.
1. [GM]#05, спасибо, что пользуешься макросом, находишь глюки и способы борьбы с ними, мне очень это приятно. Я посмотрел там еще раз подробнее по коду, по-идее прерываются только два автомакроса. Поэтому "reload macro" я сократил до "release AcolyteTraining1" и "release AcolyteTraining4".

2. Нашел кучку досадных глюков в квесте на Ако (/cfg_macros/Acolyte_1-Quest.txt). Исправил. Связаны они были с новой фичей - телепортом в морокк и обратно, если нас послали к Матильде.

3. Я теперь знаю, как запускать автомакрос по условию - если скилл вкачан на такой-то лвл. Сейчас занимаюсь наитупейшим квестом - тренировка мерчей. Там как-раз надо автомакрос, срабатывающий по лвл скилов.
Вложения
Merchant_2-Training.txt
Глюкавая не полная бета версия тренировки торгашей. Не запускать :-)
(39.27 КБ) 211 скачиваний
Acolyte_2-Training.txt
Тренировка Ако. Исправлен глюк, "стук из окна прерывает макрос - тп от Глории".
(4.2 КБ) 208 скачиваний
Acolyte_1-Quest.txt
Квест на профу ако. Исправление досадных глюков, если нас посылают к Матильде в Морокк.
(5.73 КБ) 200 скачиваний
incubo
Новичок
Сообщения: 1
Зарегистрирован: Вс апр 05, 2009 12:05 pm
Сервер RO:: Raggame

Re: [share] По пути Ведра. Макро на все профы.

Сообщение incubo »

Наверно просто опечатка, но в автомакросе automacro MerchantTraining1 вместо "Enlarge Weight Limit" написано "Enlarge Weiht Limit"
P.S. огромное спасибо за проделанную работу
manticora
Грамотный
Сообщения: 436
Зарегистрирован: Ср авг 29, 2007 12:45 pm

Re: [share] По пути Ведра. Макро на все профы.

Сообщение manticora »

Приветствую.
Надо было мне использовать в макросе команду @arg.

Код: Выделить всё

@arg ("<argument>", <n>)
возвращает <n>ый текстовой <параметр>


Так вот, был крайне удивлен, что <n> может быть только числом, но не переменной. Вот пример:

Код: Выделить всё

	$s = aa bb cc dd
	log @arg( "$s", 2 ) 
	$n = 2
	log @arg("$s",$n)
В первом случае мы увидим желаемое слово "bb", а во втором случае увидим "@arg("$s",$n)". Т.е. во втором случае макро-плагин даже не признал @arg за свою команду.

Хочу переменные во втором аргументе @arg!

Патчим (\openkore_ready\plugins\Macro\Parser.pm), функция "sub parseKw"
Было:

Код: Выделить всё

	if ($pair[0] eq 'arg') {
		return $_[0] =~ /\@(arg)\s*\(\s*(".*?",\s*\d+)\s*\)/
	}
\d+ - вот это у нас виновато, что в обработку попадают команды @arg только с числом во втором аргументе.

Стало:

Код: Выделить всё

	if ($pair[0] eq 'arg') {
		return $_[0] =~ /\@(arg)\s*\(\s*(".*?",\s*(\d+|\$\.?[a-z][a-z\d]*))\s*\)/
	}
(\d+|\$\.?[a-z][a-z\d]*) - теперь у нас есть выбор. Или число, или какая-то переменная.

Дальше макро-плагин все сделает сам.

Кстати, разделителями слов в этой команде считаются: " ,.:;'"!?" (пробел, запятая, точка, двоеточие, точка с запятой, одинарная кавычка, двойная кавычка, восклицательный знак, вопросительный знак), а также пары символов "\r" и "\n".

Например:

Код: Выделить всё

macro hh {
	$s = aa bb, cc., dd::ee;ff'gg""h!ii?
	$n = 1
	log Строка: $s
	log Разделителями слов считаются символы: " ,.:;'"!?", а также спец символы "\r" и "\n"  
	while ($n <= 9) as loop
		log Слово номер $n: @arg("$s",$n)
		$n++
	end loop
}
Вот что нам выдаст консоль:

Код: Выделить всё

macro hh
[macro][log] Строка: aa bb, cc., dd::ee;ff'gg""h!ii?
[macro][log] Разделителями слов считаются символы: " ,.:;'"!?", а также спец символы "\r" и "\n"
[macro][log] Слово номер 1: aa
[macro][log] Слово номер 2: bb
[macro][log] Слово номер 3: cc
[macro][log] Слово номер 4: dd
[macro][log] Слово номер 5: ee
[macro][log] Слово номер 6: ff
[macro][log] Слово номер 7: gg
[macro][log] Слово номер 8: h
[macro][log] Слово номер 9: ii
Добавлено спустя 11 часов 39 минут 59 секунд:
==================
Приветствую. Новая версия: BOT-090430.zip. Что нового:
  1. (/cfg_macros/Novice_3-ZoneSelect.txt). Изменен способ выбора локации для прокачки новиса. Раньше критерием служила будущая профа. Сейчас все решает сила. Если str у новиса 12 и более, то он качается на сложной локации - со спорами. Иначе - на легкой.

    Код: Выделить всё

    $str = @eval($::char->{str})
    if ($str >= 12) goto ok
  2. Найден и исправлен благодаря [GM]#05 глюк "стук из окна прерывает макрос - тп от Глории" в тренировке аколитов (/cfg_macros/Acolyte_2-Training.txt).
  3. Нашел кучку досадных глюков в квесте на Ако (/cfg_macros/Acolyte_1-Quest.txt). Исправил. Связаны они были с новой фичей - телепортом в морокк и обратно, если нас послали к Матильде.
  4. (/cfg_macros/Merchant_2-Training.txt) - тренировка мерчей, квест пройден до конца. В процессе прохождения квеста персонаж апнулся до 29/22 (надо много качаться). Пять раз дают опыт чисто за прохождение квеста. Файл с квестом не подключен к macros.txt - кому надо, тот сам подключает. Ибо в макросе есть два места, где я пока не знаю, какой диалог с нпц. В этих двух местах нуна поговорить ручками.
    Научился новой фишке:

    Код: Выделить всё

    eval ($::char->getSkillLevel(new Skill(name => "Enlarge Weight Limit")) >= 4)
    По этому условию автомакрос сработает, если у нас прокачан скилл "Увеличение носимого веса" до 4 лвл.
  5. (/cfg_macros/vedro.txt) - добавлены настройки для города Альберта (сохранение, купля-продажа-склад).
Ничто еще не закончено на 100%. Всё находится в процессе развития и написания. И это хорошо.
manticora
Грамотный
Сообщения: 436
Зарегистрирован: Ср авг 29, 2007 12:45 pm

Re: [share] По пути Ведра. Макро на все профы.

Сообщение manticora »

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

    Код: Выделить всё

    	$s = @config(QuestDone)
    	$s = $s MerchantTraining23_
    	do conf QuestDone $s
    	do conf NoobZonePart Kach2
    	call autokachRelease
    В параметре конфига QuestDone запоминается шаг, на котором мы остановились.
  • А вот таким образом мы говорим автокач-плагину: иди, качайся мол, сам знаешь где.

    Код: Выделить всё

    conf NoobZonePart Kach2
    call autokachRelease
  • В квесте - тренировка мерчей, квест продолжается, когда персонаж прокачает какое-то умение до 4 лвл. Как мы ловим такой момент, и как переходим от кача к продолжению квеста:

    Код: Выделить всё

    automacro MerchantTraining23 {
    	class Merchant
    	eval ($::config{QuestDone} =~ m/MerchantTraining23_/) and ($::char->getSkillLevel(new Skill(name => "Pushcart")) >= 4)
    	run-once 1
    	call MerchantTraining23M
    }
    macro MerchantTraining23M {
    	log Мы вкачали нужные для продолжения квеста скилы
    	$s = @config(QuestDone)
    	$s = @eval($::config{QuestDone} =~ s/MerchantTraining23_//)
    	if ($s > "") goto skip
    		$s = none
    	:skip
    	do conf QuestDone $s
    	...
    	do conf NoobZonePart MerchantTraining24
    }
    Вот условие, по которому продолжается прохождение прерванного квеста.
    eval ($::config{QuestDone} =~ m/MerchantTraining23_/) and ($::char->getSkillLevel(new Skill(name => "Pushcart")) >= 4)
    Видно, что мы остановились в прохождении квеста на шаге "MerchantTraining23_", и что нужно было прокачать скилл "Вождение телеги" (Pushcart) до 4 лвл. Так как мы продолжаем квест, то стираем пометку из QuestDone.
  • Кстати, еще нововведение, по сравнению с предыдущим вариантом макроса. Используется пропатченный макро-плагин, который понимает такую команду (т.е. понимает переменную во втором аргументе): @arg("aa bb cc",$n). В макросе используется следующая проверка, если макро-плагин не пропатчен, то выведется сообщение - как пропатчить, и через 15 сек кора закроется.

    Код: Выделить всё

    macro Parser_Patch_M {
    	#Проверка. Если есть патч, то $s будет равно "bb", если нету патча, то "@arg("aa bb cc",$n)"
    	$n = 2
    	$s = @arg("aa bb cc",$n)
    	if ($s == "bb") goto ok
    		log Вам следует пропатчить ваш файл \Openkore\plugins\Macro\Parser.pm
    		log Находим в файле Parser.pm вот это:
    		log =================================================================
    		log  	if ($pair[0] eq 'arg') {
    		log 		return $_[0] =~ /\@(arg)\s*\(\s*(".*?",\s*\d+)\s*\)/
    		log 	}
    		log =================================================================
    		log И исправляем на вот это:
    		log =================================================================
    		log 	if ($pair[0] eq 'arg') {
    		log			return $_[0] =~ /\@(arg)\s*\(\s*(".*?",\s*(\d+|\$\.?[a-z][a-z\d]*))\s*\)/
    		log 	}
    		log =================================================================
    		$n = 15
    		:metka
    			log Через $n секунд Кора закроется. Сделайте патч.
    			pause 1
    			$n--
    		if ($n >= 1) goto metka
    		do quit
    	:ok
    }
  • В файле config.txt следует добавить новый параметр: QuestDone.
Собственно - всё. Один макрос у нас занимается чисто прохождением квеста, а другой занимается выбором локации и мобов для кача. Каждый занимается своим делом и не интересуется, что там и как у соседа.
Вложения
autokach plugin merch2.zip
Автокач-плагин. В папке control - пример настроек для кача мерчанта в альберте.
(16.97 КБ) 206 скачиваний
Merchant_2-Training.txt
Тренировка мерчей. Все диалоги прописаны. Готов. Для прокачки персонажа используется автокач-плагин. (autokach.pl, kach.csv, kach.mcs)
(19.59 КБ) 211 скачиваний
# Гурнин: Неплохо! Пришло время научить вас умению 'Скидка', но мы займемся этим позже.
русская вики по OpenKore, редактор макросов с подсветкой и справкой по Ctrl+F1
openkore.collectskin.com - всегда свежая svn-версия OpenKore!
Видео-гайд по установке и настройке OpenKore
inan
Новичок
Сообщения: 1
Зарегистрирован: Вс апр 12, 2009 11:33 am

Re: [share] По пути Ведра. Макро на все профы.

Сообщение inan »

Граждане считайте меня последним нупкой, но обьясните мне пожалуйста как эти макросы запускать, вот распаковал я их в кору и не могу понять какую команду набрать в консоли чтобы они заработали
Аватара пользователя
piroJOKE
Модератор
Сообщения: 8205
Зарегистрирован: Сб ноя 04, 2006 2:20 am
Сервер RO:: localhost
Откуда: Molvania

Re: [share] По пути Ведра. Макро на все профы.

Сообщение piroJOKE »

inan
Оно тебе не надо. Было б надо, был бы тобой сперва изучен FAQ. А так - играй руцями...
Use brain against brain, ai against ai... · как правильно задавать вопросы · faq · download
lcdenten
Начинающий
Сообщения: 21
Зарегистрирован: Ср май 13, 2009 9:49 pm
Сервер RO:: chaos

Re: [share] По пути Ведра. Макро на все профы.

Сообщение lcdenten »

manticora, дорогой друг, вы сделали прекрасное дело. Я вам безмерно благодарен. Не играл в РО и не использовал бота уже год, устроился на работу и всё забыл. А теперь захотелось поботить/поиграть - и вдруг я встречаю вашу разработку. Спасибо вам за время, которое вы мне сэкономили. :)

Добавьте пожалуйста где-нибудь информацию о вашем WM-кошельке. Я бы хотел вас отблагодарить.
Аватара пользователя
piroJOKE
Модератор
Сообщения: 8205
Зарегистрирован: Сб ноя 04, 2006 2:20 am
Сервер RO:: localhost
Откуда: Molvania

Re: [share] По пути Ведра. Макро на все профы.

Сообщение piroJOKE »

Фдуд.

lcdenten
Каков слог. :cry:

ЗЫ: Флуд будет потёрт. Г-да, воздерживайтесь пожалуйста от флуда.
Use brain against brain, ai against ai... · как правильно задавать вопросы · faq · download
Kocbka
Новичок
Сообщения: 5
Зарегистрирован: Ср июл 09, 2008 12:51 pm

Re: [share] По пути Ведра. Макро на все профы.

Сообщение Kocbka »

Подскажите пожалуйста почему после тренировки на мага бот стоит и ничего не делает или на этом макрос заканчивается и дальше надо самому прописывать где качаться?
Аватара пользователя
[GM]#05
Профессионал
Сообщения: 593
Зарегистрирован: Пт фев 09, 2007 8:44 pm
Сервер RO:: rRO

Re: [share] По пути Ведра. Макро на все профы.

Сообщение [GM]#05 »

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