HLFX.Ru Forum
профиль •  правила •  регистрация •  календарь •  народ •  FAQ •  поиск •  новое •  сутки •  главная •  выход  
HLFX.Ru Forum HLFX.Ru Forum > Теория и практика > Half-Life SDK > Нубские вопросы от <censored> и других нубов
Чтобы не создавать сто тем
4 голосов
Страницы (213): « Первая ... « 209 210 211 212 [213]   Предыдущая тема   Следующая тема
Автор
Тема Новая тема    Ответить
FreeSlave
Житель форума

Дата регистрации: Nov 2007
Проживает: Тула
Сообщений: 958

Рейтинг



Цитата:
Aynekko писал:
Ага. Проверил со всех сторон. Партикли возникают, если барник находится в районе 32 юнитов от центра. Со всех сторон, если смотреть на виде сверху. Ставил его на расстоянии 31-32-33 по всем осям. Высота всегда была одинаковая - 3 юнита от пола. Интересно. Наверное, какая-то движковая особенность.



А можешь скопировать карту из jmf в rmf и скомпилить? (надо только убедиться, что координаты те же и барник по-прежнему около центра). Для меня это внезапно исправило проблему. Может, что-то не так с геометрией в jmf?

Прикладываю зипник с jmf, rmf и сгенеренными из них .map файлами.

Добавлено 23-12-2021 в 04:04:

Update: на карте скомпиленной из rmf тоже воспроизводится всё-таки. Где-то я накосячил при проверке.
Похоже проблема действительно в тестовом хулле, как и предположил Дядя Миша, и проявляется только если нод граф ещё не создан.
Ради теста выставил в CTestHull::Spawn pev->solid = SOLID_NOT, перекомпилировал карту, чтобы у вызвать перегенерацию графа, и проблема исчезла.
Возможный фикс - создавать тестовый хулл с SOLID_NOT и менять солидность на SOLID_SLIDEBOX в CTestHull::DropDelay

Вложение: nodetest-map.zip (55.5 кб)
Этот файл был скачан 22 раз.

__________________
I'm on github
I'm on Open Build Service
I'm on opendesktop.org

Сообщить модератору | | IP: Записан
Сообщение: 206197

Старое сообщение 23-12-2021 01:04
- За что?
Crystallize
Бета-тестер XashNT

Дата регистрации: Jul 2007
Проживает: Новосибирск
Сообщений: 3668
Возраст: 32

Рейтинг



Цитата:
Дядя Миша писал:
Это называется NAN на входе - NAN на выходе. Вот как это называется.
Наверное и bound не работает, потому что ты ему NAN суёшь.

Если вписать printf внутрь самой VectorAngles, то видно, что туда заходит корректный вектор.

__________________
Вас приветствует персональная защитная система "САХАРА". Для работы в Средах Агрессивного ХАРАктера.
nofunallowed щас инди это по сути синоним "экзотическая игра где будет сказка и грустно

Отредактировано Crystallize 25-12-2021 в 21:17

Сообщить модератору | | IP: Записан
Сообщение: 206258

Старое сообщение 25-12-2021 21:13
- За что?
Crystallize
Бета-тестер XashNT

Дата регистрации: Jul 2007
Проживает: Новосибирск
Сообщений: 3668
Возраст: 32

Рейтинг



В общем там в матчлибе я не объявил в хидере новую функцию. И потом когда я ее использовал в коде, парой строчек ниже там была эта VectorAngles которая и стала давать порченый результат.

__________________
Вас приветствует персональная защитная система "САХАРА". Для работы в Средах Агрессивного ХАРАктера.
nofunallowed щас инди это по сути синоним "экзотическая игра где будет сказка и грустно

Сообщить модератору | | IP: Записан
Сообщение: 206314

Старое сообщение 30-12-2021 11:57
- За что?
hgrunt_2020
Kotab

Дата регистрации: Aug 2021
Проживает: лесозоводск
Сообщений: 94

Рейтинг



Вопрос такой вылез, в ксаше есть папка scripts, там можно сделать фон в меню виде карты, но какие ещё есть скрипты по мимо того же меню?

__________________
новицек в с++

Сообщить модератору | | IP: Записан
Сообщение: 206565

Старое сообщение 16-01-2022 13:57
- За что?
Aynekko
Маппер

Дата регистрации: Jun 2016
Проживает: г. Подольск, Россия
Сообщений: 726
Возраст: 29

Рейтинг



Не могу никак побороть баг с лучом трипмины. На другом конце карты есть одна трипмина, луч у нее активируется через 2.5 секунды. Естественно не в PVS. Вот две ситуации:

1) Через 5 сек вылетаю с ноуклипом, лечу туда. Луч есть.
2) Лечу к месту трипмины по карте, НЕ вылетая за ее пределы, чтобы не задеть PVS мины раньше времени. Прилетел к мине, луча нет.

