Итак, первая порция моих патчей. Прошу прощение за скупость описаний, банально не успеваю, потому что сегодня уезжаю на неделю в Харьков.
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
Пробуйте пока, буду через неделю.
Неактивен
fireton, скачал, сноси.
Неактивен
А что делать, когда единственный выход это вход?
Неактивен
Ты стоишь на небольшой площадке, огороженной сплошной бетонной стеной. В центре площадки зияет вход в бункер. >выйти Ты протиснулся в лаз бункера...
И вообще, автор должен быть внимательным и трудолюбивым. Добавить одно направление можно быстро и не задумываясь.
Неактивен
Gremour написал:
>ударить мутанта палкой
Я не вижу здесь объект "мутанта палкой"
Причина: свойство adjective объекта slime. Если его закомментировать, команда работает как надо.
Да, я в курсе. В моем случае
>взять с трупа кирку
Я не вижу здесь объект "трупа кирку".
Проблема в том, что "трупа" - прилагательное и получается неподходящее сочетание прилагательного и существительного. Это можно проверять. Либо вообще запретить использовать прилагательное с флагом "#r" перед существительным. Тем более не своим.
Неактивен
http://rtads.org/libr25beta.rar - обновил.
Теперь не понимает только "ударить палкой слизь мутанта".
"ударить мутанта палкой" и "ударить палкой мутанта" - без проблем
Неактивен