Отключение звука ходьбы

DenisPukin

Капитан Костыль
Сообщения
185
Реакции
34
А можно как то увеличить громкость ходьбы противников?
Я пробовал, но ничего не получилось
C-подобный:
public OnPluginStart()
{
    AddNormalSoundHook(FootstepCheck);
}

public Action:FootstepCheck(clients[64], &numClients, String:sample[PLATFORM_MAX_PATH], &entity, &channel, &Float:volume, &level, &pitch, &flags)
{
    if (0 < entity <= MaxClients)
    {
        if(StrContains(sample, "physics") != -1 || StrContains(sample, "footsteps") != -1)
        {
            if(g_bHearOO[entity] != false)
            {
                volume += 1.00;
                level = SNDLEVEL_ROCKET; //(ещё так пробовал level += 255)
                return Plugin_Changed;
            }
        }
    }
    return Plugin_Continue;
}
 

ALSHiN

Участник
Сообщения
222
Реакции
14
а звук смерти в конце раунда можно? Xdd
 

iLoco

Пишу плагины за печеньки 🍪🍪🍪
Сообщения
2,265
Реакции
1,323
а звук смерти в конце раунда можно? Xdd
Не уверен что сработает, но попробовать стоит! (убирает звук при смерте)
C++:
#pragma semicolon 1

#include <sourcemod>
#include <sdktools>

public void OnPluginStart()
{
    HookEvent("player_death", Event_PlayerDeath, EventHookMode_Post);
}

public void Event_PlayerDeath(Event event, const char[] name, bool dontBroadcast)
{
    int victim = GetClientOfUserId(GetEventInt(event, "userid"));
    float VictimLocation[3];  

    GetClientAbsOrigin(victim, VictimLocation);
    EmitSoundToAll(NULL_STRING, _, SNDCHAN_REPLACE, SNDLEVEL_LIBRARY, SND_STOP, 10, _, _, VictimLocation);
}
 

ALSHiN

Участник
Сообщения
222
Реакции
14
Не уверен что сработает, но попробовать стоит! (убирает звук при смерте)
C++:
#pragma semicolon 1

#include <sourcemod>
#include <sdktools>

public void OnPluginStart()
{
    HookEvent("player_death", Event_PlayerDeath, EventHookMode_Post);
}

public void Event_PlayerDeath(Event event, const char[] name, bool dontBroadcast)
{
    int victim = GetClientOfUserId(GetEventInt(event, "userid"));
    float VictimLocation[3];

    GetClientAbsOrigin(victim, VictimLocation);
    EmitSoundToAll(NULL_STRING, _, SNDCHAN_REPLACE, SNDLEVEL_LIBRARY, SND_STOP, 10, _, _, VictimLocation);
}
ночью затестим )
а на музыку в конце раунда влиять будет?
 

Саша Шеин

Кому костылей?
Сообщения
1,697
Реакции
621
Не уверен что сработает, но попробовать стоит! (убирает звук при смерте)
C++:
#pragma semicolon 1

#include <sourcemod>
#include <sdktools>

public void OnPluginStart()
{
    HookEvent("player_death", Event_PlayerDeath, EventHookMode_Post);
}

public void Event_PlayerDeath(Event event, const char[] name, bool dontBroadcast)
{
    int victim = GetClientOfUserId(GetEventInt(event, "userid"));
    float VictimLocation[3]; 

    GetClientAbsOrigin(victim, VictimLocation);
    EmitSoundToAll(NULL_STRING, _, SNDCHAN_REPLACE, SNDLEVEL_LIBRARY, SND_STOP, 10, _, _, VictimLocation);
}
А может знаешь, надо что-то подобное для звуков доминации и отмщения.
Сообщения автоматически склеены:

Если быть точнее, то данные звуки:
C-подобный:
"Music.GG_Nemesis"
{
    "channel"    "CHAN_STATIC"
    "volume"    "1.0"
    "soundlevel"      "SNDLVL_NONE"
    "pitch"        "PITCH_NORM"

    "wave"    "*music/nemesis.wav"

    "soundentry_version" "2"
    "operator_stacks"
    {
        "start_stack"
        {
            "stop_music"
            {
                "operator" "sys_stop_entries"
                "input_max_entries" "0.000000" //A sound will not stop itself from playing.
                "match_entity" "false"   
                "match_substring" "true"
                "match_this_entry" "false"
                "match_entry" "Music."   
            }
        }
        "update_stack"
        {
            "import_stack"    "CS_update_music_stereo"
            "mixer"
            {
                "mixgroup" "DuckingMusix"
                "set_mixgroup_to_channel" "true"   
            }
            "hold_mixlayer_time_calc"
            {
                "input1" "1.3"
            }
            "convar_total"
            {
                "input1" "0.7"
            }
        }
    }
}
C-подобный:
"Music.GG_Dominating"
{
    "channel"    "CHAN_STATIC"
    "volume"    "0.6"
    "soundlevel"      "SNDLVL_NONE"
    "pitch"        "PITCH_NORM"

    "wave"    "*music/dominating.wav"

    "soundentry_version" "2"
    "operator_stacks"
    {
        "start_stack"
        {
            "stop_music"
            {
                "operator" "sys_stop_entries"
                "input_max_entries" "0.000000" //A sound will not stop itself from playing.
                "match_entity" "false"   
                "match_substring" "true"
                "match_this_entry" "false"
                "match_entry" "Music."   
            }
        }
        "update_stack"
        {
            "import_stack"    "CS_update_music_stereo"
            "mixer"
            {
                "mixgroup" "DuckingMusix"
                "set_mixgroup_to_channel" "true"   
            }
            "hold_mixlayer_time_calc"
            {
                "input1" "1.3"
            }
            "convar_total"
            {
                "input1" "0.7"
            }
        }
    }
}
 

Banana

Участник
Сообщения
892
Реакции
113
Можно ли отключить стандартные шаги (те что по умолчанию в игре) для определенного игрока чтоб его шаги были не слышны? ранее делал себе мозг с этим и придумал костыль который убирает вообще все шаги и заменяет их на звук шагов который можно проигрывать определённому кругу лиц..... - но как я и говорил костыль.. есть корректное решение этой задачи?
 

Modi

Участник
Сообщения
71
Реакции
16
@Саша Шеин, столкнулся сейчас с этой задачей, решил вот так:
#include <sdktools>

public OnPluginStart()
{
AddNormalSoundHook(Event_Sound);
}

public Action:Event_Sound(clients[64], &numClients, String:sample[PLATFORM_MAX_PATH], &entity, &channel, &Float:volume, &level, &pitch, &flags)
{
if(StrEqual(sample, "*music/dominating.wav") || StrEqual(sample, "*music/nemesis.wav")) {
return Plugin_Handled;
}
return Plugin_Continue;
}
 
Сверху Снизу