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

Doom Rate: 1.79

Posts quality: +1212
Ссылка на пост №1481 Отправлено: 18.01.26 02:58:02
McMare / JSO_x — Вчера, в 14:58
Анонсирую альфа-версию русскоязычного руководства по ZScript https://zscript-rus-manual.readthedocs.io/latest/SUMMARY/ — наиболее полного руководства на понятном языке сегодняшний день!

Не все статьи сейчас написаны, но это значит только то, что есть шанс их написать (...потому что за семь лет уже выяснилось, что в одиночку или малой командой с таким объёмом справиться трудно, куда быстрее наступает перегорание идеи). Также важна обратная связь, отзывы по понятности, корректура, редактура и в принципе полезные мысли на этот счёт. Писать можно куда угодно, где информация не потеряется: и в личные сообщения, и в ⁠modding, и в основной канал разработки — ⁠Русскоязычный мануал по ZScript… https://discord.com/channels/277353330232131585/1457079053071810562 , и, конечно, сразу в GitHub issues https://github.com/LLDM-Doom-Modding/zscript_rus_manual/issues .

Если есть возможность помочь — можно написать мне или кому-нибудь из контрибьютеров, или прийти в команду, или создать PR в https://github.com/LLDM-Doom-Modding/zscript_rus_manual/ https://github.com/LLDM-Doom-Modding/zscript_rus_manual/ . Можно отправлять текстовые файлы просто в л/с, но при необходимости могу провести краткий ликбез по использованию GitHub. Любая помощь приветствуется!

Рейтинг сообщения: +3, отметил(и): Shadowman, Zeberpal_98, Michael_63
4 1
Michael_63
= Master Corporal =
Next rank: - Sergeant - after 46 points
244

Doom Rate: 1.54

Posts quality: +123
Ссылка на пост №1482 Отправлено: 18.01.26 09:07:19
А что, сам JSO_x данный форум покинул?
theleo_ua
- Commissar -
Next rank: = Commissar = after 32 points
5308

Doom Rate: 1.79

Posts quality: +1212
Ссылка на пост №1483 Отправлено: 18.01.26 12:15:48
Michael_63 пишет:
А что, сам JSO_x данный форум покинул?


theleo_ua — Вчера, в 16:20
большое спасибо за гайд!

Ты скинул его на форум iddqd ?

McMare / JSO_x — Вчера, в 21:44
Вот пока нет, так как следить за массой разных форумов и серверов, когда у тебя почти всё время по часам расписано — это сложно. В будущем отправлю обязательно!

Рейтинг сообщения: +2, отметил(и): JSO x, Michael_63
4 1
JSO x
- 2nd Lieutenant -
Next rank: = 2nd Lieutenant = after 40 points
1400

Doom Rate: 2.27

Posts quality: +778
Ссылка на пост №1484 Отправлено: 18.01.26 16:01:49
Я здесь! Да, хотел попозже официальный анонс сделать.

Сейчас руководство расположено на сайте https://zscript-rus-manual.readthedocs.io/latest/SUMMARY/, репозиторий — в https://github.com/LLDM-Doom-Modding/zscript_rus_manual/. Если есть возможность помочь (или даже просто дать обратную связь) — будет прекрасно!

Об ошибках можно сообщать в GitHub issues; через личные сообщения мне или кому-нибудь, кто может исправить; на Russian Doom Discord Community; или где-нибудь ещё, где сообщение не будет потеряно.

Рейтинг сообщения: +1, отметил(и): Michael_63
2 8 1
Shadowman
UAC General
Next rank: Unavailable after 0 points
9006

Doom Rate: 2.02

Posts quality: +2537
Ссылка на пост №1485 Отправлено: 18.01.26 16:05:38
theleo_ua пишет:
Анонсирую альфа-версию русскоязычного руководства по ZScript

Отличная новость! Может, сумею наконец разобраться в зскриптах на смену декорэйту.
Но что-то у вас там пока страницы пустые. Простой актор-противник - нет описания, Улучшенное поведение актора-противника - нет описания...

Рейтинг сообщения: +1, отметил(и): Michael_63
1 8 2
JSO x
- 2nd Lieutenant -
Next rank: = 2nd Lieutenant = after 40 points
1400

Doom Rate: 2.27

Posts quality: +778
Ссылка на пост №1486 Отправлено: 18.01.26 16:09:30
Shadowman пишет:
Но что-то у вас там пока страницы пустые. Простой актор-противник - нет описания, Улучшенное поведение актора-противника - нет описания...

Да, пока там далеко не всё есть. Семь лет я с небольшими командами делал его с очень переменным успехом, но, поняв, что так будем писать до скончания века, полгода назад решился открыть наработки всему миру.

