Welcome to U.A.C. [O.S.A.]
login / register 
Status: Guest
Архивы форума | iddqd.ru
Wolf 3D
ПравилаПравила ПоискПоиск
18+
Тема для новичков. Вопросы по маппингу/моддингу - любые!-2 Пред.  1, 2, 3 ... 71, 72, 73
   Список разделов - Местечко мапперов и моддеров - Тема для новичков. Вопросы по маппингу/моддингу - любые!-2Ответить
АвторСообщение
Mr.Danisimo
Recruit
Next rank: Marine after 10 points
10

Doom Rate: 1.25

Posts quality: +1
Ссылка на пост №1441 Отправлено: 21.07.25 18:15:04
Прошу прощения, я вроде сейчас пробую UDMF, тестирую всё на GzDoom 4.11.3
BeeWen
Lieutenant Colonel
Next rank: Lieutenant Colonel after 78 pointsСупермодератор форума
3562

Doom Rate: 1.59

Posts quality: +954
Ссылка на пост №1442 Отправлено: 21.07.25 22:46:48
Mr.Danisimo пишет:
можно конечно тупо перекопировать все файлы, но оптимальный ли это способ?

Ещё оптимальней создать их самому, но это требует определённых усилий.
1 1 1
Герр Смертоносец
- Warrant Officer -
Next rank: = Warrant Officer = after 49 points
1091

Doom Rate: 1.34

Posts quality: +959
Ссылка на пост №1443 Отправлено: 22.07.25 06:49:57
Mr.Danisimo пишет:
Сап гайс, если есть кто, скажите как добавлять монстров в свой вад используя Slade 3, можно конечно тупо перекопировать все файлы, но оптимальный ли это способ?

Mr.Danisimo пишет:
Прошу прощения, я вроде сейчас пробую UDMF, тестирую всё на GzDoom 4.11.3

Смотря что, откуда и куда добавлять.

- Если это готовый монстр с realm667, достаточно wad с монстром в pk3 засунуть, дальше интерпретатор сам разберётся, где какие файлы лежат.
- Если надо засунуть не в pk3, а в wad - придётся уже переносить отдельно спрайты (между S_START и S_END), отдельно звуки, отдельно руками переносить код из лумпов ZSCRIPT/DECORATE и SNDINFO.
- Если надо выдрать монстра из какого-то мода - опять же, придётся переносить всё вышеперечисленное руками, только теперь добавляется увлекательный квест: найти в чужой куче файлов все необходимые компоненты и ничего не забыть. И найти в чужой куче кода всё нужное, убрать всё ненужное, и чтобы ничего при этом не сломалось. Там бывают всякие неочевидные зависимости. В особо тяжёлых случаях и ACS-либу копировать придётся.
(И да, во всех случаях конфликты имён возможны, и ошибку это не вызовет. Просто один монстр вдруг чудесным образом перекрасится в другого с теми же именами ресурсов. Если конфликт произошёл - надлежит править файлы руками.)

После чего в MAPINFO пишется конструкция вида:
DoomEdNums
{
	16000=Kozel
	16001=Baran
        16002=Korova
}

И всё, можно работать с ними в эдиторе. Чтобы работалось удобнее - прописать editor keys.
5
Mr.Danisimo
Recruit
Next rank: Marine after 10 points
10

Doom Rate: 1.25

Posts quality: +1
Ссылка на пост №1444 Отправлено: 22.07.25 11:48:49
Герр Смертоносец пишет:
Если надо засунуть не в pk3, а в wad - придётся уже переносить отдельно спрайты (между S_START и S_END), отдельно звуки, отдельно руками переносить код из лумпов ZSCRIPT/DECORATE и SNDINFO.

Спасибо Герр, помог
+Ku6EPyXOBEPTKA+
= Major =
Next rank: Lieutenant Colonel after 203 pointsМодератор форума
3087

Doom Rate: 2.03

Posts quality: +1546
Ссылка на пост №1445 Отправлено: 30.07.25 20:33:48
Возникла интересная проблема с ACS. В общем у меня большой массив данных запихан в одну ACS библиотеку и при попытке скомпилировать мне выдаёт просто шедевральную ошибку:
Too many strings. Current max is 32768


Причём я не понимаю природу ошибки. Если разделить массив в одной библиотеке, то всё равно будет ссылаться на лимит строк (похоже лимит общий для всех массивов с строковыми данными). Если убрать кусок массива до лимита, то будет ошибка ссылаться на следующее объявление любых данных с строковым значением. И я понимаю, если бы это были отдельно объявленные строки, но это же массив... карл. Да ещё вообще не понятно почему у меня возникает ошибка лимита далеко не в ожидаемой строке (массив из 4 элементов 37к строк, но ошибку даёт почему-то где-то в 16к, если пытаться скомпилить голый массив). В общем, есть ли какой-нибудь способ обойти этот бред?

