Forum.iFiction.Ru

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

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

Вы не зашли.

0    0    #1
04.04.2008 11:05

noname
Участник (+36, -9)
Зарегистрирован: 04.04.2008
Сообщений: 729

noname

не качается авторкит

не могу скачать авторский набор ртадса (2.9mb)

проигрыватель квестов у меня есть (1.1mb)

у меня нет флэшгета
(или регета, как там правильно?)

может, если дадите ссылку в другом месте
на авторский набор без проигрывателя, то
у меня получится скачать?

жажду опробовать ваш движок

пока есть опыт программинга
на дельфях
урке
qsp
(на всех - по чуть-чуть)

Неактивен

0    0    #2
04.04.2008 11:21

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

Тон

Re: не качается авторкит

не могу скачать авторский набор ртадса (2.9mb)

Поищи зеркало. С основного сайта качать просто невозможно. Просто введи имя файла в гугл.

Неактивен

0    0    #3
04.04.2008 11:36

noname
Участник (+36, -9)
Зарегистрирован: 04.04.2008
Сообщений: 729

noname

Re: не качается авторкит

thanks

что ещё понадобится новичку
штоп побыстрее сделать квест на уровне
Златоквеста или Любовь из КРИЛ2008?

опыт ООП программинга у меня какой-никакой есть

из личных интересов- хочу, штоп игрок по ходу игры мог
выбирать разных персонажей,
такая идея была реализована на синклере в игре Хоббит
там игрок мог играть за любого члена команды,
а остальные (Гендальф как правило)
бродили поблизости и открывали-закрывали всё что не заперто

Неактивен

0    0    #4
04.04.2008 12:07

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

Тон

Re: не качается авторкит

что ещё понадобится новичку
штоп побыстрее сделать квест на уровне
Златоквеста или Любовь из КРИЛ2008?

Усидчивость и увлеченность.

из личных интересов- хочу, штоп игрок по ходу игры мог
выбирать разных персонажей,

Новичку лучше сделать игру с одним персонажем, имхо.
Но если не сдашься, кури мануал на тему parserSetMe, а также раздел "Более сложные технические приемы".

Неактивен

0    0    #5
04.04.2008 14:16

noname
Участник (+36, -9)
Зарегистрирован: 04.04.2008
Сообщений: 729

noname

Re: не качается авторкит

я так полагаю, что работа с новыми
русифицирующими библиотеками в мануале ещё не описана

как сделать пусть простую, но качественную игру
т е как привинтить к игре все эти последние русские штучки-дрючки
и как ими воспользоваться

начну с малого...

p.s.
RTADS набирает обороты:
на КРИЛ2006 был Дримор,
теперь вот ещё пара квестов- так держать!
p.p.s.
при освоении нового языка хотелось бы побольше исходников
вот например, исходники Златоквеста и Любви...

а то накачал глючную козу с волком и медведей- то же хорошо,
но не то- не законченные игры.

Неактивен

0    0    #6
04.04.2008 14:26

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

Тон

Re: не качается авторкит

Выложил исходники "Кащея" на вики (на страничке игры).

Неактивен

0    0    #7
04.04.2008 14:28

Gesperid
Участник
Зарегистрирован: 25.02.2005
Сообщений: 106

Re: не качается авторкит

noname написал:

при освоении нового языка хотелось бы побольше исходников
вот например, исходники Златоквеста и Любви...

Аюсолютно согласен, так как исходников исконно русских игр в свободном доступе нет.

Неактивен

0    0    #8
04.04.2008 14:29

Gesperid
Участник
Зарегистрирован: 25.02.2005
Сообщений: 106

Re: не качается авторкит

fireton написал:

Выложил исходники "Кащея" на вики (на страничке игры).

Здорово! Вот это оперативность поддержки начинающих авторов:)

Неактивен

0    0    #9
04.04.2008 15:05

noname
Участник (+36, -9)
Зарегистрирован: 04.04.2008
Сообщений: 729

noname

Re: не качается авторкит

fireton написал:

Выложил исходники "Кащея" на вики (на страничке игры).

спасибо!
а с теми примерами, что смог накачать какая-то проблема:
помощь высвечивается с тегами:

"<b>Нужные системные команды:</b>"

и вообще она какая-то не такая.
хочу как в играх на КРИЛ-2007

Неактивен

0    0    #10
04.04.2008 15:46

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

Тон

Re: не качается авторкит

помощь высвечивается с тегами:

"<b>Нужные системные команды:</b>"

HTML не включен. Нужно включить. В новой версии библиотек, как я понимаю, Гранд отключил HTML в дефолтном файле игры (stdr.t) и прикрутил его к генератору. Если ты не подключишь генератор к своей игре, то HTML надо включать самостоятельно. Это нетрудно совсем.

Неактивен

0    0    #11
04.04.2008 22:09

noname
Участник (+36, -9)
Зарегистрирован: 04.04.2008
Сообщений: 729

noname

Re: не качается авторкит

fireton написал:

.

Если ты не подключишь генератор к своей игре, то HTML надо включать самостоятельно. Это нетрудно совсем.

да вроде бы на примере Кащея разобрался.
жаль только, что он совсем не разговорчивый.

странно, что на wiki пронумеровано по местам всего три игры
почему не дали полный список с номерами мест?
а то выходит, что love сильно уступает gungs.
по мне- так они почти на одном уровне, но в love мир и юмор интереснее.

Неактивен

0    0    #12
05.04.2008 13:08

noname
Участник (+36, -9)
Зарегистрирован: 04.04.2008
Сообщений: 729

noname

Re: не качается авторкит

и ещё:

насчёт всяческих заранее описанных глаголов:

работа проделана большая, за что спасибо и всяческий респект, НО

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

так например, классический пример: бросить в козу капусту- игрок попадает в безвыйгрышную ситуацию.
догадаться об этом в квесте он не всегда сможет сразу, а если он после этого успел сохраниться... короче, коза с капустой хуже коза-ностры нарушает билль о правах игрока. и капустой делиться не хочет, зараза...

или: игрок должен осторожно обойти какие-то ловушки, ничего не задев, что бы не привлечь внимание находящейся в коридоре охраны. автор всё это дело прописал. игрок, войдя в комнату придумал не предусмотренный автором вариант: зайти в комнату и заорать, что бы вбежавшие охранники сами попали в ловушку. что будет? несмотря на неоднократные предупреждения в игре не делать малейшего шума, громкий крик игрока не привлечёт ничьего внимания.

автору такие моменты предусмотреть сложно.

p.s.
где можно получить список всех команд, доступных игроку в игре
со всеми допускаемыми интерпретатором формами
(реакцию на них я в advr.t найду)

Неактивен

0    0    #13
05.04.2008 20:06

uux
Участник (+884, -80)
Откуда: Москва
Зарегистрирован: 02.12.2006
Сообщений: 1624

Re: не качается авторкит

noname написал:

и ещё:

насчёт всяческих заранее описанных глаголов:

работа проделана большая, за что спасибо и всяческий респект, НО

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

[SNIP]

автору такие моменты предусмотреть сложно.

Написание квеста - вообще непростое дело. Если подходить к вопросу системно и обладать самодисциплиной, то обработку большей части  нестандартных ситуаций можно заложить сразу. Для всего остального есть бета-тестинг. В принципе, бета-тестирование - как минимум столь же важный и трудоемкий этап проекта, как и написание собственно игры.

noname написал:

p.s.
где можно получить список всех команд, доступных игроку в игре
со всеми допускаемыми интерпретатором формами
(реакцию на них я в advr.t найду)

Список всех команд есть в этой главе мануала: http://www.rtads.org/man/TADSSTD.HTM (список глаголов можно найти, используя текстовый поиск по строке "Стандартные определения объектов-глаголов"). Правда, два момента: (1) всех интерпретируемых форм там нет, только основные синонимы. (2) Переводилась эта глава в 2004 году, поэтому ГрАнд с тех пор мог добавить какие-то новые глаголы (но в любом случае их будет немного).

Неактивен

0    0    #14
06.04.2008 07:41

Korwin
Гоблин, зеленый от недосыпа (+188, -16)
Откуда: Екатеринбург
Зарегистрирован: 27.11.2007
Сообщений: 796
Вебсайт

У трав, растущих на мягкой земле - слабые корни. (с)Korwin

Re: не качается авторкит

noname написал:

не могу скачать авторский набор ртадса (2.9mb)

проигрыватель квестов у меня есть (1.1mb)

у меня нет флэшгета
(или регета, как там правильно?)

Так может тебе регет прислать?

Неактивен

0    0    #15
06.04.2008 07:47

GrAndrey
папа RTADS и Бяка (+49, -2)
Откуда: Москва
Зарегистрирован: 15.09.2002
Сообщений: 1198
Вебсайт

