Pages: 1 2
RSS
# Re: :-)
pipe.2032
Wol4ik(syscall,22) — Peter
2018-04-08 08:52:33


Воистину Воскресе!

# :-)
pipe.2032
Wol4ik(syscall,22) — All
2018-04-08 06:22:59


Ну, что. Пасха!
Урааааааа!

# Re: форум не отвечает
pipe.2032
Wol4ik(syscall,22) — Andrew Lobanov
2018-04-01 19:54:01


Ну, приблизительно в течение часа вокруг означенного времени, форум и реп игр не был доступен. Возможно дольше. Это подтверждали и агрегаторы ifiction и https://db.crem.xyz/ c ifiction сохранился скрин, там форум инстед отсутствовал как блок. По прямым ссылкам без агрегаторов тоже не было доступа.

# форум не отвечает
pipe.2032
Wol4ik(syscall,22) — All
2018-04-01 16:21:11


http://instead-games.ru/forum/
что-то случилось....

# Re: Продолжая тему общения (срывая покровы)
pipe.2032
Wol4ik(syscall,22) — Difrex(mobile)
2018-03-28 12:49:54


п.с. в буддизме есть *сангха, община верующих. Есть признаки, что ранние формы сангхи не имели мистического измерения, а просто служили для хранения и проповеди учения. Ну и вообще, вместе оно было сподручнее скитаться, ученики Будды же были нищенствующим орденом.

# Re: Продолжая тему общения (срывая покровы)
pipe.2032
Wol4ik(syscall,22) — Difrex(mobile)
2018-03-28 12:45:26


Буддизм это изначально атеистическое учение, во всяком случае в первых поколениях. Историческая почва и клнтекст эпохи -- реакция на ведическое мировоззрение.

# Re: Продолжая тему общения (срывая покровы)
pipe.2032
Wol4ik(syscall,22) — Peter
2018-03-28 11:56:08


Без общения с Церковью, как со святым собранием верующих, ищущие люди так и остаются основную часть жизни ищущими. В лучшем случае. Не имея возможности познавать и общаться с Богом в полноте. Здесь имеется в виду Церковь с большой буквы, а не только лишь церковь как историческая институция с иерархией, постройками и финансами.

Эта трагичность сопровождает многих талантиливых людей. Курт Кобэйн перевернул музыкальную эпоху, но по сути остался духовно обворован и уничтожен силами этого мира.

Есть и более мягкие примеры. Дарвин и Павлов были верующими людьми, что легко найти в их биографиях и высказываниях. Но Дарвину как будто что-то преграждало путь, он не мог соединиться с другими христианами на молитве. Мог лишь стоять за дверями снаружи.

Пророческий дар Ницше превратился в антихристианство под давлением повсеместной светской пустоты общества и номенального лицемерного благочестия. Что не смогло оставить этого пламенного ищущего человека в здравом уме под конец его жизни.

# Re: Тишина...
pipe.2032
Wol4ik(syscall,22) — Peter
2018-03-23 21:10:05


>Поэтому довольно "боязно" (да и бессмысленно?) говорить по душам. ;)
Да. Вот где еще теперь можно поймать Петра и поговорить по душам?))) используя опосредованные, с виду отвлеченные формы. Хехе

# Re: форум не отвечает уже второй раз за сутки
std.club
Wol4ik(syscall,22) — Wol4ik
2018-04-29 15:30:17


ну и реп тоже, разумеется, не работает. Агрегатор ifiction это подтверждает, что это не мой инет глючит. Там серьозно всьо.

# форум не отвечает уже второй раз за сутки
std.club
Wol4ik(syscall,22) — All
2018-04-29 15:28:27


Сплайн! Опять.

# Кочегар и Государь.
std.club
Wol4ik(syscall,22) — All
2018-03-17 17:57:07


Недевно заново пересмотрел в один день фильмы "Остров" и "Царь" с Мамоновым в гл.роли. Доволен. Один - немного лубочная, но в целом положительная комедия. Другой - мАстерская притча о днях нынешних, серьезный фильм без единой лишней детали или фразы.

# Re: Сказки про INSTEAD: Карантин
std.club
Wol4ik(syscall,22) — Peter
2018-03-01 18:32:27


Балабанов - чудовище. "Братов" 1-2 разумный человек не сможет смотреть всерьез, только разве что как слепок одного из этапов развития современного массового мифологического сознания. В этих фильмах нет ни одного положительного героя, запрет на убийство снят, борьба за "правду" смоет вину с борца за эту самую правду. Фильм "Война", который я смотрел в кинотетатре, когда он только вышел, это развитие той же идеи с ее нарастающим приближением к абсурду, плюс безнадёга и бессмысленность всего и вся. "Груз-200", по аналогии с "братами", можно оценивать только как более или менее близкую костюмно/бытовую реконструкцию.

Сам строй фильма способен лишить надежды даже здоровую психику. Впрочем, именно из-за этого фильма я возненавидел актера Алексея Серебрякова. Серебряков в данном случае не как человек и мыслитель, а как сценический типаж, который был потом очень эффектно использован в известном фильме Звягинцева, который, впрочем, оставляет зрителю надежды не больше, чем фильмы Балабанова. Балабанов рассказывает о реальном проклятии нашей страны, которе мы до сих пор несем, но не дает героям найти жизненный выход из всего этого. По тому, что сам не знает, его как художника поглотила тоскливая тьма.

# Рекомендации по изучению Instead в школрх за рубежом
std.club
Wol4ik(syscall,22) — All
2018-02-12 12:53:39


https://books.google.com.ua/books?id=qcomDwAAQBAJ&lpg=PA72&hl=ru&pg=PA71#v=onepage&q&f=false

Ссылку предоставил TechniX, методичка на украинском. Инстеду посвящена пара страниц.

# Re: Принтед #4
std.club
Wol4ik(syscall,22) — Peter
2017-11-04 19:22:38


Просмотрел-пролистал, много интересного, но займусь детально проработкой завтра. Не хочется на бегу читать вестник. По поводу рубрики "Слухи" (видя такое слово я обычно оживляюсь)... Да, игра пишется, строго каждый день, после захода солнца (+ еще изредка микрозаходы днем, если есть возможность). Но! Поменялся формат, так как начал писать с прицелом на КРИЛ, но сейчас пишу на Паровоз. Первая игра на Инстеде всё-таки ближе к Паровозу, так как я не кремень. От этого, сохраняя все прошлые наработки и то что я узнал здесь в клубе, я переформатировал сюжет и много чего еще. Короче, слух достоверен, пишу на Инстед и грызть сей движок переставать пока не планирую. Ибо, если не успею свой вагончик, на меня падет позор.

# Re: что у вас было в детстве?
std.club
Wol4ik(syscall,22) — gk11
2017-10-23 13:13:19


[x] zx spectrum или его клон
[ ] более крутой зарубежный хоум компьютер (ямаха и круче)
[х] PC/XT/286
[x] советская система а-ля радио-86рк (радио86-рк, микроша и т.п.)
[ ] советская более серьёзная техника (БК-0010, Орион-128 и т.п.)
[ ] рембо
[ ] денди
[ ] сега
[ ] супернинтенда
[ ] плейстейшн
[x] Ну, Погоди и подобные Электроники
[ ] тетрис
[ ] тамагочи
[ ] более серьёзная портативная игровая система (геймбой етс)
[ ] планетоход :)

# Re: Владимир Соколаев: фотограф о творчестве
std.club
Wol4ik(syscall,22) — Peter
2017-08-14 11:14:26


Вчера немного пробежался по работам и тексту. Интересно, как раз период, который меня больше всего интересует - конец 1970х и 1980-е. Сайт, конечно, не для беглого изучения. Надеюсь, найду время.

# Re: Попробуйте iing
std.club
Wol4ik(syscall,22) — Peter
2017-07-17 06:19:42


Прошу прощения, не совсем понял. Если нужно обсудить Instead и все, что ним связано, можно уже писать сюда и пока лучше не надо? (Порт 3000)

# Re: И снова о творчестве
std.club
Wol4ik(syscall,22) — Peter
2017-06-25 06:04:25


Пётр, очень интересные статьи, спасибо. Особо выделил это, так как интуитивно иногда пытался осуществить, но не хватало последовательности, завершённости и понимания, а тут Эрик Чахи говорит это прямым текстом -- "Э.Ч.: Моим советом будет создавать игру, используя все имеющиеся средства. Под которыми я понимаю создание набора правил в рамках ваших возможностей. Создать набор правил, создать прототип и изучить его - единственный способ оценить, получиться игра интересной или нет"

# Проводник
std.game
Wol4ik(syscall,22) — Peter
2018-03-21 12:45:23


Петр, прошу дать солюшн к проводнику, для проверки его проходимости. Так как проходимость самой Последней версии лежащей в репе не доказана. Есть подозрение, что игра либо сломана, либо использует в обновленной версии высшую степень защиты от прохождения.

# Re: пополнение в песочнице
std.game
Wol4ik(syscall,22) — Peter
2018-03-10 20:41:14


Да. Уже переделано.

# пополнение в песочнице
std.game
Wol4ik(syscall,22) — All
2018-03-10 18:32:36


программа для ЭВМ "Безнадёжное спасение"
http://instead-games.ru/game.php?ID=290

# игра "Долина кукол"
std.game
Wol4ik(syscall,22) — All
2017-11-14 17:05:55


Всем привет, Peter и кто занимается модерацией песочницы. Залил игру, поглятье кто-нибудь, проходит она по политике ресурса или нет. Только после этого смогу дать на нее сслыку, это игра на Паровозик, сейчас моя неделя.

# Re: Побег из подвала
std.game
Wol4ik(syscall,22) — Peter
2017-08-13 09:47:55


Обязательно займусь. Постараюсь отчитаться хотя бы кратко.

# Побег из подвала
std.game
Wol4ik(syscall,22) — All
2017-08-12 22:47:10


Прошел игру, очень понравилась. Спасибо Polarshine. Загадки и способы их решения сбалансированы, требовалось усилие, чтобы пройти, но я ни разу не попадал в ситуации отчаянного непонимания. Автор на языке игровой механики слегка подталкивает к правильным методам решений. Слегка, значит в моем понимании - в меру.

# Re: Игра Дровосек
std.game
Wol4ik(syscall,22) — Wol4ik
2017-07-30 15:00:42


Ага, спасибо. За одно понял про спойлеры.

# Игра Дровосек
std.game
Wol4ik(syscall,22) — All
2017-07-30 11:39:48


Не имею возможности обсудить в самой карточке игры, сервис помнит мой адрес и не дает зарегиться (наверное раньше писал что-то) и восстановить не могу. Пишу здесь.

Очень понравилась музыка, особенно вступительная. Проблема с следующем. Не могу пройти 4-й этаж, ставлю на плиту крысу и секретная дверка открывается, но крыса не хочет оставаться, боится. И дверка опять захлопывается. Прошу хотя бы намекнуть, может "сахар" ей нужен какой или я еще что упустил?

# Re: Аналог xwalk в Instead-3
std.game
Wol4ik(syscall,22) — Andrew Lobanov
2017-07-03 07:13:36


Да. Прошу прощения, не первый раз путаюсь, просто назначение разделов не всегда очевидно. На форумах обычно дается краткая аннотация к разделам обсуждений прямо в шапке. Надеюсь привыкну и не буду оффтопить.

# Re: Аналог xwalk в Instead-3
std.game
Wol4ik(syscall,22) — Kerbal
2017-07-03 06:32:28


Благодарю. Разобрался с учебником в папке doc. А то я всё пытался читать документацию stead3 прям с сайта. Да, у меня всё заработало так, как мне нужно. Продолжаю разработку игры)))

# Аналог xwalk в Instead-3
std.game
Wol4ik(syscall,22) — All
2017-07-02 21:34:57


Друзья, пытаюсь освоить документацию к 3й версии Инстэд. Не смог найти аналог xwalk в этом новом движке. Конструкция для Инстэд версий более ранних, чем третья была такой и она работала:

dsc = [[ Описание игры.^^ {xwalk(room1)| Начать игру.}]];
(взято из учебника на iFction)

В Instead-3 она уже не работает. Эта команда устранена или заменена? Если заменена, то на что?

# Re: Версия 1.8 под Linux
std.game
Wol4ik(syscall,22) — Peter
2017-06-21 04:39:11


Спасибо за помощь. Попробую разобраться.

# Re: Версия 1.8 под Linux
std.game
Wol4ik(syscall,22) — Wol4ik
2017-06-20 19:57:23


p.s. то есть фишка в чём - в версии под Windows Insted 3х можно выбирать откуда запускать игру, а в Linux'овой именно 3.х нельзя (у меня). При том что в 1.9 можно. Я просто отчитываюсь для обратной связи.

# Re: Версия 1.8 под Linux
std.game
Wol4ik(syscall,22) — Peter
2017-06-20 19:49:45


Спасибо, поковырялся немного и всё установилось. Снес 1.9 - зашел в Установку программ, а там как раз появились репозитории Instead для установки. Поставилась 3.0.0 - предпоследняя. "Проводник" запустился, это добрый знак))) в меню отличие, теперь нельзя выбирать игру из произвольной папки на диске, как в 1.9. Нужно ее перекидывать в рабочую папку Инстэда с играми. Это мелочи, просто теперь с флешки невозможно работать напрямую. Возможно, это просто я что-то делаю не так.

# Re: Версия 1.8 под Linux
std.game
Wol4ik(syscall,22) — Peter
2017-06-20 18:53:27


Понял. Буду ковырять дальше. То есть частично что-то загрузилось, там был длинный лог с успехом в конце. Но вот игра "Проводник" не пошла))) Ок. спасибо за рекомендации.

# Re: Версия 1.8 под Linux
std.game
Wol4ik(syscall,22) — Peter
2017-06-20 18:09:40


Сделал всё предыдущее и добавил эту строку, пишет о невозможности "$sudo apt-get upgrade
E: Не удалось открыть файл блокировки /var/lib/dpkg/lock - open (13: Отказано в доступе)
E: Не удалось выполнить блокировку управляющего каталога (/var/lib/dpkg/); у вас есть права суперпользователя?"

Пароль при этом не запрашивается. Понятия не имею, почему так. Этот пароль у меня всегда запрашивается для важных изменений или при установке программ. Я ввожу, и он принимается. Я так понимаю это что-то вроде root-доступа.

# Re: Версия 1.8 под Linux
std.game
Wol4ik(syscall,22) — Kerbal
2017-06-20 17:49:18


Сделал всё через консоль. Линукс отчитался там же, что всё обновилось и проч. Но пока при попытке узнать версию, выводит 1.9.
Наверное это просто строковое значение для вывода, и не есть реальная версия программы.

# Re: Версия 1.8 под Linux
std.game
Wol4ik(syscall,22) — Peter
2017-06-20 07:36:16


Понял, спасибо за пояснения. В любом случае отчитаюсь об удаче/неудаче в обновлении версии.

