А можно ли как-нибудь скриптом заморозить монстра?
Скрытый текст:
ну, если не заморозить, то я кое-что придумал, вот только это очень массивно выходит, для каждого врага свой скрипт нужен может, это можно написать полегче?
script 19 OPEN
{
SetActorProperty(27,APROP_Health,100);
while (true)
{
SetActorProperty(27,APROP_Friendly,TRUE);
int healthguard1 = GetActorProperty(27,APROP_Health);
if (100>healthguard1)
//если атаковать врага, он перестаёт быть дружным и пытается ломать лица. некоторое время.
{
SetActorProperty(27,APROP_Friendly,FALSE);
SetActorProperty(27,APROP_Health,100);
delay(100);
}
delay(2);
}}
Как сделать нейтральных врагов (то есть тех, которые атакуют и игрока, и других монстров)?
Пишешь скрипт, который рандомно таргетит игроков, если они есть в поле видимости. Скрипт сложный. Не советую. Но если возьмёшься, то читай SetActorPointer и A_RadiusGive, возможно в сочетании с APROP_Friendly.
MyNameIs Может и можно, но помню там какие-то проблемы были и кажется что так просто не заморозить его.. Придется в декорейте актору прописывать стейт заморозки.. вообще есть же у хексена или еретика не помню.. оружие или магия которая замораживала конкретного монстра, думаю можно сделать что-то подобное, есть даже стейты специальные. Вот пару ссылок, почитай пока знающий не ответил Classes:FrostMissile Damage_types#Ice Actor_states ice
А еще помню писал какую-то хрень, дробовик замораживал монстра, а другой ядом травил, писал кажется еще на старом декорейте и не особо продумывая.
В общем нашел, может поможет хоть как-то, там конечно бардак на карте(я там всякое тестил..) и там 2 супершотгана на крарте, 1 морозит 2ое травит, все что не дробовик можешь не поднимать, это я там инвентарь тестил + еще что-то: Ссылка
Добавлено спустя 27 минут 14 секунд:
ZZYZX:
Пишешь скрипт, который рандомно таргетит игроков, если они есть в поле видимости. Скрипт сложный. Не советую. Но если возьмёшься, то читай SetActorPointer и A_RadiusGive, возможно в сочетании с APROP_Friendly.
Так можно еще сделать монстров с флагом френдли которые изначально агрятся на других монстров, и сделать проверку дистанции до игрока, если игрок рядом, то после того как у монстра не будет цели, он переключится на игрока который ближе к примеру ну или просто рендомно выбирает себе цель из игроков и монстров.. а вообще да, скрипт довольно сложный.
Народ где-то видел схему, где показана и расписана система нанесения повреждений от BFG9000, но никак не могу сейчас найти. Может кто знает где лежит ?
YURA_111 Не в тот раздел. Doom и его порты. Если вкратце и двумерно --- производится выстрел зелёным шаром, запоминается направление выстрела, после детонации шара небольшая задержка, после неё выпускается 40 хитскановых лучей в виде угла 90 градусов с биссектрисой по запомненному направлению. Подробности здесь: BFG FAQ (на английском).
Прошу подсказки! Я занялся созданием HD спрайта Какодемона, спрайты всех состояний, кроме смерти уже готовы, вот примеры спрайтов: А теперь вопрос. Учитывая, что я делаю спрайты из 3D модели, то у меня есть возможность сделать до 16 углов вращения в Zdoome, если не ошибаюсь. Но как сделать, чтобы они все отображались в игре? Их ведь нужно прописать с помощью decorate? И какие названия тогда должны быть у спрайтов, чтобы не использовались отзеркаленные слева-направо?
Выложи 3д модель лучше, только не тут, а где-нибудь около думсдея. А то там модели говно.
А вообще у спрайтов есть кадры 1-8, где 1=перед, 2 = 45 влево, 3 = 90 влево, 4 = 135 влево, 5=зад, 6=135 вправо, 7=90 вправо, 8=45 вправо. Спрайты дума называются например A1, A2A8, A3A7, A4A6, A5. Чтобы не было отражения, убираешь вторую A и пишешь вместо этого все кадры от 1 до 8. И да, прописывать в декоре.
да, 16 ракурсов, но.. ты же заменяешь оригинального какодемона? зачем тогда лезть в декорейт?
Затем, что Scale.
Добавлено спустя 2 минуты 43 секунды:
YURA_111:
Народ где-то видел схему, где пок4азана и расписана система нанесения повреждений от BFG9000, но никак не могу сейчас найти. Может кто знает где лежит ?
В момент разрыва шара из игрока выстреливают 40 лучей в направлении угла проджектайла шара (оно же "направление выстрела"). 90 градусов. Дистанция 1024. Урон каждого луча рандомно от 8 до 120.
Если не хочешь рисовать одинаковые спрайты для зеркальных изображений - можно писать POSSA2A8, например. Если 16 - помимо 1-8 используются также 9, A-G, которые вставляются посреди уже существующих ротаций, чтобы не нарушать совместимость (POSSA9, POSSAF).
Я вот тут начал делать HUB уровни.. как бы все хорошо работает, пройденные уровни остаются пройденными когда возвращаешься, но хочется что бы воскрешались монстры... И вот задумался может есть какие флажки специальные? Типа прописал такой-то флаг актеру и он не будет сохраняться как поднятый\убитый?
Так-то в случае с монстром уже подумываю просто сделать вечное возрождение спустя 1-2мин.. но это не совсем то что надо.
Добавлено спустя 8 часов 57 минут 8 секунд:
Скажите пожалуйста какое максимальное кол. переменных можно писать вне скрипта? Просто столкнулся с очень странным поведением скрипта.. у меня там переменных все скрипта огого.. вот и думаю может последние пару были лишними? Или по барабану?