Сайт Doom Power
 ПоискПоиск  ДумерыДумеры ВходВход
Создание монстра в Doom'e Пред.  1, 2, 3, 4, 5, 6, 7, 8  След.
   Список разделов - Местечко Мапперов и Моддеров - Создание монстра в Doom'e
Автор Сообщение
Reiko
= Lance Corporal =
Next rank: (- Master Corporal -) after 33 messages
217

Сообщение Отправлено: 13.08.07 23:47:06

dukenator
Жаль...
===========
У меня проблема - пытаюсь я сделать монстра наподобие iceguy из hexen, сделал почти все статы кроме смерти. Как мне сделать, чтобы когда монстр умерал - разлетался на куски как iceguy?
Guest
= Warrant Officer =
Next rank: (- 1st Lieutenant -) after 42 messages
1028

Сообщение Отправлено: 14.08.07 00:10:27

Reiko :
У меня проблема - пытаюсь я сделать монстра наподобие iceguy из hexen, сделал почти все статы кроме смерти. Как мне сделать, чтобы когда монстр умерал - разлетался на куски как iceguy?

Если смерть не спрайтовая (а раз спрашиваешь, значит нет), то в death-стейте нужно прописать испускание соответствующих прожектайлов с малой скоростью и, возможно, для плавности с lowgravity.
Shadowman
Lieutenant Colonel
Next rank: (- Colonel -) after 105 messages
1985

Сообщение Отправлено: 14.08.07 13:53:34

Вопрос такой - как имитировать поведение монстра наподобие амфибии из Хексена?
Вроде как он подбегает, выныривает и кусает, и пока игрок стоит вплотную, оно кусается (то есть цикл после melee attack проверяет - есть ли игрок рядом, если есть, то кусать дальше), как только игрок отошел - оно снова куда-то заныривает и далее ходит ищет игрока уже ТАМ.
Подозреваю, что мне нужен экшен наподобие A_CPosRefire
Но для ближней атаки такого нету Sad и ничего подходящего в вики сыскать не удалось. Использование же обычных экшенов делает поведение монстра крайне некрасивым (то есть он постоянно будет выпрыгивать, когда кусать, а не 1 раз, как задумывалось).
Вот такие пироги.
Guest
= Warrant Officer =
Next rank: (- 1st Lieutenant -) after 42 messages
1028

Сообщение Отправлено: 14.08.07 13:58:31

Shadowman :
амфибии из Хексена?

Если это зеленая ящерка, выныривающая перед игроком, то она была сделана в Zdoom community project, глянь там. А технически, думается, оно никуда не ныряет и ТАМ не ищет, просто для определенных фреймов спрайт прозрачный. Ведь когда оно перед тобой, пусть и ТАМ, ты через него не перешагнешь, и в самом Хексене вроде как так и было.
Shadowman
Lieutenant Colonel
Next rank: (- Colonel -) after 105 messages
1985

Сообщение Отправлено: 14.08.07 14:09:01

Guest :
Если это зеленая ящерка, выныривающая перед игроком, то она была сделана в Zdoom community project, глянь там.

Глянул. Декорэйт вообще без строчек Mad чистое наследование свойств от монстра хексена без попытки вникнуть в его внутреннее устройство.
Если б я делал точно такую же ящерицу, я бы так и поступил, но у меня задумка иная была, как тут через наследование быть, не знаю...
dukenator
UAC Sergeant Major
Next rank: (Chief Petty Officer) after 56 messages
704

Сообщение Отправлено: 15.08.07 04:46:31

