|
Клиенты для игры Все что связано с клиентами для игры. Jmc, MMC, ZMud etc... |
|
Опции темы | Опции просмотра |
31.03.2008, 22:20 | #1 |
Знакомый Мадера
Регистрация: 09.11.2006
Сообщений: 54
|
Модуль "повар" для mmc
Я тут написал модуль для варки зелий.
Что он делает: - собирает ингридиенты (триггеры спёрты) - показывает, каких ингридиентов не хватает для какого рецепта - считает, сколько чего можно сварить - варит Что он НЕ делает: - не следит за качеством ингридиентов Что требуется: - регулярно дописывать ингридиенты, неизвестные модулю Эта фигня (ИМХО) вполне подходит для, к примеру, раскачки рецептов (хотя просветов у мну пока ни одного не было). Так же она подходит для того, чтобы если кому надо, он взял и навтыкал туда проверок на качество ингридиентов. Возможно, позже я это сделаю сам. Как оно работает? Загрузка ингридиентов и рецептов: Код:
Вых:СВ> _загрузить_ингридиенты Вы не видите ничего необычного. Походная сума в хорошем состоянии. Можно одеть на шею. Можно одеть на плечи. Можно одеть на пояс. Можно взять в левую руку. Состояние: средне. походная сума(в амуниции) железная ступка [4] посуда простокваша <великолепно> жидкости ячмень [32] крупа паслен <великолепно> ядовитые ягоды гороховая крупа [18] крупа кислое молоко <великолепно> жидкости укроп <великолепно> овощи медовуха [22] жидкости светлячок [35] мелкие твари бересклет [6] ядовитые ягоды большой горшок [10] посуда клюквенный кисель [6] сладкий перец [3] оловянный котел [2] посуда ручейник [2] мелкие твари клоп-вонючка [2] мелкие твари красная жимолость [10] ядовитые ягоды крыло златоклювого дятла <великолепно> крылья яблоня [6] дерево желтый жучок [4] мелкие твари белладонна <великолепно> ядовитые ягоды железный котел [6] посуда барвинок <великолепно> фасоль <великолепно> пихта [19] дерево муравьишка [2] мелкие твари гречневая ядрица <великолепно> крупа черемуха <великолепно> дерево толокно <великолепно> крупа Вых:СВ> _загрузить_рецепты Вы владеете следующими рецептами : 1. настой вороньего глаза (ужасно) 5% : нет рецепта 2. отвар девясила (ужасно) 5% : нет рецепта 3. мутная брага (ужасно) 5% : нет рецепта 4. настой на мелких букашках (ужасно) 5% : нет рецепта 5. мышиный настой (ужасно) 5% : нет рецепта 6. воспаряющий отвар (ужасно) 5% : нет рецепта 7. отвар подорожника (ужасно) 5% : нет рецепта Вых:СВ> Вам потребуется : 1) посуда 22 2) жидкости 24 3) ядовитые травы нет для приготовления отвара 'настой вороньего глаза' Вам потребуется : 1) посуда 22 2) жидкости 24 3) овощи 1 4) целебные травы нет для приготовления отвара 'отвар девясила' Вам потребуется : 1) посуда 22 2) жидкости 24 3) съедобные ягоды нет 4) ядовитые ягоды 18 для приготовления отвара 'мутная брага' Вам потребуется : 1) посуда 22 2) жидкости 24 3) мелкие твари 45 4) ядовитые травы нет для приготовления отвара 'настой на мелких букашках' Вам потребуется : 1) посуда 22 2) жидкости 24 3) съедобные ягоды нет 4) съедобные грибы нет для приготовления отвара 'мышиный настой' Вам потребуется : 1) посуда 22 2) жидкости 24 3) дерево 26 4) крылья 1 для приготовления отвара 'воспаряющий отвар' Вам потребуется : 1) посуда 22 2) жидкости 24 3) целебные травы нет для приготовления отвара 'отвар подорожника' Код:
Вых:СВ> рец Вы владеете следующими рецептами : 1. настой вороньего глаза (ужасно) 5% : 0 2. отвар девясила (ужасно) 5% : 0 3. мутная брага (ужасно) 5% : 0 4. настой на мелких букашках (ужасно) 5% : 0 5. мышиный настой (ужасно) 5% : 0 6. воспаряющий отвар (ужасно) 5% : 1 7. отвар подорожника (ужасно) 5% : 0 Вых:СВ> _варить 2 Варим 'отвар девясила' Не хватает ингридиентов: целебные травы Вых:ВЮЗ> _варить 6 Варим 'воспаряющий отвар' Вы взяли железный котел из походной сумы. Вых:СВ> Вы взяли медовуху из походной сумы. Вы взяли черемуху из походной сумы. Вы взяли крыло златоклювого дятла из походной сумы. Камень взлетел со дна котла и больно ударил Вам в лоб!!! _сбор_ингридиентов - включение/выключение триггеров на сбор ингров _ингридиенты_сумка - сумка, в которой хранятся ингры _загрузить_ингридиенты - посчитать, сколько чего в этой сумке есть _загрузить_рецепты - посмотреть, что умеем готовить, и что для этого надо _состав - посмотреть состав конкретного рецепта _варить - собсно, варить чай рецепт - гм... команда делает то же, что и в маде, вывод мада слегка модифицирован на предмет показать, сколько чего можем сварить. Предложения приветствуются, реакция не обещается, лицензия как у mmc (у которого как у Perla, у которого на выбор - Artistic License или GPL) В архиве - два файла Cook.pm - в кодировке koi8-r Cook.win.pm - в windows-кодировке (переименуйте его в Cook.pm перед использованием) Подключение: кладем туда, где лежит основной конфиг, и в конфиг пишем Код:
use Cook; |
05.04.2008, 10:46 | #2 |
Отличник форума
Регистрация: 18.10.2005
Адрес: Пермь
Сообщений: 273
|
Ну как модуль народ? отпишитесь кто пользуется, стоит ли его на жабу портировать?
__________________
Владение орфографией русского языка - это как кунг-фу, истинные мастера которого не применяют его без надобности. |
05.04.2008, 16:34 | #3 |
Знакомый Мадера
Регистрация: 09.11.2006
Сообщений: 54
|
Я там чё-то ошибок нашёл Поисправляю сперва, не надо пока его смотреть.
|
04.06.2008, 15:41 | #4 |
Отличник форума
Регистрация: 06.03.2004
Сообщений: 505
|
попытался заюзать
при варке ругается #perl: Undefined subroutine &QBaze::alias called at ./Cook.pm line 252. 252 my $i = QBaze::alias(pop @{$have_ingr{$_}}); |
04.06.2008, 17:01 | #5 |
Знакомый Мадера
Регистрация: 09.11.2006
Сообщений: 54
|
щас будет новый version
|
04.06.2008, 18:05 | #6 |
Знакомый Мадера
Регистрация: 09.11.2006
Сообщений: 54
|
новая версия
Большие изменения в модуле.
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 _сбор_ингридиентов пригодица, чтобы собирать ингридиенты по пути следования рецепт - в выводе команды мада "рецепт" добавлено чуток информации. |
05.06.2008, 10:04 | #7 |
Отличник форума
Регистрация: 24.08.2004
Сообщений: 1,026
|
даеш в жабу такой) антипрограммерам)
__________________
а тоже точно зарегился)) |
05.06.2008, 15:42 | #8 |
Super Moderator
Регистрация: 16.09.2006
Сообщений: 385
|
можно позанудничать?
они "ингредиенты" вообще-то . сменил бы ты команды, пока не поздно . или можно вообще сократить до "ингров", для команды вполне сойдет. |
05.06.2008, 23:45 | #9 |
Знакомый Мадера
Регистрация: 09.11.2006
Сообщений: 54
|
*в шоке*
у меня врождённая грамотность! завтра будет исправленная версия |
06.06.2008, 01:58 | #10 |
Новичок
Регистрация: 10.07.2004
Сообщений: 40
|
как вариант: вместо хука использовать альясы.
|
06.06.2008, 13:32 | #11 |
Знакомый Мадера
Регистрация: 09.11.2006
Сообщений: 54
|
Исправлены команды, добавлен Readme.txt файлик.
Две папки: cook.win и cook.koi8-r. Читаем ридми из соотв. папки, делаем по инструкции. |
06.06.2008, 13:34 | #12 |
Знакомый Мадера
Регистрация: 09.11.2006
Сообщений: 54
|
Э-э-э... как?
Как мы грузим ингредиенты? Мы "осматриваем" контейнер с инграми, и на каждый известный ингр срабатывает триггер. Как только ингры кончается, нам надо это отметить. Для этого и служит хук на промпт. Алиасами как сделать? |
06.06.2008, 20:58 | #13 |
Новичок
Регистрация: 10.07.2004
Сообщений: 40
|
вместо хука на инпут, на отлов команд. можно альясы. тогда модуль будет автономным.
|
07.06.2008, 12:01 | #14 |
Знакомый Мадера
Регистрация: 09.11.2006
Сообщений: 54
|
там нет хука на инпут. там есть хук на промпт. и алиасы.
|
07.06.2008, 16:11 | #15 |
Отличник форума
Регистрация: 06.03.2004
Сообщений: 505
|
можно поставить таймаут в триге и через 3 секунды отключать отлов ингров.
|