MoonScript IRC — File Browser
MoonScriptIRCv3.0 / MoonScriptIRCv3.0 / system / nc.mrc
nc.mrc — 7.5 KB — Download this file
menu status,channel,menubar {
&Nick Completor Options: open.ncoptions
}
#nickcomp on
on *:input:#: {
if ($1 == :) { goto end }
if ($right($1,1) == :) {
set %ncmsg $2-
if ($cnick($remove($1,:)) ison $active) {
set -u0 %stylenum $readini Data\NickCompletor.ini Styles StyleNum
if (%stylenum == 5) { msg $active | $+ %ncnick $+ |: $2- | halt }
if (%stylenum == 4) { msg $active 09,01 $+ $chr(40) $+ $+ $moontxt2(%ncnick) $+ 09,01 $+ $chr(93) $+ : $moontxt($2-) | halt }
if (%stylenum == 1) {
set -u0 %nclen $len(%ncnick)
set -u0 %ncposition $rand(1,%nclen)
if (%nccolor < 10) set %nccolor 0 $+ %nccolor
if (%ncposition == 1) { msg $active 09,0109,01(09,01 $+ $mid(%ncnick,%ncposition,1) $+ $+ 11,01 $+ $mid(%ncnick, $calc(%ncposition + 1), $calc(%nclen - %ncposition)) $+ 09,01)11,01: $moontxt2($2-) }
else { msg $active 11,0109,01(11,01 $+ $mid(%ncnick,1, $calc(%ncposition - 1)) $+ 09,01 $+ $mid(%ncnick,%ncposition,1) $+ $+ 11,1 $+ $mid(%ncnick, $calc(%ncposition + 1), $calc(%nclen - %ncposition)) $+ 09,01)11,01: $moontxt2($2-) }
halt
}
if (%stylenum == 2) {
msg $active [ $+ $m2(%ncnick) $+ ]: $m3($2-) | halt
unset %ncnick
}
if (%stylenum == 3) {
set -u0 %nclen $len(%ncnick)
set -u0 %ncposition $rand(1,%nclen)
if ( $len(%ncnick) == 2 ) {
msg $active $m3($chr(40)) $+ $m3($status(%ncnick)) $+ $m3($chr(41)) ( $+ $mid(%ncnick,1,1) $+ $+ $mid(%ncnick,2,1) $+ ) $+ : $2-
halt
}
if ( $len(%ncnick) == 1 ) {
msg $active $m3($chr(40)) $+ $m3($status(%ncnick)) $+ $m3($chr(41)) ( $+ $mid(%ncnick,1,1) $+ ) $+ : $2-
halt
}
msg $active $m3($chr(40)) $+ $m3($status(%ncnick)) $+ $m3($chr(41)) ( $+ $mid(%ncnick,1,1) $+ $+ $mid(%ncnick,2,$calc($len(%ncnick)-2)) $+ $+ $mid(%ncnick,$len(%ncnick),1) $+ ) $+ : $2-
halt
}
}
}
unset %ncnick
}
#nickcomp end
alias cnick {
set -u0 %foundnicks 0
set -u0 %i 0
:looping
inc %i
if ($nick($chan,%i) == $null) { goto end }
if ($1 isin $nick(#,%i)) { inc %foundnicks | set -u0 %nicksfound $nick($chan,%i) }
goto looping
:end
if (%foundnicks == 1) { set %ncnick %nicksfound | return %nicksfound }
if (%foundnicks > 1) {
set %i 0
set %foundnicks 0
open.ncmnicks
did -b ncmnicks 3
:looping2
inc %i
if ($nick($chan,%i) == $null) { goto end2 }
if ($1 isin $nick(#,%i)) { inc %foundnicks | did -a ncmnicks 2 $nick($chan,%i) }
goto looping2
:end2
did -e ncmnicks 3
did -c ncmnicks 2 1
halt
}
else {
echo -a $moontxt2(No Nicks Matching:) $moontxt2($1)
halt
}
}
alias open.ncoptions {
if ($dialog(ncoptions) != $null) { dialog -v ncoptions ncoptions }
else { dialog -m ncoptions ncoptions }
}
dialog ncoptions {
title "Nick Completor Options"
size -1 -1 250 195
box "Style",1, 10 10 225 115
radio "1:",2, 20 30 30 15, group
radio "2:",3, 20 48 30 15
radio "3:",4, 20 66 30 15
radio "4:",5, 20 85 30 15
radio "5:",6, 20 103 30 15
icon 7, 50 30 158 13
icon 8, 52 48 154 13
icon 9, 34 66 190 13
icon 10, 47 85 165 13
icon 11, 47 103 165 13
button "&OK", 17, 30 135 90 25, ok
button "&Cancel", 18, 130 135 90 25, cancel
button "&Help", 19, 30 165 90 25
button "&Enable/Disable", 20, 130 165 90 25
}
on 1:dialog:ncoptions:init:0: {
set -u0 %ncstyle $readini Data\NickCompletor.ini Styles StyleNum
if (%ncstyle == 1) did -fc ncoptions 2
if (%ncstyle == 2) did -fc ncoptions 3
if (%ncstyle == 3) did -fc ncoptions 4
if (%ncstyle == 4) did -fc ncoptions 5
if (%ncstyle == 5) did -fc ncoptions 6
did -g ncoptions 7 Data\style1.bmp | did -g ncoptions 8 Data\style2.bmp | did -g ncoptions 9 Data\style3.bmp | did -g ncoptions 10 Data\style4.bmp | did -g ncoptions 11 Data\style5.bmp
}
on 1:dialog:ncoptions:sclick:19:{
echo 12 -a $+ $m3(How To Use MoonScript IRC Nick Completion by [MiKe|MoOn]) $+
echo 12 -a Choose a nick completion style from the dialog
echo 12 -a Type part of a nick followed by a colon
echo 12 -a Example: typing "mo: hi Mike Moon, nice script" would return...
echo 12 -a $+ $m2(moonio:) $m3(hi Mike Moon) $+ , $m3(nice script) $+
echo 12 -a That, in a nutshell, is how a nick completor works
}
on 1:dialog:ncoptions:sclick:20:{
if ( $group(#nickcomp) == ON ) { .disable #nickcomp | echo -a $moontxt2(Nick Completion is Now Disabled) }
else { .enable #nickcomp | echo -a $moontxt2(Nick Completion is Now Enabled) }
}
on 1:dialog:ncoptions:sclick:17: {
if ($did(2).state == 1) writeini Data\NickCompletor.ini Styles StyleNum 1
if ($did(3).state == 1) writeini Data\NickCompletor.ini Styles StyleNum 2
if ($did(4).state == 1) writeini Data\NickCompletor.ini Styles StyleNum 3
if ($did(5).state == 1) writeini Data\NickCompletor.ini Styles StyleNum 4
if ($did(6).state == 1) writeini Data\NickCompletor.ini Styles StyleNum 5
}
alias open.ncmnicks {
if ($dialog(ncmnicks) != $null) { dialog -v ncmnicks ncmnicks | echo -a $moontxt2(Multiple dialog is in use, Please close it and try again) | halt }
else { dialog -m ncmnicks ncmnicks }
}
dialog ncmnicks {
title "Multiple Nick Found Matching"
size -1 -1 210 146
text "Choose the nickname that you want to send the message to:", 1, 10 10 180 30
list 2, 10 40 190 70
button "&OK",3, 10 113 90 25, ok
button "&Cancel",4, 110 113 90 25, cancel
}
alias ncmsgstyles {
set -u0 %stylenum $readini Data\NickCompletor.ini Styles StyleNum
if (%stylenum == 5) { msg $active | $+ %ncnick $+ |: %ncmsg }
if (%stylenum == 4) { msg $active 09,01 $+ $chr(40) $+ $+ $moontxt2(%ncnick) $+ 09,01 $+ $chr(93) $+ : $moontxt(%ncmsg) }
if (%stylenum == 1) {
set -u0 %nclen $len(%ncnick)
set -u0 %ncposition $rand(1,%nclen)
if (%nccolor < 10) set %nccolor 0 $+ %nccolor
if (%ncposition == 1) { msg $active 09,0109,01(09,01 $+ $mid(%ncnick,%ncposition,1) $+ $+ 11,01 $+ $mid(%ncnick, $calc(%ncposition + 1), $calc(%nclen - %ncposition)) $+ 09,01)11,01: $moontxt2(%ncmsg) }
else { msg $active 11,0109,01(11,01 $+ $mid(%ncnick,1, $calc(%ncposition - 1)) $+ 09,01 $+ $mid(%ncnick,%ncposition,1) $+ $+ 11,01 $+ $mid(%ncnick, $calc(%ncposition + 1), $calc(%nclen - %ncposition)) $+ 09,01)11,01: $moontxt2(%ncmsg) }
}
if (%stylenum == 2) {
msg $active [ $+ $m2(%ncnick) $+ ]: $m3(%ncmsg)
unset %ncnick
}
if (%stylenum == 3) {
set -u0 %nclen $len(%ncnick)
set -u0 %ncposition $rand(1,%nclen)
if ( $len(%ncnick) == 2 ) {
msg $active $m3($chr(40)) $+ $m3($status(%ncnick)) $+ $m3($chr(41)) ( $+ $mid(%ncnick,1,1) $+ $+ $mid(%ncnick,2,1) $+ ) $+ : %ncmsg
}
if ( $len(%ncnick) == 1 ) {
msg $active $m3($chr(40)) $+ $m3($status(%ncnick)) $+ $m3($chr(41)) ( $+ $mid(%ncnick,1,1) $+ ) $+ : %ncmsg
}
msg $active $m3($chr(40)) $+ $m3($status(%ncnick)) $+ $m3($chr(41)) ( $+ $mid(%ncnick,1,1) $+ $+ $mid(%ncnick,2,$calc($len(%ncnick)-2)) $+ $+ $mid(%ncnick,$len(%ncnick),1) $+ ) $+ : %ncmsg
}
unset %ncnick
unset %ncmsg
}
on 1:dialog:ncmnicks:sclick:3: {
set %ncnick $did(2,$did(2).sel)
ncmsgstyles
}
on 1:dialog:ncmnicks:dclick:2: {
set %ncnick $did(2,$did(2).sel)
ncmsgstyles
}