Автор | Сообщение |
MasterMind - Major -
 | 2677 |
 Doom Rate: 1.85 Posts quality: +618 |
Отправлено: 24.02.16 12:37:03 | |
|
Как можно сделать монстра, который будет высасывать здоровье игрока с помощью атак ближнего боя (missile)? Скачал мод Demon Eclipse, там в описании было два таких монстра, а на деле оказалось что в ваде нет и половины тех, что из описания. |
|
|
1 |
3 |
 |
|
| |
MyNameIs = 1st Lieutenant =
 | 2072 |
 Doom Rate: 2.02 Posts quality: +915 |
Отправлено: 24.02.16 15:15:17 | |
|
MasterMind есть мысль одновременно дамажнуть игрока и хильнуть монстра HealThing'ом.. |
|
|
| |
ZZYZX - UAC Commissar -
 |  | 6284 |
 Doom Rate: 1.65 Posts quality: +1633 |
Отправлено: 24.02.16 17:13:30 | |
|
Порталы вроде хавают в себя проджектайлы и выстрелы. В смысле, секторные порталы, которые на полу или потолке. Можно сделать текстуру на портале и тогда она тоже будет хавать выстрелы. |
|
|
2 |
2 |
1 |
 |
|
| |
Sabhotep = Master Sergeant =
 | 498 |
 Doom Rate: 0.76 Posts quality: +155 |
Отправлено: 24.02.16 19:00:30 | |
|
MyNameIs: | есть мысль одновременно дамажнуть игрока и хильнуть монстра HealThing'ом.. | Лучше заскриптовать сравнение здоровья игрока с тем, что было до атаки, и это здоровье отдать монстру. |
|
|
| |
YURA_111 UAC Sergeant Major
 | 768 |
 Doom Rate: 1.98 Posts quality: +136 |
Отправлено: 24.02.16 19:57:18 | |
|
MasterMind
MyNameIs: | есть мысль одновременно дамажнуть игрока и хильнуть монстра HealThing'ом.. |
Так проще: TNT1 A 0 A_DamageSelf (amount) //- для самолечения выставляешь негативный параметр - например -10 TNT1 A 0 A_DamageTarget (amount) //- ставишь какое количество повреждений он должен нанести цели |
|
|
| |
ZZYZX - UAC Commissar -
 |  | 6284 |
 Doom Rate: 1.65 Posts quality: +1633 |
Отправлено: 24.02.16 20:09:41 | |
|
У цели есть ещё армор. Поэтому надо запомнить текущее хп цели, потом нанести урон, потом сравнить хп цели с тем что было, и уже это прибавить себе. Если имеется в виду типа вампиризм. |
|
|
2 |
2 |
1 |
 |
|
| |
alekv - Colonel -
 |  | 4170 |
 Doom Rate: 1.87 Posts quality: +949 |
Отправлено: 24.02.16 20:42:37 | |
|
Решил я поиграться с динамическим светом в гоззе.. Построил простой сектор коробку и.. и то ли вдохновения нет, то ли не правильно делаю.. в общем хочу красиво расставить свет в комнате, за особым реализмом не гонюсь, просто что бы симпатично было, кто что посоветует? Может у кого-то выработался стандартный набор расстановки динлайтов, поделитесь?  Да и мыслишка есть, сделать 1 тхинг который при старте игры сам расставлял(спавнил) дин лайты где надо основываясь на своих координатах, но что бы покрасивше.
Еще заметил что дин лайт просвечивает сквозь стены, эту неприятность уже придумали как убирать? мб флаг какой на стену повесить? Так же интересно что делает флажок UDMF формат, smoth light.. Что он сглаживает? О_О Свет как был корявый так и остался. И как сделать отображение дин. света в гоззе и гздб одинаковым? В гздб он очень темный.. все настройки нативные.
Добавлено спустя 28 минут 48 секунд:
MasterMind: | Как можно сделать монстра, который будет высасывать здоровье игрока с помощью атак ближнего боя (missile)? Скачал мод Demon Eclipse, там в описании было два таких монстра, а на деле оказалось что в ваде нет и половины тех, что из описания. |
Во всех предположительных вариантах есть 1 недостаток, нельзя или сложно узнать точно что монстр попал именно по игроку или просто в цель и должен регнуть оз.. Я лично советую вариант через acs с проверкой ОЗ игрока.. т.е(скрипт не тестил, написал прямо тут на форуме, так что работоспособность не гарантирую):
Script "drainPlayerHealth" (void) //скрипт запускаем в missile через always
{
int Monst_TID = UniqueTID();
Thing_ChangeTID(0, Monst_TID);
SetActivator(0,AAPTR_PLAYER1); //меняем активатора на игрока
int Play_Health = GetActorProperty(0,APROP_HEALTH);//объявление этой переменной по моему надо вынести за скрипт что бы запомнить оз.. точно не помню, тестить надо..
Delay(10); //Пока ждем.. монстр наносит удар и после того как нанес, сравниваем.. ну или что бы не ждать можно наносить урон из ацс скрипта.. но из этого может получиться еще большее извращение на вид.
if(Play_Health != GetActorProperty(0,APROP_HEALTH))//Если оз изменилось(или прописать проверку на уменьшилось)
{
int Play_H2 = Play_Health - GetActorProperty(0,APROP_HEALTH); //считаем разницу.
HealThing(Play_H2, Monst_TID);и тут уже лечим монстра.
}
} |
|
|
1 |
3 |
1 |
 |
