steed/games/tutorial3/main-ua.lua
2011-06-17 16:49:24 +00:00

290 lines
13 KiB
Lua
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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:Навчання$
instead_version "1.3.1"
require "dash" -- '--' replace :)
require "para" -- be more "Russian"
require "quotes"
game.act = 'Не виходить.';
game.inv = "Гм.. Не то..";
game.use = 'Не зработає...';
game.pic = 'instead.png';
set_music('ramparts.mod');
main = room {
nam = 'Навчання',
act = function() -- only one vobj, no check, just goto
goto('r1');
end,
dsc = txtc("Вітаємо в режимі навчання INSTEAD.")..[[^^
Гра складається з сцен. Кожна сцена гри має опис,
що складається зі статичної та динамічної частини. Динамічна частина включає об'єкти,
персонажів и т.і. С динамічною частиною ігрок може взаємодіяти за допомогою миши,
нажимаючи на підсвічені посилання.^^
Дана сцена має назву "Навчання" і зараз Ви читаєте статичну частину її опису.
Єдиним об'єктом сцени є об'єкт "Далі", котрий Ви бачите внизу тексту.
Отже, для продовження навчання Ви можете натиснути на "Далі".]],
obj = {
vobj('continue', '{Далі}'),
},
};
paper = obj {
nam = 'папір',
dsc = 'Перше, що Ви помічаєте в кімнаті -- {аркуш папіру}.',
tak = 'Ви взяли папір.',
var { seen = false, haswriting = false },
inv = function(s)
if here() == r2 then
s.seen = true;
end
if not s.haswriting then
return 'Чистий аркуш картатого папіру. Схоже, його вирвали з зошиту.';
end
p 'Аркуш картатого папіру, на якому написано Ваше ім`я.';
end,
used = function(s, w)
if w == pencil and here() == r4 then
s.haswriting = true;
p 'Ви пишите на аркуші своє ім`я.';
end
end,
};
pencil = obj {
nam = 'олівець',
dsc = 'На підлозі лежить {олівець}.',
tak = 'Ви підібрали олівець.',
var { seen = false },
inv = function(s)
if here() == r2 then
s.seen = true;
end
p 'Звичайний дерев`яний олівець.';
end,
};
r1 = room {
nam = 'Урок 1',
enter = code [[ lifeon('r1') ]],
life = function(s)
if not have 'paper' or not have 'pencil' then
return
end
put(vway('continue',
[[Відмінно!^Ви швидше за все помітили, що статична частина опису сцени
зникла, поступівшися місцем опису предметів, котрі Ви взяли.
Щоб знову подивитись повний опис сцени, можно нажати на її
назву, відображаєму в верхній частині вікна -- "Урок 1". Окрім того,
можно нажати клавішу F5 на клавіатурі, результат буде таким же.^^
{Далі}]], 'r2'));
lifeoff('r1');
end,
dsc = [[Урок 1. Взаємодія з об`єктами^^
Продовжимо урок. Зараз Ви знаходитесь в кімнаті. Візьміть обидва предмети,
котрі Ви бачите. Нагадаємо, що для цього Ви можете просто
використовувати мишу. Якщо Вам зручніше використовувати клавіатуру -- можно
обрати потрібний предмет за допомоги клавіш зі стрілками и натиснути "Введення" для
взаємодії з ними.]],
obj = { 'paper', 'pencil'},
};
r2 = room {
nam = 'Урок 2',
enter = code [[ lifeon('r2') ]],
life = function(s)
if not paper.seen or not pencil.seen then
return
end
put(vway("continue", "Гарно!^^{Далі}", 'r3'));
lifeoff('r2');
end,
dsc = [[Урок 2. Використування інвентарю - Частина I^^
Тепер у Вас з'явилися предмети, котрі можно використовувати чи вивчати.
Для цього призначений інвентар. Ви можете подивитися на будь-який предмет
інвентарю двічи клацнувши мишею по цьому предмету. Те ж саме можна
зробити за допомогою клавіатури: нажміть "Tab", щоб перемкнутися на панель
інвентарю, оберіть потрібний предмет и двічі
нажміть "Введення". Щоб повернутися назад до опису сцени, нажмить "Tab" ще раз.^^
Отже, подивитесь на папір. Потім, повторіть цю операцію з олівцем.]],
};
apple = obj {
nam = 'яблуко',
dsc = 'На столі лежить {яблуко}.',
tak = 'Ви взяли яблуко зі столу.',
var { knife = false },
inv = function(s)
if here() == r4 then
remove(s, me());
return 'Вы з`їдаєте яблуко.';
end
p 'Виглядить апетитно.';
end,
};
desk = obj {
nam = 'стіл',
dsc = 'В цьому уроці ви бачите дерев`яний {письмовий стіл}.',
var { haswriting = false, seen = false },
act = function(s)
if s.haswriting then
s.seen = true;
return 'Великий дубовий письмовий стіл. На стільниці видно дрібний напис олівцем: "Любіть Україну".';
end
p 'Великий дубовий письмовий стіл.';
end,
used = function(s, w)
if w == pencil and not s.haswriting then
s.haswriting = true;
p 'Ви пишете на столешні декілька букв.';
end
end,
obj = { 'apple' },
};
r3 = room {
nam = 'Урок 3',
enter = code [[ lifeon('r3') ]],
life = function(s)
if not desk.seen or not have('apple') then
return
end
put(vway("continue", "^^{Далі}", 'r4'));
lifeoff('r3');
end,
dsc = [[Урок 3. Використання інвентаря - Частина II^^
Ви можете задіяти предмети інвентарю на інші предмети сцени чи інвентарю.
В цій комнаті ви бачите стіл. Спробуйте задіяти олівець на стіл.^^
Для цього клацніть мишей на олівець, а потім на стіл. Те ж саме можна зробити
за допомогою клавіатури: використовуючи клавіши "Tab", "Введення" и "стрілки".^^
Потім подивиться на стіл. І не забудьте взяти яблуко, воно нам знадобиться в наступному уроці.]],
obj = { 'desk' },
};
r4 = room {
nam = 'Урок 4',
enter = function()
apple.knife = false;
lifeon('r4');
end,
life = function(s)
if not paper.haswriting or have('apple') then
return
end
put(vway("continue", "Гаразд.^^{Далі}", 'r5'));
lifeoff('r4');
end,
dsc = [[Урок 4. Використання інвентарю - Частина III^^
Гаразд, тепер вивчимо ще декілька дій з предметами.^^
По-перше, напішить що-небудь на папірі. Для цього нажміть мишею
на олівець, а потім на папір. Після цього ви можете подивитись
на папір, щоб побачити ваш запис.^^
По-друге, з'їште яблуко, котре Ви взяли зі столу в попередній кімнаті.
Для цього двічи клацніть по яблуку в інвентарі.^^
Всі описані дії можна виконати за допомогою клавіатури так само,
як показано в попередньому уроці.]],
};
r5 = room {
nam = 'Урок 5',
exit = function(s, t)
if t ~= r6 then
return 'Цей урок ми вже пройшли.^ Будь ласка, перейдіть на урок 6.', false;
end
end,
dsc = [[Урок 5. Переміщення - Частина I^^
Тепер вивчим переходи між кімнатами. В цій кімнате Ви бачите п'ять
допоміжних посилань з номерами уроків. Перейдіть на урок 6. ^^
Для цього натисніть мишей на відповідне посилання. Ви також можете використати
клавиатуру -- виберіть потрібне посилання за допомогою клавіш зі стрілками
та нажміть "Введення" для переходу.]],
way = { 'r1', 'r2', 'r3', 'r4', 'r6'},
};
r6 = room {
nam = 'Урок 6',
exit = function(s, t)
if t ~= theend then
p 'Цей урок ми вже пройшли.^ Будь ласка, перейдіть на останній урок.'
return false; -- same as return "text", false
end
end,
dsc = [[Урок 6. Переміщення - Частина II^^
Тепер перейдіть на останній урок.]],
way = { 'r1', 'r2', 'r3', 'r4', 'r6', 'theend'},
};
theend = room {
nam = 'Останній урок',
dsc = [[Ви можете вибрати гру, зберегати и загружати її стан і виповняти
інші дії за допомогою меню. Для визову меню натисніть клавішу "Esc" або
натисніть мишею на символ меню (справа знизу).^^
Тепер Ви готові до гри. Хай щастить!!!^^
Ігри для INSTEAD можно завантажити тут: ]]..txtu("http://instead.syscall.ru")..[[^^
Для навчення використан трек Ramparts от Scorpion.]],
obj = { vway('keys', 'Подивитись {список клавіш}.', 'help')},
};
help = room {
nam = 'Список клавіш',
dsc = [[
Esc - Виклик меню;^
Alt+Q - Вихід;^
Alt+Enter - Півноекранний/віконний режим;^
F5 - Оновлення сцени;^
Пробел/Backspace - Прокрутка опису сцени;^
Tab/Shift+Tab - Переключення між активними зонами;^
PgUp/PgDn - Прокрутка активної зони;^
Стрілки вліво/вправо - Вибір посиланнь в активній зоні;^
F2 - Збереження гри;^
F3 - Завантаження гри;^
F8 - Швидке збереження гри;^
F9 - Швидке завантаження гри.^^
Клавіши, поведінка яких залежить від обраного режиму клавіатури
(див. Меню -> Налаштування -> Режим клавіатури):^^
Стрілки вгору/вниз:^
 - В режимі "Прокрутка": прокрутка активної зони;^
 - В режимі "Посилання": вибір посиланнь в активній зоні;^
 - В режимі "Розумний": одночасний вибір посиланнь та прокрутка активної зони.^^
Стрілки вгору/вниз + Shift або Alt:^
 - В режимі "Прокрутка": вибір посиланнь в активній зоні;^
 - В режимі "Посилання": прокрутка активної зони;^
 - В режимі "Розумний": прокрутка активної зони.
]],
obj = { vway('cmdline', 'Подивитись {параметри командного рядка}.', 'help2')},
};
help2 = room {
nam = 'Параметри командного рядка',
dsc = [[
-nosound - запуск без звуку;^
-alsa - примусове використання alsa (тільки для Linux);^
-debug - режим налагоджування для розробників ігр;^
-theme <тема> - вибір теми;^
-game <гра> - вибір гри;^
-themespath <шлях> - додатковий шлях до тем;^
-gamespath <шлях> - додатковий шлях до ігр;^
-windows - віконний режим;^
-fullscreen - повноекранний режим;^
-noautosave - відключити автозбереження/автозагрузку;^
-encode <game.lua> [encoded.lua] - закодувати вихідний текст lua (використовуйте doencfile для загрузки такого файла);^
-mode [ШИРИНАxВИСОТА] - встановити вимір екрану.
]],
obj = { vway('keys', 'Подивитись {список клавіш}.', 'help')},
};