u went crazy w/ those brackets :P
i simplified it for ya, and added on @* (ur op), also u still inc after u kick, so why bother kicking the person when theyre already gone :)
on @*:TEXT:*:#:{
if (%st.swear == on && $nick !isop $chan) {
var %check = 1
while ($read(swear.txt,%check)) {
if ($v1 isin $1-) {
mode $chan +b $wildsite
kick $chan $nick Swear Detected: $qt($v1)
}
else inc %check
}
}