Макрос после еквипа вещи - зависает

Общие вопросы по OpenKore обсуждаются здесь. Можно сказать, что это - основной раздел форума.
Возник вопрос? Вам сюда.

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

Правила форума
Все вопросы по OK не касающиеся плагинов и макросов публикуются в этом разделе.
Перед тем как что то писать, пожалуйста, удостоверьтесь что данная тема не поднималась, вы полностью изучили мануалы по конфигурационным файлам бота и не нашли там решения.
demm
Энтузиаст
Сообщения: 63
Зарегистрирован: Ср ноя 22, 2006 1:51 pm

Сообщение demm » Вс дек 10, 2006 5:53 pm

с евалом тоже самое... T_T

Аватара пользователя
kLabMouse
Профессионал
Сообщения: 4776
Зарегистрирован: Вс ноя 05, 2006 4:32 pm

Сообщение kLabMouse » Вс дек 10, 2006 5:54 pm

demm
Как ты eval юзал?

demm
Энтузиаст
Сообщения: 63
Зарегистрирован: Ср ноя 22, 2006 1:51 pm

Сообщение demm » Вс дек 10, 2006 5:57 pm

macro eq {
log start
do uneq @eval (@inventory (Novice Guard))
do eq @eval (@inventory (Novice Guard))
do uneq @eval (@inventory (Novice Guard))
log end
}

Аватара пользователя
kLabMouse
Профессионал
Сообщения: 4776
Зарегистрирован: Вс ноя 05, 2006 4:32 pm

Сообщение kLabMouse » Вс дек 10, 2006 5:59 pm

demm
ЫЫы. eval ето функция для того чтобы запустить перловый кусок кода.

demm
Энтузиаст
Сообщения: 63
Зарегистрирован: Ср ноя 22, 2006 1:51 pm

Сообщение demm » Вс дек 10, 2006 6:07 pm

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

Аватара пользователя
kLabMouse
Профессионал
Сообщения: 4776
Зарегистрирован: Вс ноя 05, 2006 4:32 pm

Сообщение kLabMouse » Вс дек 10, 2006 6:26 pm

demm
Попробуй последний Макро поставить. Может Поможет

Аватара пользователя
piroJOKE
Модератор
Сообщения: 8207
Зарегистрирован: Сб ноя 04, 2006 2:20 am
Сервер RO:: localhost
Откуда: Molvania

Сообщение piroJOKE » Вс дек 10, 2006 6:31 pm

Чтобы стало понятней, уточню:
eval - это команда OpenKore, позволяющая обращаться прямо к процедурам внутри кода Kore.
Use brain against brain, ai against ai... · как правильно задавать вопросы · faq · download

robotter
Новичок
Сообщения: 7
Зарегистрирован: Ср янв 17, 2007 10:30 pm

Сообщение robotter » Пт янв 19, 2007 11:54 pm

viewtopic.php?p=11678#11678
поможет?

просто непонятно с какой целью надевается броня и надо ли ее менять

если просто носить - тупо зайди в клиент и одень :)))

Sauron
Грамотный
Сообщения: 435
Зарегистрирован: Ср ноя 29, 2006 3:24 pm

Сообщение Sauron » Сб янв 20, 2007 5:51 am

попробуй паузу воткнуть.. (извиняюсь что не тестировал, боты на работе жужжат)

do uneq Novice Guard
pause 1
do eq Novice Guard
pause 1
do uneq Novice Guard
pause 1

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

упс... а у тебя macro_delay 1 в timeouts.txt прописано???
от РО до шестой палаты - один шаг...

maxsus
Энтузиаст
Сообщения: 62
Зарегистрирован: Вс ноя 19, 2006 3:28 am

Сообщение maxsus » Сб фев 03, 2007 7:47 am

Сталкивался с похожей проблемс, добрый человек"разганяющий мышей" помог=)
do aiauto <- шмот без проблем :D

Аватара пользователя
piroJOKE
Модератор
Сообщения: 8207
Зарегистрирован: Сб ноя 04, 2006 2:20 am
Сервер RO:: localhost
Откуда: Molvania