# Re: Версия 1.8 под Linux
std.game
Wol4ik(syscall,22) — Kerbal
2017-06-20 07:33:03


Спасибо! Сегодня же займусь.

# Версия 1.8 под Linux
std.game
Wol4ik(syscall,22) — Peter
2017-06-20 06:50:13


Пишу на версии Instead 1.8, не знаю, "к сожалению" это или нет. Пытался ставить версию 3.x под Linux, но маленький опыт работы с этой операционкой не дал поставить все как надо. Полностью перешел на Linux, и знал на что иду))) Однако, мой Linux Mint в экране приветствия предложил перейти в их репозиторий программ. Там нашелся Instead 1.8 и благополучно встал и работает. Хочу снять свое беспокойство по поводу... ---- все примеры синтаксиса и примеры кода в документации на Wiki и на форуме iFiction, на сколько я понимаю, актуальны для версии 1.8? В игре я пока не делаю ничего, что было бы возможно исключительно в версии 3.x. Или есть какие-то подводные камни?

# Re: Попасть в официальный репозиторий игр
std.game
Wol4ik(syscall,22) — Andrew Lobanov
2017-06-18 19:38:18


То есть в любом случае первым делом кидаю готовую и отлаженную игру в песочницу. Классическая игра, если я правильно понял, должна не быть только лишь визуальной новеллой, иметь игровые задачи, требовать усилий от игрока, но и не быть бессюжетной, не быть скучной. Хорошо, если так, то это как раз то, что мы делаем.

# Re: Попасть в официальный репозиторий игр
std.game
Wol4ik(syscall,22) — Peter
2017-06-18 18:46:26


Пётр, на сколько я понял, любая игра попавшая в репозиторий (любой из...), автоматически становится доступна для скачивания и установки в Android версии Instead с PlayMarket. Если так, то этого нам будет достаточно. Важно, чтобы игра была, пусть и потенциально, но доступна широкой публике и не варилась бы только в узком кругу разработчиков (всех нас).

# Re: Попасть в официальный репозиторий игр
std.game
Wol4ik(syscall,22) — Andrew Lobanov
2017-06-18 18:40:20


Спасибо за ответ. Всё понял.

# Попасть в официальный репозиторий игр
std.game
Wol4ik(syscall,22) — All
2017-06-18 14:27:31


Обращаюсь к автору Instead, Петру. Или к тем, от кого это зависит. Пишу в соавторстве игру на Instead, каким требованиям она должна отвечать, чтобы попасть в официальный репозиторий игр?

# Модуль fmt в Stead3, внедрение числовых переменных в символьный аргумент отрисовки fmt.img('box:..
std.prog
Wol4ik(syscall,22) — All
2018-01-05 18:24:31


Данная программа готова к запуску, содержит участок кода, данный нашим другом techniX. Демонстрирует создание графической шкалы прогресса для разных параметров в играх (здоровье, тепло, сытость и т.п.).
-- $Name: модуль fmt при работе box$

require "fmt"

global {
	sizeX = 16;
}
--
room {
	nam = 'main';
	onenter = function ()
		place 'vectes';
		place 'modum';
	end;
}
--
	obj {
	nam = 'modum';
	dsc = '{^^нажать, чтобы изменить шкалу}';
	act = function ()
			sizeX = rnd (16,255);
			return;
		  end;
};
--
	obj {
	nam = 'vectes';
	dsc = function ()
			p (fmt.img('box:' .. tostring(sizeX) .. 'x' .. tostring(32) .. ',red,255'));
			p (fmt.img('box:' .. tostring(256-sizeX) .. 'x' .. tostring(32) .. ',blue,255')); -- внедрение числовой переменной в аргумент, пример данный techniX
			return;
		  end;
};

# отсутствие влияния части настроек темы (theme) на активные элементы измененные при помощи модуля fonts
std.prog
Wol4ik(syscall,22) — All
2017-12-30 20:38:20


Модуль fonts на beta-сборке 3.2 работает нормально. Единственно, такие настройки стандартной или собственной темы игры как:
win.col.fg = black
win.col.link = #b02c00
win.col.alink = #606060
Не влияют на подсветку активных элементов obj, если шрифт их dsc видоизменен при помощи модуля fonts. Вот пример, на котором проводилось тестирование. Это немного видоизмененный пример из репозитория с модулями для stead3
require "fonts"
local fnt = _'$fnt'
fnt:face ('sans', 'sans.ttf', 20)
room {
	nam = 'main';
	decor = [[Текст описания локации.]];
}:with {
	obj {
		nam = 'r1';
		dsc = '{ бутерброд }'; -- стандартный шрифт темы
		act = 'Вы выбрали бутерброд';
	};
	obj {
		nam = 'r2';
		dsc = '{{$fnt sans| кувалда }}'; -- шрифт заданный при помощи модуля fonts, не имеет подсветки, хотя кликабелен.
		act = 'Вы выбрали кувалду';
	};

}

# Создание кликабельной картинки, кнопки
std.prog
Wol4ik(syscall,22) — All
2017-12-23 21:19:03


Требуется подключить модуль fmt. Помещаем на сцену объект, имея для него произвольную картинку по заявленному пути
obj {
	nam = 'idti';
	dsc = function ()
		p ('{',fmt.img'data/idti.png','}'); -- кликабельная картинка кнопки.
	end;
	act = function ()
		walk 'e0'; -- переход или любое действие по нажатию на картинку.
	end;
}

# Re: Применение ПОЛЬЗОВАТЕЛЬСКОЙ функции в Stead3
std.prog
Wol4ik(syscall,22) — Peter
2017-12-04 03:43:33


При том, хочу отметить, что есть неочевидный нюанс со скобками /ну, для знатоков lua, может быть, очевидный/

1. Если мы приравнивает весь act (use, и т.п.) к пользовательской функции, то пишем ее имя обязательно без скобок: act = fire;

2. А если добавляем в тело другой функции, как дополнение, то обязательно со скобками:
act = function ()
      -- тело текущей функции
         fire() -- имя пользовательской ф-ции со скобками
      end;

# Re: Применение ПОЛЬЗОВАТЕЛЬСКОЙ функции в Stead3
std.prog
Wol4ik(syscall,22) — Wol4ik
2017-12-03 15:21:16


В примере про смешиванее функций не нужен второй end. Так как он уже есть в теле пользовательской функции. Фактически она вносится одной строчкой
fire()
а вот правильная запись второго примера
=====
obj {
nam = 'лес';
dsc = 'Вы в лесу, на опушке горит {костёр}.';
act = function()
p "Вы приблизились к костру.";
fire() -- применение пользовательской функции в теле другой функции.
end;
};
=====

# Применение ПОЛЬЗОВАТЕЛЬСКОЙ функции в Stead3
std.prog
Wol4ik(syscall,22) — All
2017-12-03 15:10:09


Рабочий пример, функция fire может быть вызвана в act, use, used объектов и/или в onenter комнат, или в теле других функций.
fire = function () -- пользовательсяка функция для многократного использования
	p 'Вы находитесь рядом с источником тепла.';
	-- еще здесть могут быть помещены формулы, 
	-- меняющие состояние игры
	-- статус игрока, комнат и объектов.
end;
--
room {
	nam = 'main';
	obj = {'лес'};
}
--
obj {
	nam = 'лес';
	dsc = 'Вы в лесу, на опушке горит {костёр}.';
	act = fire; -- применение пользовательской функции.
};

При смешивании текущей функции с ранее заявленной пользовательской функцией, например в act:

