Thief: the Dark Fate Forum

Гильдия Редакторов => DromEd => Тема начата: StaticZ от 13 октября 2013 00:11:55

Название: Pressure Plate
Отправлено: StaticZ от 13 октября 2013 00:11:55
Доброго времени суток, можете объяснить как работает свойство Physics -> Misc -> Pressure Plate ? Создал плиту с Activation Weight 0.01 кинул с нее на лифт свитч линк и ... ничего не происходит и кидал на нее предметы и сам прыгал - результата нет....
Название: Pressure Plate
Отправлено: Zontik от 14 октября 2013 14:19:40
Нужны подробности, в частности - перевод термина "свитч линк".
Есть подозрение, что плита создавалась с нуля. В этом случае стоит залезть в иерархию, найти там соответствующую плиту и внимательно посмотреть ВСЕ ее свойства. Включая скрипты.
Ну а если я вдруг правильно догадался, что "свитч линк" - это Control Device, то его не к лифту надо проводить, а к TerrPt.
Название: Pressure Plate
Отправлено: StaticZ от 14 октября 2013 18:11:25
Речь идет про SS2, там нет связи Control Device, но есть Switch Link, насколько я понимаю это теже яйца в профиль. Switch Link используется для соединения кнопок с лифтами, дверями и т.д. А плиту да создавал с нуля, ибо стандартных плит нет, поэтому и посмотреть негде, однако свойства-то есть. Хотя бы на примере чего-то подобного из T2....
Название: Pressure Plate
Отправлено: Zontik от 15 октября 2013 09:41:31
А T2 у тебя есть? Проще всего было бы посмотреть там. Я вот почти уверен, что у Pressure Plate есть какой-то особый скрипт, который и заставляет ее делать все в соответствии с нашими ожиданиями. Так же как Anim Light - добавление одного этого свойства не сделает источник света анимированным без скрипта AnimLight.
Название: Pressure Plate
Отправлено: StaticZ от 15 октября 2013 11:27:40
T2 нет, да и не знаком я с ней совершенно (в прочем как и с T1) - не знаю что там и как устроенно и выглядит....
Название: Pressure Plate
Отправлено: Zontik от 15 октября 2013 15:02:33
Где-то на сайте есть список оригинальных скриптов с пояснениями. Но я не помню, есть ли там ссылки на Шок. Вот почти наверняка скриптовый модуль от NV (NVScript.osm) работает и под Шоком тоже, и там есть замена почти всех оригинальных скриптов. Может, и для тарелки удастся что-то найти. В случаях, когда скрипт работает как-то по-особенному под SS2, в описании это указывается.
Название: Pressure Plate
Отправлено: StaticZ от 15 октября 2013 15:25:26
т.е. все что нужно это скрипт и связь Control Device ?
Название: Pressure Plate
Отправлено: Zontik от 15 октября 2013 16:31:56
Не знаю, как в Шоке, а в T2 эту связь направляют к точке остановки, а не к самому лифту.
Насчет все или нет - не с вероятностью 100%, но скорее всего, больше ничего не требуется.
Название: Pressure Plate
Отправлено: StaticZ от 15 октября 2013 18:43:48
Цитата: Zontik от 15 октября 2013 16:31:56
Не знаю, как в Шоке, а в T2 эту связь направляют к точке остановки, а не к самому лифту.
Насчет все или нет - не с вероятностью 100%, но скорее всего, больше ничего не требуется.
В шоке к лифту, а на лифте кидается связь TPathInit на первую точку остановки, а сами точки соединяются связи TPath.. Однако все это не так важно - речь-то не про лифты =)

Насчет NVScript не нашел там ничего похожего, а вот в pubscrits нашлось TrigPPlate и TrigPPlateImmed (первый вроде как должен срабатывать после окончания движения а второй во время начала) Однако ничего не работает. В описании указана связь SwitchLink и сообщения PressurePlateActive, PressurePlateInactive. Но лифт к примеру активируется сообщением TurnOn, так что насколько я понимаю надо как-то конвертировать сообщения но как?? Однако не срабатывает не только связь, но и сама плита не нажимается, так что создается впечатление что чего-то не  хватает или что-то сделано не так.

ЗЫ А вообще как задается масса игрока? В старпоинте прописывается?
Название: Pressure Plate
Отправлено: StaticZ от 15 октября 2013 19:01:57
Хотя нет все работает :yay:

Я задавал дистанцию для движения у плиты отрицательную (думал раз плита едет вниз то дельта по Z будет отрицательным), а надо было оказывается положительную + скорость движения указал очень низкую.

Заметил интересную особенность если указать задержку -1.00 (ни больше ни меньше), то плита перестает подниматься (при условии что скорость движении плиты не слишком высока, т.е. время движении плиты не должно стремиться к нулю, в противном случае это поведение будет верным только когда прыгаешь на нее). А при -2.00 плита не поднимается даже если с нее сойти. Интересно это баг или фича? =)

Однако теперь другая проблема - мне надо чтобы плита реагировала только на игрока. Есть идеи как это можно реализовать? И где редактируется всетаки вес игрока?

