Uninamer (Unicode name changer)
7 Attachment(s)
This plugin checks any connected player for using character values above un_characterthreshold in their names. Everything above a un_characterthreshold of 160 is country-specific/unicode. Brackets and and the standard chars from american keyboards are below value 160 and will therefor be allowed for naming by default.
Install: Copy the uninamer.smx plugin to your sourcemod/plugins folder and the uninamer.phrases.txt to sourcemod/translations. Todo: maybe I could add a ban option instead of just renaming/kicking. If somebody would be interested in additional features, post here. CVars: un_enable 1/0: enable/disable uninamer (default 1) un_punishmode 1/0: 0: rename player, 1: kick player (default 0) un_defaultname <name>: name to use for un_punishmode=0 (default "bad name") un_characterthreshold <int>: character value of last character which will be allowed (default 160) un_maxbadchars <int>: number of bad/unicode character that are allowed for a single name (default 2) un_mingoodcharsequence<int>: number of good/non-unicode character that need to be in direct sequence (default 0). 0 disables this feature. keep in mind that a players with a name shorter than this constant will also fail the test and will be punished. (may be changed/configurable if needed by anybody) Changelog: 1.2: added un_mingoodcharsequence 1.1: added a kick-option instead of renaming 1.0.2: implemented full utf-8 support 1.0.1: minor changes on debug output; fixed bug on round-end check 1.0: added cvars un_characterthreshold and un_maxbadchars; added round end checks; added check for name termination char 0.1: Initial release |
Re: Uninamer (Unicode name changer)
PrintToConsole(0, "") will error won't it?
Or does it just print to server console? You should look at PrintToServer() |
Re: Uninamer (Unicode name changer)
There's no point in looping the full length of the string.
The last character of the name will be followed by a null terminator which has the integer value 0 or char value '\0' So you can loop Code:
while (num = nameBuf[i++]) |
Re: Uninamer (Unicode name changer)
God idea for a plugin :D i can't tell you how i hate it if there are players with special chars in the name, it's looking like shit in the webinterface of my TF2 stats plugin because it can't display the special chars on the webpage
|
Re: Uninamer (Unicode name changer)
Quote:
|
Re: Uninamer (Unicode name changer)
updated
|
Re: Uninamer (Unicode name changer)
Quote:
|
Re: Uninamer (Unicode name changer)
A Kick function had nice
Greetz JaY |
Re: Uninamer (Unicode name changer)
you are comparing individual characters in an utf-8 encoded string and not real unicode values.
I hacked something together to convert it properly, but it's untested. PHP Code:
|
Re: Uninamer (Unicode name changer)
Quote:
this plugin was a quick hack and deserves closer attention. A kick-feature is a reasonable option for this plugin. and revising the unicode name handling will also be of interest. unfortunately I was a bit short on time the last days ... (changed occupation, moved to a new place, and I am still fighting nature - and my 10 weeks old dog - to get the damned garden to an eligible condition) |
All times are GMT -4. The time now is 20:49. |
Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.