obj {
	nam = 'лес';
	dsc = 'Вы в лесу, на опушке горит {костёр}.';
	act = function() 
             p "Вы приблизились к костру.";
             fire() -- применение пользовательской функции 
        end; -- в теле другой функции.
};

# Применение ПОЛЬЗОВАТЕЛЬСКОЙ функции в Stead3
std.prog
Wol4ik(syscall,22) — All
2017-12-03 15:07:47


Рабочий пример, функция fire может быть вызвана в act, use, used объектов и/или в onenter комнат, или в теле других функций.
fire = function () -- пользовательсяка функция для многократного использования
	p 'Вы находитесь рядом с источником тепла.';
	-- еще здесть могут быть помещены формулы, 
	-- меняющие состояние игры
	-- статус игрока, комнат и объектов.
end;
--
room {
	nam = 'main';
	obj = {'лес'};
}
--
obj {
	nam = 'лес';
	dsc = 'Вы в лесу, на опушке горит {костёр}.';
	act = fire; -- применение пользовательской функции.
};

При смешивании текущей функции с ранее заявленной пользовательской функцией, например в act:

obj {
	nam = 'лес';
	dsc = 'Вы в лесу, на опушке горит {костёр}.';
	act = function() 
             p "Вы приблизились к костру.";
 Fire() end; -- применение пользовательской функции.
};

# Применение ПОЛЬЗОВАТЕЛЬСКОЙ функции в Stead3
std.prog
Wol4ik(syscall,22) — All
2017-12-03 15:07:46


Рабочий пример, функция fire может быть вызвана в act, use, used объектов и/или в onenter комнат, или в теле других функций.
fire = function () -- пользовательсяка функция для многократного использования
	p 'Вы находитесь рядом с источником тепла.';
	-- еще здесть могут быть помещены формулы, 
	-- меняющие состояние игры
	-- статус игрока, комнат и объектов.
end;
--
room {
	nam = 'main';
	obj = {'лес'};
}
--
obj {
	nam = 'лес';
	dsc = 'Вы в лесу, на опушке горит {костёр}.';
	act = fire; -- применение пользовательской функции.
};

При смешивании текущей функции с ранее заявленной пользовательской функцией, например в act:

obj {
	nam = 'лес';
	dsc = 'Вы в лесу, на опушке горит {костёр}.';
	act = function() 
             p "Вы приблизились к костру.";
 Fire() end; -- применение пользовательской функции.
};

# Re: про контейнер
std.prog
Wol4ik(syscall,22) — Wol4ik
2017-11-17 20:24:58


ответ: добавить после самой последней фигурной скобки :close()

}: with {
	'meal', 'wood', 'fuel';
}:close()

# про контейнер
std.prog
Wol4ik(syscall,22) — All
2017-11-17 19:27:29


Вот работоспособный код. При act контейнер закрывается, если открыт, и отрывается, если закрыт. Вопрос в следующем, как заранее задать какой будет контейнер открытый или закрытый? Он про умолчанию изначально открыт. А как это изменить до помещения его на сцену?
cont { -- пример контейнера
	nam = 'box';
	dsc = [[Тут есть {ящик}.]];
	act = function (s)
				if closed(s) == true then 
						open(s);
						return;
				else
						close(s);
						return;
				end;
		   end;
	cont = 'В ящике: ';
}: with {
	'meal', 'wood', 'fuel';
}

# Re: Музыка и звуки
std.prog
Wol4ik(syscall,22) — Peter
2017-10-20 13:20:21


Ага, понял. Спасибо.

# Re: Музыка и звуки
std.prog
Wol4ik(syscall,22) — Peter
2017-10-20 07:39:07


Еще эта программа доказыват возможность управление громкостью заданного звука прямо во время его проигрывания. Это можно использовать например при создании эффекта приближения и удаления от источника звука, а также для плавного "перекатывания" звука с левого на правый динамик и обратно. Можно даже писать трекерную музыку из сеплов при помощи кода Инстед)))
Спасибо за пояснения про music, а то я думал, что опять что-то упустил в докумнтации.

# Re: Музыка и звуки
std.prog
Wol4ik(syscall,22) — Wol4ik
2017-10-19 22:48:45


p.s. Вот, набросал программку.
snd.pan не действует на громкость проигрывания music (оно и логично, так как канал неизвестен),
в документации не сказано, как задавать громкость music. Может есть недокументированная команда для этого?
require "snd" -- модуль музыки и звуков
-- требуется два *.ogg файла с музыкой в корне папки с игрой и файлом main3.lua,
-- для этой программы их имена заданы как 'ice1.ogg' и 'basketcase.ogg'
--
global {
	volume = 50;
}
--
room {
	enter = function()
				put ('Включить музыку');
				put ('Отлючить музыку');
				put ('Включить звук');
				put ('Отлючить звук');
				put ('Увеличить');
				put ('Уменьшить');
				pl.obj:add 'громкость';
			end;
	nam = 'main';
	decor = 'Тест музыки и звуков';
}
--
obj {
	nam = 'Включить музыку';
	dsc = '{Play music^}';
	act = function()
			snd.music('ice1.ogg');
		  end;
}
--
obj {
	nam = 'Отлючить музыку';
	dsc = '{Stop music^}';
	act = function()
			snd.stop_music();
		  end;
	
}
--
obj {
	nam = 'Включить звук';
	dsc = '{Play sound^}';
	act = function()
			snd.play('basketcase.ogg', 1, 0);
		  end;
}
--
obj {
	nam = 'Отлючить звук';
	dsc = '{Stop sound^}';
	act = function()
		    snd.stop(1);
		  end;
}
--
obj {
	nam = 'Увеличить';
	dsc = '{+ volume^}';
	act = function()
		    volume = volume + 10;
		    snd.pan (1, volume, volume);
		    return;
		  end;
	
}
--
obj {
	nam = 'Уменьшить';
	dsc = '{- volume^}';
	act = function()
		    volume = volume - 10;
		    snd.pan (1, volume, volume);
		  end;
}
--
obj {
	nam = 'громкость';
	disp = function()
		    p (volume);
		    return;
		  end;
}

# Музыка и звуки
std.prog
Wol4ik(syscall,22) — All
2017-10-19 20:26:41


Прошу прощения, но я не нашел способ воздействия кодом на громкость музыки (music). Делал ее при помощи snd.play.

# Re: Переводы строк в конце dsc/decor и др. методов
std.prog
Wol4ik(syscall,22) — Peter
2017-10-15 10:11:30


Понял. Буду иметь в виду. Был не прав.

# Докладываю
std.prog
Wol4ik(syscall,22) — All
2017-10-14 17:07:31


Обнаружил вот что. Возможно это баг, а возможно это я нарушаю правила использования объектов типа obj. Вот код.
obj {
	nam = 'искать';
	state = 1;
	dsc = function(s)
			local dsc = {
					'{> Попытаться исследовать лес, несмотря на холод.^}',
					'> Лес исследован.{^}' --- !!! вот эта строчка, про нее доклад.
                                     }; 
					p(dsc[s.state])
			end;
	act = function (s)
			p [[Исследовав лес... (длинное описание найденного)]];
			s.state = 2;
			hot = hot - 5;
			return;
			end;
}
Представим, что таких объектов, подобных этому несколько. И если они помещены на сцену, то их dsc располагаются в столбик, так как присутствует символ ^. Почему я сделал '> Лес исследован.{^}' вместо того, чтобы сделать '> Лес исследован.^' ??? Дело в том, что dsc объектов типа obj игнорирует символ ^ если он не помещен в фигурные скобки {}. Возможно, так задумано. Я просто отчитался.

