Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
Гость
|
Добавлено: Пн Май 16, 2005 11:43 am Заголовок сообщения: Как отменить "обрезание"? |
|
|
Помнится, читал, что TADS "обрезает" слова и различает их по первым 6 символам. Проблема в том, что предложение "спустить плот на воду" программа в итоге поняла как желание спуститься вниз
Можно ли это как-то отключить? Или писать "обходной маневр" через downverb? |
|
Вернуться к началу |
|
 |
GrAnd Site Admin
Зарегистрирован: 04.02.2003 Сообщения: 299 Откуда: Россия, Москва
|
Добавлено: Вт Май 17, 2005 10:38 am Заголовок сообщения: Re: Как отменить "обрезание"? |
|
|
Anonymous писал(а): | Помнится, читал, что TADS "обрезает" слова и различает их по первым 6 символам. Проблема в том, что предложение "спустить плот на воду" программа в итоге поняла как желание спуститься вниз |
TADS не обрезает слова, а учитывает сокращения до 6-ти и более букв. Подобной проблемы никогда не замечал. Возможно, речь шла об одной из ранних версий. |
|
Вернуться к началу |
|
 |
Гость
|
Добавлено: Вт Май 17, 2005 11:08 am Заголовок сообщения: |
|
|
Опа... я вчера и не заметил, что запостился как гость
Версия библиотеки 22я, с некоторыми дополнениями, которые ты здесь на форуме приводил. |
|
Вернуться к началу |
|
 |
ifn00b Developer
Зарегистрирован: 29.12.2004 Сообщения: 40
|
Добавлено: Вт Май 17, 2005 11:10 am Заголовок сообщения: |
|
|
Да что за ерунда!?
Второе сообщение подряд постится "гостевым", хотя все надписи указывают, что я залогинен
ifn00b это все написал  |
|
Вернуться к началу |
|
 |
ifn00b Developer
Зарегистрирован: 29.12.2004 Сообщения: 40
|
Добавлено: Ср Авг 31, 2005 9:41 am Заголовок сообщения: |
|
|
Так-с... после лета решил вернуться и закончить все-таки пробную эту игру
Дык вот проблема-то так и осталась...
Привожу листинг, может, из него что-то понятно станет...
Цитата: | pushtoverb: deepverb
verb = 'столкнуть' 'спустить' 'спихнуть'
sdesc = "столкнуть"
doAction = 'PushTo'
action(actor) = "Что Вы хотите столкнуть и куда?"
ioAction(onPrep) = 'PushOnTo'
;
|
В advr.t есть слово "спуститься"
Цитата: | dVerb: travelVerb
action(actor) = { actor.travelTo(self.travelDir(actor)); }
verb = 'вниз' 'вн' 'идти вниз' 'спуститься' 'спуститься вниз'
sdesc = "вниз"
travelDir(actor) = { return actor.location.(actor.downProp); }
;
|
Так вот команда "столкнуть плот на воду" работает нормально, а "спустить плот на воду" выдает сообщение "вы не можете двигаться в данном направлении"  |
|
Вернуться к началу |
|
 |
GrAnd Site Admin
Зарегистрирован: 04.02.2003 Сообщения: 299 Откуда: Россия, Москва
|
Добавлено: Чт Сен 01, 2005 1:00 am Заголовок сообщения: |
|
|
Это можно исправить в preparseCmd (что сложно ).
На мой взгляд, не нужно так усложнять. У тебя есть обработчики "столкнуть плот на небо(васю, ногу, и т.д)?" Это нужно для играбельности? Пусть будет просто "столкнуть плот". Другие варианты должны приниматься, но работать идентично. |
|
Вернуться к началу |
|
 |
ifn00b Developer
Зарегистрирован: 29.12.2004 Сообщения: 40
|
Добавлено: Чт Сен 01, 2005 8:29 am Заголовок сообщения: |
|
|
Это просто было в отчете бета-тестера (он пытался всячески уплыть, а программа не понимала этих глаголов), я и ввел впрямую
Вопросов два остается. 1) Почему все-таки "спустить" понималось как "спуститься"? 2) "Столкнуть плот" работать будет. Будет ли "спустить плот"?
Впрочем, на второй вопрос ответ я получу сам и очень скоро  |
|
Вернуться к началу |
|
 |
ifn00b Developer
Зарегистрирован: 29.12.2004 Сообщения: 40
|
Добавлено: Пт Сен 02, 2005 1:38 pm Заголовок сообщения: |
|
|
Хе-х... оказывается, еще до "отпуска" программа понимала и просто "столкнуть плот". Так вот - поведение аналогичное... "столкнуть" принимает, "спустить" - ни в какую
Расскажи, как через preparse обойти  |
|
Вернуться к началу |
|
 |
Goraph
Зарегистрирован: 24.03.2005 Сообщения: 6
|
Добавлено: Пн Сен 05, 2005 3:04 pm Заголовок сообщения: |
|
|
Честно говоря я думал ты уж давно забил на игру. Рад. :)
Сделай в dVerb обработчик с существительным, и если предмет "плот" то соответствующее действие. Вот.
Уже почти забыл как в Тадсе все работает, надеюсь ты понял что я хотел сказать. :) |
|
Вернуться к началу |
|
 |
ifn00b Developer
Зарегистрирован: 29.12.2004 Сообщения: 40
|
Добавлено: Пн Сен 05, 2005 4:19 pm Заголовок сообщения: |
|
|
ага, понял
только тогда же и "вниз плот" будет так пониматься?
пока что пусть и корявенько, но обошел проблему через compoundWords |
|
Вернуться к началу |
|
 |
Goraph
Зарегистрирован: 24.03.2005 Сообщения: 6
|
Добавлено: Ср Сен 07, 2005 11:32 am Заголовок сообщения: |
|
|
Ну да "вниз плот" будет также пониматься.
Не уверен что это плохо в данном конкретном случае. :)
Можно тогда еще так - убить у dVerb слово "спуститься", сделать для него отдельный глагол и в нем выбирать что дальше вызвать - dVerb или pushtoVerb.
Как убить синоним у глагола не переписывая advr.t я не помню, но такая функция насколько я помню есть, поищи в английксом мануале. Называется addword() и delword().
Хотя если уже обошел, то ладно. :) |
|
Вернуться к началу |
|
 |
ifn00b Developer
Зарегистрирован: 29.12.2004 Сообщения: 40
|
Добавлено: Ср Сен 07, 2005 12:39 pm Заголовок сообщения: |
|
|
В данном, может, и неплохо... Но хотелось бы знать некий универсальный способ  |
|
Вернуться к началу |
|
 |
|