Shadowman
Элементарно.
Это примерно вот так:
States
{
Spawn:
ZVER AB 10
Loop
See:
ZVER ABCD 3 A_Chase
Loop
Missile:
ZVER H 0 A_JumpIfInventory("Hidden",1,30) \\а если зверок уже занырнул?
ZVER HIJ 3 // зверек ныряет
ZVER A 0 A_GiveInventory("Hidden",1)
ZVER A 0 A_HideThing \\все, зверька не видно
ZVER A 0 A_ChangeFlag("NOBLOCKMAP",1) \\он занырнул, верно? а потому пуля его теперь не достанет
ZVER AAAAAAAAAAAAAAAAA 3 A_Chase \\он плывет под водой
ZVER A 0 A_TakeInventory("Hidden",1)
ZVER A 0 A_UnHideThing
ZVER A 0 A_ChangeFlag("NOBLOCKMAP",0)
ZVER JIH 3 \\ он вынырнул
Goto See
Goto See+7 \\если зверек войдет в стат миссиле уже скрытым, то он не погрузиться, а продолжит плыть
Melee:
ZVER E 0 A_JumpIfInventory("Hidden",1,4) \\если зверок к был под водой, то он вынырнет
ZVER EF 5 A_FaceTarget
ZVER G 5 A_SargAttack
Goto See
ZVER E 0 A_UnHideThing
ZVER E 0 A_TakeInventory("Hidden",1)
ZVER A 0 A_ChangeFlag("NOBLOCKMAP",0)
ZVER JIH 3
ZVER EF 5 A_FaceTarget
ZVER G 5 A_SargAttack
Goto See
Death:
ZVER K 3 A_Scream
ZVER L 3 A_Fall
ZVER M 3 A_NoBlocking
ZVER N -1
Stop
}
}

Actor Hidden : CustomInventory
{
Inventory.Amount 1
Inventory.MaxAmount 1
}
Shadowman
Lieutenant Colonel
Next rank: (- Colonel -) after 105 messages
1985

Сообщение Отправлено: 15.08.07 10:36:32

dukenator :
ZVER E 0 A_JumpIfInventory("Hidden",1,4) \\если зверок к был под водой, то он вынырнет
ZVER EF 5 A_FaceTarget
ZVER G 5 A_SargAttack
Goto See

dukenator :
Goto See+7

В целом идею понял, я и забыл, что у монстров тоже инвентарь есть. А вот насчет See ты что-то напутал: у тебя ж в See всего 4 стата, потому экшен Goto See+7 неясно куда выводит.
Потом статы See - это что? по идее это должны быть поиск игрока под водой, то есть в See присутствует ныряние изначально. Потому если после атаки отправлять на See - тоже надо прописывать стэйты ныряния и т.п.

ЗЫ. Почему слово "команда" автозаменяется на community?
dukenator
UAC Sergeant Major
Next rank: (Chief Petty Officer) after 56 messages
704

Сообщение Отправлено: 15.08.07 14:01:50

Shadowman
Извини, ошибочка вышла.
Вот так:
Spawn:
ZVER AB 10
Loop
See:
ZVER ABCD 3 A_Chase
Loop
Missile:
ZVER H 0 A_JumpIfInventory("Hidden",1,30) \\а если зверок уже занырнул?
ZVER HIJ 3 // зверек ныряет
ZVER A 0 A_GiveInventory("Hidden",1)
ZVER A 0 A_HideThing \\все, зверька не видно
ZVER A 0 A_ChangeFlag("NOBLOCKMAP",1) \\он занырнул, верно? а потому пуля его теперь не достанет
ZVER AAAAAAAAAAAAAAAAA 3 A_Chase \\он плывет под водой
ZVER A 0 A_TakeInventory("Hidden",1)
ZVER A 0 A_UnHideThing
ZVER A 0 A_ChangeFlag("NOBLOCKMAP",0)
ZVER JIH 3 \\ он вынырнул
Goto See
Goto Missile+7 \\если зверек войдет в стат миссиле уже скрытым, то он не погрузиться, а продолжит плыть
Melee:
ZVER E 0 A_JumpIfInventory("Hidden",1,4) \\если зверок к был под водой, то он вынырнет
ZVER EF 5 A_FaceTarget
ZVER G 5 A_SargAttack
Goto Missile
ZVER E 0 A_UnHideThing
ZVER E 0 A_TakeInventory("Hidden",1)
ZVER A 0 A_ChangeFlag("NOBLOCKMAP",0)
ZVER JIH 3
ZVER EF 5 A_FaceTarget
ZVER G 5 A_SargAttack
Goto Missile
Death:
ZVER K 3 A_Scream
ZVER L 3 A_Fall
ZVER M 3 A_NoBlocking
ZVER N -1
Stop
}
}
Shadowman
Lieutenant Colonel
Next rank: (- Colonel -) after 105 messages
1985

Сообщение Отправлено: 15.08.07 14:56:29

dukenator
Ок, спс. Попробую прикрутить Smile
Reiko
= Lance Corporal =
Next rank: (- Master Corporal -) after 33 messages
217

Сообщение Отправлено: 11.09.07 15:02:49

