RU
RU
UA
EN
PL
ГЛАВНАЯ
УСЛУГИ
ПЛАГИНЫ
КАРТЫ
REBUY
SCANMON
CASSA
SALE
ФОРУМ
МОНИТОР
HELP
КОНТАКТ
Главная
/
Plugins
/
Kill Streak
Kill Streak
Теги:
Скачать плагины cs
Серверные
Звуки вбивств + Фантан крові при hs
Збираю сервера (PUBLIC) на замовлення!
Писати в телеграм: @VladykUkraine
Компилятор: 1.9.0
+ZIP
118
Команды:
killsound, say /killsound, say_team /killsound
.sma / .sp
#include
#include
//#define FFA_MODE /* Поддержка CSDM FFA. (Звук firstblood будет отключён!) */ #if defined FFA_MODE #pragma unused g_FirstKill #endif #define HUD_MSG_TIME 5.0 /* Время показа сообщения. */ #define HUD_RGB 0, 255, 0 /* Цвет сообщений в формате R, G, B */ #define HUD_X_Y -1.0, 0.20 /* Позиция сообщений по оси X, Y */ #define KILLS_COUNT_RESET_DELAY 10.0 /* Интервал для серии убийств. */ #define FB_MIN_PLAYERS 10 /* Минимальное кол-во игроков для работы звука firstblood. */ #define KILL_DEATH_HS_BLOOD /* Фонтан крови при (убийстве/смерти) в голову. */ new const commands[][] = { "killsound", "say /killsound", "say_team /killsound" /* Команды для доступа к меню. */ } #define SWITCH_SOUND "buttons/lightswitch2.wav" /* Звук переключателя в меню. Можно закоментировать. */ #define HEADSHOT_SOUND "killstreak/headshot.wav" #define FIRSTBLOOD_SOUND "killstreak/firstblood.wav" new const EVENT_SOUND[][] = { #if defined SWITCH_SOUND SWITCH_SOUND, #endif HEADSHOT_SOUND, FIRSTBLOOD_SOUND } new const KILLSTREAK_SOUND[][] = { "killstreak/doublekill.wav", "killstreak/triplekill.wav", "killstreak/multikill.wav", "killstreak/megakill.wav", "killstreak/ultrakill.wav", "killstreak/monsterkill.wav", "killstreak/killingspree.wav", "killstreak/wickedsick.wav", "killstreak/rampage.wav", "killstreak/ludacrisskill.wav", "killstreak/godlike.wav", "killstreak/holyshit.wav" } const KEY_EXIT = 10 const keys = MENU_KEY_0|MENU_KEY_1|MENU_KEY_2 enum _:Data {SOUND, MESSAGE} new bool:g_FirstKill, bool:g_Switch[MAX_PLAYERS +1][Data] #define precache_list(%0,%1) for (new i = 0; i < sizeof(%1); i ++) precache_%0(%1[i]) #define register_cmd_list(%0,%1,%2) for (new i = 0; i < sizeof(%1); i ++) register_%0(%1[i], %2) public plugin_precache() { precache_list(sound, EVENT_SOUND) precache_list(sound, KILLSTREAK_SOUND) } public plugin_init() { register_plugin("Kill Streak", "1.0", "AcE, Vaqtincha") register_menu("Menu", keys, "show_kill_streak_menu") register_cmd_list(clcmd, commands, "kill_streak_menu") register_event_ex("DeathMsg", "ExEventDeathMsg", RegisterEvent_Global, "1>0") #if !defined FFA_MODE register_event_ex("HLTV", "ExEventStartRound", RegisterEvent_Global, "1=0", "2=0") #endif } public client_putinserver(id) { arrayset(g_Switch[id], 0, Data) g_Switch[id][SOUND] = true g_Switch[id][MESSAGE] = true } public client_disconnected(id) arrayset(g_Switch[id], 0, Data) #if !defined FFA_MODE public ExEventStartRound() g_FirstKill = false #endif public kill_streak_menu(const id) { if (!is_user_connected(id)) return PLUGIN_HANDLED static menu[MAX_MENU_LENGTH] static const szSwitch[2][] = {{"\rВыкл"}, {"\yВкл"}} formatex(menu, charsmax(menu), "\r[\yKill Streak\r] \wМеню^n\ \r1. \wЗвуки убийств: %s^n\ \r2. \wХуд сообщения: %s^n\ \r0. \wВыход", szSwitch[g_Switch[id][SOUND]], szSwitch[g_Switch[id][MESSAGE]] ) show_menu(id, keys, menu, -1, "Menu") return PLUGIN_HANDLED } public show_kill_streak_menu(const id, const key) { if (key == KEY_EXIT -1) return PLUGIN_HANDLED #if defined SWITCH_SOUND SendAudio(id, fmt("sound/%s", SWITCH_SOUND), PITCH_NORM) #endif switch(key) { case 0: g_Switch[id][SOUND] ^= 1 case 1: g_Switch[id][MESSAGE] ^= 1 } return kill_streak_menu(id) } public ExEventDeathMsg() { static killer, victim, bool:is_headshot killer = read_data(1), victim = read_data(2) if (!(0 < killer <= MaxClients) || killer == victim || !is_user_connected(victim) || !is_user_connected(killer)) return #if !defined FFA_MODE if (get_user_team(killer) == get_user_team(victim)) return #endif static g_SyncHudMsg if (!g_SyncHudMsg) g_SyncHudMsg = CreateHudSyncObj() ClearSyncHud(killer, g_SyncHudMsg) set_hudmessage(HUD_RGB, HUD_X_Y, 0, 0.0, HUD_MSG_TIME) static Sound_Id, Float:Time, Float:LastKill[MAX_PLAYERS +1], KillStreak[MAX_PLAYERS +1] static const KILLSTREAK_MESSAGE[][] = { "", "Double-Kill!", "Triple-Kill!", "Multi-Kill!", "Mega-Kill!", "Ultra-Kill!", "Monster-Kill!", "Killing Spree!", "Wicked Sick!", "Rampage!", "Ludacriss-Kill", "Godlike!", "Holy Shit!" } Time = get_gametime() is_headshot = bool:(read_data(3) == HIT_HEAD) if (KillStreak[killer] >= sizeof(KILLSTREAK_SOUND) || (Time - LastKill[killer]) > KILLS_COUNT_RESET_DELAY) { KillStreak[killer] = 0 #if !defined FFA_MODE if (get_playersnum_ex(GetPlayers_ExcludeDead | GetPlayers_ExcludeHLTV) >= FB_MIN_PLAYERS) { if (!g_FirstKill) { g_FirstKill = true if (g_Switch[killer][MESSAGE]) ShowSyncHudMsg(killer, g_SyncHudMsg, "First-Blood!") if (g_Switch[killer][SOUND]) client_cmd(killer, "spk ^"%s^"", FIRSTBLOOD_SOUND) } else { if (is_headshot) { if (g_Switch[killer][MESSAGE]) ShowSyncHudMsg(killer, g_SyncHudMsg, "Headshot!") if (g_Switch[killer][SOUND]) client_cmd(killer, "spk ^"%s^"", HEADSHOT_SOUND) } } } else { #endif if (is_headshot) { if (g_Switch[killer][MESSAGE]) ShowSyncHudMsg(killer, g_SyncHudMsg, "Headshot!") if (g_Switch[killer][SOUND]) client_cmd(killer, "spk ^"%s^"", HEADSHOT_SOUND) } #if !defined FFA_MODE } #endif } else { KillStreak[killer] ++ Sound_Id = clamp(KillStreak[killer] -1, 0, charsmax(KILLSTREAK_SOUND)) if (g_Switch[killer][MESSAGE]) ShowSyncHudMsg(killer, g_SyncHudMsg, "%s", KILLSTREAK_MESSAGE[KillStreak[killer]]) if (g_Switch[killer][SOUND]) client_cmd(killer, "spk ^"%s^"", KILLSTREAK_SOUND[Sound_Id]) } #if defined KILL_DEATH_HS_BLOOD if (is_headshot) HsBlood(victim) #endif LastKill[killer] = Time LastKill[victim] = 0.0 KillStreak[victim] = 0 } stock HsBlood(client) { new iOrigin[3] get_user_origin(client, iOrigin) message_begin(MSG_PVS, SVC_TEMPENTITY, iOrigin) write_byte(TE_BLOODSTREAM) write_coord(iOrigin[0]) write_coord(iOrigin[1]) write_coord(iOrigin[2] +30) write_coord(random_num(-20, 20)) write_coord(random_num(-20, 20)) write_coord(random_num(50, 300)) write_byte(70) write_byte(random_num(100, 200)) message_end() message_begin(MSG_PVS, SVC_TEMPENTITY, iOrigin) write_byte(TE_BLOODSTREAM) write_coord(iOrigin[0]) write_coord(iOrigin[1]) write_coord(iOrigin[2] +10) write_coord(random_num(-360, 360)) write_coord(random_num(-360, 360)) write_coord(-10) write_byte(70) write_byte(random_num(50, 100)) message_end() } stock SendAudio(client, audio[], pitch) { if (strlen(audio) > 0) { const mSendAudio = 100 /* static mSendAudio if (!mSendAudio) mSendAudio = get_user_msgid("SendAudio") */ message_begin(client ? MSG_ONE_UNRELIABLE : MSG_BROADCAST, mSendAudio, _, client) write_byte(client) write_string(audio) write_short(pitch) message_end() } }
Отправить
Загрузил
Vladislav2004
2025-01-29 00:51:12
0
589
Установить на сервер
Скачать
Нет оплаченых серверов
Купить сервер CS 1.6
Купить сервер CS:GO
Купить сервер CSS v34
Подключить свой VDS к панели
Данная иконка означает, что плагин был проверен администрацией хостинга на тестовом сервере, и проблем с ним не было выявлено. Рекомендуем ставить исключительно проверенные плагины.
Плагин загружен на сервер, но проверка еще не была проведена.
CSHOST.COM.UA 2012-2025 Хостинг игровых серверов