View Single Post
Author Message
Lebson506th
Veteran Member
Join Date: Jul 2008
Old 08-06-2008 , 10:23   Spray Tracer v5.8b (Full v5.8a) updated 6/12/2011
Reply With Quote #1

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
  1. Copy spraytrace*.smx to addons/sourcemod/plugins
  2. Copy spraytrace*.phrases.txt to addons/sourcemod/translations
  3. Using RCON, do "sm plugins load spraytrace*"
  4. 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
  • Initial release.
Attached Files
File Type: sp Get Plugin or Get Source (spraytrace.sp - 15703 views - 41.1 KB)
File Type: zip Spray Trace - Full Version.zip (16.7 KB, 17112 views)
File Type: sp Get Plugin or Get Source (spraytracenomenu.sp - 5140 views - 9.3 KB)
File Type: zip Spray Tracer - No Menu Version.zip (3.5 KB, 4311 views)
File Type: sp Get Plugin or Get Source (spraytracebasic.sp - 4949 views - 19.6 KB)
File Type: zip Spray Trace - Basic Version.zip (9.7 KB, 4119 views)

Last edited by Lebson506th; 06-12-2011 at 23:19. Reason: Updated to 5.8a; Updated Basic to v5.8b
Lebson506th is offline