хелп, А как делать колонну которая при виде игрока стреляет плазмой?(и когда игрок исчезает из поля зрения колонны она перестает стрелять)
Falcor
- Sergeant Major -
Next rank: (= Sergeant Major =) after 43 messages
577

Сообщение Отправлено: 11.09.07 15:09:37

Обычный монстр с нулевой скоростью передвижения.
Eternal
Lieutenant Colonel
Next rank: (Lieutenant Colonel) after 34 messages
1936

Сообщение Отправлено: 11.09.07 15:10:17

Reiko :
А как делать колонну которая при виде игрока стреляет плазмой?

Турельку хочешь сделать? Smile
Ну как... делаешь колонну монстром без скорости, и всё. Лучше вот скажи как сделать чтобы оно всегда стреляло? Видит игрока, или нет. Просто перманентно...
без перерыва.
entryway
- Warrant Officer -
Next rank: (= Warrant Officer =) after 25 messages
965

Сообщение Отправлено: 11.09.07 15:23:57

dukenator :
ZVER AAAAAAAAAAAAAAAAA

это декорейт так смешно выглядит?
Reiko
= Lance Corporal =
Next rank: (- Master Corporal -) after 33 messages
217

Сообщение Отправлено: 11.09.07 15:38:21

Eternal
вот помудохался и написал вот Surprised

actor tower
{
  obituary "%o was perforated by a turrel."
  health 1000
  radius 16
  height 60
  mass 10000
  speed 0
  painchance 170
  bloodcolor grey
  MONSTER
  +FLOORCLIP
  states
  {
  Spawn:
    TLP2 ABCD 10 A_Look
    loop
  See:
    TLP2 AABBCCDD 3 A_Chase
    loop
  Missile:
    TLP2 A 10 A_FaceTarget
    TLP2 A 4 bright A_CustomMissile("plasmaball",50,0,0,0)
    TLP2 A 1 A_CPosRefire
    goto Missile+1
  Pain:
    TLP2 A 3
    TLP2 A 3 A_Pain
    goto spawn
  Death:
    TLP2  A 1
    TLP2  B 1 A_Scream
    TLP2 C 5
    TLP2 D 5 A_Playsound("baby/death")
    TLP2 A -1
    stop
  }
}
Eternal
Lieutenant Colonel
Next rank: (Lieutenant Colonel) after 34 messages
1936

Сообщение Отправлено: 11.09.07 16:06:08

Reiko
Ну и я о том же, простенько и со вкусом Smile Токо спрайтов смерти нужно...бы.
А теперь попробуй сделать так, чтобы оно палило (куда-то) просто так, без игрока...
Midnighter
Marine
Next rank: (Marine 1st class) after 9 messages
31

Сообщение Отправлено: 11.09.07 16:18:48

А возможен на базе непрерывно стреляющей турельки портал для монстров? Хочется добавить подобное.
nprotect
= 1st Lieutenant =
Next rank: (- 2nd Lieutenant -) after 11 messages
1239

Сообщение Отправлено: 11.09.07 16:37:31

Eternal :
А теперь попробуй сделать так, чтобы оно палило (куда-то) просто так, без игрока...

а нельзя разве скриптом? ну что-нибудь типа Spawn_Projectile, я просто не помню синтаксиса
Eternal
Lieutenant Colonel
Next rank: (Lieutenant Colonel) after 34 messages
1936

Сообщение Отправлено: 11.09.07 16:55:37

nprotect
Можно, только неизвестно будет ли это в здум-ин-дум работать, может будет, а может нет, нужно же через декорэйт мутить. В гозоформате можно конечно же...
nprotect
= 1st Lieutenant =
Next rank: (- 2nd Lieutenant -) after 11 messages
1239

Сообщение Отправлено: 11.09.07 17:32:17

Eternal
не, зачем decorate. просто стационарный скрипт, open к примеру. или просто при пересечении линии. а потом вызывать его через определенный промежуток, delay(xx) и restart
Eternal
Lieutenant Colonel
Next rank: (Lieutenant Colonel) after 34 messages
1936

Сообщение Отправлено: 11.09.07 17:35:44

nprotect
Дык я ж про формат Zdoom-in-doom. Какой open...
Вот какие скрипты декорейт понимает? Какие-то ведь понимает, стало быть они будут работать и не в хексен формате?
nprotect
= 1st Lieutenant =
Next rank: (- 2nd Lieutenant -) after 11 messages
1239

