Есть другие редакторы wad' ов? (тоесть добавлять музыку и текстурки)
У меня XWE напрочь не работает, а SLADE просит файлы которые не поддерживает мой комп.
Есть 3д анимация, она повторяющаяся. Все норм, но удручает небольшая ...загагулина. После завершения цикла, модель на мгновение исчезает перед тем как снова перейти к первому кадру.
По логике надо наверное убрать TNT A 0, но в этом случае Гздум не видит модель (восклицательный знак).
DECORATE
Скрытый текст:
actor PYRAMID_ACTOR 22223
{
Radius 32
Height 32
+SOLID
+NOGRAVITY
States
{
Spawn:
TNT1 A 0
PYRA A 1
PYRA B 1
PYRA C 1
PYRA D 1
PYRA E 1
loop
}
}
MODELDEF
Скрытый текст:
Model PYRAMID_ACTOR
{
Path "models/PYRAMID"
Model 0 "PYRAMID.md3"
Skin 0 "PYRATX.png"
Scale 2.0 2.0 2.4
FrameIndex PYRA B 0 1
FrameIndex PYRA C 0 2
FrameIndex PYRA D 0 3
FrameIndex PYRA E 0 4
}
Поддержка плоских спрайтов (FLATSPRITE) убрана из гздум? Пробую запустить "оффициальный" тест вад, гозза последней версии пишет, что не понимает a_setflatangle.
Снова я, со своими плавными появлениями/исчезновениями (динамическая прозрачность), только теперь с акторами. Сижу второй выходной, вроде понял что в ЗДУМЕ бывают целые и постоянные числа( что бы это ни значило), что один в другой тип переводиться посредством >> <<16. Но все равно, все никак не заработает, ну почему
script 1 ENTER
{
for (int i = 31; i <= 35; i++)
ACS_NamedExecuteWithResult("ActorTransDynamic", i, 0, 0, 0);
}
script "ActorTransDynamic" (int i)
{
int cx = GetActorX(i);
int cy = GetActorY(i);
int cz = GetActorZ(i);
int dst = VectorLength(GetActorZ(0)-cz, VectorLength(GetActorX(0)-cx, GetActorY(0)-cy))>>16; //просчитывание растояния от игрока до актора, тут все норм.
int maxdst = 512; //отрезок, за который происходит появление актора
int alpha = 0;
if (dst <= maxdst) alpha = 255-(dst*255/maxdst); //какой будет прозрачность актора, если расстояние игрка до него равно сколько-то там
SetActorProperty(i, APROP_Alpha, FixedDiv(alpha << 16, 255.0)); //тут косяк. вроде перевожу прозрачность в постоянное число, но не срабатывает!!!
SetActorProperty(i, APROP_RenderStyle, STYLE_Normal);
Delay(1);
restart;
}
я не особо вникал т.к. не много выпил
Но мне кажется что в acs нельзя умножать делить значения с .0 на прямую
для этого используется FixedDiv и FixedMul Ну и в целом если что можно попробовать так писать
int maxdst = 512.0;
int alpha; // = 0;//? зачем если оно и так равно 0
if (dst <= maxdst)
alpha = 255.0 - (FixedDiv(FixedMul(dst, 255.0), maxdst);
Добавлено спустя 2 минуты 9 секунд:
Вообще по хорошему должно быть так:
float maxdst - 512.0; но почему-то так нельзя.
Видимо наличие .0 дает гоззе понять что число фиксед, а если точки нет то надо определять его к интеджеру имхо
SetActorProperty(i, APROP_Alpha, FixedDiv(alpha << 16, 255.0)); //тут косяк. вроде перевожу прозрачность в постоянное число, но не срабатывает!!!
SetActorProperty: Alpha of the actor. Range is [0.0, 1.0]
Т.е. тебе надо все дело делать от 0.0 до 1.0, а ты переводишь в целые числа, может тут проблема?
По логике мне надо вот тут
if (dst <= maxdst) alpha = 255-(dst*255/maxdst); перевести все в .0 чтобы во это все потом в качестве "alpha" вставить в SetActorProperty(i, APROP_Alpha, alpha);
Но ты только что это сделал выше, и я уже запутался очень сильно, безнадега, блин, полная.
Я еще в здум форуме писал, но и там не смогли помочь. Смогли)
Есть другие редакторы wad' ов? (тоесть добавлять музыку и текстурки)
У меня XWE напрочь не работает, а SLADE просит файлы которые не поддерживает мой комп.
У меня та же проблема - на работе плохой комп.
Поэтому использую SLumpEd (старинный-старинный, на нем еще Ленин Сталина карты ГУЛАГА строить учил).
Но так привык, что SLADE забыл и дома, скачать можно отсюдаотсюда.