#include #include #include #define PLUGIN "Panic Satchel X" #define VERSION "0.01" #define AUTHOR "LetiletiLepestok" #define ACTIV_DELAY 0.3 // Время до активации сатчела после броска new gMaxPlayers new g_pcvar_delay public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) RegisterHam(Ham_Touch, "monster_satchel", "satchel_Touch", 1) register_forward(FM_SetModel,"fwd_SetModel") g_pcvar_delay = register_cvar("ps_explode_delay", "0.3") gMaxPlayers = get_maxplayers() } public fwd_SetModel(ent, model[]) { if(!pev_valid(ent) || !(1 <= pev(ent, pev_owner) <= gMaxPlayers) || !equal(model, "models/w_satchel.mdl")) return FMRES_IGNORED set_pev(ent, pev_solid, SOLID_TRIGGER) set_task(ACTIV_DELAY, "set_active", ent) return FMRES_HANDLED } public set_active(ent) { if(pev_valid(ent)) set_pev(ent, pev_iuser4, 1) } public satchel_Touch(ent, idother) { if(!(1 <= idother <= gMaxPlayers) || !pev(ent, pev_iuser4)) return HAM_IGNORED set_pev(ent, pev_iuser4, 0) set_task(get_pcvar_float(g_pcvar_delay), "boom", ent) return HAM_HANDLED } public boom(ent) { if(pev_valid(ent)) dllfunc(DLLFunc_Use, ent, 0) }