RU
RU
UA
EN
PL
ГЛАВНАЯ
УСЛУГИ
ПЛАГИНЫ
КАРТЫ
REBUY
SCANMON
CASSA
SALE
ФОРУМ
МОНИТОР
HELP
КОНТАКТ
Главная
/
Plugins
/
Grenade Mine 0.0.2
Grenade Mine 0.0.2
Теги:
Скачать плагины cs
Серверные
Плагин добавляет новый режим для боевой гранаты (he) - режим мины.
Компилятор: 1.8.2
804
Команды:
Переключение режимов осуществляется нажатием ПКМ
Есть возможность активировать мину чат командой /boom
Есть возможность маскировки мины под оружие
Можно настроить игнорирование миной тиммейтов
.sma / .sp
// Copyright © 2016 Vaqtincha /**************************************************** * Support forum: * http://goldsrc.ru * *****************************************************/ /**■■■■■■■■■■■■■■■■■■■■■■■■■■■■ CONFIG START ■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/ /// enable/disable #define FAKE_MODEL // fun :D #define IGNORE_TEAMMATES // игнорировать тиммейтов /// set #define DEFAULT_MODE NORMAL_MODE // выбор режима по умолчанию MINE_MODE или же NORMAL_MODE /**■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ CONFIG END ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/ #if defined FAKE_MODEL new const g_szWorldModel[][] = { // здесь можно настроить оружие, под которое будет замаскирована мина // "models/w_p228.mdl", "models/w_scout.mdl", // "models/w_hegrenade.mdl", // "models/w_xm1014.mdl", // "models/w_mac10.mdl", "models/w_aug.mdl", // "models/w_smokegrenade.mdl", // "models/w_elite.mdl", // "models/w_fiveseven.mdl", // "models/w_ump45.mdl", // "models/w_sg550.mdl", "models/w_galil.mdl", "models/w_famas.mdl", "models/w_usp.mdl", // "models/w_glock18.mdl", "models/w_awp.mdl", "models/w_mp5.mdl", // "models/w_m249.mdl", // "models/w_m3.mdl", "models/w_m4a1.mdl", // "models/w_tmp.mdl", // "models/w_g3sg1.mdl", // "models/w_flashbang.mdl", // "models/w_deagle.mdl", // "models/w_sg552.mdl", "models/w_ak47.mdl", "models/w_p90.mdl" } #endif #define PL_VERSION "0.0.2" #include
#include
#include
#include
#define MAX_PLAYERS 32 #define IsPlayer(%1) (1 <= %1 <= g_iMaxPlayers) #define GetUserTeam(%1) get_pdata_int(%1, m_iTeam) #define SET_MODEL(%1,%2) engfunc(EngFunc_SetModel, %1, %2) #define GetWeaponOwner(%1) get_pdata_cbase(%1, m_pPlayer, XO_WEAPON) #define IsGrenadeIdle(%1) (get_pdata_float(%1, m_flReleaseThrow, XO_CGRENADE) == -1.0) #define IsHeGrenade(%1) (get_pdata_int(%1, m_usEvent, XO_CGRENADE) & fExploEvent) // #define IsHeGrenade(%1) (get_pdata_int(%1, m_usEvent, XO_CGRENADE) == HE_GRENADE) // const HE_GRENADE = 0x19 const fExploEvent = (1<<0) const XO_WEAPON = 4 // linux diff const XO_CGRENADE = 5 // linux diff // offsets #if AMXX_VERSION_NUM < 183 const m_bHasShield = (1<<24) const m_iUserPrefs = 510 #define HasShield(%1) (get_pdata_int(%1, m_iUserPrefs) & m_bHasShield) #else const m_bHasShield = 2043 #define HasShield(%1) get_pdata_bool(%1, m_bHasShield) #endif const m_flReleaseThrow = 31 const m_pPlayer = 41 const m_iTeam = 114 const m_flNextAttack = 83 const m_flNextSecondaryAttack = 47 const m_usEvent = 114 enum GrenadeType { NORMAL_MODE, MINE_MODE } new GrenadeType:g_iMode[MAX_PLAYERS + 1] = {DEFAULT_MODE, ...} new g_iMaxPlayers new const grenade[] = "grenade" new const weapon[] = "weapon_hegrenade" public plugin_init() { register_plugin("Grenade Mine", PL_VERSION, "Vaqtincha") register_clcmd("say /boom", "ClCmd_Detonate") RegisterHam(Ham_Weapon_SecondaryAttack, weapon, "Weapon_SecondaryAttack", .Post = true) RegisterHam(Ham_Item_Deploy, weapon, "Weapon_Deploy", .Post = true) RegisterHam(Ham_Touch, grenade, "Grenade_Touch", .Post = false) g_iMaxPlayers = get_maxplayers() } public ClCmd_Detonate(const pPlayer) { ClearUserGrenades(pPlayer) } public client_disconnect(pPlayer) { ClearUserGrenades(pPlayer, false) } public Grenade_Touch(const pGrenade, const pPlayer) { if(!IsPlayer(pPlayer) || pGrenade <= 0) return HAM_IGNORED if(!IsHeGrenade(pGrenade)) return HAM_IGNORED static pOwner; pOwner = pev(pGrenade, pev_owner) if(pPlayer == pOwner) return HAM_IGNORED #if defined IGNORE_TEAMMATES if(GetUserTeam(pPlayer) == GetUserTeam(pOwner)) return HAM_IGNORED #endif set_pev(pGrenade, pev_dmgtime, 0.1) return HAM_IGNORED } public Weapon_Deploy(const pWeapon) { if(pWeapon <= 0) return HAM_IGNORED new pPlayer = GetWeaponOwner(pWeapon) if(IsPlayer(pPlayer)) { client_print(pPlayer, print_center, g_iMode[pPlayer] ? "Mine Mode" : "Normal Mode") } return HAM_IGNORED } public Weapon_SecondaryAttack(const pWeapon) { if(pWeapon <= 0 || !IsGrenadeIdle(pWeapon)) return HAM_IGNORED new pPlayer = GetWeaponOwner(pWeapon) if(IsPlayer(pPlayer) && !HasShield(pPlayer)) { g_iMode[pPlayer] = g_iMode[pPlayer] == NORMAL_MODE ? MINE_MODE : NORMAL_MODE client_print(pPlayer, print_center, g_iMode[pPlayer] ? "Mine Mode" : "Normal Mode") set_pdata_float(pPlayer, m_flNextAttack, 0.5) // switch delay set_pdata_float(pWeapon, m_flNextSecondaryAttack, 0.5, XO_WEAPON) // switch delay } return HAM_IGNORED } // csx forward public grenade_throw(pPlayer, pGrenade, iId) { if(iId != CSW_HEGRENADE || pGrenade <= 0 || g_iMode[pPlayer] == NORMAL_MODE) return if(!is_user_alive(pPlayer)) return // set_pev(pGrenade, pev_movetype, MOVETYPE_TOSS) set_pev(pGrenade, pev_solid, SOLID_TRIGGER) set_pev(pGrenade, pev_dmgtime, get_gametime() + 9999.0) new Float:flAngles[3] flAngles[1] = random_float(-360.0, 360.0) set_pev(pGrenade, pev_angles, flAngles) #if defined FAKE_MODEL SET_MODEL(pGrenade, g_szWorldModel[random_num(0, sizeof(g_szWorldModel)-1)]) #endif fm_set_rendering(pGrenade,kRenderFxGlowShell,kRenderNormal, Float:{5.0, 5.0, 5.0}, 1.1) } ClearUserGrenades(const pPlayer, const bool:bDetonate = true) { new pGrenade = FM_NULLENT while((pGrenade = engfunc(EngFunc_FindEntityByString, pGrenade, "classname", grenade)) > 0) { if(IsHeGrenade(pGrenade) && (pev(pGrenade, pev_owner) == pPlayer)) bDetonate ? set_pev(pGrenade, pev_dmgtime, 0.1) : set_pev(pGrenade, pev_flags, FL_KILLME) } } stock fm_set_rendering(entity, fx=kRenderFxNone, render=kRenderNormal, Float:Color[3]={255.0, 255.0, 255.0}, Float:amount=16.0) { set_pev(entity, pev_renderfx, fx) set_pev(entity, pev_rendercolor, Color) set_pev(entity, pev_rendermode, render) set_pev(entity, pev_renderamt, amount) }
Отправить
Загрузил
ADEPT
2020-02-20 15:20:53
2
30
Установить на сервер
Скачать
Нет оплаченых серверов
Купить сервер CS 1.6
Купить сервер CS:GO
Купить сервер CSS v34
Подключить свой VDS к панели
УКРАЇНСЬКИЙ - ПАТРІОТ [ 2013 - 2024 ] © 18+
195.211.60.213:27015
УКРАЇНА - Б А Н Д Е Р Ш Т А Т - [2000 FPS] 18+
195.211.60.213:27018
В І Л Ь Н А - У К Р А Ї Н А [ RYZEN 9 - 5.7 GHZ ]
195.211.60.213:27016
(Д) (І) (В) (О) (Ч) (А) - (В) (Л) (А) (Д) (А) | 18+
195.211.60.213:27017
не переключается режим гранаты
Polikpower2
2022-11-08 02:26:35
Как переключать режимы НЕ?
AndrejSky
2020-04-23 08:26:59
Данная иконка означает, что плагин был проверен администрацией хостинга на тестовом сервере, и проблем с ним не было выявлено. Рекомендуем ставить исключительно проверенные плагины.
Плагин загружен на сервер, но проверка еще не была проведена.
CSHOST.COM.UA 2012-2024 Хостинг игровых серверов