Модуль "повар" для mmc
Вложений: 1
Я тут написал модуль для варки зелий.
Что он делает: - собирает ингридиенты (триггеры спёрты) - показывает, каких ингридиентов не хватает для какого рецепта - считает, сколько чего можно сварить - варит Что он НЕ делает: - не следит за качеством ингридиентов Что требуется: - регулярно дописывать ингридиенты, неизвестные модулю Эта фигня (ИМХО) вполне подходит для, к примеру, раскачки рецептов (хотя просветов у мну пока ни одного не было). Так же она подходит для того, чтобы если кому надо, он взял и навтыкал туда проверок на качество ингридиентов. Возможно, позже я это сделаю сам. Как оно работает? Загрузка ингридиентов и рецептов: Код:
Вых:СВ> _загрузить_ингридиенты Код:
Вых:СВ> рец _сбор_ингридиентов - включение/выключение триггеров на сбор ингров _ингридиенты_сумка - сумка, в которой хранятся ингры _загрузить_ингридиенты - посчитать, сколько чего в этой сумке есть _загрузить_рецепты - посмотреть, что умеем готовить, и что для этого надо _состав - посмотреть состав конкретного рецепта _варить - собсно, варить чай рецепт - гм... команда делает то же, что и в маде, вывод мада слегка модифицирован на предмет показать, сколько чего можем сварить. Предложения приветствуются, реакция не обещается, лицензия как у mmc (у которого как у Perla, у которого на выбор - Artistic License или GPL) В архиве - два файла Cook.pm - в кодировке koi8-r Cook.win.pm - в windows-кодировке (переименуйте его в Cook.pm перед использованием) Подключение: кладем туда, где лежит основной конфиг, и в конфиг пишем Код:
use Cook; |
Ну как модуль народ? отпишитесь кто пользуется, стоит ли его на жабу портировать?
|
Я там чё-то ошибок нашёл :) Поисправляю сперва, не надо пока его смотреть.
|
попытался заюзать
при варке ругается #perl: Undefined subroutine &QBaze::alias called at ./Cook.pm line 252. 252 my $i = QBaze::alias(pop @{$have_ingr{$_}}); |
щас будет новый version
|
новая версия
Вложений: 1
Большие изменения в модуле.
1.Информация по конкретным ингридиентам вынесена в отдельный файл (cook.rc) 2. Соответственно, добавлена возможность перезагружать базу ингров на лету, не вырубая клиент 3. Добавлена возможность оперативно избавляться от ватных ингридиентов 4. Исправлены ошибки УСТАНОВКА В архиве - две папки, cook.koi8-r и cook.win. 1. Два файла (Cook.pm и cook.rc) из папки, соответствующей Вашей кодировке, копируете в папку, где находица Ваш конфиг. 2. В конфиге где-нить в начале пишем Код:
use Cook; Код:
Cook::promptHook() КОМАНДЫ _обновить_базу_ингридиентов пригодица, если Вы изменили файл cook.rc и желаете немедленно увидеть изменения _ингридиенты_сумка пригодица для установки названия контейнера с ингридиентами. Ингридиенты вне этого контейнера модуль не увидит. _загрузить_ингридиенты пригодица, чтобы модуль знал, что в этой сумке есть, и подсчитал, сколько чего из этого можно сварить _доложить_ингридиенты пригодица, чтобы Вы знали, что модуль знает о Ваших ингридиентах _загрузить_рецепты пригодица, чтобы модуль знал рецепты, которыми Вы владеете _вата пригодица, чтобы избавиться от ватных ингридиентов. Если заюзать команду без аргументов, модуль расскажет, что там к чему. _убрать_ингридиенты пригодица, чтобы сложить ингридиенты, которые у Вас в инвентаре, в сумку для ингридиентов _состав N пригодица, чтобы узнать состав рецепта под номером N _варить N пригодица, чтобы сварить рецепт под номером N _сбор_ингридиентов пригодица, чтобы собирать ингридиенты по пути следования рецепт - в выводе команды мада "рецепт" добавлено чуток информации. |
даеш в жабу такой) антипрограммерам)
|
можно позанудничать?
они "ингредиенты" вообще-то :). сменил бы ты команды, пока не поздно :). или можно вообще сократить до "ингров", для команды вполне сойдет. |
*в шоке*
у меня врождённая грамотность! завтра будет исправленная версия:) |
как вариант: вместо хука использовать альясы.
|
Вложений: 1
Исправлены команды, добавлен Readme.txt файлик.
Две папки: cook.win и cook.koi8-r. Читаем ридми из соотв. папки, делаем по инструкции. |
Цитата:
Как мы грузим ингредиенты? Мы "осматриваем" контейнер с инграми, и на каждый известный ингр срабатывает триггер. Как только ингры кончается, нам надо это отметить. Для этого и служит хук на промпт. Алиасами как сделать? |
вместо хука на инпут, на отлов команд. можно альясы. тогда модуль будет автономным.
|
там нет хука на инпут. там есть хук на промпт. и алиасы.
|
можно поставить таймаут в триге и через 3 секунды отключать отлов ингров.
|
Часовой пояс GMT +4, время: 03:34. |
Powered by vBulletin® Version 3.8.1
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot