Автор | Сообщение |
Revenant777 = UAC Gunner =
 | 74 |
 Doom Rate: 1.8 Posts quality: +18 |
Отправлено: 17.08.20 04:26:49 | | | Как делать наклонные поверхности в gzdoom builder?
Сам знаю лишь один способ во вкладки slopes, но так получается сделать наклон только в одну сторону. | |
|
| |
YURA_111 UAC Sergeant Major
 | 768 |
 Doom Rate: 1.98 Posts quality: +136 |
Отправлено: 17.08.20 15:10:51 | | | Так вроде в 3d-mode (или как он там правильно называется) спокойно делается в какую хочешь сторону | |
|
| |
Revenant777 = UAC Gunner =
 | 74 |
 Doom Rate: 1.8 Posts quality: +18 |
Отправлено: 18.08.20 04:58:19 | | | Ну тогда как и где раз знаешь | |
|
| |
YURA_111 UAC Sergeant Major
 | 768 |
 Doom Rate: 1.98 Posts quality: +136 |
|
| |
Hutt - Sergeant Major -
 | 560 |
 Doom Rate: 1.3 Posts quality: +151 |
Отправлено: 03.10.20 10:20:44 | | | В GZ родные думовские и свои спайты почему - то по - разному освещаются.
Рядом стоят корявое это вот дерево и докинутое мной, оба в темноте, но мое - как будто на свету, в полную яркость. | |
|
| |
YURA_111 UAC Sergeant Major
 | 768 |
 Doom Rate: 1.98 Posts quality: +136 |
Отправлено: 04.10.20 12:42:46 | | | Hutt пишет: | докинутое мной |
При помощи декорейта? Убери Флаг "+Bright" и/или в стейтах тот-же "bright" убрать | |
|
| |
Hutt - Sergeant Major -
 | 560 |
 Doom Rate: 1.3 Posts quality: +151 |
Отправлено: 05.10.20 18:19:46 | | | YURA_111 пишет: | При помощи декорейта? Убери Флаг "+Bright" и/или в стейтах тот-же "bright" убрать |
Теперь даже те что на свету - темные.
Да, свет - в смысле от источников, а не секторный. Темный сектор, динамики. родные спрайты освещаются нормально, мои - нет.
actor pinetree 10242
{
Height 512
Radius 2
scale 0.5
+SOLID
States
{
Spawn:
trre a 5
}
} | |
|
| |
YURA_111 UAC Sergeant Major
 | 768 |
 Doom Rate: 1.98 Posts quality: +136 |
Отправлено: 06.10.20 10:45:07 | | | Hutt пишет: | родные спрайты освещаются нормально, мои - нет.
|
А какой формат спрайтов? Просто есть разные форматы и у каждого свои нюансы
( https://zdoom.org/wiki/Image_format ) | |
|
| |
Hutt - Sergeant Major -
 | 560 |
 Doom Rate: 1.3 Posts quality: +151 |
Отправлено: 06.10.20 13:18:22 | | | YURA_111
Png. но про освещение там вроде ничего нет.
Перегнал в bmp, не помогло.
На скрине - родное дерево и мое (уже в bmp).
 | |
|
| |
ZZYZX - UAC Commissar -
 |  | 6284 |
 Doom Rate: 1.65 Posts quality: +1633 |
Отправлено: 06.10.20 14:14:18 | | | Hutt пишет: | Да, свет - в смысле от источников, а не секторный. Темный сектор, динамики. родные спрайты освещаются нормально, мои - нет. |
Попробуй радиус увеличить или высоту уменьшить, и проверь. Скажем Radius 24, Height 96 |
Рейтинг сообщения: +1, отметил(и): YURA_111 |
|
2 |
2 |
1 |
 |
|
| |
Hutt - Sergeant Major -
 | 560 |
 Doom Rate: 1.3 Posts quality: +151 |
Отправлено: 06.10.20 16:33:10 | | | ZZYZX
О, высота помогла!
Видать когда высота выходит из радиуса - он считает по верхней | |
|
| |
ZZYZX - UAC Commissar -
 |  | 6284 |
 Doom Rate: 1.65 Posts quality: +1633 |
Отправлено: 06.10.20 19:37:03 | | | Hutt
Скорее по средней. При высоте аж 512 у тебя центр спрайта находится на высоте 256, что уже думаю выходит из радиуса динлайта |
|
|
2 |
2 |
1 |
 |
|
| |
L[i]moN4eG Marine 1st class
 | 30 |
 Doom Rate: 1.88 Posts quality: +1 |
Отправлено: 09.11.20 02:49:33 | | | Доброго времени суток. Такое дело. Есть у меня спутник мой. Хочу, чтобы он проходил со мной на следующий уровень и дальше определённого расстояния от меня не уходил. Как это сделать? Порт GZDoom 4.5.0. Простите, что сразу не указал. | |
|
| |
theleo_ua - Commissar -
 | 5056 |
 Doom Rate: 1.8 Posts quality: +1144 |
Отправлено: 09.11.20 06:54:03 | | | GZDoom 4.5.0: как сделать, чтобы звук, который я играю на каком-то канале (для примера пускай это будет канал CHAN_BODY), гарантированно останавливал текущий(е) звук(е), который(е) на этом канале сейчас играют?
Сейчас это происходит так:
Шаг 1: a_startsound("sound1", ..., CHAN_BODY )
...
Шаг 7: a_startsound("sound2", ..., CHAN_BODY )
и шаг 7 не глушит звук, который запускается на шаге 1 (а мне надо, чтобы глушил) | |
|
4 |
1 |
 |
|
| |
VladGuardian - UAC Commissar -
 | 5871 |
 Doom Rate: 1.31 Posts quality: +2131 |
Отправлено: 09.11.20 11:55:23 | | | theleo_ua пишет: | GZDoom 4.5.0: как сделать, чтобы звук, который я играю на каком-то канале (для примера пускай это будет канал CHAN_BODY), гарантированно останавливал текущий(е) звук(е), который(е) на этом канале сейчас играют? |
Извиняюсь, что лезу не в своё дело, вероятно перед новым вызовом a_startsound
A_StopSound (CHAN_BODY) поможет? | |
|
4 |
15 |
23 |
 |
|
| |
JSO x - 2nd Lieutenant -
 | 1366 |
 Doom Rate: 2.29 Posts quality: +744 |
Отправлено: 09.11.20 12:01:19 | | | L[i]moN4eG пишет: | Хочу, чтобы он проходил со мной на следующий уровень и дальше определённого расстояния от меня не уходил. |
В любом случае, стандартными средствами игры сделать это невозможно. Требуется модификация, в которых много чего нужно предусмотреть -- что будет, если ведомый остановится, а ты продолжишь идти дальше и завернёшь за угол, например?
Пока что лучший способ, который вижу -- это толкать ведомого по направлению к тебе, если тот находится в кольце R <= dist < 2R, и с оговорками телепортировать его на то место, где ты стоял несколько тактов назад, если dist >= 2R. В случае, если ведомый -- монстр, можно ему поставить флаг "+FRIENDLY": тогда он будет всегда стараться быть как можно ближе к тебе.
// ZScript, на ошибки и запускаемость не проверял (пишу без
// интерпретатора -- то есть только для примера решения. Но -- должно работать).
// "master" -- игрок/ведущий. Код происходит внутри ведомого.
// Класс "slaveTeleportTester" невидим, неосязаем, но имеет такой же радиус и такую же высоту, как и ведомый.
// Класс "NewDoomPlayer" и явное приведение типа к нему можно и нужно заменить на твой класс игрока.
override void Tick() {
const thrustLimitRadius = 512.0;
NewDoomPlayer pl = NewDoomPlayer( master );
double dist = Distance2D( pl );
if ( dist > 2 * thrustLimitRadius ) {
/* Телепортировать на место игрока (он сам должен запоминать позицию где-то сзади себя). */
Actor teleportTester = Spawn( "slaveTeleportTester", pl.prevSlavePos );
if ( teleportTester && teleportTester.TestMobjLocation() && teleportTester.TestMobjZ() )
SetOrigin( pl.prevSlavePos, false );
teleportTester.Destroy();
} else if ( dist > thrustLimitRadius )
/* Толкать актора по направлению к мастеру -- сила может варьироваться. */
Thrust( 10.0, AngleTo( pl, true ) );
}
Super.Tick();
}
theleo_ua пишет: | ...гарантированно останавливал текущий(е) звук(е), который(е) на этом канале сейчас играют? |
Посмотри на функцию A_StopSound(). EDIT: А, уже VladGuardian о ней рассказал... | |
|
2 |
8 |
1 |
 |
|
| |
Misha2007 Recruit
 | 8 |
Doom Rate: 2
|
Отправлено: 09.11.20 12:14:50 | | | Здравствуйте у меня вопрос, я нашёл модификацию для doom 1,2 на 3D модельки монстров оружия и декораций. Модели находятся в формате md2 ну или попроще из quake, есть ли конвертёр из формата .obj в md2? Порт: GZDoom. И я все это делаю на телефоне на нём есть андроид и 95 windows. | |
|
| |
+Ku6EPyXOBEPTKA+ = Major =
 |  | 3053 |
 Doom Rate: 2.05 Posts quality: +1513 |
Отправлено: 09.11.20 14:38:57 | | | theleo_ua
А если выставить номера каналов самим (он же слот)? Только такие, подальше от других. Теоретически звук с совпадающим каналом должен глушить звук, запущенный ранее с тем же номером. Кстати, в "a_stopsound" наверно это будет тоже полезным, чтобы целиком канал не отрубать. | |
|
2 |
1 |
7 |
 |
|
| |
theleo_ua - Commissar -
 | 5056 |
 Doom Rate: 1.8 Posts quality: +1144 |
Отправлено: 10.11.20 00:54:14 | | | VladGuardian пишет: | StopSound |
JSO x пишет: | A_StopSound(). |
+Ku6EPyXOBEPTKA+ пишет: | А если выставить номера каналов самим (он же слот)? |
StopSound на канале CHAN_BODY не помог, с другими каналами попробую позже | |
|
4 |
1 |
 |
|
| |
HellDoomer 666 = Master Corporal =
 | 260 |
 Doom Rate: 1.82 Posts quality: +7 |
Отправлено: 10.11.20 18:34:22 | | | Всем привет. Решил в своём проекте сделать "ловушку" для игрока: игрок заходит в сектор, чтобы восстановить здоровье, но дело в том, что пока игрок "хилится", у него этот сектор опускается в "SHITTY" и если игрок замешкается, то как-раз попадет в "SHITTY". Используется обычный ACSscript - не совсем понимаю, как такое реализовать. И при этом, как надо переделать скрипт так, чтобы опускать сектор на столько маппикселей, на сколько был совершён "damage" игроку? Порт: gzdoom 3.8
script "Healshit" (void)
{
int h = GetActorZ(0);
if((PlayerHealth() < 100)&&(h <= 0.0))
{
Healthing(2);
Plat_DownByValue(11,1,0,Healthing(2));
delay(16);
restart;
}
} | |
|
| |