Проблема с макросом.

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

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

Правила форума
В форуме макросы "Макросы" разрешено только задавать вопросы по уже существующим макросам и просить помощь по недоработанным своим. При этом таким считается тот макрос который готов не менее чем на 2/3.
Если вы хотите попросить участников сообщества написать вам макрос, это можно сделать в разделе "сервис".
Fearless
Энтузиаст
Сообщения: 76
Зарегистрирован: Вт окт 05, 2010 5:39 pm
Сервер RO:: aRO

Проблема с макросом.

Сообщение Fearless »

Добрый день, имеется вот такой вот макрос

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

automacro hackshieldReconnect  {
   console /GameGuard/
   timeout 120
   exclusive 1
   call doReconnect
}

macro doReconnect {
   pause 2
   do relog @rand(5,7)
}
(он необходим для арабского сервера с хакшилдом. если в течение 6 минут гвард не получает ответ, то банит акк на 12 часов автоматом. релогин сбрасывает "счетчик" времени ), но есть с ним следующая проблема - если в момент получения надписи и срабатывания макроса бот вингается (а магу это надо часто), то после приземления он игнорит его выполнение. Что можно сделать чтобы решить эту проблему ?


p.s. один из примеров

[Oct 16 05:33:04 2010.77] [dist=10.6] Monster Flora (2): *Whistling*
[Oct 16 05:33:04 2010.78] [dist=10.6] Monster Flora (2): *Whistling*
[Oct 16 05:33:05 2010.22] You change target to aggressive Monster Mandragora (3)
[Oct 16 05:33:05 2010.36] You are now attacking Monster Mandragora (3)
[Oct 16 05:33:05 2010.42] [ 64/100] Monster Mandragora (3) attacks you (Dmg: Miss!) (Delay: 768ms)
[Oct 16 05:33:05 2010.20] You are casting Firebolt on Monster Mandragora (3) (Delay: 1223ms)
[Oct 16 05:33:05 2010.44] Teleporting due to insufficient HP/SP or too many aggressives
[Oct 16 05:33:06 2010.44] Your Ragnarok Online server uses GameGuard. In order to support GameGuard, you must use the Poseidon server. Please read http://wiki.openkore.com/index.php?title=Poseidon for more information.
[Oct 16 05:33:06 2010.45] [macro] automacro hackshieldReconnect triggered.
[Oct 16 05:33:06 2010.48] Map Change: mjolnir_11.gat (148, 252)
[Oct 16 05:33:07 2010.30] You are again: MAPPROPERTY_EVENTPVPZONE
[Oct 16 05:33:07 2010.34] You are again: MAPPROPERTY_TELEPORT
[Oct 16 05:33:07 2010.38] You are again: MAPPROPERTY_NOTREMEMBER
[Oct 16 05:33:07 2010.41] You are again: MAPPROPERTY_EXP
[Oct 16 05:33:07 2010.45] You are again: MAPPROPERTY_CALLMONSTER
[Oct 16 05:33:07 2010.49] You are again: MAPTYPE_FIELD
[Oct 16 05:33:08 2010.50] Calculating random route to: Mt.Mjolnir (mjolnir_11): 186, 142
[Oct 16 05:33:09 2010.53] You are now attacking Monster Mandragora (0)
[Oct 16 05:33:11 2010.11] [dist=unknown] Unknown #55262: *Whistling*
[Oct 16 05:33:11 2010.12] [dist=unknown] Unknown #55262: *Whistling*
[Oct 16 05:33:11 2010.49] You are casting Firebolt on Monster Mandragora (0) (Delay: 1223ms)

В то время как нормальное выполнение макроса (и на всех нечасто вингающихся чарах ни одного сбоя не было)
выглядит так:

