Hello, you'll want to use regular expression for that.
First, the best way to do such a badword script in mIRC is to use an hash table with regex and the R switch of $hfind.
So let's take the letter 'e', and suppose you want to account for different variation of it
In regular expression, [abc] matches either a, b, or c, so you would define letter with that in mind. We'll assume lowercase/uppercase are the same.
e = [eéèêEÉÊ] (you would complete these lists.)
alias regvar_E return [eéèêEÉÊ]
alias regvar_A return [aààA]
Now, here is a quick example of an hash table usage with $hfind
/hmake table
/hadd table firstbadword test
/hadd table secondbadword duck
/hadd table thirdbadword raccoon
now given the sentence "wow look a raccoon":
$hfind(table,wow look a raccoon,1,R).data would return thirdbadword, inside an on text event you would just check $hfind(table,$1-,1,R).data
Now when you add an item to the table with /hadd, you would use an alias which would use all the defined variation for any character you defined:
alias addbadword hadd table $calc($hget(table,0).item + 1) $regsubex($1-,/(*UTF8)(.)/g,$iif($isalias(regvar_\1),$($+($,regvar_\1),2),\1)
This alias is usinsg $regsubex which is nothing less than a while loop on each character of the text passed to the alias
"/addbadword testa" would end up doing "/hadd table 1 t[eéèêEÉÊ]st[aààA]" which would account for the variation you want.
Regular expression are powerful because you can tell it match very precise string.
This should help.