gdy tt przeklnie to wtedy będzie maskowało przekleństwa a gdy ct będzie przeklinać to nic nie będzie się działo ;]
/* AMX Mod script.
*
* © Copyright 2004, SuicideDog
* This file is provided as is (no warranties).
* Code gleemed from old RAV plugin.
*
* Simple Swear filter. Replaces badwords with *'s
*
* Uses swearwords.ini file (/$customdir/swear/swearwords.ini)
* It can use the same file as RS's advanced swear filter.
*
* I made this because it's easier to use. No config and one ini file
*
*/
#include <amxmodx>
#include <amxmisc>
// max number of words in word list
#define MAX_WORDS 192
new g_swearsNames[MAX_WORDS][32]
new g_swearsNum
public plugin_init()
{
register_plugin("Swear Filter","1.0a","SuicideDog")
register_clcmd("say","swearcheck")
register_clcmd("say_team","swearcheck")
readList()
}
readList()
{
// file to read words from
new szCustomDir[64]
new filename[64]
get_customdir( szCustomDir, 63 )
format(filename, 63, "%s/swear/swearwords.ini", szCustomDir )
if(!file_exists(filename) ){
log_message("Swear Filter: file %s not found", filename)
return
}
new iLen
while( g_swearsNum < MAX_WORDS && read_file(filename, g_swearsNum ,g_swearsNames[g_swearsNum][1],30,iLen) )
{
if( g_swearsNames[g_swearsNum][0] == ';') continue
g_swearsNames[g_swearsNum][0] = iLen
++g_swearsNum
}
log_message("Swear Filter: loaded %d words",g_swearsNum )
}
public swearcheck(id)
{
new szSaid[192]
read_args(szSaid,191)
new bool:found = false
new pos, i = 0
while ( i < g_swearsNum )
{
if ( (pos = containi(szSaid,g_swearsNames[i][1])) != -1 ){
new len = g_swearsNames[i][0]
while(len--)
szSaid[pos++] = '*'
found = true
continue
}
++i
}
if ( found ){
new cmd[32]
read_argv(0,cmd,31)
engclient_cmd(id,cmd,szSaid)
}
return PLUGIN_CONTINUE
}