insteadose-3/oldfriend.lua

348 lines
17 KiB
Lua
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

-- $Name: Старый друг$
-- $Version: 1.0$
-- $Author: Клиш Максим$
instead_version "1.9.1"
require "lib"
require "para"
require "dash"
require "quotes"
require "xact"
require "hideinv"
require "snapshots"
game.act = "Гм.....";
game.use = "Не сработает";
game.inv = "Зачем это мне";
--restart_item("oldfriend");
main = timerpause(105, 1, "main2");
main2 = room {
nam = "...",
title = { "С", "Т", "А", "Р", "Ы", "Й", " ", "Д", "Р", "У", "Г" },
num = 10,
enter = music_("scape",0),
dsc = [[Я прилетел ночью. Город встретил меня стеной дождя и пронизывающим ветром.
Перелет длинной в десять часов дался мне нелегко, и я хотел немного отдохнуть.
Пора перестать мотаться по работе через всю страну три раза в неделю.^^
Сигнал личного {next|терминала}, разбудивший меня, был словно гром среди ясного неба.
Я неохотно поднялся и пошел посмотреть, кто потревожил меня в столь не уместный час.]],
obj = {
xact("next", code[[walk(terminal);]]),
},
};
terminal = room {
forcedsc = true,
pxa = {
{ "screen", 165 }
},
nam = "...",
dsc = [[На экране терминала мерцал значок нового {message|сообщения}.
Адресатом был мой старый друг Джордж. Странно.
Он всегда предпочитал звонок взамен электронному письму.]],
obj = {
xact("message", [[Привет дружище!^^
Я знаю, ты только что вернулся, но мне нужно с тобой срочно поговорить.
Это может изменить всю твою жизнь. Жду тебя через час в кафе на набережной.^^
Джордж^^
{next|Далее}]]),
xact("next", code[[walk(block);]])
},
};
block = room {
entered = [[Все это очень странно. Джордж не часто влезал во всякие авантюры.
Здравый смысл отчаянно кричал мне оставайся дома. А если это действительно важно?
Я решил поехать. Вот только нужно сначала найти свои ключи.]],
pxa = {
{ "books", 10 },
{ "table2", 120 },
{ "window3", 260 },
{ "door5", 380 }
},
nam = "Жилой блок",
dsc = [[Мой жилой блок. Из-за постоянных разъездов я редко здесь бываю,
но все же считаю его домом. ]],
obj = {
"bookshelf",
"table",
"window",
"door",
},
way = {
"kitchen",
},
};
bookshelf = obj {
nam = "Книжная полка",
dsc = [[ У дальней стены стоит, сделанная из дешевого пластика, {книжная полка}.]],
act = [[Пару книг и несколько старых фотографий, имен половины людей на которых я уже не помню.
В центре мое фото с Анджелой. Жаль, что у нас так ничего не получилось.]],
};
table = obj {
nam = "Стол",
dsc = [[Небольшой столик посреди комнаты завален разным
{хламом}.]],
act = [[Старые журналы, выписка из банка и кусок засохшей пиццы.
Мне здесь ничего не нужно.]]
};
window = obj {
nam = "Окно",
dsc = [[На стене расположено небольшое {окно} с жалюзи.]],
act = [[Жалюзи закрыты. Не люблю, когда глазеют в окна.]],
};
door = obj {
nam = "Дверь",
dsc = [[В комнате есть {дверь} на улицу.]],
act = "Без ключа не выйти",
};
kitchen = room {
nam = "Кухня",
pxa = {
{ if_("exist(key)", "table3_keys", "table3"), 220 },
{ "fridge", 120 },
},
dsc = [[Маленькая кухня. Тут едва можно уместиться вдвоем.]],
obj = {
"fridge",
"kitchen_table",
},
way = {
"block",
},
};
fridge = obj {
nam = "Холодильник",
dsc = [[Здесь стоит мой старый {холодильник}.]],
act = [[Скорее всего, пуст даже не буду заглядывать.
На дверце приклеена бумажка с номером 5188349.
Это номер моих родителей, постоянно его забываю.]],
};
key = obj {
nam = "Ключ",
dsc = [[Рядом с вазой лежат {ключи}.]],
tak = [[Я взял ключ со стола. Теперь можно идти.]],
inv = [[Ключ от двери моего блока]],
use = function(s,w)
if w == door then
walk(middle);
remove(s, me());
else
p [[Зачем?]];
end;
end;
};
kitchen_table = obj {
nam = "Кухонный столик",
dsc = [[На {кухонном столике} стоит стеклянная ваза для фруктов]],
act = [[Ваза пуста]],
obj = {
"key",
},
};
middle = room {
nam = "По дороге в кафе",
dsc = [[Чем ближе я подходил к кафе, тем сильнее чувствовал тревогу.
Слова Джорджа: "Это может изменить твою жизнь" - не выходили у меня из головы.^^
{next|Далее}]],
obj = {
xact("next", code[[walk(cafe);]]),
},
};
cafe = room {
nam = "Кафе на набережной",
pxa = {
{ "table4", -100 },
{ "chair1", 130 },
{ "chair2", 320 },
{ "table", 390 }
},
dsc = [[Наше старое место. В молодости мы часто собирались здесь по вечерам.
Сейчас же я бываю тут два - три раза в месяц]],
obj = {
"men",
"computer",
"bartender",
},
};
men = obj {
nam = "Джордж",
dsc = [[{Джордж} уже сидел за столиком и ждал меня. Рядом на столике
стоит чашка ароматного кофе.]],
act = function ()
walk(mendlg);
end;
};
bartender = obj {
nam = "Бармен",
dsc = [[За стойкой {бармен} тщательно протирает стаканы.]],
act = [[Я ничего не хочу. Не буду его отвлекать]],
};
computer = obj {
nam = "Переносной терминал",
dsc = [[Возле Джорджа лежит его переносной {терминал}. Он
никогда с ним не расстается.]],
act = [[Терминал одной из новых моделей. Очень дорогой.]]
};
mendlg = dlg {
nam = "Разговор в Кафе",
pxa = {
{ "table4", -100 },
{ "chair1", 130 },
{ "chair2", 320 },
{ "table", 390 }
},
entered = [[Джордж казался очень возбужденным. Его глаза быстро
бегали по экрану терминала.]],
phr = {
{1, always = true, "Здравствуй Джордж. ",
"Привет дружище! Рад тебя видеть. Выглядишь не очень.", [[pon(2);poff(1);]]};
{2, false, always = true, [[Да, просто не выспался. Рассказывай, что произошло? Почему такая спешка?]],
[[Да садись ты. Сейчас все расскажу.
Помнишь ту контору, с которой я связался год назад?]], [[pon(3);poff(2);]]};
{3, false, always = true, [[Ты что-то упоминал. Вроде как ты искал определенных людей для них.]],
[[Да. Так вот, эти "яйцаголовые" сделали заказ на поиск одного человека.
Не богат, не умен, не красавец вообще никто. Я сразу удивился, но за такие деньги я бы нашел
кого угодно. На поиски ушло четыре месяца. Поймал его в аэропорту Бангкока, летели вместе.
По дороге рассказал ему, что да как. Мол, передовые исследования, наука, будущее, деньги.
Заказчики обычно не жалеют денег на оплату. Он отказался. Я дал ему свою визитку и сказал,
что если он передумает, то пусть мне позвонит.^^
Прошло два месяца. Вчера мне домой принесли посылку.
Там было это он достал из кармана стандартный блок памяти и положил его на стол.]], [[pon(4);poff(3);]]};
{4, false, always = true, [[Ты смотрел, что на нем?]],
[[Да]], [[pon(5);poff(4);]]};
{5, false, always = true, [[И что там??]],
[[Понимаешь, я не могу тебе рассказать. Ты должен все увидеть сам.
Ты найдешь все ответы на блоке памяти.^^
(С этими словами он встал и вышел из кафе.)]],
[[take(memory_block);pon(6);poff(5);]]};
{6, false, always = true, "Далее", code = [[walk(block_2);]]};
};
};
memory_block = obj {
nam = "Блок памяти",
inv = [[Блок памяти, который передал мне Джордж]],
use = function(s,w)
if w == terminal_2 then
walk(terminaldlg);
remove(s, me());
else
p [[Не думаю, что это хорошая идея.]];
end;
end;
};
kitchen_2 = room {
nam = "Кухня",
dsc = [[Маленькая кухня. Тут едва можно уместиться вдвоем.]],
pxa = {
{ "table3", 220 },
{ "fridge", 120 },
},
obj = {
"fridge",
"kitchen_table",
},
way = {
"block_2",
},
};
block_2 = room {
nam = "Жилой блок",
pxa = {
{ "books", 10 },
{ "table2", 120 },
{ "window3", 260 },
{ "door5", 380 }
},
entered = code[[make_snapshot()]],
dsc = [[Мой жилой блок. Из-за постоянных путешествий я
редко здесь бываю, но все же считаю его домом. С каждой минутой все произошедши события пугали меня все больше и больше.
Я держал в руке блок памяти не решаясь подойти к терминалу.]],
obj = {
"bookshelf",
"table",
"window",
"door_2",
"terminal_2",
},
way = {
"kitchen_2",
},
};
door_2 = obj {
nam = "Дверь",
dsc = [[В комнате есть {дверь} на улицу.]],
act = "Мне не зачем туда идти",
};
terminal_2 = obj {
nam = "Личный терминал",
dsc = [[На кровати лежит мой личный {терминал}]],
act = [[Нужно вставить в него блок памяти, который дал мне Джордж]],
};
terminaldlg = dlg {
nam = "Личный терминал",
pxa = {
{ "screen", 165 }
},
entered = [[Привет Алекс. Я почти уверен что это ты, но небольшой тест на подтверждение личности не повредит.
Я бы не хотел, что бы эта информация попала не в те руки.^^
Выбери последовательность:]],
phr = {
{1, always = true, "5188439",
[[В блоке памяти что-то щелкнуло, и он стал полностью белым. Из открывшегося отверстия стал выходить полупрозрачный газ.
Стало тяжело дышать. Через несколько секунд я провалился в пустоту.]], [[pon(10);poff(1,2,3)]]};
{2, always = true, "5188340",
[[В блоке памяти что-то щелкнуло, и он стал полностью белым. Из открывшегося отверстия стал выходить полупрозрачный газ.
Стало тяжело дышать. Через несколько секунд я провалился в пустоту.]], [[pon(10);poff(1,2,3)]]};
{3, always = true, "5188349",
"Выбери имя", [[pon(4,5,6);poff(1,2,3);]]};
{4, false, always = true, "София",
[[В блоке памяти что-то щелкнуло, и он стал полностью белым. Из открывшегося отверстия стал выходить полупрозрачный газ.
Стало тяжело дышать. Через несколько секунд я провалился в пустоту.]], [[pon(10);poff(4,5,6)]]};
{5, false, always = true, "Анджела",
"Выбери место", [[pon(7,8,9);poff(4,5,6);]]};
{6, false, always = true, "Виктория",
[[В блоке памяти что-то щелкнуло, и он стал полностью белым. Из открывшегося отверстия стал выходить полупрозрачный газ.
Стало тяжело дышать. Через несколько секунд я провалился в пустоту.]], [[pon(10);poff(4,5,6)]]};
{7, false, always = true, "Окраины",
[[В блоке памяти что-то щелкнуло, и он стал полностью белым. Из открывшегося отверстия стал выходить полупрозрачный газ.
Стало тяжело дышать. Через несколько секунд я провалился в пустоту.]], [[pon(10);poff(7,8,9)]]};
{8, false, always = true, "Набережная",
[[Личность подтверждена^^
Приветствуем вас^^
Мы рады, что вы решили принять участие в нашей программе полетов.
Для более детальной информации выберете раздел:]],
[[pon(11,12,13);poff(7,8,9);]]};
{9, false, always = true, "Центр",
[[В блоке памяти что-то щелкнуло, и он стал полностью белым. Из открывшегося отверстия стал выходить полупрозрачный газ.
Стало тяжело дышать. Через несколько секунд я провалился в пустоту.]], [[pon(10);poff(7,8,9)]]};
{10, false, always = true, "Возможно, все было совсем иначе", "",
[[restore_snapshot();]]};
{11, false, always = true, "Общая информация",
[[В блоке памяти что-то щелкнуло, и он стал полностью черным. Из открывшегося отверстия стал выходить полупрозрачный газ.
Стало тяжело дышать. Через несколько секунд я провалился в пустоту.]], [[pon(14);poff(11,12,13);]]};
{12, false, always = true, "Программа полета",
[[В блоке памяти что-то щелкнуло, и он стал полностью черным. Из открывшегося отверстия стал выходить полупрозрачный газ.
Стало тяжело дышать. Через несколько секунд я провалился в пустоту.]], [[pon(14);poff(11,12,13);]]};
{13, false, always = true, "Участники",
[[В блоке памяти что-то щелкнуло, и он стал полностью черным. Из открывшегося отверстия стал выходить полупрозрачный газ.
Стало тяжело дышать. Через несколько секунд я провалился в пустоту.]], [[pon(14);poff(11,12,13);]]};
{14, false, always = true, "Далее", "", [[walk(final);]]}
};
};
final = room {
nam = "...",
dsc = [[Пассажир Алекс Кессади^^
Возраст 32 года^^
Роль - Журналист^^
Статус выход из криосна^^
Все показатели в норме^^
Начинаю процедуру разморозки^^
До окончания процедуры осталось четыре часа]],
enter = function() mute_()(); complete_("oldfriend")() end,
act = gamefile_("cook.lua"),
obj = { vobj("next", txtc("^{Продолжение...}")) }
};