233 lines
6.9 KiB
Lua
233 lines
6.9 KiB
Lua
-- $Name: ИНСТЕДОЗ 3: Последний рейс$
|
||
-- $Version: 0.4$
|
||
instead_version "1.9.1"
|
||
require "lib"
|
||
require "para"
|
||
require "dash"
|
||
require "quotes"
|
||
require "timer"
|
||
require "xact"
|
||
require "sprites"
|
||
|
||
main = room {
|
||
nam = _("Об игре")
|
||
,pic = function(s)
|
||
s:ensurecache();
|
||
return game.cache;
|
||
end
|
||
,ensurecache = function(s)
|
||
if game.cache == nil then
|
||
game.cache = sprite.load("gfx/pic.png");
|
||
else
|
||
local pt = sprite.blank(500, 200);
|
||
sprite.copy(pt, game.cache, 0, 0);
|
||
sprite.free(pt);
|
||
end
|
||
end
|
||
,enter = function(s)
|
||
if iscomplete("insteadose") or main.insteadose then
|
||
music_("poppies",0)();
|
||
prefs["insteadose"] = nil;
|
||
prefs:store();
|
||
main.insteadose = true;
|
||
else
|
||
music_("railroad",0)();
|
||
end
|
||
timer:set(90);
|
||
end
|
||
,timer = function(s)
|
||
if s.cachesf == nil then
|
||
s.cachesf = sprite.load("gfx/starfield.png");
|
||
end
|
||
if s.cachesf2 == nil then
|
||
s.cachesf2 = sprite.load(_("gfx/caption.png"));
|
||
end
|
||
if s._x == nil then
|
||
s._x = 0;
|
||
end
|
||
local w = 500;
|
||
if s._x > 500 then
|
||
w = w - (s._x-500);
|
||
end
|
||
sprite.copy(s.cachesf, s._x, 0, w, 200, game.cache, 0, 0);
|
||
if s._x > 500 then
|
||
sprite.copy(s.cachesf, 0, 0, 500-w, 200, game.cache, w, 0);
|
||
end
|
||
sprite.draw(s.cachesf2, game.cache, 0, 0);
|
||
s._x = s._x + 2;
|
||
if s._x > 1000 then
|
||
s._x = 0;
|
||
end
|
||
end
|
||
,exit = function(s)
|
||
if s.cachesf ~= nil then
|
||
sprite.free(s.cachesf);
|
||
s.cachesf = nil;
|
||
end
|
||
if s.cachesf2 ~= nil then
|
||
sprite.free(s.cachesf2);
|
||
s.cachesf2 = nil;
|
||
end
|
||
s._x = nil;
|
||
timer:stop();
|
||
end
|
||
,dsc =
|
||
_([["ИНСТЕДОЗ 3" -- это сборник небольших текстовых игр, написанных разными авторами в рамках единого сюжета. Сборник включает в себя
|
||
17 самостоятельных игр, однако все они складываются в единую историю, поэтому мы советуем вам пройти "ИНСТЕДОЗ 3" последовательно,
|
||
начиная с пролога и до самого конца.^^
|
||
"ИНСТЕДОЗ 3" проводился в 2013 году. В создании этого сборника принимали участие двенадцать авторов. Подробную информацию о создателях
|
||
смотрите в разделе "Создатели".^^
|
||
Версия 0.4]])
|
||
}
|
||
|
||
credits = room {
|
||
nam = _("Создатели")
|
||
,pic = main.pic
|
||
,ensurecache = main.ensurecache
|
||
,exit = main.exit
|
||
,enter = main.enter
|
||
,timer = main.timer
|
||
,dsc =
|
||
txtb(_("Платформа INSTEAD:")).. " ".._("Пётр Косых").."^" ..
|
||
txtb(_("Подготовка сборника:")).." ".._("Василий Воронков").."^^"..
|
||
txtb(_("Авторы игр")..':')..
|
||
"^".._("Андрей Лобанов")..' ("'.._("Разорванный цикл")..'", "'.._('Сон')..'")^'..
|
||
_('Антон и Ольга Колосовы')..' ("'.._('Пробуждение-2')..'")^'..
|
||
_('Василий Воронков')..'("'.._('Вахта')..'", "'.._('Долгая служба')..'", "'.._('Ремонт')..'", "'.._('Банкет')..'", "'.._('Крысиная нора')..'")^'..
|
||
_('Дмитрий Дударь')..' ("'.._('Пояс астероидов')..'")^'..
|
||
_('Дмитрий Колесников')..' ("'.._('Пробуждение')..'")^'..
|
||
_('Егор Харват')..' ("'.._('Повар')..'")^'..
|
||
_('Максим Клиш')..' ("'.._('Старый друг')..'")^'..
|
||
_('Максим "j-maks"')..' ("'.._('Робот, который видит...')..'")^'..
|
||
_('Пётр Косых')..' ("'.._('Отсек К007')..'", "'.._('Прибытие')..'")^'..
|
||
_('Роман "Irreman"')..' ("'.._('Инженер')..'")^'..
|
||
_('zerg.pro')..' ("'.._('Личность')..'")^^'..
|
||
txtb(_("Музыка")..':')..
|
||
_([[^8bit Betty ("Spooky Loop")
|
||
^J. Arthur Keenes ("The Day Before Boxing Day Eve")
|
||
^Rolemusic ("Ladybug Castle", "Spell", "Scape from the city", "Death on the battlefield", "Poppies")
|
||
^Goto80 ("this machine thinks", "square and enjoy", "influensa", "datagroove", "5pyhun73r 3l337 v3r")
|
||
^Edward Shallow ("The Infinite Railroad")^^
|
||
]])..
|
||
txtb(_("Шрифты")..':')..
|
||
_([[^Pixel Font-7 (разработчик www.styleseven.com, бесплатен для бесплатного ПО)
|
||
^Terminus (SIL OFL 1.1)^^
|
||
]])..
|
||
txtb(_("Код и графика")..':^')..
|
||
_([[Весь код игр, библиотечный код, а также всё графическое оформление доступны под лицензией CC BY 4.0^^
|
||
(Подробную информацию о лицензиях см. в прилагаемом файле licenses.txt)]])
|
||
}
|
||
|
||
function chapter(s)
|
||
local nam = s.nam;
|
||
s.nam = function(s)
|
||
if iscomplete(deref(s)) then
|
||
return img("pad:0 5 0 0,gfx/dot2.png")..nam;
|
||
else
|
||
return img("pad:0 5 0 0,gfx/dot.png")..nam;
|
||
end
|
||
end
|
||
s.inv = function(s)
|
||
local nm = deref(s);
|
||
if nm == "endtitles" then theme.gfx.mode("direct"); end
|
||
gamefile_(nm..".lua")();
|
||
end
|
||
return menu(s);
|
||
end
|
||
|
||
before_About = menu {
|
||
nam = _("Об игре")
|
||
,inv = function() walk(main) end
|
||
}
|
||
|
||
before_Credits = menu {
|
||
nam = _("Создатели")
|
||
,inv = function() walk(credits) end
|
||
}
|
||
|
||
empty = menu { nam = "" }
|
||
|
||
prologue = chapter {
|
||
nam = _("Пролог")
|
||
}
|
||
rat = chapter {
|
||
nam = _("Крысиная нора")
|
||
}
|
||
longwork = chapter {
|
||
nam = _("Долгая служба")
|
||
}
|
||
repair = chapter {
|
||
nam = _("Ремонт")
|
||
}
|
||
crio = chapter {
|
||
nam = _("Отсек 007")
|
||
}
|
||
watch = chapter {
|
||
nam = _("Вахта")
|
||
}
|
||
brokencycle = chapter {
|
||
nam = _("Разорванный цикл")
|
||
}
|
||
meteor = chapter {
|
||
nam = _("Пояс астероидов")
|
||
}
|
||
robot = chapter {
|
||
nam = _("Робот, который видит")
|
||
}
|
||
engineer = chapter {
|
||
nam = _("Инженер")
|
||
}
|
||
oldfriend = chapter {
|
||
nam = _("Старый друг")
|
||
}
|
||
cook = chapter {
|
||
nam = _("Повар")
|
||
}
|
||
dream = chapter {
|
||
nam = _("Сон")
|
||
}
|
||
nightmare = chapter {
|
||
nam = _("Банкет")
|
||
}
|
||
persona = chapter {
|
||
nam = _("Личность")
|
||
}
|
||
wake = chapter {
|
||
nam = _("Пробуждение")
|
||
}
|
||
wake2 = chapter {
|
||
nam = _("Пробуждение 2")
|
||
}
|
||
arrival = chapter {
|
||
nam = _("Прибытие")
|
||
}
|
||
|
||
endtitles = chapter {
|
||
nam = _("Титры")
|
||
}
|
||
|
||
function init()
|
||
take(before_About);
|
||
take(before_Credits);
|
||
take(empty);
|
||
take(prologue);
|
||
take(rat);
|
||
take(longwork);
|
||
take(repair);
|
||
take(crio);
|
||
take(watch);
|
||
take(brokencycle);
|
||
take(meteor);
|
||
take(robot);
|
||
take(engineer);
|
||
take(oldfriend);
|
||
take(cook);
|
||
take(dream);
|
||
take(nightmare);
|
||
take(persona);
|
||
take(wake);
|
||
take(wake2);
|
||
take(arrival);
|
||
--take(endtitles);
|
||
end
|