Recoil Manager

Recoil Manager 1.0.1f

Нет прав для скачивания
Код:
#pragma semicolon 1

#include <amxmodx>
#include <hamsandwich>
#include <reapi>

new const Float:WEAPONS_RECOIL[MAX_WEAPONS] =
{
    1.0, // WEAPON_NONE
    1.0, // WEAPON_P228
    1.0, // WEAPON_GLOCK
    1.0, // WEAPON_SCOUT
    1.0, // WEAPON_HEGRENADE
    1.0, // WEAPON_XM1014
    1.0, // WEAPON_C4
    1.0, // WEAPON_MAC10
    1.0, // WEAPON_AUG
    1.0, // WEAPON_SMOKEGRENADE
    1.0, // WEAPON_ELITE
    1.0, // WEAPON_FIVESEVEN
    1.0, // WEAPON_UMP45
    1.0, // WEAPON_SG550
    1.0, // WEAPON_GALIL
    1.0, // WEAPON_FAMAS
    1.0, // WEAPON_USP
    1.0, // WEAPON_GLOCK18
    1.0, // WEAPON_AWP
    1.0, // WEAPON_MP5N
    1.0, // WEAPON_M249
    1.0, // WEAPON_M3
    1.0, // WEAPON_M4A1
    1.0, // WEAPON_TMP
    1.0, // WEAPON_G3SG1
    1.0, // WEAPON_FLASHBANG
    1.0, // WEAPON_DEAGLE
    1.0, // WEAPON_SG552
    1.0, // WEAPON_AK47
    1.0, // WEAPON_KNIFE
    1.0, // WEAPON_P90
};

public plugin_init()
{
    register_plugin("recoil_manager", "1.0.0", "fl0wer");

    new weaponName[24];

    for (new i = 1; i < MAX_WEAPONS - 1; i++)
    {
        if ((1<<i) & ((1<<2) | (1<<CSW_KNIFE) | (1<<CSW_HEGRENADE) | (1<<CSW_FLASHBANG) | (1<<CSW_SMOKEGRENADE) | (1<<CSW_C4)))
            continue;

        rg_get_weapon_info(WeaponIdType:i, WI_NAME, weaponName, charsmax(weaponName));

        RegisterHam(Ham_Weapon_PrimaryAttack, weaponName, "@CBasePlayerWeapon_PrimaryAttack_Post", true);
    }
}

@CBasePlayerWeapon_PrimaryAttack_Post(id)
{
    new weaponId = get_member(id, m_iId);

    if (WEAPONS_RECOIL[weaponId] == 1.0)
        return;

    new player = get_member(id, m_pPlayer);

    new Float:vecPunchAngle[3];
    get_entvar(player, var_punchangle, vecPunchAngle);

    for (new i = 0; i < 3; i++)
        vecPunchAngle[i] *= WEAPONS_RECOIL[weaponId];

    set_entvar(player, var_punchangle, vecPunchAngle);
}
Назад
Верх