Forum.iFiction.Ru

iFiction.Ru · ifHub · FAQ · IFWiki · QSP · URQ · INSTEAD · AXMA

форум об interactive fiction, текстовых приключенческих играх и всём таком...

Вы не зашли.

0    0    #1
13.02.2008 11:47

Flint
Участник
Зарегистрирован: 06.09.2007
Сообщений: 148

---

Патчи к 25beta

Итак, первая порция моих патчей. Прошу прощение за скупость описаний, банально не успеваю, потому что сегодня уезжаю на неделю в Харьков.

sayPrefixCount
было:
Ты видишь два спички.

стало:
Ты видишь две спички.


было:
>спросить стол о погоде
Ты думаешь, что стол ничего не знает об этом!

стало:
>спросить стол о погоде
Стол безмолвен.


было:
>сесть на пол
Хорошо, ты теперь сидишь на полу.
>восток
Ты никуда не пойдёшь пока не слезешь с пола.

стало:
>сесть на пол
Хорошо, ты теперь сидишь на полу.
>восток
Ты никуда не пойдёшь пока не встанешь с пола.


было:
>набрать
Что ты хочешь печатать?
>набрать воды в банку
Я не понимаю это предложение.

стало:
>набрать
Что ты хочешь печатать?
>набрать воды в банку
Вы набрали воды в банку.
[Метод ‘FillIn’]


было:
>сесть
(стул)
Хорошо, ты теперь сидишь на стуле.

стало:
>сесть
(на стул)
Хорошо, ты теперь сидишь на стуле.

Несколько мелких исправлений к глаголам: синонимы, указание умолчательных предлогов и падежей. Например, «выглянуть в» к lookThru.

Ну, и самое интересное - исправления к parseAskobjActor:

было:
>спросить Петю
Об чем Вы хотите спросить этого персонажа?
>положить спичку
Во что Вы хотите положить это?
>ударить Петю
С помощью чего Вы хотите напасть на это?

стало:
>спросить Петю
О чем ты хочешь спросить его?
>положить спичку
Во что ты хочешь положить её?
>ударить Петю
С помощью чего ты хочешь напасть на него?

То есть учитывается текущее лицо и подбирается правильное местоимение.

Что я еще хочу исправить:

сейчас:
>положить карандаш
Во что ты хочешь положить его?
>на стол
Ты не можешь положить что-либо в стол.

хочется:
>положить карандаш
Куда ты хочешь положить его?
>на стол
Готово.
>положить карандаш
Куда ты хочешь положить его?
>в стол
Ты не можешь положить что-либо в стол.

сейчас:
>набрать
Что ты хочешь печатать?
>налить
(воду)
(в банку)
Вы набрали воды в банку.

хочется:
>набрать
(воду)
(в банку)
Вы набрали воды в банку.

[Если присутствует неопределенность, не просить сразу уточнить объект, а попробовать устранить неопределенность по второстепенным предлогам тоже. Т.е. если «набрать» в смысле печатать (ioAction(onPrep) = 'TypeOn') в комнате ничего нельзя, но можно «набрать» в смысле налить (ioAction(inPrep) = 'FillIn'), то использовать «налить».]

Долго думал, каким образом эти исправления выложить, ведь они во многих местах. Поэтому выкладываю diff-файлы к advr.t (от 07.02.08 17:19) и errorru.t (от 06.02.08 02:25). Применяются они утилиткой patch.

patch advr.t advr.diff

Если юникса под рукой нет, то win-версию проги можно взять здесь http://unxutils.sourceforge.net/

КАЧАТЬ ПАТЧИ ТУТ http://ifwiki.ru/files/25PATCH.rar

Пробуйте пока, буду через неделю.

Неактивен

0    0    #2
13.02.2008 12:15

fireton
некто с бородой (+354, -92)
Откуда: Москва
Зарегистрирован: 22.08.2005
Сообщений: 1103
Вебсайт

Тон

Re: Патчи к 25beta

В TADS "патчи" лучше оформлять с помощью функций replace и modify. И Гранду будет проще вносить эти изменения в релиз...

И еще. IFWIKI не является хранилищем файлов. Если файл не относится к одной из статей, то он будет удален безжалостно и нафик. Если некуда выложить файл, то существует масса специализированных сервисов.

Отредактировано fireton (13.02.2008 12:21)

Неактивен

0    0    #3
13.02.2008 13:39

fireton
некто с бородой (+354, -92)
Откуда: Москва
Зарегистрирован: 22.08.2005
Сообщений: 1103
Вебсайт

Тон

Re: Патчи к 25beta

Ну, пусть полежит пока. smile Может, автор одумается и выложит его таки в другое место. wink

Андрей, когда нам ждать релиз библиотеки? Что касается меня, то я его действительно жду.

Неактивен

0    0    #4
13.02.2008 16:22

fireton
некто с бородой (+354, -92)
Откуда: Москва
Зарегистрирован: 22.08.2005
Сообщений: 1103
Вебсайт

Тон

Re: Патчи к 25beta

Вот еще пожелание. Если у комнаты не определить свойство out, то при попытке выйти игра выдает стандартное "Этим путем не пройти". Дело в том, что в определении класса room есть такое:

Код:

out   = { return self.noexit; }

Мне кажется, что можно несколько усложнить обработку данной функции. Возможно ли сделать обработку по умолчанию таким образом: если в комнате один выход, то out выдаст этот один выход. Если выходов определено несколько, то выдаваемая строка будет чем-то вроде "Здесь несколько выходов, уточните, куда вы хотите выйти."

Как мне кажется этого можно добиться, если вместо { return self.noexit; } присвоить всем свойствам-направлениям nil (чтобы можно было проверять), а выдачу "Этим путем не пройти" реализовать в процедуре, обрабатывающей выход (сделать там проверку на nil). Тогда для out можно сделать свою обработку.

Что думаете?

Неактивен

0    0    #5
13.02.2008 18:28

fireton
некто с бородой (+354, -92)
Откуда: Москва
Зарегистрирован: 22.08.2005
Сообщений: 1103
Вебсайт

Тон

Re: Патчи к 25beta

GrAndrey написал:

А что делать, когда единственный выход это вход?

Не понял. Выйти через него, конечно.

Неактивен

0    0    #6
13.02.2008 19:28

fireton
некто с бородой (+354, -92)
Откуда: Москва
Зарегистрирован: 22.08.2005
Сообщений: 1103
Вебсайт

Тон

Re: Патчи к 25beta

И вообще, автор должен быть внимательным и трудолюбивым. Добавить одно направление можно быстро и не задумываясь.

C твоим таглайном не согласуется. smile

Но вообще да. Тебе виднее... Наткнулся на то, что в "Кащее" выйти приводит к "Этим путем не пройти". С другой стороны, офигеешь определять out в каждой комнате. Везде надо что-то свое. А придумать универсальную заглушку как-то не получается...

Неактивен

0    0    #7
13.02.2008 23:56

fireton
некто с бородой (+354, -92)
Откуда: Москва
Зарегистрирован: 22.08.2005
Сообщений: 1103
Вебсайт

Тон

Re: Патчи к 25beta

Андрей, посмотри личку.

Неактивен

Powered by PunBB
© copyright 2001–2024 iFiction.Ru