Изредка бывает, что во второй ситуации луч таки есть. Процентов 10.

На клиенте есть функция R_AddEntity, где проверка на ET_BEAM. Когда луча не видно, эта проверка не срабатывает. Значит луч не приходит на клиент вообще.

Сделал вот так. Это в MakeBeam у трипмины

C++ Source Code:
1
m_pBeam = CBeam::BeamCreate( g_pModelNameLaser, 10 );
2
if( m_pBeam )
3
{
4
  m_pBeam->pev->effects |= EF_SKIPPVS;
5
  m_pBeam -> PointEntInit( tr.vecEndPos, entindex() );

EF_SKIPPVS я завел, чтобы пропускать ENGINE_CHECK_VISIBILITY.

И вот опять ситуации:
1) спавнюсь на карте. Через 2.5 секунды клиент рапортует, что нашел луч. ОК.
2) перехожу с другой карты на эту. После перехода через 2.5 секунды клиент видит луч. ОК.
3) перехожу с другой карты на эту. После перехода через 2.5 секунды клиент НЕ видит луч. ???

Я не понимаю, от чего вообще это зависит. Даже пропуск PVS не помогает (трипмине я тоже ставил).
И ведь почему-то с env_laser таких проблем никогда не было.

__________________
Мой мод на Xash

Отредактировано Aynekko 24-01-2022 в 17:55

Сообщить модератору | | IP: Записан
Сообщение: 206720

Старое сообщение 24-01-2022 17:53
- За что?
Aynekko
Маппер

Дата регистрации: Jun 2016
Проживает: г. Подольск, Россия
Сообщений: 726
Возраст: 29

Рейтинг



В общем решил, что я смогу обхитрить мину и завел ей спаунфлаг "стартовать выключенной", чтобы активировать по триггеру (по тихому и без звуков), когда игрок гарантированно будет в PVS. И это не сработало

- спавнюсь, лечу к мине ноуклипом, запускаю - луч есть;
- спавнюсь, лечу к мине по карте, не вылетая за пределы карты. Вижу ее в прямой видимости, активирую. Луча НЕТ. MakeBeam срабатывает - вывел в консоль. А луча нет... Делаю сейврестор, луч появляется.

Это какой-то несусветный бред. Если раньше я мог хоть идентифицировать где багуется примерно, то сейчас я даже примерно не могу понять, что не так.

Добавлено вчера в 22:25:

Но вот одну деталь обнаружил. Спавнюсь и сразу же делаю сейврестор. То есть мина еще не успела сделать луч. И о чудо, луч есть всегда. Вроде как. Еще потестю.

Добавлено вчера в 22:29:

Да, так и есть.
Я вот знаком с ситуацией, когда что-то не работает после сейврестора. Но чтобы не работало до сейврестора - это просто вау.

__________________
Мой мод на Xash

Сообщить модератору | | IP: Записан
Сообщение: 206742

Старое сообщение вчера 19:29
- За что?
Ku2zoff
Мастер Ёда

Дата регистрации: Apr 2007
Проживает: В Деревне дураков
Сообщений: 6256
Возраст: 30

Рейтинг



Aynekko не знаю, связано ли это с твоей проблемой, но порядок строк в AddToFullPack сначала отсекает энтитю по PVS, а потом уже задаёт ей тип ENTITY_BEAM. Который, скорее всего, особым образом обрабатывается движком.

C++ Source Code:
1
// Ignore if not the host and not touching a PVS/PAS leaf
2
// If pSet is NULL, then the test will always succeed and the entity will be added to the update
3
if ( ent != host )
4
{
5
  if ( !ENGINE_CHECK_VISIBILITY( (const struct edict_s *)ent, pSet ) )
6
  {
7
    return 0;
8
  }
9
}

Ниже такой код:
C++ Source Code:
1
state->entityType = ENTITY_NORMAL;
2
 
3
// Flag custom entities.
4
if ( ent->v.flags & FL_CUSTOMENTITY )
5
{
6
  state->entityType = ENTITY_BEAM;
7
}

Попробуй назначение state->entityType разместить перед ENGINE_CHECK_VISIBILITY.
Ещё момент. Как ты используешь новый спаунфлаг "стартовать выключенной"? При установленном флаге не срабатывает PowerupThink? А по триггеру ты уже запускаешь этот тчинк?
Карту можешь скинуть? Хочу проверить, есть ли подобный баг у меня.

Отредактировано Ku2zoff вчера в 20:20

Сообщить модератору | | IP: Записан
Сообщение: 206743

Старое сообщение вчера 20:17
- За что?
Aynekko
Маппер

Дата регистрации: Jun 2016
Проживает: г. Подольск, Россия
Сообщений: 726
Возраст: 29

