z góry dziękuje i daje +
#include <amxmodx> #include <fakemeta> #pragma semicolon 1 #define MAX_PLAYERS 32 new const CHUCKY_KNIFE_WOB[] = "models/v_knife_r.mdl"; new const CHUCKY_KNIFE[] = "models/chucky_knife.mdl"; new const CHUCKY_SOUND[] = "misc/chucky.wav"; new bool:g_bloody[MAX_PLAYERS+1]; new g_max_clients; new g_bk_enabled, g_bk_rndreset; public plugin_precache() { engfunc(EngFunc_PrecacheModel, CHUCKY_KNIFE); engfunc(EngFunc_PrecacheModel, CHUCKY_KNIFE_WOB); engfunc(EngFunc_PrecacheSound, CHUCKY_SOUND); } public plugin_init() { register_plugin("Bloody Knife", "1.0", "Dontask-jello/connor"); g_bk_enabled = register_cvar("bk_enabled", "1"); g_bk_rndreset = register_cvar("bk_rndreset", "0"); register_forward(FM_EmitSound, "fwEmitSound"); register_event("HLTV", "eNewRound", "a", "1=0", "2=0"); register_event("CurWeapon", "eCurWeapon", "be", "1=1", "2=29"); register_event("DeathMsg", "eDeathMsg", "a"); } public plugin_cfg() { g_max_clients = global_get(glb_maxClients); } public client_putinserver(id) { g_bloody[id] = false; } public eCurWeapon(id) { if(!get_pcvar_num(g_bk_enabled)) return; if(!g_bloody[id]) set_pev(id, pev_viewmodel2, CHUCKY_KNIFE_WOB); else set_pev(id, pev_viewmodel2, CHUCKY_KNIFE); } public fwEmitSound(id, channel, sample[], float:volume, float:attenuation, fFlags, pitch) { if(!(1 <= id <= g_max_clients)) return FMRES_IGNORED; if(!get_pcvar_num(g_bk_enabled)) return FMRES_IGNORED; if(g_bloody[id]) return FMRES_IGNORED; if( sample[0] == 'w' && sample[8] == 'k' && ( sample[17] == 'b' || (sample[14] == 'h' && sample[17] != 'w') ) ) { g_bloody[id] = true; eCurWeapon(id); engfunc(EngFunc_EmitSound, id, channel, CHUCKY_SOUND, volume, attenuation, fFlags, pitch); return FMRES_SUPERCEDE; } return FMRES_IGNORED; } public eDeathMsg() { new victim = read_data(2); if(g_bloody[victim]) g_bloody[victim] = false; } public eNewRound() { if(!get_pcvar_num(g_bk_enabled)) return; if(!get_pcvar_num(g_bk_rndreset)) return; new players[MAX_PLAYERS], inum; get_players(players, inum, "h"); for(new i; i<inum; ++i) { if(g_bloody[players[i]]) g_bloody[players[i]] = false; } }