Vadiman писал: Можно ли сделать разрыв цели на куски в зависимости от его уровня здоровья?
Можно. Оно так и есть, на самом деле. Но если хочешь указать какой-то конкретный уровень, то копай TakeDamage. Ставь условие if (bitsDamageType & DMG_BULLETU), а в нём проверку на уровень здоровья. Если здоровье меньше нужного уровня, вызывай GibMonster().
Вроде бы ты всё правильно сделал. Попробуй вместо DMG_BULLETU использовать уже имеющийся бит, например DMG_ENERGYBEAM. И сравни результат.
Ku2zoff писал: Можно. Оно так и есть, на самом деле. Но если хочешь указать какой-то конкретный уровень, то копай TakeDamage. Ставь условие if (bitsDamageType & DMG_BULLETU), а в нём проверку на уровень здоровья. Если здоровье меньше нужного уровня, вызывай GibMonster().
Вроде бы ты всё правильно сделал. Попробуй вместо DMG_BULLETU использовать уже имеющийся бит, например DMG_ENERGYBEAM. И сравни результат.
В её конец. m_flPainTime только задекларировать в классе игрока, в сейвдату добавлять не надо. Pain вызывать из CBasePlayer::TakeDamage по условию bool Painsnd, вместо продублированного кода.
Добавлено 15-06-2020 в 06:09:
Цитата:
Vadiman писал: Вообщем с первым вопросом все оказалось проще
А то делаешь проверку по здоровью стреляющего, а не того, в кого стреляют.
Добавлено 15-06-2020 в 06:17:
Цитата:
Vadiman писал: Да, рикошетят и заставляют просто реветь. Даже если заменить на DMG_ENERGYBEAM или DMG_BLAST
Странно. У гарга большой иммунитет ко всем видам урона, кроме указанных в GARG_DAMAGE. Может быть дело именно в самой функции FireBullets? Не должно ничего рикошетить, если твой тип урона в списке GARG_DAMAGE.
В её конец. m_flPainTime только задекларировать в классе игрока, в сейвдату добавлять не надо. Pain вызывать из CBasePlayer::TakeDamage по условию bool Painsnd, вместо продублированного кода.
А то делаешь проверку по здоровью стреляющего, а не того, в кого стреляют.
Спасибо, теперь работает как надо
Цитата:
Добавлено 15-06-2020 в 06:17:
Странно. У гарга большой иммунитет ко всем видам урона, кроме указанных в GARG_DAMAGE. Может быть дело именно в самой функции FireBullets? Не должно ничего рикошетить, если твой тип урона в списке GARG_DAMAGE.
Вот то-то и оно. Скорее всего в самой функции надо ковырять.
Кстати по аналогичной схеме, например:
когда я получаю DMG_POISON у меня все равно отнимается именно броня.
PS как считаешь, снайперская винтовка Barret со своим 0.50 калибром пробила бы шкурку Гарга? Может я зря парюсь просто и не стоит эту пушку так возвышать по мощности. Вон, терминаторам в кино бошки она сносила
хм, а возможно ли в коде гс сделать, чтобы ambient_generic звучал, как бы не располагаясь в 3д-пространстве (с постоянной громкостью каналов). Как, допустим, при воспроизведении его через play в консоли, не заходя в игру. Хочу сделать в кооп-моде динамический саундтрек, с постепенным наложением и убиранием инструментов за счёт касания триггеров
Дядя Миша писал: Ну вот только если всем команду play рассылать по сети, только так.
так при вызове play во время уже созданной игры спавнится звук с реагированием на пространство (кароч обычный амб-дженерик). Ну ладно, видимо никак. Можно, конечно, дублировать звуки по-разным концам карты, но это всё равно так себе эффект
Yo Den прицепи фмод, инициализируй его на несколько каналов, и крути каждый инструмент в отдельном канале. DSP эффектов не будет + формат можно не только лишь wav.
Vadiman писал: PS как считаешь, снайперская винтовка Barret со своим 0.50 калибром пробила бы шкурку Гарга? Может я зря парюсь просто и не стоит эту пушку так возвышать по мощности. Вон, терминаторам в кино бошки она сносила
Проведи аналогию с чужими-преторианцами из AvP2. Мелкокалиберное их броню не берёт, а вот миниган и снайперка прошибают. В принципе, неплохой геймплейный ход.