Помните когда в кс серий при убийстве на серверах в голову говорило 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)
- ReadUInt - [C]:-1
- 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)
- 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
Раньше он писал что не получилось воспроизводить звук, а щас он просто не может открыть данную луашку