Source-checkedQuality of life & UI

Contextual Ping System

by Sam · for Left 4 Dead 2

Communication in Left 4 Dead has never been this easy! This addon features 3 ways of pinging: - Automatic voice: when survivors spot items and enemies, and verbally call them out (bots use this!) -…

165KDownloads
3 mo agoLast updated
Steam WorkshopSource

About Contextual Ping System

From Steam Workshop

Communication in Left 4 Dead has never been this easy! This addon features 3 ways of pinging: - Automatic voice: when survivors spot items and enemies, and verbally call them out (bots use this!) -…

Communication in Left 4 Dead has never been this easy!

This addon features 3 ways of pinging:

- Automatic voice: when survivors spot items and enemies, and verbally call them out (bots use this!) - Manual voice: when chat wheel commands are used - Manual button: when players press their chosen key (bound to "+alt2") to ping anywhere anytime. Hold this button to open the ping wheel ( bind T +alt2 )

Both the server host and the players need to install for everyone to see and hear the pings.

It does not work on official Valve servers.

It works with `sv_consistency 1` and `sv_pure 1`.

Settings

To change settings in-game, the server host can type !ping_system in the chat. Then use !ping_system savecfg to save the changes, or !ping_system loadcfg to load settings from a previously saved configuration.

Available commands:


autoping         : PingSystem.DisableAutoPing( option[0, 3] )
maxcount         : PingSystem.SetMaxPingCount( count[1, 64] )
duration         : PingSystem.SetPingDuration( pingtype, duration )
colour           : PingSystem.SetPingColour( pingtype, r, g, b )
scale            : PingSystem.SetScaleMultiplier( value[0.25, 2.0] )
sound            : PingSystem.DisableSound( 0|1 )
button           : PingSystem.DisableButton( 0|1 )
wheel            : PingSystem.DisableWheel( 0|1 )
offscreen        : PingSystem.DisableOffscreenIndicators( 0|1 )
offscreenstyle   : PingSystem.SetOffscreenIndicatorStyle( 0|1 )
offscreenscale   : PingSystem.SetOffscreenIndicatorScale( value[0.25, 2.0] )
offscreenradius  : PingSystem.SetOffscreenIndicatorRadius( value[0.0, 1.0] ) // default:0.273
offscreenvert    : PingSystem.SetOffscreenIndicatorVerticalMargin( value[0.0, 1.0] ) // default:1
savecfg
loadcfg
---
PingSystem.SetPingSound( pingtype, soundDefault, soundAlert )
PingSystem.SetWheelItem( index[1,4], pingtype )

DisableAutoPing options: 0: enable all auto pings 1: disable all auto pings 2: only disable special infected warning pings 3: only disable item pings

Example:

No auto-pings for special infected


!ping_system autoping 2

Only 2 pings per player


!ping_system maxcount 2

Disable manual ping button


!ping_system button 0

Disable sound


!ping_system sound 0

Set every ping duration to 3.5 seconds


!ping_system duration all 3.5

Set ammo ping duration to 15 seconds


!ping_system duration ammo 15

These commands are partially matched. For instance, all commands below are identical


!ping_system d ammo 15
!ping_system dur ammo 15
!ping_system durat ammo 15
!ping_system duration ammo 15

Inside the settings file:


PingSystem.DisableAutoPing(2)
PingSystem.DisableButton(1)
PingSystem.DisableSound(1)
PingSystem.SetMaxPingCount(2)

PingSystem.SetPingDuration(PingType.ALL, 3.5)
PingSystem.SetPingDuration(PingType.WEAPON_AMMO, 15)

PingSystem.SetPingSound(PingType.ALL, "HudChat.Message", null)
PingSystem.SetPingSound(PingType.MEDKIT, "Menu.Timer", "Christmas.GiftPickup")

PingSystem.SetOffscreenIndicatorRadius(1.0)
PingSystem.SetOffscreenIndicatorVerticalMargin(0.75)

List of all available ping types: https://gist.github.com/samisalreadytaken/01d77d0299456dcfc155f0125a082f1f

Developer

Custom ping icons can be made by replacing the "ping_system/icon_item.vtf" file(s) (required VTF flags: Clamp S, Clamp T, No mipmap). All edge pixels on these images need to be fully transparent.

Do not copy, modify or redistribute the VMT and script files! You only need to supply VTF files to overwrite the default icons. You may also provide "ems/ping_system_settings.txt" for default settings and overwrite the ping sounds.

Pings can be listened for with the script event "player_ping{ CBasePlayer player, Vector origin, CBaseEntity target }".

Exposed script functions:


// Remove all pings of the player
PingSystem.RemovePings( int entindex )

// Ping the entity by the player
PingSystem.PingEntity( CBasePlayer player, CBaseEntity entity, Vector pingPosition )

// Force a trace ping by the player
PingSystem.PingTrace( CBasePlayer player )

[hr] github.com/samisalreadytaken

Highlights

From source data

Footprint

Rated a light load on a server.

Last update

Its author last shipped an update 3 mo ago.

Contextual Ping System on Nxeon

From our catalogue
One-click install
Supported on Nxeon Left 4 Dead 2 servers. We download it from Steam Workshop, place it, and restart the server.
Server load
light
Latest build
2026-08-05, released 2026-08-05

Game versions by loader

LoaderGame versionsNewest
Workshop

From 1 recorded build of Contextual Ping System.

What kind of mod it is

From the catalog
Listed on Steam Workshop as “QoL”

Quality of life & UI

Small conveniences, tweaks and interface improvements players notice straight away.

Compatibility

Game
Left 4 Dead 2

Verified at the source

  • ✓Steam WorkshopOfficial listing, checked 2026-11-01Open ↗
  • ✓AuthorSam, as published on Steam Workshop
  • ✓LicenseNot published by the sourceFree

Contextual Ping System, answered

Generated from the mod’s own source data.

Is it free?

Yes. Contextual Ping System is free to download from Steam Workshop.

How do I add it to my Nxeon server?

Use “Add to a server” on this page, or open NxLabs from your dashboard. We install it, restart your server and switch it on.

NxLabs

Run Contextual Ping System on a Left 4 Dead 2 server.

Free to download from Steam Workshop.