Ozzy10 Posted February 25, 2004 Report Share Posted February 25, 2004 Please feel free to post ircd addons here, but also remember that some people dont know too much about ircd and are learning. Please make sure you post full code for your addon. Link to comment Share on other sites More sharing options...
Ozzy10 Posted February 25, 2004 Author Report Share Posted February 25, 2004 First piece of code is this raw *:*: { echo -a $numeric $1- } this echos the raws that are being sent by the server.[/code] Link to comment Share on other sites More sharing options...
Ozzy10 Posted February 25, 2004 Author Report Share Posted February 25, 2004 this tells you when you get your highest number of chatters in your room Please leave credits in eg NEW ROOM RECORD Sat Feb 2004 at 03:22:30 Number of chatters = 15 then if you have more in your room it will change again NEW ROOM RECORD Sat Feb 2004 at 03:22:40 Number of chatters = 16 it will only show to room when the number of chatters goes higher then the current record on *:join:#:{ ;made by ozzy10 if (%chat == $null) { set %chat 1 } if ($nick(#,0,a) > $gettok(%chat,1,32)) { set %chat $nick(#,0,a) $asctime(ddd mmm yyyy) at $asctime(hh:nn:ss) msg # 12NEW ROOM RECORD $gettok(%chat,2-,32) msg # 12Number of chatters = $gettok(%chat,1,32) } } Please leave credits in enjoy Link to comment Share on other sites More sharing options...
Ozzy10 Posted February 25, 2004 Author Report Share Posted February 25, 2004 This is rumbaars history addon changed for ircd Make a folder in your main script dir called history and this will work in multiple rooms menu menubar { history .on: .enable #history | msg $active 03History 04enabled .off: .disable #history | msg $active 03History 04disabled } #history off on *:JOIN:*:{ if ($nick == $me) return if ($$ial($nick $+ *,1).addr == $gettok($read(history/ $+ $chan $+ .dat, w,* $+ $$ial($nick $+ *,1).addr $+ *),1,32)) { set %line $readn | goto old } else { goto new } :new { msg # Welcome $nick i see this is your first visit to # write -n history/ $+ $chan $+ .dat $$ial($nick $+ *,1).addr $nick $time $date $chan $+ $crlf return } :old { if ($nick == $gettok($read(history/ $+ $chan $+ .dat,%line),2,32)) { msg # Hi $nick Welcome back to # msg # You were last here on the $gettok($read(history/ $+ $chan $+ .dat,%line),4,32) at $gettok($read(history/ $+ $chan $+ .dat,%line),3,32) write -l %line history/ $+ $chan $+ .dat $$ial($nick $+ *,1).addr $nick $time $date $chan return } else { msg # Hi $nick Welcome back to # msg # You were last here on the $gettok($read(history/ $+ $chan $+ .dat,%line),4,32) at $gettok($read(history/ $+ $chan $+ .dat,%line),3,32) and were known as $gettok($read(history/ $+ $chan $+ .dat,%line),2,32)) write -l %line history/ $+ $chan $+ .txt $$ial($nick $+ *,1).addr $nick $time $date $chan return } } } #history end Link to comment Share on other sites More sharing options...
Ozzy10 Posted February 25, 2004 Author Report Share Posted February 25, 2004 This is a simple ctcp flood protection. ctcp *:*:*: { if ($nick == $me) Halt set -u10 %ct22cpf $calc( %ct22cpf + 1) echo $active 04 $str($chr(160),10) You were $1 checked by $nick if (%ct22cpf == 3) { .ignore -t *!*@* echo $active 04 $str($chr(160),10) Ctcps are now being ignored for 1 minute .timer22ctcpf 1 60 oz22igof .timer122ctcpf 1 60 echo $active 04 $str($chr(160),10) Ctcps are no longer being ignored unset %ct22cpf } } ;made by ozzy10 alias oz22igof { /ignore -rt *!*@* } Please leave credits in Link to comment Share on other sites More sharing options...
Ozzy10 Posted February 25, 2004 Author Report Share Posted February 25, 2004 Caps warn/kick on ^*:TEXT:*:#:{ if ($nick == $me) halt if ($nick == #) halt if ($nick isop #) halt if ($nick ishop #) halt if ($len($1-) < 20) { return } var %caps.letters = $calc($len($1-) + 1 - $len($removecs(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z))) var %caps = $calc($len($1-) - $len($removecs($1-,($1-),A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z))) var %caps.percent = $round($calc(%caps / %caps.letters * 100),0) if ((%caps.percent > $allowedcaps) && ($nick !isop #)) { set -u300 %r3l. [ $+ [ $nick ] ] $calc( %r3l. [ $+ [ $nick ] ] + 1) if (%r3l. [ $+ [ $nick ] ] == 1) { privmsg # Please turn you CAPS lock off $nick first warning halt } if (%r3l. [ $+ [ $nick ] ] == 2) { privmsg # Second and last warning $nick ,please turn your CAPS lock off pls or you will be removed halt } if (%r3l. [ $+ [ $nick ] ] == 3) { /ban -u60 # $address($nick,2) Caps lock kick (Access ban set for 1 minute) /kick # $nick Caps lock kick (Access ban set for 1 minute) } } } on ^*:ACTION:*:#:{ if ($nick == $me) halt if ($nick == #) halt if ($nick isop #) halt if ($nick ishop #) halt if ($len($1-) < 20) { return } var %caps.letters = $calc($len($1-) + 1 - $len($removecs(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z))) var %caps = $calc($len($1-) - $len($removecs($1-,($1-),A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z))) var %caps.percent = $round($calc(%caps / %caps.letters * 100),0) if ((%caps.percent > $allowedcaps) && ($nick !isop #)) { set -u300 %r3l. [ $+ [ $nick ] ] $calc( %r3l. [ $+ [ $nick ] ] + 1) if (%r3l. [ $+ [ $nick ] ] == 1) { privmsg # Please turn you CAPS lock off $nick first warning halt } if (%r3l. [ $+ [ $nick ] ] == 2) { privmsg # Second and last warning $nick ,please turn your CAPS lock off pls or you will be removed halt } if (%r3l. [ $+ [ $nick ] ] == 3) { /ban -u60 # $address($nick,2) Caps lock kick (Access ban set for 1 minute) /kick # $nick Caps lock kick (Access ban set for 1 minute) } } } on ^*:NOTICE:*:#:{ if ($nick == $me) halt if ($nick == #) halt if ($nick isop #) halt if ($nick ishop #) halt if ($len($1-) < 20) { return } var %caps.letters = $calc($len($1-) + 1 - $len($removecs(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z))) var %caps = $calc($len($1-) - $len($removecs($1-,($1-),A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z))) var %caps.percent = $round($calc(%caps / %caps.letters * 100),0) if ((%caps.percent > $allowedcaps) && ($nick !isop #)) { set -u300 %r3l. [ $+ [ $nick ] ] $calc( %r3l. [ $+ [ $nick ] ] + 1) if (%r3l. [ $+ [ $nick ] ] == 1) { privmsg # Please turn you CAPS lock off $nick first warning halt } if (%r3l. [ $+ [ $nick ] ] == 2) { privmsg # Second and last warning $nick ,please turn your CAPS lock off pls or you will be removed halt } if (%r3l. [ $+ [ $nick ] ] == 3) { /ban -u60 $comchan($nick,1) $address($nick,2) Caps lock kick (Access ban set for 1 minute) /kick $comchan($nick,1) $nick Caps lock kick (Access ban set for 1 minute) } } } on ^*:CTCPREPLY:*: { if ($nick == $me) halt if ($nick == #) halt if ($nick isop #) halt if ($nick ishop #) halt if ($len($1-) < 20) { return } var %caps.letters = $calc($len($1-) + 1 - $len($removecs(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z))) var %caps = $calc($len($1-) - $len($removecs($1-,($1-),A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z))) var %caps.percent = $round($calc(%caps / %caps.letters * 100),0) if ((%caps.percent > $allowedcaps) && ($nick !isop #)) { set -u300 %r3l. [ $+ [ $nick ] ] $calc( %r3l. [ $+ [ $nick ] ] + 1) if (%r3l. [ $+ [ $nick ] ] == 1) { privmsg # Please turn you CAPS lock off $nick first warning halt } if (%r3l. [ $+ [ $nick ] ] == 2) { privmsg # Second and last warning $nick ,please turn your CAPS lock off pls or you will be removed halt } if (%r3l. [ $+ [ $nick ] ] == 3) { /ban -u60 $comchan($nick,1) $address($nick,2) Caps lock kick (Access ban set for 1 minute) /kick $comchan($nick,1) $nick Caps lock kick (Access ban set for 1 minute) } } } alias allowedcaps { return 30 } Link to comment Share on other sites More sharing options...
Ozzy10 Posted February 25, 2004 Author Report Share Posted February 25, 2004 Repeat text flood protection. on @*:TEXT:*:#:{ if ($nick == $me) halt if ($nick isop #) halt if ($nick ishop #) halt var %text = $hash($strip($1-),32) var %old.text = %rp. [ $+ [ $chan ] $+ . $+ [ $nick ] ] var %old.text = $deltok(%old.text,1,46) if (%rp. [ $+ [ $chan ] $+ . $+ [ $nick ] ] == $null) || (%old.text != %text) { set -u30 %rp. [ $+ [ $chan ] $+ . $+ [ $nick ] ] 1. $+ %text return } var %temp = %rp. [ $+ [ $chan ] $+ . $+ [ $nick ] ] var %count = $gettok(%temp,1,46) inc %count set -u30 %rp. [ $+ [ $chan ] $+ . $+ [ $nick ] ] %count $+ . $+ %text if (%count == 3) { /ban -u60 # $address($nick,2) Repeat flood (Access ban set for 1 minute) /kick # $nick Repeat text flood (Access ban set for 1 minute) } } on @*:action:*:#:{ if ($nick == $me) halt if ($nick isop #) halt if ($nick ishop #) halt var %text = $hash($strip($1-),32) var %old.text = %rp. [ $+ [ $chan ] $+ . $+ [ $nick ] ] var %old.text = $deltok(%old.text,1,46) if (%rp. [ $+ [ $chan ] $+ . $+ [ $nick ] ] == $null) || (%old.text != %text) { set -u30 %rp. [ $+ [ $chan ] $+ . $+ [ $nick ] ] 1. $+ %text return } var %temp = %rp. [ $+ [ $chan ] $+ . $+ [ $nick ] ] var %count = $gettok(%temp,1,46) inc %count set -u20 %rp. [ $+ [ $chan ] $+ . $+ [ $nick ] ] %count $+ . $+ %text if (%count == 3) { /ban -u60 # $address($nick,2) Repeat flood (Access ban set for 1 minute) /kick # $nick Repeat Action flood (Access ban set for 1 minute) } } on @*:notice:*:#:{ if ($nick == $me) halt if ($nick isop #) halt if ($nick ishop #) halt var %text = $hash($strip($1-),32) var %old.text = %rp. [ $+ [ $chan ] $+ . $+ [ $nick ] ] var %old.text = $deltok(%old.text,1,46) if (%rp. [ $+ [ $chan ] $+ . $+ [ $nick ] ] == $null) || (%old.text != %text) { set -u30 %rp. [ $+ [ $chan ] $+ . $+ [ $nick ] ] 1. $+ %text return } var %temp = %rp. [ $+ [ $chan ] $+ . $+ [ $nick ] ] var %count = $gettok(%temp,1,46) inc %count set -u20 %rp. [ $+ [ $chan ] $+ . $+ [ $nick ] ] %count $+ . $+ %text if (%count == 3) { /ban -u60 $comchan($nick,1) $address($nick,2) Repeat flood (Access ban set for 1 minute) /kick $comchan($nick,1) $nick Repeat Notice flood (Access ban set for 1 minute) } } on @*:CTCPREPLY:*: { if ($nick == $me) halt if ($nick isop #) halt if ($nick ishop #) halt var %text = $hash($strip($1-),32) var %old.text = %rp. [ $+ [ $chan ] $+ . $+ [ $nick ] ] var %old.text = $deltok(%old.text,1,46) if (%rp. [ $+ [ $chan ] $+ . $+ [ $nick ] ] == $null) || (%old.text != %text) { set -u30 %rp. [ $+ [ $chan ] $+ . $+ [ $nick ] ] 1. $+ %text return } var %temp = %rp. [ $+ [ $chan ] $+ . $+ [ $nick ] ] var %count = $gettok(%temp,1,46) inc %count set -u10 %rp. [ $+ [ $chan ] $+ . $+ [ $nick ] ] %count $+ . $+ %text if (%count == 3) { /ban -u60 $comchan($nick,1) $address($nick,2) Repeat flood (Access ban set for 1 minute) /kick $comchan($nick,1) $nick Repeat c.t.c.p flood (Access ban set for 1 minute) } } Link to comment Share on other sites More sharing options...
tidy trax Posted May 10, 2004 Report Share Posted May 10, 2004 alias swear { if !$isid { if $1 == -a { set %swear.list $addtok(%swear.list,$2,32) } elseif $1 == -d { set %swear.list $deltok(%swear.list,$findtok(%swear.list,$2,1,32),32) } elseif $1 == -c { unset %swear.list } } else { return %swear.list } } on *@!:text:*:#:{ if $istok($swear,$1-,32) { ban -ku60 # $nick no swearing thanks. } } Works for mirc 6.1 or above, put it in remote (alt+r). Swear kicker. /swear -a <word> - to add <word> to the list of swear words. /swear -d <word> - to remove <word> from the list of swear words. /swear -c - to clear the list of swear words. I don't care about credits. Link to comment Share on other sites More sharing options...
tidy trax Posted May 10, 2004 Report Share Posted May 10, 2004 on *@!:join:#:{ if $ialchan($wildsite,$chan,0) > 1 { var %i = 1 while $ialchan($wildsite,$chan,%i) { if $ialchan($wildsite,$chan,%i).nick != $nick { ban -ku60 $ialchan($wildsite,$chan,%i).host No clones please. } inc %i } } } Clone kicker, put it in remote (alt+r). Works for mirc 6.1 and above. Link to comment Share on other sites More sharing options...
tidy trax Posted May 10, 2004 Report Share Posted May 10, 2004 alias caps.percent { if !$isid { set %caps.percent $1 } else { return $calc($1 / $2 *100) } } alias caps.iskick { if $isid { return $iif($1 > %caps.percent,1,0) } } on *@!:text:*:#:{ var %percent = $caps.percent($regex($1-,/[A-Z]/g),$len($1-)) if $caps.iskick(%percent) { ban -ku60 # $nick excessive caps ( $+ %percent $+ % $+ ) } } Caps kicker, /caps.percent <percent> sets the percentage allowed. /caps.percent 50 - will set the percentage allowed to 50% Works for mirc 6.1 and above. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now