Forum.iFiction.Ru

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

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

Вы не зашли.

0    0    #1
07.01.2008 01:43

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

Тон

определение "собственных" глаголов: склонения "ответов по умолчанию"

В игре понадобилось определить глагол. Сделал так (имена и явки поменял, но суть та же):

Код:

shootVerb : deepverb
 verb = 'стрелять' 'стрельни' 'стрелять из' 'стрельни из'
 sdesc = "стрельнуть"
 vopr = "Из чего "
 pred = fromPrep
 doAction = 'Shoot'     
;

Так вот. pred походу вообще не влияет на "ответ по умолчанию". Есть объект "пистолет", например.

Пишу:

>стрелять из пистолета

Вы пальнули в воздух...


все нормально

Пишу
>стрелять

(пистолет)
Вы пальнули в воздух...


И что за нахрен? sad Хочу, чтобы в скобочках было "из пистолета"...

Если preposition определен для "косвенного" объекта, то все путем. Если для "прямого" (в виде pred), то не ставит в нужный падеж и не добавляет предлог. У кого-нибудь есть мысли как сие исправить?

Я глянул, pred не используется нигде в библиотеке, кроме как в описаниях глаголов. Гранд, ты хотел сделать, но забыл что ли? wink Или я вообще не так все понял?

Неактивен

0    0    #2
07.01.2008 02:05

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

Тон

Re: определение "собственных" глаголов: склонения "ответов по умолчанию"

Как обычно, блин.

Кажется выяснил. wink

parseDefault определен в errorru.t... Но он не умеет обращаться с "моим" preposition (fromPrep).
В общем, надо поправить.

Неактивен

0    0    #3
07.01.2008 02:27

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

Тон

Re: определение "собственных" глаголов: склонения "ответов по умолчанию"

Короче, нашел спорное, но для меня вполне рабочее решение. Теперь, если у глагола определен parsdef, то его pred будет учитываться при построении фразы. Вот код функции ParseDefaultExt (определенной в errorru.t):

Код:

parseDefaultExt: function(actor, verb, obj, prp)
  {
    "(";
    if (prp = nil) 
      {
       if (verb.parsdef) {
    if (verb.pred) {
     verb.pred.sdesc;
     " ";
    }    
    obj.(verb.parsdef);
       }    
       else obj.vdesc;
      } 
    else
     {
    if (!(prp=toPrep && obj.isactor)) {prp.sdesc;" ";} }
    if (prp = atPrep or prp = inPrep) obj.vdesc;
    if (prp = withPrep) obj.rdesc;
    if (prp = overPrep) obj.tdesc;
    if (prp = onPrep) obj.pdesc;
    if (prp = offPrep or prp = fromPrep or prp = outPrep) obj.rdesc;
    if (prp = toPrep) obj.ddesc;
    ")\n";
  }

Соответственно, мой глагол определен как:

Код:

shootVerb : deepverb
 verb = 'стрелять' 'стрельни' 'стрелять из' 'стрельни из'
 sdesc = "стрельнуть"
 vopr = "Из чего "
 pred = fromPrep
 parsdef = &rdesc
 doAction = 'Shoot'     
;

Гранд, скажи свое веское слово.

Неактивен

0    0    #4
07.01.2008 21:36

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

Тон

Re: определение "собственных" глаголов: склонения "ответов по умолчанию"

Супер. Для моих глаголов работает. Нафик parsdef. smile

Неактивен

Powered by PunBB
© copyright 2001–2021 iFiction.Ru