[Oct 16 05:30:38 2010.73] Calculating random route to: Mt.Mjolnir (mjolnir_11): 53, 86
[Oct 16 05:30:55 2010.52] Your Ragnarok Online server uses GameGuard. In order to support GameGuard, you must use the Poseidon server. Please read http://wiki.openkore.com/index.php?title=Poseidon for more information.
[Oct 16 05:30:55 2010.53] [macro] automacro hackshieldReconnect triggered.
[Oct 16 05:30:57 2010.13] Disconnecting (216.185.116.25:5000)...[Oct 16 05:30:57 2010.17] disconnected
[Oct 16 05:30:57 2010.21] Relogging in 7 seconds...
[Oct 16 05:31:04 2010.17] Connecting to Account Server...
[Oct 16 05:31:04 2010.25] Connecting (b.74.b9d8.static.theplanet.com:6900)... [Oct 16 05:31:04 2010.11] connected
manticora
Грамотный
Сообщения: 436
Зарегистрирован: Ср авг 29, 2007 12:45 pm

Re: Проблема с макросом.

Сообщение manticora »

Я в этом не разбираюсь, но попробуй в конфиге config.txt прописать:

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

macro_orphans reregister
p.s. а зачем тебе таймаут 120 секунд? Сообщения в консоли не так часто же проскакивают? Или?

p.p.s. а что, Poseidon не настраивается?
# Гурнин: Неплохо! Пришло время научить вас умению 'Скидка', но мы займемся этим позже.
русская вики по OpenKore, редактор макросов с подсветкой и справкой по Ctrl+F1
openkore.collectskin.com - всегда свежая svn-версия OpenKore!
Видео-гайд по установке и настройке OpenKore
Fearless
Энтузиаст
Сообщения: 76
Зарегистрирован: Вт окт 05, 2010 5:39 pm
Сервер RO:: aRO

Re: Проблема с макросом.

Сообщение Fearless »

Спасибо, попробую и после отпишусь.

При увеличении таймаута (до 240 секунд как я делал) нарывался на бан - почему хз. Сообщения в консоли проскакивают каждые 30 секунд, но видимо при увеличении разрывов между запуском макросов чары стали чаще попадать на всякие варпы или ... в общем трудно сказать в чем проблема, но начинают проскакивать автобаны.

А что касается посейдона то вот моя темка viewtopic.php?f=8&t=9209 пока только Маус обратил внимание на нее и обещал попробовать помучится с вопросом. Мой приятель тоже имеющий немалый опыт с ботами уже пробовал запустить там посейдон, но так вот сходу, как он думал, ничего тоже не получилось. Последним предложением , которое он сделал было поднимать посейдон на втором компе, а у себя запускать кору через старт-посейдон, но его я пока не опробовал потому что а) мне это не очень удобно, б) рассчитываю получить от Мауса окончательный вердикт по поводу возможности запуска посейдона и кор на нем в пределах одного компа.

Добавлено спустя 39 секунд:
В конфиге в любом месте прописать эту строку ?
Fearless
Энтузиаст
Сообщения: 76
Зарегистрирован: Вт окт 05, 2010 5:39 pm
Сервер RO:: aRO

Re: Проблема с макросом.

Сообщение Fearless »

Еще проблема с макросом. Реализую пополнение сп через гостиницу.

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

automacro Gostinica {
   location mjolnir_05
   sp < 15
run-once 1
   call {
      do respawn
      release Gostinica
   }
   
 }


automacro sp {
location morocc_in
sp < 60
run-once 1
call {
do talk @npc (147 141)
do talk cont
do talk resp 1
release sp
}
}
однако получаю ошибки в процессе диалога хотя сам макрос выполнился.

[Oct 18 03:39:09 2010.82] [macro] automacro Gostinica triggered.
[Oct 18 03:39:09 2010.83] Teleporting due to insufficient HP/SP or too many aggressives
[Oct 18 03:39:09 2010.91] [ 51/ 1] You use Pierce (Lv: 10) on Monster Argiope (1) (Dmg: 2295) (Delay: 463ms)
[Oct 18 03:39:09 2010.97] Permitted to use Teleport (26), level 2
[Oct 18 03:39:09 2010.97] You used Item: Butterfly Wing (10) x 1 - 5 left
[Oct 18 03:39:10 2010.78] [macro] automacro Gostinica triggered.
[Oct 18 03:39:10 2010.32] ---------Map Info----------
MAP Name: morocc_in.gat
MAP IP: 216.185.116.22
MAP Port: 5000
-------------------------------
[Oct 18 03:39:10 2010.32] Closing connection to Map Server
[Oct 18 03:39:10 2010.32] Disconnecting (216.185.116.24:5000)...[Oct 18 03:39:10 2010.32] disconnected
[Oct 18 03:39:10 2010.33] Connecting to Map Server...
[Oct 18 03:39:10 2010.34] Connecting (216.185.116.22:5000)... [Oct 18 03:39:10 2010.41] connected
[Oct 18 03:39:10 2010.53] You are now in the game
[Oct 18 03:39:10 2010.54] [macro] automacro sp triggered.
[Oct 18 03:39:10 2010.54] Syntax Error in function 'talk' (Talk to NPC)
Usage: talk <NPC # | cont | resp | num> [<response #>|<number #>]

