1instead_version "1.6.3"
2require "proxymenu"
3require "hideinv"
4
5game.forcedsc = true
6
7minv = obj_menu('С СОБОЙ', 'exam', false, true);
8mlook = obj_menu('ОСМОТРЕТЬ', 'exam', true);
9mtake = obj_menu('ВЗЯТЬ', 'take', true);
10mdrop = obj_menu('БРОСИТЬ', 'drop', false, true);
11meat = obj_menu('ЕСТЬ', 'eat', true, true);
12mpush = obj_menu('ТОЛКАТЬ', 'push', true);
13muse = use_menu('ИСПОЛЬЗОВАТЬ', 'useon', 'used', 'useit', true, true);
14mgive = use_menu('ОТДАТЬ', 'give', 'accept', false, true, true, true);
15mwalk = obj_menu('ИДТИ', 'walk', false, false, true);
16
17game.useit = 'Не помогло.'
18game.use = 'Не сработает.'
19game.give = 'Отдать? Ни за что!'
20game.eat = 'Не буду это есть.'
21game.drop = 'Еще пригодится.'
22game.exam = 'Ничего необычного.'
23game.take = 'Стоит ли это брать?'
24game.push = 'Ничего не произошло.'
25
26game.after_take = function(s, w)
27	take(w)
28end
29
30game.after_drop = function(s, w)
31	drop(w)
32end
33
34put(minv, me())
35put(mlook, me())
36put(mtake, me())
37put(mdrop, me())
38put(meat, me())
39put(mpush, me())
40put(muse, me())
41put(mgive, me())
42-- put(mwalk, me())
43
44status = stat {
45	_Turns = 0,
46	life = function(s)
47		s._Turns = s._Turns + 1;
48	end;
49	nam = function(s)
50		return 'Статус игрока: '..s._Turns..'^';
51	end
52};
53lifeon 'status'
54
55put(status, me());
56
57knife = obj {
58	nam = 'ножик',
59	dsc = 'На полу валяется ножик.',
60	exam = 'Бесполезный перочинный ножик.',
61}
62
63main = room {
64	nam = 'intro',
65	hideinv = "true",
66	dsc = 'Введение',
67	exit = function(s)
68		inv():add('knife');
69	end,
70	obj = { vway('next','{Дальше}.', 'r1') }
71}
72
73cube = obj {
74	nam = 'куб',
75	dsc = 'В центре комнаты находится куб.',
76	take = 'Вы взяли куб',
77	exam = 'Мультифункциональный куб -- написано на кубе.',
78	drop = 'Вы положили куб.',
79	useit = 'Как можно использовать куб?',
80	talk = 'Вы поговорили с кубом.',
81	eat = function(s)
82		return 'Вы не можете разгрызть куб.', false;
83	end,
84	open = 'Вы открыли куб.',
85	close = 'Вы закрыли куб.',
86	push = 'Вы толкаете куб.',
87	give = function(s, w)
88		return 'Вы пытаетесь отдать куб объекту: '..deref(w)..'.', false
89	end,
90	useon = function(s, w)
91		return 'Вы пытаетесь юзать куб на объект: '..deref(w)..'. Получилось!'
92	end,
93	used = 'Куб поюзан.',
94};
95
96sphere = obj {
97	nam = 'сфера',
98	dsc = 'В центре комнаты находится сфера.',
99	take = 'Вы взяли сферу',
100	exam = 'Мультифункциональная сфера -- написано на сфере.',
101	drop = 'Вы положили сферу.',
102	useit = 'Как можно использовать сферу?',
103	talk = 'Вы поговорили с сферой.',
104	eat = function(s)
105		return 'Вы не можете разгрызть сферу.', false;
106	end,
107	open = 'Вы открыли сферу.',
108	close = 'Вы закрыли сферу.',
109	push = 'Вы толкаете сферу.',
110	give = function(s, w)
111		return 'Вы пытаетесь отдать сферу объекту: '..nameof(w)..'.', false
112	end,
113	useon = function(s, w)
114		return 'Вы пытаетесь юзать сферу на объект: '..nameof(w)..'. Получилось!'
115	end,
116	used = 'Сфера поюзана.',
117};
118
119r1 = room {
120	nam = 'комната',
121	dsc = 'Вы в комнате',
122	obj = { cube, sphere },
123}
124