Правила форума Гаранты форума
Размещение рекламы AMX-X компилятор

Здравствуйте, гость Вход | Регистрация

Наши новости:

14-дек
24-апр
10-апр
11-апр

f_HamWeaponReload(Перезарядка)

Статус пользователя Slavik
сообщение 22.4.2018, 14:50
Сообщение #1


Стаж: 12 лет

Сообщений: 185
Благодарностей: 13
Полезность: < 0

При получении оружия выдает 10 патронов, но после перезарядки вновь 7, попробовал это исправить через f_HamWeaponReload, но вовсе не перезаряжается. Можно как-то без километрового кода установить кол. патронов после перезарядки?
Код:
	register_clcmd("dgl", "give_deagle")
RegisterHam( Ham_Weapon_Reload , "weapon_deagle", "f_HamWeaponReload")

public f_HamWeaponReload(wid)
{
if(get_user_weapon(wid) == CSW_DEAGLE)
{
set_pdata_int(get_pdata_cbase(wid, 373), 51, 10)
}
}

public give_deagle(id)
{
drop_weapons(id, 2)
new iWep2 = give_item(id,"weapon_deagle")
if( iWep2 > 0)
{
set_pdata_int(get_pdata_cbase(id, 373), 51, 10)
}
g_has_deagle[id] = true
}


Отредактировал: Slavik, - 22.4.2018, 14:51
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя Sorokin
сообщение 22.4.2018, 14:51
Сообщение #2
Стаж: 9 лет 5 месяцев

Сообщений: 427
Благодарности: выкл.

Slavik, del

Отредактировал: Sorokin, - 22.4.2018, 14:55
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Slavik
сообщение 22.4.2018, 14:55
Сообщение #3


Стаж: 12 лет

Сообщений: 185
Благодарностей: 13
Полезность: < 0

Sorokin, имеете ввиду это? Не, этого нету.
Код
Код:
{
RegisterHam(Ham_Item_PostFrame, "weapon_deagle", "deagle_ItemPostFrame")
RegisterHam(Ham_Weapon_Reload, "weapon_deagle", "deagle_Reload")
RegisterHam(Ham_Weapon_Reload, "weapon_deagle", "deagle_Reload_Post", 1)
}

public deagle_ItemPostFrame(weapon_entity)
{
new id = pev(weapon_entity, pev_owner)
if (!is_user_connected(id))
return HAM_IGNORED

if (!g_has_deagle[id])
return HAM_IGNORED

static iClipExtra

iClipExtra = get_pcvar_num(cvar_clip_deagle)
new Float:flNextAttack = get_pdata_float(id, m_flNextAttack, PLAYER_LINUX_XTRA_OFF)

new iBpAmmo = cs_get_user_bpammo(id, CSW_DEAGLE);
new iClip = get_pdata_int(weapon_entity, m_iClip, WEAP_LINUX_XTRA_OFF)

new fInReload = get_pdata_int(weapon_entity, m_fInReload, WEAP_LINUX_XTRA_OFF)

if( fInReload && flNextAttack <= 0.0 )
{
new j = min(iClipExtra - iClip, iBpAmmo)

set_pdata_int(weapon_entity, m_iClip, iClip + j, WEAP_LINUX_XTRA_OFF)
cs_set_user_bpammo(id, CSW_DEAGLE, iBpAmmo-j)

set_pdata_int(weapon_entity, m_fInReload, 0, WEAP_LINUX_XTRA_OFF)
fInReload = 0
}
return HAM_IGNORED
}

public deagle_Reload(weapon_entity)
{
new id = pev(weapon_entity, pev_owner)
if (!is_user_connected(id))
return HAM_IGNORED

if (!g_has_deagle[id])
return HAM_IGNORED

static iClipExtra

if(g_has_deagle[id])
iClipExtra = get_pcvar_num(cvar_clip_deagle)

g_deagle_TmpClip[id] = -1

new iBpAmmo = cs_get_user_bpammo(id, CSW_DEAGLE)
new iClip = get_pdata_int(weapon_entity, m_iClip, WEAP_LINUX_XTRA_OFF)

if (iBpAmmo <= 0)
return HAM_SUPERCEDE

if (iClip >= iClipExtra)
return HAM_SUPERCEDE

g_deagle_TmpClip[id] = iClip

return HAM_IGNORED
}

public deagle_Reload_Post(weapon_entity)
{
new id = pev(weapon_entity, pev_owner)
if (!is_user_connected(id))
return HAM_IGNORED

if (!g_has_deagle[id])
return HAM_IGNORED

if (g_deagle_TmpClip[id] == -1)
return HAM_IGNORED

set_pdata_int(weapon_entity, m_iClip, g_deagle_TmpClip[id], WEAP_LINUX_XTRA_OFF)

set_pdata_float(weapon_entity, m_flTimeWeaponIdle, deagle_RELOAD_TIME, WEAP_LINUX_XTRA_OFF)

set_pdata_float(id, m_flNextAttack, deagle_RELOAD_TIME, PLAYER_LINUX_XTRA_OFF)

set_pdata_int(weapon_entity, m_fInReload, 1, WEAP_LINUX_XTRA_OFF)

UTIL_PlayWeaponAnimation(id, deagle_RELOAD)

return HAM_IGNORED
}

stock UTIL_PlayWeaponAnimation(const Player, const Sequence)
{
set_pev(Player, pev_weaponanim, Sequence)

message_begin(MSG_ONE_UNRELIABLE, SVC_WEAPONANIM, .player = Player)
write_byte(Sequence)
write_byte(pev(Player, pev_body))
message_end()
}
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
  Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: