CreateSound
Açıklama
Belirtilen entity'ye bağlı bir ses döndürür.
Aynı anda entity başına, ses dosyası başına yalnızca bir CSoundPatch oluşturabilirsiniz.
Geçerli örnekleme hızları: 11025 Hz, 22050 Hz ve 44100 Hz, aksi takdirde şu tür bir mesaj görebilirsiniz:
Unsupported 32-bit wave file your_sound.wav ve
Invalid sample rate (48000) for sound 'your_sound.wav'
Argümanlar
2 string soundName
Çalınacak ses. (Ses dosyası yolu veya bir soundscript) Soundscript Karakterleri desteklenmektedir.
3 CRecipientFilter filter = nil
Bu sesin ağ üzerinden gönderileceği oyuncuların bir CRecipientFilter'ı.
Ayarlanmazsa, varsayılan bir CPASAttenuationFilter'dır.
Bu argüman yalnızca sunucu tarafında çalışır.
Döndürülen Değer
Örnek
surface.PlaySound'a benzer şekilde, ancak istemci ve sunucu tarafında kullanılabilir olan, her yerde bir ses çalar.
local LoadedSounds
if CLIENT then
LoadedSounds = {} -- bu tablo mevcut CSoundPatch'leri önbelleğe alır
end
local function ReadSound( FileName )
local sound
local filter
if SERVER then
filter = RecipientFilter()
filter:AddAllPlayers()
end
if SERVER or !LoadedSounds[FileName] then
-- RecipientFilter nedeniyle ses her zaman sunucu tarafında yeniden oluşturulur.
sound = CreateSound( game.GetWorld(), FileName, filter ) -- her zaman var olan worldspawn'a bağlı yeni sesi oluştur
if sound then
sound:SetSoundLevel( 0 ) -- her yerde çal
if CLIENT then
LoadedSounds[FileName] = { sound, filter } -- CSoundPatch'i önbelleğe al
end
end
else
sound = LoadedSounds[FileName][1]
filter = LoadedSounds[FileName][2]
end
if sound then
if CLIENT then
sound:Stop() -- aksi takdirde tekrar çalmaz
end
sound:Play()
end
return sound -- sesi kendiniz durdurmak isterseniz kullanışlıdır
end
-- Hazır olduğumuzda, sesi çalıyoruz:
ReadSound( "phx/hmetal1.wav" )
Tüm sunucular · GmodTR Launcher · Rehber · GMod Wiki · GmodTR nedir? · Sunucu ekle · Discord