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

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

Рейтинг



Цитата:
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 кб)
Этот файл был скачан 38 раз.

__________________
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
Проживает: Новосибирск
Сообщений: 3807
Возраст: 32

Рейтинг



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

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

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

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

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

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

Рейтинг



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

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

Старое сообщение 30-12-2021 11:57
- За что?
hgrunt_2020
учусь методом тыка,проб и ошибок

Дата регистрации: Aug 2021
Проживает: Московское метро
Сообщений: 149
Возраст: 15

Рейтинг



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

__________________


https://www.moddb.com/mods/metro-2031-last-chance

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

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

Дата регистрации: Jun 2016
Проживает: г. Подольск, Россия
Сообщений: 794
Возраст: 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
Проживает: г. Подольск, Россия
Сообщений: 794
Возраст: 29

Рейтинг



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

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

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

Добавлено 25-01-2022 в 22:25:

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

Добавлено 25-01-2022 в 22:29:

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

__________________
Мой мод на Xash

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

Старое сообщение 25-01-2022 19:29
- За что?
Ku2zoff
Мастер Ёда из Деревни Дуракоф

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

Рейтинг



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 25-01-2022 в 20:20

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

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

Дата регистрации: Jun 2016
Проживает: г. Подольск, Россия
Сообщений: 794
Возраст: 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. Луч есть.

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

Добавлено 26-01-2022 в 12:00:

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

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

Добавлено 26-01-2022 в 12:27:

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

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

__________________
Мой мод на Xash

Отредактировано Aynekko 26-01-2022 в 08:29

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

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

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

Рейтинг



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

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

__________________
My Projects: download page

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

Цитата:

>> так а раньше почему падало ?
> Потому что говно ваш С++, вот почему

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

Старое сообщение 26-01-2022 10:06
-
Aynekko
Маппер

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

Рейтинг



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

__________________
Мой мод на Xash

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

Старое сообщение 26-01-2022 10:14
- За что?
 Дядя Миша
who said meow?

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

Рейтинг



Ну сделай проверку там. Если playermodelindex равен нулю - это значит спавнится статик.

__________________
My Projects: download page

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

Цитата:

>> так а раньше почему падало ?
> Потому что говно ваш С++, вот почему

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

Старое сообщение 26-01-2022 11:33
-
Aynekko
Маппер

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

Рейтинг



Да, баг больше не проявляется. Надеюсь правильно поставил

C++ Source Code:
1
if ( player )
2
{
3
  baseline->mins		= player_mins;
4
  baseline->maxs		= player_maxs;
5
  // ... и далее
6
}
7
else
8
{
9
  baseline->mins		= entity->v.mins;
10
  baseline->maxs		= entity->v.maxs;
11
  baseline->sequence		= entity->v.sequence;
12
  baseline->colormap		= entity->v.colormap;
13
  baseline->modelindex	= entity->v.modelindex;
14
  baseline->movetype		= entity->v.movetype;
15
  if( playermodelindex == 0 )
16
    baseline->effects = entity->v.effects;
17
  // ...


Добавлено 26-01-2022 в 14:49:

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

__________________
Мой мод на Xash

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

Старое сообщение 26-01-2022 11:49
- За что?
SNMetamorph
Житель форума

Дата регистрации: Jun 2018
Проживает: Ижевск
Сообщений: 384

Рейтинг



Цитата:
Дядя Миша писал:
Ну сделай проверку там. Если playermodelindex равен нулю - это значит спавнится статик.

А почему без этого условия баговало? В чем там суть проблемы была?

__________________
GoldSrc Monitor (https://gamebanana.com/mods/39429)
mdl-flip (gFlip analog) (https://gamebanana.com/tools/7299)
Xash3D Modding Discord (https://discord.com/invite/Ycgd9QqB9z)
PrimeXT (https://github.com/SNMetamorph/PrimeXT)

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

Старое сообщение 26-01-2022 12:18
- За что?
 Дядя Миша
who said meow?

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

Рейтинг



Цитата:
Aynekko писал:
Надеюсь правильно поставил

Правильно.

Цитата:
SNMetamorph писал:
А почему без этого условия баговало?

Не надо в вазелин слать содержимое эффектов со старта. Почему не помню.

__________________
My Projects: download page

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

Цитата:

>> так а раньше почему падало ?
> Потому что говно ваш С++, вот почему

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

Старое сообщение 26-01-2022 12:26
-
SNMetamorph
Житель форума

Дата регистрации: Jun 2018
Проживает: Ижевск
Сообщений: 384

Рейтинг



Цитата:
Дядя Миша писал:
Не надо в вазелин слать содержимое эффектов со старта. Почему не помню.

Это какая-то специфика того, как работает дельта-кодирование?
Или это ТОЛЬКО effects касается?

__________________
GoldSrc Monitor (https://gamebanana.com/mods/39429)
mdl-flip (gFlip analog) (https://gamebanana.com/tools/7299)
Xash3D Modding Discord (https://discord.com/invite/Ycgd9QqB9z)
PrimeXT (https://github.com/SNMetamorph/PrimeXT)

Отредактировано SNMetamorph 26-01-2022 в 12:38

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

Старое сообщение 26-01-2022 12:32
- За что?
Тема: (Опционально)
Ваш ответ:



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


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

Временная зона GMT. Текущее время 23:54. Новая тема    Ответить
Страницы (225): « Первая ... « 209 210 211 212 [213] 214 215 216 217 » ... Последняя »   Предыдущая тема   Следующая тема
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