Рейтинг



Цитата:
Ku2zoff писал:
Попробуй назначение state->entityType разместить перед ENGINE_CHECK_VISIBILITY.

Я писал об этом в посте до этого, ставил проверку и лучу и мине для пропуска этого условия.
Цитата:
Ku2zoff писал:
При установленном флаге не срабатывает PowerupThink? А по триггеру ты уже запускаешь этот тчинк?

Именно так. m_flPowerUp ставлю при этом 0, чтобы луч появился моментально.

В общем, я разобрал свою карту по брашам и сузил проблему. Если игрок заденет trigger_once до того, как активируется луч мины - луча не будет. Сделал тестовую карту - мина на стене в прямой видимости, спаун игрока находится внутри trigger_once. Триггер полностью пустой. Он ничего не активирует.

Сразу стоит сказать, что проблема только в моем моде. В ванильном ксашмоде или голде такого не наблюдается. Так что буду искать косяк.
Ну а ситуации такие:
- игрок спавнится в пустом trigger_once. Мина включается, и луча нет.
- спавн в trigger_once, у него стоит галка No clients. Луч появляется.
- спавн в trigger_push. Луч есть.
- спавн вне trigger_once. Триггер не трогаю. Луч есть. Трогаю триггер, бегаю по карте, убегаю из PVS мины, луч есть, все ОК.
- спавн вне trigger_once. Перед зарядом мины трогаю триггер. Луч не появляется.
- спавн в trigger_multiple. Луч есть.

ну что же, будем искать.

Добавлено сегодня в 12:00:

Проблема в этом:
C++ Source Code:
REMOVE_ENTITY(ENT(pev));

trigger_once удаляет сам себя. Стал тестить дальше, у меня есть команда ent_delete, запускающая UTIL_Remove по таргетнейму. Если я удаляю триггер, то луч не появляется. А вот если удаляю func_wall или точечную энтитю, то все норм. Ухх, капец.

Добавлено сегодня в 12:27:

Нашел баг. Недавно в CreateBaseline фиксили недостающую строчку
C++ Source Code:
baseline->effects = entity->v.effects;

Убрал ее и бага больше нет. Вопрос знатокам. Какого?

__________________
Мой мод на Xash

Отредактировано Aynekko сегодня в 08:29

Сообщить модератору | | IP: Записан
Сообщение: 206747

Старое сообщение сегодня 09:27
- За что?
 Дядя Миша
who said meow?

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 28760
Нанёс повреждений: 387 ед.

Рейтинг



Цитата:
Aynekko писал:
Недавно в CreateBaseline фиксили недостающую строчку

Вы её по какому принципу фиксили?

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Сообщить модератору | | IP: Записан
Сообщение: 206748

Старое сообщение сегодня 10:06
-
Aynekko
Маппер

Дата регистрации: Jun 2016
Проживает: г. Подольск, Россия
Сообщений: 726
Возраст: 29

Рейтинг



Мне сказали, чтобы для статиков отключать тени через EF флаг.

__________________
Мой мод на Xash

Сообщить модератору | | IP: Записан
Сообщение: 206749

Старое сообщение сегодня 10:14
- За что?
Тема: (Опционально)
Ваш ответ:



Переводчик транслита


[проверить длину сообщения]
Опции: Автоматическое формирование ссылок: автоматически добавлять [url] и [/url] вокруг интернет адресов.
Уведомление по E-Mail: отправить вам уведомление, если кто-то ответил в тему (только для зарегистрированных пользователей).
Отключить смайлики в сообщении: не преобразовывать текстовые смайлики в картинки.
Показать подпись: добавить вашу подпись в конец сообщения (только зарегистрированные пользователи могут иметь подписи).

Временная зона GMT. Текущее время 10:43. Новая тема    Ответить
Страницы (213): « Первая ... « 209 210 211 212 [213]   Предыдущая тема   Следующая тема
HLFX.Ru Forum HLFX.Ru Forum > Теория и практика > Half-Life SDK > Нубские вопросы от <censored> и других нубов
Чтобы не создавать сто тем
4 голосов
Версия для печати | Отправить тему по E-Mail | Подписаться на эту тему

Быстрый переход:
Оцените эту тему:

Правила Форума:
Вы not можете создавать новые темы
Вы not можете отвечать в темы
Вы not можете прикреплять вложения
Вы not можете редактировать ваши сообщения
HTML Код ВЫКЛ
vB Код ВКЛ
Смайлики ВКЛ
[IMG] Код ВКЛ
 

< Обратная связь - HLFX.ru >

На основе vBulletin
Авторское право © 2000 - 2002, Jelsoft Enterprises Limited.
Дизайн и программирование: Crystice Softworks © 2005 - 2022