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

Doom Rate: 1.87

Posts quality: +773
Ссылка на пост №1461 Отправлено: 24.11.16 23:58:07
А как сделать свой шрифт в моде аля как это реализовано в Project Brutality
DeXiaZ
- 1st Lieutenant -
Next rank: = 1st Lieutenant = after 138 points
1702

Doom Rate: 2.29

Posts quality: +493
Ссылка на пост №1462 Отправлено: 25.11.16 12:36:12
DOOMGABR, взять эту прогу и использовать. Для остальных элементов графики - заменять в wad файле соответственные графические файлы (смотреть в IWADах).

У меня вопрос. Мне нужно сделать так, чтобы при убийства монстра, он отлетал далеко. Weapon.kickback как-то не подходит, потому что мне нужно, чтобы монстр отлетал ТОЛЬКО при смерти, а не всегда при попадании в монстра.

В альтернативу я накатал такой код (от монстра лишь часть стэйтов):
  Death:
    TROO A 0 A_NoBlocking
	TROO A 0 A_Scream
    TROO A 0 A_CustomMissile("DeadImpS",25,0,225,CMF_AIMDIRECTION|CMF_ABSOLUTEANGLE)
    Stop
  XDeath:
    TROO A 0 A_NoBlocking
	TROO A 0 A_Scream
    TROO A 0 A_CustomMissile("DeadImpS",25,0,225,CMF_AIMDIRECTION|CMF_ABSOLUTEANGLE)
    Stop
  }
}

//Flying away dead corpses
actor DeadImpS : Rocket 30000
{
scale 0.2
Health 40
Projectile
  -SOLID
  +SKULLFLY
  +NOBLOCKMONST
  +THRUGHOST
  +THRUACTORS
  +THRUSPECIES
  -ROCKETTRAIL
  SeeSound "none"
  DeathSound "none"
States
  {
  Spawn:
    TROO A 1
    Loop
	  Death:
    TROO A 0
    Stop
  }
}


Это работало кое-как ранее, но через раз. Когда я сделал большую карту в длину (реально большую) - эффект перестал работать совсем. Поэтому я стал уже лепить в стейт Death/XDeath уже самые разные флаги (сейчас вы видите их), но это не помогает ситуации.

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

Суть в том, чтобы монстр только при смерти отлетал далеко, минуя любые препятствия (для комичности ситуации, если что). Как именно сделано - неважно, лишь бы работало. Заранее благодарю.
1 3 3
alekv
- Colonel -
Next rank: = Colonel = after 272 pointsМодератор форума
4168

Doom Rate: 1.87

Posts quality: +949
Ссылка на пост №1463 Отправлено: 25.11.16 13:47:26
Fantom
A_Recoil(-1) в стейте смерти, если еще сильнее пиши -4.. -10 или +10 если надо что бы в другую сторону отбрасывало.
Можно еще и A_ChangeVelocity(...) использовать, но хз зачем.

DOOMGABR
По шрифтам можешь почитать тут [Руководство]Шрифты в портах.

Рейтинг сообщения: +2, отметил(и): DeXiaZ, DOOMGABR
1 3 1
DeXiaZ
- 1st Lieutenant -
Next rank: = 1st Lieutenant = after 138 points
1702

Doom Rate: 2.29

Posts quality: +493
Ссылка на пост №1464 Отправлено: 25.11.16 14:25:49
alekv, не очень подходит - иногда монстр остается на месте, а еще он ударяется в препятствия на карте вроде двери. Ноуклипная кукла улетала без проблем вперед.

Если что, у меня платформер с видом сбоку. Подробнее говорить не могу, этот проект должен был быть вообще в секрете до последнего, но я не осиливаю.

UPD: Если что, смерть не анимирована больше никак. Тот же спрайт импа, только отлетает. Он отлетал за пределы карты и это было хорошо, пока система не стала давать сбои почти в 100% случаев.
1 3 3
ZZYZX
- UAC Commissar -
Next rank: = UAC Commissar = after 16 pointsМодератор форума
6284

Doom Rate: 1.65

Posts quality: +1630
Ссылка на пост №1465 Отправлено: 25.11.16 14:43:47
Попробуй сделать фастпроджектайл, который при смерти проверяет наличие монстров рядом A_RadiusGive, и если есть монстры с 0хп, то пушит прочь от проджектайла с какой-то скоростью.
И пользовать этот фастпроджектайл вместо A_CustomBulletAttack.

Схема такая: в Death проджектайла сначала вызываешь ацс, чтобы запомнить текущее положение проджектайла в глобальной переменной ацс (X,Y,Z).
Потом сразу после этого делаешь A_RadiusGive итема с флагами RGF_MONSTERS и ещё какими тебе там надо (луркай A_RadiusGive)
Итем должен наследоваться от CustomInventory и вызывать ацс при поднимании (Pickup).
После этого считаешь направление до проджектайла (по сохранённым X/Y/Z против GetActorX/Y/Z монстра-активатора итема) и пушишь монстра через SetActorVelocity.

Да, ВСЕ перечисленные скрипты надо вызывать через ACS_(Named)ExecuteWithResult! Иначе будет лагать и работать через жопу.

Рейтинг сообщения: +1, отметил(и): theleo_ua
2 2 1
alekv
- Colonel -
Next rank: = Colonel = after 272 pointsМодератор форума
4168

Doom Rate: 1.87

Posts quality: +949
Ссылка на пост №1466 Отправлено: 25.11.16 18:42:32
Fantom:
alekv, не очень подходит - иногда монстр остается на месте, а еще он ударяется в препятствия на карте вроде двери. Ноуклипная кукла улетала без проблем вперед.

Если что, у меня платформер с видом сбоку. Подробнее говорить не могу, этот проект должен был быть вообще в секрете до последнего, но я не осиливаю.

UPD: Если что, смерть не анимирована больше никак. Тот же спрайт импа, только отлетает. Он отлетал за пределы карты и это было хорошо, пока система не стала давать сбои почти в 100% случаев.

Ну как это так работает через раз, значит в чем-то есть причина.. A_ChangeVelocity юзай, не должно быть проблем..
Возможно надо давать скорость объекту в кадре с 1 тиком.. т.е.
TROO A 1 A_ChangeFla(NOINTERACTION,TRUE)// что бы не ударялся
TROO A 1 A_ChangeVelocity(velx+10,vely,velz,CVF_REPLACE)// Так же скорость будет зависеть еще и от гравитации выставленной на уровне. Если +10 слишком медленно, то мб надо флоат писать т.е. 10.0, там тестить надо, у меня и так и так норм работает.

Ну и A_Recoil тоже должно норм работать. Вообще странно что оно не работает. При смерти монстр в любом случае попадает в стейт смерти и если гозза проигнорила функцию, значит не успела ее выполнить, как вот с спавнИтемЕх бывает

Или может я не понял сути проблемы.. ?
1 3 1
DeXiaZ
- 1st Lieutenant -
Next rank: = 1st Lieutenant = after 138 points
1702

Doom Rate: 2.29

Posts quality: +493
Ссылка на пост №1467 Отправлено: 25.11.16 20:20:23
ZZYZX, спасибо за вариант, оставлю это на план Z, ибо это крайне костыльный вариант.

alekv:
Или может я не понял сути проблемы.. ?

Возможно.

Итак, у меня была тестовая карта. Я создал тот код в декорейте (ну, он был не в точности таким, но весьма похожим). Он работал - монстры улетали при смерти. Потом я создал НУЖНУЮ мне карту. Она с видом сбоку, спроектированная в одну линию. Её длина 22907.

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

Добавлено спустя 34 секунды:

Я попробовал уже миксовать - я делал куклу реальным актором, который шел в стейт смерти и рекойлом толкался - но почему-то он не толкается, а "так" - хотя бы появляется.

Добавлено спустя 13 часов 47 минут 50 секунд:

Заставил работать стабильно, и выглядит это даже лучше, чем в собственной бете кода (когда монстры всё же отлетали, хоть и не всегда):
  Death:
    TROO A 0 A_NoBlocking
	TROO A 0 A_Scream
    TROO A 0 a_spawnitemex("DeadImpS")
    Stop
  XDeath:
    TROO A 0 A_NoBlocking
	TROO A 0 A_Scream
    TROO A 0 a_spawnitemex("DeadImpS")
    Stop
  }
}

//Flying away dead corpses
actor DeadImpS : DoomImp 30000
{
scale 0.2
Health 0
  -SOLID
  +NOBLOCKMONST
  +THRUACTORS
  +THRUSPECIES
  SeeSound "none"
  DeathSound "none"
States
  {
  Spawn:
   TROO A 0
    Goto death
	  Death:
    TROO A 999 A_Recoil(100)
	  XDeath:
	 TROO A 999 A_Recoil(100) 
    Stop
  }
}


Да, это крайне костыльный метод, но не пришлось с ACS извращаться.
alekv, с меня причитается - твой ник будет в credits, я бы до A_Recoil сам бы не допёр, спасибо!
1 3 3
Cartoteka
= UAC Gunner =
Next rank: - Corporal - after 6 points
74

Doom Rate: 2

Posts quality: +63
Ссылка на пост №1468 Отправлено: 26.11.16 19:50:47
Всем привет.

Можно ли как-то сделать так, чтобы определённые спрайты не имели коллизии?
TesaQ
= Warrant Officer =
Next rank: - 2nd Lieutenant - after 141 points
1149

Doom Rate: 1.72

Posts quality: +368
Ссылка на пост №1469 Отправлено: 26.11.16 21:15:58
Cartoteka
поставь актору флажок -SOLID

Рейтинг сообщения: +1, отметил(и): Cartoteka
1
DeXiaZ
- 1st Lieutenant -
Next rank: = 1st Lieutenant = after 138 points
1702

Doom Rate: 2.29

Posts quality: +493
Ссылка на пост №1470 Отправлено: 26.11.16 21:28:53
Cartoteka, определенные СПРАЙТЫ?

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

Вкратце, либо флаг ставишь "-SOLID", либо, что посоветую я: "+NOCLIP". Можно ставить оба.