Вынести массив в отдельные библиотеки и разделить тоже не получится, из-за того, что тогда не получится скомпилировать основную библиотеку (будет ругаться на необъявленные данные). Тут кстати другой вопрос, можно ли вообще делать ссылки на данные в других библиотеках?
2 1 7
Герр Смертоносец
- Warrant Officer -
Next rank: = Warrant Officer = after 49 points
1091

Doom Rate: 1.34

Posts quality: +959
Ссылка на пост №1446 Отправлено: 31.07.25 01:57:52
+Ku6EPyXOBEPTKA+
+Ku6EPyXOBEPTKA+ пишет:
Тут кстати другой вопрос, можно ли вообще делать ссылки на данные в других библиотеках?

Косвенным образом точно можно. Допустим, тебе ничего не мешает создать одной библиотекой некого особенного актора и напихать ему в какие-нибудь поля каких-нибудь параметров, чтобы другая библиотека их потом оттуда прочитала. Или можно CVar-ы использовать. Или, если у тебя там визуальная новелла с большими объёмами интерактивного текста - запихать каждый текст в отдельную либу отдельным скриптом, который вызывается спецактором. А в массив вместо талмудов положить имена этих спецакторов, получив таким образом эдакий массив указателей из спичек и желудей.

А ещё это всё можно через Strife Dialog Format замутить (гугли вики по тегу Conversation, каталогизировано оно омерзительно), где текст по умолчанию выносится в отдельные лумпы.

Рейтинг сообщения: +1, отметил(и): +Ku6EPyXOBEPTKA+
5
+Ku6EPyXOBEPTKA+
= Major =
Next rank: Lieutenant Colonel after 203 pointsМодератор форума
3087

Doom Rate: 2.03

Posts quality: +1546
Ссылка на пост №1447 Отправлено: 31.07.25 19:49:06
Герр Смертоносец
У меня массив данных с именами изображений и номерами позиций и их ~37400 + к каждому ещё свойства 3 штуки (хотя на самом деле планировалось около 10-12 в общей сумме). В итоге матрица 37400х4. Через cvar кстати теоретически хорошая идея. Я думаю даже проще сразу генерировать ini файл (или CVARINFO) с массивом и просто обращаться к переменным, которые пишутся в нём (дать им какое-то обще имя и номер). Только вот беда, ini файл нужно будет отдельный генерить и привязать его как-то через autoexec, иначе просто усрёт существующий файл конфигурации + повторная генерация усрёт свеже сгенерированный файл, а значит в генераторе надо писать целую пачку кода на чтение этой херни по типу проверки на стоп слово. Но это будни программистского онанизма, они уже мало кого волнуют.

CVARINFO наверно более подходит.

А что касаемо библиотек, как их связать то между собой, есть варианты? Просто было бы проще, если можно было распихать по несколько библиотек и делать свитч с массива на массив при достижении верхнего предела (геморрно, но вполне реализуемо). Вот только беда, если компилить .o то ACC посылает на вертолёт, и говорит что в душе не дрюнькает, к какому такому массиву заставляют обращаться. #include не помог, хотя надежды были. Может просто делаю что-то не так. Я вот думаю: а zcommon.acs тоже ведь как-то собирается. Может там есть вариант объявлять?

Хотя может быть всё гораздо прозаичнее и это в принципе хард лимит в 32к и потом куда не пихай везде будет вылетать с фаталом - очередная утка с проверками.
2 1 7
unnamed_profile
Recruit
Next rank: Recruit after 6 points
4

Doom Rate: 2

Ссылка на пост №1448 Отправлено: 03.08.25 21:30:47
Доброго времени суток, джентельмены. Извиняйте за сумбур, сразу несколько вопросов накидаю.

1) Хочу сделать свой мод на GZDoom, не просто мапу а замахнулся на целый total conversion. Есть ли смысл вкатываться с абсолютно нулевыми познаниями в программировании и пиксель-арте? Я обычный человек с работой и кучей всяких дел, поэтому могу только в свободное время (коего мало) заниматься этим как хобби. Такое реализуемо или без базы по программированию ловить нечего?

