SLAYER-KillStreak with Animated Overlays + Sounds

SLAYER-KillStreak with Animated Overlays + Sounds v1.2.8

savage6677

Участник
Сообщения
27
Реакции
22
  • Автор ресурса
  • #1
savage6677 submitted a new resource:

SLAYER-KillStreak with Animated Overlays + Sounds - KillStreak with Animated Overlays + Sounds


Description:


This plugin show overlays on KillStreak. And also play amazing sounds on KillStreak. For Now it supports 6 Kills in KillStreak. I tested it on CSGO and i hope it will works on other games too.

Features :

1. Animated Overlays
2. Amazing Sound Effects
3. Support Red, Green and...

Read more about this resource...
 

crush1

Участник
Сообщения
13
Реакции
0
Привет скинь пожалйста инструкцию на этот плагин, мы его поставили, но там только только озвучка робит и снизу пишнт сколько убил, а сами черепа нет
 

anatoly0980

Участник
Сообщения
51
Реакции
2
Сделай пожалуйста, чтобы на Death Match режимах, звуки и оверлеи были зациклены.
А то получается сейчас так: Карта поменялась, игрокам проигрываются звуки и показываются оверлеи по несколько раз, и потом перестает, нет ни звуков ни оверлеев
 

savage6677

Участник
Сообщения
27
Реакции
22
  • Автор ресурса
  • #8
Сделай пожалуйста, чтобы на Death Match режимах, звуки и оверлеи были зациклены.
А то получается сейчас так: Карта поменялась, игрокам проигрываются звуки и показываются оверлеи по несколько раз, и потом перестает, нет ни звуков ни оверлеев
good idea 💡
 

Tavian

Участник
Сообщения
1,184
Реакции
119
vtfoverlay - данный плагин нагружает сервер var +50-70 .
На 3 килл работает только звук, оверлея нет.
После смерти слышны звуки убийств других игроков.
 
Последнее редактирование:

Tavian

Участник
Сообщения
1,184
Реакции
119
L 02/07/2022 - 12:55:43: [SM] Exception reported: Client 17 is not connected
L 02/07/2022 - 12:55:43: [SM] Blaming: SLAYER_KillStreak.smx
L 02/07/2022 - 12:55:43: [SM] Call stack trace:
L 02/07/2022 - 12:55:43: [SM] [0] ClientCommand
L 02/07/2022 - 12:55:43: [SM] [1] Line 387, C:\Users\Zakria\Downloads\Compressed\[ANY] SLAYER_KillStreak with Animated Overlays\[ANY] SLAYER_KillStreak with Animated Overlays\addons\sourcemod\scripting\SLAYER_KillStreak.sp::RemoveOverlay
L 02/07/2022 - 13:01:55: Error log file session closed.
 

savage6677

Участник
Сообщения
27
Реакции
22
  • Автор ресурса
  • #11
savage6677 updated SLAYER-KillStreak with Animated Overlays + Sounds with a new update entry:

Fixed Log Error and Added Convar to loop Killstreak

Update (28 April 2022) v1.2.8
  • Added Convar to loop Killstreak
  • Fixed log Error

Read the rest of this update entry...
Сообщения автоматически склеены:

L 02/07/2022 - 12:55:43: [SM] Exception reported: Client 17 is not connected
L 02/07/2022 - 12:55:43: [SM] Blaming: SLAYER_KillStreak.smx
L 02/07/2022 - 12:55:43: [SM] Call stack trace:
L 02/07/2022 - 12:55:43: [SM] [0] ClientCommand
L 02/07/2022 - 12:55:43: [SM] [1] Line 387, C:\Users\Zakria\Downloads\Compressed\[ANY] SLAYER_KillStreak with Animated Overlays\[ANY] SLAYER_KillStreak with Animated Overlays\addons\sourcemod\scripting\SLAYER_KillStreak.sp::RemoveOverlay
L 02/07/2022 - 13:01:55: Error log file session closed.
Fixed

