Когда я добавляю новые объекты в околованильные вады, я описываю их в Decohack, а потом на основе Decohack автоматически создаю Dehacked с помощью DoomTools.
Вопрос: а можно ли наоборот преобразовать Dehacked в Decohack? Я покопался в DoomTools и что-то не нашёл такого. А хотелось бы. В частности, иногда вижу в каком-нибудь ваде классную штуку, и она описана в Dehacked, а Decohack там нет. А копаться напрямую в Dehacked ощущаю слишком нерациональным и несовременным.
Господа, вопрос про Ultimate doom builder.
Представим что я создал квадратный сектор. После чего нажал "E" и теперь его можно вращать. Но вращается он относительно своего центра, можно ли его вращать относительно одной из вершин?
у меня глупый вопрос: что надо добавить в decorate оружия, чтобы оно останавливалось после каждого выстрела, а не продолжало стрелять
посмотрел разные моды, но так и не додумался
Добавлено спустя 27 минут 2 секунды:
Забыл добавить, что это для zandronum в нем флаг WEAPON.NOAUTOFIRE не работает
____
Разобрался методом тыка. WEAPON.NOAUTOFIRE конечно же работает, просто надо было +WEAPON.NOAUTOFIRE и убрать A_ReFire в одной строчке
Скрытый текст:
Переделывал из UACBattleRifle с сайта realm667, вот что получилось https://transfiles.ru/wdpi9 (файл на 14 дней). Это пока попытки освоить моддинг оружия, без глубокой переработки. Даже спрайты не менял, пусть будет что-то наподобие вепрь-12
Помогите пожалуйства найти DECALDEF (Decals) для стандартного plasmaball (doom). Я изменил акторы оружие и проджектайлы, но спрайты хочу оставить стандартные freedoom. Так вот, при изменении A_FireCustomMissile("LightningBall") , где LightningBall это измененный plasmaball, естествеено, что он не осталяет следов на стене, как обычный plasmaball. Похоже DECALDEF для него зашит в движок, а стандартный код на zdoom.org я не нашел.
Добавлено спустя 1 минуту 5 секунд:
(в zandronum.pk3 тоже заглядывал, чтобы найти пример, может не там смотрел?)
Доброго! Вопрос на засыпку: нашел пак моделей по ЗВ, все клево-красиво, но...
Отображаются они нормально, в билдере все видится, скейлится и прочее.
Игра УПОРНО игнорирует флаг +SOLID. Пробовал на разных портах - результат нулевой.
Собственно вопрос: куда копать то?
Пример декорейта:
Скрытый текст:
ACTOR JKJA_dummy
{
//$Category MD2
Radius 8
Height 8
//Scale 0.2
+SOLID
+ACTLIKEBRIDGE
+NOGRAVITY
+SHOOTABLE
+NOBLOOD
Mass 0x7fffffff //unthrustable States
{
Spawn:
PLAY K -1
Stop
}
}
Именно так, в столкновении участвует только рамка актора (высота Z, а ширина и длина одинаковая X=Y) или геометрия уровня, но не модель. Поэтому часто, чтобы не проходить сквозь модели, которые являются украшением уровня (неподвижны) и имеют вытянутую форму по горизонтали (X не равно Y) то для столкновений нужно использовать геометрию уровней (например непроходимые (impassable) линии или невидимый 3Д пол), или использовать несколько невидимых акторов расположенных в ряд (примерно внутри 3Д модели).
Добавлено спустя 3 минуты 53 секунды:
Например есть такое в моде GD2. Сразу на первом уровне автобус.
Народ, а кто-нибудь пытался в формате MBF21 сделать турель, висящую на потолке, как в Duke Nukem 3D? Я вот попытался, и оказалось, что не всё так просто. Основная проблема в том, что внезапно точка выстрела почему-то оказывается выше потолка (а отнюдь не в середине хитбокса турели). В итоге турель не может стрелять, снаряд "взрывается" сразу после появления. Вы, конечно, скажете, что в функции A_MonsterProjectile можно сделать вертикальный сдвиг точки выстрела и отнести её вниз. А вот хрен. При той ситуации, когда монстр висит на потолке и точка выстрела по умолчанию оказывается выше потолка, вертикальный сдвиг не работает, какие ни задавай значения. Я уже пробовал ИИ Гугла спрашивать, как это сделать, он предлагал несколько обходных путей, но все они по тем или иным причинам не работали. В итоге я просидел несколько часов, но сделал только очень костыльный вариант: увеличил высоту хитбокса турели до 48, тогда снаряд стал вылетать. Такое ощущение, что в случае закрепления пушки на потолке высота точки вылета отсчитывается как-то от нижнего края хитбокса (возможно, это какая-то константа). Сдвиг по вертикали в A_MonsterProjectile работает только тогда, когда изначально, т.е. без сдвига, эта точка ниже потолка.
Добавлено спустя 3 минуты 43 секунды:
Тестировал в UZDoom и хочу, чтобы работало в том числе и в этом порте.
Bessa Me Muchos Здесь ещё проблема с потолочными турелями. Они часто сползают вниз, даже если ты установил значение speed на 0. Если у тебя такого не было - стоит насторожиться
Я изучал код ванильного движка и там все печально - без редактирования изнутри движка он будет падать вниз из-за каких-то моментов с движением.
Уточняю про порты. Вчера я пробовал свою костыльную схему (с большой высотой турели 48) только в UZDoom, и она работала. При создании мнимого потолка действием Create Fake Ceiling and Floor было даже вполне сносно, за неимением лучшего. Сегодня попробовал то же самое в классических портах, и увидел, что да, при активации турель каким-то чудом мгновенно оказывается на полу.
Но это у меня не было флага +FLOAT. Сегодня я ещё добавил этот флаг, и теперь поведение во всех портах вроде бы одинаковое. Когда с турелью перестреливаешься издалека - всё нормально, но когда подходишь к ней близко, она вдруг начинает плавно опускаться. Это, конечно, печаль, но может и не совсем уж плохо. Приведу свои куски кода. Вот где описывается проджектайл:
Скрытый текст:
thing MT_EXTRA71 "BLASTER SHOT"
{
EdNum 191
Radius 8
Height 16
Speed 30
Damage 4
Clear Flags
+MISSILE
+NOBLOCKMAP
+NOGRAVITY
States
{
Spawn:
SP71 A 4 Bright
Loop
Death:
SP71 B 0 A_PlaySound("FRE035")
SP71 B 4 bright
SP71 C 4 bright
SP71 D 4 bright
SP71 E 4 bright
stop
}
}
И вот где описывается сама турель (в состоянии боли там вращение, как в Дюке):
Clear States
States
{
Spawn:
SP73 A 10 A_Look
loop
See:
SP73 A 2 A_Chase
loop
Missile:
SP73 A 4 A_FaceTarget
SP73 A 0 A_PlaySound("FRE034")
SP73 B 4 bright A_MonsterProjectile(MT_EXTRA71, 0.0, 0.0, 0.0, -32.0)
SP73 A 3 A_FaceTarget
SP73 A 2 A_PlaySound("FRE034")
SP73 C 4 bright A_MonsterProjectile(MT_EXTRA71, 0.0, 0.0, 0.0, -32.0)
SP73 A 2
goto See
Pain:
SP73 E 1 A_Pain
SP73 F 2
SP73 G 2
SP73 H 2
SP73 I 2
SP73 J 2
SP73 K 2
SP73 L 2
SP73 M 1
goto See
Death:
SP73 A 2 bright A_PlaySound("BAREXP")
MISL B 8 bright A_Explode
MISL C 6 bright
MISL D 4 bright
stop
}
}
Просьба к авторам: постарайтесь убирать стены скриптов под спойлер. BeeWen