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

Doom Rate: 1.8

Posts quality: +1032
Ссылка на пост №421 Отправлено: 16.12.17 03:14:38
aivar242:
theleo_ua
ВОТ

Код с непрозрачностью, применил только на Soul сфере. Остальные пока не трогал. Со скоростью передвижения сфер, более менее понятно, вполне устраивает с 6-кой, пока.


Глянул твой мод:

1) 6 и 36 у меня ведут себя одинаково
2) У тебя в моде какого-то черта старая версия ACS скрипта, которая просто не умела в параметр 6 (она его вообще игнорила), и вращала сферу к игроку раз в 6 тиков

Вот какой скрипт в твоем моде:

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


script "FaceAngleAndPitchToPlayer" (void)
{

int distx = GetActorX(PlayerTID)-GetActorX(0);
int disty = GetActorY(PlayerTID)-GetActorY(0);
int distz = GetActorZ(PlayerTID)-GetActorZ(0);

ChangeActorAngle(0 , VectorAngle(distx, disty), true);
ChangeActorPitch(0 , VectorAngle(VectorLength(distx, disty), -distz), true);


SetResultValue(1);

}//script "FaceAngleAndPitchToPlayer" (void)



А вот правильная версия скрипта, взятая с ТВОЕГО ПРЕДЫДУЩЕГО МОДА, который ты мне когда-то кидал что-то там тестить:

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


script "FaceAngleAndPitchToPlayer" (int TicsCount)
{

SetResultValue(1);

for (int I = 1; I <= TicsCount; I++)
{

int distx = GetActorX(PlayerTID)-GetActorX(0);
int disty = GetActorY(PlayerTID)-GetActorY(0);
int distz = GetActorZ(PlayerTID)-GetActorZ(0);

ChangeActorAngle(0 , VectorAngle(distx, disty), true);
ChangeActorPitch(0 , VectorAngle(VectorLength(distx, disty), -distz), true);

Delay(1);

}//for (int I = 1; I <= TicsCount; I++)

//SetResultValue(1);

}//script "FaceAngleAndPitchToPlayer" (void)



Я взял, заменил у тебя в TEST.ACS на корректную версию скрипта (не забыв запустить батник для перекомпиляции файла TEST.O ), и все стало плавно при значении 6 в декорейте

На всякий случай, выкладываю тебе то, что ты должен кинуть себе в папку ACS, заменяя те файлы что там есть: ACS 6 36 FIX

На будущее, будь внимательней!

Рейтинг сообщения: +1, отметил(и): aivar242
3 1
aivar242
- 2nd Lieutenant -
Next rank: = 2nd Lieutenant = after 32 points
1408

Doom Rate: 1.64

Posts quality: -18
Ссылка на пост №422 Отправлено: 16.12.17 17:49:43
theleo_ua:
На будущее, будь внимательней!

Как я могу быть внимательней, если я не шарю в ACS? Только что от тебя узнал, что был - хороший код, стал - плохим. Немало удивлён конечно, где это я плохой подцепил?

P.S. Только что проверил - у меня то же самое. Небольшие подёргивания. Ну да ладно, это не критично.

Как быстро обучиться и ПОНЯТЬ этот ACS скрипт? Не подскажешь? Гайд выше был представлен, он у меня есть, но мне кажется он не для начинающих, а тех, кто уже понимает что к чему.

Рейтинг сообщения: -1, отметил(и): VladGuardian
theleo_ua
= Colonel =
Next rank: - Commissar - after 90 points
4800

Doom Rate: 1.8

Posts quality: +1032
Ссылка на пост №423 Отправлено: 16.12.17 20:50:48
aivar242:
Как я могу быть внимательней, если я не шарю в ACS?


Как минимум - старайся сделать так, чтобы версия файла TEST.ACS, которую я тебе кидал 2 года назад, на заменила собою версию файла TEST.ACS, которую я тебе кидал 1 год назад

aivar242:
Только что от тебя узнал, что был - хороший код, стал - плохим. Немало удивлён конечно, где это я плохой подцепил?


"Плохой" код - это код, который был до того момента, как у тебя начались проблемы с подергиванием сферы еще около года назад (время говорю от балды, точное лень смотреть). "Хороший" код - это код, которым я обновил тебе "плохой" код 2 года назад, чтобы твои сферы перестали дергаться

Каким образом получилось так, что ты заменил новую версию кода старой версией - одному аллаху известно

aivar242:
Только что проверил - у меня то же самое. Небольшие подёргивания. Ну да ладно, это не критично.


Есть мнение, что эти небольшие подергивания не вылечить (тобишь твои глаза видят разницу в 35 фпс и 60 фпс, а сфера вращается за тобой в 35 фпс)

Мой код вращает сферу к игроку не чаще чем в 35 фпс (как сделать чаще, я не знаю)

И да - попробуй декорейт код заменить на такой, может поможет:

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


Actor Soulsphere_Sphere : Soulsphere replaces Soulsphere
{
Renderstyle Translucent
alpha 0.3
+BRIGHT //Cпорная нужность этого флага.(проверить) Если он не применён, то скорей всего он всегда так и так работает.

States
{
Spawn:
SOUL A 0
SOUL A 1 //A_SpawnItemEx("Soulsphere_Face", 0, 0, 0, 0,0,0, angle, SXF_NOCHECKPOSITION)
SOUL A 0 A_SpawnItemEx("Soulsphere_Face", 0, 0, 0, 0,0,0, angle, SXF_NOCHECKPOSITION)
Idle:
SOUL ABCDCB 6 ACS_NamedExecuteWithResult("FaceAngleAndPitchToPlayer", 6)
Loop
}
}
Actor Soulsphere_Face : CustomInventory
{
+BRIGHT //Cпорная нужность этого флага.(проверить) Если он не применён, то скорей всего он всегда так и так работает.

States
{
Spawn:
MUS1 ABCDCB 6 ACS_NamedExecuteWithResult("FaceAngleAndPitchToPlayer", 6)
Loop
PickUp:
TNT1 A 0 A_Log("")
Stop
}
}



Я там немного подправил стейт Spawn для Soulsphere_Sphere чтобы синхронизировать запуск ACS в обоих акторах

aivar242:
Как быстро обучиться и ПОНЯТЬ этот ACS скрипт? Не подскажешь? Гайд выше был представлен, он у меня есть, но мне кажется он не для начинающих, а тех, кто уже понимает что к чему.


1) Задай этот вопрос здесь
2) Касательно скрипта - я потом, как будет желание и время, попробую рассказать что он делает (ну рассказать так чтобы было понятно), хотя задача непростая, так как ACS сложнее декорейта
3 1
aivar242
- 2nd Lieutenant -
Next rank: = 2nd Lieutenant = after 32 points
1408

Doom Rate: 1.64

Posts quality: -18
Ссылка на пост №424 Отправлено: 16.12.17 22:04:44
theleo_ua:
Касательно скрипта - я потом, как будет желание и время, попробую рассказать что он делает (ну рассказать так чтобы было понятно), хотя задача непростая, так как ACS сложнее декорейта

Cудя из названия - ACS (Action Code Scrypt) это скрипт на выполнение какой-то команды, я правильно понимаю? Например, сидит Кибер в клетке и этот скрипт может открыть её, вупустив Кибера, хотя в оригинальной игре это не возможно. Такое пояснение было в гайде.

Код проверил, вроде тоже самое.
DOOMFOREVER
Marine
Next rank: Marine 1st class after 2 points
28

Doom Rate: 0.97

Posts quality: +6
Ссылка на пост №425 Отправлено: 21.01.18 19:28:27
Как с помощью моделей делать оружие?точнее как спрайт и модель связаны?Объясните пожалуйста , желательно с примером
aivar242
- 2nd Lieutenant -
Next rank: = 2nd Lieutenant = after 32 points
1408

Doom Rate: 1.64

Posts quality: -18
Ссылка на пост №426 Отправлено: 21.01.18 19:56:01
DOOMFOREVER
Ничего сложного. Связаны так же как и другие модели, тех же монстров. Находишь нужного актора оружия в Decorate порта и смотришь, порядок фреймов. Те же фреймы, указываешь анимированой 3D модели оружия в файле Modeldef. Каждой позиции анимации 3D модели оружия, свой фрейм. Всё так же как и со спрайтами.

Честно сказать я как раз на этой проблеме сейчас сижу. Подключаю в одном моде 3D модели оружия, но виден только 1-ый фрейм с 3D моделью, остальные показываются как оригинальные спрайты. Код прописан правильно - не знаю что делать? Главное что с более старой версии этого мода, все модели оружия работают правильно. Хм.
DOOMFOREVER
Marine
Next rank: Marine 1st class after 2 points
28