Попробую за сегодня что-нибудь в те разделы добавить.

Добавлено спустя 7 часов 23 минуты 43 секунды:

JSO x пишет:
Попробую за сегодня что-нибудь в те разделы добавить.

Добавил наработки по статьям "2.1. Из чего состоит проект" и "2.2. Простой декоративный актор". Позже нужно будет их дописать и, возможно, немного переименовать.

Да, дальше в "Тему для новичков" по поводу обновлений не буду писать, чтобы не засорять её. Полноценный анонс, наверное, сделаю где-то через неделю-две.

Честно говоря, надеюсь, что за это время подтянется ещё кто-нибудь.

Рейтинг сообщения: +4, отметил(и): BeeWen, RastaManGames, RaRu Des2122, Michael_63
2 8 1
Michael_63
= Master Corporal =
Next rank: - Sergeant - after 46 points
244

Doom Rate: 1.54

Posts quality: +123
Ссылка на пост №1487 Отправлено: 19.01.26 10:23:46
Прочитал 2.2.

1) В начале, наверное, опечатка: дымок от пути (от пули?).

2) Предполагаю, что некоторых тормознёт то место, где описываются стейты. Уже предполагается, что пользователь как-то пощупал внутренности Дума и худо-бедно знает Decorate или Decohack? Если нет, то он не знает, что такое TLP и что там за буквы и цифры после этого. Может быть, стоит кратко пояснить.
UPD: а, я понял, это пока в TODO.

3) В статье описано, как заменить существующий актор. А как всё-таки полноценно описать новый, чтобы в редакторе уровней был новый объект? Или для этого будет отдельная статья?

В целом спасибо за труды. Когда-нибудь может и мне пригодится.

Рейтинг сообщения: +1, отметил(и): JSO x
Shadowman
UAC General
Next rank: Unavailable after 0 points
9006

Doom Rate: 2.02

Posts quality: +2537
Ссылка на пост №1488 Отправлено: 19.01.26 11:58:55
JSO x пишет:
Да, дальше в "Тему для новичков" по поводу обновлений не буду писать, чтобы не засорять её. Полноценный анонс, наверное, сделаю где-то через неделю-две.

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

Рейтинг сообщения: +1, отметил(и): Michael_63
1 8 2
camper
= Sergeant Major =
Next rank: UAC Sergeant Major after 4 points
676

Doom Rate: 1.39

Posts quality: +387
Ссылка на пост №1489 Отправлено: 21.01.26 16:23:41
Как можно рандомизировать и разбрасывать модели гиббов (кусков мяса) для actor meat (является стандартным для strafe)
Я его использую для xdeath таким образом:
Скрытый текст:


XDeath1:
		NULL A 0 A_XScream
		NULL A 0 A_TossGib
		NULL A 0 A_TossGib
		NULL A 0 A_TossGib
		NULL A 0 A_TossGib
		NULL A 0 A_TossGib
		NULL A 0 A_TossGib
		NULL A -1
		Stop


A_TossGib создает куски мяса случайным образм из набора спрайтов (один кусок на один A_TossGib).

Я сделал код модели для спрайтов мяса, но он у меня создает гибб слипшийся из стрех моделей.
Вот код:
Model meat
{
   Path "models/meat/gib01" 
   Model 0 "gib01.md2" 
   Skin 0 "gib01.png"
   Path "models/meat/gib02"
   Model 1 "gib02.md2" 
   Skin 1 "gib02.png"
   Path "models/meat/gib03"
   Model 2 "gib03.md2" 
   Skin 2 "gib03.png"
   Scale 2.0 2.0 2.0
   Offset 0 0 0
   
   PitchFromMomentum
   
   FrameIndex MEAT A 0 0
   
   FrameIndex MEAT B 1 0
   
   FrameIndex MEAT C 2 0
   
   FrameIndex MEAT D 0 0
   
   FrameIndex MEAT E 1 0
   
   FrameIndex MEAT F 2 0
    
   FrameIndex MEAT G 0 0

   FrameIndex MEAT H 1 0
   
   FrameIndex MEAT I 2 0

   FrameIndex MEAT J 0 0
   
   FrameIndex MEAT K 1 0
   
   FrameIndex MEAT L 2 0
   
   FrameIndex MEAT M 0 0
   
   FrameIndex MEAT N 1 0
   
   FrameIndex MEAT O 2 0
   
   FrameIndex MEAT P 0 0

   FrameIndex MEAT Q 1 0
   
   FrameIndex MEAT R 2 0
   
   FrameIndex MEAT S 0 0
   
   FrameIndex MEAT T 1 0
}


Таким образм при A_TossGib создается, например один MEAT P, но он состоит из кусков gib01, gib02, и gib02 в одной куче.


