Anto96WS Вроде если они одной текстуры, то через шифт в 3д режиме выделяешь и колёсиком. Или можно выделить нужные сектора в сетке и в поле floor height прописать ++число на которое поднять или --число которое опустить. Ну или просто наведи на поле и подожди секунду. Подсказка сама выползет.
2JSO x:
1) Спасибо, заработало! Давно так стыдно не было - ведь сто раз этот флаг проглядывал.
3) Сэнкс, стало понятнее, хотя для меня отношения указателей даже на русском выглядят в духе "кто на ком стоял". ))
2) Да A_DamageTarget я как раз и выбрал исходя из статьи звики, казалось что проблем с функцией не будет, ан нет.
Что известно:
для A_SpawnItemEx (By default, when projectiles use SET pointer flags, the monster who did the spawning is the one that is the master.);
общее правило для Actor Pointer (A projectile's target is not the actor that it will seek after. Instead, this is the actor who fired the projectile.)
В моём случае получается что:
0. Актор "В"(моб) случайно задевает актор "А"(моб)
1. Актор "А" выбирает целью актор "В"
2. Актор "А" спаунит на самом себе актор "С"(снаряд), а цель же снаряда по-умолчанию, исходя из правила указателей, - тот кто его вызвал, т. е. сам актор "А"
3.1. "С" немедленно попадает в "А", и "А" должен начать получать дамаг от A_DamageTarget, прописанной в "С"
3.2. Однако при спауне, "С" были переданы указатели от "А" через флаг SXF_TRANSFERPOINTERS
4. Поэтому "С" ранее попавший в "А", выбирает своей целью "В", что в свою очередь адресуется и функции A_DamageTarget
5. "В" получает дамаг, изначально предназначенный для "А".
ЕЯПП, то "В" не атакует "А", поскольку справедливо считает первоисточником дамага ненацеливаемый "С", но в "С" же как раз прописан A_DamageTarget(AAPTR_TARGET), а по заверению вики это как раз должно принуждать "В" рассматривать источником дамага самого "А".
В другом варианте я пробовал спаунить "С" (без TRANSFERPOINTERS но с A_TransferPointer( AAPTR_TARGET, AAPTR_DEFAULT, AAPTR_TARGET, AAPTR_TARGET )в нём самом) на некотором растоянии от "А" чтобы снаряд действительно летел в "В" а не начинал сразу лупить "А", но в этом случае "А" по-прежнему остаётся целью "С", а функция A_DamageTarget почему-то вообще не пашет.
Вообще же моя цель - сделать мили атаку которая навешивает на цель ДоТ-эффект (периодический урон) с заданным DamageType (но не яд!) а-ля "горение" или "кровотечение", причём получатель урона должен чётко определять источником оного, именно актора наложившего ДоТ. Может это проще сделать другим способом?
Всем доброго времени суток. Решил немного отдохнуть от ванильного дума и поработать с Хексеном. Возник вопрос - как посмотреть скрипты, которые уже есть на карте? Хочу кое-какие скрипты в классике посмотреть, чтобы понять что к чему. Но не нашёл способа ни в Slade ни в Doom Builder
+Ku6EPyXOBEPTKA+, не нужно там три тега. Два тега, сектору посередине назначай два тега сразу. К сожалению, в Slade3 придётся дополнительные теги прописывать в moreids и они не будут подсвечиваться. Может, когда-нибудь это поправят.
А как назначить сектору 2 тега сразу? как-то попробовал разок ни чего не получилось, работал в gzdb.
А как назначить сектору 2 тега сразу? как-то попробовал разок ни чего не получилось, работал в gzdb.
В GZDB есть в поле тэга справа кнопочка "+". Нажимаешь на неё и ставишь новый тэг. Переключаться между тэгами (чтобы поменять) нужно по синим под полем тэгам-цифрам (как ссылки сделаны).
Кстати, я так понял, что эта фишка работает в GZDoom 2 и выше, в то время как 1.8 и Zandronum 3.0 не могут так. Метод другой? Или всё же фитчи тогда не было?
+Ku6EPyXOBEPTKA+, ещё пожалуйся, что в BOOM 2.02 не работает.
Кто сказал что я жалуюсь? Я кажется просто спросил, про Zandronum 3.0 (иногда приходится делать и под первое и второе одновременно, вот и выкручиваюсь). Что все такие нервные сегодня то? А между прочим Zandronum 3.0 последний официальный релиз (осень 2017 кажись).
Значит в Zandronum нет одновременного указания тэгов. Печально, но буду знать.
Ещё вопрос возник: решил перейти в GZDoom builder, чтобы осваивать всякие фишки вроде наклонных полов и т.п. Взял свой вад, в Game Configuration поменял на GZDoom : Hexen (UDFM), но GZDoom Builder тупо не видит моей карты в ваде, когда так пытаюсь (в настройках самой карты тоже менял). Как это лечить?
Если по какой-то неясной причине не получается - идем длинным путем:
1) Открываем свою карту
2) Полностью выделяем ее и КОПИРУЕМ
3) Создаем новую карту уже в нужном нам UDMF формате и "ВСТАВИТЬ"
Короче проблема, спасайте если это возможно. Сделал прикольный скример но line_setportaltarget походу нельзя закомпилировать в бехейвор карты или это слейд не может не знаю.
Одним словом, можно ли решить проблему как то?
Примечание: на самой карте спейшел line_setportaltarget у меня работает без проблем, но он нужен внутри скрипта.
Умные люди вещают, что порталы не могут быть "созданы" уже после загрузки карты. Лечение же предлагается соответствующее:
Перевёл то что написанно "If you do not want the portal to be accessible, you could have a barrier of some sort which is lowered or opened when the switch is activated."
получилось "Если Вы не хотите, чтобы портал был доступен, у вас может быть какой-то барьер, который опускается или открывается при активации переключателя."
Не вижу каким боком это мне может помочь. У меня выглядит ситуация следующим образом в игре, пишу как задумал.
Игрок подходит к двери и открыв её видит перед собой коридор из портала со скримером(за дверью). После скримера дверь захлопывается и сразу после её закрытия должен скриптом сработать line_setportaltarget для удаления портала, чтобы после повторного открытия двери была нормальная локация, на которую уже без линейного портала можно попасть. Поэтому ни какие блокировки линии для остановки игрока не помогут.
Короче ясно line_setportaltarget в скрипт нельзя засунуть, буду знать.
SSV_Victoryan а почему ты не хочешь засунуть этот скрипт на карту, раз этот спешл там работает?
Скрытый текст:
это же кастомная карта?
можно запихнуть спешл в отдельный скрипт на карте и сослаться на него acs_namedexecute'ом каким-нибудь
просто я не знаю, зачем нужны отдельные скрипты в случае кастомной карты в таком специфическом месте, которое вряд ли нужно будет юзать глобально, вне этой карты
Господа, уже пару месяцев не могу решить ключевую проблему с эффектами некоторых спрайтов, на вас последняя надежда.
Ситуация следующая:
Когда я начинаю извлекать составные спрайты (т. е. состоящие из нескольких слоёв изображений) с эффектами, то на стадии превью они отображаются так как мне нужно:
Затем, на этапе когда я выбираю фон для дальнейшего сохранения кадров с альфа блэндингом пикчи выглядят всё также приемлимо:
Однако всякий раз когда дело доходит до Slade то при удалении фона края эффекта остаются "подкрашены" цветом фона и соответственно теряют прозрачность:
что в игре выглядит не лучше:
И к сожалению для актора с такими спрайтами декорэйт рендеринг неприемлем, поскольку эффект становится неотъемлемой частью кадра. Причём, как я отметил выше, экстрактор спрайтов позволяет устанавливать свойства (типа прозрачности) эффектов для каждого слоя в кадре, но всё убивается цветом фона.
В анимации:
Скрытый текст:
Подозреваю что это вполне излечимо буквально на уровне пары кликов в каком-нибудь редакторе или установкой правильных настроек. В общем буду крайне признателен если кто подскажет какую тулзу и\или мануал по лечению сей проблемы. Пробовал юзать GIFMovieGear 4.2.3, но либо я не шарю, либо эта прога не лечит проблемы такого рода.
SSV_Victoryan
а почему ты не хочешь засунуть этот скрипт на карту, раз этот спешл там работает?
Скрытый текст:
это же кастомная карта?
можно запихнуть спешл в отдельный скрипт на карте и сослаться на него acs_namedexecute'ом каким-нибудь
просто я не знаю, зачем нужны отдельные скрипты в случае кастомной карты в таком специфическом месте, которое вряд ли нужно будет юзать глобально, вне этой карты
Потому что скример требует активации сразу нескольких спейшелов, некоторые должны идти друг за другом. В формате дум2 карт раньше для этого я ставил за картой конвеер с псевдо игроком(вуду) чтобы он ехал и ну ты понял. Нахрена мне делать этот конвеер в УДМФ формате, если есть скрипты?
Код скримера на всякий:
Скрытый текст:
script 4 (void)
{ if (mapvar1 == 0)
{ Polyobj_RotateRight(const: 4, 24, 64);
mapvar1 = 1;
delay(48);
Polyobj_Move(const: 3, 256, 128, 1212);
delay(24);
Polyobj_RotateRight(const: 4, -24, 64);
delay(48);
Line_SetBlocking(5, 0, 15);
//Line_SetPortalTarget(4, 0); <- не работающая хрень в скрипте, но работающая на карте
mapvar1 = 2;
}
if (mapvar1 == 2) { Polyobj_DoorSwing(const: 4, -8, 64, 150); }
}
Я маппер а не мододел, поэтому и не могу решить эту проблему. Единственное решение которое вижу, удалить скример. Но питаю надежду что можно ещё как-то обойти это ограничение с line_setportaltarget.
По поводу acs_namedexecute не понял что это и что за отдельный скрипт. Если не конвертируется line_setportaltarget ни каким боком.
на самой карте спейшел line_setportaltarget у меня работает без проблем, но он нужен внутри скрипта.
аа, я понял. ты эту штуку прям в линию ставил. я сначала не понял и думал, что ты в скриптах карты ее и проверял.
короче, в билдере есть встроенный редактор скриптов, он Line_SetPortalTarget переваривает без проблем
вот вставь в него весь этот 4й скрипт.
Скрытый текст:
а acs_namedexecute вызывается из скрипта и позволяет запустить какой-нибудь другой скрипт с помощью основного
а, и рекомендую называть скрипты словами, а не цифрами, вроде script "qwerty" (void)
а то вдруг какой-нибудь мод имеет свои скрипты и они тоже записаны цифрами, тогда конфликт будет
Slade то при удалении фона края эффекта остаются "подкрашены" цветом фона и соответственно теряют прозрачность:
Меня терзают смутные сомнения (хотя со Слейдом совершенно незнаком),
что там может существовать настройка для режима обрезки фона,
на манер фотошоповского - (показано на примере инструмента Лассо)
VladGuardian хочешь, чтобы человек через лассо выделял силуеты в каждом кадре?
не, просто слейд на скриншоте уже убирает черный фон, и че тут можно еще сделать с помощью лассо я без понятия.
тут с градиентом свечения руки проблемы, но это так просто не решить.
ну, разве что "придется руками", но это долго и муторно.
Скрытый текст:
могу придумать только два способа -
первый через каналы
в каналах есть пунктирный круг, который выделяет все, кроме черного, затем можно инвертировать выделение и удалить все черное. только надо будет покрасить в какой-то цвет, а то небольшая часть серого может остаться немного видимой
вторая - это если клацнуть ПКМ по картинке, можно выбрать пункт color range, и удалить весь черный. тут контроля больше, потому что самому можно выбрать, насколько сильно удалять, но все же фигня с небольшой частью серого может остаться
вот если бы можно было экспотрировать из дьяблы в PNG, но оно чето сереньким выделено, я тут хз
Добавлено спустя 5 минут 8 секунд:
SSV_Victoryan у меня билдер создает такой лумп, который, кажись, не надо компилировать.
Скрытый текст:
потому что если я сейчас поытаюсь это сделать, он мне тоже ошибку выдаст. слейд не очень. билдер ванлав.
хз, че там происходит в слейде, попробуй так же сделать