[FAQ] Хочу научиться писать макросы, с чего начать?

FAQ. Ответы на часто задаваемые вопросы.

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

Правила форума
Этот раздел является руководством и тут разрешено оставлять сообщения лишь для уточнения и внесения корректив в существующие материалы. Для вопросов существует ряд других разделов.
Аватара пользователя
Click
Разработчик
Сообщения: 1564
Зарегистрирован: Сб ноя 04, 2006 11:30 pm
Сервер RO:: clickro.sytes.net
Откуда: Великий Новгород
Контактная информация:

[FAQ] Хочу научиться писать макросы, с чего начать?

Сообщение Click »

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

Официальная страничка чудо макроплагина
Если вы скачали своего бота с сайта Рофан rofan.ru , то копию этой станички вы сможите найти у себя в папке с ботом, вот тут \plugins\macro-documentation.html
Тут же лежит и сам макроплагин и его папочка (их вам трогать не придётся)

Консольные команды макроплагина

Вот эта ветка форума на официальном английском форуме openkore посвящена макроплагину.
А вот тут люди выкладывают свои уже готовые макросы (правда тоже на английском).
Вот тут предлагаю вам выкладывать ваши макросы на русском (пока там пусто!).

Все ваши макросы вы будете писать в файле который храниться тут: \control\macros.txt

Если вы задаётесь вопросом: "Что за ... ошибки вылетают у меня при запуске коры???"
[macro] you did not specify 'macro_delay' in timeouts.txt. Assuming 1s
[macro] you did not specify 'macro_orphans' in config.txt. Assuming 'terminate'
Config 'macro_orphans' set to terminate (was )
Loading control/macros.txt...
Значит вы плохо прочитали официальную страничку чудо макроплагина, а точнее пункт 4 Configuration files

1.
control/timeouts.txt
Add macro_delay and set it to the number of seconds you want the plugin to pause between commands.
Добавьте параметр macro_delay в timeouts.txt и установите ему значение - количество секунд, которые вы хотите, чтобы делать паузу между командами.
2. В файл config.txt можно добавить ещё много интересных параметров: macro_nowarn, macro_orphans, macro_debug, macro_file, macro_allowDebug
Но кора ругается именно на macro_delay, и если мы не хотим больше видеть эту ругань, то добавляем этот параметр в конфиг и делаем ему значение terminate, которое кора ему и сама поставила))
3. Ещё раз рекомендую почитать официальную страничку чудо макроплагина, чтобы более правильно и более точно для вас сделать настройки.

Видим такую ошибку:
control/macros.txt: ignoring 'ТУТ ЧЕГО НИТЬ НИПИСАНО' (munch, munch, strange food)
Если не знаем что делать, то плохо юзаем поиск. Ну да ладно не буду вас посылать заниматься этим увлекательным занятием, пошлю конкректно вот сюда, где вы подчеркнёте для себя много важной информации)
Плюс ко всему вам придётся в файле macros.txt первую строчку закоментировать, а если по русски, то сделайте первую строчку такой
###Ура! Я умею работать с UTF-8###
И тогда у вас всё будет работать и без ошибок.

Теперь разберём в макросах поглубже.
Вообще макросы занимательная вещь, я думаю вам понравиться. Если попробовать один разок, то потом за уши не оттащишь)

Есть два вида макросов: Автомакрос и Макрос.
Автомакрос срабатывает при определённом условии, которые мы зададим, и вызывает на исполнение Макрос, в котором мы пишем то, что хотим чтобы наш бот сделал.
Вот простой пример:
автомакрос autolooot срабатывает когда в консоле будет строчка "Item Appeared" (такая строчка появляется когда из моба падает лут)
run-once 1 означает, что макрос запуститься 1 раз
call makeautoloot вызывает на исполнение макрос makeautoloot
do c autoloot 100% так мы произносим в общий чат фразу autoloot 100%
release autolooot тут мы сбрасываем условие run-once 1, это означает что если опять что нибудь упадёт, то автомакрос опять сработает
automacro autolooot {
console /Item Appeared/
run-once 1
call makeautoloot
}

macro makeautoloot {
do c autoloot 100%
release autolooot
}
* * *

pJ: А вот чудесная памятка по регулярным выражениям работы DInvalid'a: viewtopic.php?t=1302
...рано или поздно юзверь понимает, что от их изучения ему никуда не деццо.
Последний раз редактировалось Click Ср апр 02, 2008 4:23 am, всего редактировалось 2 раза.
Аватара пользователя
Click
Разработчик
Сообщения: 1564
Зарегистрирован: Сб ноя 04, 2006 11:30 pm
Сервер RO:: clickro.sytes.net
Откуда: Великий Новгород
Контактная информация:

Сообщение Click »

чёрт написал не плохой гайд, жаль что не на нашем форуме, его бы сюда перенести

ещё один гайд по макросам
Аватара пользователя
4epT
macro-маньячина
Сообщения: 2792
Зарегистрирован: Чт дек 21, 2006 1:23 pm
Сервер RO:: 4game
Discord: ya4ept#8494
Контактная информация:

Сообщение 4epT »

(...)
Но все равно, новичков по нему учить... я бы не отважился - там местами явная ересь.
pJ, какие именно места ты имеешь в виду? (if goto ?)

(pJ: далее речь о макросе, который срабатывает, ежели трижды идёть miss по мобу:)

Koala, скорее так:

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

automacro miss { 
timeout 2
console /You.*monster.*- Dmg: Miss!/
call {
log = Miss =
$a++
if ($a < 3) goto end
do quit
:end
log $a
}
}
Быстро и качественно напишу конфиг (макрос)! Стучи!
¤ Свежий бот ¤ Config checker ¤ Manual ¤
Изображение
Изображение
Аватара пользователя
piroJOKE
Модератор
Сообщения: 8205
Зарегистрирован: Сб ноя 04, 2006 2:20 am
Сервер RO:: localhost
Откуда: Molvania

Сообщение piroJOKE »

Флуд стёрт.
Господа, задавать вопросы в разделе "Руководство" - это ересь.
Вопросы по макросам сейчас обсуждаются в разделе "вопросы по плагинам".
Use brain against brain, ai against ai... · как правильно задавать вопросы · faq · download
Ответить