Как можно сделать так, что один спрайт MEAT заменялся одной моделью gib случайным образом?

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

картинки, как это выглядит сейчас
Скрытый текст:

1
SilverMiner
UAC Sergeant Major
Next rank: UAC Sergeant Major after 78 points
682

Doom Rate: 1.97

Posts quality: +322
Ссылка на пост №1490 Отправлено: 21.01.26 19:06:33
попробуй актора который заменяет meat, и в нём на спавне рандомные прыжки со спавном других акторов

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

Doom Rate: 1.34

Posts quality: +1023
Ссылка на пост №1491 Отправлено: 21.01.26 19:10:21
camper
В декорейте/зскрипте нужон рандомизатор через стандартную random(a,b) функцию. Нижеизложенный актор многоликий рандомно приобретает один из нескольких видов.

Скрытый текст:

ACTOR RandomGavno
{
  Radius 4
  Height 8
  +SOLID
  States
  {
  Spawn:
    GVNO A 0
    GVNO A 0 A_Jump(256,random(1,7))
    GVNO A -1
    Stop
  Gavno2:
    GVNO B -1
    Stop
  Gavno3:
    GVNO C -1
    Stop
  Gavno4:
    GVNO D -1
    Stop
  Gavno5:
    GVNO E -1
    Stop
  Gavno6:
    GVNO F -1
    Stop
  Gavno7:
    GVNO G -1
    Stop
  }
}



В моделдефе каждый спрайт расписать отдельно:
Скрытый текст:

Model "RandomGavno"
{
	Path "models/RandomGavno"
	Model 0 "Gavno0.md2"
	Skin 0 "Gavno0.jpg"
	Scale 6.66 9.11 14.88
	Frame GVNO A 0 "frame0"
}

Model "RandomGavno"
{
	Path "models/RandomGavno"
	Model 0 "Gavno1.md2"
	Skin 0 "Gavno1.jpg"
	Scale 6.66 9.11 14.88
	Frame GVNO B 0 "frame0"
}

Model "RandomGavno"
{
	Path "models/RandomGavno"
	Model 0 "Gavno2.md2"
	Skin 0 "Gavno2.jpg"
	Scale 6.66 9.11 14.88
	Frame GVNO C 0 "frame0"
}

///И.т.д.



А все эти model1 и model2 это не про переключение спрайтов. Они нужны чтобы собирать модель из кусков, поскольку часто они исходно и состоят из кусков. Допустим, отдельно мужик, отдельно ружьё, а вместе получается мужик с ружьём, и всё это - подмена отдельно взятому спрайту.

Рейтинг сообщения: +2, отметил(и): JSO x, camper
5
camper
= Sergeant Major =
Next rank: UAC Sergeant Major after 4 points
676

Doom Rate: 1.39

Posts quality: +387
Ссылка на пост №1492 Отправлено: 25.01.26 14:50:03
SilverMiner пишет:
попробуй актора который заменяет meat

Герр Смертоносец пишет:
В декорейте/зскрипте нужон рандомизатор через стандартную random(a,b) функцию.


Пришлось два раза вкурить "декорейт для чайников", чтобы понять что вы написали ;-)

Вроде надо для нового декорейта писать
actor gib : meat
?

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

Зандронум просто вылетел с ошибкой, когда я написал такой код для начала:
ACTOR gibb : Meat REPLACES Meat
{
  +NOCLIP
  States
  {
  Spawn:
    GIBB A 700
    Stop
    
  }
}


И нарисовал спрайт GIBBA0.png

Походу проблема в движке.
1
SilverMiner
UAC Sergeant Major
Next rank: UAC Sergeant Major after 78 points
682

Doom Rate: 1.97

Posts quality: +322
Ссылка на пост №1493 Отправлено: 25.01.26 15:53:44
Actor maesospawner : meat replaces meat
	{
	States
	{
	Spawn:
		TNT1 A 0 A_Jump(42,"RndLabel_1")
		TNT1 A 0 A_Jump(42,"RndLabel_2")
		TNT1 A 0 A_Jump(42,"RndLabel_3")
		stop
	RndLabel_1:
		TNT1 A 8 A_SpawnItemEx("maeso1",0.0,0.0,0.0,1.0,0.0,2.8,0.0,1049600)
		stop
	RndLabel_2:
		TNT1 A 8 A_SpawnItemEx("maeso2",0.0,0.0,0.0,0.0,1.0,2.6,0.0,1049600)
		stop
	RndLabel_3:
		TNT1 A 8 A_SpawnItemEx("maeso3",0.0,0.0,0.0,1.0,1.0,2.4,0.0,1049600)
		stop
	}
}

Я думаю надо избежать страйфового мяса и не юзать его кодепоинтер, раз уж крашит. Спавнь сам своё мясо

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