# Re: Об'екты на сцене и в инвентаре
std.prog
Wol4ik(syscall,22) — Peter
2017-10-11 15:14:18


Спасибо. Теперь мне понятно.

# Re: Об'екты на сцене и в инвентаре
std.prog
Wol4ik(syscall,22) — Peter
2017-10-11 14:59:07


Второй вопрос был про предмет, который лежит только в инвентаре. Я не нашел способ сделать реакцию игры на единичное нажатие на него в инвентаре. act это позволяет сделать, но только когда об!ект лежит на сцене.

Про конфеты, ты, к сожалению, прав. При разном значении pri об!екты на сцене конкурируют и двигают порядок. Но при одинаковом pri, вывод идет как ты сказал, то что позже, то после тгго что было выведено ранее.

# Об'екты на сцене и в инвентаре
std.prog
Wol4ik(syscall,22) — Peter
2017-10-11 13:07:27


Добрый день. Возник еще один вопрос. При создании obj есть такой параметр pri. Он работает не только в инвентаре, но и на сцене. Вопрос вот в чем, если у двух и более выложенных на сцену об!ектов (drop или place) совпадают pri, то как происходит их визуальная компановка при добавлении новых?

То есть например "Лежит {коробка конфет}" (pri = -100) я на нее кликнул и на сцене появляется еще один об!ект "{конфета}" (тоже pri = -100). Вывод динамической части Инстед, что, сдвинет коробку и перед ней слева поставит конфету? Но она вроде позже по времени появилась.... Или как? Мне нужно, чтобы добавляемый об!ект помещался всегда слева перед предыдущими ранее выложенными об!ектами. Возможно ли это?

Вопрос2. Работает или как сделать чтоб заработал act об!екта, уже лежащего в инвентаре? Это лишает его use и inv, ну и пусть.

# Re: результваты
std.prog
Wol4ik(syscall,22) — Peter
2017-10-10 07:30:46


Ага, теперь красиво. Только я пробелы убрал около слэша. То есть есть некие служебные меры
1. %d
2. %.3f
3. еще что-то...
Более мене пончл как их настраивать 3f 2f и тд.

# Re: результваты
std.prog
Wol4ik(syscall,22) — Peter
2017-10-10 07:04:56


pf станно себя ведет. Вот старый вид, он выводит смесь строковых заготовок и переменных.
p ('тепло ', string.format("%.3f", round(hot,2)),'/', hotmax);
Выводится следующее ..... тепло 19.600/24
При pf же с кодом
p ('тепло ', pf("%.3f", round(hot,2)),'/', hotmax);
"тепло и hot меняются местами, а то, что после hot, вообще не выводится. Выглядит вывод теперь так:
19.4000тепло

# Re: Докладываю
std.prog
Wol4ik(syscall,22) — Peter
2017-10-09 21:06:58


