Эта страница ещё не существует
++ +Вы перешли по ссылке на тему, для которой ещё не создана страница. Если позволяют ваши права доступа, вы можете создать её, нажав на кнопку «Создать страницу». +
+ +diff --git a/doc/Makefile b/doc/Makefile
index 0f99f29..cd4a7d8 100644
--- a/doc/Makefile
+++ b/doc/Makefile
@@ -15,12 +15,27 @@ wiki:
wget "http://instead.syscall.ru/wiki/doku.php?id=ru:gamedev:documentation&do=export_raw" -O writing_games.txt
wget "http://instead.syscall.ru/wiki/doku.php?id=en:gamedev:documentation&do=export_raw" -O writing_games-en.txt
+ wget "http://instead.syscall.ru/wiki/doku.php?id=ru:gamedev:modules:click&do=export_raw" -O modules/click.txt
+ wget "http://instead.syscall.ru/wiki/doku.php?id=ru:gamedev:modules:format&do=export_raw" -O modules/format.txt
+ wget "http://instead.syscall.ru/wiki/doku.php?id=ru:gamedev:modules:hideinv&do=export_raw" -O modules/hideinv.txt
+ wget "http://instead.syscall.ru/wiki/doku.php?id=ru:gamedev:modules:prefs&do=export_raw" -O modules/prefs.txt
+ wget "http://instead.syscall.ru/wiki/doku.php?id=ru:gamedev:modules:timer&do=export_raw" -O modules/timer.txt
+ wget "http://instead.syscall.ru/wiki/doku.php?id=ru:gamedev:modules:xact&do=export_raw" -O modules/xact.txt
+ wget "http://instead.syscall.ru/wiki/doku.php?id=ru:gamedev:modules:dash&do=export_raw" -O modules/dash.txt
+ wget "http://instead.syscall.ru/wiki/doku.php?id=ru:gamedev:modules:dbg&do=export_raw" -O modules/dbg.txt
+ wget "http://instead.syscall.ru/wiki/doku.php?id=ru:gamedev:modules:hoykeys&do=export_raw" -O modules/hotkeys.txt
+ wget "http://instead.syscall.ru/wiki/doku.php?id=ru:gamedev:modules:para&do=export_raw" -O modules/para.txt
+ wget "http://instead.syscall.ru/wiki/doku.php?id=ru:gamedev:modules:quotes&do=export_raw" -O modules/quotes.txt
+ wget "http://instead.syscall.ru/wiki/doku.php?id=ru:gamedev:modules:theme&do=export_raw" -O modules/theme.txt
+
clean:
all:
install:
$(INSTALLD) $(DOCPATH)
$(INSTALL) *.html *.txt *.pdf $(DOCPATH)
+ $(INSTALLD) $(DOCPATH)/modules
+ $(INSTALL) modules/*.txt $(DOCPATH)/modules
$(INSTALLD) $(MANPATH)
$(INSTALL) *.6 $(MANPATH)
diff --git a/doc/Makefile.windows b/doc/Makefile.windows
index de860d5..1b73a81 100644
--- a/doc/Makefile.windows
+++ b/doc/Makefile.windows
@@ -2,6 +2,8 @@ clean:
all:
install:
if not exist ..\bin\doc mkdir ..\bin\doc
+ if not exist ..\bin\doc\modules mkdir ..\bin\doc\modules
copy /Y *.txt ..\bin\doc
copy /Y *.html ..\bin\doc
copy /Y *.pdf ..\bin\doc
+ copy /Y modules\*.txt ..\bin\doc\modules
diff --git a/doc/modules/click.txt b/doc/modules/click.txt
new file mode 100644
index 0000000..5b1ab95
--- /dev/null
+++ b/doc/modules/click.txt
@@ -0,0 +1,31 @@
+====== Модуль Click ======
+
+^ Подключение | require %%"%%click%%"%% |
+^ Тип | расширение кода |
+^ Зависимости | нет |
+
+===== Описание =====
+
+Модуль позволяет удобным способом отслеживать клики мышкой по картинке сцены.
+При этом, во время клика будет вызван обработчик click текущей сцены, или
+одноименный обработчик game.click. В параметрах передаются координаты клика (x, y)
+в системе координат оригинального (немасштабированного) изображения. Координата 0,0 соответствует
+верхнему левому углу.
+
+===== Примеры использования =====
+
+game.click = function(s, x, y)
+ p ("Click at:",x,",", y);
+end
+
+house = room {
+ nam = 'Дом';
+ pic = 'house.png';
+ click = function(s, x, y)
+ if x > 100 and x < 120 and y > 50 and y < 90 then
+ goto 'street'
+ end
+ end
+-- ...
+}
+
diff --git a/doc/modules/dash.txt b/doc/modules/dash.txt
new file mode 100644
index 0000000..a91fa66
--- /dev/null
+++ b/doc/modules/dash.txt
@@ -0,0 +1,19 @@
+====== Модуль Dash ======
+
+^ Подключение | require %%"%%dash%%"%% |
+^ Тип | игровой |
+^ Зависимости | [[Format]] |
+
+===== Описание =====
+
+Заменяет последовательность символов %%--%% на символ --. Замена происходит //только//
+при выводе содержимого сцены.
+
+===== Примеры использования =====
+
+require "dash"
+main = room {
+ nam = 'Введение';
+ dsc = [[ -- Ну, начнем!!!]];
+}
+
\ No newline at end of file
diff --git a/doc/modules/dbg.txt b/doc/modules/dbg.txt
new file mode 100644
index 0000000..c5d9a8c
--- /dev/null
+++ b/doc/modules/dbg.txt
@@ -0,0 +1,19 @@
+====== Модуль Dbg ======
+
+^ Подключение | require %%"%%dbg%%"%% |
+^ Тип | игровой |
+^ Зависимости | [[input]] |
+
+===== Описание =====
+Включает отладчик. Отладчик позволяет:
+ * переходить в разные локации;
+ * брать и выбрасывать предметы;
+ * выполнять lua код;
+ * делать дамп состояния объектов;
+
+===== Примеры использования =====
+
+После включения модуля в вашу игру, кликните на объект debug в инвентаре,
+или нажмите клавишу "F7".
+
+
diff --git a/doc/modules/format.txt b/doc/modules/format.txt
new file mode 100644
index 0000000..cc57b4a
--- /dev/null
+++ b/doc/modules/format.txt
@@ -0,0 +1,18 @@
+====== Модуль Format ======
+
+^ Подключение | require %%"%%format%%"%% |
+^ Тип | расширение кода |
+^ Зависимости | нет |
+
+===== Описание =====
+Модуль format выполняет форматирование вывода. По умолчанию все настройки выключены:
+
+===== Примеры использования =====
+
+format.para = false -- отступы в начале абзаца;
+format.dash = false -- замена двойного - на тире;
+format.quotes = false -- замена " " на << >>;
+format.filter = nil -- пользовательская функция замены;
+
+
+Вы можете пользоваться модулями [[ru:gamedev:modules:para|para]], [[ru:gamedev:modules:dash|dash]], [[ru:gamedev:modules:quotes|quotes]] для включения отдельных настроек.
\ No newline at end of file
diff --git a/doc/modules/hideinv.txt b/doc/modules/hideinv.txt
new file mode 100644
index 0000000..d08fc17
--- /dev/null
+++ b/doc/modules/hideinv.txt
@@ -0,0 +1,28 @@
+====== Модуль Hideinv ======
+
+^ Подключение | require %%"%%hideinv%%"%% |
+^ Тип | расширение кода |
+^ Зависимости | нет |
+
+===== Описание =====
+
+Модуль Hideinv позволяет временно выключать объекты в инвентаре для выбранных комнат.
+
+===== Примеры использования =====
+
+При определении комнаты, просто задайте аттрибут hideinv, например:
+
+require "hideinv"
+
+happyend = room {
+ nam = 'Конец';
+ hideinv = true;
+ dsc = [[ Вы прошли игру! ]];
+}
+
+
+
+===== Особенности =====
+
+Если ваша игра использует модуль [[xAct]] и вы хотите использовать свойство hideinv в xroom,
+включите модуль Hideinv раньше модуля [[xAct]].
diff --git a/doc/modules/hotkeys.txt b/doc/modules/hotkeys.txt
new file mode 100644
index 0000000..2321a6f
--- /dev/null
+++ b/doc/modules/hotkeys.txt
@@ -0,0 +1,231 @@
+
+
+
+ +Вы перешли по ссылке на тему, для которой ещё не создана страница. Если позволяют ваши права доступа, вы можете создать её, нажав на кнопку «Создать страницу». +
+ +
+format.para_space = " ";
+
+
+
+
+
diff --git a/doc/modules/prefs.txt b/doc/modules/prefs.txt
new file mode 100644
index 0000000..216f499
--- /dev/null
+++ b/doc/modules/prefs.txt
@@ -0,0 +1,37 @@
+====== Модуль Prefs ======
+
+^ Подключение | require %%"%%prefs%%"%% |
+^ Тип | расширение кода |
+^ Зависимости | нет |
+
+===== Описание =====
+Этот модуль позволяет сохранять настройки игры. Другими словами, сохраненная информация не зависит от состояния игры.
+Такой механизм можно использовать, например, для реализации системы достижений или счетчика количества прохождений игры.
+
+prefs это объект, все переменные которого буду сохранены.
+
+prefs:store() -- сохранить настройки.
+
+prefs:purge() -- удалить все настройки.
+
+Загрузка настроек выполняется автоматически при инициализации игры (перед вызовом функции init()), но вы можете инициировать загрузку и вручную:
+
+prefs:load();
+
+===== Примеры использования =====
+
+instead_version "1.3.0"
+require "click"
+require "prefs"
+
+prefs.counter = 0
+
+game.click = function(s)
+ prefs.counter = prefs.counter + 1
+ prefs:store();
+ p("Кликов:", prefs.counter);
+end
+
+game.pic = 'clickme.png'
+-- ...
+
\ No newline at end of file
diff --git a/doc/modules/quotes.txt b/doc/modules/quotes.txt
new file mode 100644
index 0000000..07e576e
--- /dev/null
+++ b/doc/modules/quotes.txt
@@ -0,0 +1,34 @@
+====== Модуль Quotes ======
+
+^ Подключение | require %%"%%quotes%%"%% |
+^ Тип | игровой |
+^ Зависимости | [[Format]] |
+
+===== Описание =====
+
+Заменяет все двойные кавычки на типографские ("ёлочки").
+
+Также заменяет ,, (две запятые) и %%''%% (два апострофа) на кавычки-"лапки" („”).
+
+Замена происходит //только// при выводе содержимого сцены.
+
+Рекомендуется к применению для соответствия русской типографской традиции. Напомним, что обычно используются "ёлочки", но для употребления кавычек в кавычках и для передачи прямой речи следует использовать "лапки".
+
+===== Примеры использования =====
+
+"Текст в елочках"
+
+
+Результат: «текст в елочках».
+
+,,Текст в лапках''.
+
+
+Результат: „текст в лапках“.
+
+
+_"Текст в елочках _"вложенный"_
+
+
+Результат: «текст в елочках «вложенный».
+
diff --git a/doc/modules/theme.txt b/doc/modules/theme.txt
new file mode 100644
index 0000000..6ba50b6
--- /dev/null
+++ b/doc/modules/theme.txt
@@ -0,0 +1,60 @@
+====== Модуль Theme ======
+
+^ Подключение | require "theme" |
+^ Тип | игровой |
+^ Зависимости | нет |
+
+===== Описание =====
+Начиная с версии 1.3.0, модуль theme позволяет модифицировать параметры темы на лету.
+Для этого, используются следующие функции:
+
+-- настройка окна вывода
+win.geom(x, y, w, h)
+win.color(fg, link, alink)
+win.font(name, size, height)
+win.gfx.up(pic, x, y)
+win.gfx.down(pic, x, y)
+
+-- настройка инвентаря
+inv.geom(x, y, w, h)
+inv.color(fg, link, alink)
+inv.font(name, size, height)
+inv.gfx.up(pic, x, y)
+inv.gfx.down(pic, x, y)
+inv.mode(mode)
+
+-- настройка меню
+menu.bw(w)
+menu.color(fg, link, alink)
+menu.font(name, size, height)
+menu.gfx.button(pic, x, y)
+
+-- настройка графики
+gfx.cursor(norm, use, x, y)
+gfx.mode(mode)
+gfx.pad(pad)
+gfx.bg(bg)
+
+-- настройка звука
+snd.click(name);
+
+
+Если необходимо изменить только часть параметров, в качестве неизменяемых параметров можно указывать значение nil. Например:
+
+win.font(nil, 64);
+
+
+Существует возможность чтения текущих параметров тем:
+
+theme.get 'имя переменной темы';
+
+===== Примеры использования =====
+
+
+gfx.bg "dramatic_bg.png";
+win.geom (0,0, theme.get 'scr.w', theme.get 'scr.h');
+inv.mode 'disabled'
+
+
+
+
diff --git a/doc/modules/timer.txt b/doc/modules/timer.txt
new file mode 100644
index 0000000..63b3382
--- /dev/null
+++ b/doc/modules/timer.txt
@@ -0,0 +1,43 @@
+====== Модуль Timer ======
+
+^ Подключение | require %%"%%timer%%"%% |
+^ Тип | расширение кода |
+^ Зависимости | нет |
+
+===== Описание =====
+
+Модуль позволяет получать события от таймера удобным способом.
+Функцию обработчика таймера выполняет game.timer.
+Если game.timer возвращает пустое значение,
+сцена не перерисовывается. В противном случае,
+возвращаемое значение интерпретируется как действие.
+
+Вы можете делать локальные для комнаты обработчики timer. Если
+в комнате объявлен обработчик timer, он вызовется вместо game.timer
+
+===== Примеры использования =====
+
+game.timer = function(s)
+ set_sound('gfx/beep.ogg');
+ p "Timer:"
+ p (time())
+end
+function init()
+ timer:set(1000)
+end
+
+
+
+myroom = room {
+ entered = function(s)
+ timer:set(1000);
+ end;
+ timer = function(s)
+ timer:stop();
+ goto 'myroom2';
+ end;
+ nam = 'Проверка таймера';
+ dsc = [[Ждите.]];
+}
+
+
diff --git a/doc/modules/xact.txt b/doc/modules/xact.txt
new file mode 100644
index 0000000..00c25fb
--- /dev/null
+++ b/doc/modules/xact.txt
@@ -0,0 +1,59 @@
+====== Модуль xAct ======
+
+^ Подключение | require %%"%%xact%%"%% |
+^ Тип | расширение кода |
+^ Зависимости | нет |
+
+===== Описание =====
+Модуль позволяет делать ссылки на объекты из других объектов, реакций и life методов в форме: {объект(параметры):текст}.
+
+Начиная с версии 1.2.2 (instead_version "1.2.2") символ разделителя задается stead.delim и по-умолчанию содержит '|'. То-есть формат записи выглядит так: {объект(параметры)|текст}.
+
+Где 'объект' это сам объект или атрибут nam объекта. При этом, чтобы ссылка работала, объект должен
+присутствовать в сцене.(Начиная с 1.2.2 -- не обязательно).
+
+(параметры) -- необязательные параметры в виде: (текст, текст, ...)
+
+'текст' -- то, как ссылка выглядит в игре для игрока.
+
+Модуль содержит в себе функцию xact, которая создает объект - простейшую реакцию.
+Первый параметр функции -- имя, второй -- реакция, которая может быть строкой, функцией или code.
+
+Модуль содержит в себе реализацию комнаты с расширенным описанием: xroom. Если в такой комнате задать
+атрибут xdsc, то он будет выведен в области описаний объектов.
+
+Функция xdsc позволяет более гибко управлять выводом текста в области предметов. См. примеры.
+===== Примеры использования =====
+
+main = room {
+ forcedsc = true;
+ dsc = [[От автора. Эту игру я писал очень {note1|долго}.]];
+ obj = {
+ xact('note1', [[Больше 10 лет.]]);
+ }
+}
+
+
+main = room {
+ forcedsc = true;
+ dsc = [[Я в комнате.]];
+ xdsc = [[ Я вижу {apple|яблоко} и {knife|нож}. ]];
+ other = [[ Еще здесь лежат {chain|цепь} и {tool|пила}.]];
+ obj = {
+ xdsc(), -- 'xdsc method by default'
+ xdsc 'other',
+ 'apple', 'knife', 'chain', 'tool',
+ }
+}
+
+
+
+main = xroom {
+ forcedsc = true;
+ dsc = [[Я в комнате.]];
+ xdsc = [[ Я вижу {apple|яблоко} и {knife|нож}. ]];
+ obj = {
+ 'apple', 'knife', 'chain', 'tool',
+ }
+}
+
\ No newline at end of file