Получение координат из пм... / в переменные, как?

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

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

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

Получение координат из пм... / в переменные, как?

Сообщение antigony »

Есть два бота.
1 бот, стоит с открытым магазином.
2 бот постоянно курсирует по пронте. в поиске нужных мне вещей. (все тот же плагин autobuy... с изменениями...)

сканер посылает пм с координатами магазина, количеством и по какой цене продают...
Нужно получить эти координаты вторым ботом.

Пробовал разобраться как сделано следование двух ботов, когда один танк,, но так и не понял что к чему, да куда и почему...
Antarx
Бывалый
Сообщения: 640
Зарегистрирован: Вс янв 07, 2007 5:56 am

Сообщение Antarx »

antigony
пм можно парсить плагином (на мерче), а без него ты это не реализуешь
Превосходство некоторых людей над окружающими одни считают несправедливостью, требующей уравнивания, другие - неполноценностью недовольных.
Выбор взгляда за Вами...
Изображение :)
antigony
Начинающий
Сообщения: 48
Зарегистрирован: Сб дек 09, 2006 11:50 pm

Сообщение antigony »

ну я про плагин и думал... не макро же.
можно пример плагина?
Antarx
Бывалый
Сообщения: 640
Зарегистрирован: Вс янв 07, 2007 5:56 am

Сообщение Antarx »

возьми код какого-нибудь парсера, например, Parser.pm в макро-плагине :wink:
Превосходство некоторых людей над окружающими одни считают несправедливостью, требующей уравнивания, другие - неполноценностью недовольных.
Выбор взгляда за Вами...
Изображение :)
antigony
Начинающий
Сообщения: 48
Зарегистрирован: Сб дек 09, 2006 11:50 pm

Сообщение antigony »

нде, хотел конечно же халяву,,. более менее готовый пример... :oops: :oops: :oops: :D

придется мучиться.. %)
Antarx
Бывалый
Сообщения: 640
Зарегистрирован: Вс янв 07, 2007 5:56 am

Сообщение Antarx »

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

Сообщение piroJOKE »

Теоретически, разгрести полученную строку с помощью "регулярных выражений" - проще паренной репки.
Практически: не умею. :(
Use brain against brain, ai against ai... · как правильно задавать вопросы · faq · download
Antarx
Бывалый
Сообщения: 640
Зарегистрирован: Вс янв 07, 2007 5:56 am

Сообщение Antarx »

piroJOKE
строка всё-таки может быть с любыми удобными разделителями, потому не вижу в этом гигантской проблемы.
В Parser::parseCmd это довольно понятно сделано.
Превосходство некоторых людей над окружающими одни считают несправедливостью, требующей уравнивания, другие - неполноценностью недовольных.
Выбор взгляда за Вами...
Изображение :)
Ditmar
Энтузиаст
Сообщения: 93
Зарегистрирован: Вс дек 24, 2006 1:07 pm

Как перехватит переменные из личного сообщения?

Сообщение Ditmar »

Как перехватит переменные из личного сообщения?
И реально ли это вообще?
Например получаем сообщение в пм:
"Приди плиз на 200 150"

Бот перхватывает x$ и y$ и топает do move x$ y$

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

Сообщение piroJOKE »

Ну вот например примерчик, спёртый у 4орта
(который очень любит всякие макросы писать).
Просто хочу показать, как это обычно выглядит.
4epT:
Для тех у кого работают команды (они работают не на всех серваках)
@mobsearch <имя моба> - поиск <моба> на той локации где ты находишься. Если моб есть на этой локоции, то появится строчка, типо:

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

1[152:163] Golden Thief Bug
@view <x> <y> - отмечает крестиком на карте координаты <x> <y>
посвящвется: 100% нахождение мвп с точностью до пикселя + отметка на карте:

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

automacro mob { 
 console /1\[\s?(\d+):\s?(\d+)]/ 
 call { 
   do c @view $.lastMatch1 $.lastMatch2 
} 
}
Я играю в режиме X-Kore иду на локу и ввожу, например, @mobsearch Golden Thief Bug, далее вингуюсь к мобу и говорю: "ПревеД! ^___^"
Use brain against brain, ai against ai... · как правильно задавать вопросы · faq · download
Ditmar
Энтузиаст
Сообщения: 93
Зарегистрирован: Вс дек 24, 2006 1:07 pm

Сообщение Ditmar »

А другим способо кстати реально исправить тот баг что я описал выше? Спасибо за пример.

Добавлено спустя 26 минут 16 секунд:

Спасибо, проблему удалось решить с помошью приведённого примера. Один только вопросик. Не нашёл в мануале по макроплагину или просто не заметил... Как определить в макро плагине сидит чар или нет?

Добавлено спустя 14 минут 28 секунд:

И последний вопрос:

В мануале сказано так:
player ("<имя_игрока>"|/<regexp>/) [<число клеток>]
АМ запустится, если игрок <имя_игрока> находится в пределах видимости или не дальше чем <число клеток>.
Несколько строк (от двух и более) определяются как условие AND (и).


Так вот интересует как получить обратное? Если игрока Такого-то нет в пределах видимости, то выполняем следующие условия.

Добавлено спустя 1 минуту 40 секунд:

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

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

Не нашёл в мануале по макроплагину или просто не заметил... Как определить в макро плагине сидит чар или нет?
Вот как:

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

...
if (@eval($::char->{sitting}) = 1) goto stand
do stand
:stand
...
я ступил, есть же команда @player
ну не везде же она есть..
Быстро и качественно напишу конфиг (макрос)! Стучи!
¤ Свежий бот ¤ Config checker ¤ Manual ¤
Изображение
Изображение
Аватара пользователя
piroJOKE
Модератор
Сообщения: 8205
Зарегистрирован: Сб ноя 04, 2006 2:20 am
Сервер RO:: localhost
Откуда: Molvania

Сообщение piroJOKE »

Эм... А если чар сидя стохнет, с него спадает атрибут "sitting", или всё-таки нет? Ну и второй вопрос - после того, как листочком оживить чара, он же явно не будет сидеть... так к чему эта кутерьма вообще?
Use brain against brain, ai against ai... · как правильно задавать вопросы · faq · download
Гость

Сообщение Гость »

что то я не совсем понял вот этот текст
automacro mob {
console /1\[\s?(\d+):\s?(\d+)]/
call {
do c @view $.lastMatch1 $.lastMatch2
}
}

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

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

это regexp

1\[\s?(\d+):\s?(\d+)] - это типо шаблон строчки, под него попадают строчки, ну папример:
1[123:456]
1[ 12:345]
1[ 12: 34]
суть такая вводишь "@mobsearch Golden Thief Bug"
а в консоле появляется:
1[152:163] Golden Thief Bug

ну так вот мы координаты мы и перехватываем ;)
Быстро и качественно напишу конфиг (макрос)! Стучи!
¤ Свежий бот ¤ Config checker ¤ Manual ¤
Изображение
Изображение
Ответить