2) Можно ли делать мапы на GZDoom взяв за основу brutal doom?
Я пробовал реализовать какие-то свои идеи, стоит чему-то получиться как тут же возникает ещё более сложный вызов, с которым непонятно что делать и у меня порой опускаются руки, поэтому на всякий пожарный я прикинул вариант просто делать для себя мапы и гонять по ним в брутале. Попробовал загрузить брутал в GZDoom Builder и мапить на его основе и у меня вылезло 280+ всяких ошибок и предупреждений.

3) Каким образом можно сделать анимацию стрельбы и ударов более быстрой и динамичной?
Shadowman
UAC General
Next rank: Unavailable after 0 points
8814

Doom Rate: 2.05

Posts quality: +2314
Ссылка на пост №1449 Отправлено: 03.08.25 21:42:36
unnamed_profile пишет:
Хочу сделать свой мод на GZDoom, не просто мапу а замахнулся на целый total conversion. Есть ли смысл вкатываться с абсолютно нулевыми познаниями в программировании и пиксель-арте? Я обычный человек с работой и кучей всяких дел, поэтому могу только в свободное время (коего мало) заниматься этим как хобби.

Для начала советую просто освоить дум билдер и сделать пару-тройку обычных карт для дума - без добавления новых врагов, текстур, музыки. Потренироваться в картостроении, понять базовые принципы, как работают экшены и т.п.
Потом можно научиться добавлять новые текстуры, заменять спрайты стандартных объектов (без замены их поведения).
А вот потом уже можно приступать к тотал конверсиям. Знание программирования не требуется для простых случаев, вся механика описано в zdoom wiki
Но надо будет определиться с форматом. Если тотал конверсия - то это на 99,9% здум/гздум.
unnamed_profile пишет:
2) Можно ли делать мапы на GZDoom взяв за основу brutal doom?

Можно, но категорически не советую. Лучше выкинуть богомерзкий брутал дум нафиг, делать нормальные карты для обычного дума (и гздума). Брутал дум только уведет в сторону от истинного творчества.
unnamed_profile пишет:
3) Каким образом можно сделать анимацию стрельбы и ударов более быстрой и динамичной?

См. ссылку выше по здум вики. В классике тоже можно, но там через дехакед регулируется длительность состояний анимаций. И для начинающего возня с дехакедом на мой взгляд сложнее, чем прописывание кода по стандарту в здуме.
1 7 2
unnamed_profile
Recruit
Next rank: Recruit after 6 points
4

Doom Rate: 2

Ссылка на пост №1450 Отправлено: 03.08.25 22:24:26
Shadowman пишет:
Для начала советую просто освоить дум билдер и сделать пару-тройку обычных карт для дума


Можно сказать, что этот пункт выполнен. До того как прийти сюда за советами я пытался самостоятельно инфу искать и пробовать. Немного разобрался с азами билдера, пробовал и скрипты всякие прописывать и диалоги строить. В общем, микроскопическое представление имею.

Shadowman пишет:
Брутал дум только уведет в сторону от истинного творчества


Можно подробнее развернуть эту тему? Почему уводит от творчества?

Я просто брутал дум хотел использовать из-за других текстур оружия (они мне как-то больше нравятся) и той самой динамики стрельбы. Ванильная стрельба воспринимается как слайд-шоу, я хоть и застал времена когда родители ругались что приставка "посадит" телек, но сейчас уже некоторые моменты в старых играх тяжелы на восприятие, не могу с тем же интересом играть как раньше. Хочется придать немного современности, так скажем.

По поводу стрельбы вот как раз с дехакедом и возился, даже успешно, потом уехал по делам на неделю и по прибытию вообще забыл что за танец с бубном я исполнял. Вот и поинтересовался, вдруг еще есть какие методы.

Спасибо за наводку на wiki
Герр Смертоносец
- Warrant Officer -
Next rank: = Warrant Officer = after 49 points
1091

Doom Rate: 1.34

Posts quality: +959
Ссылка на пост №1451 Отправлено: 04.08.25 07:02:10
unnamed_profile
unnamed_profile пишет:
1) Хочу сделать свой мод на GZDoom, не просто мапу а замахнулся на целый total conversion. Есть ли смысл вкатываться с абсолютно нулевыми познаниями в программировании и пиксель-арте? Я обычный человек с работой и кучей всяких дел, поэтому могу только в свободное время (коего мало) заниматься этим как хобби. Такое реализуемо или без базы по программированию ловить нечего?