меньше слов

Re: не качается авторкит

Вот, ни один не уйдет:

Код:

  local o := firstobj(deepverb);
  "Список глаголов:\n";
  while (o<>nil)
  {
   "\n<<o.sdesc>>\n";
   o := nextobj(o, deepverb);
  }

Неактивен

0    0    #16
06.04.2008 22:18

noname
Участник (+36, -9)
Зарегистрирован: 04.04.2008
Сообщений: 729

noname

Re: не качается авторкит

спасибо!

вообще-то это здорово такое кол-во предпрописанных действий:

интерпретатор поощряет автора переписать действия, о которых он вообще бы не подумал, а вот игрок мог бы ввести. так что РТАДС добросовестного автора подтягивает (за уши) до своего уровня: мол, введёт игрок такую-то команду- дык надо реагировать, а то как выполню её по стандарту, а краснеть- тебе (автору).

чего я хотел сказать:

Кащей понимает команду 'встать' НО не понимает 'встать с кровати' - это особенность интерпретатора или игры?

так же он понимает команду 'идти на восток' НО не понимает 'идти в коридор' - это в РТАДСЕ вроде бы можно сделать... попробую разобраться- как.

ух, столько всего читаю, делаю, а тут ещё этот РТАДС. чтоб на нём чё-то качественное сделать нужно долго помурыжиться... так например Дримор на КРИЛ-2006 тогда ещё скачивал- имел глюки с общением с шаманом, недочёты Кащея я перечислил (смысловые недочёты тоже есть- но тут уж движок ни при чём). отсюда вывод: русских полностью отдебаженных и вылизанных до блеска игр на РТАДС я пока не видел. что настораживает.

в моём пробном квесте меня интересует больше всего поведение НеПиСей.
а пугает больше всего разнообразие форм общения игрока с персонажами в РТАДС:
>шаман, возьми посох
>спросить продавца о видеокарте
>говорить с продавцом (и далее- строчки в вода в "Love")
я понимаю, что местная тусовка уже притёрлась и непонимание некоторых форм команд никого не смущает, как и то, что НИ ОДИН квест пока не реализует достойным образом возможностей общения, описанных в хелпе. НО такие недочёты (или скорее- такое отсутствие вылизанных квестов) тормозит расширение нашего маленького сообщества текстоквестописателей.

Неактивен

0    0    #17
06.04.2008 22:22

noname
Участник (+36, -9)
Зарегистрирован: 04.04.2008
Сообщений: 729

noname

Re: не качается авторкит

Korwin написал:

Так может тебе регет прислать?

смотря сколько он занимает.
и ещё: глюки на тяп-ляпе длятся годами: почему нельзя выделить для цитаты часть сообщения?
нет, цитируется весь пост, а потом приходится выыреееззззззать.

Неактивен

0    0    #18
06.04.2008 23:16

uux
Участник (+884, -80)
Откуда: Москва
Зарегистрирован: 02.12.2006
Сообщений: 1624

Re: не качается авторкит

noname написал:

чего я хотел сказать:

Кащей понимает команду 'встать' НО не понимает 'встать с кровати' - это особенность интерпретатора или игры?

так же он понимает команду 'идти на восток' НО не понимает 'идти в коридор' - это в РТАДСЕ вроде бы можно сделать... попробую разобраться- как.

"Встать с кровати" - тоже можно сделать. Для этого, например, доопределяем глагол "встать" следующим образом:

Код:

modify standVerb
   verb = 'встать' 'стоять' 'встань' 'встать с' 'встань с'
   doAction='Stand'

А для кровати

Код:

Bed: fixedItem
sdesc="кровать"
verDoStand(actor)={if(actor.location<>self)
                                 {// Если актер не на кровати, ругаемся
                                  "<<ZAG(actor, &sdesc)>> не на кровати!";
                                 }
                             }
doStand(actor)={"Хорошо, <<actor.sdesc>> встал<<yao(actor)>> с кровати.";
                        }

Достоинство такого определения: так сделать проще. Недостаток (хотя кому как;): игра начнет понимать конструкции вида "встань кровать", "встать кроватью" и т. д.

Альтернативный вариант - определить глагол 'встать с' как отдельный глагольный объект (например, с использованием compoundWord, чтобы "слепить" глагол с предлогом).

noname написал:

ух, столько всего читаю, делаю, а тут ещё этот РТАДС. чтоб на нём чё-то качественное сделать нужно долго помурыжиться... так например Дримор на КРИЛ-2006 тогда ещё скачивал- имел глюки с общением с шаманом, недочёты Кащея я перечислил (смысловые недочёты тоже есть- но тут уж движок ни при чём). отсюда вывод: русских полностью отдебаженных и вылизанных до блеска игр на РТАДС я пока не видел. что настораживает.

Ну, я и вообще очень мало видел (если видел вообще;) полностью отдебаженных и вылизанных до блеска русских IF-игр, даже менюшных. Парсерная игра по определению намного более трудоемкая в создании, чем меню.
Из близких к совершенству в плане вылизанности - "Ожидание утра" и тот же "Кащей".

noname написал:

в моём пробном квесте меня интересует больше всего поведение НеПиСей.
а пугает больше всего разнообразие форм общения игрока с персонажами в РТАДС:
>шаман, возьми посох
>спросить продавца о видеокарте
>говорить с продавцом (и далее- строчки в вода в "Love")

Общение с неписями - кошмар любого автора-парсерщика;). Даже англоязычного. На самом деле, создание мало-мальски реалистичных персонажей - пожалуй, объективно самый сложный аспект квестописания. Именно поэтому в последнее время нарастает тенденция (хотя лично я к ней отношусь отрицательно) подменять "полноценное" общение с персонажем командой "talk to" - "поговорить с" либо менюшными диалогами.

noname написал:

я понимаю, что местная тусовка уже притёрлась и непонимание некоторых форм команд никого не смущает, как и то, что НИ ОДИН квест пока не реализует достойным образом возможностей общения, описанных в хелпе. НО такие недочёты (или скорее- такое отсутствие вылизанных квестов) тормозит расширение нашего маленького сообщества текстоквестописателей.

С этим не поспоришь;).

Отредактировано uux (06.04.2008 23:17)

Неактивен

0    0    #19
07.04.2008 03:27

noname
Участник (+36, -9)
Зарегистрирован: 04.04.2008
Сообщений: 729

noname

Re: не качается авторкит

Достоинство такого определения: так сделать проще. Недостаток (хотя кому как;): игра начнет понимать конструкции вида "встань кровать", "встать кроватью" и т. д.

Альтернативный вариант - определить глагол 'встать с' как отдельный глагольный объект (например, с использованием compoundWord, чтобы "слепить" глагол с предлогом).

а во втором варианте можно "защититься" от "встать с кроватью"?

ИМХО очень важными для парсерщика являются продуманные запреты и подсказывающие сообщения об ошибках.

так можно выдрессировать игрока вводить команды корректно.
может быть, даже можно так научить его вести диалог с персонажами.

крайне жёсткий вариант: общение м/ду персонажами в игре идёт на "интергалаксе" - некотором всеобщем упрощённом языке, а на попытки общаться по-человечески инопланетяне отвечают на своём "тарабарском" (а кто и на "хлюпхлюпском") языке.

Неактивен

0    0    #20
07.04.2008 03:35

noname
Участник (+36, -9)
Зарегистрирован: 04.04.2008
Сообщений: 729

noname

Re: не качается авторкит

да, ещё раз СПАСИБО за огромный труд по созданию РТАДС и переводу мануала.

Неактивен

0    0    #21
07.04.2008 06:05

Korwin
Гоблин, зеленый от недосыпа (+188, -16)
Откуда: Екатеринбург
Зарегистрирован: 27.11.2007
Сообщений: 796
Вебсайт

У трав, растущих на мягкой земле - слабые корни. (с)Korwin

Re: не качается авторкит

noname написал:

крайне жёсткий вариант: общение м/ду персонажами в игре идёт на "интергалаксе" - некотором всеобщем упрощённом языке, а на попытки общаться по-человечески инопланетяне отвечают на своём "тарабарском" (а кто и на "хлюпхлюпском") языке.

Отличная идея!

Неактивен

0    0    #22
07.04.2008 06:42

uux
Участник (+884, -80)
Откуда: Москва
Зарегистрирован: 02.12.2006
Сообщений: 1624

Re: не качается авторкит

noname написал:

Достоинство такого определения: так сделать проще. Недостаток (хотя кому как;): игра начнет понимать конструкции вида "встань кровать", "встать кроватью" и т. д.

Альтернативный вариант - определить глагол 'встать с' как отдельный глагольный объект (например, с использованием compoundWord, чтобы "слепить" глагол с предлогом).

а во втором варианте можно "защититься" от "встать с кроватью"?

Нет. Но самом деле это, по большому счету, и не нужно (на мой взгляд, конечно). Если игра, наряду с корректными словосочетаниями, пнимает также некоторое количество некорректных - это только повышает удобство для игрока.

noname написал:

так можно выдрессировать игрока вводить команды корректно.
может быть, даже можно так научить его вести диалог с персонажами.

крайне жёсткий вариант: общение м/ду персонажами в игре идёт на "интергалаксе" - некотором всеобщем упрощённом языке, а на попытки общаться по-человечески инопланетяне отвечают на своём "тарабарском" (а кто и на "хлюпхлюпском") языке.

Идея действительно хорошая.

Неактивен

0    0    #23
07.04.2008 21:21

noname
Участник (+36, -9)
Зарегистрирован: 04.04.2008
Сообщений: 729

noname

Re: не качается авторкит

Нет. Но самом деле это, по большому счету, и не нужно

главное не перейти ту грань, когда корректная по форме непредусмотренная фраза игрока вызовет совершенно другое действие, из-за чрезмерной "догадливости" интерпретатора.

по мне так игрок должен вводить всё или правильно по-русски, или получать подсказку.

должна же быть введённая фраза
или инфа о форме аргументов доступна программеру?

ну, ещё можно урезать заданные формы кровати (чтоб 'кроватью' вообще не было или считалось другим словом)

и ещё:

привязать провод верёвкой к столбу
и
привязать проводом верёвку к столбу

различимы с точки зрения интерпретатора или нет?

Неактивен

0    0    #24
07.04.2008 22:17

Hind
Участник
Откуда: Балашиха
Зарегистрирован: 24.10.2007
Сообщений: 135
Вебсайт

Не нервируйте меня! Мне скоро негде будет прятать трупы!

Re: не качается авторкит

noname написал:

различимы с точки зрения интерпретатора или нет?

Какого именно интерпретатора? wink

По идее, смысл совершенно разный, соотв., парсер должен интерпретировать падежи (какое слово каким управляет и как).
В естественном языке у каждого глагола могут некие "слоты" - по аналогии с программированием, аргументы функции. В них можно вставлять уточняющие конструкции, причем некоторые такие конструкции могут требовать еще каких-то уточнений, но они могут быть и необязательными.

Например, глагол "привязать"
Слоты:
1 - кого/что привязать (не требует ничего при указании) - объект  в.п.
2 - к чему привязать (требует слот 1) - "к" объект д.п.
3 - чем привязать (требует слот 1, 2) -  объект т.п.

Такая схема позволит принимать, например, "привязать корову магнитной лентой к забору", "привязать веревкой шнурок к монетке", "привязать собаку", но не пропустит "привязать проводом" или "привязать котом к наушникам".

Одни слоты могут исключать другие и т.п.

Неактивен

0    0    #25
07.04.2008 22:20

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

---

Re: не качается авторкит

noname написал:

привязать провод верёвкой к столбу
и
привязать проводом верёвку к столбу

различимы с точки зрения интерпретатора или нет?

С точки зрения интерпретатора TADS эти предложения некорректны. В команде может быть только прямой и косвенный объект, то есть можно писать "привязать веревку к столбу" или "привязать провод веревкой", но не так, как у тебя.

Если переформулировать вопрос и сравнивать такие фразы:
привязать провод верёвкой
и
привязать проводом верёвку

то они будут различны в данном случае. Но, к сожалению, если падежные формы будут совпадать, то парсер может ошибиться.
Например, в моей игре "Любовь":

>дать водки бомжу
Я не знаю как дать что-либо бутылке водки.

То есть этот механизм не совсем надежен.

Неактивен

0    0    #26
07.04.2008 22:30

uux
Участник (+884, -80)
Откуда: Москва
Зарегистрирован: 02.12.2006
Сообщений: 1624

Re: не качается авторкит

Flint написал:

noname написал:

привязать провод верёвкой к столбу
и
привязать проводом верёвку к столбу

различимы с точки зрения интерпретатора или нет?

С точки зрения интерпретатора TADS эти предложения некорректны. В команде может быть только прямой и косвенный объект, то есть можно писать "привязать веревку к столбу" или "привязать провод веревкой", но не так, как у тебя.

Если переформулировать вопрос и сравнивать такие фразы:
привязать провод верёвкой
и
привязать проводом верёвку

то они будут различны в данном случае. Но, к сожалению, если падежные формы будут совпадать, то парсер может ошибиться.
Например, в моей игре "Любовь":

>дать водки бомжу
Я не знаю как дать что-либо бутылке водки.

То есть этот механизм не совсем надежен.

Можно еще, например, определить "веревкой" как предлог и создать глагол "привязать веревкой"... Но, пока не накопите опыта программирования в TADS, извращаться таким образом не советую;).

Неактивен

0    0    #27
07.04.2008 22:30

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

---

Re: не качается авторкит

Ах да, по примеру файртона выложил исходный код "Любви" (простите за игру слов) на соответствующую страницу в вики. Но предупреждаю сразу, что даже за вычетом всех библиотек там больше 200 килобайтов кода :-) Надеюсь, кому-то будет полезно, внутри даже есть немного комментариев (чуть-чуть).

Можно задавать вопросы по исходному коду на мыло или в форум.

Неактивен

0    0    #28
07.04.2008 22:33

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

---

Re: не качается авторкит

uux написал:

Можно еще, например, определить "веревкой" как предлог и создать глагол "привязать веревкой"... Но, пока не накопите опыта программирования в TADS, извращаться таким образом не советую;).

Тогда еще придется определять "привязать провод" (чтобы работало "привязать провод веревкой к столбу") и "привязать к столбу", короче жопа :-)

Неактивен

0    0    #29
07.04.2008 23:02

noname
Участник (+36, -9)
Зарегистрирован: 04.04.2008
Сообщений: 729

noname

Re: не качается авторкит

Но, к сожалению, если падежные формы будут совпадать, то парсер может ошибиться.

но в приведённом тобой примере падежные(падёжные?) формы НЕ совпадают:

дать водки бомжу
и
дать водке бомжа

и если эти 1-ю фразу интерпретёр считает аналогичной 2-й, то дело- дрянь...

p.s.
надо при запуске РТАДСа выдавать сообщение:
" интерпретатор всегда прав! "

p.p.s.

главное не перейти ту грань, когда корректная по форме непредусмотренная фраза игрока вызовет совершенно другое действие, из-за чрезмерной "догадливости" интерпретатора.
по мне так игрок должен вводить всё или правильно по-русски, или получать подсказку.

должна же быть введённая фраза
или инфа о форме аргументов доступна программеру?

ну, ещё можно урезать заданные формы кровати (чтоб 'кроватью' вообще не было или считалось другим словом)

решение с 'кроватью' может прокатить, только если разные объекты ('кровать' и 'кроватью') будут ссылаться на один и тот же объект (ту самую единственную кровать), но применяя к нему разные методы:

встать с кроватью -> подсказка по русскому языку
встать с кровати -> собственно, сделать это

при этом возможны примеры, когда в обоих случаях будут выполняться какие-либо действия, но разные
я для примера привёл провод с верёвкой, и, хотя мой пример оказался неудачным, я прояснил для себя одно из ограничений РТАДСа.

буду складывать накопленные знания в шкатулку. может, когда-нить и парсер напишу.

Отредактировано noname (07.04.2008 23:10)

Неактивен

0    0    #30
07.04.2008 23:07

uux
Участник (+884, -80)
Откуда: Москва
Зарегистрирован: 02.12.2006
Сообщений: 1624

Re: не качается авторкит

Flint написал:

uux написал:

Можно еще, например, определить "веревкой" как предлог и создать глагол "привязать веревкой"... Но, пока не накопите опыта программирования в TADS, извращаться таким образом не советую;).

Тогда еще придется определять "привязать провод" (чтобы работало "привязать провод веревкой к столбу") и "привязать к столбу", короче жопа :-)

А вот и нет. "Привязать веревкой", если сделать так, как я описал, парсер будет понимать в любом сочетании. Может понадобиться определить "привязать проводом" - если что-то потребуется им привязывать. Но на самом деле это действительно неоптимальное решение, которое может помочь в решении довольно узкого спектра задач.

Неактивен

0    0    #31
07.04.2008 23:08

uux
Участник (+884, -80)
Откуда: Москва
Зарегистрирован: 02.12.2006
Сообщений: 1624

Re: не качается авторкит

noname написал:

и если эти 1-ю фразу интерпретёр считает аналогичной 2-й, то дело- дрянь...

Вообще не должен, но глюки иногда бывают...

Неактивен

0    0    #32
08.04.2008 11:48

noname
Участник (+36, -9)
Зарегистрирован: 04.04.2008
Сообщений: 729

noname

