Автор: arbtttrn6
[#1 Убрать название сцены]
Для скрытия названия сцены используется:
instead.notitle = true;
[#2 Убрать разделители в горизонтальном инвентаре]
Вот вы написали в файле темы:
inv.mode = horizontal
Но хотите заменить или вовсе убрать вертикальные разделители в виде символа
|.
Для этого следует написать:
instead.hinv_delim = ' ';
Где в кавычках желаемое. Аналогично можно изменить разделитель инвентаря:
instead.inv_delim = '\n';
Или разделитель путей, куда может пойти игрок:
instead.ways_delim = ' | ';
[#3 Убрать показ путей]
Чтобы убрать показ путей, кликнув по коим игрок переходит в другие сцены, необходимо написать:
instead.noways = true;
[#4 Убрать инвентарь]
Чтобы убрать показ инвентаря, необходимо написать:
instead.noinv = true;
Для сокрытия инвентаря в диалогах или других комнатах можно подключить модуль
noinv:
require "noinv";
room {
nam = "main";
noinv = true;
dsc = "Это комната с отключённым инвентарём.";
}
[#5 Отключить изображения]
Чтобы убрать изображения, нужно записать:
instead.nopic = true;
Также можно воспользоваться записью
game для установки изображения по-умолчанию (или убрать его):
game.pic = ' ';
Вообще,
game можно использовать для установки различных действ по-умолчанию, например: game.act, game.inv, game.use.
Например, когда хотите добавить разнообразия на отрицательные реакции, чтобы в случайном порядке выводились разные реакции.
[#6 Изменить префикс у фраз диалогов]
Чтобы убрать или изменить префикс у фраз диалогов, кой обычно в виде дефиса, нужно записать:
std.phrase_prefix = ' ';
Где в кавычки можно записать всё, что понравится.
[#7 Вызвать обработчик/атрибут объекта]
Для вызова атрибута объекта можно использовать
std.call(objekt, metod, parametry), например:
std.call(_"dver_01", "dsc") -- Выведет dsc у объекта с именем dver_01
std.call(_(t.Objekt), "dsc") -- _( ) Если, например, нужно обратиться по переменной, коя содержит имя объекта
Можно вызывать обработчики объектов также вот так:
jabloko:act() -- Если объект как функция
_"jabloko":act() -- Если обращение по имени
Прочитать об этом можно в разделе 7.5 "Возвращаемые значения обработчиков" в доке инстеда, ссылка на кою в разделе "Ссылки" этой страницы.
[#8 Изменить размер отступа между динамической и статической частями сцены]
Чтобы изменить отступ между постоянным и временным текстом сцены, нужно изменить:
std.scene_delim = "^"
Где ^ означает одинарный отступ.
[#9 Спрятать/убрать курсор мыши]
Для сокрытия курсора мыши используется следующая функция:
instead.mouse_show(false)
При этом в меню INSTEAD'а курсор будет виден.
[#10 Рамка на картинки предметов]
Например, вы хотите, чтобы избираемый вами предмет инвентаря, в зависимости от некой переменной, получал сверху рамочку.
Мне это понадобилось в той игре, где управление было не INSTEAD-"типичное"; Т.е. применял предметы я не на текстовые ссылки, а на спрайты, клики
по коим я ловил. А предметами были объекты menu -- там-то и появилась необходимость показывать "активное" действие. Тогда:
IconoSetter = function(fIconoime, fStatus)
if status == fStatus then
return p (fmt.img('gfx/'..fIconoime..'.png;gfx/o_selectoborder.png'));
else
return p (fmt.img('gfx/'..fIconoime..'.png'));
end;
end
Где status -- переменная "состояния выбора" (определённому значению соответствует определённый предмет), а fStatus есть желаемое для наступления условия значение status'а. fIconoime есть
название файла нужной иконки, а o_selectoborder.png -- картинка рамки.
Таким образом "выделение" предметов инвентаря таким образом будет в разы быстрее и чище:
menu {
nam = "Lopata";
disp = function() IconoSetter("lopata", 0) end; -- По-умолчанию lopata.png, а при status == 0 -- с рамочкою
inv = function() status = 0 end;
}