На всякий случай, вот еще наблюдение. Stead никак не реагирует на ошибки в фигурных скобках, но теперь уже в случае:
decor = [[...бескрайнее белое поле.^^
	{@ walk e38|> Отправиться к маленькому участку леса.]]; -- вторая фигурная скобка отсутствует.
Ранее же мы обсуждали то же самое но в одинарных кавычках. В этом же аналогичном случае ничего страшного не происходило. Не было зависаний. Просто вместо активной ссылки "> Отправиться..." , на экране отображалась неактивная ссылка "{@ walk e38|> Отправиться к маленькому участку леса."

Сообщений от ошибке синтаксиса @ walk внутри [[]] не выводилось.

# Re: результваты
std.prog
Wol4ik(syscall,22) — Peter
2017-10-09 19:41:19


Если бы я был как-бы пользователем очередной новой функции или версии Stead 3.x.x, чисто гипотетически. Мне было бы проще задавать так. Если я хочу, чтобы данная переменная выводилась с нужной постоянной детализацией знаков после запятой, то при первичном присвоении значения сразу их и прописать. Например.
global {
         биткоины = 0.000; -- при любых вычислениях вывод p будет всегда с 3-мя знаками после запятой.
         выстота = 0.00; -- при любых вычислениях вывод p будет всегда с 2-мя знаками после запятой.
         тепло = 0; -- вывод будет иметь столько знаков после запятой,сколько нужно,
                    --- но без лишних нулей: 1.2 ... 1.000000002 ... 1 ... 6 .... 0 ....
        }
Это, разумеется не в плане советов, а на правах вольной фантазии.

# результваты
std.prog
Wol4ik(syscall,22) — All
2017-10-09 19:19:20


function round(num, numDecimalPlaces)
	local mult = 10^(numDecimalPlaces or 0)
	return math.floor(num * mult + 0.5) / mult
end
--
obj {
	nam = 'тепло';
	pri = -100;
	disp = function (s)
			p ('тепло ', string.format("%.3f", hot),'/', hotmax);
		   end;
     }
Вышеуказанное при вычитании из 24 чисел по 0.6 - при чистом нуле hot выводит -0.000
Далее, всё то же самое только заменена сторочка:
p ('тепло ', string.format("%.3f", round(hot,2)),'/', hotmax);
При достижении чистого нуля выводится всё корректно, т.е. 0.000

# Re: Делюсь
std.prog
Wol4ik(syscall,22) — Peter
2017-10-09 11:13:25


Да, конечно. Займусь сегодня. Раз мы это обсуждаем, спрошу еще одно на будущее. Как сделать вывод фиксированного количества знаков после запятой в дроби, даже если там нули? Да так, чтобы round работал при выводе? (Понял, что round проще делать только для вывода p, pn)
0.2 => 0.200

# Re: Делюсь
std.prog
Wol4ik(syscall,22) — Peter
2017-10-09 10:02:33


Пётр, а вдруг не у всех будет Инстед3 обновленный из гита. Я вот пока думаю переделать механику игры и не выводить само число тепла. А сделать так, вычисления с дробями проводить, как и раньше, но выводить результат словами - «холодно», «очень холодно», «прохладно», «жарко» и т.п.

Вопрос вот в чем, если я не вывожу на экран и никак не округляю результаты вычислений с дробями, они эти вычисления остаются точными? Ну то есть если результат вычитания равен нулю, то я могу этот ноль поймать в условии заданном if ... then... ?

П.с. все ранее оговоренные проверки функций я сделаю.

# Re: Делюсь
std.prog
Wol4ik(syscall,22) — Peter
2017-10-09 06:48:58


Проверил на другом компьютере, там минус ноль не выводилось при старых параметрах. Странно. Обновленный Инстед и код ношу на флешке с собой. Проверю вечером на прежнем ПК, с новой функцией и без нее. Но совершенно точно вчера выдодился минус ноль при нуле и я это устранил изменением аргумента округления с 2 на 3. Тщательно перепроверю все, чтобы исключить неверное понимание.

# Делюсь
std.prog
Wol4ik(syscall,22) — All
2017-10-08 19:57:42


...в продолжение выше опубликованных сообщений. Если идет работа с выводом дробной переменной, то я понял, что лучше ставить округление заведомо больше.
p ('тепло ', round(hot,2)); -- округление вывода hot c аргументом 2 по совету Петра.
В примере Петра, работало округление round (переменная, 2) при шаге вычитания не более 0.2. Но при шаге вычитания 0.4 округление ...,2 выдает при чистом нуле "-0" (минус ноль). Снимается это установкой избыточного округления ...,3 вместо 2.
p ('тепло ', round(hot,3)); -- округление вывода hot c аргументом 3. Если результат вычитания 
                            -- равен нулю, то выводится чистый обычный ноль без всяких знаков.

# Re: Докладываю
std.prog
Wol4ik(syscall,22) — Peter
2017-10-08 09:27:15


Пётр, спасибо. Всё сделал. И то, и то заработало, как надо.

# Вот. сделал отдельный код для запуска, прошу проверить непосредственно в игровом режиме
std.prog
Wol4ik(syscall,22) — All
2017-10-08 07:46:31


Нажимать придется подольше, идти с 20 по кусочкам в 0.2, и я бы сделал не с 20, а с 2-х, чтобы облегчить тест программы, но обнаружил, что если изначальное число не 20, а например 2 или 3, то характер некрасивого отображения числа в инвентаре меняется. Даю полный текст файла main3.lua
-- $Name:Программа теста дробей$
-- $Version: 0.1$
-- $Author: Wol4ik$

require "fmt";

global {
             hotmax = 20;
             hot = 20;
       }
--
obj {
	nam = 'вычесть';
	dsc = '{Вычесть.}';
	act = function ()
			hot = hot - 0.2;
		  end;
     }
--
obj {
	nam = 'тепло';
	pri = -100;
	disp = function (s)
				p ('тепло ', hot,'/', hotmax);
		   end;
	}
--
room {
		nam = 'main';
		onenter = function (s)
					pl.obj:add 'тепло'; -- помещение в инвентарь статуса тепла.
				  end;
		decor = [[Для уменьшения тепла на 0,2 нажать на "вычесть".]];
		obj = {'вычесть'};
      }
-- конец кода.

# Re: p.s. еще
std.prog
Wol4ik(syscall,22) — Wol4ik
2017-10-08 07:23:21


п.с. При многократном вычитании из целого по 0.5 - Всё отображается корректно и адекватно начинает уходить и отображаться в отрицательных значениях.
2
1.5
1
0.5
0
-0.5
-1
и т.д. всё нормально в общем.
----
Но уже при вычитании 0.4 проблемы (начал последовательно вычитать из двадцати, чтоб к нулю всё было ровно).
20
19.6
19.2
...
...
1.2
0.8
0.4 - далее вычитаю из этой оставшейся 0.4 еще 0.4 и по идее должен получиться чистый ноль, но следующее значение такое...
4.1078251911131

Возможно я не знаю всех свойств переменных и выбрал не тот тип.
У меня она задается так
global {
        hot = 20;
        hotmax = 20;
        ...
        (иные числовые переменные)
        }

# p.s. еще
std.prog
Wol4ik(syscall,22) — All
2017-10-08 07:06:30


Вопрос вот в чём, что я делаю не так во здесь. У меня есть глобальная переменная, которая меняется от событий с объектами и на сценах - hot. hotmax - тоже глобальная переменная, но проблема не в ней. Изначальное значение hot задается перед игрой и оно не равно нулю. Допустим, = 20. hotmax тоже 20. Их значение отображается постоянно в инвентаре при помощи объекта Статуса тепла.

obj {
	nam = 'тепло';
	pri = -100;
	disp = function ()
		  p ('тепло ', hot,'/', hotmax);
	       end;
}
У меня много что на hot воздействует, но при вычитании десятичных дробей из hot (например hot = hot - 0.2) всё идет и отображается хорошо, но между нулём и единицей, а особенно когда вычитание ведёт к hot к чистому нулю - hot начинает отображаться в инвентаре некорректно. Измучившись в поисках своей ошибки, я создал объект который КОНТРОЛИРУЕМО и прозрачно вычитает из hot дробные значения. И положил его на сцену.
obj {
	nam = 'вычесть';
	dsc = '{^> Вычесть.}';
	act = function ()
			hot = hot - 0.2;
		  end;
}
Он имитирует падение тепла персонажа по нажатию. Вычитание и отображение hot в инвентаре происходит корректно пока не достигает единицы. Т.е. (19.8 ... 19.6 ... 19.4 ... ... 1.2 ...). Далее, при вычитании из единицы отображается уже число в каком-то некрасивом длинном виде и неточно. пишу в порядке убывания:
1.2 - норм. вычитаю еще 0.2
1 - норм. вычитаю еще 0.2
0.80000000000004- уже не норм. вычитаю еще 0.2
0.60000000000004- уже не норм. вычитаю еще 0.2
0.40000000000004- уже не норм. вычитаю еще 0.2
0.20000000000004- уже не норм. вычитаю еще 0.2
3.7581049383562e-014 - не норм.

Это касается случаев не только с десятыми, но и с сотыми (то есть при вычитании 0.02). В чём моя ошибка, что я сделал не так? Я хочу, чтобы, когда вес предметов (при их отсутствии) был равен нулю, то и объект статуса выводил ноль.

# Докладываю
std.prog
Wol4ik(syscall,22) — All
2017-10-07 21:55:26


v 3.1.2
При ошибках в расстановке круглых скобок синтаксис сыпется не только в случае с "наружным" кодом типа room {}, но и когда забыта вторая скобка в строковом значении, правильно выделенном знаками '' . Пример
obj {
	nam = 'уйти1';
	dsc = '{^> Выбраться наружу.'; -- вторая фигурная скобка отсутствует.
...
... }
При запуске игры сообщений об ошибке синтаксиса нет, как если бы это было в наружном коде (описание room или obj), но сам факт перехода на сцену, куда помещен такой объект приводит к зависанию игры (под Windows). Что снимается только закрытием этого окна.

# Re: Синтаксис работы с way
std.prog
Wol4ik(syscall,22) — Peter
2017-08-15 20:44:36


Спасибо! Ответы исчерпывающи.

# Синтаксис работы с way
std.prog
Wol4ik(syscall,22) — All
2017-08-15 16:38:00


Вопрос про то, как кодом добавлять и убирать со сцены переходы в зависимости от условий. Вот есть прямое добавление в инвентарь предмета
pl.obj:add ’нож’
А как добавлять way на сцену? Так?:
way():add 'локация5'

p.s. и еще вопрос, из учебника не совсем понял, как любое прямое стоковое значение dsc/way представлять в виде переменной? Например
global {
        rrt = 'локация5';
        }

room   {
        nam = 'локация4';
        way = { ..... здесь как-то должно быть значение переменной rrt....?????}
        }
========

# Re: Очистка всего и вся, полный рестарт игры
std.prog
Wol4ik(syscall,22) — Wol4ik
2017-08-10 17:56:43


P.S. Ааааа. Вижу. При создании нового сообщения внизу справка, я ее просто не видел, так как не прокручивал вниз, а просто писал в окне ввода. Прошу прощения за невнимательность.

# Re: Очистка всего и вся, полный рестарт игры
std.prog
Wol4ik(syscall,22) — Peter
2017-08-10 17:54:49


Пишу ответить (символ повернутой стрелочки) или новое сообщение. У меня мобильная версия.

# Re: Очистка всего и вся, полный рестарт игры
std.prog
Wol4ik(syscall,22) — Andrew Lobanov
2017-08-10 16:03:28


Peter> А так, смотри сам. При вставке кода используй 4 символа =, примерно так:


Да, спасибо, теперь понял. Пётр говорил, но я тогда не так понял (что это именно про вставку в сообщение). Буду знать. Может шпаргалку повесить? И про спойлеры в game. например тоже, а то сообщения рано или поздно утопятся новыми и кто не в курсе опять будет спрашивать одно и тоже. Вообще, я рад здесь находиться, и поучаствую материально по силам.

# Re: Очистка всего и вся, полный рестарт игры
std.prog
Wol4ik(syscall,22) — Wol4ik
2017-08-10 08:43:24


p.s. выкладывал только что код с красивым разбиением и отступами как ты советовал, но в сообщении все отступы с'елись и все ушло влево. (Редактирую и пишу на планшете, редактор Jota++).

# Re: Очистка всего и вся, полный рестарт игры
std.prog
Wol4ik(syscall,22) — Peter
2017-08-10 08:40:04


Спасибо, получилось. Создал спец.об'ект и поместил его в комнату одной из концовок:
--
obj { -- об'ект фатальной концовки, при активации перезапускает игру.
nam = 'bad1obj';
dsc = '{Начать заново...}';
act = function()
instead.restart(true);
end;
}
--

# Очистка всего и вся, полный рестарт игры
std.prog
Wol4ik(syscall,22) — All
2017-08-10 06:14:42


Добрый день. При создании фатальных концовок возникла необходимость приведения игры к "нулевому состоянию", то есть перегенерации всего игрового мира, возвращения об'ектов на свои места, инициализации всех переменных и т.д. Прошу подсказать, как это сделать в теле описания сцены или иным образом. Может быть есть функция или команда, которая имитирует пункт с меню Stead3 "начать заново"?

# Re: Выложить объект из инвентаря в произвольную сцену room
std.prog
Wol4ik(syscall,22) — Andrew Lobanov
2017-08-02 15:17:52


Спасибо, друзья. С drop тоже проэкспериментирую. Спасибо Петру за наглядное пояснение, что есть s и w в функциях, а то я часто срисовывал как школьник с доски, без понимания.

# Выложить объект из инвентаря в произвольную сцену room
std.prog
Wol4ik(syscall,22) — All
2017-08-02 12:08:36


Добрый день. Вопрос в следующем, как работать с функциями place, put или иными, если я не готов конкретно назвать имя комнаты куда хочу положить объект (переместить из инвентаря)? Что я имею - служебный объект инвентаря, который выполняет роль одного из действий (починить, сломать, говорить и т.п.) конкретно "выложить".

obj {-- служебный объект выложить, действие
nam = '-выложить';
pri = -99;
inv = [[Хелен может выкладывать предметы, которые пока ей не нужны.
Следует один раз кликнуть на действии "выложить",
и второй раз кликнуть на нужный предмет в инвентаре.]];
}

В него я специально не вписываю use/used, так как это все впишу в объекты-цели. Однако, вот есть условно 'кувалда', и нужно, чтобы ее used при соединении и 'выложить', помещал эту кувалду в ту комнату, где находится ГГ, независимо из какой комнаты эта конструкция вызывается.

obj {-- кувалда, физический объект
nam = 'кувалда';
used = function(s)
if s^'выложить' then
place (s, ???????????);
remove(s);
end;
}

То есть вопрос, как вписать в функцию отсылку к ТЕКУЩЕЙ комнате, название которое тоже есть функция?

# Re: Важный вопрос
std.prog
Wol4ik(syscall,22) — Peter
2017-07-25 20:33:51


Спасибо за пояснения. Посмотрев примеры игр из твоего списка (с комментариями) и уловив суть советов, решил делать так:
*выбрать только то (те способы), что уже знаю, и что спрашивал здесь на ветке.
*постараться сделать игру, пользуясь только знакомыми и отработанными способами, не пытаясь непомерно развивать технологии параллельно развитию сюжету. Делать ровно.
*сосредоточиться на самой игре, варьируя уже известными и отработанными ходами (в кодинге Instead).

В принципе, ты рассказал мне (здесь и в документации) некий минимум, чтобы я мог уже свободно ходить между локациями, менять декорации, брать и выкладывать предметы, заменять их в инвентаре на другие (замена яблока на огрызок при использовании и т.д.), работать с некоторыми функциями. Собственно, да... пора уже переходить к фазе разработки несложной, но законченой игры. Первой игры на Instead.

# Важный вопрос
std.prog
Wol4ik(syscall,22) — All
2017-07-25 14:40:35


Пётр, к тебе вопрос. Он может показаться банальным и даже странным. Мне это важно для продумывания дизайна игры и игровой механики. Пытаюсь не выходить из границ целей создания движка Instead (я читал манифест), с другой стороны мне важно как это будет выглядеть для игрока, ну и себе границы задать. Вопрос вот в чем. Какую игру (игры) на Instead (игры не твоего пера) ты считаешь, что они (она) больше всего и полнее реализуют заложенные тобой в движок идеи? Независимо от того, нравится ли тебе сама игра и сюжет или нет. Ну, есть такие, чтобы ты сказал не просто "качественная игра", а типа того, что "да, вот для таких игр я и создавал Instead, и хотелось бы таких игр видеть больше"?

# Re: Возврат из комнаты в ту, из которой мы попадаем при помощи way
std.prog
Wol4ik(syscall,22) — Peter
2017-07-23 06:13:29


Спасибо, всё заработало!

# Возврат из комнаты в ту, из которой мы попадаем при помощи way
std.prog
Wol4ik(syscall,22) — All
2017-07-22 21:09:58


Ну, собственно в этом и вопрос. У меня есть несколько служебных комнат, в которые нужен доступ из совершенно разных сцен. Как то - Статус (да, я знаю и научился делать статус в инвентаре), текущие задания для ГГ, меню разведения огня, меню сна и т.п. Я это делаю так (лирика сокращена для краткости)

room {-- место ночёвки
nam = 'loc1.episode1';
title = 'Блок радиоуправления';
way = { 'статус', 'задания' }; -- кнопки статус и задания
decor = [[Комната, где доступны статус и задания]];
}

И оно работает, пока я не пытаюсь вернуться обратно....
Вот, одна из служебных комнат выглядит так

room {
nam = 'задания';
title = 'задания';
decor = [[Текущие задания...{@ walkout()|назад}]];
}

Но оно не работает. Я пытался применять функцию from(), но так и не понял, как ее синтаксически прилепить к "@ walk". Помогите найти дорогу обратно из служебной комнаты в любую произвольную, из которой я пришел в эту служебную при помощи way.

# Re: Чтобы избежать ошибок
std.prog
Wol4ik(syscall,22) — Wol4ik
2017-07-19 16:17:41


Аааа. Прошу прощеня, забыл очевидную вещь)))) если убрать return, но отобразятся сразу оба состояния. А return вернет нас просто в room, где об'ект фигурирует. К сожалению не знал, что Инстэд может реализовывать return без парного отсылающего оператора (типа gosub и подобных). Теперь я еще продвинулся с твоей помощью, спасибо.

