Убираем урон от падения
Данный туториал поможет вам предотвратить получение урона игроком от падения, если данная функция требуется в вашем моде. Убрать получение урона довольно просто. В этом туториале использован код Синглплеера SDK 2013, но он также может быть использован и для более ранних версий.
Изменение кода
Синглплеер 2013
1. Найдите Hl2_player.cpp в проекте сервера Server(game)/Source Files\HL2 DLL\Hl2_player.cpp который размещён по пути src/game/client/hl2/Hl2_player.cpp
2. Найдите это if условие там (строки 2294-2303)
// ignore fall damage if instructed to do so by input
if ( ( info.GetDamageType() & DMG_FALL ) && m_flTimeIgnoreFallDamage > gpGlobals->curtime )
{
// usually, we will reset the input flag after the first impact. However there is another input that
// prevents this behavior.
if ( m_bIgnoreFallDamageResetAfterImpact )
{
m_flTimeIgnoreFallDamage = 0;
}
return 0;
}
3. Уберите, закомментируйте или приведите к следующему виду данный участок кода:
// Всегда игнорировать урон от падения
if ( info.GetDamageType() & DMG_FALL )
{
return 0;
}
Пояснение
До этого урон от падения не наносился, если был установлен специальный cvar. Теперь урона от падения не будет всегда.