RU
RU
UA
EN
PL
ГЛАВНАЯ
УСЛУГИ
ПЛАГИНЫ
КАРТЫ
REBUY
SCANMON
CASSA
SALE
ФОРУМ
МОНИТОР
HELP
КОНТАКТ
Главная
/
Plugins
/
Sniper Balance 0.2
Sniper Balance 0.2
Теги:
Скачать плагины cs
Серверные
Плагин ухудшает характеристики этих бешеных пушек + бонус для авп и "мухи"
Компилятор: 1.8.3
REapi
59
Команды:
Кваров и команд нет
.sma / .sp
// Copyright © 2024 Vaqtincha #define PLUGIN_VERSION "0.2" /**■■■■■■■■■■■■■■■■■■■■■■■■■■■■ CONFIG START ■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/ // G3SG1 const G3SG1_MAX_CLIP = 12 // патроны в магазине (def 20) const Float:G3SG1_DAMAGE = 65.0 // базовый урон (def 80.0) const Float:G3SG1_RELOAD_TIME = 4.7 // время перезарядки (def 3.5) const Float:G3SG1_CYCLETIME = 0.36 // скорострельность (def 0.25) const Float:G3SG1_ADD_SPREAD_UNZOOM = 0.032 // добавить спрей при стрельбе без зума (def 0.025 + G3SG1_ADD_SPREAD_UNZOOM) // SG550 const SG550_MAX_CLIP = 20 // патроны в магазине (def 30) const Float:SG550_DAMAGE = 55.0 // базовый урон (def 70.0) const Float:SG550_RELOAD_TIME = 3.7 // время перезарядки (def 3.35) const Float:SG550_CYCLETIME = 0.29 // скорострельность (def 0.25) const Float:SG550_ADD_SPREAD_UNZOOM = 0.035 // добавить спрей при стрельбе без зума (def 0.025 + SG550_ADD_SPREAD_UNZOOM) // AWP const Float:AWP_RELOAD_TIME = 2.9 // время перезарядки (def 2.5) const Float:AWP_SWITCH_TIME = 0.8 // время доставание (def 1.45) const Float:AWP_SPREAD_FLY_UNZOOM = 0.1 // спрей при стрельбе в прыжке без зума (def 0.85 + 0.08) const Float:AWP_SPREAD_FLY_ZOOM = 0.03 // спрей при стрельбе в прыжке c зумом (def 0.85) const AWP_MAX_CLIP = 5 // патроны в магазине (def 10) // SCOUT const Float:SCOUT_MAX_SPEED = 240.0 // скорость передвижения (def 260.0) const Float:SCOUT_SPREAD_FLY_UNZOOM = 0.035 // спрей при стрельбе в прыжке без зума (def 0.2 + 0.025) const Float:SCOUT_SPREAD_FLY_ZOOM = 0.01 // спрей при стрельбе в прыжке c зумом (def 0.2) const Float:SCOUT_SWITCH_TIME = 0.75 // время доставание (def 1.45) /**■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ CONFIG END ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/ #include
#include
#include
#define DEFAULT_FOV 90 #define IsPlayer(%1) (1 <= (%1) <= MaxClients) public plugin_init() { register_plugin("Sniper Balance", PLUGIN_VERSION, "Vaqtincha") RegisterHookChain(RG_CBaseEntity_FireBullets3, "CBaseEntity_FireBullets3", .post = false) RegisterHookChain(RG_CBasePlayerWeapon_DefaultReload, "CBasePlayerWeapon_DefaultReload", .post = false) RegisterHam(Ham_CS_Item_GetMaxSpeed, "weapon_scout", "CBasePlayerItem_scoutGetMaxSpeed", .Post = false) RegisterHam(Ham_Weapon_PrimaryAttack, "weapon_g3sg1", "CBasePlayerWeapon_g3sg1PrimAttack", .Post = true) RegisterHam(Ham_Weapon_PrimaryAttack, "weapon_sg550", "CBasePlayerWeapon_sg550PrimAttack", .Post = true) RegisterHam(Ham_Spawn, "weapon_g3sg1", "CBasePlayerItem_g3sg1Spawn", .Post = true) RegisterHam(Ham_Spawn, "weapon_sg550", "CBasePlayerItem_sg550Spawn", .Post = true) RegisterHam(Ham_Spawn, "weapon_awp", "CBasePlayerItem_awpSpawn", .Post = true) RegisterHam(Ham_Item_Deploy, "weapon_awp", "CBasePlayerItem_awpDeploy", .Post = true) RegisterHam(Ham_Item_Deploy, "weapon_scout", "CBasePlayerItem_scoutDeploy", .Post = true) } public CBasePlayerItem_awpDeploy(const pItem) { SetDelay(get_member(pItem, m_pPlayer), pItem, AWP_SWITCH_TIME) } public CBasePlayerItem_scoutDeploy(const pItem) { SetDelay(get_member(pItem, m_pPlayer), pItem, SCOUT_SWITCH_TIME) } public CBasePlayerItem_awpSpawn(const pItem) { rg_set_iteminfo(pItem, ItemInfo_iMaxClip, AWP_MAX_CLIP) } public CBasePlayerItem_sg550Spawn(const pItem) { rg_set_iteminfo(pItem, ItemInfo_iMaxClip, SG550_MAX_CLIP) set_member(pItem, m_Weapon_flBaseDamage, SG550_DAMAGE) } public CBasePlayerWeapon_sg550PrimAttack(const pWeapon) { if (!is_nullent(pWeapon)) { set_member(pWeapon, m_Weapon_flNextPrimaryAttack, SG550_CYCLETIME) set_member(pWeapon, m_Weapon_flNextSecondaryAttack, SG550_CYCLETIME) } } public CBasePlayerItem_g3sg1Spawn(const pItem) { rg_set_iteminfo(pItem, ItemInfo_iMaxClip, G3SG1_MAX_CLIP) set_member(pItem, m_Weapon_flBaseDamage, G3SG1_DAMAGE) } public CBasePlayerWeapon_g3sg1PrimAttack(const pWeapon) { if (!is_nullent(pWeapon)) { set_member(pWeapon, m_Weapon_flNextPrimaryAttack, G3SG1_CYCLETIME) set_member(pWeapon, m_Weapon_flNextSecondaryAttack, G3SG1_CYCLETIME) } } public CBasePlayerItem_scoutGetMaxSpeed(const pItem) { new pPlayer = get_member(pItem, m_pPlayer) if (IsPlayer(pPlayer) && get_member(pPlayer, m_iFOV) == DEFAULT_FOV) { SetHamReturnFloat(SCOUT_MAX_SPEED) return HAM_SUPERCEDE } return HAM_IGNORED } public CBasePlayerWeapon_DefaultReload(const pWeapon, iClipSize, iAnim, Float:fDelay) { if (!is_nullent(pWeapon)) { switch (get_member(pWeapon, m_iId)) { case WEAPON_G3SG1: SetHookChainArg(4, ATYPE_FLOAT, G3SG1_RELOAD_TIME) case WEAPON_SG550: SetHookChainArg(4, ATYPE_FLOAT, SG550_RELOAD_TIME) case WEAPON_AWP: SetHookChainArg(4, ATYPE_FLOAT, AWP_RELOAD_TIME) } } } public CBaseEntity_FireBullets3(const pPlayer, Float:vecSrc[3], Float:vecDirShooting[3], Float:fSpread, Float:flDistance, iPenetration, Bullet:iBulletType, iDamage, Float:flRangeModifier, pevAttacker, bool:bPistol, shared_rand) { new pActiveItem = get_member(pPlayer, m_pActiveItem) if (is_nullent(pActiveItem)) return HC_CONTINUE switch (get_member(pActiveItem, m_iId)) { case WEAPON_G3SG1: { if (get_member(pPlayer, m_iFOV) == DEFAULT_FOV) SetHookChainArg(4, ATYPE_FLOAT, fSpread + G3SG1_ADD_SPREAD_UNZOOM) // 0.025 + add } case WEAPON_SG550: { if (get_member(pPlayer, m_iFOV) == DEFAULT_FOV) SetHookChainArg(4, ATYPE_FLOAT, fSpread + SG550_ADD_SPREAD_UNZOOM) // 0.025 + add } case WEAPON_AWP: { if (!(get_entvar(pPlayer, var_flags) & FL_ONGROUND)) // jump | fly { SetHookChainArg(4, ATYPE_FLOAT, (get_member(pPlayer, m_iLastZoom) == DEFAULT_FOV) ? AWP_SPREAD_FLY_UNZOOM : AWP_SPREAD_FLY_ZOOM) } } case WEAPON_SCOUT: { if (!(get_entvar(pPlayer, var_flags) & FL_ONGROUND)) // jump | fly { SetHookChainArg(4, ATYPE_FLOAT, (get_member(pPlayer, m_iLastZoom) == DEFAULT_FOV) ? SCOUT_SPREAD_FLY_UNZOOM : SCOUT_SPREAD_FLY_ZOOM) } } } return HC_CONTINUE } SetDelay(const pPlayer, const pItem, const Float:flDelay) { if (IsPlayer(pPlayer)) { set_member(pItem, m_Weapon_flNextPrimaryAttack, flDelay) set_member(pItem, m_Weapon_flNextSecondaryAttack, flDelay) set_member(pPlayer, m_flNextAttack, flDelay) } }
Отправить
Загрузил
Vladislav2004
2024-11-06 03:01:40
0
1
Установить на сервер
Скачать
Нет оплаченых серверов
Купить сервер CS 1.6
Купить сервер CS:GO
Купить сервер CSS v34
Подключить свой VDS к панели
Данная иконка означает, что плагин был проверен администрацией хостинга на тестовом сервере, и проблем с ним не было выявлено. Рекомендуем ставить исключительно проверенные плагины.
Плагин загружен на сервер, но проверка еще не была проведена.
CSHOST.COM.UA 2012-2024 Хостинг игровых серверов