Doom Rate: 1.34

Posts quality: +1023
Ссылка на пост №1494 Отправлено: 25.01.26 22:26:18
camper пишет:
Вроде надо для нового декорейта писать

Объявление актора в decorate состоит из трёх частей, из которых обязательна только первая.
Actor Имя_актора //просто создаём новый актор с нуля.
Actor Имя_актора : Родительский_класс //создаём новый актор, наследуя характеристики от какого-то другого (в таком случае часть их можно не прописывать).
Actor Имя_актора replaces Кого_он_заменяет //создаём актор с нуля и заменяем им какой-то имеющийся.
Actor Имя_актора : Родительский_класс replaces Кого_он_заменяет //создаём новый актор, наследуя характеристики, и заменяем им какой-то имеющийся.


Если актор с тем же именем уже где-то существует (в том числе в недрах gzdoom.pk3) - будет ошибка. Переобъявлять их нельзя. Заменять можно. При замене они всё равно остаются объявленными.
Если родительского класса или заменяемого класса не существует, а они прописаны - тоже будет ошибка.
Если у наследуемого класса какой-то фундаментальный конфликт с родительским (допустим, есть ссылка на стейт, отсутствующий у родительского) - тоже возможны ошибки.

Ошибки приучаемся читать и понимать их смысл. У здума компилятор человеколюбивый. Не посылает тебя на непонятный 0x0000FF, а заботливо пишет имя дефективного лумпа, номер дефективной строчки и что именно с ней не в порядке.

Рейтинг сообщения: +2, отметил(и): JSO x, camper
5
camper
= Sergeant Major =
Next rank: UAC Sergeant Major after 4 points
676

Doom Rate: 1.39

Posts quality: +387
Ссылка на пост №1495 Отправлено: 26.01.26 00:41:35
SilverMiner пишет:
Спавнь сам своё мясо

Герр Смертоносец пишет:
Заменять можно.


Получилось! Принципиально работает.
Скрытый текст:

ACTOR gibb REPLACES Meat
{
  +NOCLIP
  States
  {
  Spawn:
    GIBB A 700
    Stop
    
  }
}

Этот код заработал как надо. При разрыве появляются именно куски одного вида (пока). Дальше понятно как делать.


Спасибо!

Рейтинг сообщения: +1, отметил(и): JSO x
1
Michael_63
= Master Corporal =
Next rank: - Sergeant - after 46 points
244

Doom Rate: 1.54

Posts quality: +123
Ссылка на пост №1496 Отправлено: 27.01.26 21:32:26
Может ли редактор Ultimate Doom Builder читать небо из Umapinfo? Я в своей карте сделал кастомное небо, добавил эту текстуру в PNAMES и TEXTURE1 (которые перед этим скопировал из PLUTONIA.WAD), и в UMAPINFO добавил строчку

skytexture = "SKYMOON"

При запуске карты (в GZDoom) небо отображается как надо, но в редакторе я вижу стандартное плутониевское небо из первого эпизода. Можно ли это поправить без костылей?

Добавлено спустя 2 часа 26 минут 56 секунд:

Решение с мелким костылём есть: если UMAPINFO продублировать обычным MAPINFO (хотя бы временно, пока карта в разработке), то из MAPINFO редактор прекрасно читает, каким должно быть небо. Неужели из UMAPINFO не может?
camper
= Sergeant Major =
Next rank: UAC Sergeant Major after 4 points
676

Doom Rate: 1.39

Posts quality: +387
Ссылка на пост №1497 Отправлено: 06.02.26 22:28:49
Какие типы моделей, кроме воксельных (kvx) можно непосредственно указывать в DECORATE без использования MODELDEF, как, для примера, сделано в этом wad https://files.catbox.moe/txk66n.zip (в архиве)?
Можно ли сделать также трехмерные модели выключателей в формате, например, obj?

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

Для портов gzdoom, zandronum
1
Герр Смертоносец
- Warrant Officer -
Next rank: = Warrant Officer = after 1 points
1139

Doom Rate: 1.34

Posts quality: +1023
Ссылка на пост №1498 Отправлено: 06.02.26 23:16:26
camper пишет:
Какие типы моделей, кроме воксельных (kvx) можно непосредственно указывать в DECORATE без использования MODELDEF

Никакие. Модель это чужеродная 2.5d-движку сущность, требующая прописывать пути и кейфреймы под каждый стейт. А воксель с точки зрения движка это обычный плоский спрайт (если точнее - заархивированная слойка из спрайтов). То, что OpenGL автоматически перегоняет эту слойку в очень тяжёлую и неоптимизированную 3д-модель, сути не меняет.
camper пишет:
Можно ли сделать также трехмерные модели выключателей в формате, например, obj?

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