Thread: Protect Names
View Single Post
Plugin Info:     Modification:          Category:          Approver:   HamletEagle (36)
Exolent[jNr]
Veteran Member
Join Date: Feb 2007
Location: Tennessee
Old 07-03-2012 , 12:18   Protect Names
Reply With Quote #1

Protect Names
v0.0.2, by Exolent



Description:

This plugin allows you to protect player names so that other players cannot fake that name.

Don't get this idea confused with Restrict Names.
That plugin blocks names from being used at all, whereas this one protects names to specified players.

This already exists in the default AMXX, but it requires you to set passwords for players and doesn't allow them to be matched to a SteamID among other options that this plugin offers.
This plugin does not deal with passwords (if you want passwords, just use AMXX's method).

It allows you to restrict a name based on one of the following:
  • SteamID
  • IP
  • admin flags

For matching a name to be restricted, you can match it by:
  • equaling the name
  • containing the name (like a tag for example)
  • or a regular expression


Requirements:
  • AMX Mod X 1.8.0 or higher
  • RegEx module
  • Fakemeta module


Cvars:
  • protect_name_punish 0/1
    - 0 = Rename player to replacement name from file
    - 1 = Execute command from protect_name_command cvar (kick or ban).
    - Default: 0
  • protect_name_command "command"
    - Command executed on server when player is punished (when protect_name_punish is 1)
    - Allows formatting with variables:
    • %name% - The name that player tried using
    • %steamid% - The SteamID of the player
    • %userid% - The userid of the player
    • %ip% - The IP of the player
    • %reason% - The reason from protect_name_reason cvar
    - To use double quotes in this cvar, use \' and they will be replaced to "
    - Default: "kick %userid% \'%reason%\'"
  • protect_name_reason "reason"
    - Reason printed to player in chat if no punishment is taken.
    - Allows formatting with variables:
    • %name% - The name that player tried using
    • %steamid% - The SteamID of the player
    • %userid% - The userid of the player
    • %ip% - The IP of the player
    - Default: "%name% is protected and you are not allowed to use it!"


File Setup:

File is located at addons/amxmodx/configs/protect_names.ini

Format of the file is as follows:
Code:
// Lines starting with // or ; are comments and are ignored in the file
; This is a comment, too!
// 
// File format:
// "match type" "string to match" "restrict type" "restricted string" "replacement"
// 
// Available match types:
// equal
// equali
// contain
// containi
// regex/flags (eg. regex/i)
// 
// When using "regex" match type, the pattern goes in the match string.
// 
// Available restrict types:
// steam, steamid
// ip, address, ipaddress
// flag, flags
// 
// Remember, match types and restrict types are case insensitive, so RegEx and SteamID will also work.
// 
"containi" "Exolent" "steamid" "STEAM_0:1:23456" "Imposter alert!"
"regex/i" "j(uke)?Nr(un)?" "flags" "m" "Fake member"

Changelog:
  • 0.0.2
    - Fixed backwards IP/SteamID restriction
    - Updated name change for new access flags detection
  • 0.0.1
    - Initial release
Attached Files
File Type: sma Get Plugin or Get Source (protect_names.sma - 1976 views - 11.7 KB)
__________________
No private work or selling mods.
Quote:
Originally Posted by xPaw View Post
I love you exolent!

Last edited by Exolent[jNr]; 07-09-2012 at 10:30.
Exolent[jNr] is offline