Задачка №11? Метки в блоках условий / label [решено]

Разработка новых функций.

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

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

Сообщение piroJOKE »

Ну не пишут другие, так ты напиши; уверен, тебе за это ничего не будет.

PS: Если тебе кажется не целесообразным добавлять пример, опиши плз подробно, как этим пользоваться. Представь себя на месте пользователя, который не учавствовал в этой нашей дискуссии. Откуда он узнает, КАК этим пользоваться?
Последний раз редактировалось piroJOKE Чт дек 21, 2006 2:11 pm, всего редактировалось 1 раз.
Use brain against brain, ai against ai... · как правильно задавать вопросы · faq · download
Аватара пользователя
kLabMouse
Профессионал
Сообщения: 4776
Зарегистрирован: Вс ноя 05, 2006 4:32 pm

Сообщение kLabMouse »

piroJOKE
нет. Не напутал. всё норм.
Аватара пользователя
piroJOKE
Модератор
Сообщения: 8207
Зарегистрирован: Сб ноя 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
Короче. Щас переписываем Весь ОпенКор под новую структуру класов и АИ. К ниму будут идти новые Мануалы, новые плаги и т д. :)

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

Сообщение piroJOKE »

И не надо. Просто добавь пример к ридми. )
Use brain against brain, ai against ai... · как правильно задавать вопросы · faq · download
Аватара пользователя
piroJOKE
Модератор
Сообщения: 8207
Зарегистрирован: Сб ноя 04, 2006 2:20 am
Сервер RO:: localhost
Откуда: Molvania

Сообщение piroJOKE »

Click писал(а):в общем изменилось только написание в файле конфига
а суть осталась старая, тоесть есть у тебя этот useSelf стоит выше остальных useSelf'ов то он является нулевым, следующий useSelf первый и тд.
Кстаааааати, чисто случайно сегодня увидал визуализацию сего факта! Вот посмотрите-ка на картинку. Это закладка "конфигурация" в wx-интерфейсе:
Вложения
старый стиль блоков "внутри" openkore
старый стиль блоков "внутри" openkore
skills-from-config.png (4.5 КБ) 1881 просмотр
Use brain against brain, ai against ai... · как правильно задавать вопросы · faq · download
Аватара пользователя
kLabMouse
Профессионал
Сообщения: 4776
Зарегистрирован: Вс ноя 05, 2006 4:32 pm

Сообщение kLabMouse »

piroJOKE
Ента дурацкая фигня с номерами осталась ещё от старой коры. К сожелению оно до сиих пор так и осталось.
vit
Бывалый
Сообщения: 624
Зарегистрирован: Вс мар 25, 2007 9:18 pm
Сервер RO:: localhost
Откуда: Санкт-Петербург

Сообщение vit »

Есть идея сделать метки полноценной заменой - сейчас мы можем изменить параметры в блоке, но не можем изменить сам блок, т. е. если у нас есть блок:

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

useSelf_item Apple, Carrot {
   label applesEtc 
   hp <= 50%
   disabled 0
   inLockOnly 1
}
то командой
conf useSelf_item_0 Meat
мы можем изменить блок на такой:

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

useSelf_item Meat {
   label applesEtc 
   hp <= 50%
   disabled 0
   inLockOnly 1
}
Метками это реализовать никак нельзя :(.

-------------------------------------------

Решение такое:
Меняем:
Commands.pm:

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

my ($real_key, undef) = split /_label/, $_, 2;
$real_key .= "_";
$real_key .= $param;
$arg1 = $real_key;
last;
на:

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

my ($real_key, undef) = split /_label/, $_, 2;
if ($param ne "block") {
    $real_key .= "_";
    $real_key .= $param;
}
$arg1 = $real_key;
last;
Теперь синтаксис выглядит так:
conf название_указателя.(параметер_блока | block) [новое_значение_параметра]


Для примера выше команда будет выглядеть так:
conf label applesEtc.block Meat
Аватара пользователя
kLabMouse
Профессионал
Сообщения: 4776
Зарегистрирован: Вс ноя 05, 2006 4:32 pm

Сообщение kLabMouse »

vit
Суть такого Упдейта в чём???
vit
Бывалый
Сообщения: 624
Зарегистрирован: Вс мар 25, 2007 9:18 pm
Сервер RO:: localhost
Откуда: Санкт-Петербург

Сообщение vit »

Менять в одном и том же блоке
useSelf_item Apple, Carrot {
на
useSelf_item Meat {
с помощью меток

P.S: Идея сделать это появилась после рассмотрения макроса Мантикоры.
Допустим сначала мы покупаем концентраты, потом(по мере прокачки) аваки, а потом берсы. Если использовать блок для каждого предмета, то в конфиге будет много неиспользуемых блоков.
А так можно обойтись одним блоком:
do conf buyAuto_0 Concentration Potion
do conf buyAuto_0 Awakening Potion
do conf buyAuto_0 Berserk Potion
Аватара пользователя
kLabMouse
Профессионал
Сообщения: 4776
Зарегистрирован: Вс ноя 05, 2006 4:32 pm

Сообщение kLabMouse »

vit
Закоммитил.

Правда, щитаю что менять хедер блока опасно.
vit
Бывалый
Сообщения: 624
Зарегистрирован: Вс мар 25, 2007 9:18 pm
Сервер RO:: localhost
Откуда: Санкт-Петербург

Сообщение vit »

Почему?
Если неправильно изменить, то может что-то упасть?
Аватара пользователя
kLabMouse
Профессионал
Сообщения: 4776
Зарегистрирован: Вс ноя 05, 2006 4:32 pm

Сообщение kLabMouse »

vit
нет, просто чтение блока очень жёстко привязано к нему.
Ответить