Автор | Сообщение |
PepeL = UAC Gunner =
| 74 |
Doom Rate: 2 Posts quality: -1 |
Отправлено: 22.07.18 14:26:48 | | | Привет всем, подскажите пожалуйста, создал спрайт "бутылёк", мне нужно чтобы когда его подбераешь, жизнь отнималась на "-5" делал по аналогии аптечки, но вот так в акторе "inventory.amount -5" не срабатывает, как можно замутить "антиаптечку"? // GZDoom UDMF
Добавлено спустя 50 минут 14 секунд:
Ну вроде получилось по другому маленько...
ACTOR BPoison : CustomInventory 101
{
inventory.pickupmessage "You picked up a bottle of poison!"
inventory.pickupsound "misc/bpoison1"
+COUNTITEM
States
{
Spawn:
BPOI A -1
Stop
Pickup:
TNT1 A 0 DamageThing(5)
stop
}
}
только можно ли как то убрать стандарный звук дамага игрока, когда его берёшь? а то звучит 2 звука одновременно... | |
|
| |
YURA_111 UAC Sergeant Major
| 768 |
Doom Rate: 1.98 Posts quality: +136 |
Отправлено: 22.07.18 16:57:48 | | | PepeL: | только можно ли как то убрать стандарный звук дамага игрока, когда его берёшь? а то звучит 2 звука одновременно... |
можно:
A_DamageSelf - ставишь данный экшен (вместо DamageThing) с указанием типа повреждения. Игроку прописываешь данный пейн-тип и стоп-соунд. Причем не забудь установить флаги внутри этой функции - к примеру хочешь ли ты что-бы такая бутылка повреждала даже во время бессмертия и учитывалась бы броня и т.д...
https://zdoom.org/wiki/A_DamageSelf | |
|
| |
PepeL = UAC Gunner =
| 74 |
Doom Rate: 2 Posts quality: -1 |
Отправлено: 22.07.18 17:12:07 | | | YURA_111: | Причем не забудь установить фалги внутри этой функции - к примеру хочешь ли ты что-бы такая бутылка повреждала даже во время бессмертия и учитывалась бы броня и т.д... |
затупил я тут...
TNT1 A 0 A_DamageSelf(5,"SelfDamage") как звук то отключить стандартный дамага DSPLPAIN? | |
|
| |
JSO x - 2nd Lieutenant -
| 1336 |
Doom Rate: 2.26 Posts quality: +726 |
Отправлено: 22.07.18 17:43:13 | | | PepeL, имелось ввиду прописать отключение звука канала именно в акторе игрока. Примерный код:
Actor NewPlayer: DoomPlayer
{
States
{
Pain.SelfDamage: // Будет проигрываться при получении урона типа "SelfDamage".
PLAY A 0 A_StopSound( CHAN_VOICE ) // Вроде, этот канал используется... Если не сработает, пиши "CHAN_BODY".
Goto See
}
}
Есть альтернативный вариант: использовать A_SetHealth.
Actor BPoison: CustomInventory 101
{
Inventory.PickupMessage "You picked up a bottle of poison!"
Inventory.PickupSound "misc/bpoison1"
+COUNTITEM
+INVENTORY.AUTOACTIVATE
States
{
Spawn:
BON1 ABCDCBA 5
Loop
Pickup:
TNT1 A 0
TNT1 A 0 A_SetHealth( Health - 5 )
Stop
}
}
Правда, в этом случае игрок не может погибнуть (A_SetHealth не может убить). Для обхода этого нужно ввести дополнительную проверку на количество жизней, и, если их меньше пяти, использовать A_DamageSelf, A_Die или ещё что-нибудь похожее.
Также недостаток этого способа в том, что HUD-лицо думгая не меняется при получении урона. | |
|
2 |
7 |
1 |
|
|
| |
PepeL = UAC Gunner =
| 74 |
Doom Rate: 2 Posts quality: -1 |
Отправлено: 22.07.18 18:02:14 | | | JSO x
Оооу уважаю, братишка...
Спасибо большое! Респект. | |
|
| |
nailzx128 - Lance Corporal -
| 136 |
Doom Rate: 1.43 Posts quality: +98 |
Отправлено: 23.07.18 22:12:06 | | | Привет всем. Вот у меня к вам такой вопрос. Каким образом можно реализовать речь игрока? Ну, как в играх на Build? Можете подробно рассказать, как подобное реализовать в DOOM? | |
|
| |
LEX SAFONOV - Sergeant Major -
| 597 |
Doom Rate: 1.5 Posts quality: +294 |
Отправлено: 24.07.18 14:12:20 | | | nailzx128: | Привет всем. Вот у меня к вам такой вопрос. Каким образом можно реализовать речь игрока? Ну, как в играх на Build? Можете подробно рассказать, как подобное реализовать в DOOM? |
Делаются кастомные инвентори, которые при подборе вопроизводят звук. Если фразы нужны при убийстве монстров, то через A_GiveToTarget в стейте Death выдаёшь такие инвентори игроку. Ну это если совсем просто.
Вопрос ко всем - в думе, при окончании уровня, начале новой игры и начале новой карты есть "сползающий" эффект у изображения. Возможно ли
этот эффект как то отрубить? | |
|
| |
nailzx128 - Lance Corporal -
| 136 |
Doom Rate: 1.43 Posts quality: +98 |
Отправлено: 24.07.18 14:23:45 | | | LEX SAFONOV: | Делаются кастомные инвентори, которые при подборе вопроизводят звук. Если фразы нужны при убийстве монстров, то через A_GiveToTarget в стейте Death выдаёшь такие инвентори игроку. Ну это если совсем просто. |
Спасибо, попробую таким образом сделать.
LEX SAFONOV: | Вопрос ко всем - в думе, при окончании уровня, начале новой игры и начале новой карты есть "сползающий" эффект у изображения. Возможно ли
этот эффект как то отрубить? |
Заходишь в Options, затем в Display options ищешь опцию Screen Wipe Style. По умолчанию, там установлен параметр Melt. Установи параметр None и будет тебе счастье. | |
|
| |
Manul12 - Warrant Officer -
| 1124 |
Doom Rate: 0.95 Posts quality: +444 |
Отправлено: 24.07.18 16:20:37 | | | nailzx128
А может он спрашивает, можно ли это сделать из вада, а не пользователем? | |
|
2 |
5 |
1 |
|
|
| |
camper = Master Sergeant =
| 472 |
Doom Rate: 1.45 Posts quality: +257 |
Отправлено: 28.07.18 14:24:49 | | | Можно ли замкнуть карту используя порталы? Т.е. Сделать квадратный большой сектор, и противоположные стены сделать порталами? | |
|
| |
N00b Chief Petty Officer
| 922 |
Doom Rate: 2.15 Posts quality: +384 |
Отправлено: 28.07.18 15:46:21 | | | camper
Вполне. Правда, непонятно, зачем. Получается вот такой эффект (число изображений зависит от какого-то конфигурационного параметра, не помню):
|
Рейтинг сообщения: +1, отметил(и): camper |
|
| |
camper = Master Sergeant =
| 472 |
Doom Rate: 1.45 Posts quality: +257 |
Отправлено: 28.07.18 18:50:49 | | | Замкнуть пространство, как в ZAR.
N00b2015: | Получается вот такой эффект |
Понятно, так не годится значит.... | |
|
| |
nailzx128 - Lance Corporal -
| 136 |
Doom Rate: 1.43 Posts quality: +98 |
Отправлено: 29.07.18 19:54:25 | | | Я хочу включить проверку наличия флага NOBLOOD у противников. Каким образом это можно сделать? | |
|
| |
YURA_111 UAC Sergeant Major
| 768 |
Doom Rate: 1.98 Posts quality: +136 |
Отправлено: 29.07.18 20:55:12 | | | nailzx128: | Я хочу включить проверку наличия флага NOBLOOD у противников. Каким образом это можно сделать? |
Попробуй эту функцию
TNT1 A 0 A_CheckFlag("NOBLOOD", "нужный стейт", AAPTR_TARGET)
https://zdoom.org/wiki/A_CheckFlag | |
|
| |
nailzx128 - Lance Corporal -
| 136 |
Doom Rate: 1.43 Posts quality: +98 |
Отправлено: 29.07.18 21:19:43 | | | YURA_111: | Попробуй эту функцию
TNT1 A 0 A_CheckFlag("NOBLOOD", "нужный стейт", AAPTR_TARGET)
|
Эх, к сожалению это не работает. Может, я чтото делаю не так? Я просто поместил эту функцию в Puff-актор.
actor drillpuff
{
+noblockmap +nogravity +randomize +puffonactors +puffgetsowner +ALLOWPARTICLES
scale 0.2
states
{
crash:
tnt1 a 1 a_spawnitem("poedknifehit")
stop
spawn:
melee:
TNT1 A 1 A_CheckFlag("NOBLOOD", "crash", AAPTR_TARGET)
tnt1 a 0 acs_execute(1, 0)
stop
}
} | |
|
| |
N00b Chief Petty Officer
| 922 |
Doom Rate: 2.15 Posts quality: +384 |
Отправлено: 29.07.18 22:28:52 | | | nailzx128
Для начала унаследуй его от BulletPuff.
Далее, в статье про BulletPuff сказано:
| Further customization with the puff can be achieved if using the PUFFONACTORS flag to respect the three flags by using HITTRACER for example, and performing A_CheckFlag for the flags. Currently, tracer is not used with puffs by default and would be the best choice of pointer to perform the flag checking. |
То есть, лучше всего дописать puff'у +HITTRACER и заменить вызов A_CheckFlag на A_CheckFlag("NOBLOOD", "crash", AAPTR_TRACER). |
Рейтинг сообщения: +1, отметил(и): JSO x |
|
| |
nailzx128 - Lance Corporal -
| 136 |
Doom Rate: 1.43 Posts quality: +98 |
Отправлено: 29.07.18 23:16:52 | | |
Хммм, крайне странно получается. Я убрал +puffonactors, +puffgetsowner, +ALLOWPARTICLES и добавил +HITTRACER и теперь всё работает...не так. Скрипт с брызгами крови теперь срабатывает только у того моба, у которого установлен флаг NOBLOOD. Хотя всё должно быть наоборот. Возвращаю все убранные флаги на место - работает у всех, даже с NOBLOOD. ЧЯДНТ?
Проблема решена. Спасибо. | |
|
| |
MasterMind - Major -
| 2675 |
Doom Rate: 1.85 Posts quality: +617 |
Отправлено: 08.08.18 17:54:40 | | | Ребят, подскажите плиз, как узнать через acs все клавиши, на которые забиндено определенное действие? Надо вывести на экран сообщение типа "нажмите ctrl или LMB для того то и того то". Можно конечно поступить тупо и написать "жмите клавишу атаки", но охота же выпендрится. | |
|
1 |
3 |
|
|
| |
alekv - Colonel -
| | 4168 |
Doom Rate: 1.87 Posts quality: +949 |
Отправлено: 08.08.18 18:29:21 | | | MasterMind: | Ребят, подскажите плиз, как узнать через acs все клавиши, на которые забиндено определенное действие? Надо вывести на экран сообщение типа "нажмите ctrl или LMB для того то и того то". Можно конечно поступить тупо и написать "жмите клавишу атаки", но охота же выпендрится. |
Ну вот можно так:
HudMessage(s: "\cfPress ", k: "+MyKeyConfCommand", s:"\cf to do everything O_o"; 0, 1, 0, 512.1, 512.1, 0.0);
+MyKeyConfCommand это либо кастомная команда из кейконф которую ты сам прописал
Либо можно написать как там называется команда атаки +attack ? Вот использовать\открыть точно помню +use |
|
|
1 |
3 |
1 |
|
|
| |
MasterMind - Major -
| 2675 |
Doom Rate: 1.85 Posts quality: +617 |
Отправлено: 08.08.18 18:40:25 | | | alekv
Спасибо большое. Я к АЦС с 2016 года не прикасался, все уже нафиг забыл |
Рейтинг сообщения: +1, отметил(и): alekv |
|
1 |
3 |
|
|
| |