Как формироуется список АМ в macro-плагине?

Дополнения к OpenKore, расширяющиее её функциональность, называются плагинами.

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

DInvalid
Грамотный
Сообщения: 368
Зарегистрирован: Вт ноя 14, 2006 4:54 pm

Сообщение DInvalid »

4epT


Этот код, который ты написал, случайно не из макро.пл?
Так это просто вывод на экран списка ... как от него что то зависеть может?

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

	### parameter: list
	if ($arg eq 'list') {
		message(sprintf("The following macros are available:\n%smacros%s\n","-"x10,"-"x9), "list");
		foreach my $m (keys %macro) {message "$m\n" unless $m =~ /^tempMacro/}
		message(sprintf("%sautomacros%s\n", "-"x8, "-"x7), "list");
		foreach my $a (sort {
			($automacro{$a}->{priority} or 0) <=> ($automacro{$b}->{priority} or 0)
		} keys %automacro) {message "$a\n"}
		message(sprintf("%s\n","-"x25), "list");
И еще... как надо что бы они сортировались?
По порядку написания в файле?
Или по имени?
Или еще как то?

И вообще зачем это надо?
Если надо что бы они выполнялись в определенном порядке значит ставь приоритет.
Все что без приоритета - значит не важно как выполняется, нэ?

Переделать можно, но нужно ли?
Аватара пользователя
Aib0
Бывалый
Сообщения: 961
Зарегистрирован: Чт ноя 16, 2006 12:50 am
Контактная информация:

Сообщение Aib0 »

Т.е. он читает макры, хэширует их и работает со списком хэшей?
Бреднятина, имхо
Wtf is "OpenKore"?

"What we're dealing with here is a total lack of respect for the law"
DInvalid
Грамотный
Сообщения: 368
Зарегистрирован: Вт ноя 14, 2006 4:54 pm

Сообщение DInvalid »

Aib0 писал(а):Т.е. он читает макры, хэширует их и работает со списком хэшей? Бреднятина, имхо
Имхо, бредятина то что тут написано.
В перле хэш - это таблица, к полям которой обращаются по ключам.
И это самый нормальный способо работать с изменяемым списком различных данных. Но при просмотре хэша его ключи возвращаются не в порядке занесения а в его внутреннем порядке...

Предложите свой способ хранения если этот не нравится! :evil:

2 4epT Смотри вложение.

И еще, мне не нравится что:
priority <num>
Choose which automacros should be checked before others. The smaller <num> is is the sooner the automacro gets checked. If priority is not given, the priority is assumed to be 0 (zero: check first).
Я бы поменял порядок приоритетов... т.е. если priority больше то вызывать раньше... и тогда 0 по умолчанию был бы последним...
Вложения
AutoMacroOrderBy.zip
(9.85 КБ) 111 скачиваний
Аватара пользователя
4epT
macro-маньячина
Сообщения: 2792
Зарегистрирован: Чт дек 21, 2006 1:23 pm
Сервер RO:: 4game
Discord: ya4ept#8494
Контактная информация:

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

Не сомневался, что у тебя получится!!
Это именно то, что я хотел

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

PR:[]	N:[0]	 name - a2
PR:[]	N:[1]	 name - a3
PR:[]	N:[2]	 name - a4
PR:[]	N:[3]	 name - a5
PR:[]	N:[4]	 name - a6
PR:[]	N:[5]	 name - a7
PR:[]	N:[6]	 name - a8
PR:[]	N:[7]	 name - a9
PR-приоритет N-номер АМ (в файле macros.txt)

Это логично что сверху мы пишем АМ, которые мы хотим чтобы они запустились первыми. Единственное что следует добавить это отображение PR:[0], вместо PR:[].

А вот если ли какая-то надобность в номере АМ?

Я думаю, что с тиким раскладом условие priority можно вообще удалить с макро-плагина. Ибо оно у нас уже интуитивное (как и в конфиге)

pJ, давай за СВНим?
Быстро и качественно напишу конфиг (макрос)! Стучи!
¤ Свежий бот ¤ Config checker ¤ Manual ¤
Изображение
Изображение
DInvalid
Грамотный
Сообщения: 368
Зарегистрирован: Вт ноя 14, 2006 4:54 pm

Сообщение DInvalid »

4epT писал(а): Это логично что сверху мы пишем АМ, которые мы хотим чтобы они запустились первыми. Единственное что следует добавить это отображение PR:[0], вместо PR:[].
А вот если ли какая-то надобность в номере АМ?
Т.е. смотри - если мы не указываем приорити то оно = 0 и эти автомакросы имеют приоритет над остальными.
Если укажем 1 то они будут выполнятся позже других, 2 - еще позже.
На мой взгляд это не интуитивно (?).

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

Сообщение piroJOKE »

4epT писал(а):pJ, давай за-СВН-им это?
Я не против. Но это требует как минимум переделки документации. Люди УЖЕ используют существующую схему. Пиши автору макро плагино - Анарчо, консультируйся с ним, плз.
Use brain against brain, ai against ai... · как правильно задавать вопросы · faq · download
Аватара пользователя
4epT
macro-маньячина
Сообщения: 2792
Зарегистрирован: Чт дек 21, 2006 1:23 pm
Сервер RO:: 4game
Discord: ya4ept#8494
Контактная информация:

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

эм.. переделки документации в чом?
нигде не указано как сортируются АМ

или ты про удаление priority??

DInvalid, помоему приоритет как раз так и ставится.

1 значит запустится в первую очередь, 2 - во вторую.
Быстро и качественно напишу конфиг (макрос)! Стучи!
¤ Свежий бот ¤ Config checker ¤ Manual ¤
Изображение
Изображение
Аватара пользователя
piroJOKE
Модератор
Сообщения: 8205
Зарегистрирован: Сб ноя 04, 2006 2:20 am
Сервер RO:: localhost
Откуда: Molvania

Сообщение piroJOKE »

Флуд:

4epT, а как ты тогда растолкуешь словосочетание "высокий приоритет"? :twisted:
Use brain against brain, ai against ai... · как правильно задавать вопросы · faq · download
Аватара пользователя
4epT
macro-маньячина
Сообщения: 2792
Зарегистрирован: Чт дек 21, 2006 1:23 pm
Сервер RO:: 4game
Discord: ya4ept#8494
Контактная информация:

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

ФЛУД:

"высокий", значит "наиболее важный", важнее даже чем тот что на первом месте, а что у нас важнее 1? Канешна 0!! Если мы умножим на 0 любое число, то 0 его поглатит!!

:Yahoo!: Да здравствует НУЛЬ!!! :Yahoo!:
Быстро и качественно напишу конфиг (макрос)! Стучи!
¤ Свежий бот ¤ Config checker ¤ Manual ¤
Изображение
Изображение
Аватара пользователя
piroJOKE
Модератор
Сообщения: 8205
Зарегистрирован: Сб ноя 04, 2006 2:20 am
Сервер RO:: localhost
Откуда: Molvania

Сообщение piroJOKE »

Фигня какая-то. Короче, тебя можно понимать так, что ты уже всем доволен, и никаких доработок тебе как-бы нинада?

ЗЫ: А отрицательный приоритет допустим? :twisted:
Последний раз редактировалось piroJOKE Пт янв 18, 2008 11:22 pm, всего редактировалось 1 раз.
Use brain against brain, ai against ai... · как правильно задавать вопросы · faq · download
Аватара пользователя
4epT
macro-маньячина
Сообщения: 2792
Зарегистрирован: Чт дек 21, 2006 1:23 pm
Сервер RO:: 4game
Discord: ya4ept#8494
Контактная информация:

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

4epT писал(а):Единственное что следует добавить это отображение PR:[0], вместо PR:[].
ну и вывод думаю вместо:

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

PR:[]   N:[0]    name - a2 
PR:[]   N:[1]    name - a3 
PR:[]   N:[2]    name - a4 
PR:[]   N:[3]    name - a5 
PR:[]   N:[4]    name - a6 
PR:[]   N:[5]    name - a7 
PR:[]   N:[6]    name - a8 
PR:[]   N:[7]    name - a9
сделать в принципе как было или:

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

PR	name
0	a2 
0	a3 
2	a4 
34	a5 
ну типо того
Быстро и качественно напишу конфиг (макрос)! Стучи!
¤ Свежий бот ¤ Config checker ¤ Manual ¤
Изображение
Изображение
Ответить