Welcome to U.A.C. [O.S.A.]
login / register
Status: Guest
Архивы форума | iddqd.ru
Wolf 3D
ПравилаПравила ПоискПоиск
18+
Тема для новичков. Вопросы по маппингу/моддингу - любые! Пред.  1, 2, 3 ... 187, 188, 189 ... 194, 195, 196  След.
   Список разделов - Местечко мапперов и моддеров - Тема для новичков. Вопросы по маппингу/моддингу - любые!Ответить
АвторСообщение
alekv
Lieutenant Colonel
Next rank: - Colonel - after 156 pointsМодератор форума
3884

Doom Rate: 1.92

Posts quality: +720
Ссылка на пост №3741 Отправлено: 07.02.19 22:28:52
Да ацсом можно, спавнишь снаряд с тидом, когда тебе известен тид и ты можешь запросить его проперти прозрачности

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

в ацс:
Script "GetActorAlpha" (int tid)
{
SetResultValue(GetActorProperty(tid, APROP_Alpha));
}

в декорейте:

var float user_alpha; //но я не помню умеет ли гздум возвращать float из acs. Если не умеет надо в ручную конвертить.
states
   {
   spawn:
               TNT1 A 0 {
                         //таким образом можно получить альфу. 
                         user_alpha = CallACS("GetActorAlpha", ТИД твоего снаряда.);
                       }
   }
}


А еще можно заюзать зскрипт что на много лучше будет.

Рейтинг сообщения: +1, отметил(и): Void Weaver
1 3 1
Void Weaver
= 2nd Lieutenant =
Next rank: - 1st Lieutenant - after 66 points
1574

Doom Rate: 1.86

