Garry's Mod Wiki



  CSoundPatch CreateSound( Entity targetEnt, string soundName, CRecipientFilter filter = CPASAttenuationFilter )


Returns a sound parented to the specified entity.

You can only create one CSoundPatch per audio file, per entity at the same time.


1 Entity targetEnt
The target entity.
2 string soundName
The sound to play.
3 CRecipientFilter filter = [CPASAttenuationFilter](
A CRecipientFilter of the players that will have this sound networked to them.

This argument only works serverside.


1 CSoundPatch
The sound object


Play a sound everywhere, similar to surface.PlaySound but available clientside and serverside.

local LoadedSounds if CLIENT then LoadedSounds = {} -- this table caches existing CSoundPatches end local function ReadSound( FileName ) local sound local filter if SERVER then filter = RecipientFilter() filter:AddAllPlayers() end if SERVER or !LoadedSounds[FileName] then -- The sound is always re-created serverside because of the RecipientFilter. sound = CreateSound( game.GetWorld(), FileName, filter ) -- create the new sound, parented to the worldspawn (which always exists) if sound then sound:SetSoundLevel( 0 ) -- play everywhere if CLIENT then LoadedSounds[FileName] = { sound, filter } -- cache the CSoundPatch end end else sound = LoadedSounds[FileName][1] filter = LoadedSounds[FileName][2] end if sound then if CLIENT then sound:Stop() -- it won't play again otherwise end sound:Play() end return sound -- useful if you want to stop the sound yourself end -- When we are ready, we play the sound: ReadSound( "phx/hmetal1.wav" )

Special Pages



Render Time: 69ms

DB GetPage 45
Generate Html 7
SaveChanges (1) 7
Render Body 0
Render Sidebar 6