Возник такой вопрос, как заблокировать отталкивание игрока при получении урона.
Пробовал такой вариант:
- Код: Выделить всё
#define linux_diff_player 5
#define m_PlayerPainShock 108
native jbe_get_user_team(iTeam);
public plugin_init() RegisterHam(Ham_TakeDamage, "player", "Ham_TakeDamage_Player", true);
public Ham_TakeDamage_Player(iVictim, iInflictor, iAttacker, Float:fDamage, iBitDamage)
if(jbe_get_user_team(iVictim) == 2) set_pdata_float(iVictim, m_PlayerPainShock, 1.0, linux_diff_player);
Он работает, но только сидя, как можно заблокировать у стоящего игрока?
Добавлено спустя 30 минут 17 секунд:
Спасибо, сообразил сам, может кому пригодится:
- Код: Выделить всё
#define linux_diff_player 5
#define m_PlayerPainShock 108
native jbe_get_user_team(iTeam);
new g_fUserVelocity[33][3];
public plugin_init()
{
RegisterHam(Ham_TakeDamage, "player", "Ham_TakeDamagePre_Player", false);
RegisterHam(Ham_TakeDamage, "player", "Ham_TakeDamagePost_Player", true);
}
public Ham_TakeDamagePre_Player(iVictim, iInflictor, iAttacker, Float:fDamage, iBitDamage) if(jbe_get_user_team(iVictim) == 2) pev(iVictim, pev_velocity, g_fUserVelocity[iVictim]);
public Ham_TakeDamagePost_Player(iVictim, iInflictor, iAttacker, Float:fDamage, iBitDamage)
{
if(jbe_get_user_team(iVictim) == 2)
{
set_pdata_float(iVictim, m_PlayerPainShock, 1.0, linux_diff_player);
set_pev(iVictim, pev_velocity, g_fUserVelocity[iVictim]);
}
}