Posts quality: +454
Ссылка на пост №3742 Отправлено: 08.02.19 14:16:17
JSO x, alekv
ГетАкторПроперти штука конечно клёвая и код вроде не сложный, спс, но в АЦС и тиды я тоже не умею. Я даже джамп из анонимной ф-ции прописать не смог. :(
-----------
1. Тогда такой вопрос. Как можно записать покадровый сдвиг Альфы аналогично ф-циям A_Fade(In\Out\To) но чтобы сохранялся РендерСтайл? A_SetRenderStyle конечно оперирует разными стилями, но лишена автоматического сдвига, - каждый шаг придётся задавать вручную, ну типа
TNT1 A 1 A_SetRenderStyle(0.988)
TNT1 A 1 A_SetRenderStyle(0.976)
TNT1 A 1 A_SetRenderStyle(0.964)... А это мне не подходит, тем более при таких маленьких шагах. Можно было бы записать цикличный юзервар в A_SetRenderStyle, но основная загвоздка в том что Альфа у меня меняется через взятие кастоминвентори итема. А долбаные _Фэйды ломают рендерстайл актора, отличный от Транслюцент.

Ну или если ставить вопрос иначе, то можно что-нибудь сделать с А_Фэйд чтобы они не меняли рендерстайл актора?
Не страдать рукожопием, спасибо N00b2015.


2. Какие флаги\проперти итемов (волыны, аптечки, броньки) влияют на коллизии оных? Т. е. что нужно добавить итему чтобы его нельзя было подобрать?
Делал так, но аптечки почему-то всё равно подбираются:

Actor Hp : Health replaces Health
{
States
  {
  Spawn:
  TNT1 A 0 NoDelay A_GiveInventory("DimensionMark2") //Это строка для другого кода
  TNT1 A 0 A_ChangeFlag("NOINTERACTION",1)
  Goto Super::Spawn
  }
}
Решено, - надо наследовать от производных аптечек а не от базового Health, тогда флаг работает.

3. Можно ли чем-нибудь пробить DORMANT флаг или это абсолютная неуязвимость?
1 7 1
Артём
= Master Sergeant =
Next rank: - Sergeant Major - after 19 points
511

Doom Rate: 1.67

Posts quality: +140
Ссылка на пост №3743 Отправлено: 08.02.19 17:59:15
Void Weaver пишет:
3. Можно ли чем-нибудь пробить DORMANT флаг или это абсолютная неуязвимость?


Есть такой лайндеф "Thing Activate" - для этого он как раз и предназначен. При его активации монстр "оживает" и перестанет быть DORMANT.

Насчёт 2-го пункта: можно сделать в декорейте дубликат объекта, который ты хочешь сделать неподбираемым, и задать ему статы либо трупа (чтобы проходить сквозь него, не подбирая), либо декоративного твёрдого объекта (чтобы игрок не смог подойник к нему вплотную). Естественно, спрайт нужно тоже скопировать и задать ему новое имя.

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

Если ты, конечно, имеешь в виду именно это.
1
Void Weaver
= 2nd Lieutenant =
Next rank: - 1st Lieutenant - after 66 points
1574

Doom Rate: 1.86

Posts quality: +454
Ссылка на пост №3744 Отправлено: 08.02.19 18:14:25
Артём пишет:
Есть такой лайндеф "Thing Activate" - для этого он как раз и предназначен. При его активации монстр "оживает" и перестанет быть DORMANT.
Вопрос был не в том "КАК СНЯТЬ дормант" (я в курсе как это делается), а в том "КАК ПРОБИТЬ его".
Меня интересует возможность наличия какого-нибудь способа нанести урон (в разумных пределах) монстру находящемуся в ДОРМАНТе. Мб есть какие-то флаги или комбинации оных, особый DamageType или ещё что подобное.

2. Исключено. Опять таки по причине того что задача совершенно иная. Я чётко спросил как сделать неподбираемым реальный инвентори итем. Я не спрашивал о том "как сделать макет аптечки (например)".
Интересует то, как детектится взаимодействие игрок-итем несмотря на отсутствие у итемов размерных свойств (Height, Radius) и чем (если можно) можно прервать оное взаимодействие. Вдруг существует какой-нибудь флаг который сделает предмет неподбираемым?

Увы, бро, мои вопросы поставлены совсем иначе нежели так как ты их понял.

Рейтинг сообщения: +1, отметил(и): Артём
1 7 1
Артём
= Master Sergeant =
Next rank: - Sergeant Major - after 19 points
511

Doom Rate: 1.67

Posts quality: +140
Ссылка на пост №3745 Отправлено: 08.02.19 18:20:20
Void Weaver
Поэкспериментирую в редакторе, потом отпишусь.

Добавлено спустя 11 минут:

https://zdoom.org/wiki/Actor_flags

Поищи флаг Special насчёт вопроса 3. Может, поможет.

Рейтинг сообщения: +1, отметил(и): Void Weaver
1
Void Weaver
= 2nd Lieutenant =
Next rank: - 1st Lieutenant - after 66 points
1574

Doom Rate: 1.86

Posts quality: +454
Ссылка на пост №3746 Отправлено: 08.02.19 18:54:10
Ок. Остались 1 и 3 вопросы.

Ленивый как и скупой: платит дважды. Оказалось что надо было наследовать с заменой от стандартных хилок (Stimpack, Medkit) а не пытаться заменить базовый класс Health. И да, NOINTERACTION прекрасно превращает предметы в "неподъёмные". Будем копипастить...

ЭДИТ:
Насчёт флага Special. Он не поможет против домантов даже в теории (по крайней мере на уровне декора).
СПЕШИАЛ флаг на "наследнике" от SpectralMonster (и ТОЛЬКО него!) говорит что при коллизии с игроком, последний будет покоцан носителем флага. А игрок наследуется только от PlayerPawn, и выходит что сделать игрока наследником SpectralMonster не получится.

Рейтинг сообщения: +1, отметил(и): Артём
1 7 1
N00b2015
= Sergeant =
Next rank: - Master Sergeant - after 38 points
362

Doom Rate: 2.29

Posts quality: +94
Ссылка на пост №3747 Отправлено: 08.02.19 19:12:21
Void Weaver
Actor flags:

Dormant actors can't do anything and don't take damage.

Как и сказал Артём, этот флаг — SPECIAL, только при снятии его в рантайме, по-моему, могли возникать какие-то проблемы, не помню точно.
Я посмотрел в исходники gzdoom, там в p_actionfunctions.cpp описана A_FadeIn. Кроме альфы она только сбрасывает флаг STYLEF_Alpha1 (renderstyle.h), но он не должен влиять на отображение актора...

edit. Ты вроде уже решил проблему, но там насчёт SPECIAL написано "has a special use for this flag", а не что-нибудь типа "is the only class subject to this flag".

Рейтинг сообщения: +2, отметил(и): Артём, Void Weaver
1 1
Void Weaver
= 2nd Lieutenant =
Next rank: - 1st Lieutenant - after 66 points
1574

Doom Rate: 1.86

Posts quality: +454
Ссылка на пост №3748 Отправлено: 08.02.19 19:44:28
N00b2015 пишет:
Ты вроде уже решил проблему, но там насчёт SPECIAL написано "has a special use for this flag", а не что-нибудь типа "is the only class subject to this flag".
Во-первых, нифига не решил, а во-вторых именно что ОНЛИ КЛАСС:
The base class SpectralMonster has a special use for this flag that allows actors inheriting from it to hurt the player when they come in contact with said actors.
Только СпектралМонстр, Карл! А для тех кто не СМ, флаг просто говорит движку что носитель сего может быть поднят (actor can be picked up).
Проехали, попробую выяснить где мой косяк с _Фэйд ф-циями.

ЭДИТ:
N00b2015, спасибо, _Фэйды работают как положено.
1 7 1
N00b2015
= Sergeant =
Next rank: - Master Sergeant - after 38 points
362

Doom Rate: 2.29

Posts quality: +94
Ссылка на пост №3749 Отправлено: 08.02.19 20:19:01
Теперь мой вопрос: нужен метод снять с большого (десятки/сотни) количества секторов special в игре (формат gzdoom in udmf). Естественно, можно было бы дедовским ванильным способом накрошить контрольных секторов и вызывать 241 floor lower to lowest TxTy. Минусы очевидны: полно контрольных секторов, возни с объединением и т. п., а если нужные сектора не самые низкие среди своих соседей, то работать это вообще не будет. Человеческого способа я не нашёл, может быть, есть хоть какой-нибудь костыльный, но работоспособный? Видел ли кто-нибудь такое в существующих картах? Подскажите, пожалуйста, если кто знает.
Edit: 200: generic_floor не подходит, там побочный эффект, текстура заменяется.
1 1
Doomgay1999
Marine 1st class
Next rank: - UAC Gunner - after 4 points
36

Doom Rate: 2

Ссылка на пост №3750 Отправлено: 13.02.19 04:38:47
Как сделать так чтобы двери раздвигались?
Void Weaver
= 2nd Lieutenant =
Next rank: - 1st Lieutenant - after 66 points
1574

Doom Rate: 1.86

Posts quality: +454
Ссылка на пост №3751 Отправлено: 13.02.19 05:34:42
ЕЯПП, то через полиобжекты.
Тут подробный гайд (eng), вроде его даже тут постили.

Ещё можно съэмулировать раздвижную дверь через Door_Animated спешл с соответствующим анимдефом. Но это не труЪ.
1 7 1
Doomgay1999
Marine 1st class
Next rank: - UAC Gunner - after 4 points
36

Doom Rate: 2

Ссылка на пост №3752 Отправлено: 13.02.19 07:19:43
А как добавить свою карты в wad?
Void Weaver
= 2nd Lieutenant =
Next rank: - 1st Lieutenant - after 66 points
1574

Doom Rate: 1.86

Posts quality: +454
Ссылка на пост №3753 Отправлено: 13.02.19 07:33:21
Тыц, тыц (много интересного), ну и тыц (коли норм знаешь инглиш).

Рейтинг сообщения: +1, отметил(и): Артём
1 7 1
Doomgay1999
Marine 1st class
Next rank: - UAC Gunner - after 4 points
36

Doom Rate: 2

Ссылка на пост №3754 Отправлено: 13.02.19 07:50:33
Как добавить свои карты в wad?
Артём
= Master Sergeant =
Next rank: - Sergeant Major - after 19 points
511

Doom Rate: 1.67

Posts quality: +140
Ссылка на пост №3755 Отправлено: 13.02.19 08:59:46
Doomgay1999
В Doom Builder: в настройках File > Save Map into > выбираешь Вад. Только учти, что если номер карты, которую ты сохраняешь, соответствует номеру карты из вада, куда ты сохраняешь, то карта в том ваде будет переписана.

Рейтинг сообщения: +1, отметил(и): Void Weaver
1
Doomgay1999
Marine 1st class
Next rank: - UAC Gunner - after 4 points
36

Doom Rate: 2

Ссылка на пост №3756 Отправлено: 13.02.19 10:07:15
Как создать погодные условия?
Артём
= Master Sergeant =
Next rank: - Sergeant Major - after 19 points
511

Doom Rate: 1.67

Posts quality: +140
Ссылка на пост №3757 Отправлено: 13.02.19 10:29:00
Doomgay1999
Смотря что ты имеешь в виду. Если туман - то это можно задать FogSetter (в GZDoom формате если делать). Если дождь - то уже нужно отдельным актором ставить.
На Realm667 всё есть:
https://realm667.com/index.php/en/sfx-shoppe-mainmenu-139-58855/elemental-effects-mainmenu-142-40777
1
Doomgay1999
Marine 1st class
Next rank: - UAC Gunner - after 4 points
36

Doom Rate: 2

Ссылка на пост №3758 Отправлено: 13.02.19 13:43:03
А можно сделать чтобы на одном уровне было не один, а два саундтрека?
Артём
= Master Sergeant =
Next rank: - Sergeant Major - after 19 points
511

Doom Rate: 1.67

Posts quality: +140
Ссылка на пост №3759 Отправлено: 13.02.19 13:54:09
Doomgay1999
Если под классику, то никак (если только не слепить два саундтрека в один :x ) Если под гоззу - то можно скриптами прописать SetMusic.

Подробнее тут;
https://zdoom.org/wiki/SetMusic

Рейтинг сообщения: +1, отметил(и): Void Weaver
1
YURA_111
- Sergeant Major -
Next rank: = Sergeant Major = after 32 points
568

Doom Rate: 2.01

Posts quality: +89
Ссылка на пост №3760 Отправлено: 13.02.19 14:24:51
Народ вчера столкнулся с непонятком в GZDOOM - функция A_RadiusGive разве не может работать через стены? Т.е. она может работать только в пределах одной комнаты и стены являются препятствием???

Артём пишет:
Если под гоззу - то можно скриптами прописать SetMusic.


Это вроде как лучше делать через ZScript
https://zdoom.org/wiki/Object
там ищем
static bool S_ChangeMusic(String music_name, int order = 0, bool looping = true, bool force = false)

Рейтинг сообщения: +3, отметил(и): Артём, JSO x, Void Weaver
Страница 188 из 196Перейти наверх Пред.  1, 2, 3 ... 187, 188, 189 ... 194, 195, 196  След.
   Список разделов - Местечко мапперов и моддеров - Тема для новичков. Вопросы по маппингу/моддингу - любые!