Swear Filter
Posted: 2010 Sep 10 13:01
Code: Select all
/* AMX Mod script. * * (c) 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++] = 'Keiksmazodis' found = true continue } ++i } if ( found ){ new cmd[32] read_argv(0,cmd,31) engclient_cmd(id,cmd,szSaid) } return PLUGIN_CONTINUE }
nes galima dabar daryti tik po viena raide
o reikia kad butu zodis kaip parasiau tik sitas kodas neveikia...
EDIT :
jai dar galite padaryte kad pvz swearwords.ini irasyta
pvz : who
Ir jei kas nors parasytu whore
tai kad pakeistu visa zodi o ne who
aciu

Tipo visa keiksmazodi pakeistu
is poros raidziu is swearwords
Tikiuosi supratot,
Aciu