Сделай пожалуйста, чтобы на Death Match режимах, звуки и оверлеи были зациклены.
А то получается сейчас так: Карта поменялась, игрокам проигрываются звуки и показываются оверлеи по несколько раз, и потом перестает, нет ни звуков ни оверлеев
Added :) Thanks for the Suggestion
 
Последнее редактирование:

ERROR404

Участник
Сообщения
286
Реакции
102
А можно как то отключить звуки других игроков ? Чтобы я слышал звуки только за свою серию убийств ?
 

Palonez

бб братки
Сообщения
3,035
Реакции
1,837
Попробуй

замени его:
#include <cstrike>
#include <sourcemod>
#include <sdktools>
#include <sdkhooks>
#include <clientprefs>

#pragma semicolon 1

// Define
#define PLUGIN_VERSION "1.2.8"

// Ints
int kills[MAXPLAYERS+1];

// Convars
ConVar sPluginEnabled;
ConVar sSoundEnabled;
ConVar sOverlaysType;
ConVar sDefaultVolume;
ConVar sLoop;

Handle g_Cookie;
Handle g_Cookie2;
Handle g_VolumeCookie;
Handle g_Timer[MAXPLAYERS+1];

float Volume[MAXPLAYERS + 1];
public Plugin myinfo =
{
    name = "[ANY] SLAYER Kill Streak",
    author = "SLAYER",
    description = "Show Animated Overlays on kill Streak with Sounds",
    version = PLUGIN_VERSION,
    url = "https://forums.alliedmods.net/member.php?u=293943"
};

public void OnPluginStart()
{
    g_Cookie = RegClientCookie("KillStreek_Overlays", "Item On/Off", CookieAccess_Private);
    g_Cookie2 = RegClientCookie("KillStreek_Sounds", "Item On/Off", CookieAccess_Private);
    g_VolumeCookie = RegClientCookie("KillStreek_Sounds_Volume", "sounds volume", CookieAccess_Private);
    sPluginEnabled = CreateConVar("killstreak_enabled", "1", "Enabled/Disabled Kill Streak Plugin", FCVAR_NOTIFY, true, 0.0, true, 1.0);
    sSoundEnabled = CreateConVar("killstreak_enable_sound", "1", "Enabled/Disabled Kill Streak Sounds (0 = Disabled, 1 = Enabled)", FCVAR_NOTIFY, true, 0.0, true, 1.0);
    sOverlaysType = CreateConVar("killstreak_overlays_color", "3", "Kill Streak Overlays Color (0 = Disabled, 1 = Red, 2 = Green, 3 = Team)", FCVAR_NOTIFY);
    sDefaultVolume = CreateConVar("killstreak_sounds_defaultvolume", "1.0", "Default KillSteak Sound Volume.", FCVAR_NOTIFY, true, 0.0, true, 1.0);
    sLoop = CreateConVar("killstreak_sounds_loop", "1", "Loop the Sounds after a player killed 6 enemies? Useful for Deathmatch/GunGame", FCVAR_NOTIFY, true, 0.0, true, 1.0);
    HookEvent("round_start", Event_RoundStart, EventHookMode_PostNoCopy);
    HookEvent("player_death", Event_PlayerDeath);
    RegConsoleCmd("sm_killstreak", DisplayKillStreakMenu, "Dispaly Kill Streak Menu");
    HookConVarChange(sPluginEnabled, OnConvarChanged);HookConVarChange(sSoundEnabled, OnConvarChanged);HookConVarChange(sOverlaysType, OnConvarChanged);HookConVarChange(sDefaultVolume , OnConvarChanged);
    for(int i = 1; i <= MaxClients; i++)
    {
        if(IsValidClient(i) && !IsFakeClient(i) && !AreClientCookiesCached(i))    OnClientCookiesCached(i);
    }
    AutoExecConfig(true, "SLAYER_KillStreak");
}
public OnConvarChanged(ConVar convar, const char[] oldValue, const char[] newValue)
{
    if(convar == sPluginEnabled){if(convar.BoolValue){sPluginEnabled.BoolValue = true;PrintToChatAll("Kill Streak Plugin is now Enabled!");}else{sPluginEnabled.BoolValue = false;PrintToChatAll("Kill Streak Plugin is now Disabled!");}}
    if(convar == sSoundEnabled){if(convar.BoolValue){sSoundEnabled.BoolValue = true;}else{sSoundEnabled.BoolValue = false;}}
    if(convar == sOverlaysType){sOverlaysType.IntValue = StringToInt(newValue);}
    if(convar == sDefaultVolume){sDefaultVolume.FloatValue = StringToFloat(newValue);}
}
public void OnClientPutInServer(int client)
{
    if (IsValidClient(client) && !IsFakeClient(client))OnClientCookiesCached(client);
}