|
| |
MasterMind - Major -
 | 2677 |
 Doom Rate: 1.85 Posts quality: +618 |
Отправлено: 25.02.16 12:00:27 | |
|
Спасибо всем, навели на мысль, постараюсь обойтись без скриптов. Пойду еще на здумвики пошарю, благо еще монстр будет лечиться не проджектайлами, а только при рукопашной атаке. |
|
|
1 |
3 |
 |
|
| |
YURA_111 UAC Sergeant Major
 | 768 |
 Doom Rate: 1.98 Posts quality: +136 |
Отправлено: 25.02.16 13:38:18 | |
|
ZZYZX: | У цели есть ещё армор. |
Верно - обычно есть. Но мне кажется во время "вампиризма" он должен быть игнорен. И как раз функции это позволяют... |
|
|
| |
DOOMGABR = Warrant Officer =
 | 1176 |
 Doom Rate: 1.87 Posts quality: +774 |
Отправлено: 25.02.16 15:28:42 | |
|
Ребят, а как сделать скрипт, который активирует звук? И куда этот звук нужно "засунуть"?
Добавлено спустя 2 минуты 51 секунду:
И еще. Как написать скрипт, который, при пересечении линии, исходный белый цвет (безо всяких морганий) заставить моргать красным (!синхронизированно!, ибо в самолете есть сидения и прочие возвышенности) и чтобы при этом проигрался звук взрыва? |
|
|
| |
TesaQ = Warrant Officer =
 | 1149 |
Doom Rate: 1.72 Posts quality: +370 |
Отправлено: 25.02.16 16:03:21 | |
|
Если предмету или монстру задать параметр "Dormant", то он будет числиться как монстр или предмет при статистике уровня?Или только когда они разморозятся? |
|
|
| |
sanek_47 = Master Corporal =
 | 272 |
 Doom Rate: 2.16 Posts quality: +64 |
Отправлено: 25.02.16 16:14:15 | |
|
В общем такое дело. Нужно активировать скрипт (звук крика), когда игрок падает в пропасть. Естественно сделать это необходимо до того, как он коснется пола. Можете посоветовать, как это сделать? |
|
|
| |
MasterMind - Major -
 | 2677 |
 Doom Rate: 1.85 Posts quality: +618 |
Отправлено: 25.02.16 16:16:27 | |
|
TesaQ Будет числиться как предмет при статистике уровня
Добавлено спустя 5 минут 57 секунд:
Raketa Mjuz: | И еще. Как написать скрипт, который, при пересечении линии, исходный белый цвет (безо всяких морганий) заставить моргать красным (!синхронизированно!, ибо в самолете есть сидения и прочие возвышенности) и чтобы при этом проигрался звук взрыва? |
Динамический чтоль?
Добавлено спустя 1 минуту 16 секунд:
sanek_47: | В общем такое дело. Нужно активировать скрипт (звук крика), когда игрок падает в пропасть. Естественно сделать это необходимо до того, как он коснется пола. Можете посоветовать, как это сделать? |
Конкретную пропасть или вообще любую на карте? |
|
|
1 |
3 |
 |