Re: не качается авторкит

Flint, спасибо за Любовь

Неактивен

0    0    #33
08.04.2008 12:58

GrAndrey
папа RTADS и Бяка (+49, -2)
Откуда: Москва
Зарегистрирован: 15.09.2002
Сообщений: 1198
Вебсайт

меньше слов

Re: не качается авторкит

noname написал:

в приведённом тобой примере падежные(падёжные?) формы НЕ совпадают:

дать водки бомжу
и
дать водке бомжа

и если эти 1-ю фразу интерпретёр считает аналогичной 2-й, то дело- дрянь...

Дела в порядке. В игре присутствовала совершенно неуместная лексема 'водки#d' (как и 'водки#t').
Внимательно назначайте существительные и прилагательные. Бутылка водки должна иметь прилагательные 'водки' 'водки#r' и существительные 'бутылка'(во всех формах) и 'водка'(все формы).
Впрочем, в данном случае этот правильный подход работать не будет из-за нестандартной реализации покупки. Вместо того чтобы превращать бутылку в предлог, следует добавить класс водки в список доступных для глагола объектов.

Неактивен

0    0    #34
08.04.2008 17:44

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

---

Re: не качается авторкит

Вот видите, оказывается все нормально можно сделать, а ГрАнд ведь поумнее меня будет.
Так что, noname, не стоит думать о том, чтобы написать свой парсер. Если очень хочется, лучше приложи свои силы к усовершенстовованию RTADS.

Неактивен

0    0    #35
08.04.2008 18:43

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

Тон

Re: не качается авторкит

Если очень хочется, лучше приложи свои силы к усовершенстовованию RTADS.

А лучше напиши уже игру какую-нибудь. wink

Неактивен

0    0    #36
08.04.2008 20:33

noname
Участник (+36, -9)
Зарегистрирован: 04.04.2008
Сообщений: 729

noname

Re: не качается авторкит

да, и ещё:

>пнуть бомжа
Вы подходите к бомжу и, стараясь не дышать, расталкиваете его.
С трудом разлепив один глаз, тот хрипло произносит:
— Что за #@$?

>отхлебнуть водки
К сожалению, слово "отхлебнуть" мне неизвестно.

>пить водку
Вы отхлебываете из горла. Пойло настолько мерзкое, что у вас сводит дыхание и глаза застилает слезами. Немного отдышавшись, вы чувствуете какое-то жжение в желудке. Через некоторое время жжение становится нестерпимым и вы в корчах падаете на землю. А когда вы приходите в себя, то видите лишь белый потолок и капельницу, воткнутую в руку.

*** ВЫ НЕ СМОГЛИ ДОСТАТЬ ВИДЕОКАРТУ! ***

*** Вы проиграли игру! ***

мало того, что нарушается билль о правах игрока,
так ещё и складывается странное представление о персонаже.
эдакий хлюпик-ботан-пай-девочка, замышляющий грабёж...
впрочем, почему бы и нет?

надо отвыкать от диктаторских замашек, и становиться ближе к народу,
произволу авторов пришёл конец:
не дадим игрокам гибнуть понапрасну!
да здравствует КРИволюция!

Отредактировано noname (08.04.2008 20:35)

Неактивен

0    0    #37
08.04.2008 21:33

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

---

Re: не качается авторкит

А чем плохо игрокам гибнуть понапрасну?
Если это моментальное действие (тронул - убило), я не вижу в этом ничего страшного, потому что всегда можно отменить ход.
И изобретательное убийство персонажа иногда лучше высосанных из пальца причин, почему он не хочет делать то, что ты ему предлагаешь.

Неактивен

0    0    #38
08.04.2008 23:18

noname
Участник (+36, -9)
Зарегистрирован: 04.04.2008
Сообщений: 729

noname

Re: не качается авторкит

мог бы отхлебнуть водки и сказать что-нить по этому поводу, типа: "гарна горiлка"

вообще это такая очень тонкая претензия: к образу ГГ

хотя я толком не знаю, может автор его таким неженкой и видел,

впрочем, может это водка палёная была, но почему тогда бомж даже не блеванул и не вырубился на пару минут в луже...

Неактивен

0    0    #39
08.04.2008 23:50

noname
Участник (+36, -9)
Зарегистрирован: 04.04.2008
Сообщений: 729

noname

Re: не качается авторкит

и ещё:
лишние убийства/загрузки теоретически могли бы попортить атмосферу игры,
но это претензия не к твоему квесту а вообще-
ИМХО: даже моментальное убийство- плохо, поскольку процесс "отката" не способствует вживанию в игровой мир

Неактивен

0    0    #40
09.04.2008 05:24

uux
Участник (+884, -80)
Откуда: Москва
Зарегистрирован: 02.12.2006
Сообщений: 1624

Re: не качается авторкит

noname написал:

мог бы отхлебнуть водки и сказать что-нить по этому поводу, типа: "гарна горiлка"

вообще это такая очень тонкая претензия: к образу ГГ

хотя я толком не знаю, может автор его таким неженкой и видел,

впрочем, может это водка палёная была, но почему тогда бомж даже не блеванул и не вырубился на пару минут в луже...

Почему неженкой? Особой чувствительности я что-то в ГГ не заметил.

Водка была паленая, а бомж не вырубается, потому что у него иммунитет выработался за много лет питья всякой гадости.

noname написал:

и ещё:
лишние убийства/загрузки теоретически могли бы попортить атмосферу игры,
но это претензия не к твоему квесту а вообще-
ИМХО: даже моментальное убийство- плохо, поскольку процесс "отката" не способствует вживанию в игровой мир

Теоретически да, но на практике соглашусь с Flint'ом - в эру многократного undo проблема кажется несколько надуманной.

Неактивен

0    0    #41
09.04.2008 22:46

noname
Участник (+36, -9)
Зарегистрирован: 04.04.2008
Сообщений: 729

noname

Re: не качается авторкит

deepr

>открыть холодильник
Открыв холодильник, вы обнаружилы бутерброд с сыром и бутерброд с колбасой.

>инв
У ваc имеется:
   квадрат из серого пластика
   коробка топливных элементов

>взять бутерброд с колбасой и съесть его
Который "бутерброд" Вы имеете в виду: бутерброд с сыром или бутерброд с колбасой?

>с колбасой
Бутерброд с колбасой не на бутерброде с колбасой!

Было очень вкусно!

и хрюкотали зелюки как мюмзики в мове

Неактивен

0    0    #42
09.04.2008 22:53

noname
Участник (+36, -9)
Зарегистрирован: 04.04.2008
Сообщений: 729

noname

Re: не качается авторкит

сразу же после этого:

>съесть бутерброд с сыром
Я не понимаю это предложение.

>взять бутерброд с сыром и съесть его
Бутерброд с сыром не на бутерброде с сыром!

....- прогруз про робота

Было очень вкусно!

не ожидал...

Неактивен

0    0    #43
10.04.2008 12:31

imbeat
Участник
Откуда: Москва, Зеленоград
Зарегистрирован: 05.03.2008
Сообщений: 21

Re: не качается авторкит

да уж помнится, когда играл, тоже парился как бутер слопать1 +))

Неактивен

0    0    #44
12.04.2008 01:11

noname
Участник (+36, -9)
Зарегистрирован: 04.04.2008
Сообщений: 729

noname

Re: не качается авторкит

продолжаем разговор:

spellchecker - прикольная загогулина,
НО:

>осмотреть себя
вы, возможно имели ввиду "себе"
...

если правильно сделать спеллчекер, то сможет ли он, наример "встать с кровать" исправить на "встать с кровати"?
было бы неплохо- интерпретёр, с одной стороны, поймёт игрока, а с другой- выполнит корректную команду.

Неактивен

0    0    #45
12.04.2008 01:19

noname
Участник (+36, -9)
Зарегистрирован: 04.04.2008
Сообщений: 729

noname

Re: не качается авторкит

стартовая локация (a1)
>бежать на север
Я не понимаю это предложение.
>бежать север
Я не понимаю это предложение.
>бежать
Нужно указать направление. Например: идти на СЕВЕР (коротко - просто "с").

вторая локация (a2)
>

нет повести печальнее на свете...

в данном случае я просто создал пару локаций. без всякого сюжета и плана. меня устроил бы любой вариант работы команд, НО они УЖЕ работают некорректно.

p.s.
и эта ошибка присутствует и в Кащее, и, я подозреваю, во всех русских РТАДС-квестах, если автор не переписал команду "бежать" самостоятельно

Отредактировано noname (12.04.2008 01:24)

Неактивен

0    0    #46
12.04.2008 01:46

noname
Участник (+36, -9)
Зарегистрирован: 04.04.2008
Сообщений: 729

noname

Re: не качается авторкит

вторая локация (a2)
    А здесь стоит стол.
    На дубовом столе ты видишь зелёное яблоко.
>взять зелёное яблоко
К сожалению, слово "зеленое" мне неизвестно.

да, я обеими руками ЗА то, чтоб парсер принимал 'е' и 'ё' за одинаковые буквы во вводе пользователя, но неужели это даётся такой ценой? я хочу, чтоб яблоко было 'зелёное', его кушал 'ёж', и в результате у него возникнут определённые ощущения в 'нёбе', которое он может потрогать языком и попробовать вылечить и т п
p.s.
а ещё в детском журнале Трамвай читал необычные приключения буквы Ё. что-то в духе Кэролловской Алисы.

Отредактировано noname (12.04.2008 01:48)

Неактивен

0    0    #47
12.04.2008 01:54

noname
Участник (+36, -9)
Зарегистрирован: 04.04.2008
Сообщений: 729

noname

Re: не качается авторкит

и ещё:
было бы удобно задавать русские названия локациям и объектам.
вот объект сейф. пусть и называется сейф, нет мне приходится выдумывать английское название, и помнить, что это слово означает сейф. в случае наличие в игре различных но похожих объектов это не очень удобно. да и вообще в больших проектах это всегда крайне не удобно- помнить, как ты назвал зеркало mirror или looking_glass, как именно ты описал объект box - ящик или коробка и т д

Неактивен

0    0    #48
12.04.2008 02:34

noname
Участник (+36, -9)
Зарегистрирован: 04.04.2008
Сообщений: 729

noname

Re: не качается авторкит

и ещё:
где найти список всех классов объектов

конкретно мне нужен lockablecontainer

Неактивен

0    0    #49
12.04.2008 02:50

Mioirel
Участник (+11)
Зарегистрирован: 15.07.2007
Сообщений: 31

Re: не качается авторкит

Придираться можно бесконечно, но это никак не ускоряет процесс написания квестов. Нонейм, возьми пример с меня и плюнь ты на все корявости – главное пиши. Что-то удастся исправить походу дела, а на остальное попросту надо забить. Чем сложен ТАДС, как собственно и любая другая парсерная платформа, так это тем, что ТАДС МНОГОГРАНЕН. Но это не значит, что автор должен ставить перед собой цель полировать до безумного блеска каждую грань. Продукт должен быть сдобен – это, прежде всего.

Корявости есть всегда и везде, а вот интерактивной литературы не так уж и много.

ps.
Описания классов расписано в advr.t

Отредактировано Mioirel (12.04.2008 02:52)

Неактивен

0    0    #50
12.04.2008 02:56

noname
Участник (+36, -9)
Зарегистрирован: 04.04.2008
Сообщений: 729

noname

Re: не качается авторкит

а так же свойство, которое отвечает за 'видимость' объектов.
для fixeditem оно по умолчанию то ли false то ли nil что в мини-квесте не удобно: хочу поменьше описывать. Просто пробую программировать на РТАДС и писать лишние описания мне незачем.

Неактивен

0    0    #51
12.04.2008 03:01

Mioirel
Участник (+11)
Зарегистрирован: 15.07.2007
Сообщений: 31

Re: не качается авторкит

За видимость объектов отвечает переменная isListed в теле класса fixeditem.

Отредактировано Mioirel (12.04.2008 03:01)

Неактивен

0    0    #52
12.04.2008 03:05

noname
Участник (+36, -9)
Зарегистрирован: 04.04.2008
Сообщений: 729

noname

Re: не качается авторкит

Mioirel - спасибо! не всегда понятно, где и что искать...
как видишь, я уже пишу.

Неактивен

0    0    #53
12.04.2008 03:09

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

Тон

Re: не качается авторкит

RTADS - это всего лишь инструмент, со своими ограничениями. Любая свобода, в том числе и свобода творить, существует внутри каких-то рамок. Да на RTADS невозможно написать исчерпывающую модель реальности. Ну и что? В книгах, вон, вообще нет интерактивности. wink

Неактивен

0    0    #54
12.04.2008 03:16

noname
Участник (+36, -9)
Зарегистрирован: 04.04.2008
Сообщений: 729

noname

Re: не качается авторкит

ну ничего, ASBer вам всем ещёпокажет! я за него болею.

а насчёт запирания контейнера:
нашёл класс lockable
box : lockable, container, fixeditem, openable
isOpen = nil
isLocked = true
mykey = key

объект key тоже описан.
и вот, подхожу я к сейфу БЕЗ ключа и легко открываю командой отпереть.
что не так?

Неактивен

0    0    #55
12.04.2008 03:25

Mioirel
Участник (+11)
Зарегистрирован: 15.07.2007
Сообщений: 31

Re: не качается авторкит

Попробуй убрать container (в нем стоит isopen = true), openable уже имеет этот класс. Следи за регистром размера букв - он учитывается.

Неактивен

0    0    #56
12.04.2008 03:29

noname
Участник (+36, -9)
Зарегистрирован: 04.04.2008
Сообщений: 729

noname

Re: не качается авторкит

про исчерпывающую модель мы ещё поговорим.

насчёт ключа к сейфу: несколько неудобно, что запирающиеся контейнеры и запирающиеся двери реализованы ОЧЕНЬ по разному: для контейнеров заведён отдельный класс keyedlockable, а для дверей достаточно указать свойство mykey указывающее на объект keyItem

Неактивен

0    0    #57
12.04.2008 03:38

noname
Участник (+36, -9)
Зарегистрирован: 04.04.2008
Сообщений: 729

noname

Re: не качается авторкит

а регистр букв- вообще чудная вещь:

-keyedLockable - одна большая буква
-islocked - ни одной

по логике Си было бы KeyedLockable и IsLocked
так или иначе к регистрам привыкнуть не просто, как и к кавычкам, но я таки сделаю что-нибудь серьёзное.

p.s.
думаю, к КРИЛ-2008 буду писать три квеста: под досурку, qsp и РТАДС.
начал ещё и на Delphi(парсерный), но у него меньше всего шансов быть завершённым.
p.p.s.
РТАДС есть за что любить, но как только я в нём (и в парсере от ASBer) досконально разберусь- начну писать свой парсер.

Неактивен

0    0    #58
12.04.2008 03:43

Mioirel
Участник (+11)
Зарегистрирован: 15.07.2007
Сообщений: 31

Re: не качается авторкит

Да, этот регистр поначалу сводил меня с ума. И продолжает.

Неактивен

0    0    #59
12.04.2008 05:05

GrAndrey
папа RTADS и Бяка (+49, -2)
Откуда: Москва
Зарегистрирован: 15.09.2002
Сообщений: 1198
Вебсайт

меньше слов

Re: не качается авторкит

Можно сделать простые "обертки" такого типа:

Код:

isLocked: islocked;

Подобное я уже сделал с функцией loweru, которую сам постоянно вызывал как lowerru.

Неактивен

0    0    #60
12.04.2008 05:38

noname
Участник (+36, -9)
Зарегистрирован: 04.04.2008
Сообщений: 729

noname

Re: не качается авторкит

в моём мини-квесте уже четыре локации, несколько объектов
и персонаж: робот.

вопрос:
- в мануале приводится пример случайного блуждания персонажа с проверкой выходов.
- МОЖНО ли с помощью какой-либо функции проверить доступность какого-либо действия, получить список доступных действий для персонажа не-игрока.
НАПРИМЕР:
массив VV содержит список глаголов для данного персонажа
массив NN содержит список объектов, присутствующих в игре + пустой объект
хочу в цикле перебрать каждую пару VV[x],NN[y] и если VV[x]+NN[y] не только клеится в корректную команду, но ещё и выполнимо при текущих обстоятельствах - заношу это действие в список LL[z]. затем случайным образом с равной вероятностью выбираю одно из действий на выполнение.

суть ВОПРОСа в том: есть ли какая-либо функция для проверки возможности действия VV[x]+NN[y] ?
(если нет, то и не надо - в таком виде она мне нужна только на промежуточном этапе подготовки квеста- потом всё равно прийдётся писать свою функцию выбора действия )

Неактивен

0    0    #61
12.04.2008 07:36

uux
Участник (+884, -80)
Откуда: Москва
Зарегистрирован: 02.12.2006
Сообщений: 1624

Re: не качается авторкит

noname написал:

нет повести печальнее на свете...

в данном случае я просто создал пару локаций. без всякого сюжета и плана. меня устроил бы любой вариант работы команд, НО они УЖЕ работают некорректно.

p.s.
и эта ошибка присутствует и в Кащее, и, я подозреваю, во всех русских РТАДС-квестах, если автор не переписал команду "бежать" самостоятельно

Ну, и в чем проблема переопределить самому?wink

noname написал:

