it\'s ok but i would change a few things like for ur on text event you have
on *:TEXT:$(* $+ %away.nick $+ *):#:{
it should be
on *:TEXT:$($+(* $+ %away.nick $+ *)):#:{
you have some of the amsg\'s silenced so it wont say it in the channel, and you dont have to use those halt\'s .
ok on ur gone aliases you have this:
alias gone {
set %away.script on
set %reason $$?=\"Type the reason why you are going away.\"
set %away.time $ctime
set %away.nick $me
away %reason
.amsg I am now away - Reason: [ %reason ] - Time left: [ $time ]
nick $me $+ |Away
halt
}
you can do this:
alias gone {
set %away.script on
set %away.nick $me
away $1-
amsg I am now away - Reason: [ $1- ] - Time left: [ $time(h:nn: tt) ]
nick $me $+ |Away
}
same thing with ur back aliase you have this:
alias back {
away
nick %away.nick
.msg nickserv identify %nick.pass
.amsg I have returned from [ %reason ] - I have been away for: [ $duration($calc($ctime - %away.time)) ]
set %away.script off
unset %away.time
unset %reason
unset %away.nick
halt
}
you can do this:
alias back {
away
nick %away.nick
.msg nickserv identify %nick.pass
amsg I have returned from [ $awaymsg ] - I have been away for: [ $duration($awaytime) ]
unset %away.nick %away.script
}
look in to useing
$duration($awaytime)
instead of useing
set %away.time $ctime / $duration($calc($ctime - %away.time))
and look into useing
$awaymsg
instead of useing
set %reason $$?=\"Type the reason why you are going away.\"
also i would just unset %away.script instead of set %away.script off that way you can use that var like if (%away.script) { or if (!%away.script) { in the rest of ur script instead of useing this if ( %away.script == on )
id rate it a 4/10