Doom Rate: 0.97

Posts quality: +6
Ссылка на пост №427 Отправлено: 21.01.18 20:21:26
aivar242:
указываешь анимированой 3D модели оружия в файле Modeldef. Каждой позиции анимации 3D модели оружия, свой фрейм.
Можно поподробнее?
то есть за места спрайта делается модель ? и как это прописывать?
aivar242
- 2nd Lieutenant -
Next rank: = 2nd Lieutenant = after 32 points
1408

Doom Rate: 1.64

Posts quality: -18
Ссылка на пост №428 Отправлено: 21.01.18 23:21:57
DOOMFOREVER
Да, именно так - за место спрайта, делается модель. Прописывать просто. Создаёшь обычный мод, то есть архив .pk3, в нём, папка с 3D моделями рук со стволами. Рядом с папкой с моделями создаёшь файл Modeldef.txt, в который вводишь параметры моделей рук с оружием. Например:

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

Model Pistol
{
Path "Models\weapons\pistol"
Model 0 "pistol_h.md3"
Skin 0 "pistol_h.png"
Scale 1.0 1.0 1.0

FrameIndex LUGR A 0 0
FrameIndex LUGR B 0 1
FrameIndex LUGR C 0 2
FrameIndex LUGR D 0 3
FrameIndex LUGR E 0 4
}


Надеюсь основы Декорейт и Моделдеф ты знаешь? Если нет, то тут уже сложнее.
DOOMFOREVER
Marine
Next rank: Marine 1st class after 2 points
28

Doom Rate: 0.97

Posts quality: +6
Ссылка на пост №429 Отправлено: 22.01.18 09:59:53
aivar242:
моделей рук с оружием
Вот я сделал кнопку , 2 модели , 1 сдивинута по х , 2 тоже но -х, всё прописал , но появляется 2 модели сразу , как так?
aivar242
- 2nd Lieutenant -
Next rank: = 2nd Lieutenant = after 32 points
1408

Doom Rate: 1.64

Posts quality: -18
Ссылка на пост №430 Отправлено: 22.01.18 20:22:58
DOOMFOREVER
Да. Нужно делать анимацию, каждого фрейма 3D модели, полностью соответствующую анимации спрайтовым фреймам. 1. Пушка в режиме котовности А - фрейм. 2. Пушка стреляет, идёт отдача с пламенем у ствола B - фрейм. и.т.д. 3D модель должна иметь эти кадры анимации. Если её прокручиваешь, от 1 фрейма до 5-го, должны проигрываться весь цикл выстрела, полностью повторяющий спрайтовую анимацию выстрела.

Там где-то 5 кадров (фреймов) анимации получается, у пистолета например. Значит надо полностью повторять их в 3D реализации. Не знаю как понятней объяснить.
Я кое что сейчас делаю как раз, по этой теме. Скоро выкачу видос.
DOOMFOREVER
Marine
Next rank: Marine 1st class after 2 points
28

Doom Rate: 0.97

Posts quality: +6
Ссылка на пост №431 Отправлено: 22.01.18 20:40:18
aivar242:

Там где-то 5 кадров (фреймов) анимации получается, у пистолета например. Значит надо полностью повторять их в 3D реализации. Не знаю как понятней объяснить.
Я кое что сейчас делаю как раз, по этой теме. Скоро выкачу видос.


Это я понял , но вот почему у меня не получается сделать кнопку настенную , всего 2 модели и они появляются одновременно , почему?
Скрытый текст:

Model Knop// Name of actor in DECORATE
{
   Path "models/decoration"   
   Model 0 "Knop.md3"
   Model 1 "Knop2.md3" 
   Skin 0 "terrainbm.png" 
   Skin 1 "terrainbm.png"
   Scale 0.06 0.15 0.12          
   ZOffset 0.0//14
   FrameIndex ELEC A 0 0 
   FrameIndex ELEF A 1 0 
}

Actor knop 10998
{
Health 1
Mass 0
Speed 0
PainChance 0
Monster
+BUMPSPECIAL
+USESPECIAL
+VULNERABLE
+nogravity
+SOLID
+friendly
+SHOOTABLE
+NOBLOOD
+friendly
Radius 4
Height 5
states
{
spawn:
ELEC A -1
stop


death:
ELEF A 1
loop
}
}


:book:
aivar242
- 2nd Lieutenant -
Next rank: = 2nd Lieutenant = after 32 points
1408

