обсуждение гайда по настройке монков, дополнения

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

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

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

Сообщение Marker »

Мне надо начинать обсорбить когда СП<10% и обсорбить допустим пока не будет 95% или 90% сп... т.е. чтоб бот тупо стоял и обсорбил моба пока тот его бьёт... Обсорб с Seal получаеться на 120 сп, можно конечно макс юзез поставить,но хочеться как-то это автоматизировать...

+ ещё шанс обсорба 20%... макс юзез не прокатит=\
Sauron
Грамотный
Сообщения: 435
Зарегистрирован: Ср ноя 29, 2006 3:24 pm

Сообщение Sauron »

катит.. maxUses - это подсчет "истины", без учета количества попыток maxAttempts 10 - количество попыток.. я не понимаю, зачем ждать чтобы сп упало до меньше 10%? в чем кайф?
sp <80%>= 10%
от РО до шестой палаты - один шаг...
Marker
Начинающий
Сообщения: 47
Зарегистрирован: Пн дек 11, 2006 11:10 pm

Сообщение Marker »

Нашол это, но это не работает... Кто разбираеться в макросах доведите его до рабочего состояния...
automacro refillsp {
sp < 85%
agressives < 2
monster Seal
call refilluseskill
}


macro refilluseskill {
$sp = @eval($::char->{sp})
$msp = @eval($::char->{sp_max})
$perc = @eval(@eval ($msp / 100) * 85)
while ($sp < $perc) 'as sploop
do sm 262 1
$sp = @eval($::char->{sp})
end sploop
macro reset
}

Выдаёт : automacro refillsp triggered много много раз...
Sauron
Грамотный
Сообщения: 435
Зарегистрирован: Ср ноя 29, 2006 3:24 pm

Сообщение Sauron »

monster Seal - здесь условие для конкретного моба (Seal) .. далее в макросе.. присвоить переменным % текущее сп и % значение для 85% сп ну и потор скилла в цикле с проверкой условия.. я плохо разбираюсь, но с первого взгляда, вроде должно работать.. Попробуй так..

automacro refillsp {
sp < 85%
agressives < 2
monster - укажи монстров..
run-once 1
call refilluseskill
}


macro refilluseskill {
$sp = @eval($::char->{sp})
$msp = @eval($::char->{sp_max})
$perc = @eval(@eval ($msp / 100) * 85)
while ($sp < $perc) 'as sploop
do sm 262 1
$sp = @eval($::char->{sp})
end sploop
release refillsp
}
от РО до шестой палаты - один шаг...
Marker
Начинающий
Сообщения: 47
Зарегистрирован: Пн дек 11, 2006 11:10 pm

Сообщение Marker »

[macro] automacro refillsp triggered.
[macro] refilluseskill error: error in 3: syntax error in while statement
Sauron
Грамотный
Сообщения: 435
Зарегистрирован: Ср ноя 29, 2006 3:24 pm

Сообщение Sauron »

$perc = @eval(@eval ($msp / 100) * 85) - тут? может
$perc = @eval(($msp / 100) * 85)
а так будет работать?

# $sp = @eval($::char->{sp})
# $msp = @eval($::char->{sp_max})
# $perc = @eval(@eval ($msp / 100) * 85)
while (sp < 85) 'as sploop

мне ещё не совсем понятно.. где в твоем макросе проверка наличия сферок? или они не расходуются?
от РО до шестой палаты - один шаг...
Marker
Начинающий
Сообщения: 47
Зарегистрирован: Пн дек 11, 2006 11:10 pm

Сообщение Marker »

Не расходуются

Выдаёт ето:

[macro] refilluseskill error: error in 2: @eval(($msp / 100) * 90) failed

Если писать $perc = @eval(@eval ($msp / 100) * 85) то :

[macro] refilluseskill error: error in 3: syntax error in while statement

Надо почитать мануал по маркосам ещё разок =\
Marker
Начинающий
Сообщения: 47
Зарегистрирован: Пн дек 11, 2006 11:10 pm

Сообщение Marker »

Тьфу ёпта... нашол =)
while ($sp < $perc) 'as sploop
апостраф лишний =)

Теперь другая проблема, sm 262 1 - пишет что Monster 1 does not exist.
Как приствоить атакуемому мобу номер, или как отловить этот номер?
Sauron
Грамотный
Сообщения: 435
Зарегистрирован: Ср ноя 29, 2006 3:24 pm

Сообщение Sauron »

while (sp < 85) as sploop - так не работает?
от РО до шестой палаты - один шаг...
Marker
Начинающий
Сообщения: 47
Зарегистрирован: Пн дек 11, 2006 11:10 pm

Сообщение Marker »

Нет
automacro refillsp {
sp < 85%
agressives < 2
monster - укажи монстров..
run-once 1
call refilluseskill
}


macro refilluseskill {
$sp = @eval($::char->{sp})
$msp = @eval($::char->{sp_max})
$perc = @eval(@eval ($msp / 100) * 85)
while ($sp < $perc) as sploop
do sm 262 1
$sp = @eval($::char->{sp})
end sploop
release refillsp
}

Так всё работет, осталось тока выследить номер моба на которого надо использовать обсорб...do sm 262 1 не работает. Есть команда типа $.lastMonster тока чтоб передавалось не название моба а его порядковый номер...$.lastMonsterN или что-то в таком духе...
Sauron
Грамотный
Сообщения: 435
Зарегистрирован: Ср ноя 29, 2006 3:24 pm

Сообщение Sauron »

я про другое.. я просто не понимаю вот чего.. для чего все эти лишние вычисления (я про переменные)? если sp и так возвращяет процентное значение.. я почему и спросил про while (sp < 85) as sploop
от РО до шестой палаты - один шаг...
Marker
Начинающий
Сообщения: 47
Зарегистрирован: Пн дек 11, 2006 11:10 pm

Сообщение Marker »

http://forums.openkore.com/viewtopic.ph ... absorption

Тут этот вопрос разбирали...
Sauron
Грамотный
Сообщения: 435
Зарегистрирован: Ср ноя 29, 2006 3:24 pm

Сообщение Sauron »

всё ясно как день.. :)
от РО до шестой палаты - один шаг...
Marker
Начинающий
Сообщения: 47
Зарегистрирован: Пн дек 11, 2006 11:10 pm

Сообщение Marker »

Блин неувязочка получаеться, команда SM использует тока номер моба, а макрос позволяет передавать тока имя и позицию=\
Sauron
Грамотный
Сообщения: 435
Зарегистрирован: Ср ноя 29, 2006 3:24 pm

Сообщение Sauron »

там в той ссылке написано - ss
от РО до шестой палаты - один шаг...
Ответить