Что умеет DarkEngine

Автор LongShad, 05 апреля 2010 21:55:17

« назад - далее »

0 Пользователи и 2 гостей просматривают эту тему.

Zontik

Непрерывная (n раз в секунду) телепортация с приращением. Делается элементарно с помощью S&R. Но чем выше частота обновления, тем больше будет тормозов.
Минус такого решения: объект всегда будет с одной стороны от игрока, независимо от направления его взгляда, что создаст определенные проблемы в пограничных зонах (около стен, в тесных комнатах и т.п.).
Дайте глазам отдохнуть! Тёмное место

LongShad

#31
Погоди, но объект куда-то надо телепортировать. Как перемещать маркер вместе с игроком? Не стартовую точку, а другой маркер, к-й должен находится на постоянной позиции и расстоянии от игрока.
Ты, видимо, имеешь ввиду телепортацию в стартовую точку.

Или можно ли создать объект со смещением от маркера (+2; +2; 0), в к-м он создается?
Upd:
Ага, вот это можно. А как создать объект в точке, где сейчас находится игрок? Стартовая точка или вещи в инвентаре не перемещаются вместе с ним.

Zontik

Цитировать(штатно создание связей во время игры не поддерживается).
А как же Add link/Remove link в Conversations?
Дайте глазам отдохнуть! Тёмное место

LongShad

Вот, в Conversations, то бишь в диалоге, что уже костыли.

Zontik

Так есть же объект по имени Player. В тех ситуациях, где отсутствует проверка на наличие объекта (например, в полях Converations или AIWatchObj) можно использовать именно его. Если есть проверка (например, при назначении рецептрона) - тогда нужно привязывать к игроку постоянно движущийся за ним маркер (с нулевым приращением) и адресоваться уже к этому маркеру.
Стартовая точка вообще имеет очень-очень косвенное отношение к игроку (когда игра уже началась).
Дайте глазам отдохнуть! Тёмное место

LongShad

ЦитироватьЕсли есть проверка (например, при назначении рецептрона) - тогда нужно привязывать к игроку постоянно движущийся за ним маркер (с нулевым приращением)
Как это сделать? Свящью PhysAttach маркера с объектом Player? Но ведь в объект. иерархии нет объекта Player!

Dront

Зато объект Player, как я понял, появляется автоматически при входе в игровой режим. И именно им мы управляем. Так?
"You cannot run from life as you did from us, Garrett! Life has a way of finding you..."
"Beware the dawn of the Metal Age."

Zontik

Все верно, связь можно проложить только к существующему заранее объекту, а Player генерируется в начале игры.
Поэтому вместо не существующего Player можно использовать привязанный к нему маркер. Как это работает? Если без подробностей, то Player (аватар) с этим маркером непрерывно обмениваются сигналами. Получив сигнал присутствия, маркер телепортируется на место объекта, испустившего этот сигнал. То есть Player нигде прямо не упоминается, а только косвенно имеется в виду. И такая телепортация - несколько раз в секунду.
Зато в игре этот маркер всегда там же, где и игрок, и к нему можно прокладывать связи, можно считывать его координаты... все, что душе угодно.
Дайте глазам отдохнуть! Тёмное место

LongShad

#38
Спасибо, это получилось  :up:.
Кстати, а может у Player есть какой-нибудь гарантированный номер? Или точное название?

Zontik

Player - его точное название. Точнее не бывает.
Номер присваивается наугад (обычно первый свободный, но возможны варианты). Но зачем это? Ведь проложить связь к номеру, которого ПОКА не существует, все равно не удастся.
Если так интересна эта тема, то Sluggs когда-то экспериментировал с объектом Player.
Технология вкратце:
1 - выполнить команду:
set game_mode_backup 0
2 - зайти в игровой режим
3 - выйти
4 - найти объект Player и сделать ему Multibrush. Сохранить в файле *.VBR (кажется)
5 - выйти из DromEd без сохранения
6 - запустить DromEd, загрузить подопытную миссию, вставить мультибраш и играться.
Дайте глазам отдохнуть! Тёмное место

Zontik

Не понимаю. Есть нормальное, в меру неудобное штатное средство. Почему сразу "костыли"?
Дайте глазам отдохнуть! Тёмное место

LongShad

Потому что чтобы запустить "беседу", нужно делать связь ControlDevice, а она в gamesys не наследуется.

Zontik

В чем здесь логика? Тогда и подключение выключателя к лампам тоже организовано через костыли. Она (связь) же не наследуется!
Другое дело, что никому не хочется делать лишних движений. Это понять можно. Но для тех, кому это принципиально важно, существует DromEd 2 и NVLinkBuilder. На мой взгляд, этот метод ничуть не проще диалогов, но его уже труднее обвинить в "костылях".
Дайте глазам отдохнуть! Тёмное место

LongShad

#43
ЦитироватьВ чем здесь логика? Тогда и подключение выключателя к лампам тоже организовано через костыли.
Не мудри. Выключатель - это отдельный объект и он предназначен не только для ламп, по и для лифта, дверей и прочих механизмов.
ЦитироватьНа мой взгляд, этот метод ничуть не проще диалогов, но его уже труднее обвинить в "костылях".
Это уже называется дополнительные скрипты. Только не говори что с ними у игроков не бывает проблем.

Zontik

Да, это дополнительные скрипты. А что за беда? У игроков бывают проблемы со всем подряд, включая установку FM. Если сделать все грамотно, проблемы будут только у тех, кто сам в этом виноват.
IMHO, FM без проблем - вообще утопия.
Дайте глазам отдохнуть! Тёмное место