Тупняк после телепорта от авоида.

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

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

Правила форума
Все вопросы по OK не касающиеся плагинов и макросов публикуются в этом разделе.
Перед тем как что то писать, пожалуйста, удостоверьтесь что данная тема не поднималась, вы полностью изучили мануалы по конфигурационным файлам бота и не нашли там решения.
Уэверли
Начинающий
Сообщения: 43
Зарегистрирован: Сб авг 11, 2007 4:14 pm

Тупняк после телепорта от авоида.

Сообщение Уэверли »

Проблема вот какая:
бот сидит, регенит сп, а в это время к нему подкрадывается авоид... Бот не долго думая нажимает на телепорт. А после этого стоит дураком и не желает двигатся. Касты падают, сп 100%, но он не идет и не кастует :(


Пффф.. нет. Макрос срабатывает не всегда... Поищу другой путь...

И вопрос №2.
Как в макросе из переменной $.pos выкрасть свои координаты Х и У и определить оба в переменные?
надо что-то вроде $x1 = @eval ($Х-1), относительно того места, где стоим, чтоб потом открыть варп на 1 клетку левее себя... "sl 27 $x1 $y1"
Мат часть учил, но там этого нету :(
Последний раз редактировалось Уэверли Сб апр 19, 2008 7:35 am, всего редактировалось 2 раза.
l00zEr
Начинающий
Сообщения: 41
Зарегистрирован: Ср апр 02, 2008 12:15 am

Re: Тупняк после телепорта от авоида.

Сообщение l00zEr »

Уэверли писал(а):Как в макросе из переменной $.pos выкрасть свои координаты Х и У и определить оба в переменные?
надо что-то вроде $x1 = @eval ($Х-1), относительно того места, где стоим, чтоб потом открыть варп на 1 клетку левее себя... "sl 27 $x1 $y1"
Мат часть учил, но там этого нету :(
копай в сторону этого:
"@arg ("<argument>", <n>)
returns the <n>th word of <argument> or an empty string if the word index is out of range"
(отсюда: http://www.openkore.com/wiki/index.php/Macro_plugin)
хотя может я и ошибаюсь. проверить нет сейчас возможности

про 1й вопрос, чисто предположение. попробуй макросом команду stand дать боту после телепорта. может он из положения сидя тп делает, а потом встать забывает? что-то похожее было.
Retro
Энтузиаст
Сообщения: 53
Зарегистрирован: Чт янв 31, 2008 1:30 am

Сообщение Retro »

А разве кора делает тп из положения сидя? В клиенте такого точно низя.
Не пинайте нуба ногами
l00zEr
Начинающий
Сообщения: 41
Зарегистрирован: Ср апр 02, 2008 12:15 am

Сообщение l00zEr »

Retro писал(а):А разве кора делает тп из положения сидя? В клиенте такого точно низя.
ну в коре используется какой-то левый метод, если даже SP не расходуются на тп. кто её знает.
в любом случае, надо хотя бы руками ввести команду stand попробовать, да и ai print посмотреть...
Аватара пользователя
piroJOKE
Модератор
Сообщения: 8205
Зарегистрирован: Сб ноя 04, 2006 2:20 am
Сервер RO:: localhost
Откуда: Molvania

Сообщение piroJOKE »

l00zEr
Ничего "левого" там нет. Механизм ТП таков:

Чел, клиент: хочу тп
Серв: разрешаю тебе использовать тп лвл такой-то
Клиент, автоматом: использую скилл тп левел такой-то.

Так вот, "без сп" диалог выглядит так:

ОК: использую скилл тп левел такой-то.

(имхо)
Use brain against brain, ai against ai... · как правильно задавать вопросы · faq · download
Уэверли
Начинающий
Сообщения: 43
Зарегистрирован: Сб авг 11, 2007 4:14 pm

Сообщение Уэверли »

А вот с вытаскивание координат я не могу разобратся :(

Ведь в переменной $.pos может быть как 4, так 5, 6 или даже 7 символов, включая пробел.
и как с помощью @arg правильно вытаскивать слово из наборы слов.
@arg ($.pos n*****) *n**** **n*** весь форум перерыл, не нашел примера :( Может есть более простой способ? )
Изображение
l00zEr
Начинающий
Сообщения: 41
Зарегистрирован: Ср апр 02, 2008 12:15 am

Сообщение l00zEr »

Уэверли писал(а):Ведь в переменной $.pos может быть как 4, так 5, 6 или даже 7 символов, включая пробел.
при чём тут символы? функция работает со словами.
координаты у нас имеют вид: "xxx yyy", всего 2 слова. x получаем через @arg ("$.pos", 1), y - через @arg ("$.pos", 2)

вот пример:

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

macro test {
        # получаем наши координаты
        $tmp = $.pos
        log my coordinates: $tmp

        # помещаем коорд. по x и y в cx & cy, соответственно
        $cx = @arg ("$tmp", 1)
        $cy = @arg ("$tmp", 2)
        log x: $cx; y: $cy

        # меняем координаты, как нам вздумается
        # я, например, прибавил к координатам 
        # случайные числа от 1 до 3 включительно
        $newx = @eval ($cx + @rand (1,3))
        $newy = @eval ($cy + @rand (1,3))
        log new x: $newx; new y: $newy

        # открыли портал и прыгнули в него
        do sl 27 $newx $newy
        move $newx $newy
}
вот что будет в консоли после выполнения:

[macro][log] my coordinates: 282 132
[macro][log] x: 282; y: 132
[macro][log] new x: 283; new y: 133

ps
с открытием портала я, наверное, накосячил ;) не помню уже, как там выбирается место из списка.
Последний раз редактировалось l00zEr Сб апр 19, 2008 8:07 pm, всего редактировалось 1 раз.
Аватара пользователя
piroJOKE
Модератор
Сообщения: 8205
Зарегистрирован: Сб ноя 04, 2006 2:20 am
Сервер RO:: localhost
Откуда: Molvania

Сообщение piroJOKE »

Создал про этот возможный баг тему в разделе "ошибки".
Use brain against brain, ai against ai... · как правильно задавать вопросы · faq · download
Уэверли
Начинающий
Сообщения: 43
Зарегистрирован: Сб авг 11, 2007 4:14 pm

Сообщение Уэверли »

2l00zEr
Спасибо за пример, почти сразу заработал. Лишнее только
# получаем наши координаты
$tmp = $.pos
Почему-то оттуда он не считал Х_х


Варпик открывается командой
warp 0/1/2/3, либо
warp prontera/papuchicha forest

А если кому интересно, то от тупняка после телепорта я избавился макросом на условие monster, действие stand, затем tele.
Главное авоида в mon_control прописать с параметрами -1 0 0, потому что макрос перестает выполнятся (или вообще не включался), если бот будет пытатся ударить моба в ответ на то, что он на него напал =)
Аватара пользователя
piroJOKE
Модератор
Сообщения: 8205
Зарегистрирован: Сб ноя 04, 2006 2:20 am
Сервер RO:: localhost
Откуда: Molvania

Сообщение piroJOKE »

Уэверли
Окей, а по твоей жалобе на странное поведение - я хотел бы кое-что уточнить.
Твой ОК всегда начинает так тупить после авоида, или это случается лишь изредка?
Use brain against brain, ai against ai... · как правильно задавать вопросы · faq · download
Уэверли
Начинающий
Сообщения: 43
Зарегистрирован: Сб авг 11, 2007 4:14 pm

Сообщение Уэверли »

Всегда. Еще один вид тупняка только что обнаружил.
Иногда (может 1 раз из ~40), при телепорте от авоида из сидячего положения (не уверен, что только из сидячего), кора вингается на кафру скиллом телепорта 2-го уровня. и зависает уже там (при том наглухо, приходится релогинится). Последнее я склонен приписать к лагам своего интернета, хотя странно как-то...

При этом помогает команда tele, после телепортации начинает опять нормально бегать и кастовать.
Изображение
Jingaa
Новичок
Сообщения: 5
Зарегистрирован: Вс сен 02, 2007 8:06 pm

Сообщение Jingaa »

У меня тоже такое происходит но я не могу понять причину.
Бот бегает на веритов и все делает как надо, телепортируется при малом хп, при смерти респиться, все время возврящается через варп, все скупает/продает/складирует, но после некоторого количества ходок(примерно с 3 по 5 обычно) он вдруг встает в городе и перестает двигаться, те кто моим ботом пользовался говорят что он иногда после этого начинает рендомно бегать по карте.
Ответить