[Oct 18 03:39:10 2010.54] Your Coordinates: 142, 139
[Oct 18 03:39:10 2010.62] You are now: Awakening Potion
[Oct 18 03:39:10 2010.62] Allowed other player invite to Party
[Oct 18 03:39:10 2010.62] Other players are not allowed to view your Equipment.
[Oct 18 03:39:11 2010.63] Error in function 'talk cont' (Continue Talking to NPC)
You are not talking to any NPC.

[Oct 18 03:39:11 2010.20] You are now: Pecopeco
[Oct 18 03:39:11 2010.21] You are now: look: Pecopeco
[Oct 18 03:39:11 2010.21] You are now: MAPPROPERTY_FREEPVPZONE
[Oct 18 03:39:11 2010.22] You are now: MAPTYPE_VILLAGE_IN
[Oct 18 03:39:11 2010.26] Portal Exists: morocc_in -> morocc_in (144, 151) - (0)
[Oct 18 03:39:11 2010.27] Portal Exists: morocc_in -> morocc_in (149, 129) - (1)
[Oct 18 03:39:11 2010.28] Portal Exists: morocc_in -> morocc (136, 136) - (2)
[Oct 18 03:39:11 2010.29] NPC Exists: Inn Employee (147, 141) (ID 51094) - (0)
[Oct 18 03:39:11 2010.29] NPC Exists: PVPNarrator#1 (144, 138) (ID 56185) - (1)
[Oct 18 03:39:11 2010.29] NPC Exists: Gate Keeper#1 (144, 142) (ID 56186) - (2)
[Oct 18 03:39:12 2010.43] Error in function 'talk resp' (Respond to NPC)
You are not talking to any NPC.

[Oct 18 03:39:13 2010.41] [macro] automacro sp triggered.
[Oct 18 03:39:13 2010.39] Inn Employee: [Employee Hasna]
[Oct 18 03:39:13 2010.39] Inn Employee: Welcome to Morroc Inn.
[Oct 18 03:39:13 2010.39] Inn Employee: How may I help you?
[Oct 18 03:39:13 2010.40] Inn Employee: Type 'talk cont' to continue talking
[Oct 18 03:39:14 2010.39] ----------Responses-----------
# Response
0 Save
1 Take Rest - 5,000 zeny
2 Cancel
3 Cancel Chat
-------------------------------
[Oct 18 03:39:14 2010.39] Inn Employee: Type 'talk resp #' to choose a response.
[Oct 18 03:39:15 2010.38] Inn Employee: [Employee Hasna]
[Oct 18 03:39:15 2010.39] Inn Employee: I hope you will take a good rest.
[Oct 18 03:39:15 2010.39] Inn Employee: Done talking
[Oct 18 03:39:15 2010.49] You lost 5,000 zeny.
[Oct 18 03:39:15 2010.76] Map Change: morocc_in.gat (173, 135)
[Oct 18 03:39:16 2010.13] You are again: Pecopeco
[Oct 18 03:39:16 2010.14] You are again: MAPPROPERTY_FREEPVPZONE
[Oct 18 03:39:16 2010.14] You are again: MAPTYPE_VILLAGE_IN
[Oct 18 03:39:16 2010.15] Portal Exists: morocc_in -> morocc_in (174, 122) - (0)
[Oct 18 03:39:16 2010.16] Portal Exists: morocc_in -> morocc_in (166, 130) - (1)
[Oct 18 03:39:20 2010.59] Exiting...


Также паралелльный вопрос - локмап в подобном случае прописывать не надо ? Просто после выполнения макросов он начинает выдавать ошибку "кэннот калькулейт маршрут до (качевая локация)" =(

Добавлено спустя 32 минуты 27 секунд:
Если же макрос еще и продолжить следующим заданием, то он игнорирует шаг с НПЦ

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

automacro sp {
location morocc_in
sp < 60
run-once 1
call {
do talk @npc (147 141)
do talk cont
do talk resp 1
pause 5
do move 170 172 morocc_in
release sp
}
}
EternalHarvest
Разработчик
Сообщения: 819
Зарегистрирован: Пн окт 27, 2008 9:49 pm

Re: Проблема с макросом.

Сообщение EternalHarvest »

Fearless писал(а):

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

do talk @npc (147 141)
[Oct 18 03:39:10 2010.53] You are now in the game
[Oct 18 03:39:10 2010.54] [macro] automacro sp triggered.
[Oct 18 03:39:10 2010.54] Syntax Error in function 'talk' (Talk to NPC)
Usage: talk <NPC # | cont | resp | num> [<response #>|<number #>]

...
[Oct 18 03:39:11 2010.29] NPC Exists: Inn Employee (147, 141) (ID 51094) - (0)]
Всё правильно, NPC-то ещё нет.
Fearless
Энтузиаст
Сообщения: 76
Зарегистрирован: Вт окт 05, 2010 5:39 pm
Сервер RO:: aRO

Re: Проблема с макросом.

Сообщение Fearless »

Хмм.. забавно. То есть необходимо сделать паузу как я понимаю ? Так как кора слишком быстро работает макросами ?
manticora
Грамотный
Сообщения: 436
Зарегистрирован: Ср авг 29, 2007 12:45 pm

Re: Проблема с макросом.

Сообщение manticora »

даже в клиенте не сразу видно всех неписей и игроков, когда переходишь на новую локацию.

так или иначе следует ставить паузу не меньше 2 секунд. иногда в качестве "паузы" (лично у меня) срабатывает задержка между командами макроса. Например три раза вывести на консоль сообщение при помощи log может дать время на подгрузку неписей и прочего.
# Гурнин: Неплохо! Пришло время научить вас умению 'Скидка', но мы займемся этим позже.
русская вики по OpenKore, редактор макросов с подсветкой и справкой по Ctrl+F1
openkore.collectskin.com - всегда свежая svn-версия OpenKore!
Видео-гайд по установке и настройке OpenKore
Fearless
Энтузиаст
Сообщения: 76
Зарегистрирован: Вт окт 05, 2010 5:39 pm
Сервер RO:: aRO

Re: Проблема с макросом.

Сообщение Fearless »

Сработало. Поставил даже 5 секунд, так как 3-х оказывалось маловато.

Возникла следующая проблема =)

Мой итоговый макрос для данного чара выглядит так.

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

automacro kafra {
  location mjolnir_05
   console /Auto-storaging due to insufficient/, /Auto-storaging due to excess weight/
   call wing
 }
 
 macro wing {
 do is Butterfly Wing
 do move 165 255 morocc
 do autostorage
  pause 5
  do move 168 172 morocc_in
 release Kafra
}

automacro Gostinica {
   location mjolnir_05
   sp < 15
# run-once 1
timeout 60
   call {
      pause 2
      do respawn
      release Gostinica
   }
   
 }


automacro sp {
location morocc_in
sp < 60
run-once 1
call {
pause 5
do talk @npc (147 141)
do talk cont
do talk resp 1
do move 170 172 morocc_in
release sp
}
}


automacro go {
location morocc_in
party /Go/
call {
do move 168 172 
}
}
Автосторейдж в конфиге отключен и все такое. Однако у меня есть уже упоминавшийся мной блок

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

automacro hackshieldReconnect  {
   console /GameGuard/
   timeout 120
   exclusive 1
   call doReconnect
}

macro doReconnect {
   pause 2
   do relog @rand(5,7)
}
без которого бот не работает на aRO и в связи с этим возникает следующая накладка - если во время исполнения макро Kafra срабатывает антихакшилд, то после залогинивания бот процедуру сторейджа завершает (ну по своей внутренней АИ или хз как), а вот движения в указанную точку (гостиница) уже не осуществляет. Как исправить этот косяк ?

