Spray Tracer by Nican
Re-released and updated with permission by Lebson506th
Description:
This is a handy plugin for server admins to manipulate player sprays in a couple different ways.
1) Trace a player's spray on any surface
- The plugin marks which spray is being looked at by a red glow and then displays a menu to deal out punishments.
2) Remove a player's spray from any surface
[Not available in No Menu version] - The plugin removes the spray that is being looked at and displays a menu to deal out punishments
3) Spray any player's spray logo on command
[Not available in No Menu version]- Sprays the selected user's spray where the admin is looking.
The punishments including a text warning, a warning and a slap, a warning and burning the player, a warning and slaying the player, kick, temporary ban, or permanent ban.
Versions
1) Full Version
- Contains all features all in one plugin.
2) No Menu Version
- Uses the hint/HUD automatic display spray tracing rather than a menu
- No punishments
- No admin commands
3) Basic Version
- Menu only
- No hint/HUD automatic display
- All admin commands
- Only warn/kick/ban/p. ban punishments
- Stripped away many of the CVars to make it really simple to use
CVars (Full Version)
Code:
sm_spray_dista (default: 50.0) - maximum distance the plugin will trace the spray
sm_spray_refresh (default: 1.0) - How often sprays will be traced to show on HUD - 0.0 to disable feature
sm_spray_bantime (default: 60) - How long the temporary ban is for - 0 to disable temporary banning
sm_spray_burntime (default: 10) - How long the burn punishment is for. 0 to disable.
sm_spray_slapdamage (default: 5) - How much damage the slap punishment is for. 0 to disable.
sm_spray_drugtime (default: 0) - set the time a sprayer is drugged as a punishment. 0 to disable.
sm_spray_adminonly (default: 0) - Changes showing the trace messages on HUD. 0 - Only admin can trace sprays 1 - All players can trace all sprays 2 - All players can trace all non-admin sprays.
sm_spray_fullhud (default: 0) - Toggles showing sprayer's name and Steam ID(1) or just sprayer's name(0) on the HUD to non-admins
sm_spray_fullhudadmin (default: 1) - Toggles showing sprayer's name and Steam ID(1) or just sprayer's name(0) on the HUD to admins
sm_spray_enableslay (default: 0) - Enables (1) or disables (0) the use of Slay as a punishment.
sm_spray_enablepban (default: 1) - Enables (1) or disables (0) the use of a Permanent Ban as a punishment.
sm_spray_enablekick (default: 1) - Enables (1) or disables (0) the use of Kick as a punishment.
sm_spray_enablebeacon (default: 0) - Enables putting a beacon on the sprayer as a punishment.
sm_spray_enablefreeze (default: 0) - Enables the use of Freeze as a punishment.
sm_spray_enablefreezebomb (default: 0) - Enables the use of Freeze Bomb as a punishment.
sm_spray_enablefirebomb (default: 0) - Enables the use of Fire Bomb as a punishment.
sm_spray_enabletimebomb (default: 0) - Enables the use of Time Bomb as a punishment.
sm_spray_restrict (default: 0) - Enables (1) or disables (0) restricting admins with the "ban" flag's punishments. (1 = warn only, 0 = all)
sm_spray_autoremove (default: 0) - Enables automatically removing sprays when a punishment is dealt.
sm_spray_useimmunity (default: 1) - Enables or disables using admin immunity to determine if one admin can punish another.
sm_spray_global (default: 1) - Enables or disables global spray tracking. If this is on, sprays can still be tracked when a player leaves the server.
sm_spray_usehud (default: 1) - Enables or disables using the HUD for spray tracking. Works on supported games. If this is off, hint will be used.
sm_spray_hudtime (default: 1.0) - How long the HUD messages are displayed.
CVars (No Menu Version)
Code:
sm_spraynomenu_dista (default: 50.0) - maximum distance the plugin will trace the spray
sm_spraynomenu_refresh (default: 1.0) - How often sprays will be traced to show on HUD - 0.0 to disable feature
sm_spraynomenu_adminonly (default: 0) - Changes showing the trace messages on HUD. 0 - Only admin can trace sprays 1 - All players can trace all sprays 2 - All players can trace all non-admin sprays.
sm_spraynomenu_fullhud (default: 0) - Toggles showing sprayer's name and Steam ID(1) or just sprayer's name(0) on the HUD to non-admins
sm_spraynomenu_fullhudadmin (default: 1) - Toggles showing sprayer's name and Steam ID(1) or just sprayer's name(0) on the HUD to admins
sm_spraynomenu_global (default: 1) - Enables or disables global spray tracking. If this is on, sprays can still be tracked when a player leaves the server.
sm_spraynomenu_usehud (default: 1) - Enables or disables using the HUD for spray tracking. Works on supported games. If this is off, hint will be used.
sm_spraynomenu_hudtime (default: 1.0) - How long the HUD messages are displayed.
CVars (Basic Version)
Code:
sm_spraybasic_distance (default: 50.0) - maximum distance the plugin will trace the spray
sm_spraybasic_bantime (default: 60) - How long the temporary ban is for - 0 to disable temporary banning
sm_spraybasic_enablepban (default: 1) - Enables (1) or disables (0) the use of a Permanent Ban as a punishment.
sm_spraybasic_autoremove (default: 0) - Enables automatically removing sprays when a punishment is dealt.
sm_spraybasic_useimmunity (default: 1) - Enables or disables using admin immunity to determine if one admin can punish another.
sm_spraybasic_global (default: 1) - Enables or disables global spray tracking. If this is on, sprays can still be tracked when a player leaves the server.
Commands [Not available in No Menu version]
- sm_spraytrace - Traces the spray in front of you and displays the punishment menu.
- sm_removespray - Removes the spray in front of you and displays the punishment menu
- sm_adminspray "name" - Sprays the player's spray in front of you
- "Trace Spray", "Remove Spray", and "Admin Spray" are also added on to the Server Commands admin menu.
Installation Instructions- Copy spraytrace*.smx to addons/sourcemod/plugins
- Copy spraytrace*.phrases.txt to addons/sourcemod/translations
- Using RCON, do "sm plugins load spraytrace*"
- Using RCON, do "sm plugins reload adminmenu"
* File names will differ depending on which version you use.
Special thanks to
- steambob for helping Nican with something
- Nican for making the plugin to begin with
- Cpt.Moore for his code to create the punishment menu
- berni for his code for the admin spray and spray remove
- FredJed223 for suggesting the admin only HUD display
- Procyon and DJ Tsunami for reporting the bug crippling the SourceBans and MySQL bans integration
- DontWannaName for suggesting the different HUD information for admins and non-admins, and for letting me know that the HUD works with L4D.
- Jérémie for French translations and fixing a bug in the translation file.
- zerak for suggesting new punishments
- Atreus for suggesting some additional CVARs, a fix in the translation file, and reporting the burn menu bug.
- ColdFire for finishing the french translations. (I added stuff after the original translation by Jérémie)
- PStar for translating the plugin into hungarian.
- tftpapst for translation the plugin into german.
- ericjuh for suggesting new punishments.
- Ommand for pointing out that sm_spray_restrict did not work.
- MaximReapage for suggesting immunity between admins and fixing a spelling mistake.
- the0 for updating the French translations after version 5.5.
- KhyrOO for updating the Hungarian translations after version 5.5.
- OziOn for translatiing the plugin into danish.
- Jamster for testing my 5.8Betas and giving me pictures of the hint and HUD in TF2.
- Roachy for suggesting the HUD time display changing CVAR and giving me the hint picture for DoD:S.
- baklanoid for translating the plugin into Russian.
- FrozenHaxor for translating the plugin into Polish.
- MaKTaiL for translating the plugin into Brazilian Portuguese.
- jack_wade for translating the plugin into Spanish.
- ltgenkd for letting me know that the plugin works with Insurgency and the latest 1.3.0 snapshot at the time (9/5/2009)
- R3M* for letting me know that the plugin works with Insurgency with the latest 1.2.3 release, so the 1.3 snapshot is not needed (9/8/2009)
- Vojtoun for reporting on my misuse of translations and testing my fix.
- GoD-Tony for writing out the fix for the translation issue.
- Jstn7477 for pointing out a missing translation I forgot.
- lemoine0461 for pointing out a couple errors in the Basic version.
Current Languages- English
- French
- Hungarian
- German
- Danish
- Russian
- Polish
- Brazilian Portuguese
- Spanish
Screenshots
Integration with the admin menu
Traced Spray with the punishment menu and glow effect showing
Hint message in DoD:S showing traced spray
Hint message in TF2 showing traced spray
HUD message in TF2 showing traced spray
(HUD only works on TF2, HL2MP, Left4Dead, SourceForts, and Obsidian Conflict)
ToDo- DONEWait for Insurgency to support TempEnts.
- Get it translated into different languages. (Feel free to post translations )
Change log
Code:
6/12/2011 - v5.8b (Basic Version Only)
- Fixed an error due to a malformed translation on kick.
- Fixed punishments not working because of screwed up logic.
- Fixed Admins getting a second chance to punish other admins that are supposed to be immune.
5/17/2011 - v5.8b (No-Menu Version Only)
- Re-added the sm_spraynomenu_adminonly, sm_spraynomenu_fullhud, and sm_spraynomenu_fullhudadmin cvars
5/1/2011 - v5.8a
- Fixed translations acting weirdly
- Refactored the code
- Added additional protection against various errors
- Removed unused translations
- Added No Menu and Basic versions of the plugin
4/12/2009 - v5.8
- Minor code and comment changes.
- Removed HUD support for DoD:S after testing revealed that it is not supported.
- Added common language translations to fix a rare translation not found error.
- Added CVAR "sm_spray_global" to enable/disable global spray tracing. If this is on, sprays can still be tracked when a player leaves the server.
- Added CVAR "sm_spray_usehud" to enable/disable using the HUD to trace sprays. If this is disabled, or the game is not supported, the hint text will be used instead.
- Added CVAR "sm_spray_hudtime" to change how long the HUD messages are displayed.
- Added variable clearing to prevent the "ghost" effect on map change.
- Added L4D HUD support.
2/27/2009 - v5.7
- Added new setting for sm_spray_adminonly. If this is set to 2, players can trace other player's sprays on the HUD, but cannot trace admin's sprays.
- Fixed red glow precaching twice.
- Changed the code to clean it up a little bit.
- Changed code to use MaxClients that was introduced in 1.1.
11/29/2008 - v5.6a
- Reverted my "fix" for L4D. HUD still works on L4D though.
- Changed banning to ban via the admin who is punishing rather than by the server. (This creates more accurate logs and has the correct user for bans via SourceBnas)
11/27/2008 - v5.6
- Added HUD support for Left4Dead.
- Fixed a small bug where part of the spray location wasn't being reset on map change.
- Fixed spray locations not being reset after a spray was removed.
11/10/2008 - v5.5a
- Fixed a very small bug that caused error messages in rare situations.
10/26/2008 - v5.5
- Changed version CVAR to not be added to the auto-created config.
- Changed SourceBans method to not use the include file, meaning the forum can now compile this plugin again.
- Added the ability for admins with greater immunity to not be punished by lesser admins.
- Added sm_spray_useimmunity to control this new behavior.
- Moved around some code to reduce redundancy.
***For this version, the .cfg file needs to be deleted and recreated and the translation file also needs to be updated. (Need to update the translations as well)***
9/8/2008 - v5.4a
- Fixed sm_spray_restrict not working.
- Removed "sm_spray_enableburn". Setting sm_spray_burntime to 0 will disable this punishment now.
9/8/2008 - v5.4
- Changed plugin to auto generate a config file in cfg/sourcemod
- Added the option to automatically remove a spray when a punishment is dealt using sm_spray_autoremove
- Added freeze, firebomb, freezebomb, timebomb, beacon, and drug as punishments.
- Added CVARs to control these new punishments.
- Removed "sm_spray_enableslap". Setting sm_spray_slapdamage to 0 will disable this punishment now.
- Changed translations to reflect the new punishments.
8/29/2008 - v5.3e
- Added sm_spray_restrict to restrict which commands an admin can use. (If admin has the "ban" flag, they can use all commands. Otherwise it is just the "warn")
8/21/2008 - v5.3d
- Fixed burn not working (update translation and .smx)
8/21/2008 - v5.3c
- Fixed a bug that would cause the punishment menu to not work when burn was enabled.
8/21/2008 - v5.3b
- Fixed two redundant translations.
- Added CVARs to enable or disable permanent bans and kicks.
- Added a CVAR that toggles showing sprayer's name and Steam ID or just sprayer's name on the HUD to admins
8/20/2008 - v5.3a
- Fixed a bug where the client = 0.
- Fixed a bug where i forgot to change something for the new logging.
- Changed some translations to show admin name for logging purposes.
8/19/2008 - v5.3
- Added a CVAR to enable or disable the slap punishment.
- Added burn and slay to the list of punishments and added CVARs to enable or disable them.
- Added a CVAR to change how long the sprayer is burnt for.
- Added a CVAR to change how much damage the slap causes.
- Updated logging to log the admin's name.
- Updated translations for new features.
8/19/2008 - v5.2b
- Added HUD support for Obsidian Conflict
8/10/2008 - v5.2a
- Fixed a rare bug where the client was not connected.
8/9/2008 - v5.2
- Added sm_spray_fullhud cvar. Toggles showing sprayer's name and Steam ID(1) or just sprayer's name(0) on the HUD to non-admins
- Change SourceBans integration to use it's Native function. Thanks to the suggestion from Pyrocon.
- Fixed a bug where client wasn't being kicked after being banned.
- Fixed a bug where the sm_spray_bantime cvar wasn't doing anything.
- Because of the better SourceBans integration, the web and forum compilers can no longer be used.
8/8/2008 - v5.1c
- Fixed bug with MySQL Bans and SourceBans thanks to Procyon and DJ Tsunami (Really this time).
- Fixed bug where the client would not be banned correctly because they had already been kicked.
8/8/2008 - v5.1b
- Fixed bug with MySQL Bans and SourceBans thanks to Procyon and DJ Tsunami
8/7/2008 - v5.1a
- Fixed a bug when the client was not connected
- Made the menu of names re-display after an admin spray has been performed.
- Added sm_spray_adminonly that toggles showing the trace messages to admins only (1) or all players (0).
8/7/2008 - v5.1
- Added sm_adminspray command. Sprays any player's spray in front of you.
- Modified translations a bit, adding new ones for the new command.
- Added new command to the menu including a player list.
8/7/2008 - v5.0
- Re-added glow effect to show which spray is being traced.
- Added "Couldn't Kick" translation for when a player leaves before they can be kicked.
- Removed unused translations.
- Fixed some potential bugs when the sprayer leaves before his punishment can be dealt.
- Changed logging to show amount of a time a player is banned for.
- Added "sm_removespray" command that removes the spray in front of you. Thanks to berni for the actual remove spray code.
- Added translations for the new command.
- Added new command to the admin menu.
- Changed the admin menu to show to admins that have the Ban flag instead of the slay flag. (Console commands were already set to ban)
8/3/2008 - v4.9a
- Changed logging to show which kind of ban it is.
8/3/2008 - v4.9
- Reorganized things in to a more efficient way of managing the menu.
- Added sm_spray_bantime that allows admins to change the length of the temporary ban. 0 disables temporary banning.
- Changed some translations that were supposed to show the player's name but did. They now show the player's name and their Steam ID.
- Added MySQL Bans integration
- Added logging information that will hopefully help to fix the SourceBans integration.
8/2/2008 - v4.8
- Added [Spray Trace] tag to displayed messages to show where the messages are coming from.
- Re-did translations in a better way using a lot less variables.
8/1/2008 - v4.7
- Fixed SourceBans support. (failed)
- Added header comment and changelog to source file.
7/31/2008 - v4.6
- Fixed missing translation for ban reason.
- Fixed error in translation usage for "Couldn't find player: whatever".
- (Hopefully) Implemented SourceBans support. (failed)
7/30/2008 - v4.5
- Fixed client-side crashing issue by removing beam effects.
- Removed all variables and functions dependant on beam effects including Locate Sprays which caused major crashes.
- Added more missing translations.
7/30/2008 - v4.3
- Added missing translations.
- Attempted to fix client-side errors (failed).
7/30/2008 - v4.2
- Added translations for many phrases.
7/21/2008 - v4.1 - First fix by Lebson506th, all previous by Nican
- Combined Nican's v3.1 Spray Tracer with Cpt.Moore's modifcations.
3/8/2008 - v3.1 by Nican
- Added HUD showing.
- Added to Admin Menu.
- Fixed not tracking on floor.
11/9/2007 - v2.1 by Nican
- Fixed error of the tracer only tracing the player it self.
8/29/2007 - v1.1 by Nican
- Removed need for Hacks ext.
- Fixed player view tracing.
8/29/2007 - v1.0 by Nican