Уважаемые мапперы: подскажите, как сделать так, чтобы на высоком столбе была одна кнопка, а не множество(тк,при использовании текстуры кнопки из doom2.wad она копируется по всей высоте столба, что, конечно, убого смотрится), например, чтобы можно было делать различные текстуры на разных высотах для одного и того же участка "стены"
подскажите, как сделать так, чтобы на высоком столбе была одна кнопка, а не множество(тк,при использовании текстуры кнопки из doom2.wad она копируется по всей высоте столба, что, конечно, убого смотрится),
Для стандартной текстуры никак. Рисуй и добавляй в вад свою текстуру под нужную высоту помещения с единственной кнопкой. Или делай выемки в столбе, куда помещай кнопку.
Landsberg Ну я обычно выемки делаю, грубо говоря высотой 32 юнитов, так чтобы туда эта кнопка помещалась. Это проще чем каждый раз рисовать новую текстуру по-моему.
т.е. у тебя помещение floor 0 ceiling 128
столб внутри пустой, но на одной из его граней есть маленький сектор с floor 32 ceiling 64, и задняя грань этого сектора с текстурой кнопки
Нет, если захотеть -- можно выкрутиться без отступов даже при создании карт ванильного Doom'а (все текстуры стандартные):
Объяснение:
Скрытый текст:
Всё просто. Здесь есть сектор с нулевой высотой, на Upper/Lower сторонах которого находятся разные текстуры.
Второй, третий -- то же самое, только здесь кнопка находится на центральной текстуре:
А четвёртый да, без отступов не сделаешь... Вернее, здесь я сделал два сектора, и в один из них запихнул среднюю текстуру и прикрепил её к низу.
* * *
Правда, всё равно так лучше не делать, либо делать в местах, недоступных для прострелов: ванильный Doom позволяет хитсканам/снарядам пролетать сквозь Impassible-линии. В продвинутых портах, ясно, ситуация меняется. Там и 3D-секторами можно сделать, и другими способами...
Итог -- это тоже вариант, хотя отступы надёжнее, правда, не всегда сильно проще.
JSO x Выкрутиться можно, но если колонна с кнопкой - лифт, то выкрутасы не помогут. А тайлинг кнопок часто возникает именно на таких вот лифтах, в других случаях проблему легко решить выемками или секторами нулевой высоты.
Нет, если захотеть -- можно выкрутиться без отступов даже при создании карт ванильного Doom'а (все текстуры стандартные):
Объяснение:
Скрытый текст:
Итог -- это тоже вариант, хотя отступы надёжнее, правда, не всегда сильно проще.
Прекрасный совет, но порождающий ещё один вопрос: что делать если GZDoom Builder (самая последняя версия, х64, с оф сайта) при приближении не изменяет размер клеток, и при приближении нельзя улучшить детализацию стены сектора(фактуры) и этот фокус не работает
Такая фигня случилась.
Карта под бум.
Есть 12 секторов с одним тегом (кроме этих секторов он больше нигде не используется), на каждом выставлен "Linght Blinks (0.5 sec, synhronized)" в настройках сектора (что б все в унисон барахлили), у всех одинаковая исходная яркость.
И у 2х из них почему-то в темное время блика яркость снижаться до 0.
Здравствуйте.
Недавно стал делать ремейк на довольно мэйнстримную тему : дум 2 глобальное переиздание
Так вот, решил в городе уродские коробки превратить в дома, похожие на реальные Манхеттене Тауэр, Импаир стэйт Билдинг, Крайслер билдинг и другие, но столкнулся с проблемой, что такие здания имеют наклонные поверхности и из-за наличия крыши - многоэтажность.
Знаю, что удмф с такими задачами справляется, но ведь оригинальный Вад на ванилле!
Подскажите пожалуйста, как перевести вад в удмф
Мапмэйкер - гздумбилдер 2.3
В этой же ветке нашего"местечка" существует специальная тема про этот конвертер, неужели настолько лень просмотреть список?
http://i.iddqd.ru/viewtopic.php?t=1490
1. Я правильно понимаю что труп может быть воскрешён только при наличии -1 в последнем трупокадре ИЛИ при использовании кейворда CanRaise? Т. е. моб оживёт и без стэйта Raise, но в отсутствии оного воскрешение пройдёт без анимации, так?
2. Как правильно использовать CanRaise кейворд; оно работает только в стэйте Death и его кастомных вариациях или в любых стэйтах, его нужно прописывать во все кадры стэйта или достаточно указать только в одном кадре?
Т. е. моб оживёт и без стэйта Raise, но в отсутствии оного воскрешение пройдёт без анимации, так?
Нет. Посмотри, например, код у кибердемона или других монстров без возможности воскрешения: у них указанного стейта нет, и они не могут быть воскрешены.
Void Weaver:
Как правильно использовать CanRaise кейворд
Скорее всего, здесь ты найдёшь большую часть ответа на вопрос.
Скорее всего, здесь ты найдёшь большую часть ответа на вопрос.
Да я уже причастился к сей эпичной задаче - частенько туда заглядываю, собс-но о CanRaise впервые узнал оттуда. Но в целом механизм ревайва мне доселе был не вполне ясен. Кароч, пришлось самому досконально всё препарировать и разложить по полочкам.
Структура ревайва следующая:
1) A_VileChase или A_Chase("","",CHF_RESURRECT) - ищут monster-АКТОР с +CORPSE* флагом, "Raise:" стэйтом И с (-1 последним кадром "Death:" стэйта (или его производного) ИЛИ кадром ЛЮБОГО** стэйта с CanRaise кейвордом),
2) найдя подходящий monster-АКТОР, "некромант" прыгает в свой "Heal:" стэйт (содержимое которого не влияет на воскрешение), который в свою очередь
3) переводит monster-АКТОР из его нынешнего (в обычном случае из "Death:" стэйта (или его производного)) стэйта в
4) стэйт "Raise:" (содержимое которого также не влияет на воскрешение), который по умолчанию выполняет анимацию воскрешения, причём допускается полное отсутствие кадров.
Примечания:
* - т. е. если в стэйте "Death:" прописать TNT1 A 0 A_ChangeFlag ("CORPSE",0) то такой труп будет проигнорирован даже при наличии "Raise:" стэйта и -1 ИЛИ CanRaise где-либо.
----------------
** - т. е. если monster-АКТОРу прописать в свойствах +CORPSE И выставить CanRaise в стэйте "See:" например, то "некромант" (арч) будет постоянно "воскрешать" оный актор, переводя его в "See:" стэйт прямиком из стэйта "Raise:".
1. Ребят, как на декоре можно (ежели можно) записать снаряд следующих свойств:
а) +RIPPER
б) при столкновении с кем-либо проверяет "Species" оного, и если Species "Undead" то вместо урона хилит, и летит с проверкой дальше (ибо +РИППЕР)
в) если же проверка не проходит то коцает, и летит с проверкой дальше (ибо +РИППЕР)
Загвоздка в том что A_CheckSpecies не принимает AAPTR_NULL. Есть какие соображения по конструкции?
EDIT:
А если _ЧекСпециес примет AAPTR_GET_LINETARGET, то чем определяется (где находится) "линия зрения" снаряда? Увы, и этот поинтер не принимает.
2. Кто-нибудь в курсе как работает пауэрап модифицирующий DamageFactor'ы? Значения ДФакторов пауэрапа будут складываться с ДФакторами актора, перемножаться или просто заменять исходные значения оного?
Ну т. е. если актор имеет DamageFactor "Fire", 0.5, то какой показатель будет в итоге при активации пауэрапа с DamageFactor "Fire", 0.2? DamageFactor "Fire", 0.5 + DamageFactor "Fire", 0.2 = DamageFactor "Fire", 0.3 (сложение)? DamageFactor "Fire", 0.5 + DamageFactor "Fire", 0.2 = DamageFactor "Fire", 0.1 (умножение) Да, перемножаются.
DamageFactor "Fire", 0.5 + DamageFactor "Fire", 0.2 = DamageFactor "Fire", 0.2 (замена)?
1. Ребят, как на декоре можно (ежели можно) записать снаряд следующих свойств:
У меня где-то в черновиках был недопиленный механизм "ограниченно-рипперных" снарядов из временно приостановленного мода про фашистов, где снаряд пробивал произвольное число монстров на сумму 2000хп, но не больше. (Приостановил, пока страсти с переходом на гоззу кипели, потом разработкой нетипичных реактивных двигателей увлёкся.) Уж натрахался я тогда и с A_CheckLOF, и с A_CheckBlock, и никак оно стабильно не работало, а с быстрым снарядом вообще глючило по-страшному. А потом вот осенило.
Суть механизма в том, что снаряд летит обычный, без +риппера. Зато с +HITTRACER. А когда убивается об объект и дохнет - можно выполнить скрипт, всесторонне исследующий параметры трасера и производящий с этим трасером и со снарядом какие угодно действия. Одна проблема: снаряд после этого нужно "оживить", чтобы полетел дальше, а он, бедолага, висит в стейте Death. И если его принудительно перевести в стейт Spawn - он от этого не оживляется. Решение оказалось смешное: перевести снаряд в Spawn, вернув его казалось бы естественный и неотъемлимый флаг A_ChangeFlag ("MISSILE",1).
Через такую пень-колоду можно эмулировать риппер и творить с риппуемыми любые непотребства. Забивание гвоздей микроскопом, конечно, зато какой размах.
1. По снаряду:
а) Снаряд так и не "воскрешается". Т. е. после перехода из Death в Spawn просто висит на месте и не исчезает даже при столкновении с чем-либо.
а) Как "воскрешать" снаряд при ударе с шутебл акторами, но убивать оный при столкновении с обычными препятствиями (стенами, полами, и т. д.)?
В чём косяки?
States
{
Spawn:
TNT1 A 0 A_ChangeFlag ("MISSILE",1)
UBSS ABCDEFGHIKLMNOP 1 Light ("DARKPULSE")
Loop
Death:
TNT1 A 0
{
A_GiveInventory ("UndeadCure",1,AAPTR_TRACER);
A_DamageTracer (random(8,17),"None",DMSS_AFFECTARMOR|DMSS_EXSPECIES|DMSS_INFLICTORDMGTYPE,"None","Undead",AAPTR_TARGET,AAPTR_DEFAULT);
}
//TNT1 A 0 A_ChangeFlag ("MISSILE",1)
//TNT1 A 0 A_Jump (256,"Spawn")
//Goto Spawn
Stop
}
}
==========
2. Можно ли провести в декоре чек наличия стэйта по указателю? CheckActorState к сожалению работает только по TID или по активатору самой себя, мне же нужно проверять наличие стэйта у цели\трэйсера.