Echo :: RSS
# scene_use в stead3
Dima(ping,19) — All
2021-01-25 08:27:54


В стед2 был атрибут scene_use для действия элементом сцены на другой элемент. Вопрос: как реализовать данный метод в стед3 через классы. Например: в сцене есть свободный конец веревки и я хочу привязать его к другому объекту сцены или инвентаря, при этом не добавляя конец веревки в инвентарь. ... [ Read it >> ]

1 Replies
# Читшит с функциями INSTEAD
hugeping(ping,1) — All
2020-10-11 21:10:23


Lucky_Ook некоторое время назад запилил читшиты с функциями INSTEAD. Чтобы не потерять, оставлю здесь: https://github.com/luckyuk/Instead-cheatsheet... [ Read it >> ]

0 Replies
# Unicode строки в Instead
Frost(ping,10) — All
2020-09-21 15:14:58


Приветствую, друзья. Подскажите пожалуйста как можно работать с кириллицей в Instead. Я имею ввиду функции len; sub и другие, работающие с однобайтовой кодировкой символов. Имеет ли ядро движка встроенную поддержку и если да, то как получить доступ к UTF8 функциям. Если нет, подскажите наиболее оптимальную (проверенную) библиотеку для работы с юникодом. Заранее спасибо. ... [ Read it >> ]

7 Replies
# еще вопросец (СТИД 2)
kolobod(syscall,30) — All
2020-01-31 21:17:02


Доброй ночи всем, кто не спит) Есть еще дурацкий вопрос.
БАЗА = room {
       pic = function(s)
             pr 'pic/ГОРЫ.jpg'  --общий фон картинки для этой локации
		
	         if СЛУЧИЛОСЬ_СОБЫТИЕ then 
                    pr ';pic/АЛАРМ.jpg@500,100' --показать поверх общей картинки локации табличку "у нас событие!"
		 end;
       end;
       
       click = function(s, x, y) 
	       if x > 500 and x < 700 and y > 200 and y < 30 and СЛУЧИЛОСЬ_СОБЫТИЕ and ГОТОВ_ДИАЛОГ then --клик на табличку отправляет в диалог
                  walk 'НУЖНЫЙ_ДИАЛОГ';	
	          return true;			   
    	       end;
       end;	
}
Собственно, такая штука. Есть комната. Для иллюстрации происходящего в ней - задана картинка. При срабатывании условия СЛУЧИЛОСЬ_СОБЫТИЕ = true; поверх этой картинки появляется другая (табличка с приглашением запустить некое событие). И если при этом включено условие ГОТОВ_ДИАЛОГ = true; то клик на табличку запускать диалог НУЖНЫЙ_ДИАЛОГ.... [ Read it >> ]

10 Replies
# Перемещение через... dsc - в СТИД 2
kolobod(syscall,30) — All
2019-10-11 14:19:15


Ох, еще такой вопрос. Может знает кто? Заранее прошу прощения)
В общем, загнал я себя в ловушку. Забыл слова Петра о том, что dsc (в отличие от act) не предназначен для внесения каких-то глобальных изменений в игровой процесс, это только описательная часть. В итоге столкнулся с тем, что завязал часть игрового процесса на dsc все-таки. До какого-то момента все исправно работало. До тех пор, пока не понадобилось организовать "переход" в другую комнату нетрадиционным образом. Сделал так: ... [ Read it >> ]

7 Replies
# Рандом в СТИД 2
kolobod(syscall,30) — All
2019-09-25 11:14:53


Всем огромный привет! Сразу приношу извинения, если вдруг пишу не в тот раздел. Давно не заходил, подзабыл что-как.
Вдруг кто еще помнит свои наработки по стид2?... [ Read it >> ]

4 Replies
# Использование аудиозаписей
vmg(syscall,52) — All
2019-08-27 19:19:50


> Если вам не достаточно описанных здесь функций по работе со звуком,используйте полное описание модуля “snd”.

Допустим, надо, чтобы на определённом шаге пользователь услышал запись речи. Есть ли в дополнительном описании модуля "snd" что-нибудь о такой возможности? И подскажите, пожалуйста (извините за тупёж), где читать описание модулей.... [ Read it >> ]

