#  МЕТАПАРСЕР 3
RSS-bot (tavern,2) → All  –  15:20:56 2019-04-19

peter: Вышла новая версия МЕТАПАРСЕРа -- 1.5 Что нового? — Проект переехал в свой отдельный репозиторий: https://github.com/instead-hub/metaparser — Исправлена ошибка открытия меню при неправильном вводе; — Исправлена ошибка Walk при отключённом компасе; — TakeAll и DropAll теперь рекурсивные; — Словарь стал включать в себя "заплатки" на ошибочные случаи; — Переработана функция показа описаний содержимого объектов и сцен; — Теперь все демо-игры запускаются из общего меню (модуль можно запустить как игру); — Исправление поведения onexit/exit при выходе из предмета в другую комнату; — Внутренние изменения и рефакторинг; — persist объекты могут иметь dsc; — Сортировка объектов при выводе (учитывается pri); — Переработка логики scope; — Исправления в стандартной библиотеке. Одновременно с этим обновлена версия metaparser-js-1.5. Теперь в js версию всегда входит одноимённая версия модуля МЕТАПАРСЕР. Это значит, что в игру класть модуль не обязательно. Изиенения: — Дружественная вёрстка для незрячих (спасибо Никите); — При запуске игры меняется заголовок окна; — Исправления в js части; Демонстрация работы модуля как всегда здесь: https://metaparser.syscall.ru —-- Страничка метапарсера: https://instead3.syscall.ru/page/metaparser/

Ссылка: http://instead-games.ru/forum/index.php?p=/discussion/comment/13113/#Comment_13113
#  Вопросы и ответы
RSS-bot (tavern,2) → All  –  09:31:09 2019-04-17

kerber: Немного модифицировал вышеприведённый код. ```lua require "sprite" require "theme" require "fmt" fmt.para = true local fnt = sprite.fnt('1.ttf', (theme.get 'win.fnt.size'+70)); obj { nam = '$letter'; { cache = { } }; act = function(s, t) if s.cache[t] then return fmt.imgl(s.cache[t]) end local sp = fnt:text(t, '#B22222') local w, h = sp:size() local padu, padr, padd, padl = 10,10,0,5; -- Отступы сверху, справа. снизу, слева. Для обрезки используйте отрицательные числа. local nsp = sprite.new(w + padr + padl, h + padd + padu) sp:copy(-padl, -padu, w + padl + padr, h + padu + padd, nsp); s.cache[t] = nsp return fmt.imgl(nsp) end; } room { nam = "main"; dsc = [[_{$letter|Б}]]..[[уковка. вопа па ралрпдпнп нпгн пщгнп щгнп щгнпщ епнпнп агнпщ щпгнеинпашн еаишеагнеаиеинеаеге ена ншанешашена шнеашнеешнеаш ешнеа ш неа шнеа шен щп щгнпгщнпщгнп щгнпщгнпн щгнп щн щгнпщгнпщн щгнп щ гнпщгнп ща 6е 7щ6прпп нпщещ6 пщнп нп гнпгнпнгщгн щнпн щнп щгнпнп гнп гнпнгщгн 7н шнне щге е6ее 76е 76ее6уковка. вопа па ралрпдпнп нпгн пщгнп щгнп щгнпщ епнпнп агнпщ щпгнеинпашнеаишеагнеаиеинеаеге ена]]; } ```

Ссылка: http://instead-games.ru/forum/index.php?p=/discussion/comment/13112/#Comment_13112
#  Вопросы и ответы
RSS-bot (tavern,2) → All  –  04:50:59 2019-04-17

peter: Хорошо бы ещё кэш прикрутить. Но как демонстрация -- норм. pad = сколько откусить от краёв. ``` require "sprite" require "theme" require "fmt" fmt.para = true local fnt = sprite.fnt('1.ttf', (theme.get 'win.fnt.size'+70)); obj { nam = '$letter'; act = function(s, t) local sp = fnt:text(t, '#B22222') -- спрайт local w, h = sp:size() -- размер local pad = 16 local nsp = sprite.new(w - pad * 2, h - pad * 2) -- мЕньший спрайт sp:copy(pad, pad, w - pad * 2, h - pad * 2, nsp); -- копируем в него return fmt.imgl(nsp) -- вернули то, что вышло end; } room { nam = "main"; dsc = "_{$letter|B}уковка."; } ```

Ссылка: http://instead-games.ru/forum/index.php?p=/discussion/comment/13111/#Comment_13111
#  Вопросы и ответы
RSS-bot (tavern,2) → All  –  23:40:57 2019-04-16

Irremann: Да, это шрифт виноват. Уже проверил на другом шрифте. Надеюсь завтра Петр подскажет как полученную картинку подрезать.

Ссылка: http://instead-games.ru/forum/index.php?p=/discussion/comment/13110/#Comment_13110
#  Вопросы и ответы
RSS-bot (tavern,2) → All  –  23:30:49 2019-04-16

Bhudh: Боюсь, это связано с базовой высотой буквы в шрифте (можно потестить и поставить вместо "э" другие буквы, с "хвостиками", например "р" или "у") и починить это можно лишь отрицательными значениями margin для отдельных строк. Но INSTEAD такого, вроде бы, не предусматривает…

Ссылка: http://instead-games.ru/forum/index.php?p=/discussion/comment/13109/#Comment_13109
#  Вопросы и ответы
RSS-bot (tavern,2) → All  –  21:01:20 2019-04-16

Irremann: Пока не забыл, что делаю, напишу на форуме. Объявляю: local fnt = sprite.fnt('theme/7847.ttf', (theme.get 'win.fnt.size'+70)); Потом пишу в комнате: dsc = '_'..fmt.imgl(fnt:text('э', '#B22222'))..'та история начинается'; Пока вроде все понятно, но откуда взялись такие большие вертикальные отступы над и под буквицей "Э"? Кто подскажет как починить?

Ссылка: http://instead-games.ru/forum/index.php?p=/discussion/comment/13108/#Comment_13108
#  Путник
RSS-bot (tavern,2) → All  –  20:20:52 2019-04-16

artomberus: @Artur_Aiwasan, спасибо тебе, добрый человек) Настроение поднялось даже. :blush:

Ссылка: http://instead-games.ru/forum/index.php?p=/discussion/comment/13107/#Comment_13107
#  Путник
RSS-bot (tavern,2) → All  –  17:20:56 2019-04-16

Artur_Aiwasan: Интересная игра. Катсцены, но просто отлично =)

Ссылка: http://instead-games.ru/forum/index.php?p=/discussion/comment/13106/#Comment_13106
#  Игра "Переход"
RSS-bot (tavern,2) → All  –  18:31:22 2019-04-14

peter: Очень давно мы играли, тяжело вспомнить :)

Ссылка: http://instead-games.ru/forum/index.php?p=/discussion/comment/13105/#Comment_13105
#  Игра "Переход"
RSS-bot (tavern,2) → All  –  08:50:51 2019-04-14

Artur_Aiwasan: Нужна помощь в прохождении. [spoiler] какую частоту нужно сказать Вите, когда ГГ слепа? [/spoiler]

Ссылка: http://instead-games.ru/forum/index.php?p=/discussion/comment/13104/#Comment_13104