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

Doom Rate: 2

Posts quality: +7
Ссылка на пост №481 Отправлено: 16.06.20 20:17:08
YURA_111 пишет:
Довольно странно - для чего выкладывать код пуфа, если проблема с самой "ракетой"?

Я, если често, новичок, прям совсем "зелёный", поэтому во многих терминах ориентируюсь слабо.
Этот "пуф" вызывается при альтфаере так:
AltFire:
KNFG B 2
KNFG C 4 A_FireProjectile("KnifePuff2",0,1,0,0,FPF_NOAUTOAIM,0)
KNFG D 2
KNFG G 20
KNFG G 0 A_CheckReload
KNFG D 2
KNFG A 2 A_ReFire
goto Ready
Как я понял, это не пуф да?
А что такое пуф, если не сложно?
Но не суть
Вообщем сами спрайты правильные, их видно, они как бы заметны, но полупрозрачные.
Как это исправить?
YURA_111
= Sergeant Major =
Next rank: UAC Sergeant Major after 4 points
676

Doom Rate: 1.98

Posts quality: +115
Ссылка на пост №482 Отправлено: 17.06.20 09:46:39
Landsberg пишет:
Как я понял, это не пуф да?


То, что выкладывал ранее - это снаряд. PUFF - это дымок при попадании хитскана(пули или подобного) в стену (или бескровного монстра)

Рейтинг сообщения: +1, отметил(и): Landsberg
Landsberg
= Corporal =
Next rank: - Lance Corporal - after 14 points
116

Doom Rate: 2

Posts quality: +7
Ссылка на пост №483 Отправлено: 17.06.20 19:01:26
Какие бывают стили рендера (renderstyle) в свойствах актора?
YURA_111
= Sergeant Major =
Next rank: UAC Sergeant Major after 4 points
676

Doom Rate: 1.98

Posts quality: +115
Ссылка на пост №484 Отправлено: 17.06.20 20:40:38
RenderStyle type
Defines how this actor is rendered. Possible values include:
"None" - actor is invisible.
"Normal" - actor is visible and not translucent.
"Fuzzy" - like the Spectre in Doom.
"SoulTrans" - actor is translucent, to an amount determined by the transsouls CVAR.
"OptFuzzy" - actor is fuzzy or translucent, based on user preference.
"Stencil" - actor is drawn as a single color. Use StencilColor property to set the color to use.
"AddStencil" - the same as Stencil, only additive.
"Translucent" - actor is translucent.
"Add" - actor uses additive translucency.
"Subtract" - actor uses reverse-subtractive translucency.
"Shaded" - treats 8-bit indexed images as an alpha map. Index 0 = fully transparent, index 255 = fully opaque. This is how decals are drawn. Use StencilColor property to colorize the resulting sprite.
"AddShaded" - the same as Shaded, only additive.
"Shadow" - equivalent to black translucent stencil with an alpha of 0.3.
Default is Normal.


