Sorry for the late reply, I've not been on mIRC for a couple of weeks I've been on a course which will last until May. Then I move to Canada in May to a full-time job so I wont be around then and I'll be around very little up until then.

Coding side; I have no idea what BOTNET is, I assume it is a server.

Code:
on [color:red]@[/color]*:JOIN:#: {
  [color:red]if ($server == The.Server.Name) {[/color]
    if (*Sex* iswm $nick) || (*|[xXx]|-* iswm $nick) || (*test* iswm $nick) { 
      .ban [color:red]$chan[/color] $nick Lamerz Banned 
      halt 
    } 
  }
}


The @ eliminates us having to using the IF statement checking if we're not an op. The @ will only trigger if we are an op.

The if ($server == The.Server.Name) { checks if the server is The.Server.Name then performs the commands.

And finally $chan when we type /ban in a channel we already know we want to ban someone on that channel, but when it's triggered from an event we need to specify the target.

Flooding side; you need to be more specific. There are countless addons and such for query flood, CTCP, notices etc. So /help /ignore has everything you need to know. And of course going old school you could inform the IRCops that there are flooders but I'm sure they'll be alerted with ** Notice -- Kill for flooding: