I don\'t see the sense in writing:
on @*:JOIN:#: {
if ($nick == $me) && ($nick isop $chan) { halt }
since the @ symbol already designated that if $nick is an op then proceed otherwise it does not work so the part \"&& ($nick isop $chan)\" is redundant.
While the script might be useful in chatspace where takeovers are difficult, remember that people accessing this script are vulnerable to takeover in other places and a warning should be given.
Bouncer, while you may not be concerned about your scripts being ripped, it is a general practice that should not be done at all or at least with acknowledgement...