/// EarlyDeveloped's Basic Grammar and Spelling Correction // [4/1/2009] Version 1.0.0 BETA - Counter-Strike: Source // // **************************************************************** // Requirements: // // **************************************************************** // // • ESS 1.5+ (EventScripts Shell aka EventScripts Classic and ES 1.x) // http://mattie.info/downloads/mattie_eventscripts.zip // // • EST v.420+ (EventScripts Tools aka ES_Tools) // http://forums.mattie.info/cs/forums/download.php?id=889 // // **************************************************************** // Version log: // // **************************************************************** // // [5/1/09] First revision! // - Fixed typos // - Minor bugs // - Added a public variable // // // [24/3/09] First public version! // + Features: // • Adding a period/question mark at the end of each sentence // • Anti spam // • Auto capitilizing // • Expand abbreviations // • Name filter // • Spelling correction // • Text filter // // **************************************************************** // Special thanks to: // // **************************************************************** // // • Infamous // • Pandora // • Mattie's EventScripts forums block bgsc_configurations { // *** TEXT FILTER *** // // The text filter replaces every word you define with [CENSORED] // (every word should be separated by a comma) es_xset bgsc_chatfilter "arse,ass,asshole,bastard,bitch,cunt,damn,fuck,motherfucker,nigger,nigga,shit,wanker,whore" // *** NAME FILTER *** // // The name filter kicks a player when they join/change name, // if their name contains any of the following words es_xset bgsc_namefilter "nigger,nigga" // *** ABBREVIATIONS *** // // Whether to expand abbreviations or not. // 0 = Don't expand abbreviations // 1 = Expand abbreviations es_xset bgsc_abbreviations "1" // *** ANTI SPAM *** // // The time a user has to wait between // typing messages. es_xset bgsc_antispam "0.8" } block load { es_xdoblock bgsc/bgsc_configurations es_xdoblock bgsc/bgsc_init es_xkeygroupcreate bgsc_hook foreach player bgsc_allplayers #all "es_keycreate bgsc_hook server_var(bgsc_allplayers);es_keysetvalue bgsc_hook server_var(bgsc_allplayers) bgsc_antispam 0;es_keysetvalue bgsc_hook server_var(bgsc_allplayers) bgsc_register 1" est_muteplayer #a es_xmsg #multi #greenBGSC # #defaultThePwned's #greenBasic Grammar and Spelling Correction #defaultmod loaded! es_xset bgsc_version 1.0.0a es_xmakepublic bgsc_version } block unload { es_xkeygroupdelete bgsc_hook est_unmuteplayer #a } block bgsc_init { es_xset bgsc_check_var 0 es_xset bgsc_command_exists 0 es_xset bgsc_get_key 0 es_xset bgsc_get_key2 0 es_xset bgsc_key_exists 0 es_xset bgsc_name 0 es_xset bgsc_text_length 0 es_xset bgsc_text_length2 0 es_xset bgsc_text_length3 0 es_xset bgsc_text_length4 0 es_xset bgsc_text_length5 0 es_xset bgsc_text_length6 0 es_xset bgsc_text_length7 0 es_xset bgsc_text_rest 0 es_xset bgsc_text_rest2 0 es_xset bgsc_text_all 0 es_xset bgsc_token 0 es_xset bgsc_token2 0 es_xset bgsc_token3 0 es_xset bgsc_token4 0 es_xset bgsc_token5 0 es_xset bgsc_token6 0 es_xset bgsc_tokens 0 es_xset bgsc_tokens2 0 es_xset bgsc_tokens3 0 es_xset bgsc_tokens4 0 es_xset bgsc_verbs "are,can,could,does,do,did,have,is,r,shall,should,was,were,will,would,y" } block bgsc_replace { es_xstring bgsc_text replace " aint " " ain't " es_xstring bgsc_text replace " alot " " a lot " es_xstring bgsc_text replace " atleast " " at least " es_xstring bgsc_text replace " bai " " bye " es_xstring bgsc_text replace " boi " " boy " es_xstring bgsc_text replace " cant" " can't " es_xstring bgsc_text replace " da " " the " es_xstring bgsc_text replace " dat " " that " es_xstring bgsc_text replace " dont " " don't " es_xstring bgsc_text replace " dood " " dude " es_xstring bgsc_text replace " evar " " ever " es_xstring bgsc_text replace " gawd " " god " es_xstring bgsc_text replace " gimme " " give me " es_xstring bgsc_text replace " gonna " " going to " es_xstring bgsc_text replace " gotta " " got to " es_xstring bgsc_text replace " hes " " he's " es_xstring bgsc_text replace " hows " " how's " es_xstring bgsc_text replace " i " " I " es_xstring bgsc_text replace " im " " I'm " es_xstring bgsc_text replace " i'm " " I'm " es_xstring bgsc_text replace " ill " " I'll " es_xstring bgsc_text replace " i'll " " I'll " es_xstring bgsc_text replace " kewl " " cool " es_xstring bgsc_text replace " kno " " know " es_xstring bgsc_text replace " kool " " cool " es_xstring bgsc_text replace " itd " " it'd " es_xstring bgsc_text replace " liek " " like " es_xstring bgsc_text replace " luv " " love " es_xstring bgsc_text replace " nah " " no " es_xstring bgsc_text replace " neva " " never " es_xstring bgsc_text replace " nevah " " never " es_xstring bgsc_text replace " noe " " know " es_xstring bgsc_text replace " phail " " fail " es_xstring bgsc_text replace " rite " " right " es_xstring bgsc_text replace " shes " " she's " es_xstring bgsc_text replace " teh " " the " es_xstring bgsc_text replace " thats " " that's " es_xstring bgsc_text replace " theyll " " they'll " es_xstring bgsc_text replace " theyre " " they're " es_xstring bgsc_text replace " wassup " " what's up " es_xstring bgsc_text replace " wasup " " what's up " es_xstring bgsc_text replace " wanna " " want to " es_xstring bgsc_text replace " wat " " what " es_xstring bgsc_text replace " whats " " what's " es_xstring bgsc_text replace " wut " " what " es_xstring bgsc_text replace " yall " " you all " es_xstring bgsc_text replace " youll " " you'll " es_xstring bgsc_text replace " youd " " you'd " es_xstring bgsc_text replace " yea " " yeah " es_xstring bgsc_text replace " youre " " you're " es_xstring bgsc_text replace " a hour " " an hour " es_xstring bgsc_text replace " an user " " a user " es_xstring bgsc_text replace " he am " " he is " es_xstring bgsc_text replace " he are " " he is " es_xstring bgsc_text replace " I is " " I am " es_xstring bgsc_text replace " I does " " I do " es_xstring bgsc_text replace " I doesn't " " I don't " es_xstring bgsc_text replace " it am " " it is " es_xstring bgsc_text replace " it are " " it is " es_xstring bgsc_text replace " she am " " she is " es_xstring bgsc_text replace " she are " " she is " es_xstring bgsc_text replace " they am " " they are " es_xstring bgsc_text replace " they is " " they are " es_xstring bgsc_text replace " they does " " they do " es_xstring bgsc_text replace " they doesn't " " they don't " es_xstring bgsc_text replace " we am " " we are " es_xstring bgsc_text replace " we is " " we are " es_xstring bgsc_text replace " we does " " we do " es_xstring bgsc_text replace " we doesn't " " we don't " es_xstring bgsc_text replace " you am " " you are " es_xstring bgsc_text replace " you is " " you are " es_xstring bgsc_text replace " you does " " you do " es_xstring bgsc_text replace " you doesn't " " you don't " ifx true(bgsc_abbreviations) { es_xdoblock bgsc/bgsc_abbreviations } else do { es_xdoblock bgsc/bgsc_chatfilter } } block bgsc_abbreviations { es_xstring bgsc_text replace " a$$ " " ass " es_xstring bgsc_text replace " afk " " away from keyboard " es_xstring bgsc_text replace " any1 " " anyone " es_xstring bgsc_text replace " asap " " as soon as possible " es_xstring bgsc_text replace " atm " " at the moment " es_xstring bgsc_text replace " b " " be " es_xstring bgsc_text replace " b4 " " before " es_xstring bgsc_text replace " bbl " " be back later " es_xstring bgsc_text replace " bcos " " because " es_xstring bgsc_text replace " bcoz " " because " es_xstring bgsc_text replace " bcuz " " because " es_xstring bgsc_text replace " bk " " back " es_xstring bgsc_text replace " brb " " be right back " es_xstring bgsc_text replace " bro " " brother " es_xstring bgsc_text replace " btw " " by the way " es_xstring bgsc_text replace " cos " " because " es_xstring bgsc_text replace " coz " " because " es_xstring bgsc_text replace " css " " Counter-Strike: Source " es_xstring bgsc_text replace " cs:s " " Counter-Strike: Source " es_xstring bgsc_text replace " cu " " see you " es_xstring bgsc_text replace " cud " " could " es_xstring bgsc_text replace " cuz " " because " es_xstring bgsc_text replace " etc " " et cetera " es_xstring bgsc_text replace " faq " " frequently asked question " es_xstring bgsc_text replace " ffs " " for fuck sake " es_xstring bgsc_text replace " ftl " " for the lose " es_xstring bgsc_text replace " ftp " " file transfer protocol " es_xstring bgsc_text replace " ftw " " for the win " es_xstring bgsc_text replace " fu " " fuck you " es_xstring bgsc_text replace " fyi " " for your information " es_xstring bgsc_text replace " g2g " " got to go " es_xstring bgsc_text replace " gg " " good game " es_xstring bgsc_text replace " gj " " good job " es_xstring bgsc_text replace " gl " " good luck " es_xstring bgsc_text replace " glhf " " good luck have fun " es_xstring bgsc_text replace " gr8 " " great " es_xstring bgsc_text replace " grats " " congratulations " es_xstring bgsc_text replace " gratz " " congratulations " es_xstring bgsc_text replace " gtfo " " get the fuck out " es_xstring bgsc_text replace " gtg " " got to go " es_xstring bgsc_text replace " h8 " " hate " es_xstring bgsc_text replace " hf " " have fun " es_xstring bgsc_text replace " ic " " I see " es_xstring bgsc_text replace " idc " " I don't care " es_xstring bgsc_text replace " idk " " I don't know " es_xstring bgsc_text replace " ily " " I love you " es_xstring bgsc_text replace " imo " " in my opinion " es_xstring bgsc_text replace " jk " " just kidding " es_xstring bgsc_text replace " k " " okay " es_xstring bgsc_text replace " kk " " okay " es_xstring bgsc_text replace " irl " " in real life " es_xstring bgsc_text replace " l4d " " Left 4 Dead " es_xstring bgsc_text replace " l8 " " late " es_xstring bgsc_text replace " lil " " little " es_xstring bgsc_text replace " lol " " laughing out loud " es_xstring bgsc_text replace " lmao " " laughing my ass off " es_xstring bgsc_text replace " me2 " " me too " es_xstring bgsc_text replace " m8 " " mate " es_xstring bgsc_text replace " motd " " message of the day " es_xstring bgsc_text replace " msg " " message " es_xstring bgsc_text replace " n " " and " es_xstring bgsc_text replace " n1 " " nice one " es_xstring bgsc_text replace " n8 " " night " es_xstring bgsc_text replace " no1 " " no one " es_xstring bgsc_text replace " np " " no problem " es_xstring bgsc_text replace " ns " " nice shot " es_xstring bgsc_text replace " nt " " nice try " es_xstring bgsc_text replace " nuff " " enough " es_xstring bgsc_text replace " nvm " " nevermind " es_xstring bgsc_text replace " lol " " laughing out loud " es_xstring bgsc_text replace " omg " " oh my god " es_xstring bgsc_text replace " omw " " on my way " es_xstring bgsc_text replace " orly " " oh really " es_xstring bgsc_text replace " ot " " off topic " es_xstring bgsc_text replace " pic " " picture " es_xstring bgsc_text replace " pl0x " " please " es_xstring bgsc_text replace " pl8 " " plate " es_xstring bgsc_text replace " pls " " please " es_xstring bgsc_text replace " plz " " please " es_xstring bgsc_text replace " pm " " private message " es_xstring bgsc_text replace " ppl " " people " es_xstring bgsc_text replace " pro " " professional " es_xstring bgsc_text replace " r " " are " es_xstring bgsc_text replace " rl " " real life " es_xstring bgsc_text replace " rly " " really " es_xstring bgsc_text replace " rofl " " rolling on floor laughing " es_xstring bgsc_text replace " roflmao " " rolling on floor laughing my ass off " es_xstring bgsc_text replace " srsly " " seriously " es_xstring bgsc_text replace " sry " " sorry " es_xstring bgsc_text replace " stfu " " shut the fuck up " es_xstring bgsc_text replace " sup " " what's up " es_xstring bgsc_text replace " tc " " take care " es_xstring bgsc_text replace " tbh " " to be honest " es_xstring bgsc_text replace " tho " " though " es_xstring bgsc_text replace " thx " " thanks " es_xstring bgsc_text replace " ty " " thank you " es_xstring bgsc_text replace " tyvm " " thank you very much " es_xstring bgsc_text replace " u " " you " es_xstring bgsc_text replace " u2 " " you too " es_xstring bgsc_text replace " ur " " your " es_xstring bgsc_text replace " urs " " yours " es_xstring bgsc_text replace " uve " " you've " es_xstring bgsc_text replace " y " " why " es_xstring bgsc_text replace " yt " " you there " es_xstring bgsc_text replace " yw " " you're welcome " es_xstring bgsc_text replace " w/ " " with " es_xstring bgsc_text replace " w8 " " wait " es_xstring bgsc_text replace " wb " " welcome back " es_xstring bgsc_text replace " w/e " " whatever " es_xstring bgsc_text replace " w/out " " without " es_xstring bgsc_text replace " wtf " " what the fuck " es_xdoblock bgsc/bgsc_capitilize } block bgsc_capitilize { es_set bgsc_text_first server_var(bgsc_text) es_xstring bgsc_text_first section 0 1 forcecase bgsc_text_first upper es_xdoblock bgsc/bgsc_punctuation } block bgsc_punctuation { es_set bgsc_text_end server_var(bgsc_text) es_strlen bgsc_text_length server_var(bgsc_text) es_xcopy bgsc_text_length2 bgsc_text_length es_xmath bgsc_text_length2 - 1 es_string bgsc_text_end section server_var(bgsc_text_length2) server_var(bgsc_text_length) if (server_var(bgsc_text_end) != ?) do { if (server_var(bgsc_text_end) != !) do { if (server_var(bgsc_text_end) != .) do { es_token bgsc_tokens3 server_var(bgsc_text) 0 ifx parse("bgsc_tokens3 > 1") do { es_xset bgsc_token_number2 0 es_xset bgsc_position 0 es_token bgsc_token5 server_var(bgsc_text) 1 es_token bgsc_tokens server_var(bgsc_verbs) 0 , es_xdoblock bgsc/bgsc_questionmarks } else do { es_token bgsc_token5 server_var(bgsc_text) 1 if (server_var(bgsc_token5) in "what,when,where,who,why,how") do { es_xformatv bgsc_text "%1?" bgsc_text es_xset bgsc_text_end ? } if (server_var(bgsc_text_end) != ?) do { es_xformatv bgsc_text "%1." bgsc_text } es_xmath bgsc_text_length + 1 es_xdoblock bgsc/bgsc_createmessage } } else es_xdoblock bgsc/bgsc_createmessage } else es_xdoblock bgsc/bgsc_createmessage } else es_xdoblock bgsc/bgsc_createmessage } block bgsc_questionmarks { es_xmath bgsc_token_number2 + 1 ifx parse("bgsc_token_number2 <= bgsc_tokens") do { es_token bgsc_token server_var(bgsc_verbs) server_var(bgsc_token_number2) , if (server_var(bgsc_token) == server_var(bgsc_token5)) do { ifx false(bgsc_position) do { es_xformatv bgsc_text "%1?" bgsc_text es_xset bgsc_text_end ? } else do { es_token bgsc_token5 server_var(bgsc_text) 1 if (server_var(bgsc_token5) == what) do { es_xformatv bgsc_text "%1?" bgsc_text es_xset bgsc_text_end ? } if (server_var(bgsc_token5) == when) do { es_xformatv bgsc_text "%1?" bgsc_text es_xset bgsc_text_end ? } if (server_var(bgsc_token5) == where) do { es_xformatv bgsc_text "%1?" bgsc_text es_xset bgsc_text_end ? } if (server_var(bgsc_token5) == who) do { es_xformatv bgsc_text "%1?" bgsc_text es_xset bgsc_text_end ? } if (server_var(bgsc_token5) == why) do { es_xformatv bgsc_text "%1?" bgsc_text es_xset bgsc_text_end ? } if (server_var(bgsc_token5) == how) do { es_xformatv bgsc_text "%1?" bgsc_text es_xset bgsc_text_end ? } es_token bgsc_token5 server_var(bgsc_text) 2 } } es_xdoblock bgsc/bgsc_questionmarks } else do { ifx false(bgsc_position) do { es_xset bgsc_position 1 es_xset bgsc_token_number2 0 es_token bgsc_token5 server_var(bgsc_text) 2 es_xdoblock bgsc/bgsc_questionmarks } else do { if (server_var(bgsc_text_end) != ?) do { es_xformatv bgsc_text "%1." bgsc_text } es_xmath bgsc_text_length + 1 es_xdoblock bgsc/bgsc_createmessage } } } block bgsc_createmessage { es_xusermsg create bgsc_saytext2_message SayText2 es_usermsg write byte bgsc_saytext2_message event_var(es_userindex) es_xusermsg write byte bgsc_saytext2_message True ifx parse("bgsc_text_length > 1") do { es_string bgsc_text section 1 server_var(bgsc_text_length) es_xformatv bgsc_text_all "%1%2" bgsc_text_first bgsc_text es_xcopy bgsc_text_first bgsc_text_all } if (event_var(es_userdead) == 1) do { if (event_var(teamonly) == 1) do { if (event_var(es_userteam) == 1) do { es_xset bgsc_dead_message "(Spectator) %s1 : %s2" es_xset bgsc_targetidentifier "#un" } if (event_var(es_userteam) == 2) do { es_xset bgsc_dead_message "*DEAD*(Terrorist) %s1 : %s2" es_xset bgsc_targetidentifier "#t#dead" } if (event_var(es_userteam) == 3) do { es_xset bgsc_dead_message "*DEAD*(Counter-Terrorist) %s1 : %s2" es_xset bgsc_targetidentifier "#ct#dead" } } else do { if (event_var(es_userteam) == 1) do { es_xset bgsc_dead_message "*SPEC* %s1 : %s2" es_xset bgsc_targetidentifier "#dead" } if (event_var(es_userteam) > 1) do { es_xset bgsc_dead_message "*DEAD* %s1 : %s2" es_xset bgsc_targetidentifier "#dead" } } } else do { if (event_var(teamonly) == 1) do { if (event_var(es_userteam) == 2) do { es_xset bgsc_dead_message "(Terrorist) %s1 : %s2" es_xset bgsc_targetidentifier "#t" } if (event_var(es_userteam) == 3) do { es_xset bgsc_dead_message "(Counter-Terrorist) %s1 : %s2" es_xset bgsc_targetidentifier "#ct" } } else do { if (event_var(es_userteam) > 1) do { es_xset bgsc_dead_message "%s1 : %s2" es_xset bgsc_targetidentifier "#all" } } } es_xdoblock bgsc/bgsc_replace2 } block bgsc_replace2 { es_set bgsc_token4 server_var(bgsc_text_first) es_token bgsc_tokens2 server_var(bgsc_text_first) 0 es_token bgsc_token2 server_var(bgsc_text_first) 1 es_token bgsc_token3 server_var(bgsc_text_first) server_var(bgsc_tokens2) es_strlen bgsc_text_length3 server_var(bgsc_token2) es_strlen bgsc_text_length4 server_var(bgsc_token3) es_strlen bgsc_text_length5 server_var(bgsc_text_first) es_math bgsc_text_length5 - server_var(bgsc_text_length4) es_string bgsc_token4 section server_var(bgsc_text_length3) server_var(bgsc_text_length5) ifx parse("bgsc_tokens2 > 1") do { es_xformatv bgsc_token2 "%1 " bgsc_token2 ifx parse("bgsc_text_length3 == 2") do { es_xstring bgsc_token2 replace "Da " "The " es_xstring bgsc_token2 replace "Im " "I'm " } ifx parse("bgsc_text_length3 == 3") do { es_xstring bgsc_token2 replace "Bai " "Bye " es_xstring bgsc_token2 replace "Boi " "Boy " es_xstring bgsc_token2 replace "Dat " "That " es_xstring bgsc_token2 replace "Hes " "He's " es_xstring bgsc_token2 replace "Itd " "It'd " es_xstring bgsc_token2 replace "Kno " "Know " es_xstring bgsc_token2 replace "Luv " "Love " es_xstring bgsc_token2 replace "Nah " "No " es_xstring bgsc_token2 replace "Noe " "Know " es_xstring bgsc_token2 replace "Teh " "The " es_xstring bgsc_token2 replace "Yea " "Yeah " es_xstring bgsc_token2 replace "Wat " "What " es_xstring bgsc_token2 replace "Wut " "What " } ifx parse("bgsc_text_length3 == 4") do { es_xstring bgsc_token2 replace "Aint " "Ain't " es_xstring bgsc_token2 replace "Alot " "A lot " es_xstring bgsc_token2 replace "Cant " "Can't " es_xstring bgsc_token2 replace "Dont " "Don't " es_xstring bgsc_token2 replace "Dood " "Dude " es_xstring bgsc_token2 replace "Evar " "Ever " es_xstring bgsc_token2 replace "Gawd " "God " es_xstring bgsc_token2 replace "Hows " "How's " es_xstring bgsc_token2 replace "Kewl " "Cool " es_xstring bgsc_token2 replace "Kool " "Cool " es_xstring bgsc_token2 replace "Liek " "Like " es_xstring bgsc_token2 replace "Neva " "Never " es_xstring bgsc_token2 replace "Rite " "Right " es_xstring bgsc_token2 replace "Shes " "She's " es_xstring bgsc_token2 replace "Yall " "You all " es_xstring bgsc_token2 replace "Youd " "You'd " } ifx parse("bgsc_text_length3 == 5") do { es_xstring bgsc_token2 replace "Gimme " "Give me " es_xstring bgsc_token2 replace "Gonna " "Going to " es_xstring bgsc_token2 replace "Gotta " "Got to " es_xstring bgsc_token2 replace "Nevah " "Never " es_xstring bgsc_token2 replace "Phail " "Fail " es_xstring bgsc_token2 replace "Thats " "That's " es_xstring bgsc_token2 replace "Wanna " "Want to " es_xstring bgsc_token2 replace "Wasup " "What's up " es_xstring bgsc_token2 replace "Whats " "What's " es_xstring bgsc_token2 replace "Youll " "You'll " es_xstring bgsc_token2 replace "Youre " "You're " } ifx parse("bgsc_text_length3 == 6") do { es_xstring bgsc_token2 replace "Theyll " "They'll " es_xstring bgsc_token2 replace "Theyre " "They're " es_xstring bgsc_token2 replace "Wassup " "What's up " } ifx parse("bgsc_text_length3 == 7") do { es_xstring bgsc_token2 replace "Atleast " "At least " } es_xformatv bgsc_token3 " %1" bgsc_token3 ifx parse("bgsc_text_length4 == 3") do { es_xstring bgsc_token3 replace " da" " the" es_xstring bgsc_token3 replace " im" " I'm" } ifx parse("bgsc_text_length4 == 4") do { es_xstring bgsc_token3 replace " bai" " bye" es_xstring bgsc_token3 replace " boi" " boy" es_xstring bgsc_token3 replace " dat" " that" es_xstring bgsc_token3 replace " hes" " he's" es_xstring bgsc_token3 replace " itd" " it'd" es_xstring bgsc_token3 replace " kno" " know" es_xstring bgsc_token3 replace " luv" " love" es_xstring bgsc_token3 replace " nah" " no" es_xstring bgsc_token3 replace " noe" " know" es_xstring bgsc_token3 replace " teh" " the" es_xstring bgsc_token3 replace " wat" " what" es_xstring bgsc_token3 replace " wut" " what" es_xstring bgsc_token3 replace " yea" " yeah" } ifx parse("bgsc_text_length4 == 5") do { es_xstring bgsc_token3 replace " aint" " ain't" es_xstring bgsc_token3 replace " alot" " a lot" es_xstring bgsc_token3 replace " cant" " can't" es_xstring bgsc_token3 replace " dont" " don't" es_xstring bgsc_token3 replace " dood" " dude" es_xstring bgsc_token3 replace " evar" " ever" es_xstring bgsc_token3 replace " gawd" " god" es_xstring bgsc_token3 replace " hows" " how's" es_xstring bgsc_token3 replace " kewl" " cool" es_xstring bgsc_token3 replace " kool" " cool" es_xstring bgsc_token3 replace " liek" " like" es_xstring bgsc_token3 replace " neva" " never" es_xstring bgsc_token3 replace " rite" " right" es_xstring bgsc_token3 replace " shes" " she's" es_xstring bgsc_token3 replace " yall" " you all" es_xstring bgsc_token3 replace " youd" " you'd" } ifx parse("bgsc_text_length4 == 6") do { es_xstring bgsc_token3 replace " gimme" " give me" es_xstring bgsc_token3 replace " gonna" " going to" es_xstring bgsc_token3 replace " gotta" " got to" es_xstring bgsc_token3 replace " nevah" " never" es_xstring bgsc_token3 replace " phail" " fail" es_xstring bgsc_token3 replace " thats" " that's" es_xstring bgsc_token3 replace " wanna" " want to" es_xstring bgsc_token3 replace " wasup" " what's up" es_xstring bgsc_token3 replace " whats" " what's" es_xstring bgsc_token3 replace " youll" " you'll" es_xstring bgsc_token3 replace " youre" " you're" } ifx parse("bgsc_text_length4 == 7") do { es_xstring bgsc_token3 replace " theyll" " they'll" es_xstring bgsc_token3 replace " theyre" " they're" es_xstring bgsc_token3 replace " wassup" " what's up" } ifx parse("bgsc_text_length4 == 8") do { es_xstring bgsc_token3 replace " atleast" " at least" } ifx true(bgsc_abbreviations) { ifx parse("bgsc_text_length3 == 1") do { es_xstring bgsc_token2 replace "B " "Be " es_xstring bgsc_token2 replace "K " "Okay " es_xstring bgsc_token2 replace "N " "And " es_xstring bgsc_token2 replace "R " "Are " es_xstring bgsc_token2 replace "U " "You " es_xstring bgsc_token2 replace "Y " "Why " } ifx parse("bgsc_text_length3 == 2") do { es_xstring bgsc_token2 replace "B4 " "Before " es_xstring bgsc_token2 replace "Bk " "Back " es_xstring bgsc_token2 replace "Cu " "See you " es_xstring bgsc_token2 replace "Fu " "Fuck you " es_xstring bgsc_token2 replace "Gg " "Good game " es_xstring bgsc_token2 replace "Gj " "Good job " es_xstring bgsc_token2 replace "Gl " "Good luck " es_xstring bgsc_token2 replace "H8 " "Hate " es_xstring bgsc_token2 replace "Hf " "Have fun " es_xstring bgsc_token2 replace "Ic " "I see " es_xstring bgsc_token2 replace "Jk " "Just kidding " es_xstring bgsc_token2 replace "Kk " "Okay " es_xstring bgsc_token2 replace "L8 " "Late " es_xstring bgsc_token2 replace "M8 " "Mate " es_xstring bgsc_token2 replace "N1 " "Nice one " es_xstring bgsc_token2 replace "N8 " "Night " es_xstring bgsc_token2 replace "Np " "No problem " es_xstring bgsc_token2 replace "Ns " "Nice shot " es_xstring bgsc_token2 replace "Nt " "Nice try " es_xstring bgsc_token2 replace "Ot " "Off topic " es_xstring bgsc_token2 replace "Pm " "Private message " es_xstring bgsc_token2 replace "Rl " "Real life " es_xstring bgsc_token2 replace "Tc " "Take care " es_xstring bgsc_token2 replace "Ty " "Thank you " es_xstring bgsc_token2 replace "U2 " "You too " es_xstring bgsc_token2 replace "Ur " "Your " es_xstring bgsc_token2 replace "Yt " "You there " es_xstring bgsc_token2 replace "Yw " "You're welcome " es_xstring bgsc_token2 replace "W/ " "With " es_xstring bgsc_token2 replace "W8 " "Wait " es_xstring bgsc_token2 replace "Wb " "Welcome back " } ifx parse("bgsc_text_length3 == 3") do { es_xstring bgsc_token2 replace "A$$ " "Ass " es_xstring bgsc_token2 replace "Afk " "Away from keyboard " es_xstring bgsc_token2 replace "Atm " "At the moment " es_xstring bgsc_token2 replace "Bbl " "Be back later " es_xstring bgsc_token2 replace "Brb " "Be right back " es_xstring bgsc_token2 replace "Bro " "Brother " es_xstring bgsc_token2 replace "Btw " "By the way " es_xstring bgsc_token2 replace "Cos " "Because " es_xstring bgsc_token2 replace "Coz " "Because " es_xstring bgsc_token2 replace "Css " "Counter-Strike: Source " es_xstring bgsc_token2 replace "Cud " "Could " es_xstring bgsc_token2 replace "Cuz " "Because " es_xstring bgsc_token2 replace "Etc " "Et cetera " es_xstring bgsc_token2 replace "Faq " "Frequently asked question " es_xstring bgsc_token2 replace "Ffs " "For fuck sake " es_xstring bgsc_token2 replace "Ftl " "For the lose " es_xstring bgsc_token2 replace "Ftp " "File transfer protocol " es_xstring bgsc_token2 replace "Ftw " "For the win " es_xstring bgsc_token2 replace "Fyi " "For your information " es_xstring bgsc_token2 replace "G2g " "Got to go " es_xstring bgsc_token2 replace "Gr8 " "Great " es_xstring bgsc_token2 replace "Gtg " "Got to go " es_xstring bgsc_token2 replace "Idc " "I don't care " es_xstring bgsc_token2 replace "Idk " "I don't know " es_xstring bgsc_token2 replace "Ily " "I love you " es_xstring bgsc_token2 replace "Imo " "In my opinion " es_xstring bgsc_token2 replace "Irl " "In real life " es_xstring bgsc_token2 replace "L4d " "Left 4 Dead " es_xstring bgsc_token2 replace "Lil " "Little " es_xstring bgsc_token2 replace "Lol " "Laughing out loud " es_xstring bgsc_token2 replace "Me2 " "Me too " es_xstring bgsc_token2 replace "Msg " "Message " es_xstring bgsc_token2 replace "No1 " "No one " es_xstring bgsc_token2 replace "Nvm " "Nevermind " es_xstring bgsc_token2 replace "Lol " "Laughing out loud " es_xstring bgsc_token2 replace "Omg " "Oh my god " es_xstring bgsc_token2 replace "Omw " "On my way " es_xstring bgsc_token2 replace "Pic " "Picture " es_xstring bgsc_token2 replace "Pl8 " "Plate " es_xstring bgsc_token2 replace "Pls " "Please " es_xstring bgsc_token2 replace "Plz " "Please " es_xstring bgsc_token2 replace "Ppl " "People " es_xstring bgsc_token2 replace "Pro " "Professional " es_xstring bgsc_token2 replace "Rly " "Really " es_xstring bgsc_token2 replace "Sry " "Sorry " es_xstring bgsc_token2 replace "Sup " "What's up " es_xstring bgsc_token2 replace "Tbh " "To be honest " es_xstring bgsc_token2 replace "Tho " "Though " es_xstring bgsc_token2 replace "Thx " "Thanks " es_xstring bgsc_token2 replace "Urs " "Yours " es_xstring bgsc_token2 replace "Uve " "You've " es_xstring bgsc_token2 replace "W/e " "Whatever " es_xstring bgsc_token2 replace "Wtf " "What the fuck " } ifx parse("bgsc_text_length3 == 4") do { es_xstring bgsc_token2 replace "Any1 " "Anyone " es_xstring bgsc_token2 replace "Asap " "As soon as possible " es_xstring bgsc_token2 replace "Bcos " "Because " es_xstring bgsc_token2 replace "Bcoz " "Because " es_xstring bgsc_token2 replace "Bcuz " "Because " es_xstring bgsc_token2 replace "Cs:s " "Counter-Strike: Source " es_xstring bgsc_token2 replace "Glhf " "Good luck have fun " es_xstring bgsc_token2 replace "Gtfo " "Get the fuck out " es_xstring bgsc_token2 replace "Lmao " "Laughing my ass off " es_xstring bgsc_token2 replace "Motd " "Message of the day " es_xstring bgsc_token2 replace "Nuff " "Enough " es_xstring bgsc_token2 replace "Orly " "Oh really " es_xstring bgsc_token2 replace "Pl0x " "Please " es_xstring bgsc_token2 replace "Rofl " "Rolling on floor laughing " es_xstring bgsc_token2 replace "Stfu " "Shut the fuck up " es_xstring bgsc_token2 replace "Tyvm " "Thank you very much " } ifx parse("bgsc_text_length3 == 5") do { es_xstring bgsc_token2 replace "Grats " "Congratulations " es_xstring bgsc_token2 replace "Gratz " "Congratulations " es_xstring bgsc_token2 replace "Srsly " "Seriously " es_xstring bgsc_token2 replace "W/out " "Without " } ifx parse("bgsc_text_length3 == 7") do { es_xstring bgsc_token2 replace "Roflmao " "Rolling on floor laughing my ass off " } ifx parse("bgsc_text_length4 == 2") do { es_xstring bgsc_token3 replace " b" " be" es_xstring bgsc_token3 replace " k" " okay" es_xstring bgsc_token3 replace " n" " and" es_xstring bgsc_token3 replace " r" " are" es_xstring bgsc_token3 replace " u" " you" es_xstring bgsc_token3 replace " y" " why" } ifx parse("bgsc_text_length4 == 3") do { es_xstring bgsc_token3 replace " b4" " before" es_xstring bgsc_token3 replace " bk" " back" es_xstring bgsc_token3 replace " cu" " see you" es_xstring bgsc_token3 replace " fu" " fuck you" es_xstring bgsc_token3 replace " gg" " good game" es_xstring bgsc_token3 replace " gj" " good job" es_xstring bgsc_token3 replace " gl" " good luck" es_xstring bgsc_token3 replace " h8" " hate" es_xstring bgsc_token3 replace " hf" " have fun" es_xstring bgsc_token3 replace " ic" " I see" es_xstring bgsc_token3 replace " jk" " just kidding" es_xstring bgsc_token3 replace " kk" " okay" es_xstring bgsc_token3 replace " l8" " late" es_xstring bgsc_token3 replace " m8" " mate" es_xstring bgsc_token3 replace " n1" " nice one" es_xstring bgsc_token3 replace " n8" " night" es_xstring bgsc_token3 replace " np" " no problem" es_xstring bgsc_token3 replace " ns" " nice shot" es_xstring bgsc_token3 replace " nt" " nice try" es_xstring bgsc_token3 replace " ot" " off topic" es_xstring bgsc_token3 replace " pm" " private message" es_xstring bgsc_token3 replace " rl" " real life" es_xstring bgsc_token3 replace " tc" " take care" es_xstring bgsc_token3 replace " ty" " thank you" es_xstring bgsc_token3 replace " u2" " you too" es_xstring bgsc_token3 replace " ur" " your" es_xstring bgsc_token3 replace " yt" " you there" es_xstring bgsc_token3 replace " yw" " you're welcome" es_xstring bgsc_token3 replace " w/" " with" es_xstring bgsc_token3 replace " w8" " wait" es_xstring bgsc_token3 replace " wb" " welcome back" } ifx parse("bgsc_text_length4 == 4") do { es_xstring bgsc_token3 replace " a$$" " ass" es_xstring bgsc_token3 replace " afk" " away from keyboard" es_xstring bgsc_token3 replace " atm" " at the moment" es_xstring bgsc_token3 replace " bbl" " be back later" es_xstring bgsc_token3 replace " brb" " be right back" es_xstring bgsc_token3 replace " bro" " brother" es_xstring bgsc_token3 replace " btw" " by the way" es_xstring bgsc_token3 replace " cos" " because" es_xstring bgsc_token3 replace " coz" " because" es_xstring bgsc_token3 replace " css" " Counter-Strike: Source" es_xstring bgsc_token3 replace " cud" " could" es_xstring bgsc_token3 replace " cuz" " because" es_xstring bgsc_token3 replace " etc" " et cetera" es_xstring bgsc_token3 replace " faq" " frequently asked questions" es_xstring bgsc_token3 replace " ffs" " for fuck sake" es_xstring bgsc_token3 replace " ftl" " for the lose" es_xstring bgsc_token3 replace " ftp" " file transfer protocol " es_xstring bgsc_token3 replace " ftw" " for the win" es_xstring bgsc_token3 replace " fyi" " for your information" es_xstring bgsc_token3 replace " g2g" " got to go" es_xstring bgsc_token3 replace " gr8" " great" es_xstring bgsc_token3 replace " gtg" " got to go" es_xstring bgsc_token3 replace " idc" " I don't care" es_xstring bgsc_token3 replace " idk" " I don't know" es_xstring bgsc_token3 replace " ily" " I love you" es_xstring bgsc_token3 replace " imo" " in my opinion" es_xstring bgsc_token3 replace " irl" " in real life" es_xstring bgsc_token3 replace " l4d" " Left 4 Dead" es_xstring bgsc_token3 replace " lil" " little" es_xstring bgsc_token3 replace " lol" " laughing out loud" es_xstring bgsc_token3 replace " me2" " me too" es_xstring bgsc_token3 replace " msg" " message" es_xstring bgsc_token3 replace " no1" " no one" es_xstring bgsc_token3 replace " nvm" " nevermind" es_xstring bgsc_token3 replace " lol" " laughing out loud" es_xstring bgsc_token3 replace " omg" " oh my god" es_xstring bgsc_token3 replace " omw" " on my way" es_xstring bgsc_token3 replace " pic" " picture" es_xstring bgsc_token3 replace " pl8" " plate" es_xstring bgsc_token3 replace " pls" " please" es_xstring bgsc_token3 replace " plz" " please" es_xstring bgsc_token3 replace " ppl" " people" es_xstring bgsc_token3 replace " pro" " professional" es_xstring bgsc_token3 replace " rly" " really" es_xstring bgsc_token3 replace " sry" " sorry" es_xstring bgsc_token3 replace " sup" " what's up" es_xstring bgsc_token3 replace " tbh" " to be honest" es_xstring bgsc_token3 replace " tho" " though" es_xstring bgsc_token3 replace " thx" " thanks" es_xstring bgsc_token3 replace " urs" " yours" es_xstring bgsc_token3 replace " uve" " you've" es_xstring bgsc_token3 replace " w/e" " whatever" es_xstring bgsc_token3 replace " wtf" " what the fuck" } ifx parse("bgsc_text_length4 == 5") do { es_xstring bgsc_token3 replace " any1" " anyone" es_xstring bgsc_token3 replace " asap" " as soon as possible" es_xstring bgsc_token3 replace " bcos" " because" es_xstring bgsc_token3 replace " bcoz" " because" es_xstring bgsc_token3 replace " bcuz" " because" es_xstring bgsc_token3 replace " cs:s" " Counter-Strike: Source" es_xstring bgsc_token3 replace " glhf" " good luck have fun" es_xstring bgsc_token3 replace " gtfo" " get the fuck out" es_xstring bgsc_token3 replace " lmao" " laughing my ass off" es_xstring bgsc_token3 replace " motd" " message of the day" es_xstring bgsc_token3 replace " nuff" " enough" es_xstring bgsc_token3 replace " orly" " oh really" es_xstring bgsc_token3 replace " pl0x" " please" es_xstring bgsc_token3 replace " rofl" " rolling on floor laughing" es_xstring bgsc_token3 replace " stfu" " shut the fuck up" es_xstring bgsc_token3 replace " tyvm" " thank you very much" } ifx parse("bgsc_text_length4 == 6") do { es_xstring bgsc_token3 replace " grats" " congratulations" es_xstring bgsc_token3 replace " gratz" " congratulations" es_xstring bgsc_token3 replace " srsly" " seriously" es_xstring bgsc_token3 replace " w/out" " without" } ifx parse("bgsc_text_length4 == 8") do { es_xstring bgsc_token3 replace " roflmao" " rolling on floor laughing my ass off" } } es_strlen bgsc_text_length3 server_var(bgsc_token2) es_strlen bgsc_text_length4 server_var(bgsc_token3) es_xmath bgsc_text_length3 - 1 es_string bgsc_token2 section 0 server_var(bgsc_text_length3) es_string bgsc_token3 section 1 server_var(bgsc_text_length4) ifx parse("bgsc_tokens2 > 2") do { es_xformatv bgsc_text_first "%1%2%3" bgsc_token2 bgsc_token4 bgsc_token3 } else do { es_xformatv bgsc_text_first "%1 %2" bgsc_token2 bgsc_token3 } } es_strlen bgsc_text_length5 server_var(bgsc_text_first) ifx true(bgsc_abbreviations) { ifx parse("bgsc_text_length5 == 2") do { es_xstring bgsc_text_first replace "B" "Be" es_xstring bgsc_text_first replace "K" "Okay" es_xstring bgsc_text_first replace "N" "And" es_xstring bgsc_text_first replace "R" "Are" es_xstring bgsc_text_first replace "U" "You" es_xstring bgsc_text_first replace "Y" "Why" } ifx parse("bgsc_text_length5 == 3") do { es_xstring bgsc_text_first replace "B4" "Before" es_xstring bgsc_text_first replace "Bk" "Back" es_xstring bgsc_text_first replace "Cu" "See you" es_xstring bgsc_text_first replace "Fu" "Fuck you" es_xstring bgsc_text_first replace "Gg" "Good game" es_xstring bgsc_text_first replace "Gj" "Good job" es_xstring bgsc_text_first replace "Gl" "Good luck" es_xstring bgsc_text_first replace "H8" "Hate" es_xstring bgsc_text_first replace "Hf" "Have fun" es_xstring bgsc_text_first replace "Ic" "I see" es_xstring bgsc_text_first replace "Jk" "Just kidding" es_xstring bgsc_text_first replace "Kk" "Okay" es_xstring bgsc_text_first replace "L8" "Late" es_xstring bgsc_text_first replace "M8" "Mate" es_xstring bgsc_text_first replace "N1" "Nice one" es_xstring bgsc_text_first replace "N8" "Night" es_xstring bgsc_text_first replace "Np" "No problem" es_xstring bgsc_text_first replace "Ns" "Nice shot" es_xstring bgsc_text_first replace "Nt" "Nice try" es_xstring bgsc_text_first replace "Ot" "Off topic" es_xstring bgsc_text_first replace "Pm" "Private message" es_xstring bgsc_text_first replace "Rl" "Real life" es_xstring bgsc_text_first replace "Tc" "Take care" es_xstring bgsc_text_first replace "Ty" "Thank you" es_xstring bgsc_text_first replace "U2" "You too" es_xstring bgsc_text_first replace "Ur" "Your" es_xstring bgsc_text_first replace "Yt" "You there" es_xstring bgsc_text_first replace "Yw" "You're welcome" es_xstring bgsc_text_first replace "W/" "With" es_xstring bgsc_text_first replace "W8" "Wait" es_xstring bgsc_text_first replace "Wb" "Welcome back" } ifx parse("bgsc_text_length5 == 4") do { es_xstring bgsc_text_first replace "A$$" "Ass" es_xstring bgsc_text_first replace "Afk" "Away from keyboard" es_xstring bgsc_text_first replace "Atm" "At the moment" es_xstring bgsc_text_first replace "Bbl" "Be back later" es_xstring bgsc_text_first replace "Brb" "Be right back" es_xstring bgsc_text_first replace "Bro" "Brother" es_xstring bgsc_text_first replace "Btw" "By the way " es_xstring bgsc_text_first replace "Cos" "Because" es_xstring bgsc_text_first replace "Coz" "Because" es_xstring bgsc_text_first replace "Css" "Counter-Strike: Source" es_xstring bgsc_text_first replace "Cud" "Could" es_xstring bgsc_text_first replace "Cuz" "Because" es_xstring bgsc_text_first replace "Etc" "Et cetera" es_xstring bgsc_text_first replace "Faq" "Frequently asked question" es_xstring bgsc_text_first replace "Ffs" "For fuck sake" es_xstring bgsc_text_first replace "Ftl" "For the lose" es_xstring bgsc_text_first replace "Ftp" "File transfer protocol" es_xstring bgsc_text_first replace "Ftw" "For the win" es_xstring bgsc_text_first replace "Fyi" "For your information" es_xstring bgsc_text_first replace "G2g" "Got to go" es_xstring bgsc_text_first replace "Gr8" "Great" es_xstring bgsc_text_first replace "Gtg" "Got to go" es_xstring bgsc_text_first replace "Idc" "I don't care" es_xstring bgsc_text_first replace "Idk" "I don't know" es_xstring bgsc_text_first replace "Ily" "I love you" es_xstring bgsc_text_first replace "Imo" "In my opinion" es_xstring bgsc_text_first replace "Irl" "In real life" es_xstring bgsc_text_first replace "L4d" "Left 4 Dead" es_xstring bgsc_text_first replace "Lil" "Little" es_xstring bgsc_text_first replace "Lol" "Laughing out loud" es_xstring bgsc_text_first replace "Me2" "Me too" es_xstring bgsc_text_first replace "Msg" "Message" es_xstring bgsc_text_first replace "No1" "No one" es_xstring bgsc_text_first replace "Nvm" "Nevermind" es_xstring bgsc_text_first replace "Lol" "Laughing out loud" es_xstring bgsc_text_first replace "Omg" "Oh my god" es_xstring bgsc_text_first replace "Omw" "On my way" es_xstring bgsc_text_first replace "Pic" "Picture" es_xstring bgsc_text_first replace "Pl8" "Plate" es_xstring bgsc_text_first replace "Pls" "Please" es_xstring bgsc_text_first replace "Plz" "Please" es_xstring bgsc_text_first replace "Ppl" "People" es_xstring bgsc_text_first replace "Pro" "Professional" es_xstring bgsc_text_first replace "Rly" "Really" es_xstring bgsc_text_first replace "Sry" "Sorry" es_xstring bgsc_text_first replace "Sup" "What's up" es_xstring bgsc_text_first replace "Tbh" "To be honest" es_xstring bgsc_text_first replace "Tho" "Though" es_xstring bgsc_text_first replace "Thx" "Thanks" es_xstring bgsc_text_first replace "Urs" "Yours" es_xstring bgsc_text_first replace "Uve" "You've" es_xstring bgsc_text_first replace "W/e" "Whatever" es_xstring bgsc_text_first replace "Wtf" "What the fuck" } ifx parse("bgsc_text_length5 == 5") do { es_xstring bgsc_text_first replace "Any1" "Anyone" es_xstring bgsc_text_first replace "Asap" "As soon as possible" es_xstring bgsc_text_first replace "Bcos" "Because" es_xstring bgsc_text_first replace "Bcoz" "Because" es_xstring bgsc_text_first replace "Bcuz" "Because" es_xstring bgsc_text_first replace "Cs:s" "Counter-Strike: Source" es_xstring bgsc_text_first replace "Glhf" "Good luck have fun" es_xstring bgsc_text_first replace "Gtfo" "Get the fuck out" es_xstring bgsc_text_first replace "Lmao" "Laughing my ass off" es_xstring bgsc_text_first replace "Motd" "Message of the day" es_xstring bgsc_text_first replace "Nuff" "Enough" es_xstring bgsc_text_first replace "Orly" "Oh really" es_xstring bgsc_text_first replace "Pl0x" "Please" es_xstring bgsc_text_first replace "Rofl" "Rolling on floor laughing" es_xstring bgsc_text_first replace "Stfu" "Shut the fuck up" es_xstring bgsc_text_first replace "Tyvm" "Thank you very much" } ifx parse("bgsc_text_length5 == 6") do { es_xstring bgsc_text_first replace "Grats " "Congratulations" es_xstring bgsc_text_first replace "Gratz " "Congratulations" es_xstring bgsc_text_first replace "Srsly " "Seriously" es_xstring bgsc_text_first replace "W/out " "Without" } ifx parse("bgsc_text_length3 == 8") do { es_xstring bgsc_text_first replace "Roflmao" "Rolling on floor laughing my ass off" } } es_xset bgsc_token_number2 0 es_token bgsc_tokens server_var(bgsc_chatfilter) 0 , es_xdoblock bgsc/bgsc_chatfilter } block bgsc_chatfilter { es_xmath bgsc_token_number2 + 1 ifx parse("bgsc_token_number2 <= bgsc_tokens") do { es_token bgsc_token server_var(bgsc_chatfilter) server_var(bgsc_token_number2) , if (server_var(bgsc_token) in server_var(bgsc_text_first)) do { es_string bgsc_text_first replace server_var(bgsc_token) "[CENSORED]" } es_xdoblock bgsc/bgsc_chatfilter } else do { es_xdoblock bgsc/bgsc_sendmessage } } block bgsc_sendmessage { es_usermsg write string bgsc_saytext2_message server_var(bgsc_dead_message) es_usermsg write string bgsc_saytext2_message event_var(es_username) es_usermsg write string bgsc_saytext2_message server_var(bgsc_text_first) es foreach player bgsc_target server_var(bgsc_targetidentifier) "es_usermsg send bgsc_saytext2_message server_var(bgsc_target) 1" es_xusermsg delete bgsc_saytext2_message } block bgsc_bannednames { es_xmath bgsc_token_number2 + 1 ifx parse("bgsc_token_number2 <= bgsc_tokens4") do { es_token bgsc_token server_var(bgsc_namefilter) server_var(bgsc_token_number2) , if (server_var(bgsc_token) in server_var(bgsc_name)) do { es kickid event_var(userid) "Your name contains one or more words that is inappropriate on this server." } es_xdoblock bgsc/bgsc_bannednames } } event es_player_chat { es_exists bgsc_key_exists key bgsc_hook event_var(userid) ifx true(bgsc_key_exists) do { es_keygetvalue bgsc_get_key bgsc_hook event_var(userid) bgsc_register ifx true(bgsc_get_key) do { es_keygetvalue bgsc_get_key2 bgsc_hook event_var(userid) bgsc_antispam ifx false(bgsc_get_key2) do { es_keysetvalue bgsc_hook event_var(userid) bgsc_antispam 1 es_delayed server_var(bgsc_antispam) es_xkeysetvalue bgsc_hook event_var(userid) bgsc_antispam 0 es_xevent initialize player_say es_event setstring player_say text event_var(text) es_event setint player_say userid event_var(userid) es_xevent fire player_say es_set bgsc_at_symbol event_var(text) es_xstring bgsc_at_symbol section 0 1 if (server_var(bgsc_at_symbol) != @) do { es_exists bgsc_command_exists saycommand event_var(text) ifx false(bgsc_command_exists) do { es_set bgsc_text event_var(text) es_xdoblock bgsc/bgsc_replace } } else do { es_keysetvalue bgsc_hook event_var(userid) bgsc_register 0 es est_unmuteplayer event_var(userid) es_sexec event_var(userid) say event_var(text) es_delayed .1 es_xkeysetvalue bgsc_hook event_var(userid) bgsc_register 1 } } } } } event player_say { es est_muteplayer event_var(userid) } event player_activate { es_xset bgsc_token_number2 0 es_set bgsc_name event_var(es_username) es_token bgsc_tokens4 server_var(bgsc_namefilter) 0 , es_xdoblock bgsc/bgsc_bannednames es_keycreate bgsc_hook event_var(userid) es_keysetvalue bgsc_hook event_var(userid) bgsc_antispam 0 es_keysetvalue bgsc_hook event_var(userid) bgsc_register 1 es est_muteplayer event_var(userid) } event player_changename { es_xset bgsc_token_number2 0 es_set bgsc_name event_var(newname) es_token bgsc_tokens4 server_var(bgsc_namefilter) 0 , es_xdoblock bgsc/bgsc_bannednames } event player_disconnect { es_keydelete bgsc_hook event_var(userid) }