Участник
Пользователь
- Сообщения
- 31
- Реакции
- 6
- Предупреждения
- 8
Я пытаюсь сделать так, чтобы труп игрока летел назад, когда вы получаете хедшот с дигла, под любым углом от атакующего, но, похоже, в этот момент он просто выбирает случайный выбор.
Я пробовал с Ham_Killed, reapi RG_CBasePlayer_Killed, простыми форвардами типа client_damage и client_death, изменение m_iThrowDirection ни на что не влияет, или может я делаю это неправильно, или может это потому что я тестирую с podbots/potti?
Вот что я уже пробовал:
Я хочу, чтобы труп игрока летел назад вот так.
]
enum CsThrowDirection
извините за жесткий код(hardcoding), это было сделано для тестирования
Я пробовал с Ham_Killed, reapi RG_CBasePlayer_Killed, простыми форвардами типа client_damage и client_death, изменение m_iThrowDirection ни на что не влияет, или может я делаю это неправильно, или может это потому что я тестирую с podbots/potti?
Вот что я уже пробовал:
Код:
#include <amxmodx>
#include <fakemeta>
#include <hamsandwich>
#include <reapi>
public plugin_init()
{
}
public client_connected(id)
{
RegisterHookChain(RG_CBasePlayer_Killed, "CSGameRules_PlayerKilled", .post = true)
// this hook is useless with potti and podbot won't work with regamedll(or perhaps rehlds idk) and the bots from the rehlds launch options don't trigger the hook either so... using client_damage seems to detect it, and client_death does as well
/* RegisterHam(Ham_TakeDamage, "player", "fw_TakeDamage"); */
}
/* public fw_TakeDamage(victim, inflictor, attacker, Float:damage, damagebits) {
server_print("bohoo1")
if ( victim == attacker )
return PLUGIN_HANDLED
server_print("bohoo2")
if (get_user_weapon(attacker) != CSW_DEAGLE)
return PLUGIN_HANDLED
server_print("bohoo3")
if (get_pdata_int(victim, 75) != 1)
return PLUGIN_HANDLED
set_pdata_int(victim, 472, 1)
server_print("bohoo")
return PLUGIN_CONTINUE
}
*/
/* // TEST simple amxx
public client_death(killer, victim, wpnindex, hitplace, TK)
{
server_print("death occured... unlucky")
set_member(victim, m_iThrowDirection, 1)
}
public client_damage(attacker,victim,damage,wpnindex,hitplace,TA)
{
if ( victim == attacker )
return PLUGIN_HANDLED
if (wpnindex != 26) // deagle
return PLUGIN_HANDLED
if (hitplace != 1) // headshot
return PLUGIN_HANDLED
if (damage < get_user_health(victim)) // making sure it's gonna kill him before setting the throw direction
return PLUGIN_HANDLED
//set_pdata_int(victim, 472, 6)
//set_member(victim, m_iThrowDirection, 1)
server_print("yesss %i", get_member(victim, m_iThrowDirection))
return PLUGIN_CONTINUE
}
*/
public CSGameRules_PlayerKilled(pVictim, pKiller, iGib)
{
if(!is_user_connected(pKiller) || !get_member(pVictim, m_bHeadshotKilled) /* || !get_user_weapon(pKiller) != CSW_DEAGLE */)
return;
set_member(pVictim, m_iThrowDirection, 2)
server_print("m_iThrowDirection %i", get_member(pVictim, m_iThrowDirection))
}
]
enum CsThrowDirection
извините за жесткий код(hardcoding), это было сделано для тестирования