Автор | Сообщение |
nprotect = Captain =
 | 2413 |
 Doom Rate: 2.45
|
Отправлено: 03.08.09 19:03:49 | | | Часовщик : | триггер который срабатывал бы только в том случае если лайндеф пересекается в пределах определённой высоты |
ну почему, впринципе можно, через скрипты и GetActorZ | |
|
1 |
2 |
1 |
 |
|
| |
HellDoomer 666 - Master Sergeant -
 | 426 |
 Doom Rate: 1.6
|
Отправлено: 03.08.09 19:07:20 | | | Лайндеф 3D как-то делается через скрипт. Я не помню команду. Это чтоб как в классике,только активировался чтобы на определённой высоте. | |
|
| |
nprotect = Captain =
 | 2413 |
 Doom Rate: 2.45
|
Отправлено: 03.08.09 19:08:34 | | | HellDoomer 666
ключевая фишка тебе в помощь:
http://zdoom.org/wiki/GetActorZ
а дальше попробуй сделать сам, а то так нихрена и не научишься ничему | |
|
1 |
2 |
1 |
 |
|
| |
HellDoomer 666 - Master Sergeant -
 | 426 |
 Doom Rate: 1.6
|
Отправлено: 03.08.09 19:29:18 | | | Спасибо, но мне лучше объяснить на примере. | |
|
| |
nprotect = Captain =
 | 2413 |
 Doom Rate: 2.45
|
Отправлено: 03.08.09 19:32:30 | | | HellDoomer 666
пример: ставишь экшн 80 на нужный тебе лайндеф, и запускаешь соответственно скрипт, указанный в экшне. в скрипте пишешь:
if(GetActorZ(0) > 200) {
...1ые действия ...
} else {
...2ые действия...
}
первые действия запустятся, когда z-координата больше 200, вторые - меньше. координата абсолютная | |
|
1 |
2 |
1 |
 |
|
| |
HellDoomer 666 - Master Sergeant -
 | 426 |
 Doom Rate: 1.6
|
Отправлено: 03.08.09 19:51:30 | | | Хм...Чёто я не пойму...Я в скриптинге пока что ламер. Помогите сделать 3D лайндеф!
Пример (3d портал) : думер проходит через лайндеф на 1-м этаже и телепортируется в один сектор. На втором этаже - при проходе через лайндеф ничего не происходит; на третьем - телепортируется в другой сектор.
Пример2 (3d кнопочка) : щёлкает игрок на одном этаже лайндеф - происходит некое действие. щёлкает на другом этаже - происходит другое действие.
Помогите разобраться в этом. | |
|
| |
Часовщик UAC Sergeant Major
 | 727 |
Doom Rate: 3.41
|
Отправлено: 03.08.09 20:12:05 | | | тебе же русским языком написали
| первые действия запустятся, когда z-координата больше 200, вторые - меньше. координата абсолютная |
даже я понял, хотя вообще неодного скрипта не написал. | |
|
| |
nprotect = Captain =
 | 2413 |
 Doom Rate: 2.45
|
Отправлено: 03.08.09 20:12:05 | | | HellDoomer 666
разобраться я тебе уже помог. прямо говори - напишите за меня скрипт!
лови, специально сделал. 3д кнопочку по аналогии надеюсь сумеешь
http://monade.by.ru/getactorz.wad | |
|
1 |
2 |
1 |
 |
|
| |
Nil = Major =
 | 2978 |
 Doom Rate: 2.34
|
|
1 |
2 |
1 |
 |
|
| |
MVV_acid = Corporal =
 | 109 |
 Doom Rate: 1.06
|
Отправлено: 09.08.09 19:05:45 | | | Время суток доброе. Правда не для меня...
Хотелось бы узнать, как работать с камерами. Точнее нужно, что бы при пересечении линии или как либо иначе "включалась" камера и двигалась через окно куда нибудь вдаль.
заранее спасибо...
Формат ZDooM(Doom in Doom) | |
|
| |
nprotect = Captain =
 | 2413 |
 Doom Rate: 2.45
