Помнится, что в любимой мной игре ROTT такие движущиеся платформы были
Если мне не изменяет память, то это были спрайты с вертикальным вращением, а мы говорим о полностью 3д секторе. В таком случае проще уж делать 3д модель и к ней прикручивать пушер, чтобы толкать игрока в том же направлении, что и модель.
А вообще интересный получается, своеобразный парадокс. Игрок как бы присутствует на карте и в то же время находится в другом месте. Напоминает трюк с расположением двух плеерстартов.
Я в принципе это и подразумевал, тем более что 3д модель вроде сама по себе должна быть не особо хитрая. Грубо говоря, цилиндр или параллелепипед. Ну, при желании можно ещё какие-нибудь прибамбасы приделать. Я точно не знаю, но наверное Герр как раз это имел в виду, говоря про второй способ:
2. Сделать платформу актором с моделью/вокселем на манер ZBridge и написать скрипт, пропорционально смещающий всё, что на ней находится. Способ наиболее гибкий и универсальный, но надо хорошо покурить мануалы Zscript/ACS по проверкам и движению, чтобы всё работало гладенько. Также монстры без DROPOFF флага на такую платформу вставать не будут, ибо с их точки зрения это прыжок в пропасть (хотя скриптами можно вылечить и это).
Интересно, нет ли какого-нибудь инструмента, чтобы в заданных пределах рандомизировать оффсеты на линиях (на выделенном множестве линий)? Это может оказаться полезным, например, при создании природных локаций. (Я уже не первый раз сталкиваюсь со случаем, когда иметь такую штуку хотелось бы).
Ещё один вопрос. Делаю карту с весьма нестандартной геометрией, сделал уже довольно много, и тут понял, что один кусок в центре природной локации мне не нравится, хочу удалить (потом, возможно, сделаю там по-другому). И, когда я начинаю удалять линии и делать make sector, алтимейт Дум билдер иногда даёт сбой, перестаёт распознавать секторы и не строит их правильно. Возникает некоторый трах. Как тут лучше поступить? Интересно, если сначала упрощать геометрию в удаляемом месте, соединяя вершины (т.е. превращая отрезок в точку и так повторяя несколько раз, иногда превращая сектор в отрезок) - это редактор лучше переварит?
Вопрос по MODELDEF в гоззе и зандронум. В руководстве написано, что желательно использовать ссылку на modeldefs (типа #include "modeldefs/boxes.txt"), то есть в корневике пачки не размещать кучу modeldef, а делать ссылку на одельную папку, где они все располагаются, но что-то это не работает. Это действительно не работают или у меня где-то струя в глазах? На всякий случай прикреплю свой файл, с которым уже бьюсь второй вечер.
Интересно, если сначала упрощать геометрию в удаляемом месте, соединяя вершины (т.е. превращая отрезок в точку и так повторяя несколько раз, иногда превращая сектор в отрезок) - это редактор лучше переварит?
вроде бы да, и делайте копиии карты почти каждое изменение в трудных местах
Почему не может? Вроде бы на полиобъектах можно ездить.
хотя это не в гоззе, а в к8вавум
В том-то и проблема. Таких нативных полиобъектов в гоззе нет и не предвидится, это особая фича K8Vavoom. При этом K8Vavoom хотя и поддерживает декорейт (хз какой версии), но не поддерживает новомодный Zscript. Порты развиваются вразжопицу, совместимости модов не будет.
Ultimate Doom Builder, там эти проги можно самому написать через UDBScript на JavaScript (.js), но большая часть встроена изначально
Мне она помогла, когда я пещерную зону делал и искал выделенные лайндефы с прямыми углами (90,180). Пришлось писать самому, ибо этой функции изначально нет
Нет. Что-то у меня сегодня картинки не загружаются, а на маленькой превьюшке я не вижу, что это за фича.
Интересно, что там за проги встроены. А нет ли случайно среди них проги, которая позволила бы делать сектор-полосу фиксированной ширины (типа извилистой дороги)? А то с Draw Curve Mode (или вообще руками) приходится повозиться, чтобы нарисовать две стороны дороги, и чтобы её ширина была хотя бы примерно одинаковой на всех участках.
Michael63 пишет:
Интересно, если сначала упрощать геометрию в удаляемом месте, соединяя вершины (т.е. превращая отрезок в точку и так повторяя несколько раз, иногда превращая сектор в отрезок) - это редактор лучше переварит?
вроде бы да, и делайте копиии карты почти каждое изменение в трудных местах
Да, это помогло, хоть и пришлось чутка повозиться с соединением точек. Вроде всё работает, ттт. А копии карты я делаю много. Всегда, когда я делаю какую-то серьёзную карту, у меня на компе появляются десятки пронумерованных версий, прежде чем появляется первая релизная версия. Однажды перевалило за сотню. Не помогает только в том случае, когда ты только спустя пару десятков версий понял, что хочешь сделать по-другому какой-то кусок в середине.
Предыстория. Нередко сталкиваюсь со специфическими челленджами при маппинге карт, которые требуют многократного перезапуска порта, чтобы проверить минимальные изменения, поскольку в думбилдере видишь одно, а в игре другое...
Вопрос. Есть ли способ ввести читы ПАЧКОЙ в порте, чтобы ускорить проверку изменений на карте?
Например ввод читов в одной с троке, но через какой то знак разделитель чтобы порт не сошёл с ума или хоть какой нибудь другой способ.
Скрытый текст:
idclev 56# iddqd# freeze# noclip# fly# give all
как пример в одной строке скопипастить в консоль порта пачку читов или ещё какой способ
попробуй запускать мод батником или чем-то подобным с +map56 +god +freeze +noclip2 +"give all" в аргументах при запуске. (там же где -iwad doom2.wad -file твоймод.вад)
Например ввод читов в одной с троке, но через какой то знак разделитель чтобы порт не сошёл с ума или хоть какой нибудь другой способ.
Разделителем в консоли GZDoom является точка с запятой.
Классический вариант исполнения сразу нескольких команд (оно ещё и между запусками движка сохраняется!) — это команда "alias". После назначения алиаса (псевдонима) можно будет в консоли прописывать его название для исполнения связанных с ним команд. Синтаксис:
alias название "команда1; команда2; команда3; ..."
Примеры:
# Выдавать неприлично много здоровья при вводе в консоль "givehp":
alias givehp "give health 9999999"
# Перейти в настроенный Deathmatch-режим на карту MAP01 при вводе в консоль "dm":
alias dm "deathmatch 2; dmflags 4280320; teamplay false; map map01"
# Телепортироваться на указанные координаты:
alias devwarp "warp 280 400"
# Включить/отключить бесконечные патроны (этот алиас писался очень давно, когда команды "toggle" в движке ещё не существовало):
alias toggleinfinammo "test $sv_infiniteammo \"sv_infiniteammo false; echo 'sv_infiniteammo' is now FALSE\" \"sv_infiniteammo true; echo 'sv_infiniteammo' is now TRUE"
Список возможностей алиасов далеко не полный, в алиасах ещё подстановочные аргументы есть. Но не суть.
Если нужен быстрый доступ при запуске — то действительно, можно через лаунчеры или скриптовые файлы вроде *.bat, здесь есть небольшой пример-шаблон на русском языке для более гибкой настройки. И всё это можно превратить в Очень Страшный (но и универсальный) код:
Скрытый текст:
Если что, под Windows не запустится, это линуксовый Shell.
+Ku6EPyXOBEPTKA+ и JSO xспасибо большое за подсказку об алиасе, правда я понятия не имею что это ибо слышу в первый раз)
Понравился очень вариант с ";" он намного проще, просто за ранее накатаю текст с читами для копипасты и положу недалеко от запуска =D Супер!!!
Скрытый текст:
не хотел бы чтобы у меня сохранялись введённые читы, когда дело дойдёт до финального, честного теста карты на проходимость