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 42 points
5298

Doom Rate: 1.79

Posts quality: +1211
Ссылка на пост №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: = Master Corporal = after 20 points
220

Doom Rate: 1.51

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

Doom Rate: 1.79

Posts quality: +1211
Ссылка на пост №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 44 points
1396

Doom Rate: 2.27

Posts quality: +775
Ссылка на пост №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
8990

Doom Rate: 2.02

Posts quality: +2531
Ссылка на пост №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 44 points
1396

Doom Rate: 2.27

Posts quality: +775
Ссылка на пост №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: = Master Corporal = after 20 points
220

Doom Rate: 1.51

Posts quality: +119
Ссылка на пост №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
8990

Doom Rate: 2.02

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

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

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

Doom Rate: 1.39

Posts quality: +386
Ссылка на пост №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
= Sergeant Major =
Next rank: UAC Sergeant Major after 2 points
678

Doom Rate: 1.97

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

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

Doom Rate: 1.33

Posts quality: +1014
Ссылка на пост №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 6 points
674

Doom Rate: 1.39

Posts quality: +386
Ссылка на пост №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
= Sergeant Major =
Next rank: UAC Sergeant Major after 2 points
678

Doom Rate: 1.97

Posts quality: +321
Ссылка на пост №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 15 points
1125

Doom Rate: 1.33

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

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


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

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

Рейтинг сообщения: +1, отметил(и): camper
5
camper
= Sergeant Major =
Next rank: UAC Sergeant Major after 6 points
674

Doom Rate: 1.39

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

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


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

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

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


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