Посоны, есть вопросы у меня тут по АЦС скриптам.
Первое - замутил я как то рельсу из SW и спалил, что в ней нехватает увеличения у трайлов, т.е. - сначала спрайт мелкий, но потом покадрово увеличивается. Собсна я сварганил такой скрипт:
ACTOR RailGunTrail
{
+NoBlockMap
+NoGravity
+Shadow
+NoTeleport
+CannotPush
+NoDamageThrust
+CLIENTSIDEONLY
+Noclip
scale 0.20
states
{
spawn:
RLTR A 2 Bright ACS_Execute(981,0, 0.5)
RLTR B 2 Bright ACS_Execute(981,0, 0.6)
RLTR C 2 Bright ACS_Execute(981,0, 0.7)
RLTR D 2 Bright ACS_Execute(981,0, 0.8)
RLTR E 2 Bright ACS_Execute(981,0, 0.9)
RLTR F 2 Bright ACS_Execute(981,0, 0.10)
RLTR G 2 Bright ACS_Execute(981,0, 0.11)
RLTR H 2 Bright ACS_Execute(981,0, 0.12)
RLTR I 2 Bright ACS_Execute(981,0, 0.13)
RLTR J 2 Bright ACS_Execute(981,0, 0.14)
RLTR K 2 Bright ACS_Execute(981,0, 0.15)
RLTR L 2 Bright ACS_Execute(981,0, 0.16)
RLTR M 2 Bright ACS_Execute(981,0, 0.17)
RLTR N 2 Bright ACS_Execute(981,0, 0.18)
RLTR O 2 Bright ACS_Execute(981,0, 0.19)
RLTR P 2 Bright ACS_Execute(981,0, 0.20)
stop
}
}
Хоть тресни - не работает и всё. Ни у кого нет идей, как можно увеличивать\уменьшать спрайт находу?(Только не рассказываем мне способ спавна одного кольца другим, я уже пробовал его)
Второй вопросик - решил сегодня замутить, что-то типа движение актора по кругу. Т.е. актор спавнится около игрока и начинает вокруг него летать.
Замутил такой скрипт:
Скрытый текст:
Script 980 (int Angle, int Radius)
{
int X = Radius*Cos(Angle) + (GetActorX(4) >> 16);
int Y = Radius*Sin(Angle) + (GetActorY(4) >> 16);
SetActorPosition(0,(X << 16),(Y << 16), GetActorZ(4), 0);
}
Актор с тидом 4 - игрок, тид я менял через Thing_ChangeTID(0,4)
И так же вызывал этот скрипт из актора:
Скрытый текст:
Actor FlameBoll
{
scale 0.4
+NOGRAVITY
States
{
Spawn:
HEXP ABCD 3 Bright ACS_Execute(980,0,30,50)
Loop
}
}
Аналогично первой проблеме - не хочет работать, актор просто стоит на месте.Мб я тупо не ту формулу подобрал? Хотя по сути актор должен переместиться хоть куда нить, даже если и не по кругу.
Вообще эти проблемы вызывают у меня ощущение, что игра игнорирует вызывание скрипта из какого либо другого актора, хотя недавно я написал довольно забавную штуку для спавна трайлов, где актором-активатором был проджектайл и там работало всё прекрасно.
1. Передавать float из DECORATE нельзя. В скрипте домножай.
2. По моему в скрипте очень большие потери точности при преобразованиях (а именно сначала всё округляется до 0, а затем этот 0 пытается растянуться. Приводи всё в fixed, а не наоборот.
3. Действие в первом кадре не выполняется, а значит, масштаб будет меняться скачком от 0.20 до 0.6, что нехорошо.
Очень странно это всё работает, попробовал вчера принудительно масштабировать(ставил прямиком значения в скрипт) - всё равно не работает, как был спрайт одного размера, так и остался.
ребята кто нибудь знает как сделать миниатюрный мод в котором будет вестись счет за убитых монстров, собранных артефактов и т.д?? подскожите хотябы код... зарание спасибо
ребята кто нибудь знает как сделать миниатюрный мод в котором будет вестись счет за убитых монстров, собранных артефактов и т.д?? подскожите хотябы код... зарание спасибо
Включи карту - в левом верхнем углу все показано...
Как сделать так, что бы конвертированный файл (из mp3 в ogg) работал коррекно. А то у моего music pack'а музыка вообще не работает и выдаёт краш. Использовал Slade3, а аудио конвертор - Free Аudio Converter. Помогите, please.
Добавлено спустя 4 минуты 17 секунд:
XWE в windows 7 ultimate у меня не запускается, а другие редакторы ресурсов DooM я не пробовал.
Как музыкальный файл вообще может крашить игру? Что за ошибка? Синий экран смерти? Взрыв компьютера? Пришло время перестанавливать щиндоус?
А хве надо от имени админа запускать, чтобы работало.
извените я не правельно поставил вопрос... я имел ввиду мод в котором будут добовлятся очки за убитых монстров например имп стоит 500 ед а кибер демон допустим 10000 ед......а сама цифра висела бы вверху экрана вовремя игры а не в карте.
Народ, никто в геометрии не смыслит? А то я не догоняю как эта формула движения по окружности работает.
Сделал я скрипт вот так:
Скрытый текст:
Script 980 (int Angle, int Radius)
{
int X = ((Radius*Cos(Angle)) >> 16) + GetActorX(4);
int Y = ((Radius*Sin(Angle)) >> 16) + GetActorY(4);
SetActorPosition(0, X, Y, GetActorZ(4), 0);
}
И вызывал аналогично как в прошлом вопросе прямиком из актора. Однако возникает неурядица - актор перемещается тупо в центр игрока.
Я в нете читал косинус и синус нужно в радианах указывать, так вот - в думе углы расчитываются в радианах или не?
LEX SAFONOV
Твоя формула неправильная. Не надо сдвигать. Ты не понимаешь, что делаешь. Если Radius — int (0,1,2,...), то умножив его на синус(fixed), ты получишь результат в fixed (5.2 например). Сдвинув это на 16, ты получишь целочисленные 5. Прибавив целочисленные 5 к результату GetActorX(fixed) ты увеличишь координату X на 5/65535, то есть никак не увеличив.
я не дождался положительных ответов и решил сам вынюхать в модах как примерно сделать счет за монстров но столкнулся с такой бедой: в декорейте я создал актера "score" с сбаринфо я все указал но мод теперь выдает ошибку
"actor" is an unknown actor property. кто знает почему так происходит?
Так тебе игра прямо и говорит, что неизвестная проперти(флаг) под названием actor. Выкладывай код, телепатически ведь никто не узнает почему игра выдаёт подобную ошибку.
born v12 :
Вот такая ошибка.
Я так понимаю вылетело при попытке вопроизвести звук?)(Как вариант переделывать сам звук)
LEX SAFONOV
я разобрался в косяке, там у меня выше был прописан зомбик он заменял старого дак я нечайно стер скобочку в конце актера вот она и мешала.
а код актера "очков" вот он:
Actor score : inventory
{
inventory.maxamount 300000
}