FoxPlays Предлагаю сделать следующим образом:
1. с сектора убрать флажок секрета;
2. вместо него в сектор поместить объект SecActEnter (doomednum = 9998, в GZDB в папочке "Sector Actions", называется "Actor enters sector"), на него навесить флаг Activate once only;
3. в Action этому объекту прописать вызов ACS-скрипта (скажем, номер 1), его напишем потом;
4. создать (неважно где) объект SecretTrigger ("ZDoom/Secret", 9046), присвоить ему тэг/TID, равный, например, тоже 1;
5. код скрипта:
#include "zcommon.acs" // как всегда, начинаем с этой строчки
Script 1 (void) {
Thing_Activate(1);
PrintBold(s:"Secret found!"); //PrintBold печатает всем на экране.
}
Можно поставить SecretTrigger-у режим работы, при котором не выводится сообщение "A secret is revealed!", тогда оно у игрока, нашедшего секрет, выводиться не будет.
N00b2015 Хорошо, а можно как нибудь сделать чтобы был скрипт для всех вадов?
Чтобы он в любом ваде при триггере секрета выводил с ним ещё дополнительное сообщение?
Такая штука не будет выводить стандартное сообщение. Если оно нужно, то false замени на true. Но тогда и PrintBold придётся заменить, потому что нового сообщения тогда не будет видно (кроме как в консоли).
Также не забудь прописать в MAPINFO
Добавлено спустя 1 день 3 часа 18 минут 25 секунд:
Активничаю в теме для новичков
Появился вопрос. Возможно ли сделать так, чтобы была проверка ракеты на то, выпущена ли ракета от игрока или нет.
Если да(выпущена от игрока), то при помощи Species она бы проходила сквозь игрока, а то уже устал умирать от своих же ракет в кооперативе
Если твоя РЕАЛЬНАЯ цель не коцаться от собственных ракет, то никаких хитрых чеков городить и вовсе не нужно, - просто отключи флаг XF_HURTSOURCE в A_Explode ракеты. Например A_Explode(128,128,XF_NOSPLASH,0,128)
Имеется явное противоречие твоего реквеста с реальностью, ибо ракета игрока ИТАК пролетает сквозь игрока выстрелившего ею...
Т. е. ты просишь сделать то что УЖЕ ЕСТЬ и работает.
Другой вопрос почему у тебя ракеты ведут себя иначе. о_0
Ох, тупанул...
Ну да, нужно же только сквозь специес, тогда и остальные флаги не нужны, т. е. делаешь точь-в-точь как с ракетой - только +MTHRUSPECIES. )
На что (и где) заменить все рельсы и хитсканы?
И что в Еретике не работает?
Замена хитскана прекрасно работает и в еретике:
Actor MyBlasterPuff : BlasterPuff replaces BlasterPuff
{
+MTHRUSPECIES
}
Я про то, что можно ли сделать чтобы это работало везде?
Есть же ещё Strife, Hexen и ещё множество разных вадов... Мне же не заменять всё для каждого вада со своими пушками?
Есть возможность как нибудь сделать, чтобы рельсы и хитсканы можно было заменить один раз и это работало бы везде?
Есть возможность как нибудь сделать, чтобы рельсы и хитсканы можно было заменить один раз и это работало бы везде?
Насколько мне известно на декоре это невозможно. Только править каждый хитскан или его предка если таковой имеется.
Мб зскрипт позволит оверрайтнуть хитскан как таковой с добавлением MTHRUSPECIES.
Добавлено спустя 17 минут 47 секунд:
--------
Флаг CANUSEWALLS гласит: This actor can activate unlocked doors and lifts.
Тогда почему монстры не могут открыть двери типа первой двери на мап01 дум2.вад?
Как можно "научить" актор открывать любую незапертую дверь?
Флаг CANUSEWALLS гласит: This actor can activate unlocked doors and lifts.
Тогда почему монстры не могут открыть двери типа первой двери на мап01 дум2.вад?
Как это "не могут"? У меня прекрасно дверь выхода открывают, она там единственная, которая с двух сторон открывается и удовлетворяет всем условиям возможности открытия монстрами дверей. В помещение с бронёй в секретке дверь односторонняя, в секрете над лифтом у не-стены есть флаг "Secret". Ещё условие (насчёт обычных не уверен, но для ключевых -- обязательно): дверь должна быть тоньше то ли восьми, то ли шестнадцати маппикселей. Это используется на скоростных прохождениях в doom2.wad, на MAP27 ("Monster Condo") -- там арч-вайл при должной сноровке может открыть красную дверь, ведущую к выходу.