Участник
Пользователь
- Сообщения
- 59
- Реакции
- 6
Обратите внимание, если вы хотите заключить сделку с этим пользователем, он заблокирован
Привет всем , ребят подскажите как мне сделать что бы в оружия M249 не востанавливались патроны при убийстве в голову (Стоит только в голову ) так как на сервере стоит миниган и получается трабла )))
Пробывал убирать "100" но с миниган востанавливается теперь 8 патронов :DD
new const g_iMaxClip[CSW_P90+1] = { -1, 13, -1, 10, 1, 7, 1, 30, 30, 1, 30, 20, 25, 30,
35, 25, 12, 20, 10, 30, 100, 8, 30, 30, 20, 2, 7, 30, 30, -1, 50
}
Пробывал убирать "100" но с миниган востанавливается теперь 8 патронов :DD
new const g_iMaxClip[CSW_P90+1] = { -1, 13, -1, 10, 1, 7, 1, 30, 30, 1, 30, 20, 25, 30,
35, 25, 12, 20, 10, 30, 100, 8, 30, 30, 20, 2, 7, 30, 30, -1, 50
}
Код:
//============================ CONFIG START ===========================//
#define ONLY_ACTIVE_WEAPON
#define ONLY_HEADSHOT_KILL
#define PLAY_SOUND
//============================= CONFIG END ============================//
#define VERSION "0.0.2"
#include <amxmodx>
#include <fakemeta>
#include <hamsandwich>
#define get_user_active_weapon(%1) get_pdata_cbase(%1, m_pActiveItem)
#define get_user_last_hitgroup(%1) get_pdata_int(%1, m_LastHitGroup)
#define fm_get_weapon_id(%1) get_pdata_int(%1, m_iId, XO_WEAPON)
#define fm_set_weapon_ammo(%1,%2) set_pdata_int(%1, m_iClip, %2, XO_WEAPON)
#define IsPlayer(%1) (1 <= %1 <= g_iMaxPlayers)
const NOCLIP_WPN_BS = ((1<<CSW_HEGRENADE)|(1<<CSW_SMOKEGRENADE)|(1<<CSW_FLASHBANG)|(1<<CSW_KNIFE)|(1<<CSW_C4))
const MAX_ITEM_TYPES = 6
// Offsets
const m_pNext = 42
const m_iId = 43
const m_iClip = 51
const m_pActiveItem = 373
const m_LastHitGroup = 75
const XO_WEAPON = 4
#if !defined ONLY_ACTIVE_WEAPON
new const m_rgpPlayerItems_CBasePlayer[MAX_ITEM_TYPES] = {367, 368, ...}
#endif
new const g_iMaxClip[CSW_P90+1] = { -1, 13, -1, 10, 1, 7, 1, 30, 30, 1, 30, 20, 25, 30,
35, 25, 12, 20, 10, 30, 100, 8, 30, 30, 20, 2, 7, 30, 30, -1, 50
}
new g_iMaxPlayers
public plugin_init()
{
#if defined ONLY_HEADSHOT_KILL
register_plugin("Refill Clip On Hs Kill", VERSION, "Vaqtincha")
#else
register_plugin("Refill Clip On Kill", VERSION, "Vaqtincha")
#endif
RegisterHam(Ham_Killed, "player", "PlayerKilled_Post", .Post = true)
g_iMaxPlayers = get_maxplayers()
}
public PlayerKilled_Post(id, iKiller, iGib)
{
if(!IsPlayer(iKiller) || id == iKiller || !is_user_alive(iKiller))
return HAM_IGNORED
#if defined ONLY_HEADSHOT_KILL
if(get_user_last_hitgroup(id) != HIT_HEAD)
return HAM_IGNORED
#endif
#if defined ONLY_ACTIVE_WEAPON
new iActiveWeapon = get_user_active_weapon(iKiller)
if(iActiveWeapon > 0)
{
new iId = fm_get_weapon_id(iActiveWeapon)
if(!(NOCLIP_WPN_BS & (1<<iId)))
{
fm_set_weapon_ammo(iActiveWeapon, g_iMaxClip[iId])
#if defined PLAY_SOUND
client_cmd(iKiller, "spk ^"items/9mmclip1.wav^"")
#endif
}
}
#else
for(new slot = 1; slot<= 2; slot++)
{
new iWeapon = get_pdata_cbase(iKiller, m_rgpPlayerItems_CBasePlayer[slot])
while(iWeapon > 0)
{
new iId = fm_get_weapon_id(iWeapon)
// if(!(NOCLIP_WPN_BS & (1<<iId))) // not necessary
// {
fm_set_weapon_ammo(iWeapon, g_iMaxClip[iId])
iWeapon = get_pdata_cbase(iWeapon, m_pNext, XO_WEAPON)
#if defined PLAY_SOUND
client_cmd(iKiller, "spk ^"items/9mmclip1.wav^"")
#endif
// }
}
}
#endif
return HAM_IGNORED
}