да, я обеими руками ЗА то, чтоб парсер принимал 'е' и 'ё' за одинаковые буквы во вводе пользователя, но неужели это даётся такой ценой? я хочу, чтоб яблоко было 'зелёное', его кушал 'ёж', и в результате у него возникнут определённые ощущения в 'нёбе', которое он может потрогать языком и попробовать вылечить и т п
p.s.
а ещё в детском журнале Трамвай читал необычные приключения буквы Ё. что-то в духе Кэролловской Алисы.

noname, простите, конечно, но Вы с удовольствием распространяетесь о глюках RTADS, но не хотите разбираться с глюками в собственной голове. "Поддержка" буквы Ё включается в RTADS одним движением руки, и Вам уже описывали, как. Если это для Вас так важно, что Вам мешает это сделать самостоятельно?

noname написал:

было бы удобно задавать русские названия локациям и объектам.
вот объект сейф. пусть и называется сейф, нет мне приходится выдумывать английское название, и помнить, что это слово означает сейф. в случае наличие в игре различных но похожих объектов это не очень удобно. да и вообще в больших проектах это всегда крайне не удобно- помнить, как ты назвал зеркало mirror или looking_glass, как именно ты описал объект box - ящик или коробка и т д

А что мешает обзывать их транслитом? С большими же проектами априори крайне неудобно работать по сравнению с маленькими проектами;). И возможность обзывть объекты русскими буквами - отнюдь не панацея. Варианты борьбы: IDE - пока утопия; самому вести базу данных объектов (хотя бы на бумаге).

noname написал:

и ещё:
где найти список всех классов объектов

конкретно мне нужен lockablecontainer

http://www.rtads.org/man/TADSSTD.HTM - эту ссылку я Вам тоже уже давал, кстати, когда речь шла о списке всех понимаемых системой глаголов.

Отредактировано uux (12.04.2008 07:37)

Неактивен

0    0    #62
12.04.2008 07:52

uux
Участник (+884, -80)
Откуда: Москва
Зарегистрирован: 02.12.2006
Сообщений: 1624

Re: не качается авторкит

noname написал:

вопрос:
- в мануале приводится пример случайного блуждания персонажа с проверкой выходов.
- МОЖНО ли с помощью какой-либо функции проверить доступность какого-либо действия, получить список доступных действий для персонажа не-игрока.
НАПРИМЕР:
массив VV содержит список глаголов для данного персонажа
массив NN содержит список объектов, присутствующих в игре + пустой объект
хочу в цикле перебрать каждую пару VV[x],NN[y] и если VV[x]+NN[y] не только клеится в корректную команду, но ещё и выполнимо при текущих обстоятельствах - заношу это действие в список LL[z]. затем случайным образом с равной вероятностью выбираю одно из действий на выполнение.

суть ВОПРОСа в том: есть ли какая-либо функция для проверки возможности действия VV[x]+NN[y] ?
(если нет, то и не надо - в таком виде она мне нужна только на промежуточном этапе подготовки квеста- потом всё равно прийдётся писать свою функцию выбора действия )

Специальной функции нет. Можно поступить так: отключить вывод на экран, затем вызвать верификатор и проверить, выводит ли он что-либо на экран:

Код:

old_stat:=outhide(true);  // Отключаем вывод на экран
[i]Вызов верификатора[/i]
new_stat:=outhide(old_stat);  // Включаем вывод на экран обратно
if(not new_stat)
...   // Вывода на экран от верификатора не было -> действие допустимо
else
...  // Вывод на экран был -> действие недопустимо

Другой вариант - сделать NN не списком всех объектов в игре, а списком объектов, которыми персонаж может манипулировать, а затем написать развесистую проверку, проверяющую каждое возможное сочетание глагола и объекта.

Извините, сейчас не могу написать более подробный и конкретный пример - нет времени. Если будут непонятки - спрашивайте еще, постараюсь помочь.

Неактивен

0    0    #63
12.04.2008 08:30

noname
Участник (+36, -9)
Зарегистрирован: 04.04.2008
Сообщений: 729

noname

Re: не качается авторкит

noname, простите, конечно, но Вы с удовольствием распространяетесь о глюках RTADS, но не хотите разбираться с глюками в собственной голове. "Поддержка" буквы Ё включается в RTADS одним движением руки, и Вам уже описывали, как. Если это для Вас так важно, что Вам мешает это сделать самостоятельно?

спасибо за прямоту. глюков у меня и вправду хватает. в данном случае описанный рецепт будет иметь тот недостаток, что пользователю обязательно нужно будет вводить букву Ё. идеальный вариант: пользователь может, но не обязан использовать букву Ё где ей положено. парсер должен всегда выводить букву Ё там где ей положено быть. вроде бы это же пожелание и содержалось в посте, на который ты ответил.
p.s.
да, кстати, давай переходить на ты
впрочем, это дело десятое.
а "урезание" буквы Ё я таки уберу

Отредактировано noname (12.04.2008 08:30)

Неактивен

0    0    #64
12.04.2008 08:35

uux
Участник (+884, -80)
Откуда: Москва
Зарегистрирован: 02.12.2006
Сообщений: 1624

Re: не качается авторкит

noname написал:

noname, простите, конечно, но Вы с удовольствием распространяетесь о глюках RTADS, но не хотите разбираться с глюками в собственной голове. "Поддержка" буквы Ё включается в RTADS одним движением руки, и Вам уже описывали, как. Если это для Вас так важно, что Вам мешает это сделать самостоятельно?

спасибо за прямоту. глюков у меня и вправду хватает. в данном случае описанный рецепт будет иметь тот недостаток, что пользователю обязательно нужно будет вводить букву Ё. идеальный вариант: пользователь может, но не обязан использовать букву Ё где ей положено. парсер должен всегда выводить букву Ё там где ей положено быть. вроде бы это же пожелание и содержалось в посте, на который ты ответил.
p.s.
да, кстати, давай переходить на ты
впрочем, это дело десятое.
а "урезание" буквы Ё я таки уберу

На самом деле, в описанном тобой выше примере даже урезание отменять не потребуется: достаточно определить для яблока лексическое свойство "зеленое" (а не "зелёное"), и что бы игрок не ввел - с Ё или без Ё - игра его поймет.

Мне сразу в голову это не пришло - видно, с глюками в мозгу и у меня все в порядке;).

Отредактировано uux (12.04.2008 08:36)

Неактивен

0    0    #65
12.04.2008 08:40

noname
Участник (+36, -9)
Зарегистрирован: 04.04.2008
Сообщений: 729

noname

Re: не качается авторкит

смысл поста ясен
упомянутый пример сейчас пишу самостоятельно
благо у меня всего 6-ть объектов и 8-мь команд (из них долько 2-а требуют более одного аргумента)

возможно, эта информация где-то содержится, но спрошу:
можно ли получить доступ к переменным, содержащим введённые игроком глагол и аргументы?
(желательно с инфой о том, в каком падеже и т п)

Неактивен

0    0    #66
12.04.2008 12:56

noname
Участник (+36, -9)
Зарегистрирован: 04.04.2008
Сообщений: 729

noname

Re: не качается авторкит

что сделать, что бы такой код заработал?:

magicVerb: deepverb
  verb = 'xyzzy' 'ксиззи'
  sdesc = "xyzzy"
  action( actor ) =
  {
      if ( actor.location = b1room )
      {
        "Внезапно пещеру заволакивает облаком оранжевого дыма.
        Когда оно рассеивается, ты внезапно обнаруживаешь,
        что находишься в хижине!";
        actor.moveInto(b2room);
      }
      else if (actor.location = b2room)
      {
        "Внезапно ты чувствуешь головокружение, а комната
        все быстрее и быстрее начинает вращаться вокруг тебя.
        Более-менее придя в себя, ты обнаруживаешь, что находишься
        в пещере! ";
        actor.moveInto( b1room );
      }
      else
        "Ничего не происходит.";
  }
;

пишет, что слово xyzzy не известно


ñåâåðî-âîñòî÷íàÿ ëîêàöèÿ (b2)
    Èçíà÷àëüíî ðîáîòà ïîìåùàåì ñþäà.
    Çäåñü íàõîäèòñÿ ñêðèïó÷èé ðîáîò.
ðîáîò íàïåâàåò ïîïóëÿðíóþ ïåñåíêó.
>xyzzy
Ê ñîæàëåíèþ, ñëîâî "xyzzy" ìíå íåèçâåñòíî.
>

и почему перестали нормально вставляться вырезки из работающей проги?

p.s.
я нихрена не спал и поэтому не уверен теперь, что я всё/что-нибудь/кое-что делаю правильно, НО насколько я могу судить вроде бы шрифты - это какая-то проблема на форуме? в проге я их НЕ менял.

Отредактировано noname (12.04.2008 13:12)

Неактивен

0    0    #67
12.04.2008 13:14

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