Смотря какой тотал конвершен. Одно дело шкурки монстрам заменить и чуть-чуть поменять здоровье с уроном. Другое дело нахреначить многоэтажные декорейт-конструкции с ветвящимися стейтами и подключением ACS. Третье дело - изнасиловать движок зскриптом, переписав большую часть игровой физики и лирики. Это как бы настолько разные уровни понимания, что общего ответа на этот вопрос быть не может.
unnamed_profile пишет:
2) Можно ли делать мапы на GZDoom взяв за основу brutal doom?

Можно, но не нужно. С точки зрения кода брутал дум это каша говна, которую и просто так надо чистить. А уж чтобы под это маппить - надо ещё и билдер настроить со всеми зависимостями, чтобы ничего нигде не отвалилось, эдиторкеи прописать, номера в MAPINFO. Профан это делать затрахается.
Для начала надо сделать просто обычную карту. Потом удалить от омерзения и снова сделать, пока перфекционизм не будет удовлетворён. Когда просто карты начнут получаться легко и без фатальных глюков - попробовать вкорячить что-нибудь отсюда, только без фанатизма. И вот когда ковыряние в чужом коде станет привычным делом - уже можно думать о какой-то там интеграции с модами.
unnamed_profile пишет:
3) Каким образом можно сделать анимацию стрельбы и ударов более быстрой и динамичной?

Для начала понять, как эта анимация вообще устроена. Вот исходный код пулемёта, например. Имеем фрейм (4 символа + буква кадра) и время фрейма. Чем короче время - тем быстрее анимация. Если фреймов для гладкости не хватает - промежуточные придётся дорисовывать руками и вставлять в нужные места.


+Ku6EPyXOBEPTKA+
+Ku6EPyXOBEPTKA+ пишет:
А что касаемо библиотек, как их связать то между собой, есть варианты? Просто было бы проще, если можно было распихать по несколько библиотек и делать свитч с массива на массив при достижении верхнего предела (геморрно, но вполне реализуемо). Вот только беда, если компилить .o то ACC посылает на вертолёт, и говорит что в душе не дрюнькает, к какому такому массиву заставляют обращаться. #include не помог, хотя надежды были. Может просто делаю что-то не так. Я вот думаю: а zcommon.acs тоже ведь как-то собирается. Может там есть вариант объявлять?

С точки зрения компилятора на сколько файлов ты проект ни разбивай - он всё равно считает это единым монолитным кодом. И если в каком-то месте код ссылается на необъявленную переменную или необъявленную функцию, при компиляции будет ошибка. Связать из можно только косвенно: библиотека1 спавнит актора1, актор1 делает CallACS-вызов в библиотеку2. При компиляции библиотеки1 компилятору будет вообще наплевать, существует ли библиотека2.

Как это оптимальнее делать в твоём случае - тут уже надо смотреть, что именно твои массивы делают, по какому принципу организованы, и как процедурно выглядит выбирание этих изображений. Возможно, эти массивы выгоднее изначально перенести в декорейт/зскрипт, где таковых ограничений нет, а в ACS оставить только логику.
5
Dmitry1010
Recruit
Next rank: Recruit after 8 points
2

Doom Rate: 2

Ссылка на пост №1452 Отправлено: 13.08.25 21:25:34
Здравствуйте, думеры/моддеры/мапперы

У меня вопрос:
Как работать с MBF21 и главное как его добавить в WAD/PK3? (Извините сразу, могу быть глуп, я просто делаю впервые такое.)
+Ku6EPyXOBEPTKA+
= Major =
Next rank: Lieutenant Colonel after 203 pointsМодератор форума
3087

Doom Rate: 2.03

Posts quality: +1546
Ссылка на пост №1453 Отправлено: 13.08.25 21:57:24
Герр Смертоносец пишет:
Связать из можно только косвенно: библиотека1 спавнит актора1, актор1 делает CallACS-вызов в библиотеку2. При компиляции библиотеки1 компилятору будет вообще наплевать, существует ли библиотека2.

Такое ощущение, что мой ответ потерялся, поэтому напишу на всякий, кому-то может пригодится. В обще можно разбить на несколько ACS библиотек. Для этого нужно одну из библиотек сначала без #library и #include оставить как текстовой файл и в компилящейся библиотеке просто прописать #include "имя файла.txt", а потом из txt сделать вторую библиотеку прописав внутри #library и #include. Тогда первая библиотека скомпилится без проблем. А вторая будет подгружаться отдельно. Только вот смысла в этом нет. Всё равно лимит не обойти похоже, поскольку при компиле просто будет подгружаться текст кода из другого файла, но по факту код общий.
2 1 7
BeeWen
Lieutenant Colonel
Next rank: Lieutenant Colonel after 78 pointsСупермодератор форума
3562

