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

условия в автомакросе: как учитывать % от лвл?

Добавлено: Чт фев 28, 2008 10:23 pm
ЯМобУр-99
есть такие условия
base <условие> <уровень>
job <условие> <уровень>
но они вроде работают с целыми значениями, а мне надо чтоб автомакрос срабатывал при достижении указанного % от лвл.
Возможно ли такое сделать?

Добавлено: Пт фев 29, 2008 7:20 pm
ЯМобУр-99
я дурак :o

Добавлено: Пт фев 29, 2008 7:25 pm
piroJOKE
Тот же совет, что и в соседнем потсе - используем eval в условиях автомакроса. Но, надо лезть внутрь ОпенКоры, чтобы узнать, как взять эти цифры.

Добавлено: Пт фев 29, 2008 8:02 pm
ЯМобУр-99
а все, разобрался :)

немного доработал Automacro.pm

sub checkExp {
my ($cond, $exp) = $_[0] =~ /([<>=!]+)\s*(\d+)/;
return cmpr($char->{exp}, $cond, $exp)
}

...

foreach my $i (@{$automacro{$am}->{BaseExp}}) {next CHKAM unless checkExp($i, "exp")}

Правда я не совсем понял что делает первая строчка в процедуре, но все заработало и в автомакросе можно писать типа

...
BaseExp >= 1000000
...



Про eval я как-то пропустил тему, значит можно было проще сделать. :( Спасибо за совет.