Created
July 24, 2020 23:31
-
-
Save DartPower/f68dd6a079a4cbf9265a541d16e57f14 to your computer and use it in GitHub Desktop.
Sample DECORATE
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| ACTOR NewZombieMan : ZombieMan replaces ZombieMan 10000 | |
| // ACTOR нужно писать всегда при создании любого объекта (актора). | |
| // Название NewZombieMan говорит нам о названии моба. © Кэп | |
| // Двоеточие говорит о наследственнмо акторе, с которого береться код. Код в данном акторе будет земенять тот код, который в наследственном акторе. | |
| // Название наследственного актора. Должен существовать, иначе игра скажет Вам что такого актора нет. | |
| // replaces говорит о полной замене всех на карте (например) данного вида на этот вид. Т.е. заменятся все зомбимены на этот. | |
| // Название заменяемого объекта. | |
| // DoomEdNum. Число для редактора карт. Чтобы можно было поставить как отдельного актора. Тут replaces может быть не так уж и обязателн. | |
| { | |
| Health 100 // Задаем жизнь как у игрока. | |
| Speed 25 // Задаем скорость как у плазменного шара. | |
| PainChance 255 // Постоянно будет переходить в состояние боли при нанесении ему урона. | |
| SeeSound "grunt/pain" // Когда увидет игрока, будет воспроизводить звук боли. | |
| DropItem "ShellBox" // После смерти будет дропать актор коробки с гильзами для шотгана. | |
| Monster // Задаем инструкцию, что данный актор - враждебный объект. | |
| States // Здесь задается структура сценового поведения актора. Состояния спавна, зрения, боли, атаки, смерти и воскрешении арчвайлом. | |
| { | |
| Spawn: // Состояние спавна. Задаем код того, что будет происходить при появлении на карте. | |
| // Дальше идет структура в таком формате: "Первые 4 символа названия спрайта" "5ый символ имени лампа спрайта" "скорость в тиках" "функция" | |
| // "5ый" символ можно использовать в качестве анимации. В данном случае повторяются последовательно POSSA0 и POSSB0 за 10 тиков. И вызывают функцию A_Look 2 раза. | |
| // Символы спрайтов берем из IWAD, можно посмотреть в SLADE, ну и на вики посмотреть код других акторов. | |
| // В думе понятие тиков: 35 тиков = 1 секунда. | |
| // Функции можно взять с вики. В данном случае это функция, которая вызывает состояние See, когда цель увидет игрока. | |
| POSS AB 10 A_Look | |
| Loop // Делаем цикл для состояния спавна. | |
| See: // Состояние "зрения". Начало другого состояния. | |
| POSS AABBCCDD 4 A_Chase // В данном случае функция A_Chase, которая вызывается 8 раз за 4 тиков, ведет вражеского актора к игроку. | |
| Loop | |
| Melee: // Здесь пусто, потому что Melee пропускается, и вызывается сразу же Missile. При данном раскладе враг может атаковать даже вплотную к игроку. Если хотите сделать что-то типа "укуса", то можно эту функцию расшириь, сделав, например как следующая. | |
| Missile: // Состояние атаки на дистанции. | |
| POSS E 10 A_FaceTarget // Функция прицеливания в игрока. | |
| POSS F 8 A_PosAttack // Стандартная атака зомби. Можно поменять, например на A_FireCustomMissile("Название любого актора фаерболла например") | |
| POSS E 8 // Пусто, просто анимация, без функций. | |
| Goto See // В данном случае, идет передарессация на состояние зрения. | |
| Death: | |
| POSS H 5 | |
| POSS I 5 A_Scream // Функция звука смерти. | |
| POSS J 5 A_NoBlocking // Функция разблокировки в физическом смысле. Можно будет проходить сквозь труп. | |
| POSS K 5 | |
| POSS L -1 // -1 в данном случае бесконечное количество тиков. Какбы данное действие остается навсегда, пока не смениться карта. | |
| Stop // Остановка актора на последнем действии в текущем состоянии. | |
| } | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment