В gzdoom в функции A_Chase появился новый флаг:
CHF_DONTIDLE (development version 196d2ef only) – Hostile actors will not jump to their Spawn or Idle state once they no longer have a target. Allowing you to define custom states for them to jump to, when they have no target.
Кто знает куда прописывать кастом стейты для прыжка в эти самые стейты, в случае использования этого флага?
Флаг только заставляет актора не останавливаться, если у него нет цели, а продолжать движение через A_Wander(). Никакие стейты никуда прописать не выйдет, просто нет такого функционала. Как понимаю, в описании имелось в виду что-то вроде конструкции "TNT1 A 0 A_JumpIf( target == NULL, "SomeWanderingState" );".
Во всём исходном коде есть только два упоминания этого флага, оба в одном файле, притом первое -- его объявление. Второе находится в этой строчке и, собственно, добавляет возможность недружественным монстрам блуждать, несмотря на отсутствия поля "target".
Как понимаю, в описании имелось в виду что-то вроде конструкции "TNT1 A 0 A_JumpIf( target == NULL, "SomeWanderingState" );".
Либо я не понимаю чего-то, либо это реально странно звучит. Что мешает прописать тот же код "TNT1 A 0 A_JumpIf( target == NULL, "SomeWanderingState" )" в стейте IDLE без того самого флага из A_Chase ?
Что мешает прописать тот же код "TNT1 A 0 A_JumpIf( target == NULL, "SomeWanderingState" )" в стейте IDLE без того самого флага из A_Chase?
И "Spawn", и "Idle" по-любому по умолчанию не могут иметь цели... Только если это останавливает.
А, предлагаешь пофантазировать на тему использования! Навскидку два варианта вижу.
Первое и самое очевидное -- "A_Wander()" умеет обрабатывать не все флаги, присущие "A_Chase()". Соответственно, с нововведением потенциально появляется чуть более гибкая система бесцельного движения.
Второе -- сокращение длины кода. Если нужно использовать примерно одинаковый код движения вне зависимости от наличия или отсутствия поля "target" (как в "Shut up and Bleed", например), то также можно использовать этот флаг.
Повторюсь, что никаких способов задания своих стейтов при обнулении цели в исходном коде не обнаружено.
Итак, вопрос по редактору slade. Делаю значит карту в UDMF. Дело в том, что offset текстуры у linedef-а можно задавать отдельно для lower, middle и upper текстур. Но к сожалению, я не нашёл простого способа их задавать в 3d mode. Приходится писать их вручную, что не удобно. Есть ли нормальный способ их менять, или придётся мне страдать и задавать руками?
Но к сожалению, я не нашёл простого способа их задавать в 3d mode.
Плохо искал. Оптимальным будет открыть настройки управления функциями редактора и в них посмотреть исходные назначения клавиш. Неужели не догадаться самому, что твой способ писать их вручную никак не может быть удобным для всех случаев.
Ещё есть мнение, что новичкам в маппинге этот формат категорически противопаказан как раз из-за его относительно широких возможностей.
Хреновые мапперы это те, которые не смогли что-то замаппить в формате, который им пихают против их выбора, потому что так якобы проще и правильнее?)
И которые не смогли ничего толкового намаппить вообще.
Никто никому ничего не пихает. Я просто советую поэтапное освоение мастерства, а не сразу заваливать кучей всего. Такой антиметод может произвести обратный эффект, так как поделки явно будут некачественные и критика может отвернуть от дальнейшего прогресса.
Приветствую всех. И ещё один вопрос. Когда-то давно начинал маппить вад и напихал туда кучу импортированных текстур и (судя по всему) сделал это весьма криво. Недавно к нему вернулся. Маппил в slade, но после обновления slade стал глючить и я решил помаппить через GZDoomBuilder на виртуалке или под вайном (именно поэтому ранее писал, что GZDoomBuilder не предлагать), так вот, в игре (gzdoom) всё работает нормально, но когда я открываю вад в GZDoomBuilder, происходит какое-то безумие с текстурами, они весьма перепутаны в 3D режиме. Как можно сие решить?
Проблема решена, заключалась она в том, что в ваде было два раза PNAMES.
Решение проблемы было частично найдено. Вопрос оставлю на всякий будущим поколениям.
Скрытый текст:
Хелп. На свою голову занялся конвертированием моделек (с анимациями) в MD3. Есть одна, но очень сложная сложная. В ней 8 составных частей из-за того, что материалы разбросаны по деталям (да и в принципе никого бубенить не должно, сколько мне нужно под-моделей). В итоге разделить то разделил, но при записи деталей в modeldef боле чем 4 штуки, возникает следующее:
Script error, "model_test.zip:modeldef" line 22:
Too many models in MODEL
Самое с**а обидное, что никаких проблем нет вообще с конвертацией и все части подходят отлично без сбоев. Проблема в том, что поставлен лимит и я ХЗ с чем он связан. В общем, есть ли костыль, который исправит это положение? Может есть способ сдвоить 2 модели по 4 части? Елозить по развёрткам объединяя материалы чё-т не хочется. Да и задумка теряет смысл.
Пользуюсь блендером с тулзами под конверт в md3
Хм.... а стоило заглянуть на вики:
The number of model 'pieces' used to be restricted to 4, but that limitation was lifted in GZDoom 4.6.0 and is no longer valid.
Справедливый вопрос: а нахрена было?
UPDATE:
А да, кстати. И тут жидко кто-то обосрался. Анимации не работают в внутренних моделях начиная с 5-ой. Так что облом. Почему так, я хз, но это начинает меня выбешивать. Есть идеи, как эти ограничения обойти? (так понимаю, что косяк с анимациями ещё не известен науке, поскольку только к 4.6.0 эту лажу исправили, может зарепорнтить?)
Приветствую всех, господа.
Пытаюсь сделать кастомного монстра. На данный момент есть только его заготовка так сказать. Проблема в том, что большую часть времени он то ли не виден, то ли внутри стен сидит. И почему его не всегда видно, я не пойму, т.е. то видно -- то нет. Если что, то он сделан чисто на шейдерах, а исходные спрайты -- прозрачные квадраты.
DECORATE:
Скрытый текст:
actor Ball 32176
{
Obituary "%o was killed by a ball."
Health 100
Radius 32
Height 64
Mass 50
Speed 10
PainChance 256
Scale 4.0
Monster
+FLOAT
+NOGRAVITY
States
{
Spawn:
EMPT A 10 A_Look
Loop
See:
EMPT A 3 A_Chase
Loop
Pain:
EMPT A 2 A_Pain
Goto See
Death:
EMPT A 2
Stop
XDeath:
EMPT A 2
Stop
Rise:
EMPT A 2
Goto See
}
}
Как сделать чтобы из Шотгая после смерти не выпадал дробовик? Если сделать дробовик невидимым. то проблема решается, однако от взятия где либо дробовика придется отказаться. Как сделать чтобы невидимым становилось только выпавшее из моба оружие?
Если порт, под который делается мод, относится к семейству *ZDoom -- то, по информации с ZDoom Wiki, достаточно прописать в монстра-замену свойство «DropItem "None"».
Actor MiserShotgunguy: Shotgunguy replaces Shotgunguy {
DropItem "None"
}
Тут ещё пара вопросов.
Пусть есть hardware shader (не postprocessing, а к текстуре некоторой применённый), как через zscript ему uniform менять?
Пусть есть 2 linedef-а с одной и той же текстурой, к которой применён hardware shader, принимающий uniform some_uniform, возможно ли установить разные значения some_uniform для этих linedef-ов?
Понравилась одна текстурка в одном ваде и я захотел узнать ее точное название. Открыл вад с помощью Slade. Я так понял в этой программе нельзя в режиме 3D двигаться по карте? А как тогда выделить проблемное место и узнать название текстуры?
Воот открыл я схему первой карты... неясно вообще где старт и где конец... выделить мышкой определенное место нельзя на карте...Как работают профи с этим редактором не понимаю.
Gadavre Ты открыл превьюшку карты. Кнопка, запускающая сам редактор находится на панели функций. Вообще, как можно было предположить, что современный редактор не имеет 3Д?