|
| |
sanek_47 = Master Corporal =
 | 272 |
 Doom Rate: 2.16 Posts quality: +64 |
Отправлено: 25.02.16 16:25:22 | |
|
MasterMind: | Конкретную пропасть или вообще любую на карте? |
Конкретную. |
|
|
| |
DOOMGABR = Warrant Officer =
 | 1176 |
 Doom Rate: 1.87 Posts quality: +774 |
Отправлено: 25.02.16 16:30:35 | |
|
MasterMind Да, вроде как.
Добавлено спустя 27 минут 24 секунды:
да, и как сделать эмбиент звук в определенном секторе(ах)? |
|
|
| |
ZZYZX - UAC Commissar -
 |  | 6284 |
 Doom Rate: 1.65 Posts quality: +1633 |
Отправлено: 25.02.16 18:06:42 | |
|
Повесь это, сделай фейковый пол прозрачным и подними на нужное расстояние. После этого поставь в сектор этот тхинг и действие ActivatorSound.
А если нужно чтобы в любую как в Duke3D, то повесь на игрока ENTER скрипт, который следит что у игрока вертикальная скорость больше определённого предела (например -20 за тик) больше двух секунд, и опять же проигрывай звук.
Raketa Mjuz: | да, и как сделать эмбиент звук в определенном секторе(ах)? |
Проще всего вот этим http://zdoom.org/wiki/PlaySound Ещё можно поизвращаться с http://zdoom.org/wiki/Classes:AmbientSound , но лично мне до сих пор лень в это вникнуть, коль скоро есть скрипты и PlaySound. |
|
|
2 |
2 |
1 |
 |
|
| |
DOOMGABR = Warrant Officer =
 | 1176 |
 Doom Rate: 1.87 Posts quality: +774 |
Отправлено: 25.02.16 18:20:17 | |
|
ZZYZX я просто новичок, без знания английского. Я даже не знаю где должен хранится звук , да и я хочу чтобы уровень начался и звук (самолета в моем случае) проигрывался внутри сектора. однако, спасибо за попытку помочь. |
|
|
| |
sanek_47 = Master Corporal =
 | 272 |
 Doom Rate: 2.16 Posts quality: +64 |
Отправлено: 25.02.16 18:55:07 | |
|
ZZYZX спасибо, то что нужно! |
|
|
| |
DOOMGABR = Warrant Officer =
 | 1176 |
 Doom Rate: 1.87 Posts quality: +774 |
Отправлено: 26.02.16 14:01:41 | |
|
ребят, подскажите параметры плавного фейда (ACS): 1. от нормального состояния к черному экрану. 2. от черного экрана к нормальному состоянию. |
|
|
| |
VladGuardian - UAC Commissar -
 | 5979 |
 Doom Rate: 1.33 Posts quality: +2180 |
Отправлено: 26.02.16 14:45:42 | |
|
Raketa Mjuz От нормального к темноте - что-то вроде этого:
for (int i=256; i>=0; i-=8)
{
Sector_SetFade(tag, i, i, i);
delay(5);
} Варьируешь шаг цикла (8), и задержку (5) по своему усмотрению. Это правда, пример для одного сектора. (или для всего уровня, если tag=0) (я выбрал шаг цикла 8, потому что более мелкий уже не очень хорошо различим на глаз - получается 32 градации при переходе от светлого к полной темноте) Правда, надо же что-то решать с оригинальным освещением сектора..... чёт не подумал об этом. Если с учетом оригинального уровня освещения, тогда что-то вроде:
const int MySectorLightLevel = ...;
for (int i=MySectorLightLevel; i>=0; i--) Также обрати внимание на очень похожую функцию - http://zdoom.org/wiki/Light_Fade
Light_Fade (tag, value, tics) Я бы даже сказал, что ЭТА функция тебе больше подходит, т.к. отпадает потребность в цикле 'for'
А вообще подожди до вечера, приду домой, посмотрю как я делал потеменение экрана в своем ваде, сейчас не помню. Помню, что использовал какой-то очень простой метод. |
|
|
4 |
17 |
23 |
 |
|
| |