Doom Rate: 1.59

Posts quality: +954
Ссылка на пост №1454 Отправлено: 14.08.25 00:08:06
Dmitry1010 пишет:
Как работать с MBF21 и главное как его добавить в WAD/PK3?

Это название одного из форматов для создания карт в редакторе. Который записывает эту карту в WAD-файл и который в свою очередь представляет собой совокупность ресурсов игры (озвучку, текстуры и специальные маркеры) PK3 это по сути архив, в котором можно хранить кучу WAD-файлов с различными ресурсами, а так же скриптовые файлы и другие папки с ресурсами, порт всё это должен читать и запускать соответственно в игре.
Работать с MBF21 примерно так же, как и с остальными форматами, нужно смотреть и запоминать различные функции назначения активации триггеров и стараться построить их логическое взаимодействие на своей карте.

Рейтинг сообщения: +1, отметил(и): Dmitry1010
1 1 1
Герр Смертоносец
- Warrant Officer -
Next rank: = Warrant Officer = after 49 points
1091

Doom Rate: 1.34

Posts quality: +959
Ссылка на пост №1455 Отправлено: 14.08.25 04:18:37
+Ku6EPyXOBEPTKA+ пишет:
Такое ощущение, что мой ответ потерялся, поэтому напишу на всякий, кому-то может пригодится. В обще можно разбить на несколько ACS библиотек. Для этого нужно одну из библиотек сначала без #library и #include оставить как текстовой файл и в компилящейся библиотеке просто прописать #include "имя файла.txt", а потом из txt сделать вторую библиотеку прописав внутри #library и #include. Тогда первая библиотека скомпилится без проблем. А вторая будет подгружаться отдельно. Только вот смысла в этом нет. Всё равно лимит не обойти похоже, поскольку при компиле просто будет подгружаться текст кода из другого файла, но по факту код общий.

Всё, что стыкуется через #include - это действительно общий код. Компилятор берёт простыню кода, находит в ней ссылку "include" и вставляет туда другую простыню кода из файла по ссылке. И только потом объединённую простыню компилирует. В таком виде это действительно никак не обойти. (Правда, могут быть нюансы с версиями ACC компилера. Их много, может в позднейших лимит другой.) Однако, если у либ нет взаимных зависимостей - никакие #include и не нужны. Просто подключаешь их независимо через LOADACS, как будто это несколько отдельных модов. В таком виде их можно подключить хоть тысячу штук. И перекрёстные вызовы обходными путями при этом всё ещё можно сделать.
5
Михер
Recruit
Next rank: Recruit after 8 points
2

Doom Rate: 2

Ссылка на пост №1456 Отправлено: 15.08.25 13:23:16
Как сделать монстра агрессивным ко всем вокруг? :crazy:
camper
- Sergeant Major -
Next rank: = Sergeant Major = after 12 points
588

Doom Rate: 1.44

Posts quality: +310
Ссылка на пост №1457 Отправлено: 15.08.25 15:05:57
Dmitry1010 пишет:
PK3

Не во всех портах оно работает. Как и (p)wad могут быть специфическими и работать только в определенных портах. В качестве примера и эксперимента для порта zandronum запаковал ресурсы doom shareware в архив, расширение оставил обычным, но можно изменить на pk3. Структура архива как раз такая, как нужна для движка zandronum (или gzdoom, но из-за того, что в нем не поддерживается пространство имен doom в udmf, пак нормально работать в гоззе не будет).

https://www.mediafire.com/file/dcph21eqizk9s52/udmfdoom1.zip/file

Добавлено спустя 1 минуту 35 секунд:

запуск в командной строке: zandronum.exe -iwad udmfdoom1.zip
1
Герр Смертоносец
- Warrant Officer -
Next rank: = Warrant Officer = after 49 points
1091

Doom Rate: 1.34

Posts quality: +959
Ссылка на пост №1458 Отправлено: 15.08.25 20:07:18
Михер пишет:
Как сделать монстра агрессивным ко всем вокруг? :crazy:

Если по-простому, то постоянно включай и выключай ему FRIENDLY флаг, чтобы он принимал в AAPTR_TARGET и игрока, и окружающих мобов. Если цель уже принята - включение FRIENDLY флага атаку не сбросит.
Если по-сложному, то через эту фичу. Там всё гибче можно настроить.
5
Страница 73 из 73Перейти наверх Пред.  1, 2, 3 ... 71, 72, 73
   Список разделов - Местечко мапперов и моддеров - Тема для новичков. Вопросы по маппингу/моддингу - любые!-2