Kill Sound HS

Помните когда в кс серий при убийстве на серверах в голову говорило Boom Headshot?
Так вот, как же сделать в гаррис моде на своем сервере?

SH часть.
поддержка только локальных(стандартные,аддоны) звуков.

--изначально максимум 15 таблиц , 0 не записывает. подробнее ниже.
local Soundlist = {
    "sound/music/hl2_song12_long.mp3", --пример
}

if SERVER then
    util.AddNetworkString('cs.sound')
    --нам не нужен убийца.
    local math_random = math.random
    hook.Add(
        'PostPlayerDeath',
        'cs.sound',
        function(pl)
            if pl:LastHitGroup() ~= 1 then return end
            net.Start('cs.sound', true) --установим в не надёжный канал, если канал забит клиент просто не получит его.
            net.WriteUInt(math_random(1, #Soundlist), 4) -- 4 бита 0-15 (16) по порядку 1-2, 2-4,3-8,4-16,5-32,6-64 .... максимум 32
            net.Broadcast()
        end
    )
else
    local sound_PlayFile = sound.PlayFile
    net.Receive('cs.sound',function()
            sound_PlayFile(Soundlist[net.ReadUInt()],"",function(s, erri, errs)
                    s:SetVolume(1) --громкость 0-0% 0.25-25% 0.5-50% 3-300% и т.д
                    if errs then
                        print(errs) --если будет ошибка звука, напишет в консоль.
                    end
                end)
        end)
end

[hs_sound] addons/hs_sound/lua/autorun/hs__sound.lua:22: bad argument #1 to ‘ReadUInt’ (number expected, got no value)

  1. ReadUInt - [C]:-1
  2. func - addons/hs_sound/lua/autorun/hs__sound.lua:22
    3. unknown - lua/includes/extensions/net.lua:38
--изначально максимум 15 таблиц , 0 не записывает. подробнее ниже.
local Soundlist = {
    "sound/music/hl2_song12_long.mp3", --пример
}

if SERVER then
    util.AddNetworkString('cs.sound')
    --нам не нужен убийца.
    local math_random = math.random
    hook.Add(
        'PostPlayerDeath',
        'cs.sound',
        function(pl)
            if pl:LastHitGroup() ~= 1 then return end
            net.Start('cs.sound', true) --установим в не надёжный канал, если канал забит клиент просто не получит его.
            net.WriteUInt(math_random(1, #Soundlist), 4) -- 4 бита 0-15 (16) по порядку 1-2, 2-4,3-8,4-16,5-32,6-64 .... максимум 32
            net.Broadcast()
        end
    )
else
    local sound_PlayFile = sound.PlayFile
    net.Receive('cs.sound',function()
            sound_PlayFile(Soundlist[net.ReadUInt(4)],"",function(s, erri, errs)
                    s:SetVolume(1) --громкость 0-0% 0.25-25% 0.5-50% 3-300% и т.д
                    if errs then
                        print(errs) --если будет ошибка звука, напишет в консоль.
                    end
                end)
        end)
end

[hs_sound] addons/hs_sound/lua/autorun/hs__sound.lua:23: attempt to index local ‘s’ (a nil value)

  1. unknown - addons/hs_sound/lua/autorun/hs__sound.lua:23
--изначально максимум 15 таблиц , 0 не записывает. подробнее ниже.
local Soundlist = {
    "sound/music/hl2_song12_long.mp3", --пример
}

if SERVER then
    util.AddNetworkString('cs.sound')
    --нам не нужен убийца.
    local math_random = math.random
    hook.Add(
        'PostPlayerDeath',
        'cs.sound',
        function(pl)
            if pl:LastHitGroup() ~= 1 then return end
            net.Start('cs.sound', true) --установим в не надёжный канал, если канал забит клиент просто не получит его.
            net.WriteUInt(math_random(1, #Soundlist), 4) -- 4 бита 0-15 (16) по порядку 1-2, 2-4,3-8,4-16,5-32,6-64 .... максимум 32
            net.Broadcast()
        end
    )
else
    local sound_PlayFile = sound.PlayFile
    net.Receive('cs.sound',function()
            sound_PlayFile(Soundlist[net.ReadUInt(4)],"",function(s, erri, errs)
if s then 
                    s:SetVolume(1) --громкость 0-0% 0.25-25% 0.5-50% 3-300% и т.д
end
                    if errs then
                        print(errs) --если будет ошибка звука, напишет в консоль.
                    end
                end)
        end)
end

Теперь пишет BASS_ERROR_FILEOPEN

путь к файлу не верный или его не существует.

У меня путь: hs_sound/sound/headshot_sound.wav.
Перепроверял

garrysmod/hs_sound/sound/headshot_sound.wav ?

в аддоне, этот путь лежит в аддоне

поставь sound/headshot_sound.wav.

Все равно пишет в консоли BASS_ERROR_FILEOPEN

Раньше он писал что не получилось воспроизводить звук, а щас он просто не может открыть данную луашку