Рейтинг сообщения: +1, отметил(и): Cartoteka
1 3 3
Cartoteka
= UAC Gunner =
Next rank: - Corporal - after 6 points
74

Doom Rate: 2

Posts quality: +63
Ссылка на пост №1471 Отправлено: 26.11.16 21:46:25
Fantom:
определенные СПРАЙТЫ?


Я имел в виду спрайты из секции Obstacles. Деревья там, бочка с огнём, колонны. Вооот. Извините, если непонятно написал.
DeXiaZ
- 1st Lieutenant -
Next rank: = 1st Lieutenant = after 138 points
1702

Doom Rate: 2.29

Posts quality: +493
Ссылка на пост №1472 Отправлено: 26.11.16 22:16:54
Cartoteka, ничего страшного, просто стоит понимать, что "спрайты" - это как кожа. Кожу отдельно от человека нельзя назвать человеком.

Редактируем мы в программном смысле не спрайты, а "actors".

В общем, -SOLID или +NOCLIP помогут. Удачи!

Рейтинг сообщения: +2, отметил(и): theleo_ua, Cartoteka
1 3 3
ZZYZX
- UAC Commissar -
Next rank: = UAC Commissar = after 16 pointsМодератор форума
6284

Doom Rate: 1.65

Posts quality: +1630
Ссылка на пост №1473 Отправлено: 26.11.16 22:20:23
Fantom:
Просто если речь идет за то, чтобы спрайты одного и того же актора обладали разными параметрами коллизии

A_ChangeFlag("NOCLIP", false)
A_ChangeFlag("NOCLIP", true)

Рейтинг сообщения: +2, отметил(и): ChaingunPredator, DeXiaZ
2 2 1
Cartoteka
= UAC Gunner =
Next rank: - Corporal - after 6 points
74

Doom Rate: 2

Posts quality: +63
Ссылка на пост №1474 Отправлено: 26.11.16 23:16:11
И ещё один, наверное, довольно глупый вопрос. Где это править? Я изначально думал, что это можно будет сделать в SLADE, но либо это делается не там, либо я не нашёл, где это нужно сделать.
DeXiaZ
- 1st Lieutenant -
Next rank: = 1st Lieutenant = after 138 points
1702

Doom Rate: 2.29

Posts quality: +493
Ссылка на пост №1475 Отправлено: 26.11.16 23:20:13
Cartoteka, Slade - это программа для редактирования. Она отлично подходит для того, о чем ты спрашивал.

Это дело делается в decorate. Но я так понимаю, этого файла в твоем ваде/пк3 нет. Значит, его нужно создать и вбивать коды, которые будут изменять оригинальные, или же дополнять.

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

Doom Rate: 1.64

Posts quality: -18
Ссылка на пост №1476 Отправлено: 27.11.16 03:34:11
Как узнать, где находится итем в (любой из оригинальных вадов) игре, например Мегасфера? Чтобы поближе к началу уровня, и не топать до неё в конец того же уровня через 10 дверей.
Никак не могу найти местоположение BigLamp.
ZZYZX
- UAC Commissar -
Next rank: = UAC Commissar = after 16 pointsМодератор форума
6284

Doom Rate: 1.65

Posts quality: +1630
Ссылка на пост №1477 Отправлено: 27.11.16 04:31:16
aivar242
Не въехал в суть вопроса.
2 2 1
DeXiaZ
- 1st Lieutenant -
Next rank: = 1st Lieutenant = after 138 points
1702

Doom Rate: 2.29

Posts quality: +493
Ссылка на пост №1478 Отправлено: 27.11.16 08:53:30
ZZYZX, он имеет в виду, на каких картах какие предметы установлены разработчиками.

aivar242. Открываешь Doom Builder, жмешь F3 (поиск). Там выбираешь поиск Light Sources и выбираешь BigLamp. И тыкаешь на каждой карте поиском, пока не найдешь. И да, чтобы процесс шёл быстрее - можно нажимать в File -> Reopen another map in this WAD, дабы не тыкать настройки открытия карты по 30 раз.
1 3 3
ZZYZX
- UAC Commissar -
Next rank: = UAC Commissar = after 16 pointsМодератор форума
6284

Doom Rate: 1.65

Posts quality: +1630
Ссылка на пост №1479 Отправлено: 27.11.16 18:04:37
Я не понимаю просто, не проще сделать свою карту, на которой всё стоит на спавне?
2 2 1
MyNameIs
= 1st Lieutenant =
Next rank: - Captain - after 36 points
2054

Doom Rate: 2.04

Posts quality: +893
Ссылка на пост №1480 Отправлено: 27.11.16 23:57:13
такой вопрос.
плутония, тнт и дум2 для использования в качестве ивадов чем-то отличаются кроме текстур и музыки? в плутонию и тнт я особо не играл, всего не знаю.
если нет отличий, то, получается, если в вад запихать всё своё, можно использовать любой из этих трёх?
1 1 1
Страница 74 из 200Перейти наверх Пред.  1, 2, 3 ... 73, 74, 75 ... 198, 199, 200  След.
   Список разделов - Флуд и устаревшие темы - Тема для новичков. Вопросы по маппингу/моддингу - любые!