Я не в курсе по нагрузке варпа, но мне кажется что постоянный варп тех же 500 фларе даже когда бочка и не собирается двигаться не очень хорошо.. Или оно почти не повлияет на нагрузку? И вообще нафига бочку телепортировать хД
посмотрел скрины.. чуть удивился, в 1.5+ гоззе реально были такие фоны к тексту?
При alternative hud и screenblocks 11 было именно так (если надо, могу выложить гоззу 1.5 со страйфом и конфигом). Да собственно, вот прохождение игры 2009 года в виде скриншотов, полистай там скрины, он периодически показывает mission objectives
alekv:
т.е. в стифовском сбаринфо(я не проверял, просто догадки
Посмотрел gzdoom.pk3, там есть sbarinfo для дума еретика и хексена, но нет для страйфа (как в 1.5.6 так и в 2.1.1). Более того, на вики на странице Default_status_bars тоже дум еретик хексен без страйфа
alekv:
когда-то колупал меню popup для своего 1ого старого инвентаря)
theleo_ua Да, как в 1.5 версии, конечно удобнее сделали) Про стифе я вообще ничего толком не знаю, просто то что на скринах, это попап окошки и делаются в гоззе они с помощью сбаринфо. Почему нет strifeвоского сбаринфо не знаю, сам когда-то искал, хотя логично если бы у стрифе был свой статус бар.. Я же в своем старом инвентаре юзал StatusBar PopupStatus, FullScreenOffsets такой статус бар т.к. можно было без acs назначить кнопку и + еще пару плюшек и все) Остальное из того кода врятли поможет т.к. обычный сбаринфо.. Ну а вообще просто почитай вики про эти попап, там не сложно разобраться и понять как выводится инфа в эти окошки да просто попробовать повторить стрифе бар в слепую(но надо ли такие заморочки хз, мб проще спросить у разрабов гоззы где сбаринфо стрифа? )
Про стифе я вообще ничего толком не знаю, просто то что на скринах, это попап окошки и делаются в гоззе они с помощью сбаринфо. Почему нет strifeвоского сбаринфо не знаю, сам когда-то искал, хотя логично если бы у стрифе был свой статус бар.. Я же в своем старом инвентаре юзал StatusBar PopupStatus, FullScreenOffsets такой статус бар т.к. можно было без acs назначить кнопку и + еще пару плюшек и все) Остальное из того кода врятли поможет т.к. обычный сбаринфо.. Ну а вообще просто почитай вики про эти попап, там не сложно разобраться и понять как выводится инфа в эти окошки да просто попробовать повторить стрифе бар в слепую(но надо ли такие заморочки хз, мб проще спросить у разрабов гоззы где сбаринфо стрифа? )
Пока граф не сделал strife SBARINFO, я склоняюсь к методу "заменить шрифты через лампы шрифтов или fontdefs" и заменить ламп графической текстуры фона, но даже если это сработает, остается проблема "текст расположен снизу экрана"
1) SBARINFO не работает для alternative HUD (или я ошибаюсь?)
Вообще никогда им не пользовался потому не знаю)
theleo_ua:
2) SBARINFO, которое я сделаю в своем моде, полностью затрет существующее SBARINFO (проверил, так и есть, даже несмотря на логическое противоречие пункту 3). Есть способ это обойти?
Затрет, потому надо с 0 в слепую повторять стриф hud. или попробовать повторить хотя бы попап или просто забить на это и ждать статус бар для стрифа..
theleo_ua:
3) Пожалуй самая большая проблема: SBARINFO для страйфа на данный момент не существует, граф так и сказал: статус бар страйфа нужно сначала сконвертить в SBARINFO, и пока это не сделано, нет смысла обсуждать страйфовские попапы
Да, с этим беда и видимо стриф статус бар если и получит то очень не скоро.. судя по дате поста 2009.. 7 лет нет статус бара ппц) Ну попап все равно юзать можно, прикольная фича если не знать acs.. ACS ом заменять тоже не вариант т.к. долго.. Я лично вижу вариант писать графу что бы тот добавил статус бар для стрифа, хотя шансов мало.
Так-то может как-то попап попробовать подвигать.. не знаю что из этого выйдет
StatusBar PopupStatus, FullScreenOffsets //Я не проверял, но по идее это не заменит HUD, а только перезапишет попап, в общем надо тестить.
{
CreatePopup <name>, <width>, <height>, <transition> [, transition args]
}
Да, с этим беда и видимо стриф статус бар если и получит то очень не скоро.. судя по дате поста 2009.
2009 это дата поста про "sbarinfo не влияет на alternative hud". Дата же поста про "у страйфа нет sbarinfo и надо его сделать" - 2015
alekv:
или просто забить на это и ждать статус бар для стрифа..
alekv:
Да, с этим беда и видимо стриф статус бар если и получит то очень не скоро.. судя по дате поста 2009.. 7 лет нет статус бара ппц) Ну попап все равно юзать можно, прикольная фича если не знать acs.. ACS ом заменять тоже не вариант т.к. долго.. Я лично вижу вариант писать графу что бы тот добавил статус бар для стрифа, хотя шансов мало.
ну я, как выше написал, попробовал вариант с заменой лумпов, он в целом меня устраивает (проблема там разве что в том, что в 2.1.1 сломан hq4x и фон шрифтов некорректно сглаживается и немного режет глаза, но это устранится когда отрелизится 2.1.2), напрягает только положение попапа "снизу экрана", но это я думаю подождет того момента когда граф родит полноценный strife_sbarinfo.txt
alekv:
Так-то может как-то попап попробовать подвигать.. не знаю что из этого выйдет StatusBar PopupStatus, FullScreenOffsets //Я не проверял, но по идее это не заменит HUD, а только перезапишет попап, в общем надо тестить. { CreatePopup <name>, <width>, <height>, <transition> [, transition args] }
Выкинь каку и velx. Сделай обычный варп на координаты мастера как я написал и не выноси никому мозг. Себе в том числе. Мой метод значительно проще и быстрее. Только ты главное не забудь сделать +CLIENTSIDEONLY флейру.
IdleLoop: BAR1 A 0 A_JumpIf(VelX!=0 || VelY!=0 || VelZ!=0, "move")//если бочка будет двигаться, прыгаем в стейт move loop Move: TNT1 A 0 A_Warp(AAPTR_MASTER, 0, 0, 22, 0, WARPF_COPYINTERPOLATION|WARPF_NOCHECKPOSITION)//Пока бочка двигается, будет работать варп TNT1 A 0 A_JumpIf(VelX==0 || VelY==0 || VelZ==0, "IdleLoop")//если бочка перестанет двигаться прыгаем обратно в стейт idleLoop stop
Тут же везде 0 кадров стоит) т.е TNT1 A 0.. А должно быть TNT1 A 1
{
Spawn:
BAR1 A 1 //Я иногда для верности еще и тут ставлю 1 тик хД Привычка)
BAR1 A 1 A_SpawnItemEx("Gflare", 0, 0, 22, 0, 0, 0, 0, SXF_SETMASTER)
//Тут стоп не нужен т.к. должно после спавна попасть в idleLoop
IdleLoop:
BAR1 A 1 A_JumpIf(VelX!=0 || VelY!=0 || VelZ!=0, "move")//если бочка будет двигаться, прыгаем в стейт move
loop
Move:
TNT1 A 1 A_Warp(AAPTR_MASTER, 0, 0, 22, 0, WARPF_COPYINTERPOLATION|WARPF_NOCHECKPOSITION)//Пока бочка двигается, будет работать варп
TNT1 A 0 A_JumpIf(VelX==0 || VelY==0 || VelZ==0, "IdleLoop")//если бочка перестанет двигаться прыгаем обратно в стейт idleLoop
loop//тут тоже стоп не нужен т.к. это цикл)
Death:
BEXP A 5 Bright
BEXP B 5 Bright A_Scream
BEXP C 5 Bright A_RemoveChildren(TRUE,RMVF_EVERYTHING)
BEXP D 5 Bright A_Explode
BEXP E 10 Bright
TNT1 A 1050 Bright A_BarrelDestroy
TNT1 A 5 A_Respawn
Wait
}
}
Но т.к.
ZZYZX:
Если клиентсайд, то пофиг сильно.
проверка на движение и не нужна мб? Как по мне оно думаю лишним не будет.. на будущее хотя бы)
Добавлено спустя 5 минут 46 секунд:
theleo_ua:
ну я, как выше написал, попробовал вариант с заменой лумпов, он в целом меня устраивает (проблема там разве что в том, что в 2.1.1 сломан hq4x и фон шрифтов некорректно сглаживается и немного режет глаза, но это устранится когда отрелизится 2.1.2), напрягает только положение попапа "снизу экрана", но это я думаю подождет того момента когда граф родит полноценный strife_sbarinfo.txt
hq4x заметил что с ним что-то не так.. Потому больше его не юзаю) К тому же с ним уровни грузятся в разы дольше, да и иногда лаги ловлю, даже прекеш не спасает.. А сбаринфо для страйфа остается только ждать)
hq4x заметил что с ним что-то не так.. Потому больше его не юзаю)
В последних девбилдах гоззы уже должно быть все так (но не проверял). А текущие глюки в 2.1.1 кстати лучше всего заметны на партиклах (в режиме smooth), например крови или puff пуль
В последних девбилдах гоззы уже должно быть все так (но не проверял). А текущие глюки в 2.1.1 кстати лучше всего заметны на партиклах (в режиме smooth), например крови или puff пуль
Ну я же использую gpl версию гоззы, она чуть старее чем новые билды обычной гоззы т.к. nash не сразу добавляет новое в гпл версию, а спустя некоторое время.
theleo_ua:
x64 гозза?
х32 и я не знаю есть ли x64 гозза гпл) Да мне оно пока что и не надо т.к. винда сейчас у меня x32 временно.
х32 и я не знаю есть ли x64 гозза гпл) Да мне оно пока что и не надо т.к. винда сейчас у меня x32 временно.
у меня было много лагов на x32, но после того, как перешел на x64, лаги исчезли (правда у меня действительно был тяжелый мод, которому не хватало 2 гигов (лимит для x32 процесса в винде, если не ошибаюсь) )
Dasperal : Как писать плагины для Doom builder 2 и GZDoom builder?
Для начала, попробуйте писать их руками.
Dasperal : Как настроить workspase?
Никак. Это Вам не плюсы, всё уже и так настроено.
Dasperal : Какая у них структура?
Несложная. Откройте исходники любого плагина (например, ImageDrawingExample) и начните с изучения класса BuilderPlug (это единственный класс, необходимый для идентификации библиотеки как плагина к DB2/GZDB).
Dasperal : И есть ли по написанию плагинов какая - нибудь документация?
Именно по написанию - нет. Зато есть много комментариев в самом коде. В документации к GZDB есть краткая инструкция по скачиванию исходников и необходимому софту.
Скачал я исходники Doom Builder 2, открыл их в Visual Studio 2015, там решение с проектами самого думбилдера и плагинов. Как я понимаю чтобы начать писать свой плагин надо создать проект этого плагина в решении, внутри проекта создать нужные файлы и начать писать плагин. Вопрос: Нужно ли этот проект как - то по особенному настраивать или достаточно просто скопировать настройки с проекта какого - нибудь плагина? И что надо сделать чтобы оно всё нормально компилировалось и запускалось для теста?
ZZYZX, MaxED, вынужден вернуться к коду появления стены. Обнаружил, что она "появляется" максимум наполовину (то есть альфа = 128), если вплотную подойти к тиду, что ее контролирует. В чем может быть дело? Я и разные цифры подставляю, но хоть бы хны. Даже представить не могу, должно же работать.
script 1 (void)
{
int linex = GetActorX(1); // 1 - TID MapSpot'a, поставленного на середину линии
int liney = GetActorY(1);
int linez = GetActorZ(1);
while(true)
{
int dx = GetActorX(0) - linex; // Тэг 0 в данном случае (т.е. в случае ENTER-скрипта) обозначает активатора скрипта, т.е. игрока.
int dy = GetActorY(0) - liney;
int dz = GetActorZ(0) - linez;
int dist = VectorLength(dz, VectorLength(dx, dy));
int alpha = 0;
int maxdist = 2048.0;
//if (dist < 255) alpha = 255 - dist;
//if (dist < maxdist) alpha = dist*255/maxdist;
if (dist <maxdist>> 16);
//alpha = 255-(dist*255/maxdist); code zzyzxa
TranslucentLine(1, alpha, 0); // 1 - тэг линии
Delay(1);
}
}
P.S В первый раз неровно поставил тид, думал в этом косяк, перепроверять не стал. Но сейчас подошел вплотную к моменту, когда надо делать стенку, и такой вот неприятный сюрприз. P.S.S Алиен, твоя часть кода не очень работает - стена появляется резко.