Страницы (2): [1] 2 » Показать все 21 сообщений этой темы на одной странице |
HLFX.Ru Forum (https://hlfx.ru/forum/index.php)
- Технические вопросы (https://hlfx.ru/forum/forumdisplay.php?forumid=20)
-- Кручёная загадка от valve (https://hlfx.ru/forum/showthread.php?threadid=4978)
Кручёная загадка от valve
Всем бодрого утра.
Суть такова: на карте c0a0b есть тот самый крутой шлюз из трёх func_door_rotating.
Вопрос: как игра определяет, в какую сторону вращаются двери справа и слева?
__________________
Минутка полезного:
Бесплатный UT-подобный Half-Life mod.
Бесплатный редактор для 32-битных текстур. Без дотнета.
Бесплатный IDE для любых компиляторов и ЯП.
Бесплатная Windows-подобная ОС.
Проверка грамматики русского языка.
Чат по hl[fx]: [email protected]
~ X ~
Дизайнер задаёт сторону, используя флаги "One-way" и "Reverse dir", не?
__________________
Похоже что мультиманагер так работает.
Сейчас эксперементирую, через мультиманагер дверь открывается иначе, чем через триггер напрямую.
Похоже, как если игрок своей тушкой двери открывает, они всегда от него открываются.
XaeroX как видишь, здесь it's not the case Я специально сделал дамп энтитей. Если не веришь, сделай сам.
Skaarj с открыванием от игрока - это ясно, в двери это запрограммировано явно. Я даже пофиксил это с "игрок повёрнут в сторону" на "игрок движется в сторону", а то получалось что спиной дверь на себя тянешь. Но здесь таких флагов нет.
__________________
Минутка полезного:
Бесплатный UT-подобный Half-Life mod.
Бесплатный редактор для 32-битных текстур. Без дотнета.
Бесплатный IDE для любых компиляторов и ЯП.
Бесплатная Windows-подобная ОС.
Проверка грамматики русского языка.
Чат по hl[fx]: [email protected]
~ X ~
Я не понимаю, что тебя смущает. То, что двери открываются в разные стороны? Так это очевидно из кода, а именно из фрагмента:
1 | if ( !FBitSet( pev->spawnflags, SF_DOOR_ONEWAY ) && pev->movedir.y ) // Y axis rotation, move away from the player |
2 | { |
3 | Vector vec = pevActivator->origin - pev->origin; |
4 | Vector angles = pevActivator->angles; |
5 | angles.x = 0; |
6 | angles.z = 0; |
7 | UTIL_MakeVectors (angles); |
8 | // Vector vnext = (pevToucher->origin + (pevToucher->velocity * 10)) - pev->origin; |
9 | UTIL_MakeVectors ( pevActivator->angles ); |
10 | Vector vnext = (pevActivator->origin + (gpGlobals->v_forward * 10)) - pev->origin; |
11 | if ( (vec.x*vnext.y - vec.y*vnext.x) < 0 ) |
12 | sign = -1.0; |
13 | } |
__________________
Меня смущают абсолютно одинаковые key/value у этих "дверей". А активируются они path_track'ом.
XaeroX т.е. по-твоему на c0a0b игрок толкает двери?
Кто-нибудь может порпобовать запустить эту карту под ХЛ и посмотреть, что будет, если к двери стоять спиной?
__________________
Минутка полезного:
Бесплатный UT-подобный Half-Life mod.
Бесплатный редактор для 32-битных текстур. Без дотнета.
Бесплатный IDE для любых компиляторов и ЯП.
Бесплатная Windows-подобная ОС.
Проверка грамматики русского языка.
Чат по hl[fx]: [email protected]
__________________
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
XaeroX я таки решил узнать таки почему ты считаешь что там имеет значение положение игрока.
__________________
Минутка полезного:
Бесплатный UT-подобный Half-Life mod.
Бесплатный редактор для 32-битных текстур. Без дотнета.
Бесплатный IDE для любых компиляторов и ЯП.
Бесплатная Windows-подобная ОС.
Проверка грамматики русского языка.
Чат по hl[fx]: [email protected]
Активатор - это тот, кто ближе всего по цепочке. А там в этой роли мульти_манагер. Углы у него тоже есть, равны 0 0 0. Передвинь его за ворота и запоры начнут открываться в другую сторону.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
__________________
XaeroX ты не говорил что pevActivator - не игрок. Я предположил что как раз так.
Для мапперов это настоящая мистика т.к. никто и нигде не ожидает, что двери с одними и теми же key/value будут вести себя по-разному без какой-либо видимой причины. За такой undefined behavior надо линчевать на bsp-дереве.
__________________
Минутка полезного:
Бесплатный UT-подобный Half-Life mod.
Бесплатный редактор для 32-битных текстур. Без дотнета.
Бесплатный IDE для любых компиляторов и ЯП.
Бесплатная Windows-подобная ОС.
Проверка грамматики русского языка.
Чат по hl[fx]: [email protected]
Ku2zoff а двойная засада в том, что в XDM, например, это пофикшено и хак не прокатит. Тройная в том, что кто-нибудь обязательно обвинит меня в саботаже.
__________________
Минутка полезного:
Бесплатный UT-подобный Half-Life mod.
Бесплатный редактор для 32-битных текстур. Без дотнета.
Бесплатный IDE для любых компиляторов и ЯП.
Бесплатная Windows-подобная ОС.
Проверка грамматики русского языка.
Чат по hl[fx]: [email protected]
Временная зона GMT. Текущее время 12:11. | Страницы (2): [1] 2 » Показать все 21 сообщений этой темы на одной странице |
На основе vBulletin версии 2.3.0
Авторское право © Jelsoft Enterprises Limited 2000 - 2002.
Дизайн и программирование: Crystice Softworks © 2005 - 2024