Выставляются в пропертиях (свойствах) актора или при помощи функции A_SetRenderStyle прямо в стейтах для динамического изменения "визуальности" существа ( https://zdoom.org/wiki/A_SetRenderStyle )

Рейтинг сообщения: +1, отметил(и): Landsberg
Landsberg
= Corporal =
Next rank: - Lance Corporal - after 14 points
116

Doom Rate: 2

Posts quality: +7
Ссылка на пост №485 Отправлено: 19.06.20 20:15:27
Как передать токен от одного актора к другому, если они не имеют родственных связей(типа Children, Master, Sibling и тд)?
YURA_111
= Sergeant Major =
Next rank: UAC Sergeant Major after 4 points
676

Doom Rate: 1.98

Posts quality: +115
Ссылка на пост №486 Отправлено: 19.06.20 22:37:41
Landsberg пишет:
Как передать токен от одного актора к другому, если они не имеют родственных связей(типа Children, Master, Sibling и тд)?

A_GiveToTarget (если цель это "таргет") ( https://zdoom.org/wiki/A_GiveToTarget )?

Или A_GiveInventory ( https://zdoom.org/wiki/A_GiveInventory )
Landsberg
= Corporal =
Next rank: - Lance Corporal - after 14 points
116

Doom Rate: 2

Posts quality: +7
Ссылка на пост №487 Отправлено: 19.06.20 22:59:44
YURA_111 пишет:
A_GiveToTarget (если цель это "таргет") ( https://zdoom.org/wiki/A_GiveToTarget )?

Или A_GiveInventory ( https://zdoom.org/wiki/A_GiveInventory )

Я это всё понимаю, но вопрос в том, что их никак не получается сделать таргетами.
К сути:
Оружие создаёт "ракету", к которой должны передаться флаги оружия.
SFX_SETTARGET с э_файрпартиклем не работает (ни в здум вики такого нет, ни я попробовал - тоже нет)
Э гив инвентари тут тоже у меня не получилось, ибо он должен срабатывать только при наличии этого инвентари у оружия, а тут я уже не знаю как писать.
YURA_111
= Sergeant Major =
Next rank: UAC Sergeant Major after 4 points
676

Doom Rate: 1.98

Posts quality: +115
Ссылка на пост №488 Отправлено: 20.06.20 07:13:06
1) Что за флаги нужно передавать от оружия ракете?

2) Инвентори у оружия может быть только если оружие на полу. Иначе это будет инвентори у Игрока. Можно сделать чтобы именно в тот момент когда игрок держит это оружие был именно этот тип инвентори (если я правильно тебя понял).
Landsberg
= Corporal =
Next rank: - Lance Corporal - after 14 points
116

Doom Rate: 2

Posts quality: +7
Ссылка на пост №489 Отправлено: 21.06.20 21:31:05
YURA_111 пишет:
1) Что за флаги нужно передавать от оружия ракете?

2) Инвентори у оружия может быть только если оружие на полу. Иначе это будет инвентори у Игрока. Можно сделать чтобы именно в тот момент когда игрок держит это оружие был именно этот тип инвентори (если я правильно тебя понял).


Токены, которые лежат в инвентори игрока влияют на внешний вид оружия, поскольку оно метательное, то выпадающее оружие, которое можно подобрать, должно выглядеть соответственно тому, которое было кинуто.
Я хотел реализовать это так, чтобы игрок во время метания оружия передавал эти токены летящему оружию во время выстрела, а оно, в State Death передавало эти токены лежащему на полу оружию.
YURA_111
= Sergeant Major =
Next rank: UAC Sergeant Major after 4 points
676

Doom Rate: 1.98

Posts quality: +115
Ссылка на пост №490 Отправлено: 23.06.20 18:31:57
Landsberg
A_RadiusGive ?
( https://zdoom.org/wiki/A_RadiusGive )
Landsberg
= Corporal =
Next rank: - Lance Corporal - after 14 points
116

Doom Rate: 2

Posts quality: +7
Ссылка на пост №491 Отправлено: 24.06.20 19:24:34
YURA_111 пишет:
Landsberg
A_RadiusGive ?
( https://zdoom.org/wiki/A_RadiusGive )


Казалось бы, что вроде как и да, но если подрубать мультиплеер кинет один человек, а внешний вид поменяет оружие всех игроков
JSO x
= Sergeant Major =
Next rank: UAC Sergeant Major after 56 points
624

Doom Rate: 2.35

Posts quality: +251
Ссылка на пост №492 Отправлено: 24.06.20 21:27:46
Если я всё верно интерпретировал, то не понимаю, чего там у тебя такого плохого с указателями. Такой код, с проверкой при инициализации снаряда, в его основной петле и в передаче спаунящейся вещи --
Скрытый текст:

Actor WWeap: RocketLauncher replaces RocketLauncher {
    States {
    Spawn:
        LAUN A 0
        LAUN A 0 A_JumpIfInventory( "WWeapToken", 1, 2 )
        LAUN A 0 A_SetScale( -1, 1 ) // Например, переворачиваем спрайт
        LAUN A -1                // в зависимости от предмета инвентаря.
        Stop
    Fire:
        MISG B 8 A_GunFlash
        MISG B 12 A_FireProjectile( "WWeapProjectile" )
        MISG B 0 A_ReFire
        Goto Ready      
    }
}

Actor WWeapProjectile: DoomImpBall {
    States {
    Spawn:
        BAL1 A 0 // Проверяем нужный токен у игрока...
        BAL1 A 0 A_JumpIfInventory( "WWeapToken", 0, "SpawnType2", AAPTR_TARGET )
    SpawnLoop1:
        BAL1 AB 4 Bright
        Loop
    SpawnType2: // ...и, если что, выдаём его себе же.
        BAL2 A 0 A_GiveInventory( "WWeapToken", 1 )
    SpawnLoop2:
        BAL2 AB 4 Bright
        Loop
    Death:
        BAL1 C 0 Bright A_SpawnItemEx( "WWeap", 0, 0, 0, 0, 0, 0, 0, SXF_ISMASTER ) 
        BAL1 C 0 A_JumpIfInventory( "WWeapToken", 0, "DeathType2" ) // Если у нас предмет есть -- ...
        BAL1 CDE 6 Bright
        Stop
    DeathType2: // ... -- то предоставляем его же созданному оружию.
        BAL2 C 0 A_GiveInventory( "WWeapToken", 1, AAPTR_MASTER )
        BAL2 CDE 6 Bright
        Stop
    }
}

Actor WWeapToken: Inventory {
    Inventory.MaxAmount 1
}

-- прекрасно работает, только что написал, проверил (комментарии внутри есть).
1 5
Landsberg
= Corporal =
Next rank: - Lance Corporal - after 14 points
116

Doom Rate: 2

Posts quality: +7
Ссылка на пост №493 Отправлено: 26.06.20 14:11:30
Как изменить размер загруженного спрайта в слейд?
(Чтобы избежать мыла при незначительных увеличениях в фотошопе)
Герр Смертоносец
UAC Sergeant Major
Next rank: UAC Sergeant Major after 53 points
707

Doom Rate: 1.45

Posts quality: +498
Ссылка на пост №494 Отправлено: 26.06.20 15:54:50
Landsberg пишет:
Как передать токен от одного актора к другому, если они не имеют родственных связей(типа Children, Master, Sibling и тд)?

Landsberg пишет:
Токены, которые лежат в инвентори игрока влияют на внешний вид оружия, поскольку оно метательное, то выпадающее оружие, которое можно подобрать, должно выглядеть соответственно тому, которое было кинуто.
Я хотел реализовать это так, чтобы игрок во время метания оружия передавал эти токены летящему оружию во время выстрела, а оно, в State Death передавало эти токены лежащему на полу оружию.

Ещё раз, обрисуй желаемое. Какое метательное оружие, куда летит? Что и в зависимости от чего должно менять внешний вид? Есть ощущение, что задача решается абсолютно не с того места.

Конкретно любой Projectile всегда знает испустившего его актора (таргет поинтер) и может запустить ACS-скрипт от его имени. Но что-то мне подсказывает, что в данной задаче всё это избыточно.
2
Landsberg
= Corporal =
Next rank: - Lance Corporal - after 14 points
116

Doom Rate: 2

Posts quality: +7
Ссылка на пост №495 Отправлено: 26.06.20 16:01:46
Герр Смертоносец пишет:
Ещё раз, обрисуй желаемое.


Нож может окровавиться 2-мя способами: его "нос" от удара о монстра, у которого есть кровь, и его "бок" от удара ножом.
Соответственно к стандартному набору спрайтов есть ещё три набора, которые включаются в зависимости от наличия токенов у игрока.
Соотв, если игрок кидает нож некоторой степени окровавленности, то выпадающий нож должен быть той же степени в Death и Crash и +окровавленный нос при XDeath.
Герр Смертоносец
UAC Sergeant Major
Next rank: UAC Sergeant Major after 53 points
707

Doom Rate: 1.45

Posts quality: +498
Ссылка на пост №496 Отправлено: 26.06.20 17:52:21
Landsberg
А спрайты должны меняться у ножа отдельно в полёте или у ножа в руках игрока? У того и другого? Нож остаётся обляпанным навечно? Нож при броске выбрасывается, как оружие?

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

1. Игрок получает токены во время ударов.
2. При броске ножа игрок в зависимости от наличия у него токена испускает projectile типа 1, типа 2 и типа 3 (чистый нож). Все потенциально имеющиеся у него токены при этом обнуляются.
3. Projectile при попадании падает на землю, застывает и спаунит на своём месте knife_weapon через A_SpawnItemEx с SXF_ISMASTER и сразу же выдаёт ему токен через A_GiveInventory с пометкой AAPTR_MASTER. В зависимости от этого токена нож принимает тот или иной вид.
4. Projectile после смерти не исчезает, а становится невидимым и переходит в ждущий цикл "призрачного наблюдателя", где непрестанно проверяет наличие любого токена у AAPTR_MASTER через A_JumpIfInventory. Выход из этого цикла возможен только если мастер прекратит своё существование в бренном мире, т.е. если knife_weapon будет кем-то подобран.
5. Как только нож кем-то подобран - Projectile выходит из ждущего цикла, спауня на том же месте итем-токен с тем же хитбоксом, который автоматически подбирается подобравшим нож игроком.

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

Рейтинг сообщения: +1, отметил(и): Landsberg
2
Landsberg
= Corporal =
Next rank: - Lance Corporal - after 14 points
116

Doom Rate: 2

Posts quality: +7
Ссылка на пост №497 Отправлено: 26.06.20 19:55:06
Герр Смертоносец пишет:
Таким образом, передача токена от оружия к игроку привязывается к физическому процессу подбирания оружия. На карте может быть сколько угодно игроков и ножей, которыми они могут обмениваться, и путаницы при этом не будет.


большое спасибо!
ZZYZX
= Commissar =
Next rank: - UAC Commissar - after 110 pointsМодератор форума
5690

Doom Rate: 1.71

Posts quality: +1706
Ссылка на пост №498 Отправлено: 26.06.20 21:37:58
А на зскрипте можно просто актору ножа приписать свойство уточняющее его состояние :o
2 2 1
Landsberg
= Corporal =
Next rank: - Lance Corporal - after 14 points
116

Doom Rate: 2

Posts quality: +7
Ссылка на пост №499 Отправлено: 29.06.20 17:59:18
По какой-то причине переключения на кулаки в этой части кода не происходит.
В чём может быть проблема?



Ready:
TNT1 A 0 A_JumpIfNoAmmo("NoAmmoReady")
KNFG A 1 A_WeaponReady
loop
NoAmmoReady:
TNT1 A 1 A_SelectWeapon("Fist")
stop

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

Как сделать, чтобы декаль на стене от пули зависела от угла вхождения пули в эту стену?
YURA_111
= Sergeant Major =
Next rank: UAC Sergeant Major after 4 points
676

Doom Rate: 1.98

Posts quality: +115
Ссылка на пост №500 Отправлено: 30.06.20 12:47:05
Landsberg пишет:
По какой-то причине переключения на кулаки в этой части кода не происходит.
В чём может быть проблема?


Трудно сказать, но мыслЯ есть:
1) попробуй прописать так - A_JumpIf(CountInv("нужное аммо") == 0, "NoAmmoReady")
Страница 25 из 26Перейти наверх Пред.  1, 2, 3 ... , 24, 25, 26  След.
   Список разделов - Местечко мапперов и моддеров - Тема для новичков. Вопросы по маппингу/моддингу - любые!-2