
Cегодня расскажу
как добавить гильзы на ваш Extra Item на своём Zombie Plague сервере Counter Strike 1.6
Думаю проблем с установкой не возникнет, так как код очень легкий.
Автор статьи - 330812
Начнем.
Буду писать на примере [ZP] Extra Item HK416 + Weaponlist
Перед public plugin_init() вставляем следующий код:
#define m_iShellLate 57
#define m_flEjectBrass 111
#define m_pActiveItem 373
#define extra_offset 4
new g_iTestShellIndex
Далее в самом public plugin_init() вставляем следующее:
g_iTestShellIndex = engfunc(EngFunc_PrecacheModel, "models/rshell.mdl")
models/rshell.mdl - Это путь к модели гильзы.
Далее ищем public fw_m4a1drag_PrimaryAttack_Post(Weapon)
В него вставляем следующее:
new iActiveItem = get_pdata_cbase(Player, m_pActiveItem)
if (!pev_valid(iActiveItem))
{
return
}
set_pdata_int(iActiveItem, m_iShellLate, g_iTestShellIndex, extra_offset)
set_pdata_float(Player, m_flEjectBrass, get_gametime())
У меня получилось так:
public fw_m4a1drag_PrimaryAttack_Post(Weapon)
{
g_IsInPrimaryAttack = 0
new Player = get_pdata_cbase(Weapon, 41, 4)
new szClip, szAmmo
get_user_weapon(Player, szClip, szAmmo)
if(!is_user_alive(Player))
return
new iActiveItem = get_pdata_cbase(Player, m_pActiveItem);
if (!pev_valid(iActiveItem))
{
return
}
set_pdata_int(iActiveItem, m_iShellLate, g_iTestShellIndex, extra_offset)
set_pdata_float(Player, m_flEjectBrass, get_gametime())
if(g_has_hk416[Player])
{
if (!g_clip_ammo[Player])
return
new Float:push[3]
pev(Player,pev_punchangle,push)
xs_vec_sub(push,cl_pushangle[Player],push)
xs_vec_mul_scalar(push,get_pcvar_float(cvar_recoil_hk416),push)
xs_vec_add(push,cl_pushangle[Player],push)
set_pev(Player,pev_punchangle,push)
if(!cs_get_weapon_silen(Weapon))emit_sound(Player, CHAN_WEAPON, Fire_Sounds[0], VOL_NORM, ATTN_NORM, 0, PITCH_NORM)
if(cs_get_weapon_silen(Weapon))emit_sound(Player, CHAN_WEAPON, Fire_Sounds[1], VOL_NORM, ATTN_NORM, 0, PITCH_NORM)
UTIL_PlayWeaponAnimation(Player, cs_get_weapon_silen(Weapon) ? hk416_SHOOT : hk416_SHOOT_UNSIL)
}
}
Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь. Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.