Проверка наличия объекта в координатах (х, у)

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

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

Правила форума
Все вопросы по OK не касающиеся плагинов и макросов публикуются в этом разделе.
Перед тем как что то писать, пожалуйста, удостоверьтесь что данная тема не поднималась, вы полностью изучили мануалы по конфигурационным файлам бота и не нашли там решения.
}{o4u each!
Начинающий
Сообщения: 31
Зарегистрирован: Чт дек 14, 2006 7:57 am

Проверка наличия объекта в координатах (х, у)

Сообщение }{o4u each! »

Есть макрос, позволяющий высаживать грибы на местности, но единственная проблема в том, что они высаживаются с шансом 50%, из за этого не получается ровного 5х5 поля, так вот. нужно проверить наличие объекта в заданных координатах, после использования скилла.
Посоветуйте пожалуйста каким методом проверить сию вещь.
Полазил в папке crc, англоязычном форуме, не нашел.

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

Если есть метод(функция), которая определяет в булиновом формате наличие или отстуствия объекта в заданных координатах - было бы чудесно.
Подскажите пожалуйста, кто знает.
Аватара пользователя
Click
Разработчик
Сообщения: 1564
Зарегистрирован: Сб ноя 04, 2006 11:30 pm
Сервер RO:: clickro.sytes.net
Откуда: Великий Новгород
Контактная информация:

Сообщение Click »

на счёт такой функции не знаю, может кто другой ответит, но вопрос хороший

мона пойти длинным путём:
ну чего нить в консоле пишется когда гриб не посадился?
если попытаться посадить туда где он уже есть, что нить напишется?
}{o4u each!
Начинающий
Сообщения: 31
Зарегистрирован: Чт дек 14, 2006 7:57 am

Сообщение }{o4u each! »

Напишется также, что скилл фейлд, однако при просто неудачной выскадке гриба напишется тоже самое.
В принципе это выход из ситуации конечно но как заставить работаь макро с той точки, на которой он остановился?
Аватара пользователя
Click
Разработчик
Сообщения: 1564
Зарегистрирован: Сб ноя 04, 2006 11:30 pm
Сервер RO:: clickro.sytes.net
Откуда: Великий Новгород
Контактная информация:

Сообщение Click »

ну если скилл фейлд, то ещё раз туда же
}{o4u each!
Начинающий
Сообщения: 31
Зарегистрирован: Чт дек 14, 2006 7:57 am

Сообщение }{o4u each! »

Click, Есть проверка одна в клиенте, назваецо isWalkable , её тоже можно прикрутить наверное. Но опять же как будет выглядеть:
x$=@eval( *******)
вот это **** и нужно, макрос повысит производительность в разы)


Ну к примеру я пишу
automacro SkillFail{
console /Skill Cultivation failed (Requirement)/
call qwe
run-once 1
}

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

Сообщение piroJOKE »

}{o4u each!, напомню, что с недавних пор eval можно вызвать прямо из условий автомакроса!

PS: За полезный потс тебе снято предупреждение.

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

PPS: isWalkable насколько я помню проверяет только "проходимость" клеточки, но не проверяет, стоит уже на ней кто-то, или нет.
Use brain against brain, ai against ai... · как правильно задавать вопросы · faq · download
}{o4u each!
Начинающий
Сообщения: 31
Зарегистрирован: Чт дек 14, 2006 7:57 am

Сообщение }{o4u each! »

не прокатит тот вариант.
Можно ещё правда вызвать два метода в одну точку и при соблюдении обоих сделать вывода, что в точке никого нет или есть грЫб
методы:

1) isWalkable (малоли, может это тупо стенка или непроходимая часть ландшафта)

2) если выполняется первое условие и точка "walkable", то проверить ID моба в этой клетке, если метод покажет,что невозможно вычислить ID в этой точке (скорее всего так и будет) или наоборот, покажет, что в этой точке есть Actor, класса monster
Аватара пользователя
piroJOKE
Модератор
Сообщения: 8205
Зарегистрирован: Сб ноя 04, 2006 2:20 am
Сервер RO:: localhost
Откуда: Molvania

Сообщение piroJOKE »

(2) фенька в том, что имхо нет такой функции "есть что-то в такой клетке"; чтобы проверить, есть ли там actor, надо циклом пробежаться по всему списку акторов.

Кстати, а это эта канитель точно нужна? Я сам-то грибы не выращивал, но народ говорит, что если кастить в одну точку, то они растут рядом (ы?). Если это так, то достаточно проверить общее к-во мобов рядом с игроком.
Use brain against brain, ai against ai... · как правильно задавать вопросы · faq · download
}{o4u each!
Начинающий
Сообщения: 31
Зарегистрирован: Чт дек 14, 2006 7:57 am

Сообщение }{o4u each! »

Баг с высадкой, в одну точку пофикшен хрен знает как давно. Производительность ОК в сравнении с функцями, встроенными в клиент несравнимо выше.
Ответить