rendered paste body;; Use a 1 To be alerted of new notices, and a 0 for no alerts
alias -l alert return 0
;; Enter You're Preffered Timestamp Format Below
alias -l ts return hh:nn
;; Enter any Nicknames you do NOT want to show if they notice you
alias -l except return chanserv nickserv mirc
;; Enter any Nicknames you want to Always be in the conversation list
alias -l always return Oww_My_Nose RussellReal Robert
alias nthing dialog -md nthing nthing
dialog nthing {
title "Notice Thing v0.1"
size -1 -1 251 78
option dbu
list 1, 77 10 170 50, size vsbar
text "", 2, 80 1 400 8
button "New Conversation", 3, 29 62 48 12
list 4, 1 11 76 50, size vsbar
button "Clear Nick", 5, 1 62 27 12
edit "", 6, 77 61 136 10, autohs
button "Send", 7, 217 61 26 12, default
link "AltScripts", 8, 2 2 24 8
text "|", 9, 26 2 2 8
link "Close", 10, 31 2 22 8
text "", 11, 78 71 135 8
}
on *:DIALOG:nthing:*:*:{
;; Init and Close Events
if ($devent == init) || ($devent == close) {
hfree -w notices*
if ($devent == init) {
hadd -m notices current $Null
var %i = 0
while (%i < $numtok($always,32)) {
inc %i
did -a $dname 4 $gettok($always,%i,32)
hmake notices. [ $+ [ $gettok($always,%i,32) ] ] 100
hadd -m notices $hget(notices,0).item $gettok($always,%i,32)
}
}
}
;; Single Click Events
if ($devent == sclick) {
;; New Conversation Button
if ($did == 3) {
hadd -m notices $hget(notices,0).item $$?="Nickname?"
hadd -m notices current $!
hmake notices. [ $+ [ $hget(notices,current) ] ] 100
did -ra $dname 2 Conversation with $hget(notices,current)
did -a $dname 4 $!
dialog -v $dname
}
;; Clear Nick Button
elseif ($did == 5) {
hfree notices. [ $+ [ $did($dname,4).seltext ] ]
did -d $dname 4 $did($dname,4).sel
did -r $dname 1,2
}
;; Send Button
elseif ($did == 7) {
if ($left($did($dname,6).text,1) == /) { $($did($dname,6).text,2) | did -r $dname 6 | halt }
.notice $hget(notices,current) $did($dname,6).text
hadd -m notices. [ $+ [ $hget(notices,current) ] ] $calc($hget(notices. [ $+ [ $hget(notices,current) ] ],0).item + 1) $+([,$asctime($ts),]) $me : $did($dname,6).text
did -a $dname 1 $+([,$asctime($ts),]) $me : $did($dname,6).text
did -c nthing 1 $did(nthing,1).lines
did -u nthing 1
did -r $dname 6
did -j $dname 2
}
;; AltScripts Link
elseif ($did == 8) {
url -n http://www.altscripts.net
}
;; Close Link
elseif ($did == 10) {
dialog -x $dname
}
}
;; Double Click Events
elseif ($devent == dclick) {
;; Expanded Text
if ($did == 1) {
.echo -q $input($did($dname,$did).seltext,io,Expanded View)
dialog -v nthing
}
;; Nick Selection
elseif ($did == 4) {
if (* (N) iswm $did($dname,$did).seltext) {
var %x = $did($dname,$did).sel
did -o $dname $did %x $gettok($did($dname,$did).seltext,1,32)
did -c $dname $did %x
}
hadd -m notices current $did($dname,$did).seltext
did -ra $dname 2 Conversation with $hget(notices,current)
did -r $dname 1
var %i = 0
while (%i < $hget(notices. [ $+ [ $did($dname,$did).seltext ] ],0).item) {
inc %i
did -a $dname 1 $hget(notices. [ $+ [ $did($dname,$did).seltext ] ],%i)
}
did -c $dname 1 $did($dname,1).lines
did -u $dname 1
}
}
;; Lets the other user know that you are typing to them
if ($devent == edit) && ($did == 6) {
if (%alerted. [ $+ [ $hget(notices,current) ] ] != 1) {
set -u1 %alerted. [ $+ [ $hget(notices,current) ] ] 1
.ctcp $hget(notices,current) editing
}
}
}
ctcp *:editing:?:{
if (!%editing [ $+ [ $nick ] ]) {
set -u5 %editing [ $+ [ $nick ] ] 1
if ($hget(notices,current) == $nick) {
did -r nthing 11
did -a nthing 11 $nick is typing a message...
}
}
haltdef
}
on !*:NOTICE:*:?:{
if ($dialog(nthing)) {
if ($istok($except,$nick,32)) return
if ($nick == $hget(notices,current)) {
did -a nthing 1 $+([,$asctime($ts),]) $nick : $strip($1-)
did -c nthing 1 $did(nthing,1).lines
did -u nthing 1
}
if (!$hfind(notices,$nick).data) {
hadd -m notices $hget(notices,0).data $nick
did -a nthing 4 $nick
}
hadd -m notices. [ $+ [ $nick ] ] $calc($hget(notices. [ $+ [ $nick ] ],0).item + 1) $+([,$asctime($ts),]) $nick : $strip($1-)
$iif($alert,echo -a 04 New Notice From $nick)
var %i = 0
while (%i < $did(nthing,4).lines) {
if ($hget(notices,current) == $nick) break
inc %i
if ($did(nthing,4,%i) == $nick) {
did -o nthing 4 %i $nick (N)
break
}
}
haltdef
}
}
on *:START:{
.timerthing 0 5 checktype
}
alias checktype {
if ($dialog(nthing)) {
if (%editing. [ $+ [ $hget(notices,current) ] ]) did -ra nthing 11 $hget(notices,current) is typing a message...
else did -r nthing 11
}
}