Вот да, я помню еще в 2004-м году проходил какой-то мод, у него не было своих дллок. а были оригинальные вальвовские. Такой чисто мапперский мод, набор новых карт. И автор сделал ящики с сумашедшим кол-вом здоровья.
Каждый надо было крошить по полминуты. Наверное для пущего реализма.
Это очень быстро надоело и я в skill.cfg прописал от монтировки урон в 1000 хп. И ничего никуда не вылетало. илья2 может ты используешь не оригинальный HL SDK 2.3, а какой-то обновлённый с GitHub или вообще версию от SoloKiller?
KiQ я точно не знаю, но предположу. p_модель - не самостоятельная энтить, а смёрженная хаком с моделькой игрока другая модель. Сначала вызывается StudioRenderModel для модельки игрока, затем для приаттаченного к нему оружия. Затем нужно вернуть m_pCurrentEntity в исходное состояние, чтобы, например m_pStudioHeader был корректный - от игрока, а не от пушки. Закомменти эти строки и у игрока сломаются анимации.
KiQ писал: ну, я имею в виду в приведённом Кутузовом коде оно для чего?
Цитата:
Ku2zoff писал: я точно не знаю, но предположу
Цитата:
Дядя Миша писал: Это типа бэкапа, сохраняет все переменные, а потом восстанавливает их обратно.
Для пушек нет никакой самостоятельной энтити, поэтому перезаписываются поля игрока. Вообще так делать нежелательно, это хак по сути.
Это такое чисто сишное. В крестах, если бы cl_entity_t имела виртуальные функции и не имела пользовательского копиконструктора, неизвестно чем бы дело окончилось.
Дядя Миша писал: Для пушек нет никакой самостоятельной энтити, поэтому перезаписываются поля игрока.
Ну, собсно, я правильно подумал. А как вообще в таком разе функциклируют пушки? Я никогда не вдавался в подробности. Есть у нас некий класс, описывающий за оружие. Его энтить - это ведь только то, что лежит на полу? Остальное - CBasePlayerItem->CBasePlayerWeapon. И тут интересно: у игрока есть массив, в котором хранятся итемы, и есть байты pev->weapons. Байты определяют наличие оружия вообще, а в массиве хранятся данные оружия: патроны, состояние и проч. В зависимости от того, что выбрано как m_pActiveItem, уже и происходят остальные действия, так?
По идее, можно избавиться от хака, используя невидимую и несолидную энтить p_weapon, и приаттачивая её к ориджину игрока, например. А уж на клиенте делать её видимой и мёржить кости. Слишком много телодвижений, когда через хак можно не только аттачить модель, но и анимировать её, менять боди и скины, и даже рисовать маззлфлеши на её аттачментах, а не на аттачментах игрока (так в DoD сделано). При желании, можно гильзы спавнить из определённой точки на p_модели. В КСС или КС: ГО даже магазин при перезарядке от третьего лица вынимается, смёрживаясь в определённый момент с левой рукой игрока.
можно ли превысить громкость звука для EMIT_SOUND с 1.0 до 1.1 хотябы
если ставлю 1.1 игра вылетает с ошибкой SV_StartSound: volume = значение
Добавлено 07-06-2022 в 23:13:
хотя я тут посмотрел этой команды SV_StartSound вобще в сдк нету значит его можно повысить только в движке а сорцев на движок нету значит нельзя по идее
Ku2zoff писал: Байты определяют наличие оружия вообще, а в массиве хранятся данные оружия: патроны, состояние и проч. В зависимости от того, что выбрано как m_pActiveItem, уже и происходят остальные действия, так?
Поздравляю, ты наконец-то заинтерисовался как всё устроено
SV_StartSound в движке. Из движка торчит экспорт pfnEmitSound, что обёрнут в EMIT_SOUND_DYN2->EMIT_SOUND/EMIT_SOUND_DYN, вызываемые из кода энтить. Этот экспорт уже и вызывает SV_StartSound. Задрать значение громкости выше 1 нельзя. Но можно увеличить громкость звука в самом файле, и играть его в обычных случаях на половинной громкости, а в особых - на полной.
Ku2zoff писал: SV_StartSound в движке. Из движка торчит экспорт pfnEmitSound, что обёрнут в EMIT_SOUND_DYN2->EMIT_SOUND/EMIT_SOUND_DYN, Но можно увеличить громкость звука в самом файле, и играть его в обычных случаях на половинной громкости, а в особых - на полной.
да я как раз так и сделал громкость звука увеличил и получились крутые басы под музыку
Тут где-то Дядя Миша просвящал что VTF и DDS это одно и то же. Ну компрессия наверное одинаковая, просто есть один нюанс. Когда я доставал пачку DDSок из того же Скайрима, то в них плейнтекстом был записан формат компрессии и я мог не открывая каждую, просто через FolderFindText отделить прозрачные от непрозрачных. С VTF так уже не получится.
Вообще не помешал бы способ как работать с VTF не затрагивая все его хитрые флаги и прочие альфа-каналы.