Страница 1 из 1

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

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


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

И вопрос №2.
Как в макросе из переменной $.pos выкрасть свои координаты Х и У и определить оба в переменные?
надо что-то вроде $x1 = @eval ($Х-1), относительно того места, где стоим, чтоб потом открыть варп на 1 клетку левее себя... "sl 27 $x1 $y1"
Мат часть учил, но там этого нету :(

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

Добавлено: Пт апр 18, 2008 2:08 pm
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 дать боту после телепорта. может он из положения сидя тп делает, а потом встать забывает? что-то похожее было.

Добавлено: Пт апр 18, 2008 4:08 pm
Retro
А разве кора делает тп из положения сидя? В клиенте такого точно низя.

Добавлено: Пт апр 18, 2008 4:26 pm
l00zEr
Retro писал(а):А разве кора делает тп из положения сидя? В клиенте такого точно низя.
ну в коре используется какой-то левый метод, если даже SP не расходуются на тп. кто её знает.
в любом случае, надо хотя бы руками ввести команду stand попробовать, да и ai print посмотреть...

Добавлено: Пт апр 18, 2008 11:47 pm
piroJOKE
l00zEr
Ничего "левого" там нет. Механизм ТП таков:

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

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

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

(имхо)

Добавлено: Сб апр 19, 2008 7:33 am
Уэверли
А вот с вытаскивание координат я не могу разобратся :(

Ведь в переменной $.pos может быть как 4, так 5, 6 или даже 7 символов, включая пробел.
и как с помощью @arg правильно вытаскивать слово из наборы слов.
@arg ($.pos n*****) *n**** **n*** весь форум перерыл, не нашел примера :( Может есть более простой способ? )

Добавлено: Сб апр 19, 2008 4:34 pm
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
с открытием портала я, наверное, накосячил ;) не помню уже, как там выбирается место из списка.

Добавлено: Сб апр 19, 2008 7:49 pm
piroJOKE
Создал про этот возможный баг тему в разделе "ошибки".

Добавлено: Сб апр 19, 2008 10:04 pm
Уэверли
2l00zEr
Спасибо за пример, почти сразу заработал. Лишнее только
# получаем наши координаты
$tmp = $.pos
Почему-то оттуда он не считал Х_х


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

А если кому интересно, то от тупняка после телепорта я избавился макросом на условие monster, действие stand, затем tele.
Главное авоида в mon_control прописать с параметрами -1 0 0, потому что макрос перестает выполнятся (или вообще не включался), если бот будет пытатся ударить моба в ответ на то, что он на него напал =)

Добавлено: Сб апр 19, 2008 10:06 pm
piroJOKE
Уэверли
Окей, а по твоей жалобе на странное поведение - я хотел бы кое-что уточнить.
Твой ОК всегда начинает так тупить после авоида, или это случается лишь изредка?

Добавлено: Сб апр 19, 2008 10:12 pm
Уэверли
Всегда. Еще один вид тупняка только что обнаружил.
Иногда (может 1 раз из ~40), при телепорте от авоида из сидячего положения (не уверен, что только из сидячего), кора вингается на кафру скиллом телепорта 2-го уровня. и зависает уже там (при том наглухо, приходится релогинится). Последнее я склонен приписать к лагам своего интернета, хотя странно как-то...

При этом помогает команда tele, после телепортации начинает опять нормально бегать и кастовать.

Добавлено: Чт авг 14, 2008 5:35 pm
Jingaa
У меня тоже такое происходит но я не могу понять причину.
Бот бегает на веритов и все делает как надо, телепортируется при малом хп, при смерти респиться, все время возврящается через варп, все скупает/продает/складирует, но после некоторого количества ходок(примерно с 3 по 5 обычно) он вдруг встает в городе и перестает двигаться, те кто моим ботом пользовался говорят что он иногда после этого начинает рендомно бегать по карте.