Добавлено спустя 6 минут 7 секунд:
И кстати в ходе создания макроса возникла еще проблема - почему-то если писать в приват боту, то приходят пустые мессаги (никакого текста или цифра) из-за чего пришлось даже юзать условие "пати-мессадж", а если писать с бота в общий, пати , приват , то перед текстом каждого сообщения кора лепит зачем-то |00 (то есть шлет "|00Go" ). С чем это может быть связано ?
manticora
Грамотный
Сообщения: 436
Зарегистрирован: Ср авг 29, 2007 12:45 pm

Re: Проблема с макросом.

Сообщение manticora »

Чисто теоретически, что стоит у тебя в параметре конфига macro_orphans?

На твоем месте я бы разделил макрос wing на собственно возвращение в город и на складирование в городе. Примерно так:

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

automacro wingA {
   location mjolnir_05
   console /Auto-storaging due to insufficient/, /Auto-storaging due to excess weight/
   call wing
}
macro wing {
   do is Butterfly Wing
   release kafraA
   lock sp
}

automacro kafraA {
   location morocc_in, morocc
   run-once 1
   call kafra
}
macro kafra {
   do move 165 255 morocc
   do autostorage
   release sp
   pause 5
   do move 168 172 morocc_in
}
и тогда оказавшись в мороке он всегда будет идти на склад, а потом в гостинницу (если автомакрос не закрыт). Кроме того, разве для возвращения ухом домой нужно писать макрос? Есть же соответствующие параметры конфига?
p.s. при релоге я бы ресетил все макросы... наверное...
Добавлено спустя 6 минут 7 секунд:
И кстати в ходе создания макроса возникла еще проблема - почему-то если писать в приват боту, то приходят пустые мессаги (никакого текста или цифра) из-за чего пришлось даже юзать условие "пати-мессадж", а если писать с бота в общий, пати , приват , то перед текстом каждого сообщения кора лепит зачем-то |00 (то есть шлет "|00Go" ). С чем это может быть связано ?
А на этот вопрос лучше ответит EternalHarvest или kLabMouse. Попробуй в servers.txt прописать параметр chatLangCode 1.
http://wiki.openkore.com/index.php/Connectivity_Guide
chatLangCode <boolean flag>
Enables support for language codes (a pipe and two hexadecimal digits) in chat messages.
# Гурнин: Неплохо! Пришло время научить вас умению 'Скидка', но мы займемся этим позже.
русская вики по OpenKore, редактор макросов с подсветкой и справкой по Ctrl+F1
openkore.collectskin.com - всегда свежая svn-версия OpenKore!
Видео-гайд по установке и настройке OpenKore
Fearless
Энтузиаст
Сообщения: 76
Зарегистрирован: Вт окт 05, 2010 5:39 pm
Сервер RO:: aRO

Re: Проблема с макросом.

Сообщение Fearless »

macro_orphans имеет параметр terminate.

Макросы я сперва разделял, но потом почему-то решить объединить. Для возвращения на склад ухлом макрос написан для того, чтобы потом направить его в гостиницу. Чисто теоретически можно было бы сделать автомакрос на поход в гостиницу после автоскладирования, но я не думаю что это проще (надо прописывать тогда условия веса что ли ... )
p.s. при релоге я бы ресетил все макросы... наверное...
это как ?
manticora
Грамотный
Сообщения: 436
Зарегистрирован: Ср авг 29, 2007 12:45 pm

Re: Проблема с макросом.

Сообщение manticora »

если у тебя стоит в конфиге "macro_orphans terminate", то я не удивляюсь, почему у тебя прерывается выполнение макроса, если его прервал другой. Попробуй поставить в конфиге "macro_orphans reregister_safe". Поидее тогда макросы будут продолжать работу с того места, где остановились.

"я бы ресетил все макросы":

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

macro doReconnect {
   pause 2
   do relog @rand(5,7)
   release all
}
Видимо, надо сделать что-то одно - или прописать "macro_orphans reregister_safe" или ресетить все автомакросы при релогине...

