Contextual Ping System

If you liked this item, please rate it up on Steam Workshop page.

Author: Sam

Last revision: 16 Mar, 2022 at 17:00 UTC

File size: 707.58 KB

On Steam Workshop

Description:

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 issued
– Manual button: bind a key to ‘+alt2’ to ping anywhere anytime ( bind T +alt2 )

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

It does not work on official Valve servers.

Settings

To change settings, create a ‘ping_system_settings.txt‘ file in ‘/steamapps/common/Left 4 Dead 2/left4dead2/ems/‘ directory on server host, and place your commands in it.

Do not put any text other than the following commands in this file.

Available commands:

PingSystem.DisableAutoPing( option ) PingSystem.SetMaxPingCount( count ) PingSystem.SetPingDuration( pingtype, duration ) PingSystem.SetPingColour( pingtype, r, g, b ) PingSystem.SetScaleMultiplier( value ) // not recommended, will scale all icons for all players

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 PingSystem.DisableAutoPing( 2 ) // set every ping duration to 3.5 seconds PingSystem.SetPingDuration( -1, 3.5 ) // set enemy warning ping duration to 6 seconds PingSystem.SetPingDuration( PingType.WARNING, 6 ) // set first aid kit ping duration to 30 seconds PingSystem.SetPingDuration( PingType.MEDKIT, 30 ) // only 2 pings per player PingSystem.SetMaxPingCount( 2 )

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

Developer

Custom ping icons can be made by replacing the corresponding "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.

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


github.com/samisalreadytaken