public void OnClientCookiesCached(int client)
{
    if(!IsValidClient(client) && IsFakeClient(client))return;
    char scookie[1024];
    GetClientCookie(client, g_VolumeCookie, scookie, sizeof(scookie));
    if(!StrEqual(scookie, ""))
    {
        Volume[client] = StringToFloat(scookie);
    }
    else if(StrEqual(scookie,""))    Volume[client] = sDefaultVolume.FloatValue;
}
public void OnMapStart()
{
    DownloadableContent();
}
public Action DisplayKillStreakMenu(int client, int args)
{
    KillStreakMenu(client);
    return Plugin_Handled;
}
public CookieMenu_Menu(client, CookieMenuAction:action, any:info, char[] sBuffer, iBufferSize)
{
    if(action != CookieMenuAction_DisplayOption)
        KillStreakMenu(client);
}
public Action KillStreakMenu(int client)
{
    if(!sPluginEnabled.BoolValue)
    {
        ReplyToCommand(client, "\x04[KillStreak] \x01KillStreak Plugin is Disabled");
        return Plugin_Stop;
    }
    if(IsValidClient(client) && !IsFakeClient(client))
    {
        char sCookie[32];
        GetClientCookie(client, g_Cookie, sCookie, sizeof(sCookie));
        Handle g_KillStreakMenu = CreateMenu(SettingsMenu);
        SetMenuTitle(g_KillStreakMenu, "KillStreak Settings");
        GetClientCookie(client, g_Cookie, sCookie, sizeof(sCookie));
        if(sOverlaysType.IntValue != 0)AddMenuItem(g_KillStreakMenu, "Overlays", bool:StringToInt(sCookie)?"KillStreak Overlays [Enabled]":"KillStreak Overlays [Disabled]");
        GetClientCookie(client, g_Cookie2, sCookie, sizeof(sCookie));
        if(sSoundEnabled.BoolValue)AddMenuItem(g_KillStreakMenu, "Sounds", bool:StringToInt(sCookie)?"KillStreak Sounds [Enabled]":"KillStreak Sounds [Disabled]");
        AddMenuItem(g_KillStreakMenu, "Volume", "KillStreak Volume");
        SetMenuExitButton(g_KillStreakMenu, true);
        DisplayMenu(g_KillStreakMenu, client, 30);
        return Plugin_Handled;
    }
    return Plugin_Continue;
}
public SettingsMenu(Menu g_KillStreakMenu, MenuAction:action, client, Item)
{
    switch(action)
    {
        case MenuAction_Select:
        {
            char sitems[64];
            int  cookievalue = GetIntCookie(client, g_Cookie);
            GetMenuItem(g_KillStreakMenu, Item, sitems, sizeof(sitems));
            if(StrEqual(sitems, "Overlays"))
            {
                char sCookie[32];
                GetClientCookie(client, g_Cookie, sCookie, sizeof(sCookie));
                SetClientCookie(client, g_Cookie, bool:StringToInt(sCookie)?"0":"1");
                if(cookievalue == 0)
                {
                    PrintToChat(client,"\x04[KillStreak] \x04KillStreak \x01Overlays are now \x04Disabled");
                }
                else
                {
                    PrintToChat(client,"\x04[KillStreak] \x04KillStreak \x01Overlays are now \x04Enabled");
                }
                KillStreakMenu(client);
            }
            if(StrEqual(sitems, "Volume"))
            {
                KillStreakVolumeMenu(client);
            }
            if(StrEqual(sitems, "Sounds"))
            {
                char sCookie[32];
                int  cookievalue1 = GetIntCookie(client, g_Cookie2);
                GetClientCookie(client, g_Cookie2, sCookie, sizeof(sCookie));
                SetClientCookie(client, g_Cookie2, bool:StringToInt(sCookie)?"0":"1");
                if(cookievalue1 == 0)
                {
                    PrintToChat(client,"\x04[KillStreak] \x04KillStreak \x01Sounds are now \x04Disabled");
                }
                else
                {
                    PrintToChat(client,"\x04[KillStreak] \x04KillStreak \x01Sounds are now \x04Enabled");
                }
                KillStreakMenu(client);
            }
        }
        case MenuAction_End:
        {
            
            CloseHandle(g_KillStreakMenu);
        }
    }
    return 0;
}
public Action KillStreakVolumeMenu(int client)
{
    if(!sPluginEnabled.BoolValue)
    {
        ReplyToCommand(client, "\x04[KillStreak] \x01KillStreak Plugin is Disabled");
        return Plugin_Stop;
    }
    if(IsValidClient(client) && !IsFakeClient(client))
    {
        Handle g_KillStreakVolumeMenu = CreateMenu(VolumeMenuHandler);
        char vol[32];
        if(Volume[client] > 0.00)Format(vol, sizeof(vol), "%0.2f", Volume[client]);
        else {Format(vol, sizeof(vol), "%0.2f", sDefaultVolume.FloatValue);}
        char title[200];
        Format(title, sizeof(title), "Select KillStreak Volume\nCurrent Volume: %s", vol);
        SetMenuTitle(g_KillStreakVolumeMenu, title);
        AddMenuItem(g_KillStreakVolumeMenu, "0.1", "10%");
        AddMenuItem(g_KillStreakVolumeMenu, "0.2", "20%");
        AddMenuItem(g_KillStreakVolumeMenu, "0.4", "40%");
        AddMenuItem(g_KillStreakVolumeMenu, "0.6", "60%");
        AddMenuItem(g_KillStreakVolumeMenu, "0.8", "80%");
        AddMenuItem(g_KillStreakVolumeMenu, "1.0", "100%");
        SetMenuExitBackButton(g_KillStreakVolumeMenu, true);
        SetMenuExitButton(g_KillStreakVolumeMenu, true);
        DisplayMenu(g_KillStreakVolumeMenu, client, 0);
        return Plugin_Handled;
    }
    return Plugin_Continue;
}
public VolumeMenuHandler(Menu g_KillStreakVolumeMenu, MenuAction:action, client, Item)
{
    switch(action)
    {
        case MenuAction_Cancel:
        {
            if(Item == MenuCancel_ExitBack)KillStreakMenu(client);
        }
        case MenuAction_Select:
        {
            char sitems[64];
            GetMenuItem(g_KillStreakVolumeMenu, Item, sitems, sizeof(sitems));
            Volume[client] = StringToFloat(sitems);
            PrintToChat(client, "\x04[KillStreak] \x04KillStreak \x01Volume is set to \x04%0.2f", Volume[client]);
            SetClientCookie(client, g_VolumeCookie, sitems);
            KillStreakVolumeMenu(client);
        }
        case MenuAction_End:
        {
            CloseHandle(g_KillStreakVolumeMenu);
        }
    }
    return 0;
}
int GetIntCookie(int client, Handle handle)
{
    char sCookieValue[11];
    GetClientCookie(client, handle, sCookieValue, sizeof(sCookieValue));
    return StringToInt(sCookieValue);
}
stock bool IsValidClient(int client)
{
    if(client <= 0 ) return false;
    if(client > MaxClients) return false;
    if(!IsClientConnected(client)) return false;
    return IsClientInGame(client);
}
public Event_PlayerDisconnect(Handle event, const char[] name, bool dontBroadcast)
{
    int attacker = GetClientOfUserId(GetEventInt(event, "userid"));
    kills[attacker] = 0;
    delete g_Timer[attacker];
}
public void Event_RoundStart(Handle event, const char[] name, bool dontBroadcast)
{
    if(sPluginEnabled.BoolValue) // check plugin is enabled or disabled
    {
        for(new i = 1; i < MAXPLAYERS; i++)
        {
            delete g_Timer[i];
            kills[i] = 0;
        }
    }
}

