id монстра в макросах / недокументированная игра с блоками

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

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

Правила форума
В форуме макросы "Макросы" разрешено только задавать вопросы по уже существующим макросам и просить помощь по недоработанным своим. При этом таким считается тот макрос который готов не менее чем на 2/3.
Если вы хотите попросить участников сообщества написать вам макрос, это можно сделать в разделе "сервис".
netw00rk
Начинающий
Сообщения: 17
Зарегистрирован: Вт ноя 07, 2006 11:17 am

id монстра в макросах / недокументированная игра с блоками

Сообщение netw00rk »

Имеется во такой макрос

automacro callabsorb {
run-once 1
monster <имя монтра>
sp < 15%
call absorb
}

macro absorb {
while ($.sp <= 700) as absorbloop
do sm 262 <id монстра>
end absorbloop
release all
}

Так вот проблоема собственнно в том, как узнать id монстра на котором сработал автомакрос?

---

(piroJOKE: изменил заголовок, т.к. тема плавно съехала с макросов на нестандартное обращение к блочным условиям. ;) )
Аватара пользователя
kLabMouse
Профессионал
Сообщения: 4776
Зарегистрирован: Вс ноя 05, 2006 4:32 pm

Сообщение kLabMouse »

Здесь проблем. Лучге всего вместо <id монстра> ставить что-то другое.
Те имя монстра. Тогда поможет.
netw00rk
Начинающий
Сообщения: 17
Зарегистрирован: Вт ноя 07, 2006 11:17 am

Сообщение netw00rk »

Не то и не другое увы не подходит
Там фишка в том что в <id монстра> нужно подставлять номер который показывается при выводе команды ml.
Аватара пользователя
kLabMouse
Профессионал
Сообщения: 4776
Зарегистрирован: Вс ноя 05, 2006 4:32 pm

Сообщение kLabMouse »

Ну. Там моно доделать немного Макросы, если конечно руки ростут оттудова и есть хорошие знания об Опенкоровских класах.

(Я делать не буду. Я могу указать где ето нуно изменить.)
Аватара пользователя
piroJOKE
Модератор
Сообщения: 8204
Зарегистрирован: Сб ноя 04, 2006 2:20 am
Сервер RO:: localhost
Откуда: Molvania

Сообщение piroJOKE »

netw00rk
Слушай, давай начнем с начала. Что ты вообще хочешь, чтобы произошло? То есть... каков вообще твой сценария боя?
Use brain against brain, ai against ai... · как правильно задавать вопросы · faq · download
netw00rk
Начинающий
Сообщения: 17
Зарегистрирован: Вт ноя 07, 2006 11:17 am

Сообщение netw00rk »

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

Сообщение piroJOKE »

Тю... а просто атакк-скилл-слот использовать - Аллах не велит?
Use brain against brain, ai against ai... · как правильно задавать вопросы · faq · download
Аватара пользователя
kLabMouse
Профессионал
Сообщения: 4776
Зарегистрирован: Вс ноя 05, 2006 4:32 pm

Сообщение kLabMouse »

ЫЫ. Ваще Оч полезная вещь есть. Насколько извесно моно вызывать макрос с параметрами. (Где-то я об етом читал). Теперь используем doCommand чтоб зделать рульные условия. и всё запляшет.
Аватара пользователя
piroJOKE
Модератор
Сообщения: 8204
Зарегистрирован: Сб ноя 04, 2006 2:20 am
Сервер RO:: localhost
Откуда: Molvania

Сообщение piroJOKE »

Нееее, это тоже изврат. Макросы работают медленно. Их стоит использовать (имхо) для серьёзных сценариев, а не для отдельных ударов. Тут или атак-скилл-слот, или этот... хреново документированный как его... мля... монстерСкилл.
Use brain against brain, ai against ai... · как правильно задавать вопросы · faq · download
Аватара пользователя
kLabMouse
Профессионал
Сообщения: 4776
Зарегистрирован: Вс ноя 05, 2006 4:32 pm

Сообщение kLabMouse »

piroJOKE
МонстерСкилл етот тот-же АттакСкилСлот только он не проверяет на то что ты атакуеш противника или нет. Просто юзает на всё что видит и доступно.
netw00rk
Начинающий
Сообщения: 17
Зарегистрирован: Вт ноя 07, 2006 11:17 am

Сообщение netw00rk »

Раньше я использовал АттакСкилСлот, но он был неудобен тем что, допустим при условии sp < 20% он начнет юзать скил при при sp меньше 20%, но и закончит юзать када они будут больше 20%.
Если ставить интервам, скажем 90..20%, то он будет юзать скил каждый раз када sp будут попадать в этот интервал, что тоже давольно неудобно.
Мнеже надо что бы, скажем, при sp ниже 20% он начинал юзать скил и незаканчивал до тех пор пока не будет нужное кол-во сп.
Именно это я и пытался сделать с помощью макроса.
Воть.
Аватара пользователя
piroJOKE
Модератор
Сообщения: 8204
Зарегистрирован: Сб ноя 04, 2006 2:20 am
Сервер RO:: localhost
Откуда: Molvania

Сообщение piroJOKE »

Оффтопик. 2КМ. А вот помнишь я про метки говорил? Это бы выглядело так:
атакСкиллСлот хитрый_скилл {
лейбл дрейн
монстер какой-то там
дизаблед 1
}
doCommand conf дрейн.дизейблед 1 {
sp > 95%
таймаут 10
}
doCommand conf дрейн.дизейблед 0 {
sp < 20%
таймаут 10
}
2Нетворк: это лишь идея, этого еще нет. Зато есть кое-что другое.
Но это изврат правда. Зато может сработать. Посмотри на интересный пост Click'а, он утверждает, что старый синтаксис тоже работает!
forum/viewtopic.php?p=1086
Use brain against brain, ai against ai... · как правильно задавать вопросы · faq · download
netw00rk
Начинающий
Сообщения: 17
Зарегистрирован: Вт ноя 07, 2006 11:17 am

Сообщение netw00rk »

Спасибо, заработало :Yahoo!:

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

attackSkillSlot Vigor Absorption {
lvl 1
dist 10
whenStatusActive Blessing
aggressives < 2
inLockOnly 1
notWhileSitting 1
notInTown 1
monsters
timeout 0
disabled 1
}

doCommand conf attackSkillSlot_0_disabled 1 {
sp > 90%
timeout 10
}
doCommand conf attackSkillSlot_0_disabled 0 {
sp < 20%
timeout 10
}
Аватара пользователя
kLabMouse
Профессионал
Сообщения: 4776
Зарегистрирован: Вс ноя 05, 2006 4:32 pm

Сообщение kLabMouse »

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

Сообщение piroJOKE »

Не-а. Тут типо триггер Шмидта, а не просто условия.
Use brain against brain, ai against ai... · как правильно задавать вопросы · faq · download