Сообщение piroJOKE » Сб фев 03, 2007 9:30 am

maxsus
давать советы с ошибками, это мощно...
Use brain against brain, ai against ai... · как правильно задавать вопросы · faq · download

DInvalid
Грамотный
Сообщения: 368
Зарегистрирован: Вт ноя 14, 2006 4:54 pm

Re: Макрос после еквипа вещи - зависает

Сообщение DInvalid » Сб фев 03, 2007 11:06 am

demm писал(а):Или руки у меня кривые, Или опять что-то с макросами...
Если еквипить через макрос, то он виснет после первой вещи которую нацепил.
Т.е. макрос цепляет вещь и начинает просто думать что сделать ему дальше... и думает до бесконечности или пока не скажешь ему macro stop

Пример:
macro eq {
log start eq
do eq @inventory (Novice Guard)
log end eq
}
Получаем зависон после еквипа, лог "end eq" не выводится:
macro eq
[macro][log] start
You equip Novice Guard (18) - Shield (type 32)
Кора 1.9.3.

2Аффтор и всем кто пытался вникнуть в проблему и решить ее не зная контекста!

Ты все хорошо описал, но один момент, само по себе описание проблемы с макросом бесполезно, если нет КОНТЕКСТА.
Контекст - это наше все. Кора - это сложная система, в которой все взаимозависимо, поэтому просто описание что у тебя не работает этот макрос НИОЧЕМ не говорит, так как ты не привел условий в которых этот макрос не работает.
Если он у тебя не работает ВОООБЩЕ, т.е. после старта ОКоре ты ничего больше не делая его запускаешь, это одно.
А если ты что то сделала и уже потом макрос не работает - это другое.

Он Топик.

Я провел небольшой тест (люблю тесты :crazy: )
ai off
[success] AI turned off
macro eq
[macro] [macro][log] start eq
[inventory] You equip Knife [3] (22) - One-Handed Weapon (type 2)
aiv
  • ai_seq (off) = equip macro
    ai on
    [success] AI set to auto mode
    [macro] [macro][log] end eq

    uneq 22
    [inventory] You unequip Knife [3] (22) - One-Handed Weapon
    ai manual
    [success] AI set to manual mode
    macro eq
    [macro] [macro][log] start eq
    [inventory] You equip Knife [3] (22) - One-Handed Weapon (type 2)
    ai on
    [success] AI set to auto mode
    [macro] [macro][log] end eq

    uneq 22
    [inventory] You unequip Knife [3] (22) - One-Handed Weapon
    macro eq
    [macro] [macro][log] start eq
    [inventory] You equip Knife [3] (22) - One-Handed Weapon (type 2)
    [macro] [macro][log] end eq
Если в момент исполнения этого макроса ai находится в состоянии off или manual то макрос виснет. почему?
Потому что по какой то причине, в режимах отличных от ai auto не очищается список ai и в нем остается действие equip

Вот пример:
ai manual
[success] AI is already set to manual mode
aiv
  • ai_seq (manual) =
    uneq 22
    [inventory] You unequip Knife [3] (22) - One-Handed Weapon
    aiv
    • ai_seq (manual) =
      eq 22
      [inventory] You equip Knife [3] (22) - One-Handed Weapon (type 2)
      aiv
      • ai_seq (manual) = equip
        ai on
        [success] AI set to auto mode
        aiv
        • ai_seq (auto) =

П.С. Похоже небольшой баг в CoreLogic
процедурка processEquip() которая очищает состояние "equip"
хз что забыла в секции AI auto. Ей самое место в секции AI manual, IMHO.

maxsus
Энтузиаст
Сообщения: 62
Зарегистрирован: Вс ноя 19, 2006 3:28 am

Сообщение maxsus » Вс фев 04, 2007 10:39 pm

piroJOKE писал(а):maxsus
давать советы с ошибками, это мощно...
Сории....ai auto :oops:

Но думаю если лезишь в макросы консольные команды должен знать....,не даже обязан :)

Ответить