Тон

Re: не качается авторкит

и почему перестали нормально вставляться вырезки из работающей проги?

Переключи раскладку на русскую перед тем как нажимать Ctrl-C

Неактивен

0    0    #68
12.04.2008 13:23

noname
Участник (+36, -9)
Зарегистрирован: 04.04.2008
Сообщений: 729

noname

Re: не качается авторкит

uux

Специальной функции нет.

а вот и есть! надеюсь, она мне не снится. вот она:

checkreach
checkreach: function(loc, actor, v, obj): проверяет, может ли актер (персонаж) actor манипулировать объектом obj при помощи глагола v, находясь в комнате loc. Функция используется на этапе валидации (проверки корректности) команды. Эта функция разрешает дальнейшую обработку команды, если obj - это объект специального типа (numObj или strObj), если этот объект находится в инвентаре актера actor, а также в том случае, если он внесен в список reachable комнаты loc. Во всех прочих случаях возвращается выводится сообщение об ошибке, что на этапе валидации автоматически означает отказ от дальнейшей обработки.

впрочем, неуверен, что именно она проверяет: взять кровать по её мнению тоже можно?...

Неактивен

0    0    #69
12.04.2008 13:26

noname
Участник (+36, -9)
Зарегистрирован: 04.04.2008
Сообщений: 729

noname

Re: не качается авторкит

стартовая локация (a1)
    Это моя первая локация.

северная локация (a2)
    Вот мои первые объекты.
    Ты видишь здесь дубовый стол и стальной ключ. На дубовом столе ты видишь надёжный сейф.

северо-восточная локация (b2)
    Изначально робота помещаем сюда.
    Здесь находится скрипучий робот.
робот напевает популярную песенку.
>ксиззи
К сожалению, слово "ксиззи" мне неизвестно.
>

вот! по-крайней мере со вставкой разобрались, СПАСИБО!
но как быть с ксиззи???
может я его куда-нить не туда вставляю,
или где-то чего-то ещё нужно изменить?

Неактивен

0    0    #70
12.04.2008 13:26

uux
Участник (+884, -80)
Откуда: Москва
Зарегистрирован: 02.12.2006
Сообщений: 1624

Re: не качается авторкит

noname написал:

смысл поста ясен
упомянутый пример сейчас пишу самостоятельно
благо у меня всего 6-ть объектов и 8-мь команд (из них долько 2-а требуют более одного аргумента)

возможно, эта информация где-то содержится, но спрошу:
можно ли получить доступ к переменным, содержащим введённые игроком глагол и аргументы?
(желательно с инфой о том, в каком падеже и т п)

Информация вот здесь:

http://www.rtads.org/man/TADSADPT.HTM, далее текстовым поиском на странице по шаблону "Получение информации о текущей команде".

С информацией о падежах и т. п. хуже - системной функции для этого в TADS нет. Что навскидку приходит в голову - из функции preparse сохранить в промежуточной переменной строку в том виде, в каком ее ввел игрок, а потом разбираться с падежами. Но это муторно.

Неактивен

0    0    #71
12.04.2008 13:30

uux
Участник (+884, -80)
Откуда: Москва
Зарегистрирован: 02.12.2006
Сообщений: 1624

Re: не качается авторкит

noname написал:

но как быть с ксиззи???
может я его куда-нить не туда вставляю,
или где-то чего-то ещё нужно изменить?

На первый взгляд, все должно компилироваться нормально. Единственное, что приходит на ум - файл, где определен ксиззи, не включен в число компилируемых, либо каким-то образом этот фрагмент оказался между комментариями. Если совсем затык - шли на мыло uux собака mail точка ru, буду разбираться.

Неактивен

0    0    #72
12.04.2008 13:35

uux
Участник (+884, -80)
Откуда: Москва
Зарегистрирован: 02.12.2006
Сообщений: 1624

Re: не качается авторкит

noname написал:

uux написал:

Специальной функции нет.

а вот и есть! надеюсь, она мне не снится. вот она:

Молодец! Уел меня.smile

noname написал:

checkreach
checkreach: function(loc, actor, v, obj): проверяет, может ли актер (персонаж) actor манипулировать объектом obj при помощи глагола v, находясь в комнате loc. Функция используется на этапе валидации (проверки корректности) команды. Эта функция разрешает дальнейшую обработку команды, если obj - это объект специального типа (numObj или strObj), если этот объект находится в инвентаре актера actor, а также в том случае, если он внесен в список reachable комнаты loc. Во всех прочих случаях возвращается выводится сообщение об ошибке, что на этапе валидации автоматически означает отказ от дальнейшей обработки.

впрочем, неуверен, что именно она проверяет: взять кровать по её мнению тоже можно?...

В общем случае она проверяет, что актер и объект находятся в одной и той же комнате и что при этом актер видит объект (возможны более сложные специальные случаи - например, для глагола "спросить о" невыполнение данных условий не будут мешать заимодействию с объектом, но мы их пока касаться не будем). Грубо говоря, она проверяет, надо ли выдавать ошибку типа "Я не вижу здесь этого".  Таким образом, если игрок и кровать находятся в одной комнате, функция не будет возражать против "взять кровать".

Неактивен

0    0    #73
12.04.2008 13:38

noname
Участник (+36, -9)
Зарегистрирован: 04.04.2008
Сообщений: 729

noname

Re: не качается авторкит

а вот и не так уж и муторно-
это смотря для каких целей. мне эта штука вот зачем:

1. в редких, заранее известных случаях разруливать неоднозначности
(когда слишком догадливый интерпретатор исправляет итак корректную фразу так, что у неё получается другой смысл) - точно щаззз не скажу когда это надо, но у меня такое получалось уже вчера. тут суть в том, что парсер не различает формы введённых слов.

2. для хороших подсказок вместо некоторых сообщений об ошибках:
>положить ключ под стол
Я не понимаю это предложение.

от такой честности никому не легче. куда лучше будет:
-незачем ложить ключ под стол
-положи его на стол или просто выложи

p.s.
это будет для некоторых, заранее известных случаев, когда ясно какое слово и в какой форме ищем.

Неактивен

0    0    #74
12.04.2008 13:44

noname
Участник (+36, -9)
Зарегистрирован: 04.04.2008
Сообщений: 729

noname

Re: не качается авторкит

заранее извиняюсь, но так уж исторически сложилось, что я чувствую эту тему своей и могу позволить себе выложить листинг:

/* Это просто комментарий, такой же, как, например, в языке Си */
/* Эти две строчки разрешают использовать возможности HTML в нашей игре */
#define USE_HTML_STATUS
#define USE_HTML_PROMPT
#include <advr.t>            /* включить файл с основными определениями объектов для текстовых квестов (русская версия)*/
#include <stdr.t>            /* включить файл определений стандартных функций, вызываемых при старте (русская версия) */
#include <errorru.t>         /* включить файл с русскими сообщениями об ошибках */
/************** поля *************************************************************************************************/
startroom: room                 /* по умолчанию, игра начинается в комнате с названием startroom */
  sdesc = "<b>стартовая локация (a1)</b>"            /* краткое опиание комнаты (от английского Short DESCription) */
  ldesc = "Это моя первая локация."
  north = a2room
  east  = b1room
;
a2room:room
  sdesc = "<b>северная локация (a2)</b>"
  ldesc = "Вот мои первые объекты."
  south = startroom
  east  = b2room
;
b1room:room
  sdesc = "<b>восточная локация (b1)</b>"
  ldesc = "Ещё одна заморочка."
  west  = startroom
  north = b2room
;
b2room:room
  sdesc = "<b>северо-восточная локация (b2)</b>"
  ldesc = "Изначально робота помещаем сюда."
  west  = a2room
  south = b1room
  enterRoom( actor ) =
  {
    if ( not self.isseen )
      notify( robot, &actorDaemon, 0 );
    pass enterRoom;
  }
;

/************************************** качели ************************************************************************/
table: surface, fixeditem
   sdesc = "дубовый стол"
   rdesc = "дубового стола"
   ddesc = "дубовому столу"
   vdesc = "дубовый стол"
   tdesc = "дубовым столом"
   pdesc = "дубовом столе"
   noun = 'стол' 'стола' 'столу' 'столом' 'столе' 'столу#d' 'столом#t'
   adjective = 'дубовый' 'дубового' 'дубовому' 'дубовым' 'дубовом' 'дубовому#d' 'дубовым#t'
   isListed = true
   isHim = true
   location = a2room
   ldesc =
   {
     "Стол представляет из себя квадратную крышку на четырёх ножках. На нём стоит надёжный сейф.";
   }
