Garry's Mod Wiki

Revision Difference

GM:PlayerDeathSound#548784

<function name="PlayerDeathSound" parent="GM" type="hook"> <ishook>yes</ishook> <description>Returns whether or not the default death sound should be muted.</description> <realm>Server</realm> <predicted>No</predicted> <rets> <ret name="" type="boolean">Mute death sound</ret> </rets> <args> <arg name="ply" type="Player">The player</arg> </args> </function> ⤶ <example>⤶ <description>Plays a new sound for the player's demise.</description>⤶ <code>⤶ hook.Add( "PlayerDeathSound", "CustomPlayerDeath", function( ply )⤶ ply:EmitSound( "beams/beamstart5.wav", SNDLVL_NORM, math.random( 70, 126 ) ) -- plays the sound with normal sound levels, and a random pitch between 70 and 126⤶ return true -- we don't want the default sound!⤶ end )⤶ </code>⤶ </example>⤶ ⤶ <example>⤶ <description>Picks from a list of sounds and plays a certain one depending on the network variable applied to Player 1. Otherwise, it will play a fallback sound along with the original sound.</description>⤶ <code>⤶ local p1 = Entity( 1 ) -- returns player 1⤶ local sndtbl = { "beams/beamstart5", "plats/bigstop1", "friends/message", "ambient/alarms/warningbell1", "vo/ravenholm/madlaugh03" } -- random selection of sounds for our purpose⤶ ⤶ p1:SetNWInt( "DSound", math.random( 1, #sndtbl ) ) -- pick a random number from 1 to the maximum amount of entries our table has⤶ ⤶ hook.Add( "PlayerDeathSound", "SelectedSound", function( ply )⤶ local snd = sndtbl[ p1:GetNWInt( "DSound", 1 ) ]⤶ ⤶ if TypeId(snd) == TYPE_STRING then⤶ ply:EmitSound( snd .. ".wav" )⤶ return true⤶ else -- fallback behavior⤶ print( "Sound does not exist in table, error!" )⤶ ply:EmitSound( "common/bugreporter_failed.wav" )⤶ return false -- let's make it clear that we do actually have a problem when it doesn't mute the original sound⤶ end⤶ end )⤶ </code>⤶ </example>