Left 4 Dead 2

Left 4 Dead 2

2,854 ratings
Contextual Ping System
13
3
11
9
2
2
3
2
2
   
Award
Favorite
Favorited
Unfavorite
Game Content: Scripts, UI
File Size
Posted
Updated
1.225 MB
27 Oct, 2021 @ 12:45pm
29 Sep @ 10:00am
44 Change Notes ( view )

Subscribe to download
Contextual Ping System

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 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.

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] ) 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 weapon_ammo 15

These commands are partially matched. For instance, all commands below are identical
!ping_system d weapon_ammo 15 !ping_system dur weapon_ammo 15 !ping_system durat weapon_ammo 15 !ping_system duration weapon_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")

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 )



github.com/samisalreadytaken
Popular Discussions View All (3)
73
13 Jun @ 3:46pm
PINNED: Feedback & Suggestions
Sam
15
1 Oct, 2023 @ 10:08am
Suggestion
Supreme Leader
0
12 Sep @ 10:13am
PINNED: Streams, videos, servers using this addon
Sam
239 Comments
Keith 24 Sep @ 9:23am 
Okay
Sam  [author] 24 Sep @ 9:00am 
@Keith, no
Keith 23 Sep @ 6:44am 
can other player see the ping if they didnt subcribes this mod?
zuaL 18 Sep @ 8:17pm 
Really nice update 10/10
Sam  [author] 16 Sep @ 11:38am 
@Dusk Holloway , Putting the fact that the source code is available on github aside, you could've made that suggestion to me so that everyone could have that option. You wouldn't want to use old versions.

I added the option to set ping sounds, check it out.
Dusk Holloway 14 Sep @ 5:04pm 
You encrypted it.
Well that sucks I had it set so the sound for the pings were different.
At least I've got a backup.
Sam  [author] 7 Sep @ 1:17pm 
@Player , Possible, sure, but that doesn't sound useful. It's hard to miss the distinct visual and audio effects of fire, spit and explosions
Sam  [author] 7 Sep @ 1:14pm 
@FBI , This addon does not override any default files, so if the game tells you that an addon conflicts with this one, it means they are overriding ping system files, most likely the icons.

For any artificial functional conflicts, you'll need to ask the creators of other addons.
CaptPatrick01 28 Aug @ 12:07am 
@FBI Some of them overwrite internal names of the survivors and this mod is case-sensitive. (The ping system checks for TeenGirl but beacuse the talker changes it to Teengirl it doesn't work)
FBI 26 Aug @ 10:43pm 
What are the conflicts with talker addons?