Сообщение Отправлено: 11.09.07 18:25:05

Eternal :
Дык я ж про формат Zdoom-in-doom. Какой open... Вот какие скрипты декорейт понимает? Какие-то ведь понимает, стало быть они будут работать и не в хексен формате?

а, это я дурак, извиняюсь, проглядел. decorate понимает только вызов внешнего скрипта, т.е. сам скрипт должен быть прописан в SCRIPTS, а zdoom-in-doom просто не даст создать его
dukenator
UAC Sergeant Major
Next rank: (Chief Petty Officer) after 56 messages
704

Сообщение Отправлено: 12.09.07 01:18:30

Midnighter
То есть портал, который вызывал бы уродцев, один за другим?

Eternal :
Вот какие скрипты декорейт понимает?

Он понимает ACS-скрипты, забитые в wad-файл.
Eternal
Lieutenant Colonel
Next rank: (Lieutenant Colonel) after 34 messages
1936

Сообщение Отправлено: 12.09.07 02:00:51

dukenator :
Он понимает ACS-скрипты, забитые в wad-файл.

Открыл...америку... Это и так понятно... Ладно ещё раз. Формат doom-in-doom понимает декорэйт, но не понимает хексен скрипты, декорэйт понимает скрипты в том случае если формат вадника zdoom-in-hexen.
Теперь вопрос:
Как сделать постоянно бесцельно стреляющего монстра (факел например) используя только декорэйт? Ну то есть без а_чейза.
Надеюсь теперь по полочкам всё?
Guest
= Warrant Officer =
Next rank: (- 1st Lieutenant -) after 42 messages
1028

Сообщение Отправлено: 12.09.07 02:58:21

dukenator :
Он понимает ACS-скрипты, забитые в wad-файл.

Скрипты из одной инструкции можно писать прямо в Декорейт безо всяких зашиваний.

EDIT:

Eternal :
Как сделать постоянно бесцельно стреляющего монстра (факел например) используя только декорэйт? Ну то есть без а_чейза.

Делаешь простой неодушевленный предмет, в SPAWN-стейт которого зашиваешь пуск прожектайлов нужного типа в фиксированном направлении и будет тебе счастье.
Eternal
Lieutenant Colonel
Next rank: (Lieutenant Colonel) after 34 messages
1936

Сообщение Отправлено: 12.09.07 06:08:58

Guest :
и будет тебе счастье.

Точно, я прям утону весь в щасте аж.
Guest
= Warrant Officer =
Next rank: (- 1st Lieutenant -) after 42 messages
1028

Сообщение Отправлено: 12.09.07 10:14:32

Eternal :
Точно, я прям утону весь в щасте аж.

Ну как же без этого, так всегда бывает, когда получается Smile
dukenator
UAC Sergeant Major
Next rank: (Chief Petty Officer) after 56 messages
704

Сообщение Отправлено: 12.09.07 10:34:42

Guest :
фиксированном направлении и будет тебе счастье.

А как?
Там ведь направление задается относительно позиции игрока!
Guest
= Warrant Officer =
Next rank: (- 1st Lieutenant -) after 42 messages
1028

Сообщение Отправлено: 12.09.07 11:03:31

dukenator :
Там ведь направление задается относительно позиции игрока!

Это кто тебе сказал? Посмотри, как в ТА сделан снаряд ледяной пушки - при взрыве он испускает сферическую волну прожектайлов и игрок там нипричем.
dukenator
UAC Sergeant Major
Next rank: (Chief Petty Officer) after 56 messages
704

Сообщение Отправлено: 12.09.07 11:07:56

Guest
Сферическую волна делается при помощи отклонений по горизонтали и вертикали от точки 0 а точка 0 это у нас
что?
Игрок!
Shadowman
Lieutenant Colonel
Next rank: (- Colonel -) after 105 messages
1985

Сообщение Отправлено: 12.09.07 11:13:17

dukenator
А разве нельзя в spawn-стат прописать атаку вроде A_CustomMissile и в параметрах указать углы отклонения снарядов (от позиции монстра - то есть от того, куда он "смотрит") Получишь круговую атаку если правильно углы записать.
Страница 7 из 8 Перейти наверх Пред.  1, 2, 3, 4, 5, 6, 7, 8  След.
   Список разделов - Местечко Мапперов и Моддеров - Создание монстра в Doom'e

© phpbb.com