public Event_PlayerDeath(Handle event, const char[] name, bool dontBroadcast)
{
    if (sPluginEnabled.BoolValue == false)return;
    int victim = GetClientOfUserId(GetEventInt(event, "userid"));
    int attacker = GetClientOfUserId(GetEventInt(event, "attacker"));
    if(attacker == 0){return;}
    if(GetClientTeam(attacker) != GetClientTeam(victim))
    {
        kills[attacker]++;
    }
    int iFlags = GetCommandFlags("r_screenoverlay");
    SetCommandFlags("r_screenoverlay", iFlags &~ FCVAR_CHEAT);
    delete g_Timer[attacker];
    if(kills[attacker] == 1)
    {
        if(sSoundEnabled.BoolValue && GetIntCookie(attacker, g_Cookie2) == 0)EmitSoundToClient(attacker, "slayer/overlays/firstblood.mp3", SOUND_FROM_PLAYER, SNDCHAN_STATIC, SNDLEVEL_NONE, _, Volume[attacker]);
        if(sOverlaysType.IntValue > 0)
        {
            if(sOverlaysType.IntValue > 1)
            {
                if(sOverlaysType.IntValue == 3 && GetClientTeam(attacker) == 3 && GetIntCookie(attacker, g_Cookie) == 0)ClientCommand(attacker, "r_screenoverlay slayer/overlays/onekillgreen.vmt");
                if(sOverlaysType.IntValue == 2 && GetIntCookie(attacker, g_Cookie) == 0)ClientCommand(attacker, "r_screenoverlay slayer/overlays/onekillgreen.vmt");
            }
            if(sOverlaysType.IntValue == 1 || sOverlaysType.IntValue == 3)
            {
                if(sOverlaysType.IntValue == 3 && GetClientTeam(attacker) == 2 && GetIntCookie(attacker, g_Cookie) == 0)ClientCommand(attacker, "r_screenoverlay slayer/overlays/onekillred.vmt");
                if(sOverlaysType.IntValue == 1 && GetIntCookie(attacker, g_Cookie) == 0)ClientCommand(attacker, "r_screenoverlay slayer/overlays/onekillred.vmt");
            }
        }
        g_Timer[attacker] = CreateTimer(1.6, RemoveOverlay, attacker);
    }
    if(kills[attacker] == 2)
    {
        if(sSoundEnabled.BoolValue && GetIntCookie(attacker, g_Cookie2) == 0)EmitSoundToClient(attacker, "slayer/overlays/doublekill.mp3", SOUND_FROM_PLAYER, SNDCHAN_STATIC, SNDLEVEL_NONE, _, Volume[attacker]);
        if(sOverlaysType.IntValue > 0)
        {
            if(sOverlaysType.IntValue > 1)
            {
                if(sOverlaysType.IntValue == 3 && GetClientTeam(attacker) == 3 && GetIntCookie(attacker, g_Cookie) == 0)ClientCommand(attacker, "r_screenoverlay slayer/overlays/twokillgreen.vmt");
                if(sOverlaysType.IntValue == 2 && GetIntCookie(attacker, g_Cookie) == 0)ClientCommand(attacker, "r_screenoverlay slayer/overlays/twokillgreen.vmt");
            }
            if(sOverlaysType.IntValue == 1 || sOverlaysType.IntValue == 3)
            {
                if(sOverlaysType.IntValue == 3 && GetClientTeam(attacker) == 2 && GetIntCookie(attacker, g_Cookie) == 0)ClientCommand(attacker, "r_screenoverlay slayer/overlays/twokillred.vmt");
                if(sOverlaysType.IntValue == 1 && GetIntCookie(attacker, g_Cookie) == 0)ClientCommand(attacker, "r_screenoverlay slayer/overlays/twokillred.vmt");
            }
        }
        g_Timer[attacker] = CreateTimer(1.4, RemoveOverlay, attacker);
    }
    if(kills[attacker] == 3)
    {
        if(sSoundEnabled.BoolValue && GetIntCookie(attacker, g_Cookie2) == 0)EmitSoundToClient(attacker, "slayer/overlays/triplekill.mp3", SOUND_FROM_PLAYER, SNDCHAN_STATIC, SNDLEVEL_NONE, _, Volume[attacker]);
        if(sOverlaysType.IntValue > 0)
        {
            if(sOverlaysType.IntValue > 1)
            {
                if(sOverlaysType.IntValue == 3 && GetClientTeam(attacker) == 3 && GetIntCookie(attacker, g_Cookie) == 0)ClientCommand(attacker, "r_screenoverlay slayer/overlays/threekillgreen.vmt");
                if(sOverlaysType.IntValue == 2 && GetIntCookie(attacker, g_Cookie) == 0)ClientCommand(attacker, "r_screenoverlay slayer/overlays/threekillgreen.vmt");
            }
            if(sOverlaysType.IntValue == 1 || sOverlaysType.IntValue == 3)
            {
                if(sOverlaysType.IntValue == 3 && GetClientTeam(attacker) == 2 && GetIntCookie(attacker, g_Cookie) == 0)EmitSoundToClient(attacker, "slayer/overlays/triplekill.mp3", SOUND_FROM_PLAYER, SNDCHAN_STATIC, SNDLEVEL_NONE, _, Volume[attacker]);
                if(sOverlaysType.IntValue == 1 && GetIntCookie(attacker, g_Cookie) == 0)ClientCommand(attacker, "r_screenoverlay slayer/overlays/threekillred.vmt");
            }
        }
        g_Timer[attacker] = CreateTimer(1.6, RemoveOverlay, attacker);
    }
    if(kills[attacker] == 4)
    {
        if(sSoundEnabled.BoolValue && GetIntCookie(attacker, g_Cookie2) == 0)EmitSoundToClient(attacker, "slayer/overlays/qudrakill.mp3", SOUND_FROM_PLAYER, SNDCHAN_STATIC, SNDLEVEL_NONE, _, Volume[attacker]);
        if(sOverlaysType.IntValue > 0)
        {
            if(sOverlaysType.IntValue > 1)
            {
                if(sOverlaysType.IntValue == 3 && GetClientTeam(attacker) == 3 && GetIntCookie(attacker, g_Cookie) == 0)ClientCommand(attacker, "r_screenoverlay slayer/overlays/fourkillgreen.vmt");
                if(sOverlaysType.IntValue == 2 && GetIntCookie(attacker, g_Cookie) == 0)ClientCommand(attacker, "r_screenoverlay slayer/overlays/fourkillgreen.vmt");
            }
            if(sOverlaysType.IntValue == 1 || sOverlaysType.IntValue == 3)
            {
                if(sOverlaysType.IntValue == 3 && GetClientTeam(attacker) == 2 && GetIntCookie(attacker, g_Cookie) == 0)ClientCommand(attacker, "r_screenoverlay slayer/overlays/fourkillred.vmt");
                if(sOverlaysType.IntValue == 1 && GetIntCookie(attacker, g_Cookie) == 0)ClientCommand(attacker, "r_screenoverlay slayer/overlays/fourkillred.vmt");
            }
        }
        g_Timer[attacker] = CreateTimer(1.4, RemoveOverlay, attacker);
    }
    if(kills[attacker] == 5)
    {
        if(sSoundEnabled.BoolValue){
            if (IsValidClient(attacker) && !IsFakeClient(attacker) && GetIntCookie(attacker, g_Cookie2) == 0)
            {
                EmitSoundToClient(attacker, "slayer/overlays/pentakill.mp3", SOUND_FROM_PLAYER, SNDCHAN_STATIC, SNDLEVEL_NONE, _, Volume[attacker]);
            }
        }
        if(sOverlaysType.IntValue > 0)
        {
            if(sOverlaysType.IntValue > 1)
            {
                if(sOverlaysType.IntValue == 3 && GetClientTeam(attacker) == 3 && GetIntCookie(attacker, g_Cookie) == 0)ClientCommand(attacker, "r_screenoverlay slayer/overlays/fivekillgreen.vmt");
                if(sOverlaysType.IntValue == 2 && GetIntCookie(attacker, g_Cookie) == 0)ClientCommand(attacker, "r_screenoverlay slayer/overlays/fivekillgreen.vmt");
            }
            if(sOverlaysType.IntValue == 1 || sOverlaysType.IntValue == 3)
            {
                if(sOverlaysType.IntValue == 3 && GetClientTeam(attacker) == 2 && GetIntCookie(attacker, g_Cookie) == 0)ClientCommand(attacker, "r_screenoverlay slayer/overlays/fivekillred.vmt");
                if(sOverlaysType.IntValue == 1 && GetIntCookie(attacker, g_Cookie) == 0)ClientCommand(attacker, "r_screenoverlay slayer/overlays/fivekillred.vmt");
            }
        }
        g_Timer[attacker] = CreateTimer(3.7, RemoveOverlay, attacker);
    }
    if(kills[attacker] == 6)
    {
        if(sSoundEnabled.BoolValue){
            if (IsValidClient(attacker) && !IsFakeClient(attacker) && GetIntCookie(attacker, g_Cookie2) == 0)
            {
                EmitSoundToClient(attacker, "slayer/overlays/hexakill.mp3", SOUND_FROM_PLAYER, SNDCHAN_STATIC, SNDLEVEL_NONE, _, Volume[attacker]);
            }
        }
        if(sOverlaysType.IntValue > 0)
        {
            if(sOverlaysType.IntValue > 1)
            {
                if(sOverlaysType.IntValue == 3 && GetClientTeam(attacker) == 3 && GetIntCookie(attacker, g_Cookie) == 0)ClientCommand(attacker, "r_screenoverlay slayer/overlays/sixkillgreen.vmt");
                if(sOverlaysType.IntValue == 2 && GetIntCookie(attacker, g_Cookie) == 0)ClientCommand(attacker, "r_screenoverlay slayer/overlays/sixkillgreen.vmt");
            }
            if(sOverlaysType.IntValue == 1 || sOverlaysType.IntValue == 3)
            {
                if(sOverlaysType.IntValue == 3 && GetClientTeam(attacker) == 2 && GetIntCookie(attacker, g_Cookie) == 0)ClientCommand(attacker, "r_screenoverlay slayer/overlays/sixkillred.vmt");
                if(sOverlaysType.IntValue == 1 && GetIntCookie(attacker, g_Cookie) == 0)ClientCommand(attacker, "r_screenoverlay slayer/overlays/sixkillred.vmt");
            }
        }
        if (sLoop.BoolValue)kills[attacker] = 0;
        g_Timer[attacker] = CreateTimer(3.7, RemoveOverlay, attacker);
    }
}
public Action RemoveOverlay(Handle timer, any:client)
{
    if(IsClientInGame(client))
    {
        int iFlags = GetCommandFlags("r_screenoverlay");
        SetCommandFlags("r_screenoverlay", iFlags &~ FCVAR_CHEAT);
        ClientCommand(client, "r_screenoverlay \"\"");
        SetCommandFlags("r_screenoverlay", iFlags);
    }
    g_Timer[client] = null;
}
void DownloadableContent()
{
    AddFileToDownloadsTable("materials/slayer/overlays/onekillgreen.vmt");
    AddFileToDownloadsTable("materials/slayer/overlays/twokillgreen.vmt");
    AddFileToDownloadsTable("materials/slayer/overlays/threekillgreen.vmt");
    AddFileToDownloadsTable("materials/slayer/overlays/fourkillgreen.vmt");
    AddFileToDownloadsTable("materials/slayer/overlays/fivekillgreen.vmt");
    AddFileToDownloadsTable("materials/slayer/overlays/sixkillgreen.vmt");
    AddFileToDownloadsTable("materials/slayer/overlays/onekillgreen.vtf");
    AddFileToDownloadsTable("materials/slayer/overlays/twokillgreen.vtf");
    AddFileToDownloadsTable("materials/slayer/overlays/threekillgreen.vtf");
    AddFileToDownloadsTable("materials/slayer/overlays/fourkillgreen.vtf");
    AddFileToDownloadsTable("materials/slayer/overlays/fivekillgreen.vtf");
    AddFileToDownloadsTable("materials/slayer/overlays/sixkillgreen.vtf");
    AddFileToDownloadsTable("materials/slayer/overlays/onekillred.vmt");
    AddFileToDownloadsTable("materials/slayer/overlays/twokillred.vmt");
    AddFileToDownloadsTable("materials/slayer/overlays/threekillred.vmt");
    AddFileToDownloadsTable("materials/slayer/overlays/fourkillred.vmt");
    AddFileToDownloadsTable("materials/slayer/overlays/fivekillred.vmt");
    AddFileToDownloadsTable("materials/slayer/overlays/sixkillred.vmt");
    AddFileToDownloadsTable("materials/slayer/overlays/onekillred.vtf");
    AddFileToDownloadsTable("materials/slayer/overlays/twokillred.vtf");
    AddFileToDownloadsTable("materials/slayer/overlays/threekillred.vtf");
    AddFileToDownloadsTable("materials/slayer/overlays/fourkillred.vtf");
    AddFileToDownloadsTable("materials/slayer/overlays/fivekillred.vtf");
    AddFileToDownloadsTable("materials/slayer/overlays/sixkillred.vtf");
    AddFileToDownloadsTable("sound/slayer/overlays/firstblood.mp3");
    AddFileToDownloadsTable("sound/slayer/overlays/doublekill.mp3");
    AddFileToDownloadsTable("sound/slayer/overlays/triplekill.mp3");
    AddFileToDownloadsTable("sound/slayer/overlays/qudrakill.mp3");
    AddFileToDownloadsTable("sound/slayer/overlays/pentakill.mp3");
    AddFileToDownloadsTable("sound/slayer/overlays/hexakill.mp3");
    PrecacheModel("materials/slayer/overlays/onekillgreen.vmt", true);
    PrecacheModel("materials/slayer/overlays/twokillgreen.vmt", true);
    PrecacheModel("materials/slayer/overlays/threekillgreen.vmt", true);
    PrecacheModel("materials/slayer/overlays/fourkillgreen.vmt", true);
    PrecacheModel("materials/slayer/overlays/fivekillgreen.vmt", true);
    PrecacheModel("materials/slayer/overlays/sixkillgreen.vmt", true);
    PrecacheModel("materials/slayer/overlays/onekillred.vmt", true);
    PrecacheModel("materials/slayer/overlays/twokillred.vmt", true);
    PrecacheModel("materials/slayer/overlays/threekillred.vmt", true);
    PrecacheModel("materials/slayer/overlays/fourkillred.vmt", true);
    PrecacheModel("materials/slayer/overlays/fivekillred.vmt", true);
    PrecacheModel("materials/slayer/overlays/sixkillred.vmt", true);
    PrecacheSound("slayer/overlays/firstblood.mp3", true);
    PrecacheSound("slayer/overlays/doublekill.mp3", true);
    PrecacheSound("slayer/overlays/triplekill.mp3", true);
    PrecacheSound("slayer/overlays/qudrakill.mp3", true);
    PrecacheSound("slayer/overlays/pentakill.mp3", true);
    PrecacheSound("slayer/overlays/hexakill.mp3", true);
}
 
Последнее редактирование:
Сверху Снизу