# Re: Чтобы избежать ошибок
std.prog
Wol4ik(syscall,22) — Peter
2017-07-19 15:50:21


То есть, да, я понял, что в dsc конкретного об'екта мы заносим все возможные формы существования этого об'екта, и уютный и сгоревший, и еще можем добавить другие состояния. Не понял пока куда и зачем вернет нас return.

# Re: Чтобы избежать ошибок
std.prog
Wol4ik(syscall,22) — Peter
2017-07-19 15:45:44


Спасибо. Пойду перечитывать про переменные, так как догадываюсь, что s.borned это хоть и переменная, но и одновременно некое "служебное слово" по отношению к borned. То есть понятно, что дело не в названии, а в том, как добавляется и интерпритируется инстэдом это s.****

# Чтобы избежать ошибок
std.prog
Wol4ik(syscall,22) — All
2017-07-19 12:00:21


В процессе понял, что уверенных знаний в инстэд пока не хватает. Читаю сообщения об ошибках в сюжетах уже опубликованных инстэд-игр и просьбы к авторам поправить нестыковки. Хочу изначально, большую часть ключевых dsc и вообще текстовок связанных с room и obj вводить в виде переменных. А не в виде устойчивых (константных) dsc и decor. Просто, чтобы они были управляемы. Ну, к примеру, decor - "Вы пришли на заснеженную поляну и видите {домик}", потом он сгорает, чтобы не делать перетасовок, я лишь в определенный момент заменю значение строковой переменной и будет уже "....и видите {сгоревший домик}". А все движимые об'екты, да, придется тоже задавать заранее и вводить их при помощи кода (place и остальных конструкций). Пока я мыслю себе так.

