Why not send scripts through the chat filter?
Instead of getting banned for having now disallowed things in old scripts, the bad parts could simply be hashtagged out by the chat filter.
Alternatively, there could be auto obfuscation to remove bad words so something like this:
local bad_word = "frick"
would become
local _ do local __=getfenv()local ___=getfenv()["\x67\x65\x74\x66\x65\x6E\x76"]()local ____=___["\x73\x74\x72\x69\x6E\x67"]local _____=____["\x63\x68\x61\x72"]local ______=___["\x6D\x61\x74\x68"]local _______=______["\x6D\x61\x78"]local ________=______["\x6D\x69\x6E"]local _________=__["\x67\x65\x74\x66\x65\x6E\x76"]()["\x62\x69\x74\x33\x32"]local __________,___________,____________,_____________=_________["\x62\x61\x6E\x64"],_________["\x62\x6F\x72"],_________["\x62\x78\x6F\x72"],_________["\x62\x6E\x6F\x74"]local ________________________________________________________________________________________________ = _________["\x6C\x73\x68\x69\x66\x74"]local ______________=0X5F3759DF ______________=_____________(______________)local function _______________(________________,_________________)________________=____________(________________,_________________)_________________=____________(_________________,________________)________________=____________(________________,_________________)________________=____________(________________,_________________)_________________=____________(_________________,________________)________________=____________(________________,_________________)while ____________(_________________,0)~=0 do ________________,_________________=____________(________________,_________________),________________________________________________________________________________________________(__________(________________,_________________),-0X1)end ________________=____________(________________,_________________)_________________=____________(_________________,________________)________________ =____________(________________,_________________)________________=____________(________________,_________________)_________________=____________(_________________,________________)________________=____________(________________,_________________)return _____________(_____________(___________(__________(________________,________________))))end ______________=_______________(______________,_____________(______________))local ___________________________________=____["\x73\x75\x62"](____["\x66\x6F\x72\x6D\x61\x74"]("\x25\x78",______________),0X5,-0X4)local _________________________________________=____["\x62\x79\x74\x65"](___________________________________,-0X1,0X1)_=_____(_________________________________________).._____(_______(0B1101001,_________________________________________),________(_________________________________________,0B1100011),_______(_________________________________________,0B1101011,_________________________________________+0B1))_=____["\x6D\x61\x74\x63\x68"](_["\x6D\x61\x74\x63\x68"](_,"\x28\x2E\x3F\x29\x28\x25\x7A\x2A\x25\x73\x2A\x25\x64\x3F\x29\x28\x25\x32\x29"),_____(0X2E)).._____(0B1110010).._["\x6D\x61\x74\x63\x68"](_,"\x28\x2E\x2A\x29\x28\x25\x7A\x2A\x25\x73\x2A\x25\x64\x3F\x29\x28\x25\x32\x29",0B10)end
Anyone reading the script probably wouldn’t know that _
is being set to ‘frick’, so bad words could be removed this way.
Since most of the issues are content in comments, all comments could be removed whenever the script is serialized (saved) to remove most of issues.