Doom Rate: 1.64

Posts quality: -18
Ссылка на пост №432 Отправлено: 23.01.18 00:31:03
DOOMFOREVER:
всего 2 модели и они появляются одновременно , почему?

Возможно потому, что - Knop 1 и Knop 2, надо прописывать под разными акторами, например - Knop_on и Knop_off. У тебя получается, что обе субмодели, находятся под одним актором Knop. Попробуй, может получится. Обратись к TheLeо, он точно поможет. Я сам начинающий в модинге, мало что знаю, а ACS - так вообще никак.
theleo_ua
= Colonel =
Next rank: - Commissar - after 90 points
4800

Doom Rate: 1.8

Posts quality: +1032
Ссылка на пост №433 Отправлено: 23.01.18 03:40:09
DOOMFOREVER:
Это я понял , но вот почему у меня не получается сделать кнопку настенную , всего 2 модели и они появляются одновременно , почему?


декорейт не меняй, в моделдеф сделай так:

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


Model Knop// Name of actor in DECORATE
{
Path "models/decoration"
Model 0 "Knop.md3"
Skin 0 "terrainbm.png"
Scale 0.06 0.15 0.12
ZOffset 0.0//14
FrameIndex ELEC A 0 0
}

Model Knop// Name of actor in DECORATE
{
Path "models/decoration"
Model 0 "Knop2.md3"
Skin 0 "terrainbm.png"
Scale 0.06 0.15 0.12
ZOffset 0.0//14
FrameIndex ELEF A 0 0
}

3 1
Guest
= 2nd Lieutenant =
Next rank: - 1st Lieutenant - after 167 points
1473

Doom Rate: 2.5

Posts quality: +182
Ссылка на пост №434 Отправлено: 23.01.18 08:21:12
Может кто-нибудь объяснить, что такое SurfaceSkin? В здумвики определение дается, но кратко и без примеров. Не догоняю что это и как работает.
3 1
theleo_ua
= Colonel =
Next rank: - Commissar - after 90 points
4800

Doom Rate: 1.8

Posts quality: +1032
Ссылка на пост №435 Отправлено: 23.01.18 11:04:31
Guest:
Может кто-нибудь объяснить, что такое SurfaceSkin? В здумвики определение дается, но кратко и без примеров. Не догоняю что это и как работает.


Я не в курсе, но задай этот вопрос здесь, там думаю найдется тот кто шарит:

http://i.iddqd.ru/viewtopic.php?t=361&page=1

http://i.iddqd.ru/viewtopic.php?t=175&page=1
3 1
Guest
= 2nd Lieutenant =
Next rank: - 1st Lieutenant - after 167 points
1473

Doom Rate: 2.5

Posts quality: +182
Ссылка на пост №436 Отправлено: 23.01.18 13:37:49
theleo_ua:
Я не в курсе, но задай этот вопрос здесь, там думаю найдется тот кто шарит

Не думаю, что имеет смысл спаммить вопрос по темам (даже если изначально выбрал не самую удачную) - форум маленький и все новые сообщения и так видны всем.

Пошерстил zdoom форум и кое-что нашел:
https://forum.zdoom.org/viewtopic.php?f=18&t=52879&p=925626&hilit=SurfaceSkin#p925626

Там же в первом сообщении есть демонстрационный вад, в котором изображение пистолета заменяется на анимированную плазмапушку. Оказывается, в GLDEFS можно писать шейдеры, вот новость...
https://zdoom.org/wiki/GLDEFS

Правда так и не понял функционального отличия Skin от SurfaceSkin, возможно просто второе имеет больше опций, чем первое.
3 1
aivar242
- 2nd Lieutenant -
Next rank: = 2nd Lieutenant = after 32 points
1408

Doom Rate: 1.64

Posts quality: -18
Ссылка на пост №437 Отправлено: 04.02.18 22:42:21
Упёрся опять в одну проблему. Хочу заставить двигаться облака (SKY1) в Doom 2, в Plutonia, а в TNT - нет. Понял что это делается через Mapinfo, только что и где вбивать, не понял. Нужно чтобы можно было отдельно для каждой из игр, настраивать свои параметры, например - скорость вращения.

Скажу сразу, что я заставил двигаться и это работает, но вот проблема: - Doom 2, это тот же TNT и это тот же Plutonia. Облака двигаются и в Doom2 и в Plutonia и в TNT. В TNT мне не надо чтобы они двигались, потому что там горы.