|
Отправлено: 09.08.09 19:31:25 | | | MVV_acid : | Точнее нужно, что бы при пересечении линии или как либо иначе "включалась" камера и двигалась через окно куда нибудь вдаль |
на линию ставишь экшн 80 (запуск скрипта) - например, скрипт 1
потом, где ты хочешь начинать движение камеры, ставишь тхинг 9072. присваиваешь ему свой тэг, в моем случае это 90. параметр Point - тэг следущей контрольной точки (91). bLinear у меня стоит 7, можешь почитать подробнее про параметры тут:
http://zdoom.org/wiki/Classes:MovingCamera
далее - ставишь по направлению движения (как один из вариантов) точку интерполяции (9070). тэг ставишь такой, который указан в тхинге 9072 - то есть в данном случае 91. параметр pitch - наклон по вертикальной оси, здесь 0. Travel Time - количество октиков, за которое камера должна пройти до следующей точки интерполяции. высчитывается по расстоянию между ними (или подбирается), чтобы их отношение V = S / t, скорость, была постоянна. иначе камера будет двигаться рывками. также это время пригодится в написании скрипта. Next - тэг следующей точки интерполяции (здесь 92).
http://zdoom.org/wiki/Classes:InterpolationPoint
можно делать сколько угодно точек интерполяции, главное - следить за тэгами, чтобы они ссылались друг на друга по порядку. также - если у двух соседних точек разные углы или разная высота (z), камера будет плавно менять эти параметры по ходу движения
как только мы достигнем момента, когда пора бы прекратить движение, ставим опять же interpolation point 9070, и задаем следующие параметры: pitch какой угодно, опять же по желанию, Travel Time: 0, Hold Time: 255, это вполне достаточно, чтобы примерно рассчитать команду возвращения камеры на игрока от 1го лица, Next: я ставлю всегда тэг первой точки интерполяции в этой последовательности, то есть 91. может и еще ноль можно, я не экспериментировал
теперь нам нужно написать скрипт, управляющий камерами. мы уже повесили его на линию с экшном 80, допустим у него номер 1
script 1 (void) {
ChangeCamera(90,0,0);
thing_activate(90);
delay(440);
print(s:"Gates opened");
ChangeCamera(0,0,0);
}
разбираемся. ChangeCamera(90,0,0); - смена камеры на объект moving cdmera (9072), тэг 90. thing_activate(90); - собственно активация этой камеры, чтобы она проходила через все точки интерполяции. дальше идет delay - рассчитанное значение в тиках для "путешествия" - чтобы после делэя вернуть камеру игроку (ChangeCamera(0,0,0);) и вывести что-нибудь, в зависимости от ситуации. скрипты настолько мощный инструмент, что можно в зависимости от условий разные цепочки камер включать, выводить что угодно, опускать-поднимать двери во время движения камеры и т.п.
http://zdoom.org/wiki/ChangeCamera
возможно, с первого раза этот алгоритм сложен для понимания, но если посмотреть несколько примеров, вполне можно разобраться. или делать по аналогии  | |
|
1 |
2 |
1 |
 |
|
| |
Hutt - Sergeant Major -
 | 573 |
 Doom Rate: 1.33
|
Отправлено: 10.08.09 00:15:31 | | | Два вопроса:
1. в родном думе возникают глюки, которых не видно в портах. Это, во - первых, "миражи" вместо неба на неоттекстуреннных внешних стенах, и во - вторых, видимые сквозь пол хвосты нижних текстур стен.
Кто виноват, что делать, как нам обустроить Россию?
2. подкиньте пожалуйста ссылку на какой-нибудь мануал по лифтам, написанный человеческим языком, а то в том, что у меня на руках, черт ногу сломи т. | |
|
| |
nprotect = Captain =
 | 2413 |
 Doom Rate: 2.45
|
Отправлено: 10.08.09 00:32:55 | | | Hutt : | 1. в родном думе возникают глюки, которых не видно в портах |
для ванили это естественно. когда забыли положить текстуру, порты автоматом подставляют небо, если экшн лайндефа например "горизонт", а ваниль так не делает. в чем проблема то? чем тот же глбум не угодил, раз хочется приближения к оригиналу
Hutt : | подкиньте пожалуйста ссылку на какой-нибудь мануал по лифтам |
а что, по лифтам нужен мануал?  | |
|
1 |
2 |
1 |
 |
|
| |
Hutt - Sergeant Major -
 | 573 |
 Doom Rate: 1.33
