KLoWnX — File Browser
clone.mrc — 5.43 KB — Download this file
Menu Channel {
KLøWñ× Clone Scanner
.Scan Current Channel: { clone $chan }
.-
.Scan Reaction
..Echo to Yourself: {
set %clone.reaction echo
echo -a 4*** Clone Reaction Set to: 5Echo
}
..Message Channel: {
set %clone.reaction msg
echo -a 4*** Clone Reaction Set to: 5Message
}
..Kick Clones: {
set %clone.reaction kick
echo -a 4*** Clone Reaction Set to: 5Kick
}
..Kick and Ban Clones: {
set %clone.reaction kickban
echo -a 4*** Clone Reaction Set to: 5Kick and Ban
}
.On Join Reaction
..Enable:%clone.onjoin = yes
..Disable:%clone.onjoin = no
..-
..Echo to Yourself: {
set %clone.join.reaction echo
echo -a 4*** Clone Reaction [On Join] Set to: 5Echo
}
..Message Channel: {
set %clone.join.reaction msg
echo -a 4*** Clone Reaction [On Join] Set to: 5Message
}
..Kick Clones: {
set %clone.join.reaction kick
echo -a 4*** Clone Reaction [On Join] Set to: 5Kick
}
..Ban/Kick All: {
set %clone.join.reaction kickban
echo -a 4*** Clone Reaction [On Join] Set to: 5Kick and Ban
}
.-
.Maximum Users at One Address: {
set %clone.max $$?="Maximum Number"
echo -a 4*** Maximum Users at One Address Set to: $+ 5 $!
}
.Number of Seconds Banned: {
set %clone.unban.time $$?="Number of Seconds"
echo -a 4*** Ban Time Set to: $+ 5 $!
}
}
alias clone {
unset %c.all
:nick
unset %clone.list.loop %clone.list.all %clone.msg.loop %clone.kick.num %clone.all.loop
inc %clone.nick.loop
%clone.nick.now = $nick($1,%clone.nick.loop)
if ( %clone.nick.now == $null ) { goto theend }
if ( %clone.nick.now isin %c.all ) { goto nick }
%clone.address = $address(%clone.nick.now,2)
:ialcheck
if ( $ialchan(%clone.address,$1,0) > %clone.max ) { goto reaction }
else { goto nick }
:reaction
%c.exist = yes
:cloneall
inc %clone.all.loop
if ( $ial(%clone.address,%clone.all.loop).nick != $null ) {
%c.all = $addtok(%c.all,$ial(%clone.address,%clone.all.loop).nick,44)
goto cloneall
}
if ( %clone.reaction == kickban ) { goto ban }
if ( %clone.reaction == kick ) { goto kick }
if ( %clone.reaction == echo ) { goto echo }
else { goto msg }
:ban
ban -u $+ %clone.unban.time $1 %clone.address
goto kick
:kick
inc %clone.kick.num
if ( $ial(%clone.address,%clone.kick.num).nick != $null ) { kick $1 $ial(%clone.address,%clone.kick.num).nick Clone of %clone.address | goto kick }
else { goto end }
:echo
inc %clone.msg.loop
if ( $ial(%clone.address,%clone.msg.loop).nick != $null ) {
%clone.msg.all = $addtok(%clone.msg.all,$ial(%clone.address,%clone.msg.loop).nick,44)
goto echo
}
else {
echo -a %clone.msg.all are clones of address %clone.address
unset %clone.msg.all
}
goto end
:msg
inc %clone.msg.loop
if ( $ial(%clone.address,%clone.msg.loop).nick != $null ) {
%clone.msg.all = $addtok(%clone.msg.all,$ial(%clone.address,%clone.msg.loop).nick,44)
goto msg
}
else {
say %clone.msg.all are clones of address %clone.address
unset %clone.msg.all
}
:end
goto nick
:theend
if ( %c.exist != yes ) { echo -a 4*** No clones exist in this channel }
unset %c.* %clone.nick.loop %clone.all.loop
}
#onjoin.clone on
on 1:join:#: {
unset %clone.kick.loop
unset %nickloop*
if (( $nick == W ) || ( $nick == X )) { goto end }
if ( $nick == $me ) { who $chan | goto end }
if ( $ialchan($address($nick,2),$chan,0) > %clone.max ) {
:nickloop
inc %nickloop
if ( $ial($address($nick,2),%nickloop).nick != $null ) { %nickloop.temp = $addtok(%nickloop.temp,$ial($address($nick,2),%nickloop).nick,44) | goto nickloop }
else {
if ( %clone.join.reaction == echo ) { echo -a %nickloop.temp are clones of address $address($nick,2) | goto end }
if ( %clone.join.reaction == msg ) { say %nickloop.temp are clones of address $address($nick,2) | goto end }
if ( %clone.join.reaction == kick ) { kick $chan $nick Clone of address $address($nick,2) | goto end }
if ( %clone.join.reaction == kickban ) {
ban -u $+ %clone.unban.time $chan $address($nick,2)
:kickloop
inc %clone.kick.loop
if ( $ial($address($nick,2),%clone.kick.loop).nick != $null ) { kick $chan $ial($address($nick,2),%clone.kick.loop).nick Clone of address $address($nick,2) | goto kickloop }
goto end
}
}
:end
}
}
#onjoin.clone end
raw 352:*: { halt }
raw 315:*: { halt }
on 1:load: {
window @Clone.Information
aline @Clone.Information Scan Reactions are: Msg (Message Channel), Echo (Echo to yourself)
aline @Clone.Information Kick (Kick all clones), and KickBan (Kick and Ban All Clones)
%clone.reaction = $$?="Enter Reaction (Msg/Echo/Kick/KickBan)"
aline @Clone.Information -
aline @Clone.Information Scan [On Join] Reactions are the same.
%clone.join.reaction = $$?="Enter Reaction (Msg/Echo/Kick/KickBan)"
aline @Clone.Information -
aline @Clone.Information Maximum Users At One Address. Setting this to one, will detect
aline @Clone.Information the second person at the same address, and so forth.
%clone.max = $$?="Maximum Users At One Address"
aline @Clone.Information -
aline @Clone.Information Seconds Banned. If you do ban the clones, how many seconds?
%clone.unban.time = $??="Number of Seconds"
window -c @Clone.Information
}