The Leo - там ничего сложного, будем разбираться вместе, это пригодится.

Вообщем создал файл Mapinfo.txt и кинул его в свой мод .pk3.

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

map MAP01 lookup "HUSTR_1"
{
sky1 = "SKY1", 0.5
music = "$MUSIC_RUNNIN"
}

map MAP02 lookup "HUSTR_2"
{
sky1 = "SKY1", 0.5
music = "$MUSIC_STALKS"
}

map MAP03 lookup "HUSTR_3"
{
sky1 = "SKY1", 0.5
music = "$MUSIC_COUNTD"
}

map MAP04 lookup "HUSTR_4"
{
sky1 = "SKY1", 0.5
music = "$MUSIC_BETWEE"
}

map MAP05 lookup "HUSTR_5"
{
sky1 = "SKY1", 0.5
music = "$MUSIC_DOOM"
}

map MAP06 lookup "HUSTR_6"
{
sky1 = "SKY1", 0.5
music = "$MUSIC_THE_DA"
}

map MAP07 lookup "HUSTR_7"
{
sky1 = "SKY1", 0.5
music = "$MUSIC_SHAWN"
}

map MAP08 lookup "HUSTR_8"
{
sky1 = "SKY1", 0.5
music = "$MUSIC_DDTBLU"
}

map MAP09 lookup "HUSTR_9"
{
sky1 = "SKY1", 0.5
music = "$MUSIC_IN_CIT"
}

map MAP10 lookup "HUSTR_10"
{
sky1 = "SKY1", 0.5
music = "$MUSIC_DEAD"
}

map MAP11 lookup "HUSTR_11"
{
sky1 = "SKY1", 0.5
music = "$MUSIC_STLKS2"
}


Записи сделаны до 11 уровня, так как с 12 начинается другой эпизод Doom2 с другим небом, которое не должно двигаться, и до конца игры. 0,5 - скорость движения облаков. Этот код работает в Doom2, также в Plutonia, также в TNT. Как сделать для каждой игры независимый код, со своей настройкой скорости?

Строка music, добавлена, потому что без неё, пропадает музыка в doom2; Plutonia ; TNT.

The Leo - Стоковый код можно подсмотреть в файле gzdoom.pk3, в папке "mapinfo" doom2.txt, в корне порта GZDoom.
theleo_ua
= Colonel =
Next rank: - Commissar - after 90 points
4800

Doom Rate: 1.8

Posts quality: +1032
Ссылка на пост №438 Отправлено: 05.02.18 08:10:14
aivar242:
Как сделать для каждой игры независимый код, со своей настройкой скорости?


Точно так же как ты через конфиг через разделы "tnt.autoload" делал разные паки текстур для плутонии и тнт: сделай 4 разных (или сколько их там у тебя) mapinfo, каждый кинь в свой pk3, и подключай для конкретных игр только требуемый pk3
3 1
aivar242
- 2nd Lieutenant -
Next rank: = 2nd Lieutenant = after 32 points
1408

Doom Rate: 1.64

Posts quality: -18
Ссылка на пост №439 Отправлено: 05.02.18 16:02:47
theleo_ua
Понял. Немного геморойно это, но работает. Наверно это еднственный надёжный вариант приоритета, в GZDoom. Самое главное, использовать максимально не нагружаемые методы, на порт. Один к одному прикладывается, - то подгрузить, это, и порт перегружен.

Добавлено спустя 1 день 11 часов 10 минут 17 секунд:

theleo_ua
Есть ещё важный вопросик, вот думаю, как его ришить... Вообщем, 3D модели ящиков с ракетными снарядами, в некоторый местах накладываются друг на друга. Может есть идеи, как это можно решить?

TheTaintedSlav
= 2nd Lieutenant =
Next rank: - 1st Lieutenant - after 145 points
1495

Doom Rate: 1.3

Posts quality: +328
Ссылка на пост №440 Отправлено: 07.02.18 11:24:28
Лезть в карту и ставить их дальше друг от друга. По другому не работает.

Рейтинг сообщения: +1, отметил(и): Mud
5 1
Страница 22 из 23Перейти наверх Пред.  1, 2, 3 ... , 21, 22, 23  След.
   Список разделов - Местечко мапперов и моддеров - Вопросы по переносу ресурсов из других портов в GZDoom