Стоп. Проверил обычную халфу, в ней так и показываются связи. Только не на всех картах их почему-то видно.
Добавлено 05-12-2021 в 19:47:
Нашёл статью о нодах на TWHL. Цитата:
Цитата:
As mentioned before, nodes will only create a link where there is a visual line of sight between two nodes. Luckily, it ignores movable brush entities, such as func_doors, so you can place this door in between the nodes and there still will be a link.
FreeSlave писал: Aynekko, я про то, что структура графа читается и сохраняется в файл напрямую.
Да, вероятно это может привести к такому. Ну в моем случае не беда.
Цитата:
Ku2zoff писал: Как раз над этим работаю.
Кстати, пока вчера тестировал двери, обнаружил еще вот что. Есть две двери. Одна залочена мастером и не может быть открыта. Вторая открыта. Обе двери ведут в один и тот же открытый коридор. Ноды везде построены. Я юзаю барника и улетаю ноклипом сквозь дверь с мастером. Итог: барник упирается в дверь с мастером и спамит в консоль "нимагу идти". Вот бы сделать, чтобы этот путь забраковался и он стал искать обходной путь. Что-то вчера копался с этими нодами, но так и не вкурил, как это реализовать.
Собственно, я когда-то давно наблюдал такое явление на широких дверях с флагом Toggle на опфоровских dll-ках. Солдаты, пробегая под ранее открытыми воротами, закрывали их. И Monsters Can't никак не помогал, ибо проверка на него в коде находится позже. Думаю, в HL такое тоже можно повторить, но там больше двух союзников за собой не утащишь, так что проверять сложнее.
FreeSlave писал: Солдаты, пробегая под ранее открытыми воротами, закрывали их.
Такое сплошь и рядом. Даже у себя видел: есть двойные двери, довольно узкие. Так вот они их юзали-юзали, да так и не выюзали, и тупили там. С дверями у монстров вообще отношения особые, особенно с rotating.
Чтобы воспринималось все как надо, нужна у двери галка on/off mode, но вроде бы как в халфе такого нет, только спирит и ксашмод (? могу ошибаться).
Нужно доделать этот момент.
Ты имеешь в виду правильная реакция на use_type? В Sven Co-op такое есть, называется Obey Trigger Mode https://sites.google.com/site/svenm...guide/func_door
Я у себя тоже её реализовал, но по умолчанию этот параметр у дверей не выставлен, для совместимости.
Цитата:
Aynekko писал: Такое сплошь и рядом.
Монстры так могут игрока закрыть Да и вообще негоже игнорировать Monster Can't
FreeSlave писал: Ещё заметил, что связи не строятся через func_monsterclip
Монстер клип для того и придуман, чёб монстры сквозь него не ходили
Он же неотключаемый вроде.
Добавлено 06-12-2021 в 00:29:
Но я подскажу в чём тут дело - во флаге FL_MONSTERCLIP, который учитывает трасса. Т.е. CTestHull должен иметь тоже этот флаг, чёб монстерклипы были проходимыми.
Дядя Миша писал: Монстер клип для того и придуман, чёб монстры сквозь него не ходили
Так не все, а только те, что с флагом Monsterclip.
Цитата:
Дядя Миша писал: Он же неотключаемый вроде.
Его можно удалять
Цитата:
Дядя Миша писал: Но я подскажу в чём тут дело - во флаге FL_MONSTERCLIP, который учитывает трасса. Т.е. CTestHull должен иметь тоже этот флаг, чёб монстерклипы были проходимыми.
Я тоже об этом подумал, и добавлял FL_MONSTERCLIP в CTestHull::Spawn, но это не помогло.
Ну и в HandleLinkEnt добавил ветку, учитывающую func_monsterclip и возвращающую на него успех.
FreeSlave писал: Я тоже об этом подумал, и добавлял FL_MONSTERCLIP в CTestHull::Spawn, но это не помогло.
Не помогло, потому что UTIL_TraceLine не использует флажки FL_MONSTERCLIP. Тебе нужно использовать UTIL_TraceHull для построения нодов с нулевым хуллом. Тогда сработает.
Добавлено 06-12-2021 в 09:19:
И FL_MONSTERCLIP добавлять в g_pBodyQueHead, а не в CTestHull.
Такой вопрос, никто не делал луч моделькой? Типа как у Шафта в 1 Квейке? Я смотрел код dmc, как я понял там луч средствами ХЛ рисуется, через R_BeamPoints.
Зачем? В первой кваке не было спрайтов, ЕМНИП, только партикли. Отсюда и модельки для огня, для молний шамблиров и шафта, плевков демонов. Во второй кваке то же самое - модельки и партикли. В халфе одно нехорошее ограничение на спрайтовые эффекты - лимит темпэнтить. Можно обойти, используя три апи. Импотенциально можно накодить свою рисовалку спрайтов, в первой паранойе вроде бы что-то такое имеется.