Автор | Сообщение |
Doomstalker Chief Petty Officer
| 969 |
Doom Rate: 1.49 Posts quality: +847 |
Отправлено: 19.08.16 19:53:18 | | | alekv Нужно в MAPINFO hub прописать:
clusterdef 1
hub
map MAP01 "asdf"
levelnum 1
...
...
cluster 1
А выходы с уровней либо через параметр для лайндефов "Teleport to map" в Дум билдере указать.
Либо в ACS прописать вот что:
script "exit_level" (void)
{
Teleport_NewMap(2,0); //номер карты, позиция игрока на той карте (через "Argument 1", "0" по умолчанию)
} И через параметр "Script execute" указать этот скрипт.
PS: Сам недавно это применил в своём моде - работает. |
Рейтинг сообщения: +1, отметил(и): alekv |
|
| |
ZZYZX - UAC Commissar -
| | 6284 |
Doom Rate: 1.65 Posts quality: +1631 |
Отправлено: 19.08.16 22:10:37 | | | А почему нельзя сразу Teleport_NewMap на линию повесить? Скрипт с одним вызовом спешиала бред. | |
|
2 |
2 |
1 |
|
|
| |
TesaQ = Warrant Officer =
| 1149 |
Doom Rate: 1.72 Posts quality: +368 |
Отправлено: 20.08.16 05:07:53 | | | Как правильно сделать флейр в думе, как в брутале(по типу как на факела лепится динлайт и святлячок-текстура)?
Spawn:
TNT1 A 0 bright A_SpawnItem("Gflare",0,38)
BAR1 AB 1
stop //Вот здесь никак не могу разобраться, как сделать правильно.Эксперемнтировал со всеми способами, ни один не подходил
Actor FlareGeneral
{
+NOINTERACTION
+NOGRAVITY
renderstyle Add
radius 1
height 1
alpha 0.4
scale 0.4
}
Actor Gflare : FlareGeneral
{
+FORCEYBILLBOARD
states
{
Spawn:
GFlR A -1 bright
stop
}
} Вот сам код.Ни одной идеи нету, как сделать всё правильно, не силён в коде, но мне бы еще привязать смерть флейра к объёкту п.с. идея посмотреть в брутале никак не катит, всё скинуто в одну кучу | |
|
| |
alekv - Colonel -
| | 4168 |
Doom Rate: 1.87 Posts quality: +949 |
Отправлено: 20.08.16 06:18:19 | | | TesaQ В GLDefs:
PulseLight SmallYellow
{
Color 1.0 1.0 0.0
Size 60
SecondarySize 64
Interval 1.5
Offset 0 0 30
}
Object Gflare
{
Frame GFlR {Light SmallYellow}
} в декорейте:
Actor Gflare
{+FORCEYBILLBOARD+NOINTERACTION+BRIGHT
RenderStyle add
Alpha 0.4
Scale 0.4
Radius 0
Height 0
states {
Spawn:
GFlR A -1 Light("SmallYellow")
Stop
death:
GFlR A 1 A_PrintBold("Flare death test")
stop
}
}
Actor torch 11111
{
+BRIGHT+SHOOTABLE
Health 1
Radius 15
Height 64
States{
Spawn:
BAR1 A 0
BAR1 A 0 A_SpawnItemEx("Gflare", 0, 0, 38, 0, 0, 0, 0, SXF_SETMASTER)//38 это высота спавна.
// BAR1 A -1 //Если не анимированый
//stop
IdleLoop:
BAR1 AB 1 //если объект анимированый
loop
Death: //что-то из этих функций должно убить фларе... я код не тестил, надо пробовать
DEAD A 1 A_KillChildren
DEAD A 0 A_RemoveChildren(TRUE,RMVF_EVERYTHING)
Stop
}} В общем как-то так, протестить сейчас не могу..
Doomstalker Спасибо большое! По поже буду пробовать. А не знаешь монстры которые были убиты что с ними произойдет? Хорошо бы если они опять были живые.. |
Рейтинг сообщения: +1, отметил(и): TesaQ |
|
1 |
3 |
1 |
|
|
| |
Doomstalker Chief Petty Officer
| 969 |
Doom Rate: 1.49 Posts quality: +847 |
Отправлено: 20.08.16 08:42:37 | | | alekv: | А не знаешь монстры которые были убиты что с ними произойдет? |
Убитые монстры останутся на тех местах, где их убили. |
|
|
| |
ZZYZX - UAC Commissar -
| | 6284 |
Doom Rate: 1.65 Posts quality: +1631 |
Отправлено: 20.08.16 16:19:20 | | | А почему флейр FORCEYBILLBOARD? Вроде ж наоборот FORCEXYBILLBOARD надо? | |
|
2 |
2 |
1 |
|
|
| |
Иван Recruit
| 4 |
Doom Rate: 1 Posts quality: -7 |
Отправлено: 20.08.16 16:20:51 | | | ( сейчас я буду писать кирпич ) А вы знайте как добавить другие ресы с помощью slade? |
|
|
| |
theleo_ua = Colonel =
| 4802 |
Doom Rate: 1.8 Posts quality: +1033 |
Отправлено: 20.08.16 16:22:37 | | | ZZYZX: | А почему флейр FORCEYBILLBOARD? Вроде ж наоборот FORCEXYBILLBOARD надо? |
forceY не наклоняет (относительно пола) объект при вращении взгляда игрока вверх вниз, forceXY наклоняет
я всем "деревьям, столбам, факелам и прочим декорам" в своих модах всегда ставлю forceY, чтобы корень дерева не отрывался от земли | |
|
3 |
1 |
|
|
| |
ZZYZX - UAC Commissar -
| | 6284 |
Doom Rate: 1.65 Posts quality: +1631 |
Отправлено: 20.08.16 16:46:32 | | | Ага, только это ореол света вокруг факела, который по определению должен всегда смотреть в камеру. | |
|
2 |
2 |
1 |
|
|
| |
theleo_ua = Colonel =
| 4802 |
Doom Rate: 1.8 Posts quality: +1033 |
Отправлено: 20.08.16 17:10:17 | | | Ореол света же трехмерный вроде, нет? Я бы посмотрел на сравнительные скрины, как это выглядит при X и XY (имею в виду те скрины, которые подтверждают точку зрения, что ореол света выглядит лучше, когда смотрит на камеру в стиле XY) | |
|
3 |
1 |
|
|
| |
TesaQ = Warrant Officer =
| 1149 |
Doom Rate: 1.72 Posts quality: +368 |
Отправлено: 20.08.16 18:16:01 | | | alekv Так-с, допустим, у меня получилось это сделать.Теперь осталось последняя проблема.Флайер, когда пинаешь бочку, не следует за бочкой, а остаётся на месте | |
|
| |
theleo_ua = Colonel =
| 4802 |
Doom Rate: 1.8 Posts quality: +1033 |
Отправлено: 20.08.16 21:17:26 | | | theleo_ua: | Ореол света же трехмерный вроде, нет? |
все, я понял, там речь про текстурный (тобишь двухмерный) имитатор освещения, а не про динлайт, и для него действительно XY лучше, вопрос отпал | |
|
3 |
1 |
|
|
| |
MyNameIs = 1st Lieutenant =
| 2054 |
Doom Rate: 2.04 Posts quality: +893 |
Отправлено: 20.08.16 22:20:13 | | | TesaQ а если спрайт бочки зациклить, а спрайт флэйра заставить умирать? тогда каждый раз бочка будет спавнить новый, а старый будет убираться
а ещё можно ацсом приравнивать положение флэйра по XY к положению бочки каждый тик | |
|
| |
ZZYZX - UAC Commissar -
| | 6284 |
Doom Rate: 1.65 Posts quality: +1631 |
Отправлено: 20.08.16 22:23:28 | | | TesaQ: | Так-с, допустим, у меня получилось это сделать.Теперь осталось последняя проблема.Флайер, когда пинаешь бочку, не следует за бочкой, а остаётся на месте |
A_Warp(AAPTR_MASTER, 0, 0, 64, 0, WARPF_COPYINTERPOLATION|WARPF_NOCHECKPOSITION) в каждом кадре флейра. Подразумевается что ты создаёшь флейр по методу алекв (через SXF_SETMASTER). Высоту флейра по отношению к актору пишешь вместо 64. Циклить ничего не надо. На карте с 500 бочками в каждом кадре будет создаваться и удаляться 500 акторов. Гздум умрёт нафиг. |
Рейтинг сообщения: +1, отметил(и): TesaQ |
|
2 |
2 |
1 |
|
|
| |
alekv - Colonel -
| | 4168 |
Doom Rate: 1.87 Posts quality: +949 |
Отправлено: 21.08.16 09:29:43 | | | Я бы еще посоветовал сделать лучше простой цикл проверки на движение и если бочка двигается тогда уже варпать фларе. Типа такого:
Actor torch 11111
{
+BRIGHT+SHOOTABLE+PUSHABLE
Health 1
Radius 15
Height 64
States{
Spawn:
BAR1 A 0
BAR1 A 0 A_SpawnItemEx("Gflare", 0, 0, 64, 0, 0, 0, 0, SXF_SETMASTER)//64это высота спавна.
IdleLoop:
BAR1 AB 1 A_JumpIf(VelX!=0 || VelY!=0 || VelZ!=0, "move")//если бочка будет двигаться, прыгаем в стейт move
loop
Move:
BAR1 A 1 A_Warp(AAPTR_MASTER, 0, 0, 64, 0, WARPF_COPYINTERPOLATION|WARPF_NOCHECKPOSITION)//Пока бочка двигается, будет работать варп
BAR1 A 0 A_JumpIf(VelX==0 || VelY==0 || VelZ==0, "IdleLoop")//если бочка перестанет двигаться прыгаем обратно в стейт idleLoop
Loop
Death:
DEAD A 1 A_KillChildren
DEAD A 0 A_RemoveChildren(TRUE,RMVF_EVERYTHING)
Stop
}} И да надо FORCEXYBILLBOARD флаг на фларе вешать.. Я просто скопипастил флаг из кода тесака и не смотрел что там только Y. |
|
|
1 |
3 |
1 |
|
|
| |
D1m3 = Sergeant Major =
| 618 |
Doom Rate: 1.92 Posts quality: +53 |
Отправлено: 21.08.16 18:16:23 | | | Возможно ли исправить данный баг?(в интермиссии отображается неправильное название карты)
| |
|
5 |
4 |
|
|
| |
ZZYZX - UAC Commissar -
| | 6284 |
Doom Rate: 1.65 Posts quality: +1631 |
Отправлено: 21.08.16 18:19:08 | | | alekv: | Я бы еще посоветовал сделать лучше простой цикл проверки на движение и если бочка двигается тогда уже варпать фларе. |
Нет. Это уже переоптимизация в ущерб универсальности. Мой вариант сработает если бочка телепортируется без VelX/Y/Z, например. | |
|
2 |
2 |
1 |
|
|
| |
theleo_ua = Colonel =
| 4802 |
Doom Rate: 1.8 Posts quality: +1033 |
|
3 |
1 |
|
|
| |
N00b Chief Petty Officer
| 922 |
Doom Rate: 2.15 Posts quality: +384 |
Отправлено: 21.08.16 19:26:47 | | | D1m3 Это не баг. Intermission screen (DooMWiki):
| In the Doom series, the level names shown on the intermission screen are stored in graphics lumps beginning with "WILV" (Doom) or "CWILV" (Doom II and Final Doom), rather than called from text strings. This can sometimes result in the name shown differing from that shown on the automap (e.g. E3M7: Limbo is called "Gate to Limbo" on the intermission screen, while MAP11: Circle of Death is called "'O' of Destruction!" on the automap). |
CWILV00 отвечает MAP01, CWILV01 --- MAP02, ..., CWILV31 --- MAP32. |
|
|
| |
alekv - Colonel -
| | 4168 |
Doom Rate: 1.87 Posts quality: +949 |
Отправлено: 21.08.16 23:26:26 | | | ZZYZX: | Нет. Это уже переоптимизация в ущерб универсальности. Мой вариант сработает если бочка телепортируется без VelX/Y/Z, например. |
Да собс но можно попробовать сделать так: A_JumpIf(x != old_x || VelX!=0 || VelY!=0 || VelZ!=0, "move") правда я не знаю можно ли в декорейтную переменную запомнить позицию игрока типа var int user_old_x = x; ну или что-то в этом духе. Я не в курсе по нагрузке варпа, но мне кажется что постоянный варп тех же 500 фларе даже когда бочка и не собирается двигаться не очень хорошо.. Или оно почти не повлияет на нагрузку? И вообще нафига бочку телепортировать хД
theleo_ua посмотрел скрины.. чуть удивился, в 1.5+ гоззе реально были такие фоны к тексту? Вообще за вывод этого отвечает ламп sbarinfo, а конкретнее Popup и там я так думаю должны быть нужные переменные т.е. в стифовском сбаринфо(я не проверял, просто догадки, когда-то колупал меню popup для своего 1ого старого инвентаря)
Ну а сделать такое как в 1.5х можно с помощью того же сбаринфо, только там надо вникать что к чему и скорее всего заменять графику на черный прямоугольник |
|
|
1 |
3 |
1 |
|
|
| |