|
Отправлено: 10.08.09 07:55:49 | | | nprotect : | чем тот же глбум |
Что не не работает в оригинале - то не ваниль. Вопрос был в том, что с этим делать.
nprotect : | по лифтам нужен мануал |
Тогда просто ответьте, как сделать лифт, который, во-первых, изначально опущен, во-вторых, не поднимается сам, пока на него не войдешь. | |
|
| |
Часовщик UAC Sergeant Major
 | 727 |
Doom Rate: 3.41
|
Отправлено: 10.08.09 10:39:14 | | | Hutt : | Тогда просто ответьте, как сделать лифт, который, во-первых, изначально опущен, во-вторых, не поднимается сам, пока на него не войдешь. |
есть специальные экшены в продвинутых портах типа "лифт рейз итп итд". в классике это реализуемо только быстрым подъёмом пола экшенами 129 и 130 к следующему по высоте полу.
в классике лифт как таковой может ездить только в низ до самого низкого пола. выбирать можно только скорость.
в буме лифты можно самому настроить как надо, для энтого есть специальное меню, где: Trigger - думаю объяснять не стоит, способ активации лифта. Ногами, руками или ганфаер кажется. Репитебл или не репитыбл ессесно. Speed - как и следует из названия есть скорость лифта. Slow - Медленная - как пол или потолок, Normal - Обычная - как обычный лифт. Fast - Быстрая - как быстрый лифт. Turbo - в 2 раза быстрее быстрого лифта.
Monster - Может ли монстр использовать лифт? yes - Может. no - Не может. Delay - Промежуток времени между опусканием/подниманием. 1 sec - 1 секунда, 3 sec - 3 секунды (обычный промежуок), 5 sec - 5 секунд, 9 sec - 9 секунд. Target - то что нас интересует. направление. LnF - самый низкий пол прилегающий к сектору. NnF - следующий по высоте пол прилегающий к сектору. LnC - самый низкий потолок прилежащий к сектору. Perp - начать движение в случайном направлении (беспорядочно двигающийся лифт).
ось так  | |
|
| |
NoMaD - Corporal -
 | 98 |
Doom Rate: 1.63
|
Отправлено: 11.08.09 11:20:21 | | | Давно тут не был... Темка выросла
У меня два вопроса. Оба для GZdoom
1) Как изменить кол-во жизней в начале мапы у плаера?
2) Что надо прописать в МапИнфо или где-нибудь чтоб в уровне не было мелодии?
Заранее спасибо за ответы  | |
|
| |
Часовщик UAC Sergeant Major
 | 727 |
Doom Rate: 3.41
|
Отправлено: 11.08.09 11:33:29 | | | 1) Положить на место спона игрока актора который "вылечет" игрока на столько сколько нужно. а плеера спонь чуть выше пола, чтоб он сразу взял эту "аптечку".
2) Просто берешь незвучащий или крайне короткий трек и вставляешь его вместо мелодии. | |
|
| |
NoMaD - Corporal -
 | 98 |
Doom Rate: 1.63
|
Отправлено: 11.08.09 12:09:45 | | | Часовщик : | 1) Положить на место спона игрока актора который "вылечет" игрока на столько сколько нужно. а плеера спонь чуть выше пола, чтоб он сразу взял эту "аптечку". |
Нет, Часовщик, надо сделать меньше жизней.
Часовщик : | 2) Просто берешь незвучащий или крайне короткий трек и вставляешь его вместо мелодии. |
Жаль, что только так  | |
|
| |
Часовщик UAC Sergeant Major
 | 727 |
Doom Rate: 3.41
|
Отправлено: 11.08.09 12:33:47 | | | Nomad : | Нет, Часовщик, надо сделать меньше жизней. |
можно сделать убивающую аптечку. просто вместо "хелфинг 10" скажем, написать "хелфинг -10". или както по другому можетю
Nomad : | Жаль, что только так |
я неуверен что это единственный вариант. | |
|
| |
Hecktor - Corporal -
 | 86 |
 Doom Rate: 1.91
|
Отправлено: 11.08.09 13:01:06 | | | А параметр SetActorProperty не сработает?
Например, нужно 50 здоровья, пишем SetActorProperty(0,APROP_HEALTH,50);
Честно говоря на главном герое не пробовал... тестировал только на врагах. | |
|
| |