Название: Pressure Plate
Отправлено: Lolkab от 15 октября 2013 19:26:28
Цитата: StaticZ от 15 октября 2013 19:01:57
Однако теперь другая проблема - мне надо чтобы плита поднималась обратно сразу же как игрок сойдет с нее, а в настройках есть лишь возможность задать паузы ее вдавленного состояния. Да и очень желательно что-бы плита реагировала только на игрока. Есть идеи как это можно реализовать?
Могу предложить такое:
Как только игрок окажется на полу перед лифтом (есть же в DromEd понятие volume? Когда игрок заходит в определённое пространство), отправить лифт наверх (эмулировать нажатие кнопки, например, в ФМках видела, что как-то это возможно). Т.е. суть не в том, что игрок сойдёт с плиты, а в том, что игрок будет перед плитой/шахтой лифта. И это будет конкретно игрок (звуки, скажем, не воспроизводятся для NPC).
Название: Pressure Plate
Отправлено: StaticZ от 15 октября 2013 20:43:00
Цитата: Lolkab от 15 октября 2013 19:26:28
Могу предложить такое:
Как только игрок окажется на полу перед лифтом (есть же в DromEd понятие volume? Когда игрок заходит в определённое пространство), отправить лифт наверх (эмулировать нажатие кнопки, например, в ФМках видела, что как-то это возможно). Т.е. суть не в том, что игрок сойдёт с плиты, а в том, что игрок будет перед плитой/шахтой лифта. И это будет конкретно игрок (звуки, скажем, не воспроизводятся для NPC).
чего-то честно говоря смыла не уловил. Сама плита у меня вообще должна разблокировать кнопку, т.е. нажать на нее можно только стоя на плите, а сам лифт будет приводить в движении именно эта кнопка. Решение с схождением с плиты я уже нашел - дописал в предыдущем посте - там надо время задержки установить -1.0, но на плиту можно поместить предмет или на нее может встать НПС, что убивает смысл задачи....
Название: Pressure Plate
Отправлено: Lolkab от 15 октября 2013 20:52:40
Немного запуталась... То есть, если я правильно понимаю, дело должно выглядеть так:
1. Игрок встаёт на лифт
2. Игрок жмёт на кнопку, которую нельзя нажать, не стоя на лифте
3. Лифт спускается
4. Игрок уходит с лифта
5. Лифт сам по себе едет обратно
Верно?
Название: Pressure Plate
Отправлено: StaticZ от 15 октября 2013 21:27:34
Не совсем.
1. Игрок встаёт на особую незаметную плитку в полу, что нажимается от его веса.
2. Игрок активирует кнопку выстрелом, ибо сама кнопка далеко. Кнопку нельзя нажать не стоя на плите.
3. открывается секретный проход (технически он сделан как лифт)
4. Игрок счастливый бежит в секретный лаз...
5. Через какое-то время секретная дверь закрывается обратно.


Извращенно конечно, но так сказать в рамках освоения редактора самое оно )))
Название: Pressure Plate
Отправлено: Lolkab от 15 октября 2013 21:37:57
А, тогда я совсем не так поняла )
Ну тут разве что могу предложить активировать кнопку не только по нажатию на плиту, а ещё дополнительно при условии, что игрок находится над ней/рядом с ней/в пределах определённого расстояния. [off]Я вообще не знаю, как выглядит DromEd, просто предлагаю логически идею, так что это может иметь и более изящную реализацию. Мне просто нравится решать такие задачки )[/off]
Название: Pressure Plate
Отправлено: StaticZ от 15 октября 2013 22:06:31
Хм а действительно, вроде можно это сделать через TrapNewTripwire там вроде как какраз можно получить событие при нахождении игрока в ней, правда еще не знаю получиться ли сделать, но будем надеяться...

[off]Да мы тоже недавно решил заняться DromEd'ом (ну или ShockEd'ом, что может более полит коретно но не совсем технически верно), взявшись за создание аддона. Проблем и задачек тут сразу море, а документации почти нет. Зато жить интересно, преодолевая вечные трудности... Правда время теряется, мы пока еще и 3х уровней не сделали а в планах 20-30 ))[/off]
Название: Pressure Plate
Отправлено: Zontik от 16 октября 2013 09:50:25
В T2 есть замечательный скрипт - TrapRequreAll. Если подсоединить к такому объекту и кнопку, и опускающуюся панель, а сам объект подсоединить к "лифту" - лифт сработает только при условии одновременного нажатия на панель и на кнопку. То есть кнопку можно нажимать и не стоя на панели, но срабатывать она не будет.
Теоретически возможно, что игрок догадается положить на панель что-то тяжелое, чтобы не стрелять по кнопке. Но я бы скорее оставил это как бонус, чем пытался предотвратить.
Название: Pressure Plate
Отправлено: StaticZ от 16 октября 2013 10:30:44
Цитата: Zontik от 16 октября 2013 09:50:25
В T2 есть замечательный скрипт - TrapRequreAll. Если подсоединить к такому объекту и кнопку, и опускающуюся панель, а сам объект подсоединить к "лифту" - лифт сработает только при условии одновременного нажатия на панель и на кнопку. То есть кнопку можно нажимать и не стоя на панели, но срабатывать она не будет.
Теоретически возможно, что игрок догадается положить на панель что-то тяжелое, чтобы не стрелять по кнопке. Но я бы скорее оставил это как бонус, чем пытался предотвратить.
В Public Scripts для шока тоже есть TrapRequireAll и TrapRequireAny. Надо будет попробовать, спасибо за идею.