5 Replies
# А как сделать, чтобы...
Пэ(syscall,48) — All
2019-06-13 08:31:13


Здравствуйте!
Простите, если я не в ту тему пишу :)

Вот заинтересовался я МЕТАПАРСЕРОМ3 (за что огромное спасибо Петру) и пробую что-то в нём написать. Кое-что даже получается. Программист с меня никакой и мне нужна помощь. Не откажите в любезности.... [ Read it >> ]

4 Replies
# instead-js или instead-em
lnp3(syscall,35) — All
2018-09-02 08:25:35


Друзья, прошу помощи. Подскажите, что лучше использовать в www: instead-js или instead-em? Что надёжнее, перспективнее, менее проблемное?

16 Replies
# Работа с текстовой строкой
lnp3(syscall,35) — All
2018-07-10 17:44:36


Здравствуйте, прошу помочь новичку. Документацию прочитал, но не могу понять, как мне принять текстовую строку для последующей обработки. У меня есть отличный детективный сценарий, в котором часто надо будет вводить произвольный текст. Например, код сейфа или пароль. Выбор из готовых вариантов исключается, играющий сам должен разгадать загадку и ввести верный пароль. В остальное время играть будет мышкой, переходя из комнаты в комнату, манипулируя предметами и т.д. Здорово, если такой текстовый ввод можно сделать стандартными средствами Instead. С Lua я только начал заниматься, а до этого были только ассемблер и Си.... [ Read it >> ]

3 Replies
# EMACS-вопрос
Anotheroneuser(syscall,27) — All
2018-03-28 22:49:01


Можно для ясности рассказать подробнее о системе?
Итак, жили мы жили и тут — раз — что-то случилось…

В безвычислительномашинные годы ты берёшь и начинаешь писать. Настоящей ручкой по настоящей бумаге. Пишешь до усрачки, носишься с этой писаниной, теряешь или забываешь её, стараешься лепить её на стены, доски и так далее. Всё очень романтично (со всеми вытекающими ..здецами), но теперь есть хорошая альтернатива и она называется ЭВМ.... [ Read it >> ]

0 Replies
# EMACS-вопрос
Anotheroneuser(syscall,27) — All
2018-03-27 21:36:13


Парни, а можно вопрос по поводу EMACS?

== Что надо

Хочется единой информационной среды.

== В чём проблема

Мне, как и многим сегодня, приходится работать с немалым объёмом данных, включая всевозможные нормативно-правовые акты, процессуальные документы и так далее.... [ Read it >> ]

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


Данная программа готова к запуску, содержит участок кода, данный нашим другом techniX. Демонстрирует создание графической шкалы прогресса для разных параметров в играх (здоровье, тепло, сытость и т.п.).... [ Read it >> ]

0 Replies
# отсутствие влияния части настроек темы (theme) на активные элементы измененные при помощи модуля fonts
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... [ Read it >> ]

1 Replies
# Создание кликабельной картинки, кнопки
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;
}

0 Replies
# Применение ПОЛЬЗОВАТЕЛЬСКОЙ функции в Stead3
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; -- применение пользовательской функции.
};
... [ Read it >> ]

3 Replies
# Применение ПОЛЬЗОВАТЕЛЬСКОЙ функции в Stead3
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; -- применение пользовательской функции.
};
... [ Read it >> ]

0 Replies
# Применение ПОЛЬЗОВАТЕЛЬСКОЙ функции в Stead3
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; -- применение пользовательской функции.
};
... [ Read it >> ]

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


Вот работоспособный код. При act контейнер закрывается, если открыт, и отрывается, если закрыт. Вопрос в следующем, как заранее задать какой будет контейнер открытый или закрытый? Он про умолчанию изначально открыт. А как это изменить до помещения его на сцену?... [ Read it >> ]

1 Replies
# Разделители
kolobod(syscall,30) — All
2017-10-31 14:12:06


А, всё, дошло наконец - как можно их убрать))
===
game.gui = {
ways_delim = '';
}
===

1 Replies
# Переходы-картинки
kolobod(syscall,30) — All
2017-10-31 12:03:12


Ну вот например, есть такая фишка - убрать в диалогах цифры, заменив их на "-".
===
stead.phrase_prefix = '-';
===
А нет ли такой же: чтобы избавиться от разделителей путей "|"? ... [ Read it >> ]

0 Replies
# Переходы-картинки
kolobod(syscall,30) — All
2017-10-31 08:53:31


Нид хелп! Был, кажется, этот ответ в форуме, но я никак не могу найти его, после переноса ветки по STD2 в отдельную.
Нужно в STD2 сделать переходы в другие локации картинками.... [ Read it >> ]

2 Replies
# Клавиатурный ввод в STEAD3
Peter(syscall,1) — All
2017-10-30 05:52:35


1. В документации описал модуль keys
2. Адаптировал модуль keyboard с STEAD2: https://github.com/instead-hub/instead/tree/master/doc/examples/stead3/keyboard... [ Read it >> ]

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


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

5 Replies
# Докладываю
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 игнорирует символ ^ если он не помещен в фигурные скобки {}. Возможно, так задумано. Я просто отчитался.... [ Read it >> ]

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


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

4 Replies
# результваты
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... [ Read it >> ]

6 Replies
# Делюсь
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.... [ Read it >> ]

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


Нажимать придется подольше, идти с 20 по кусочкам в 0.2, и я бы сделал не с 20, а с 2-х, чтобы облегчить тест программы, но обнаружил, что если изначальное число не 20, а например 2 или 3, то характер некрасивого отображения числа в инвентаре меняется. Даю полный текст файла main3.lua... [ Read it >> ]

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


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

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


v 3.1.2
При ошибках в расстановке круглых скобок синтаксис сыпется не только в случае с "наружным" кодом типа room {}, но и когда забыта вторая скобка в строковом значении, правильно выделенном знаками '' . Пример... [ Read it >> ]

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


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

2 Replies
# События точскрина в INSTEAD
Peter(syscall,1) — All
2017-08-12 14:39:51


Обновил демку модуля finger. Находится демка тут:
https://github.com/gl00my/stead3/tree/master/tests/fingers

Если что, спрашивайте.... [ Read it >> ]

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


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

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


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

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


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

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


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

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


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

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


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

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


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

11 Replies
# Документация по модулям STEAD3
Peter(syscall,1) — All
2017-07-06 14:09:15


Начал писать здесь: https://github.com/gl00my/stead3/blob/master/doc/modules3.md
Можно следить за тем, как она наполняется и задавать вопросы. :)... [ Read it >> ]

0 Replies
# Работа с глобальными переменными
Wol4ik(syscall,22) — All
2017-07-04 22:37:17


Прочитал всю документацию про переменные типа global, и все места, где упоминаются переменные. Возможно я недопонимаю, так как раньше работал только с процедурными языками, а не с ООП. Вопрос в следующем. Я в самом начале задаю некие глобальные переменные... [ Read it >> ]

4 Replies
# Ссылка на FAQ
Peter(syscall,1) — All
2017-05-01 11:34:20


Ссылка на постоянно растущий FAQ будет здесь: http://club.syscall.ru/_faq
Я буду добавлять в него интересные сообщения.

0 Replies
# Переводы строк в конце dsc/decor и др. методов
Peter(syscall,1) — All
2017-05-01 11:31:34


Частый вопрос, это -- как делать переводы строк в конце dsc/decor и прочих методов?
В STEAD3 все начальные и конечные переводы строк (^) -- режутся принудительно. Так как в 99% случаях, наличие дополнительных ^ это ошибка. Например, pn() в конце обработчика. Если вам действительно нужно контролировать вывод настолько глубоко, вы можете:... [ Read it >> ]

1 Replies
# Создание контейнера в STEAD3
Peter(harbor:club.syscall.ru) — All
2017-04-10 11:36:40


Класс объектов

Конструкторы объектов широко использовались в STEAD2. В STEAD3 obj/dlg/room реализованы как классы объектов. Класс объектов удобно создавать для тех случаев, когда поведение создаваемого объекта не укладывается в стандартные объекты obj/room/dlg и вы хотите поменять методы класса. Изменив метод класса, например, вы можете вообще изменить то, как выглядит предмет в сцене. В качестве примера, рассмотрим создание класса "контейнер". Контейнер может хранить в себе другие объекты, быть закрытым и открытым.... [ Read it >> ]

0 Replies