# Re: Работа с об'ектами в сценах, в которые возможно многократное возвращение игрока
std.prog
Wol4ik(syscall,22) — Peter
2017-07-14 15:26:15


Спасибо. Теперь я понял, что такое атрибуты-списки. Чита-читал, но не мог понять саму суть и назначение этого. Похоже на динамически меняющиеся массивы, в моем ветхом процедурном лексиконе. В любом случае отчитаюсь с примерами, даже если получится и сцены заработают как надо. Уверен, наше осуждение будет полезно кому-то еще. "Проводник" посмотрю.

# Работа с об'ектами в сценах, в которые возможно многократное возвращение игрока
std.prog
Wol4ik(syscall,22) — All
2017-07-14 13:26:31


Чем больше делаешь, тем больше вопросов. Я уже читал о порядке работы интерпетатора, и могу работать с предметами и активными декорациями в пределах одной сцены. Тем более есть хорошая тестовая игра/учебник, которая прилагается к Inst3. Однако, пришлось залезать и в новую и в старую документацию, чтобы прочитать о теоретических вопросах. Это было вступление)))

Вопрос в следующем. Могу ли я НЕ внутри описания некой конкретной сцены room {.....} принудительно добавлять и убирать об'екты на эту или иную сцену (room) при помощи или без помощи инвентаря, а одними лишь функциями обработчиков самих об'ектов и декораций?

На сколько я знаю, если я пришел на сцену "лес", в которую при описании room {....} внутри фигурных скобок добавлены ранее сформированные obj "лежит {топор}" и obj "валяется {чурбак}", то я сейчас могу для каждого об'екта иметь возможность изменить динамическую часть сцены. Взять топор в инвентарь, он исчезнет со сцены. И порубать этим топором чурбак, он заменится на "поленья" и "щепки". Это штатно и понятно, и на других похожих случаях мной отработано.

Но если я уйду с этой сцены по way или @ walk, а потом вернусь обратно в нее же с уже другими сюжетными задачами, то снова обнаружу не только лежащий топор, но и неразрубленный чурбак. По этому я и спросил про принудительное управление об'ектами инвентаря и любой другой сцены (не только текущей), возможно ли оно. То есть я хочу не только изменить сцену своими действиями, но и вернувшись в нее, застать прошлые изменения и дополнить их новыми, к примеру я притащил еще и спички, которые где-то выменял на топор, которого не должно уже быть ни в этой сцене, ни в инвентаре, ни вообще в игровом мире.

Это я не к тому, что я хочу многого, просто проще заранее знать, если это невозможно штатными методами, я тогда изловчусь и попытаюсь написать игровую механику, чтобы она обеспечивала всю эту странную песочницу. Пока я могу ходить только в одномерном мире и строить сюжет без возможности вернуться на локации, ранее уже посещенные. Есть игра Шизофрения, где описанное мной реализовано (сохранение изменений в сцене при возвращении) , но я пока не смог разобраться как.

# Re: Динамическое описание сцены
std.prog
Wol4ik(syscall,22) — Peter
2017-07-13 21:51:29


Пётр, я сделал, как того хотел. Твои доводы убедительны, но, как часто бывает, убедить может только свой опыт))) Посмотрел, как это выглядит - хуже, чем я представлял. Тут еще играет роль устройство внимания человека. Когда шапка не меняется, а внизу под неизменным текстом что-то появляется/меняется, взгляд очень неохотно переходит вниз экрана. Мы, как правило, держим внимание вверху экрана, так как там самая важная информация. Да, хорошо, что текст decor отскакивает вниз/прыгает, есть есть некая живость "картинки", хотя добавляется всего 1-2 строчки реакции вверху. В общем, остаюсь на базовых настройках))) Большое спасибо за примеры и пояснения. Продолжаю медленно, но верно работать над игрой.

# Re: Динамическое описание сцены
std.prog
Wol4ik(syscall,22) — Peter
2017-07-13 13:30:22


Большое спасибо. Да, я неоднократно встречал этот посыл о ненужности вмешательства в дела вывода, он проходит белой нитью. И полностью согласен, за тем я с большим трудом и пришел к Instead, чтобы облегчить себе написание содержательной части игр. В оправдание могу лишь сказать, что в данном случае этого требует игра, другого об'яснения у меня нет))) Все остальные твои замечания в документации по поводу нестандартных требований к платформе, типа разные размеры текста в одном экране и т.п. разделяю.

# Re: Динамическое описание сцены
std.prog
Wol4ik(syscall,22) — Wol4ik
2017-07-13 12:51:56


p.s. повлияет ли на то, что я описал ранее, изменение вот этой функции в плане последовательности расположения этих областей игрового экрана (глава 21 документации по Inst3 "ФОРМАТИРОВАНИЕ И ОФОРМЛЕНИЕ ВЫВОДА") ?

game.display = function(s, state)
local r, l, av, pv
local reaction = s:reaction() or nil -- реакция
r = std.here()
if state then -- такт игры?
reaction = iface:em(reaction) -- курсив
av, pv = s:events()
av = iface:em(av) -- вывод ”важных” life
pv = iface:em(pv) -- вывод фоновых life
l = s.player:look() -- objects [and scene] -- объекты и сцена
end
l = std.par(std.scene_delim,
reaction or false, av or false, l or false,
pv or false) or ’’
return l
end;

# Re: Динамическое описание сцены
std.prog
Wol4ik(syscall,22) — Wol4ik
2017-07-13 12:33:59


p.s. если быть точнее, то вопрос связан именно с выводом реакций игры (движка) в виде текста курсивом. Прочёсывая документацию, увидел, что динамическая часть сцены неоднозначное понятие. Я знаю что есть статическая часть (декорации, некоторые даже активные) и динамическая (объекты , которые пока лежат, стоят и т.д, но они могут быть взяты в инвентарь, убраны вообще или видоизменены). Но помимо этих двух частей есть область вывода реакций игры - "вы взяли карандаш", "карандаш, как карандаш" и т.п. Вот эти надписи я хочу попытаться переместить, чтобы они появлялись внизу экрана, а не вверху. Но пока не понял как.

# Динамическое описание сцены
std.prog
Wol4ik(syscall,22) — All
2017-07-13 09:40:58


Вопрос. Но пока пояснение. Как правило, в играх на Instead динамическая часть сцены расположена на экране выше, чем основное описание сцены (dsc, decor). То есть при появлении вообщений в динамической части - текст decor смещается вниз, чтобы освободить место для появившейся надписи курсивом.

Как поменять их местами и возможно ли это? Можно ли при помощи кода игры, модулей или настройки темы (голубая сталь, стандартная и т.п.) сделать, чтобы динамическая часть сцены, точнее сообщения в ней, выводились всегда ниже, чем статичный блок описания сцены decor (и, разумеется, ниже блока описания об'ектов)?

Pages: 1 2