;
box: keyedLockable, container, fixeditem, openable
   sdesc = "надёжный сейф"
   rdesc = "надёжного сейфа"
   ddesc = "надёжному сейфу"
   vdesc = "надёжный сейф"
   tdesc = "надёжным сейфом"
   pdesc = "надёжном сейфе"
   noun = 'сейф' 'сейфа' 'сейфу' 'сейфом' 'сейфе' 'сейфу#d' 'сейфом#t'
   adjective = 'надёжный' 'надёжного' 'надёжному' 'надёжным' 'надёжном' 'надёжному#d' 'надёжным#t'
   isListed = true
   mykey= key
   isHim = true
   isopen = nil
   islocked = true
   location = table // !!!!!!!!!!!!!!! заремаркить убирание буквы Ё в нужной библиотеке
;
/********* вещи ****************************************************************************************************/
apple: item
   sdesc = "зелёное яблоко"
   rdesc = "зелёного яблока"
   ddesc = "зелёному яблоку"
   vdesc = "зелёное яблоко"
   tdesc = "зелёным яблоком"
   pdesc = "зелёном яблоке"
   noun = 'яблоко' 'яблока' 'яблоку' 'яблоком' 'яблоку#d' 'яблоком#t' 'яблоке'
   adjective = 'зелёное' 'зелёного' 'зелёному' 'зелёным' 'зелёном' 'зелёному#d' 'зелёным#t'
   //isHim = true
   location = box
;
key: keyItem
   sdesc = "стальной ключ"
   rdesc = "стального ключа"
   ddesc = "стальному ключу"
   vdesc = "стальной ключ"
   tdesc = "стальным ключом"
   pdesc = "стальном ключе"
   noun = 'ключ' 'ключа' 'ключу' 'ключом' 'ключу#d' 'ключом#t' 'ключе'
   adjective = 'стальной' 'стального' 'стальному' 'стальным' 'стальном' 'стальному#d' 'стальным#t'
   isHim = true
   location = a2room
;
/********************************** актёры ****************************************************************************/
robot: Actor
    noun = 'робот' 'робота' 'роботу' 'роботом' 'роботе' 'роботу#d' 'роботом#t'
    adjective = 'скрипучий' 'скрипучего' 'скрипучему' 'скрипучим' 'скрипучем' 'скрипучему#d' 'скрипучим#t'
    sdesc = "скрипучий робот"
    rdesc = "скрипучего робота"
    ddesc = "скрипучему роботу"
    vdesc = "скрипучего робота"
    tdesc = "скрипучим роботом"
    pdesc = "скрипучем роботе"
    isHim = true
    isawake = true
    location = b2room
    actorDaemon =
    {
        if ( self.location <> Me.location or not self.isawake ) return;//!!!!!!!!!!!!! вычислять вместо Me
        "\b";
        switch( rand( 5 ) )
        {
         case 1:
            "робот ходит туда-сюда.";
            break;
         case 2:
            "робот выстукивает какую-то мелодию.";
            break;
         case 3:
            "робот напевает популярную песенку.";
            break;
         case 4:
            "робот выстукивает чечётку. ";
        break;
         case 5:
            "робот тихонько поскрипывает.";
            break;
         }
     }
   ;
magicVerb: deepverb
  verb = 'xyzzy' 'ксиззи'
  sdesc = "xyzzy"
  action( actor ) =
  {
      if ( actor.location = b1room )
      {
        "Внезапно пещеру заволакивает облаком оранжевого дыма.
        Когда оно рассеивается, ты внезапно обнаруживаешь,
        что находишься в хижине!";
        actor.moveInto(b2room);
      }
      else if (actor.location = b2room)
      {
        "Внезапно ты чувствуешь головокружение, а комната
        все быстрее и быстрее начинает вращаться вокруг тебя.
        Более-менее придя в себя, ты обнаруживаешь, что находишься
        в пещере! ";
        actor.moveInto( b1room );
      }
      else
        "Ничего не происходит.";
  }
;
/*
switchPlayer(Me);
parserGetMe();
*/

файл у меня единственный

Неактивен

0    0    #75
12.04.2008 16:33

uux
Участник (+884, -80)
Откуда: Москва
Зарегистрирован: 02.12.2006
Сообщений: 1624

Re: не качается авторкит

noname написал:

заранее извиняюсь, но так уж исторически сложилось, что я чувствую эту тему своей и могу позволить себе выложить листинг:
...
файл у меня единственный

Скачал. Скомпилировал. Все работает, "ксиззи" распознается.

Вопрос: может, ты добавил код для xyzzy и, не закрывая и не сохраняя файла в редакторе, сразу стал компилировать и запускать игру?

Попробуй сейчас еще раз.

Кстати, в подобных случаях можно проверить, действительно ли измененный код внесен в файл исходника, просмотрев его в окне дебаггера (в смысле, TADS Workbench).

Отредактировано uux (12.04.2008 16:44)

Неактивен

0    0    #76
12.04.2008 17:09

noname
Участник (+36, -9)
Зарегистрирован: 04.04.2008
Сообщений: 729

noname

Re: не качается авторкит

всё перепроверял тысячу раз.
библиотеки смотрел насчёт переопределения глагола.
НО
после твоего поста- неожиданно разобрался!

рассказываю для последующих поколений авторов:

в менюхе Build- Settings- Source показывал на пред папку.
как получилось: пишу квест в папке ...\001, затем очередную версию копирую в 002 и т п
итого на тот момент у меня было 4-ре версии

по неизвестной причине квест 004 при загрузке показывал свой текст, но имел путь на исходник 003
как я так умудрился сделать- не помню. всё из-за жуткого недосыпа.
до этого все пути менялись корректно автоматически

огромное тебе СПАСИБИЩЕ, uux Коптельцев Валентин.
(Ведь это ты?)

Неактивен

0    0    #77
12.04.2008 17:25

uux
Участник (+884, -80)
Откуда: Москва
Зарегистрирован: 02.12.2006
Сообщений: 1624

Re: не качается авторкит

noname написал:

всё перепроверял тысячу раз.
библиотеки смотрел насчёт переопределения глагола.
НО
после твоего поста- неожиданно разобрался!

рассказываю для последующих поколений авторов:

в менюхе Build- Settings- Source показывал на пред папку.
как получилось: пишу квест в папке ...\001, затем очередную версию копирую в 002 и т п
итого на тот момент у меня было 4-ре версии

по неизвестной причине квест 004 при загрузке показывал свой текст, но имел путь на исходник 003
как я так умудрился сделать- не помню. всё из-за жуткого недосыпа.
до этого все пути менялись корректно автоматически

огромное тебе СПАСИБИЩЕ, uux Коптельцев Валентин.
(Ведь это ты?)

Да, это яwink. Пожалуйста. Если еще будут вопросы - обращайся.

Кстати, наткнулся чуть выше на следующую жалобу:

noname написал:

а регистр букв- вообще чудная вещь:

-keyedLockable - одна большая буква
-islocked - ни одной

по логике Си было бы KeyedLockable и IsLocked
так или иначе к регистрам привыкнуть не просто, как и к кавычкам, но я таки сделаю что-нибудь серьёзное.

При желании распознавание регистра символов в компиляторе можно отключить вообще. В Workbench'е идем в Build->Settings, тыкаемся во вкладку Advanced и включаем флажок Ignore case (in object names, functions, etc.). Все, вопрос с регистром решен раз и навсегда!

Неактивен

0    0    #78
12.04.2008 18:37

noname
Участник (+36, -9)
Зарегистрирован: 04.04.2008
Сообщений: 729

noname

Re: не качается авторкит

просто приколы:

стартовая локация (a1)
    Это моя первая локация.
>ксиззи
Внезапно тебя заволакивает облаком оранжевого дыма. Когда оно рассеивается, ты внезапно обнаруживаешь, что ты вселился в робота!
>осм
Скрипучий робот не заинтересован.

Скрипучий робот не заинтересован.
>ксиззи
Скрипучий робот не заинтересован.
>quit
Скрипучий робот не заинтересован.

исправил:

>осм
северная локация (a2)
    Вот мои первые объекты.
    Скрипучий робот видит здесь дубовый стол и стальной ключ. На дубовом столе скрипучий робот видит надёжный сейф.
    Здесь находится ты.
>я, иди на юг
    Ты ушёл.
>взять ключ
Взят.
>робот, отопри сейф
(с помощью стального ключа)
Отомкнул.
>взять стол
Скрипучий робот не может взять дубовый стол.

боюсь подходить к самому сложному этапу- независимому поведению персонажей.
пока что- пусть составляют списки доступных действий
и выбирают действие наугад.
p.s.
может, всё гениальное просто- пусть неписи иногда пытаются сотворить с предметами невозможное- игрок почувствует себя не одиноким в своей неравной борьбе с парсером, а заодно и мне проверок меньше.

Неактивен

Powered by PunBB
© copyright 2001–2024 iFiction.Ru