Вопросы по метапарсеру

  1. 4 months ago

    Irremann

    Sep 23 Постоялец User since 2014

    Вопрос по наборам глаголов, привожу код:

    Verb ({ "TalkTo %3", "говорить|~поговорить", "с|со", "{obj}тв" }, room1, room3); 

    "Говорить" все равно доступен везде. В stdparser.lua закомментировал, не помогло.

    Второй вопрос: МП не всегда прокручивает текст до низа. Заходишь в комнату, а на экране только название. Остальное под прокруткой. Почему так и как чинить?

  2. peter

    Sep 23 Administrator Земля(Москва) User since 2014

    1) ищи текст в доке: "Кроме того, оформляя второй параметр глагола в виде функции, можно делать условные глаголы, то есть такие глаголы, которые работают только в определенных условиях."

    2) покажи пример игры готовой с темой. А так могу сказать, что в настройках тем есть режим скроллинга разный.

  3. Irremann

    Sep 23 Постоялец User since 2014
    1. починил, ура!
    2. win.scroll.mode = 2, поставил 3, теперь норм.
  4. Irremann

    Sep 23 Постоялец User since 2014

    По F11 инстед в LXDE пытается развернуться на фуллскрин. Заголовок исчезает, а игра прилипает к верхнему левому углу. Может можно переназначить клавишу?

    Пока просто удаляю game.dict для его перегерации.

  5. peter

    Sep 24 Administrator Земля(Москва) User since 2014

    Если буду правки вносить, то при переносе на stead3. А ты пока поищи просто f11 и замени на то, что нравится.

  6. Irremann

    Sep 24 Постоялец User since 2014

    Нашел в metaparser.lua

    if key == 'f11' and morph.debug then

    Поменял на F12, на нем вроде ничего не висит =).

  7. Irremann

    Sep 26 Постоялец User since 2014
    Edited 4 months ago by Irremann

    peter, есть простой способ в финальной сцене заглушить список глаголов и инвентарь? hideinv = true; не работает.

    Нашел!

    hideverbs = true;
    noparser = true;
  8. 2 months ago

    Irremann

    Nov 26 Постоялец User since 2014

    peter, у меня опять проблемы с dofile, вытаскиваю объект в отдельный файл, перегенерирую словарик и склонения этого объекта пропадают, только именительный падеж остается. Что делаю не так? Минитест уже завтра наверное сделаю.

  9. peter

    Nov 26 Administrator Земля(Москва) User since 2014
    Edited 2 months ago by peter

    Ты этот файл в словарь не добавил скорее всего. Когда ты создал новый файл, добавил ли ты его еще куда то? Если нет - см самое начало докции.

  10. peter

    Nov 26 Administrator Земля(Москва) User since 2014
    Edited 2 months ago by peter

    morph:init ('main.lua') -- список файлов с игрой, для которых будет создан словарь.

    Если в вашей игре несколько файлов, то можно написать что-то вроде:

    morph:init ('main.lua', 'game.lua', 'ep1.lua') и т.д.

  11. Irremann

    Nov 26 Постоялец User since 2014

    Точно!

  12. Irremann

    Dec 18 Постоялец User since 2014

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

    Вопрос такой, в доке написано:

    Внимание! Существуют сервисные глаголы, которые вы можете подключить в своей игре с помощью вызова:

    parser.verb._Service()

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

    В коде stdparser.lua я нашел:

    parser.events._log = function(self, s)
    local on
    if s == 'да' then
    on = true
    elseif s == 'нет' then
    on = false
    else
    if parser.logname then
    p ([[Открыт журнал: ]]..parser.logname)
    else
    p [[Журнал выключен.]]
    end
    return
    end
    if on then
    parser:openlog()
    p ([[Открыт журнал: ]]..parser.logname)
    else
    parser.logname = false
    p [[Журнал выключен.]]
    end
    end

    parser.verb = {}

    function parser.verb._Service(...)
    _Verb ({ "_log %2", "~_журнал","да|нет|{}" }, ...);
    end

    Может я что-то не понимаю, но вроде как игра должна как-то реагировать на слово _журнал? Я же получаю "я не знаю, что значит _журнал". Нужно что-то куда-то еще дописать/включить?

  13. peter

    Dec 18 Administrator Земля(Москва) User since 2014

    А ты подключил сервисеные глаголы? :)
    Можешь посмотреть в игре краски сентября - там оно работает насколько я помню

  14. Irremann

    Dec 18 Постоялец User since 2014

    [21:35:21] <Irremann> чтобы заработала команда журнал, впишите в main.lua строку - parser.verb._Service()
    [21:35:38] <Irremann> я бы так написал =)

  15. 3 weeks ago

    Irremann

    Jan 27 Постоялец User since 2014
    Edited 3 weeks ago by Irremann

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

    if parser.hideverbs == true then
    p 'Для продолжения наберите "дальше".';
    end;

    Что-то никак не соображу куда и как это лучше сделать. Подскажешь?

  16. peter

    Jan 27 Administrator Земля(Москва) User since 2014

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

  17. peter

    Jan 27 Administrator Земля(Москва) User since 2014

    Нашел в Иван Царевчие такой код:

    hints = obj {
    	nam = 'приглашение';
    	life = function(s)
    		if here().nolife then
    			return
    		end
    		local v = { "Ваши действия?",
    			"Что дальше?",
    			"Жду Ваших указаний.",
    			"Что Ваш аналитический ум вам подсказывает?",
    			"С нетерпением жду Вашего следующего наимудрейшего хода."};
    		return v[rnd(#v)]
    	end;
    }

    Вероятно, просто делается lifeon на hints.

  18. kerber

    Jan 28 User since 2014

    Возник вопрос об отсутствии функции isCutscene(объект) в метапарсере.
    Файл с добавлением этой функции в метапарсер.

  19. Irremann

    Jan 28 Постоялец User since 2014

    peter, большая просьба иметь в виду при разработке МП3 =).

or Sign Up to reply!