Pros:
Cons:
Quite a bit. No need of halts, for the == $null simple use a !$read(etc), (as said before) just use $lines(quotes.txt) because it\'s useless to have a variable, remove /\'s, provide things such as if ($2) to error check, also: for things such as != $null you don\'t need those just use the actual identifier or if statement.
Also, you should, as a script writer, accept comments of others and fix mistakes. If you \'don\'t feel like editing\' the snippet, don\'t expect a high score. :)
I would take a look @ the other ones on here and learn a little from them. For example, napa182\'s quote system. That\'s efficient and it has a lot of variety. I\'m not saying deliberately take things out of snippets but just take a look on how others approached it. Maybe you\'ll find many more ideas.
You don\'t seem to error check, ( something like an if ($did(3).text) for example ) and it\'s rather simple. But, it gets the job done I suppose. Perhaps an alias to check if the dialog is in use? Here try this,
alias awayopen { dialog $iif(!$dialog(BioAway),-m,-v) bioaway bioaway
And just put awayopen in the menu. ;)
I think what Scakk is trying to do is establish a two second time difference on purpose. It doesn\'t effect the way the ban takes place, and I think a couple of you misunderstand the timer. It just gives a two second difference between the kick and the ban. At least that\'s what I assume.
Anyway, why do you include the ;sets in your events when you already have an alias to do so? It\'s also a hassle to filter the script with the badwords. How about using $$? and a $$! for confirmation and easier editing. Otherwise, neat script.
You should use groups instead of using a global variable, and why not form all the on text\'s into one? You are also setting a pointless variable in your %b variable, just use /var instead /help /var. The reason for this is because some scripts like to use local variables with single letter names. That\'s something I commonly do. The local variable might interfere with another script. Other than that, the script isn\'t very unique. It may be longer but just as simple as the others on here.
Couple things:
Here is what I changed (untested):
Just simplified your code. Made it set the users address instead of nick, made all those if ($nick isetc) into one if and removed the timer and made it ban -ku600. Nice idea, and pretty useful against spammers.
Cons:
Here is the updated code (with a \'mini-tutorial\' on what I changed):
on @*:TEXT:*:#:{
; the above line is not much different from your first, the @ checks if you are an op in the channel
var %swear fuck,bitch
; swear words that are checked are in this local variable (can be added or removed)
if ($istok($1-,%swear,32)) {
; checks if any of the words are in the text
ban -k # $nick Swearing is prohibited.
; ban/kick\'s the nick w/ above msg
}
}
Try that w/o the ; comments. They were just used to help you understand. And if you already knew about what I\'m talking about, then just ignore them.