|
|
-- Доступное пространство имён для объектов - все имена объектов должны начинаться с "room9_" или "garazh_"
|
|
|
-- Все описания можно менять
|
|
|
-- Задача: Игрок должен найти в локации предмет kerosin
|
|
|
|
|
|
room {
|
|
|
nam = "room9_room9_nil";
|
|
|
}
|
|
|
|
|
|
|
|
|
obj {
|
|
|
-"рука";
|
|
|
nam = "room9_no_рука";
|
|
|
description = "";
|
|
|
before_Exam = function(s)
|
|
|
if here().room9_var == 4 then p [[В тиски зажата грубо отпиленная рука.]]; here().room9_var = 5;
|
|
|
else p [[В тиски зажата грубо отпиленная рука.]]; end;
|
|
|
end;
|
|
|
found_in = 'room9_room9_nil';
|
|
|
before_Take = function(s)
|
|
|
p [[Тебе не нужна ещё одна рука, у тебя уже есть две.]]
|
|
|
end;
|
|
|
}:attr 'scenery'
|
|
|
|
|
|
obj {
|
|
|
-"нога";
|
|
|
nam = "room9_no_нога";
|
|
|
description = "";
|
|
|
before_Exam = function(s)
|
|
|
if here().room9_var == 6 then p [[В тиски зажата грубо отпиленная нога.]]; here().room9_var = 7;
|
|
|
else p [[В тиски зажата грубо отпиленная нога.]]; end;
|
|
|
end;
|
|
|
found_in = 'room9_room9_nil';
|
|
|
before_Take = function(s)
|
|
|
p [[Тебе не нужна ещё одна нога, у тебя уже есть две.]]
|
|
|
end;
|
|
|
}:attr 'scenery'
|
|
|
|
|
|
obj {
|
|
|
-"гвоздь | метка";
|
|
|
nam = "room9_no_гвоздь";
|
|
|
description = "";
|
|
|
found_in = 'room9_room9_nil';
|
|
|
before_Exam = function(s)
|
|
|
if here().room9_var == 10 then p [[В твой хобот вбит меченый гвоздь.]];
|
|
|
else p [[На гвоздь нанесена метка инспектора По, что, впрочем, не имеет значения.]]; end;
|
|
|
end;
|
|
|
before_Take = function(s)
|
|
|
if here().room9_var == 10
|
|
|
then
|
|
|
mp.score=mp.score+1;
|
|
|
p [[Ты с трудом вытащила большой гвоздь из хобота. Хобот сдулся, посерел и рассыпался в пыль.]]
|
|
|
move("room9_no_хобот", "room9_room9_nil")
|
|
|
here().room9_var = 11
|
|
|
end;
|
|
|
return false;
|
|
|
end;
|
|
|
}
|
|
|
|
|
|
obj {
|
|
|
-"хобот";
|
|
|
nam = "room9_no_хобот";
|
|
|
description = "";
|
|
|
found_in = 'room9_room9_nil';
|
|
|
before_Exam = function(s)
|
|
|
if here().room9_var == 10 then p [[Хобот небрежно прибит к полу большим гвоздём.]];
|
|
|
else p [[Слонячий такой хобот.]]; end;
|
|
|
end;
|
|
|
before_Take = function(s)
|
|
|
if here().room9_var < 10
|
|
|
then
|
|
|
p [[Ты двумя руками стащила хобот с верстака. Внезапно в гараж ворвался инспектор По и вонзил в твой хобот меченый гвоздь. Теперь хобот прибит к полу.]]
|
|
|
move("room9_no_гвоздь", "room9_garazh")
|
|
|
move("room9_no_инспектор", "room9_garazh")
|
|
|
here().room9_var = 10
|
|
|
else
|
|
|
p [[Ты не можешь взять хобот, потому что он прибит к полу большим гвоздём.]]
|
|
|
end;
|
|
|
end;
|
|
|
}
|
|
|
|
|
|
|
|
|
-- люк заперт на замок; замок можно открыть гвоздём, при этом гвоздь теряется
|
|
|
-- не настоящий подвал, а всего-лишь небольшая ямка
|
|
|
--в ямке - пальцы мертвеца(это такой гриб) и керосин
|
|
|
|
|
|
|
|
|
|
|
|
obj {
|
|
|
-"инспектор По, инспектор, По/мр | гость";
|
|
|
nam = "room9_no_инспектор";
|
|
|
description = "Инспектор По - он внезапный и пугающий гость, он вонзил в твой хобот меченый гвоздь!";
|
|
|
found_in = 'room9_room9_nil';
|
|
|
}:attr 'scenery,animate'
|
|
|
|
|
|
----------------------------------------
|
|
|
-----------------------
|
|
|
|
|
|
|
|
|
room {
|
|
|
nam = "room9_garazh";
|
|
|
title = "Гараж";
|
|
|
dsc = "На западе - гардероб.";
|
|
|
w_to = function()
|
|
|
if have('room9_o1') then
|
|
|
p "Не думаю что тебе понадобиться всё. Лучше оставить всё в гараже.";
|
|
|
return;
|
|
|
end;
|
|
|
if here().room9_var < 10 then
|
|
|
p [[Ты вышла из этого жуткого гаража в гардеробную комнату.]];
|
|
|
else
|
|
|
move("room9_no_гвоздь", "room9_garazh")
|
|
|
p [[Инспектор закричал: "Ты можешь идти куда хочешь, но мой гвоздь останется здесь!"]];
|
|
|
end;
|
|
|
move(pl,'room8_garderob');
|
|
|
end;
|
|
|
|
|
|
e_to = function()
|
|
|
if here().room9_var < 3
|
|
|
then p [[Прежде чем идти, хорошо бы всё осмотреть.]];
|
|
|
else
|
|
|
p [[Возможно, ты сходишь с ума, но тебе кажется, что в гараже что-то изменилось. ]];
|
|
|
end
|
|
|
if here().room9_var == 3
|
|
|
then here().room9_var = 4 -- ничего взято, всё осмотрено, появилась рука
|
|
|
move("room9_no_рука", "room9_garazh")
|
|
|
end;
|
|
|
if here().room9_var == 5
|
|
|
then here().room9_var = 6 -- ничего взято, всё осмотрено, появилась нога
|
|
|
move("room9_no_нога", "room9_garazh")
|
|
|
move("room9_no_рука", "room9_room9_nil")
|
|
|
end;
|
|
|
if here().room9_var == 7
|
|
|
then here().room9_var = 8 -- ничего взято, всё осмотрено, появился хобот
|
|
|
move("room9_no_хобот", "room9_garazh")
|
|
|
move("room9_no_нога", "room9_room9_nil")
|
|
|
end;
|
|
|
end;
|
|
|
|
|
|
n_to = function()
|
|
|
if here().room9_var < 3
|
|
|
then p [[Прежде чем идти, хорошо бы всё осмотреть.]];
|
|
|
else
|
|
|
p [[Возможно, ты сходишь с ума, но тебе кажется, что в гараже что-то изменилось. ]];
|
|
|
end
|
|
|
if here().room9_var == 3
|
|
|
then here().room9_var = 4 -- ничего взято, всё осмотрено, появилась рука
|
|
|
move("room9_no_рука", "room9_garazh")
|
|
|
end;
|
|
|
if here().room9_var == 5
|
|
|
then here().room9_var = 6 -- ничего взято, всё осмотрено, появилась нога
|
|
|
move("room9_no_нога", "room9_garazh")
|
|
|
move("room9_no_рука", "room9_room9_nil")
|
|
|
end;
|
|
|
if here().room9_var == 7
|
|
|
then here().room9_var = 8 -- ничего взято, всё осмотрено, появился хобот
|
|
|
move("room9_no_хобот", "room9_garazh")
|
|
|
move("room9_no_нога", "room9_room9_nil")
|
|
|
end;
|
|
|
end;
|
|
|
|
|
|
s_to = function()
|
|
|
if here().room9_var < 3
|
|
|
then p [[Прежде чем идти, хорошо бы всё осмотреть.]];
|
|
|
else
|
|
|
p [[Возможно, ты сходишь с ума, но тебе кажется, что в гараже что-то изменилось. ]];
|
|
|
end
|
|
|
if here().room9_var == 3
|
|
|
then here().room9_var = 4 -- ничего взято, всё осмотрено, появилась рука
|
|
|
move("room9_no_рука", "room9_garazh")
|
|
|
end;
|
|
|
if here().room9_var == 5
|
|
|
then here().room9_var = 6 -- ничего взято, всё осмотрено, появилась нога
|
|
|
move("room9_no_нога", "room9_garazh")
|
|
|
move("room9_no_рука", "room9_room9_nil")
|
|
|
end;
|
|
|
if here().room9_var == 7
|
|
|
then here().room9_var = 8 -- ничего взято, всё осмотрено, появился хобот
|
|
|
move("room9_no_хобот", "room9_garazh")
|
|
|
move("room9_no_нога", "room9_room9_nil")
|
|
|
end;
|
|
|
end;
|
|
|
|
|
|
before_Remove = function(s,w,wh)
|
|
|
-- правильная отработка команд "взять что-то из гаража/пола/тисков/шкафа"
|
|
|
if wh == _'room9_no_гараж' or wh == _'room9_no_пол' or wh == _'room9_no_тиски' or wh == _'room9_no_шкаф' then
|
|
|
mp:xaction('Take', w);
|
|
|
else
|
|
|
return false;
|
|
|
end;
|
|
|
end;
|
|
|
before_Listen = "Ты слышишь гулкий ритмичный звук - то ли это живые мертвецы стучат, то ли это стук твоего сердца.";
|
|
|
before_Smell = "Дело пахнет керосином.";
|
|
|
obj = { 'room9_o1', 'room9_o2'};
|
|
|
room9_var = 1; -- ничего не взято; всё не осмотрено; и тыды
|
|
|
}
|
|
|
|
|
|
-- объекты для взаимодействия:
|
|
|
|
|
|
obj {
|
|
|
-"всё";
|
|
|
nam = "room9_o1";
|
|
|
description = '';
|
|
|
before_Exam = function(s)
|
|
|
if here().room9_var == 1
|
|
|
then p [[Прежде, чем всё осмотреть, подумай - тебе ничего не мешает?]];
|
|
|
else p [[Как ты можешь видеть, в этом гараже всё есть. И есть даже выходы на все четыре стороны, хоть ты их и не видишь.]];
|
|
|
end;
|
|
|
if here().room9_var == 2
|
|
|
then here().room9_var = 3 -- ничего взято, всё осмотрено
|
|
|
end;
|
|
|
return false;
|
|
|
end;
|
|
|
}
|
|
|
|
|
|
obj {
|
|
|
-"ничего";
|
|
|
nam = "room9_o2";
|
|
|
description = "Здесь ничего, а так же странный звук и странный запах. Очень странное ничего.";
|
|
|
after_Take = function(s)
|
|
|
here().room9_var = 2 -- ничего взято
|
|
|
move("room9_no_помеха", "room9_room9_nil")
|
|
|
move(s, "room9_room9_nil")
|
|
|
return false
|
|
|
end;
|
|
|
}
|
|
|
|
|
|
-- объекты сцены:
|
|
|
|
|
|
|
|
|
obj {
|
|
|
-"дело";
|
|
|
nam = "room9_no_дело";
|
|
|
description = "Всё что тебе нужно здесь, это керосин.";
|
|
|
found_in = 'room9_garazh';
|
|
|
}:attr 'scenery'
|
|
|
|
|
|
obj {
|
|
|
-"помеха | препятствие";
|
|
|
nam = "room9_no_помеха";
|
|
|
description = "Да вроде, ничего не мешает. Или, всё же, мешает?";
|
|
|
found_in = 'room9_garazh';
|
|
|
}:attr 'scenery'
|
|
|
|
|
|
|
|
|
obj {
|
|
|
-"бензопила, рисунок";
|
|
|
nam = "room9_no_бензопила";
|
|
|
description = "На северной стене ты видишь искусно нарисованную бензопилу. Увы, это всего-лишь рисунок на стене.";
|
|
|
found_in = 'room9_garazh';
|
|
|
}:attr 'scenery'
|
|
|
|
|
|
obj {
|
|
|
-"верстак, стол";
|
|
|
nam = "room9_no_верстак";
|
|
|
description = "";
|
|
|
after_Exam = function(s)
|
|
|
if here().room9_var < 4 or here().room9_var > 9 then p [[Верстак - это просто деревянный рабочий стол, с закреплёнными на нём стальными тисками.]];
|
|
|
else p [[Верстак - это просто деревянный рабочий стол, с закреплёнными на нём стальными тисками. В тисках что-то есть.]] end;
|
|
|
return false;
|
|
|
end;
|
|
|
found_in = 'room9_garazh';
|
|
|
}:attr 'scenery'
|
|
|
|
|
|
obj {
|
|
|
-"гараж|стена|стены";
|
|
|
nam = "room9_no_гараж";
|
|
|
description = "Старый пыльный гараж. На севере - бензопила, на юге - книги, на востоке - верстак, в полу - люк, на западе - выход.";
|
|
|
found_in = 'room9_garazh';
|
|
|
}:attr 'scenery'
|
|
|
|
|
|
obj {
|
|
|
-"звук | стук | ритм | смех | хохот";
|
|
|
nam = "room9_no_звук";
|
|
|
description = "Осмотреть звук? Оригинально.";
|
|
|
found_in = 'room9_garazh';
|
|
|
}:attr 'scenery'
|
|
|
|
|
|
obj {
|
|
|
-"запах";
|
|
|
nam = "room9_no_запах";
|
|
|
description = "Осмотреть запах? Оригинально.";
|
|
|
found_in = 'room9_garazh';
|
|
|
}:attr 'scenery'
|
|
|
|
|
|
obj {
|
|
|
-"книга|книги";
|
|
|
nam = "room9_no_книга";
|
|
|
description = 'Пыльный шкаф с книгами расположился у южной стены.';
|
|
|
before_Take = function(s)
|
|
|
p [[Не успела ты прикоснуться к книгам, как они разлетелись по гаражу, а на стене шкафа стала видна грубо выцарапанная надпись: "МЫ ДО ТЕБЯ ДОБЕРЁМСЯ!" - и раньше, чем ты успела хотя бы моргнуть, книги вернулись обратно в шкаф.]]
|
|
|
end;
|
|
|
found_in = 'room9_garazh';
|
|
|
}:attr 'scenery'
|
|
|
|
|
|
obj {
|
|
|
-"мертвец | мертвецы";
|
|
|
nam = "room9_no_мертвец";
|
|
|
description = 'Зловещие мертвецы могут внезапно напасть в любой момент. Но прямо сейчас ты их не видишь.';
|
|
|
found_in = 'room9_garazh';
|
|
|
}:attr 'scenery'
|
|
|
|
|
|
obj {
|
|
|
-"надпись";
|
|
|
nam = "room9_no_надпись";
|
|
|
description = 'Сейчас надпись не видна за книгами.';
|
|
|
found_in = 'room9_garazh';
|
|
|
}:attr 'scenery'
|
|
|
|
|
|
obj {
|
|
|
-"пол";
|
|
|
nam = "room9_no_пол";
|
|
|
description = "Пол гаража покрыт странными бурыми пятнами и глубокими царапинами. В полу есть люк.";
|
|
|
found_in = 'room9_garazh';
|
|
|
}:attr 'scenery'
|
|
|
|
|
|
obj {
|
|
|
-"пыль | пятна | царапины | пятно | царапина";
|
|
|
nam = "room9_no_пыль";
|
|
|
description = "Повсюду подозрительные пятна, странные царапины и та самая зловещая пыль, которая скапливается там, куда не заглядывают живые люди.";
|
|
|
found_in = 'room9_garazh';
|
|
|
}:attr 'scenery'
|
|
|
|
|
|
obj {
|
|
|
-"сердце, внутренности";
|
|
|
nam = "room9_no_сердце";
|
|
|
description = "Твоё сердце часто бьётся, но, к счастью, оно всё ещё внутри и осмотреть его не получится.";
|
|
|
found_in = 'room9_garazh';
|
|
|
}:attr 'scenery'
|
|
|
|
|
|
obj {
|
|
|
-"тиски";
|
|
|
nam = "room9_no_тиски";
|
|
|
description = "";
|
|
|
after_Exam = function(s)
|
|
|
if here().room9_var < 4 then p [[На верстаке закреплены стальные тиски.]]; end
|
|
|
if here().room9_var == 5 then p [[В стальных тисках зажата отпиленная рука.]]; end
|
|
|
if here().room9_var == 4 then p [[В стальных тисках зажата отпиленная рука.]]; here().room9_var = 5; end
|
|
|
if here().room9_var == 7 then p [[В стальных тисках зажата отпиленная нога.]]; end
|
|
|
if here().room9_var == 6 then p [[В стальных тисках зажата отпиленная нога.]]; here().room9_var = 7; end
|
|
|
if here().room9_var == 9 then p [[В тисках зажат хобот.]]; end
|
|
|
if here().room9_var == 8 then p [[В тисках зажат хобот.]]; here().room9_var = 9; end
|
|
|
if here().room9_var > 9 then p [[На верстаке закреплены стальные тиски.]]; end
|
|
|
return false;
|
|
|
end;
|
|
|
found_in = 'room9_garazh';
|
|
|
}:attr 'scenery'
|
|
|
|
|
|
obj {
|
|
|
-"шкаф";
|
|
|
nam = "room9_no_шкаф";
|
|
|
description = "У южной стены находится старый пыльный шкаф с книгами.";
|
|
|
found_in = 'room9_garazh';
|
|
|
}:attr 'scenery'
|
|
|
|
|
|
obj {
|
|
|
-"гриб | грибы | палец | пальцы | колония";
|
|
|
nam = "room9_no_гриб";
|
|
|
dsc = "Пальцы мертвеца тянутся к тебе из подпола.";
|
|
|
description = "Под полом разрослась колония грибов Пальцы Мертвеца.";
|
|
|
found_in = 'room9_no_люк';
|
|
|
before_Take = function(s)
|
|
|
p [[Эти грибы тебе без надобности.]]
|
|
|
end
|
|
|
}
|
|
|
|
|
|
-----------------------------------------
|
|
|
|
|
|
-- люк, подвал, подпол, погреб
|
|
|
|
|
|
obj {
|
|
|
-"замок | люк | цепь | цепи | ямка | яма | подвал | подпол | погреб";
|
|
|
nam = "room9_no_люк";
|
|
|
score = false;
|
|
|
when_closed = function()
|
|
|
if here().room9_var < 12 then p[[В деревянном полу гаража находится деревянный люк в погреб. Сейчас люк скован цепями и заперт на висячий замок. Возможно, подвал не пуст: в нём могут копошиться зловещие мертвецы.]]
|
|
|
else p[[В деревянном полу гаража находится деревянный люк в погреб. Сейчас люк неплотно прикрыт. Возможно, подвал не пуст: в нём могут копошиться зловещие мертвецы.]]
|
|
|
end;
|
|
|
end;
|
|
|
after_Unlock = function(s, w)
|
|
|
here().room9_var = 12;
|
|
|
if not s.score then
|
|
|
mp.score=mp.score+1;
|
|
|
end;
|
|
|
_'room9_no_люк'.score=true;
|
|
|
p[[Ты отперла замок гвоздём и сняла цепи с люка.]];
|
|
|
end;
|
|
|
when_open = "Замок отперт, цепи сброшены, люк открыт. Под люком оказалась небольшая ямка, в которой видны Пальцы Мертвеца.";
|
|
|
with_key = "room9_no_гвоздь";
|
|
|
found_in = 'room9_garazh';
|
|
|
}:attr 'static, container, openable, lockable, closed, locked'
|
|
|
|
|
|
|
|
|
obj {
|
|
|
-"стороны | выходы";
|
|
|
nam = "room9_no_стороны";
|
|
|
description = "Четыре стороны - это север, запад, юг и восток. Гардероб - на западе.";
|
|
|
found_in = 'room9_garazh';
|
|
|
}:attr 'scenery'
|
|
|
|
|
|
obj {
|
|
|
-"гардероб";
|
|
|
nam = "room9_no_гардероб";
|
|
|
description = "Гардероб - на западе.";
|
|
|
found_in = 'room9_garazh';
|
|
|
}:attr 'scenery'
|
|
|
|
|
|
|
|
|
-- Менять нельзя!!!! Это не ваш предмет!!! Вы не знаете как он выглядит, его придумает другой автор!!!
|
|
|
|
|
|
obj {
|
|
|
-"керосин|бутылочка";
|
|
|
nam = "kerosin";
|
|
|
description = "Керосин для лампы. На бутылочке так и написано.";
|
|
|
found_in = 'room9_no_люк';
|
|
|
before_Drink = "Ты не станешь это пить!";
|
|
|
before_Smell = "Пахнет керосином.";
|
|
|
before_Read = "\"Керосин для лампы.\" - написано на бутылочке.";
|
|
|
before_Burn = "Лучше не надо, ничем хорошим это не закончится.";
|
|
|
score=false;
|
|
|
after_Take = function(s)
|
|
|
if not s.score then
|
|
|
mp.score=mp.score+1;
|
|
|
end;
|
|
|
_'kerosin'.score=true;
|
|
|
return false;
|
|
|
end;
|
|
|
}
|
|
|
|