P.S. А мне нравится делать автомакросы, разбивая их по принадлежности к локации.
# Гурнин: Неплохо! Пришло время научить вас умению 'Скидка', но мы займемся этим позже.
русская вики по OpenKore, редактор макросов с подсветкой и справкой по Ctrl+F1
openkore.collectskin.com - всегда свежая svn-версия OpenKore!
Видео-гайд по установке и настройке OpenKore
Fearless
Энтузиаст
Сообщения: 76
Зарегистрирован: Вт окт 05, 2010 5:39 pm
Сервер RO:: aRO

Re: Проблема с макросом.

Сообщение Fearless »

Что получится с ререгистром скоро увижу) но что значит ресетить (как это делается и что дает ) все равно не понял ...
P.S. А мне нравится делать автомакросы, разбивая их по принадлежности к локации.
Возможно когда я сделаю 10-15-250ый макросы, то тоже буду так делать, а пока это по сути первый самостоятельный макрос =) (да и то - относительно самостоятельный) кроме него только еще обкасто-варп написан. Весь мой опыт работы с ОК по сути 3 недели.

Добавлено спустя 11 минут 8 секунд:
Черт, а chatLangCode 1 у меня уже прописано (

Добавлено спустя 5 минут 38 секунд:
Понял насчет ресета - не сразу строчку новую увидел.

Добавлено спустя 1 час 15 минут 18 секунд:
К сожалению ни ресет макросов, ни перерегистрация их в конфиге не исправили ситуацию.

Тест проводился следующим образом: из макроса было вырезано все кроме

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

macro kafra {
   do move 165 255 morocc
   do autostorage
#   release sp
   pause 5
   do move 170 172 morocc_in
}
который запускался вручную и далее (так как первая надпись предупреждение появляется как раз через секунд) выполнение макроса прервалось, затем после релогина чар залез в кафру, дополнил что не успел, залогинил склад и застыл.
Есть еще какие-либо хорошие идеи ?

p.s. у меня тут пришла в голову одна, но ,имхо, кривая - добавить автомакрос на появление в логе "Storage logged". Но вроде это как-то дико будет.

Добавлено спустя 43 минуты 42 секунды:
В общем пока (чтобы как-то работало все) убрал к епеням все что касалось возврата на кафру для автосторейджа макросом и поставил только вот такую вот фигню

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

automacro zaderjka  {
   console /Storage logged/
   timeout 120
     call zad
}

macro zad {
   do move 170 172 morocc_in
   release zaderjka
}
Таким образом возврат для пополнения расхода он выполняет естественным путем (через конфиг), а вот на точку варпо-каста приходит таким вот деревянным способом =)
added: но в любом случае хотелось бы понять как это должно на самом деле реализовываться, а не "через нью-йорк в деревню клюевка" ...
EternalHarvest
Разработчик
Сообщения: 819
Зарегистрирован: Пн окт 27, 2008 9:49 pm

Re: Проблема с макросом.

Сообщение EternalHarvest »

Fearless писал(а):если писать в приват боту, то приходят пустые мессаги (никакого текста или цифра)
Значит, для aRO (это же про него?) надо сделать отдельный, и добавить туда структуру 0097 private_message из iRO. Какой serverType используется сейчас?
Fearless писал(а):а если писать с бота в общий, пати , приват , то перед текстом каждого сообщения кора лепит зачем-то |00 (то есть шлет "|00Go" ). С чем это может быть связано ?
Надо убрать chatLangCode.
Fearless
Энтузиаст
Сообщения: 76
Зарегистрирован: Вт окт 05, 2010 5:39 pm
Сервер RO:: aRO

Re: Проблема с макросом.

Сообщение Fearless »

EternalHarvest писал(а): Значит, для aRO (это же про него?) надо сделать отдельный, и добавить туда структуру 0097 private_message из iRO. Какой serverType используется сейчас?
А поподробнее если можно.

Сервертайп 22.
EternalHarvest
Разработчик
Сообщения: 819
Зарегистрирован: Пн окт 27, 2008 9:49 pm

Re: Проблема с макросом.

Сообщение EternalHarvest »

Если 22, то тогда можно просто поставить serverType iRO в настройках.
Надо проверить работоспособность покупки с вендов (либо в 22, либо в iRO она должна работать), и правильность отображения количества убитых мобов в квестах после убийства соответствующего моба.
Ответить