Вернуться   МПМ Былины - Мир Древней Руси > Для игроков > Клиенты для игры

Клиенты для игры Все что связано с клиентами для игры. 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;
Вложения
Тип файла: zip Cook.zip (5.6 Кб, 44 просмотров)
Тролль вне форума   Ответить с цитированием
Старый 05.04.2008, 10:46   #2
Devastator
Отличник форума
 
Регистрация: 18.10.2005
Адрес: Пермь
Сообщений: 273
По умолчанию

Ну как модуль народ? отпишитесь кто пользуется, стоит ли его на жабу портировать?
__________________
Владение орфографией русского языка - это как кунг-фу, истинные мастера которого не применяют его без надобности.
Devastator вне форума   Ответить с цитированием
Старый 05.04.2008, 16:34   #3
Тролль
Знакомый Мадера
 
Регистрация: 09.11.2006
Сообщений: 54
По умолчанию

Я там чё-то ошибок нашёл Поисправляю сперва, не надо пока его смотреть.
Тролль вне форума   Ответить с цитированием
Старый 04.06.2008, 15:41   #4
Ladon
Отличник форума
 
Регистрация: 06.03.2004
Сообщений: 505
По умолчанию

попытался заюзать
при варке ругается
#perl: Undefined subroutine &QBaze::alias called at ./Cook.pm line 252.
252 my $i = QBaze::alias(pop @{$have_ingr{$_}});
Ladon вне форума   Ответить с цитированием
Старый 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;
3. Если в Вашем конфиге есть ловушки (hook) на prompt, то туда дописываем
Код:
Cook::promptHook()
если нет ловушек - то просто раскомментируйте строки в конце файла Cook.pm

КОМАНДЫ
_обновить_базу_ингридиентов пригодица, если Вы изменили файл cook.rc и желаете немедленно увидеть изменения
_ингридиенты_сумка пригодица для установки названия контейнера с ингридиентами. Ингридиенты вне этого контейнера модуль не увидит.
_загрузить_ингридиенты пригодица, чтобы модуль знал, что в этой сумке есть, и подсчитал, сколько чего из этого можно сварить
_доложить_ингридиенты пригодица, чтобы Вы знали, что модуль знает о Ваших ингридиентах
_загрузить_рецепты пригодица, чтобы модуль знал рецепты, которыми Вы владеете
_вата пригодица, чтобы избавиться от ватных ингридиентов. Если заюзать команду без аргументов, модуль расскажет, что там к чему.
_убрать_ингридиенты пригодица, чтобы сложить ингридиенты, которые у Вас в инвентаре, в сумку для ингридиентов
_состав N пригодица, чтобы узнать состав рецепта под номером N
_варить N пригодица, чтобы сварить рецепт под номером N
_сбор_ингридиентов пригодица, чтобы собирать ингридиенты по пути следования

рецепт - в выводе команды мада "рецепт" добавлено чуток информации.
Вложения
Тип файла: zip cook.zip (8.8 Кб, 24 просмотров)
Тролль вне форума   Ответить с цитированием
Старый 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
diver
Новичок
 
Регистрация: 10.07.2004
Сообщений: 40
По умолчанию

как вариант: вместо хука использовать альясы.
diver вне форума   Ответить с цитированием
Старый 06.06.2008, 13:32   #11
Тролль
Знакомый Мадера
 
Регистрация: 09.11.2006
Сообщений: 54
По умолчанию

Исправлены команды, добавлен Readme.txt файлик.
Две папки: cook.win и cook.koi8-r. Читаем ридми из соотв. папки, делаем по инструкции.
Вложения
Тип файла: zip cook.zip (12.2 Кб, 60 просмотров)
Тролль вне форума   Ответить с цитированием
Старый 06.06.2008, 13:34   #12
Тролль
Знакомый Мадера
 
Регистрация: 09.11.2006
Сообщений: 54
По умолчанию

Цитата:
Сообщение от diver Посмотреть сообщение
как вариант: вместо хука использовать альясы.
Э-э-э... как?
Как мы грузим ингредиенты? Мы "осматриваем" контейнер с инграми, и на каждый известный ингр срабатывает триггер. Как только ингры кончается, нам надо это отметить. Для этого и служит хук на промпт. Алиасами как сделать?
Тролль вне форума   Ответить с цитированием
Старый 06.06.2008, 20:58   #13
diver
Новичок
 
Регистрация: 10.07.2004
Сообщений: 40
По умолчанию

вместо хука на инпут, на отлов команд. можно альясы. тогда модуль будет автономным.
diver вне форума   Ответить с цитированием
Старый 07.06.2008, 12:01   #14
Тролль
Знакомый Мадера
 
Регистрация: 09.11.2006
Сообщений: 54
По умолчанию

там нет хука на инпут. там есть хук на промпт. и алиасы.
Тролль вне форума   Ответить с цитированием
Старый 07.06.2008, 16:11   #15
Ladon
Отличник форума
 
Регистрация: 06.03.2004
Сообщений: 505
По умолчанию

можно поставить таймаут в триге и через 3 секунды отключать отлов ингров.
Ladon вне форума   Ответить с цитированием
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.

Быстрый переход


Часовой пояс GMT +4, время: 15:03.


Powered by vBulletin® Version 3.8.1
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot