Чтобы менять надписи при подборе оружия, надо редактировать Декорейт. А чтобы добавлять любые другие надписи на экран, то тогда ACS. Но чтобы через ACS менять надписи подбора вепонов - не слышал такого, да и в этом нет никакого смысла, раз такая фича есть в Декорейт.
actor Weap : CustomInventory 10492
{
Inventory.PickupMessage "Energy Boost!!!"//Тут либо удаляешь строку либо оставляешь пустые ""
Inventory.PickupSound "misc/p_pkup"
+COUNTITEM
states
{
Spawn:
MEDI A -1
stop
Pickup: //при поднятии оружия, даст само оружие и запустит скрипт с текстом
TNT1 A 0 { A_GiveInventory ("MyWeap", 1); ACS_NamedExecute("MyPickUp_Text",0);}
stop
}
}
str PickUpMessage[5] = { //массив строк.. прописываем чего надо вывести на экран
"msg1",
"msg2",
"msg3",
"msg4",
"msg5"
};
Script "MyPickUp_Text" (void)
{
SetFont(smallfont);
//SetHudSize(My_X, My_Y, true); //если надо.. пишешь что надо)
HUDMessage(s:PickUpMessage[random(0,4)];0,1,0, -1.0, 0.0, 3.0); //Выставь тут свои координаты\настройки
}
ниче не тестил, писал прям тут на форуме, так что пробуй, если что пиши
Добавлено спустя 51 минуту 8 секунд:
У меня тут вопросец появился, можно ли как-то заспавненому объекту передать User_var? вот более подробный вопрос
Скрытый текст:
Actor mySpawnActor : fastProjectile { States{ Spawn: TNT1 A 1 A_JumpIf(MyVar1==3,"JumpState") loop
JumpState: TNT1 A 1 Stop }
Actor MyActor { var int MyVar1; var int MyVar2;
States{ Spawn: TNT1 A 1 A_SpawnItemEx("mySpawnActor", 0,0,0,0,0,0,0, SXF_TRANSFERSPECIAL|SXF_SETMASTER) Stop }
И вот у MyActor есть переменные мне надо их передать актеру mySpawnActor, это возможно? Через аргументы не предлагать т.к. они у меня заняты.. да и их не хватит т.к. их всего 5шт можно передать.. Ну и через инвентори тоже не хочется.. Может есть какие способы которых я не знаю? Флаг SXF_TRANSFERSPECIAL кажется передает только аргументы =(
И еще вопрос, можно как-то сделать такие var int публичными и приватными? Мне это надо что бы GZDB не показывал все переменные что есть у актера, т.е. показывал только те что будут публичными.
вместо TNT1 A 1 A_SpawnItemEx делать TNT1 A 1 ASC_Execute...
а в самом ACS: getuservar(0, myvar1) spawnforced(блаблабла, tid1) setuservar(tid1, myvar1)
Способ 2:
Скрытый текст:
В ACS делаем глобальный массив, который состоит из таких записей: статус tid значение
Когда актор 1 хочет отспавнить актора 2 и передать ему переменную X, он сначала запускает ACS скрипт, который читает значение переменной X у актора 1, добавит ее в массив, сгенерирует туда tid и запишет статус "ожидает", параллельно записав этот tid в специальную переменную актору 1
После этого актор 1 делает TNT1 A 1 A_SpawnItemEx(Актор 2, ..., tid)
Актор 2 при спавне пускает скрипт, который смотрит массив, находит там свой tid, забирает оттуда значение переменной, и меняет статус на "получено"
Понимаю, что способ 2 костыльный (и возможно не работает, я не тестил), но если способ 1 не устраивает тем что там spawnforced вместо A_SpawnItemEx, то я не знаю как по другому сделать
Всем хаюшки. Продолжаю мучиться спрайтами и decorates. Собсно... На этом скрине 2 проблемы:
1) Нет самой папки decorates. Возникает вопрос: а должна ли она быть вообще? 2) В SLADE у меня нет ярлыков, но я спокойно долгое время справлялся и без них. Если кто-то сможет мне помочь вернуть их, в чём я буду признателен, то напишите, пожалуйста.
Обычно правее названий файлов в .WAD должен быть знак-ярылк, определяющий к чему он относится: спрайт, текстура или звук. У меня нет ни этого, ни половины иконок под основной панелью (там, где Play; Edit и т.д.).
ZZYZX:
Какая папка декорейтс?
Файл такой, decorate... Там мне нужно спрайты отредактировать. Извините, если непонятно объяснил.
Для начала, декорейт папкой не является, декорейт сам по себе является файлом, который может быть один (если используется .wad), а может и не (если используется .pk3, что куда более богоугодно если делается что-то под Гоззу\Зандру). И нет, ни папки, ни файла быть не должно. Если роешься в дефолтах гоззы, в её пк3-архиве есть папка actors, вот там весь декорейт и лежит.
Cartoteka:
2) В SLADE у меня нет ярлыков, но я спокойно долгое время справлялся и без них. Если кто-то сможет мне помочь вернуть их, в чём я буду признателен, то напишите, пожалуйста.
Снеси Слейд текущий, поставь Слейд новый. Вроде как, Гез кнопку реверса к дефолтным настройкам программы так и не впендюрил.
Это реальный кошмар, по другому и не назвать. Постоянные ограничения в чём-то. Это очень не удобно, создавать 2 акторов. В Думсдее как всегда всё доступно. Никаких АСS, никаких Decorate, все флаги в ded файлах, что архи удобно. Но, но. Движок перегружен, реакции в нём нет, работает плавно как наркоман после дозы.
5 моделей, придётся в редакторе что-то соединять в одну модель.(
текстуры LITE3 и LITE5 склеиваются из кусков WLIT. а что за это отвечает?
За это отвечают лампы PATCHES и TEXTURE1 (+ TEXTURE2 если есть) в иваде. В здум.пк3 их нет, ищи их в Doom2.wad (Doom.wad и т.д.), это ещё очень старый ванильный метод. PATCHES - таблица, сопоставляющая картинкам в ваде номера, TEXTURE1 - таблица текстур, склеивающая их из патчей. Очень удобный редактор всего этого дела встроен в SLADE3.
Добавлено спустя 5 минут 50 секунд:
У меня появился вопрос от себя. Каким способом редактируются файлы палитры (PALLETES из ивадов)? Слейд представляет их в очень красивеньком виде картинки из 256 цветных квадратов, но вот редактировать их как будто бы не позволяет (я пробовал редактировать в hex-виде, у меня получался бред). Какие внешние приложения подойдут лучше всего?
Слейд представляет их в очень красивеньком виде картинки из 256 цветных квадратов, но вот редактировать их как будто бы не позволяет
Правой мышью на квадрат в предпросмотре. Выпадет окно выбора цвета, сможешь поставить цвет. Только не забудь после всего клацнуть Generate Palettes и Generate Colormaps.
Правой мышью на квадрат в предпросмотре. Выпадет окно выбора цвета, сможешь поставить цвет. Только не забудь после всего клацнуть Generate Palettes и Generate Colormaps.
Спасибо. Как выяснилось, я сидел на неимоверно древней версии слейда, которая этого ещё не поддерживала.
Кто-нибудь в курсе, как в Doom Builder 2 поворачивать сектора на любой угол, а не только кратный 45 градусам? Очень не хватает этого, в первом билдере можно было на любую величину поворот делать.